find_inner_join

Function find_inner_join 

Source
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:

  1. Adds the matching join keys to all_join_keys.
  2. Returns left_input JOIN right ON (all join keys).

If no matching right is found:

  1. Removes the first plan from rights
  2. Returns left_input CROSS JOIN right.