Expand description
Query optimization passes.
Inspired by Python sqlglot’s optimizer module. Currently implements:
- Constant folding (e.g.,
1 + 2→3) - Boolean simplification (e.g.,
TRUE AND x→x) - Dead predicate elimination (e.g.,
WHERE TRUE) - Subquery unnesting / decorrelation (EXISTS, IN → JOINs)
- Column qualification (qualify_columns — resolve
*, add table qualifiers) - Type annotation (annotate_types — infer SQL types for all AST nodes)
Future optimizations:
- Predicate pushdown
- Join reordering
- Column pruning
Modules§
- annotate_
types - Type annotation pass for SQL expressions.
- qualify_
columns - Qualify columns optimizer pass.
- scope_
analysis - Scope analysis for SQL queries.
- unnest_
subqueries
Functions§
- optimize
- Optimize a SQL statement by applying transformation passes.