pub type PbTable = Table;
Expand description
Alias for Table
.
Aliased Type§
struct PbTable {Show 38 fields
pub id: u32,
pub schema_id: u32,
pub database_id: u32,
pub name: String,
pub columns: Vec<ColumnCatalog>,
pub pk: Vec<ColumnOrder>,
pub dependent_relations: Vec<u32>,
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_index: Option<u32>,
pub cdc_table_id: Option<String>,
pub maybe_vnode_count: Option<u32>,
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>
§dependent_relations: Vec<u32>
For cdc table created from a cdc source, here records the source id.
TODO(rc): deprecate this by passing dependencies via Request
message
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>
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_index: Option<u32>
This field specifies the index of the column set in the “with version column” within all the columns. It is used for filtering during “on conflict” operations.
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 inCreating
status, in which case callingvnode_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
.
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>