MagnumDB Engine
Docs/Rule-Based Planner

Rule-Based Query Planner

The query planner converts parsed AST statements into logical and physical execution operator trees.

src/sql/planner.rs
rust
// Query Planner AST transformation in Rust
pub fn build_physical_plan(ast: Statement) -> Result<PhysicalPlan> {
    match ast {
        Statement::Select { from, selection, projection, .. } => {
            let scan = PhysicalPlan::SeqScan { table: from };
            let filter = PhysicalPlan::Filter { input: Box::new(scan), predicate: selection };
            Ok(PhysicalPlan::Projection { input: Box::new(filter), exprs: projection })
        }
        _ => todo!(),
    }
}