Expand description
An explicit representation of a rendering plan for provided dataflows.
Modules§
- interpret
- Utilities and implementations for abstract interpretation of crate::plan::LirRelationExpr structures.
- join
- Planning of
LirRelationExpr::Joinoperators, and supporting types. - reduce
- Reduction execution planning and dataflow construction.
We build
ReducePlans to manage the complexity of planning the generated dataflow for a given reduce expression. The intent here is that each creating aReducePlanshould capture all of the decision making about what kind of dataflow do we need to render and what each operator needs to do, and then actually rendering the plan can be a relatively simple application of (as much as possible) straight line code. - render_
plan RenderPlan, a representation of LIR plans used in the compute protocol and rendering, and support for convertingLirRelationExprs into this representation.- scalar
- Scalar expressions in a stable format. These are closely related to mz_expr::MirScalarExpr, but: (1) these are a stable type we write down, and (2) these do not have unmaterializable functions in them.
- threshold
- Threshold planning logic.
- top_k
- TopK planning logic.
- transform
- Utilities and implementations for transformation of crate::plan::LirRelationExpr structures.
Structs§
- Available
Collections - The forms in which an operator’s output is available.
- LirId
- An identifier for an LIR node.
- LirId
Container - Derived columnar container for a struct.
- LirId
Reference - Derived columnar reference for a struct.
- LirRelation
Expr - A rendering plan with as much conditional logic as possible removed.
- Lowering
Metrics - Metrics collected during MIR to LIR lowering.
Enums§
- Arrangement
Strategy - How to render the arrangements requested by an
ArrangeBy. - GetPlan
- How a
Getstage will be rendered. - LirRelation
Node - The actual AST node of the
LirRelationExpr.