Module join

Source
Expand description

Planning of Plan::Join operators, and supporting types.

Join planning proceeds by repeatedly introducing collections that extend the set of available output columns. The expected location of each output column is determined by the order of inputs to the join operator: columns are appended in that order.

While planning the join, we also have access to logic in the form of expressions, predicates, and projections that we intended to apply to the output of the join. This logic uses “output column reckoning” where columns are identified by their intended output position.

As we consider applying expressions to partial results, we will place the results in column locations after the intended output column locations. These output locations in addition to the new distinct identifiers for constructed expressions is “extended output column reckoning”, as is what we use when reasoning about work still available to be done on the partial join results.

Re-exports§

pub use delta_join::DeltaJoinPlan;
pub use linear_join::LinearJoinPlan;

Modules§

delta_join
Delta join execution planning.
linear_join
Planning of linear joins.
proto_join_plan
Nested message and enum types in ProtoJoinPlan.

Structs§

JoinBuildState
Maintained state as we construct join dataflows.
JoinClosure
A manual closure implementation of filtering and logic application.
ProtoDeltaJoinPlan
ProtoDeltaPathPlan
ProtoDeltaStagePlan
ProtoJoinClosure
ProtoJoinClosureEquivalents
ProtoJoinPlan
ProtoLinearJoinPlan
ProtoLinearStagePlan
ProtoMirScalarVec

Enums§

JoinPlan
A complete enumeration of possible join plans to render.