@Evolving 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.