fn find_inner_join(
left_input: LogicalPlan,
rights: &mut Vec<LogicalPlan>,
possible_join_keys: &JoinKeySet,
all_join_keys: &mut JoinKeySet,
null_equality: NullEquality,
) -> Result<LogicalPlan>Expand description
Finds the next to join with the left input plan,
Finds the next right from rights that can be joined with left_input
plan based on the join keys in possible_join_keys.
If such a matching right is found:
- Adds the matching join keys to
all_join_keys. - Returns
left_input JOIN right ON (all join keys).
If no matching right is found:
- Removes the first plan from
rights - Returns
left_input CROSS JOIN right.