Module mz_compute_types::plan::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 execution planning.
- Planning of linear joins.
- Nested message and enum types in
ProtoJoinPlan
.
Structs§
- Maintained state as we construct join dataflows.
- A manual closure implementation of filtering and logic application.
Enums§
- A complete enumeration of possible join plans to render.