Expand description
SQL Optimizer Module
This module contains optimization passes for SQL AST transformation, including type annotation, column qualification, and other semantic analysis.
Re-exports§
pub use annotate_types::annotate_types;pub use annotate_types::TypeAnnotator;pub use annotate_types::TypeCoercionClass;pub use canonicalize::canonicalize;pub use normalize::normalize;pub use normalize::normalized;pub use normalize::normalization_distance;pub use normalize::NormalizeError;pub use normalize::DEFAULT_MAX_DISTANCE;pub use normalize_identifiers::normalize_identifiers;pub use normalize_identifiers::normalize_identifier;pub use normalize_identifiers::get_normalization_strategy;pub use normalize_identifiers::is_case_sensitive;pub use normalize_identifiers::NormalizationStrategy;pub use optimize_joins::optimize_joins;pub use optimize_joins::reorder_joins;pub use optimize_joins::normalize_joins;pub use optimize_joins::is_reorderable;pub use pushdown_predicates::pushdown_predicates;pub use pushdown_predicates::replace_aliases;pub use pushdown_projections::pushdown_projections;pub use pushdown_projections::default_selection;pub use qualify_columns::qualify_columns;pub use qualify_columns::validate_qualify_columns;pub use qualify_columns::qualify_outputs;pub use qualify_columns::quote_identifiers;pub use qualify_columns::QualifyColumnsOptions;pub use qualify_columns::QualifyColumnsError;pub use qualify_tables::qualify_tables;pub use qualify_tables::QualifyTablesOptions;pub use simplify::simplify;pub use simplify::always_true;pub use simplify::always_false;pub use simplify::is_false;pub use simplify::is_null;pub use simplify::is_zero;pub use simplify::Simplifier;pub use subquery::merge_subqueries;pub use subquery::unnest_subqueries;pub use subquery::is_mergeable;pub use eliminate_ctes::eliminate_ctes;pub use eliminate_ctes::is_cte_referenced;pub use eliminate_joins::eliminate_joins;pub use isolate_table_selects::isolate_table_selects;pub use optimizer::optimize;pub use optimizer::optimize_with_rules;pub use optimizer::quick_optimize;pub use optimizer::OptimizerConfig;pub use optimizer::OptimizationRule;pub use optimizer::DEFAULT_RULES;
Modules§
- annotate_
types - Type annotation and coercion for SQL expressions Type Annotation for SQL Expressions
- canonicalize
- Canonicalization of SQL expressions into standard form Canonicalization Module
- eliminate_
ctes - Elimination of unused Common Table Expressions CTE Elimination Module
- eliminate_
joins - Elimination of unused JOIN operations Join Elimination Module
- isolate_
table_ selects - Isolation of table references into subqueries Isolate Table Selects Optimization Pass
- normalize
- Boolean expression normalization (CNF/DNF) Boolean Normalization Module
- normalize_
identifiers - Identifier case and quoting normalization Identifier Normalization Module
- optimize_
joins - JOIN reordering and cross-join optimization Join Optimization Module
- optimizer
- Main optimizer entry point and rule orchestration Optimizer Orchestration Module
- pushdown_
predicates - Predicate pushdown into subqueries and JOINs Predicate Pushdown Module
- pushdown_
projections - Projection pushdown to eliminate unused columns Projection Pushdown Module
- qualify_
columns - Column qualification and star expansion Column Qualification Module
- qualify_
tables - Table reference qualification with catalog and schema Table Qualification Module
- simplify
- Boolean and algebraic expression simplification Expression Simplification
- subquery
- Subquery merging and unnesting Subquery Operations Module