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

Modules

Structs

Enums

  • A complete enumeration of possible join plans to render.

Constants