This table describes the columns that are part of a table, including their types, default values etc.
Column name | Column type | |
---|---|---|
column_id |
BIGINT |
|
begin_snapshot |
BIGINT |
|
end_snapshot |
BIGINT |
|
table_id |
BIGINT |
|
column_order |
BIGINT |
|
column_name |
VARCHAR |
|
column_type |
VARCHAR |
|
initial_default |
VARCHAR |
|
default_value |
VARCHAR |
|
nulls_allowed |
BOOLEAN |
|
parent_column |
BIGINT |
column_id
is the numeric identifier of the column.begin_snapshot
refers to asnapshot_id
from theducklake_snapshot
table. The column exists starting with this snapshot id.end_snapshot
refers to asnapshot_id
from theducklake_snapshot
table. The column exists until this snapshot id. Ifend_snapshot
isNULL
, the view is currently valid.table_id
refers to atable_id
from theducklake_table
table.column_order
is a number that defines the position of the column in the list of columns. it needs to be unique within a snapshot but does not have to be strictly monotonic (holes are ok).column_name
is the name of the column, e.g.my_column
.column_type
is the type of the column as defined in the list of data types.initial_default
is the initial default value as the column is being created e.g. inALTER TABLE
, encoded as a string. Can beNULL
.default_value
is the operational default value as data is being inserted and updated, e.g. inINSERT
, encoded as a string. Can beNULL
.nulls_allowed
defines whetherNULL
values are allowed in the column. Note that default values have to be set if this is set tofalse
.parent_column
is thecolumn_id
of the parent column. This isNULL
for top-level and non-nested columns. For example, forSTRUCT
types, this would refer to the "parent" struct column.