Function mz_transform::join_implementation::implement_arrangements
source ยท fn implement_arrangements<'a>(
inputs: &mut [MirRelationExpr],
available_arrangements: &[Vec<Vec<MirScalarExpr>>],
needed_arrangements: impl Iterator<Item = &'a (usize, Vec<MirScalarExpr>, Option<JoinInputCharacteristics>)>,
) -> (MapFilterProject, Vec<Option<Vec<usize>>>)
Expand description
Modify inputs
to ensure specified arrangements are available.
Lift filter predicates when all needed arrangements are otherwise available.
Returns
- The lifted mfps combined into one mfp.
- Permutations for each input, which were lifted as part of the mfp lifting. These should be applied to the join order.