This table links DuckLake table schemas with inlined data tables.
| Column name | Column type | |
|---|---|---|
table_id |
BIGINT |
|
table_name |
VARCHAR |
|
schema_version |
BIGINT |
table_idrefers to atable_idfrom theducklake_tabletable.table_nameis a string that names the data table for inlined data.schema_versionidentifies the table schema version in theducklake_schema_versionstable.
Inlined data tables are named ducklake_inlined_data_table_id_schema_version. In DuckLake format version 1.1, they start with the BIGINT system columns _ducklake_row_id, _ducklake_begin_snapshot and _ducklake_end_snapshot, followed by user columns. These columns store the logical row id and the snapshots in which the row version becomes visible and stops being visible.
Top-level user column names starting with _ducklake_ are reserved, ignoring case. Names such as row_id, begin_snapshot and end_snapshot are allowed as user columns.
Migration from 1.0 renames the three system columns in registered inlined data tables. Inlined deletion tables, named ducklake_inlined_delete_table_id, keep their file_id, row_id and begin_snapshot columns. Their row_id is a position within a Parquet data file.
Snapshot expiration removes inlined row versions that no retained snapshot needs.