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::Plan structures.
join
Planning of Plan::Join operators, and supporting types.
lowering 🔒
Lowering DataflowDescriptions from MIR (MirRelationExpr) to LIR (Plan).
proto_available_collections
Nested message and enum types in ProtoAvailableCollections.
proto_get_plan
Nested message and enum types in ProtoGetPlan.
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 Plans into this representation.
threshold
Threshold planning logic.
top_k
TopK planning logic.
transform
Utilities and implementations for transformation of crate::plan::Plan 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.
Plan
A rendering plan with as much conditional logic as possible removed.
ProtoAvailableCollections
ProtoGetPlan
ProtoLetRecLimit

Enums§

GetPlan
How a Get stage will be rendered.
PlanNode
The actual AST node of the Plan.

Functions§

any_arranged_thin 🔒
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.
bucketing_of_expected_group_size 🔒
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.