public interface Column
Table
. It defines basic properties of a column,
such as name and data type.
Catalog implementation needs to implement it. They should consume it in APIs like TableCatalog.createTable(NameIdentifier, Column[], String, Map)
, and report it in Table.columns()
a default value and a generation expression.
Modifier and Type | Interface and Description |
---|---|
static class |
Column.ColumnImpl
The implementation of
Column for users to use API. |
Modifier and Type | Field and Description |
---|---|
static Expression |
DEFAULT_VALUE_NOT_SET
A default value that indicates the default value is not set.
|
static Expression |
DEFAULT_VALUE_OF_CURRENT_TIMESTAMP
A default value that indicates the default value will be set to the current timestamp.
|
Modifier and Type | Method and Description |
---|---|
boolean |
autoIncrement() |
java.lang.String |
comment() |
Type |
dataType() |
Expression |
defaultValue() |
java.lang.String |
name() |
boolean |
nullable() |
static Column.ColumnImpl |
of(java.lang.String name,
Type dataType)
Create a
Column instance. |
static Column.ColumnImpl |
of(java.lang.String name,
Type dataType,
java.lang.String comment)
Create a
Column instance. |
static Column.ColumnImpl |
of(java.lang.String name,
Type dataType,
java.lang.String comment,
boolean nullable,
boolean autoIncrement,
Expression defaultValue)
Create a
Column instance. |
static Column.ColumnImpl |
of(java.lang.String name,
Type dataType,
java.lang.String comment,
Expression defaultValue)
Create a
Column instance. |
static final Expression DEFAULT_VALUE_NOT_SET
defaultValue()
.static final Expression DEFAULT_VALUE_OF_CURRENT_TIMESTAMP
defaultValue()
.java.lang.String name()
Type dataType()
java.lang.String comment()
boolean nullable()
boolean autoIncrement()
Expression defaultValue()
DEFAULT_VALUE_NOT_SET
if not specifiedstatic Column.ColumnImpl of(java.lang.String name, Type dataType, java.lang.String comment, Expression defaultValue)
Column
instance.name
- The name of the column.dataType
- The data type of the column.comment
- The comment of the column.defaultValue
- The default value of the column. DEFAULT_VALUE_NOT_SET
if
null.Column
instance.static Column.ColumnImpl of(java.lang.String name, Type dataType, java.lang.String comment)
Column
instance.name
- The name of the column.dataType
- The data type of the column.comment
- The comment of the column.Column
instance.static Column.ColumnImpl of(java.lang.String name, Type dataType)
Column
instance.name
- The name of the column.dataType
- The data type of the column.Column
instance.static Column.ColumnImpl of(java.lang.String name, Type dataType, java.lang.String comment, boolean nullable, boolean autoIncrement, Expression defaultValue)
Column
instance.name
- The name of the column.dataType
- The data type of the column.comment
- The comment of the column.nullable
- True if the column may produce null values.autoIncrement
- True if the column is an auto-increment column.defaultValue
- The default value of the column. DEFAULT_VALUE_NOT_SET
if
null.Column
instance.