Crate llkv_plan

Crate llkv_plan 

Source
Expand description

Planner data structures shared between SQL parsing and execution.

The crate exposes:

  • plan_graph for the serialized DAG representation exchanged with tooling.
  • plans for high-level logical plan structures emitted by the SQL layer.
  • validation helpers that enforce naming and schema invariants while plans are being assembled.
  • conversion utilities for converting SQL AST nodes to Plan types.
  • traversal generic iterative traversal utilities for deeply nested ASTs.

Modules are re-exported so downstream crates can use llkv_plan::* when they only need a subset of the functionality.

Re-exports§

pub use canonical::CanonicalRow;
pub use canonical::CanonicalScalar;
pub use conversion::RangeSelectRows;
pub use conversion::extract_rows_from_range;
pub use conversion::plan_value_from_sql_expr;
pub use conversion::plan_value_from_sql_value;
pub use subquery_correlation::SUBQUERY_CORRELATED_PLACEHOLDER_PREFIX;
pub use subquery_correlation::SubqueryCorrelatedColumnTracker;
pub use subquery_correlation::SubqueryCorrelatedTracker;
pub use subquery_correlation::subquery_correlated_placeholder;
pub use traversal::TransformFrame;
pub use traversal::Traversable;
pub use traversal::traverse_postorder;
pub use plan_graph::*;
pub use plans::*;

Modules§

canonical
Canonical scalar representations shared across planner consumers.
conversion
Conversion utilities from SQL AST to Plan types.
plan_graph
Planner graph intermediate representation (IR).
plans
Logical query plan structures for LLKV.
subquery_correlation
Correlated subquery bookkeeping shared across SQL planning and execution.
traversal
Generic iterative traversal utilities for AST-like structures.
validation
Shared validation utilities for plan construction.