pub(crate) fn swap_join_according_to_unboundedness(
hash_join: &HashJoinExec,
) -> Result<Arc<dyn ExecutionPlan>>Expand description
This function swaps sides of a hash join to make it runnable even if one of
its inputs are infinite. Note that this is not always possible; i.e.
JoinType::Full, JoinType::Right, JoinType::RightAnti and
JoinType::RightSemi can not run with an unbounded left side, even if
we swap join sides. Therefore, we do not consider them here.
This function is crate public as it is useful for downstream projects
to implement, or experiment with, their own join selection rules.