Module mz_compute_types::plan
source · Expand description
An explicit representation of a rendering plan for provided dataflows.
Modules§
- Utilities and implementations for abstract interpretation of crate::plan::Plan structures.
- Planning of
Plan::Join
operators, and supporting types. - lowering 🔒
- Nested message and enum types in
ProtoAvailableCollections
. - Nested message and enum types in
ProtoGetPlan
. - Reduction execution planning and dataflow construction. We build
ReducePlan
s to manage the complexity of planning the generated dataflow for a given reduce expression. The intent here is that each creating aReducePlan
should 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. RenderPlan
, a representation of LIR plans used in the compute protocol and rendering, and support for convertingPlan
s into this representation.- Threshold planning logic.
- TopK planning logic.
- Utilities and implementations for transformation of crate::plan::Plan structures.
Structs§
- The forms in which an operator’s output is available; it can be considered the plan-time equivalent of
render::context::CollectionBundle
. - An identifier for an LIR node.
- A rendering plan with as much conditional logic as possible removed.
Enums§
- How a
Get
stage will be rendered. - The actual AST node of the
Plan
.
Constants§
Functions§
- A strategy that produces arrangements that are thinner than the default. That is the number of direct children is limited to a maximum of 3.
- Returns bucket sizes, descending, suitable for hierarchical decomposition of an operator, based on the expected number of rows that will have the same group key.