Skip to main content

Module plan

Module plan 

Source
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::Join operators, 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 a ReducePlan 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.
render_plan
RenderPlan, a representation of LIR plans used in the compute protocol and rendering, and support for converting LirRelationExprs 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§

AvailableCollections
The forms in which an operator’s output is available.
LirId
An identifier for an LIR node.
LirIdContainer
Derived columnar container for a struct.
LirIdReference
Derived columnar reference for a struct.
LirRelationExpr
A rendering plan with as much conditional logic as possible removed.
LoweringMetrics
Metrics collected during MIR to LIR lowering.

Enums§

ArrangementStrategy
How to render the arrangements requested by an ArrangeBy.
GetPlan
How a Get stage will be rendered.
LirRelationNode
The actual AST node of the LirRelationExpr.