Type Alias PbTable

Source
pub type PbTable = Table;

Aliased Type§

pub struct PbTable {
Show 44 fields pub id: u32, pub schema_id: u32, pub database_id: u32, pub name: String, pub columns: Vec<ColumnCatalog>, pub pk: Vec<ColumnOrder>, pub table_type: i32, pub distribution_key: Vec<i32>, pub stream_key: Vec<i32>, pub append_only: bool, pub owner: u32, pub fragment_id: u32, pub vnode_col_index: Option<u32>, pub row_id_index: Option<u32>, pub value_indices: Vec<i32>, pub definition: String, pub handle_pk_conflict_behavior: i32, pub read_prefix_len_hint: u32, pub watermark_indices: Vec<i32>, pub dist_key_in_pk: Vec<i32>, pub dml_fragment_id: Option<u32>, pub cardinality: Option<Cardinality>, pub initialized_at_epoch: Option<u64>, pub created_at_epoch: Option<u64>, pub cleaned_by_watermark: bool, pub stream_job_status: i32, pub create_type: i32, pub description: Option<String>, pub incoming_sinks: Vec<u32>, pub initialized_at_cluster_version: Option<String>, pub created_at_cluster_version: Option<String>, pub retention_seconds: Option<u32>, pub version_column_indices: Vec<u32>, pub cdc_table_id: Option<String>, pub maybe_vnode_count: Option<u32>, pub webhook_info: Option<WebhookSourceInfo>, pub job_id: Option<u32>, pub engine: Option<i32>, pub clean_watermark_index_in_pk: Option<i32>, pub refreshable: bool, pub vector_index_info: Option<VectorIndexInfo>, pub cdc_table_type: Option<i32>, pub version: Option<TableVersion>, pub optional_associated_source_id: Option<OptionalAssociatedSourceId>,
}

Fields§

§id: u32§schema_id: u32§database_id: u32§name: String§columns: Vec<ColumnCatalog>§pk: Vec<ColumnOrder>§table_type: i32§distribution_key: Vec<i32>§stream_key: Vec<i32>

pk_indices of the corresponding materialize operator’s output.

§append_only: bool§owner: u32§fragment_id: u32§vnode_col_index: Option<u32>

an optional column index which is the vnode of each row computed by the table’s consistent hash distribution

§row_id_index: Option<u32>

An optional column index of row id. If the primary key is specified by users, this will be None.

§value_indices: Vec<i32>

The column indices which are stored in the state store’s value with row-encoding. Currently is not supported yet and expected to be \[0..columns.len()\].

§definition: String§handle_pk_conflict_behavior: i32

Used to control whether handling pk conflict for incoming data.

§read_prefix_len_hint: u32

Anticipated read prefix pattern (number of fields) for the table, which can be utilized for implementing the table’s bloom filter or other storage optimization techniques.

§watermark_indices: Vec<i32>§dist_key_in_pk: Vec<i32>§dml_fragment_id: Option<u32>

A dml fragment id corresponds to the table, used to decide where the dml statement is executed.

§cardinality: Option<Cardinality>

The range of row count of the table. This field is not always present due to backward compatibility. Use Cardinality::unknown in this case.

§initialized_at_epoch: Option<u64>§created_at_epoch: Option<u64>§cleaned_by_watermark: bool

This field is introduced in v1.2.0. It is used to indicate whether the table should use watermark_cache to avoid state cleaning as a performance optimization. In older versions we can just initialize without it.

§stream_job_status: i32

Used to filter created / creating tables in meta.

§create_type: i32§description: Option<String>

This field is used to store the description set by the comment on clause.

§incoming_sinks: Vec<u32>
👎Deprecated

This field is used to mark the the sink into this table.

§initialized_at_cluster_version: Option<String>

Cluster version (tracked by git commit) when initialized/created

§created_at_cluster_version: Option<String>§retention_seconds: Option<u32>

TTL of the record in the table, to ensure the consistency with other tables in the streaming plan, it only applies to append-only tables.

§version_column_indices: Vec<u32>

This field specifies the indices of the columns set in the “with version column” within all the columns. It is used for filtering during “on conflict” operations. Multiple columns will be compared lexicographically.

§cdc_table_id: Option<String>

The unique identifier of the upstream table if it is a CDC table. It will be used in auto schema change to get the Table which mapped to the upstream table.

§maybe_vnode_count: Option<u32>

Total vnode count of the table.

Use VnodeCountCompat::vnode_count to access it.

  • Can be unset if the table is created in older versions where variable vnode count is not supported, in which case a default value of 256 (or 1 for singleton) should be used.
  • Can be placeholder value Some(0) if the catalog is generated by the frontend and the corresponding job is still in Creating status, in which case calling vnode_count will panic.

Please note that this field is not intended to describe the expected vnode count for a streaming job. Instead, refer to stream_plan.StreamFragmentGraph.max_parallelism.

§webhook_info: Option<WebhookSourceInfo>

The information used by webhook source to validate the incoming data.

§job_id: Option<u32>

This field stores the job ID for internal tables.

§engine: Option<i32>

Table Engine, currently only support hummock and iceberg

§clean_watermark_index_in_pk: Option<i32>

Indicate the index of the watermark column in the primary key that should be cleaned. NOTICE: when it is “None”, the watermark column should be the first column in the pk

§refreshable: bool

Whether the table supports manual refresh operation: reload data from external source and emit messages based on the diff with current data.

§vector_index_info: Option<VectorIndexInfo>

only exist when table_type is VECTOR_INDEX.

§cdc_table_type: Option<i32>§version: Option<TableVersion>

Per-table catalog version, used by schema change. None for internal tables and tests. Not to be confused with the global catalog version for notification service.

§optional_associated_source_id: Option<OptionalAssociatedSourceId>