pub type PbStreamScanNode = StreamScanNode;
Expand description
Alias for StreamScanNode
.
Aliased Type§
struct PbStreamScanNode {
pub table_id: u32,
pub upstream_column_ids: Vec<i32>,
pub output_indices: Vec<u32>,
pub stream_scan_type: i32,
pub state_table: Option<Table>,
pub table_desc: Option<StorageTableDesc>,
pub rate_limit: Option<u32>,
pub snapshot_read_barrier_interval: u32,
pub arrangement_table: Option<Table>,
}
Fields§
§table_id: u32
§upstream_column_ids: Vec<i32>
The columns from the upstream table that’ll be internally required by this stream scan node.
- For non-backfill stream scan node, it’s the same as the output columns.
- For backfill stream scan node, there’re additionally primary key columns.
output_indices: Vec<u32>
The columns to be output by this stream scan node. The index is based on the internal required columns.
- For non-backfill stream scan node, it’s simply all the columns.
- For backfill stream scan node, this strips the primary key columns if they’re unnecessary.
stream_scan_type: i32
Generally, the barrier needs to be rearranged during the MV creation process, so that data can be flushed to shared buffer periodically, instead of making the first epoch from batch query extra large. However, in some cases, e.g., shared state, the barrier cannot be rearranged in StreamScanNode. StreamScanType is used to decide which implementation for the StreamScanNode.
state_table: Option<Table>
/ The state table used by Backfill operator for persisting internal state
table_desc: Option<StorageTableDesc>
The upstream materialized view info used by backfill.
Used iff ChainType::Backfill
.
rate_limit: Option<u32>
The backfill rate limit for the stream scan node.
snapshot_read_barrier_interval: u32
Snapshot read every N barriers
arrangement_table: Option<Table>
The state table used by ArrangementBackfill to replicate upstream mview’s state table.
Used iff ChainType::ArrangementBackfill
.