Expand description
Table abstraction and system catalog for LLKV.
This crate provides the Table type, which builds on [llkv-column-map]’s
columnar storage to offer a higher-level, schema-aware interface. It includes:
Table: Schema-aware table abstraction with append, scan, and schema operationsSysCatalog: System catalog (table 0) that stores table and column metadataTableMetaandColMeta: Metadata structures for tables and columns- Schema management: Arrow schema integration with field ID tracking
- Scan operations: Projection, filtering, ordering, and computed columns
- MVCC integration: Automatic handling of
created_byanddeleted_bycolumns
§Architecture
Tables use ColumnStore for physical storage but add:
- Schema validation and enforcement
- Field ID assignment and tracking
- System catalog for metadata persistence
- MVCC column management
- Row ID filtering (for transaction visibility)
§Table IDs
See CATALOG_TABLE_ID and is_reserved_table_id.
§System Catalog
The SysCatalog stores table metadata in table 0, which is a reserved system table.
Re-exports§
pub use reserved::CATALOG_TABLE_ID;pub use table::Table;
Modules§
- catalog
- Centralized table catalog for table and field name resolution.
- constants
- expr
- reserved
- Reserved value ranges for system use.
- schema_
ext - Schema extensions for efficient field ID caching.
- table
- types
- Common types for the table core.
Structs§
- ColMeta
- Metadata about a column.
- Plan
Annotations - Aggregate annotations that apply to the whole plan.
- Plan
Edge - Edge between two planner nodes.
- Plan
Edge Metadata - Metadata associated with plan edges or inputs.
- Plan
Expression - Expression or projection annotations associated with a node.
- Plan
Field - Column description carried with each node’s output schema.
- Plan
Graph - Immutable DAG describing the planner output.
- Plan
Graph Builder - Builder for
PlanGraphthat enforces DAG invariants while allowing incremental construction. - Plan
Graph Version - Semantic version identifier for the plan graph payload.
- Plan
Input - Incoming connection for a node.
- Plan
Node - Planner node with annotations used to describe how operators compose.
- Plan
Node Id - Unique identifier for a planner node.
- SysCatalog
- Interface to the system catalog (table 0).
- Table
Meta - Metadata about a table.
Enums§
- Plan
Graph Error - Errors raised while constructing or validating a plan graph.
- Plan
Operator - Planner node operator kind.
Constants§
- PLAN_
GRAPH_ VERSION - Current version of the planner IR.
Type Aliases§
- FieldId
- Unique identifier for a column within a table.
- Plan
Graph Result - RowId
- Unique identifier for a row within a table.