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§
- Join
Build State - Maintained state as we construct join dataflows.
- Join
Closure - A manual closure implementation of filtering and logic application.
- Proto
Delta Join Plan - Proto
Delta Path Plan - Proto
Delta Stage Plan - Proto
Join Closure - Proto
Join Closure Equivalents - Proto
Join Plan - Proto
Linear Join Plan - Proto
Linear Stage Plan - Proto
MirScalar Vec
Enums§
- Join
Plan - A complete enumeration of possible join plans to render.