Skip to main content

Module optimizer

Module optimizer 

Source
Expand description

Query optimization passes.

Inspired by Python sqlglot’s optimizer module. Currently implements:

  • Constant folding (e.g., 1 + 23)
  • Boolean simplification (e.g., TRUE AND xx)
  • Dead predicate elimination (e.g., WHERE TRUE)
  • Subquery unnesting / decorrelation (EXISTS, IN → JOINs)
  • Predicate pushdown (WHERE → derived tables / JOIN ON)
  • Column qualification (qualify_columns — resolve *, add table qualifiers)
  • Type annotation (annotate_types — infer SQL types for all AST nodes)

Future optimizations:

  • Join reordering
  • Column pruning

Modules§

annotate_types
Type annotation pass for SQL expressions.
pushdown_predicates
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.