pub enum BuildSide {
Right,
Left,
}Expand description
Which input of a join is gathered whole before the other one starts.
A join is two inputs and a dependency edge between them: one side is finished and held, and then the other side’s rows are matched against what was held. This says which side that is. It is where the hash table goes when the hash join in #62 lands, and it is the side today’s nested loop turns into chunks and rescans once per row of the other one.
Which side that should be is not a property of the join and is not decided here. It is decided
by sides from a cardinality estimate, and the rule it uses
belongs to whichever operator is reading this, not to the flag.
Variants§
Right
The right input, which is what the binder emits and what every join did before this existed.
Left
The left input, which means the executor swaps the two and puts the answer back in order.