Module catalog Copy item path Source pub use crate::constants::hummock ;
column 🔒 external_table 🔒 internal_table 🔒 physical_table 🔒 schema 🔒 schema_test_utils test_utils CdcTableDesc Necessary information for compute node to access data in the external database.
Compute node will use this information to connect to the external database and scan the table. ColumnCatalog ColumnDesc ColumnId Column ID is the unique identifier of a column in a table. Different from table ID, column ID is
not globally unique. ConnectionId DatabaseId Field The field in the schema of the executor’s return data FieldDisplay FunctionId IndexId Schema the schema of the executor’s return data SchemaId SecretId TableDesc Includes necessary information for compute node to access data of the table. TableId TableOption UserId ConflictBehavior CreateType Engine StreamJobStatus SystemColumn CDC_OFFSET_COLUMN_NAME CDC_SOURCE_COLUMN_NUM The number of columns output by the cdc source job
see ColumnCatalog::debezium_cdc_source_cols()
for details CDC_TABLE_NAME_COLUMN_NAME DEFAULT_DATABASE_NAME DEFAULT_KEY_COLUMN_NAME When there is no primary key specified while creating source, will use the
the message key as primary key in BYTEA
type with this name.
Note: the field has version to track, please refer to default_key_column_name_version_mapping
DEFAULT_SCHEMA_NAME DEFAULT_SUPER_USER DEFAULT_SUPER_USER_FOR_PG DEFAULT_SUPER_USER_FOR_PG_ID DEFAULT_SUPER_USER_ID ICEBERG_FILE_PATH_COLUMN_NAME ICEBERG_FILE_POS_COLUMN_NAME ICEBERG_SEQUENCE_NUM_COLUMN_NAME INFORMATION_SCHEMA_SCHEMA_NAME INITIAL_SOURCE_VERSION_ID The default version ID for a new source. INITIAL_TABLE_VERSION_ID The default version ID for a new table. KAFKA_TIMESTAMP_COLUMN_NAME For kafka source, we attach a hidden column KAFKA_TIMESTAMP_COLUMN_NAME
to it, so that we
can limit the timestamp range when querying it directly with batch query. The column type is
crate::types::DataType::Timestamptz
. For more details, please refer to
this rfc . MAX_SYS_CATALOG_NUM NON_RESERVED_USER_ID OBJECT_ID_PLACEHOLDER PG_CATALOG_SCHEMA_NAME RESERVED_PG_SCHEMA_PREFIX RISINGWAVE_ICEBERG_ROW_ID RisingWave iceberg table engine will create the column _risingwave_iceberg_row_id
in the iceberg table. ROW_ID_COLUMN_ID The column ID preserved for the row ID column. ROW_ID_COLUMN_NAME RW_CATALOG_SCHEMA_NAME RW_INTERNAL_TABLE_FUNCTION_NAME RW_RESERVED_COLUMN_NAME_PREFIX RW_TIMESTAMP_COLUMN_ID RW_TIMESTAMP_COLUMN_NAME SYSTEM_SCHEMAS SYS_CATALOG_START_ID USER_COLUMN_ID_OFFSET The column ID offset for user-defined columns. FieldLike Something that has a data type and a name. SysCatalogReader The local system catalog reader in the frontend node. columns_extend debug_assert_column_ids_distinct default_key_column_name_version_mapping generate_internal_table_name_with_type get_dist_key_in_pk_indices get_dist_key_start_index_in_pk Get distribution key start index in pk, and return None if dist_key_in_pk_indices
is not empty
or continuous.
Note that dist_key_in_pk_indices
may be shuffled, the start index should be the
minimum value. is_system_schema max_column_id FIXME: Perhaps we should use sth like ColumnIdGenerator::new_alter
,
However, the SourceVersion
is problematic: It doesn’t contain next_col_id
.
(But for now this isn’t a large problem, since drop column is not allowed for source yet..) CatalogVersion The global version of the catalog. ObjectId SourceVersionId The version number of the per-source catalog. SysCatalogReaderRef TableVersionId The version number of the per-table catalog.