Skip to main content

Module optimizer

Module optimizer 

Source
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 subquery::is_correlated;
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