SortMergeJoinExec
If the matching join keys are sortable. requiredChildOrdering needs both left and right ordered. It support supportCodegen only if the joinType is inner. In the meantime, for SortMergeJoin, an extra SortExec will be inserted in Exchange strategies.
Currently only the inner join support WholeStageCodeGen
Inner: RowIterator
LeftOuter: LeftOuterIterator
RightOuter: RightOuterIterator
FullOuter: FullOuterIterator
LeftSemi: Select rows from left that a column exists in the right side. LeftAnti: Select rows from left that a column does not exist in the right side.
SortMergeJoinExec(leftKeys, rightKeys, joinType, condition, planLater(left), planLater(right))
leftKeys and rightKeys are the join keys. Condition are those not equal predicates. Please refer to ExtractEquiJoinKeys