Module mz_compute_types::plan::transform
source · Expand description
Utilities and implementations for transformation of crate::plan::Plan structures.
As a general rule, semantic transformations should be done at the mz_expr::MirRelationExpr level. However, in certain situations where we want to do a pass over a crate::plan::Plan lowered from an mz_expr::MirRelationExpr in order to fix sub-optimal aspects of that plan.
To do that, create a struct that implements Transform and call the Transform::transform method towards the end of crate::plan::Plan::finalize_dataflow, but before the mz_repr::explain::trace_plan call.
Modules§
- api 🔒Utilities for transformation of crate::plan::Plan structures.
- Placeholder module for an crate::plan::transform::Transform that infers physical monotonicity.
Structs§
- A transformation that takes the result of single-time physical monotonicity analysis and refines, as appropriate, the setting of the
must_consolidate
flag in monotonicPlan
nodes with forced consolidation. - The type of configuration options passed to all Transform::transform calls as an immutable reference.
Traits§
- TODO(#25239): Add documentation.
- A transform for crate::plan::Plan nodes.