Module mz_sql::query_model::rewrite

source ·
Expand description

Apply rewrites to Model instances.

The public interface consists of the Model::optimize method.


rule 🔒
Implements outerjoin simplification as a variant of Algorithm A in the seminal paper by Rosenthal and Galindo-Legaria1.


Where and how a rule should be applied to boxes in the model.
VisitOrder 🔒


ApplyRule 🔒
A trait with a blanket implementation that abstracts over the associated Rule::Match and its use sites Rule::check and Rule::rewrite behind ApplyRule::apply method.
Rule 🔒
Trait that all rewrite rules must implement.


Transform the model by applying a list of rewrite rules.
Apply all available rewrite rules to the model.