pub fn normalize_sort_requirements(
sort_reqs: &[PhysicalSortRequirement],
eq_properties: &[EquivalentClass],
ordering_eq_properties: &[OrderingEquivalentClass]
) -> Vec<PhysicalSortRequirement>Expand description
Transform sort_reqs vector, to standardized version using eq_properties and ordering_eq_properties
Assume eq_properties states that Column a and Column b are aliases.
Also assume ordering_eq_properties states that ordering vec![d ASC] and vec![a ASC, c ASC] are
ordering equivalent (in the sense that both describe the ordering of the table).
If the sort_reqs input to this function were vec![b Some(ASC), c None],
This function converts sort_exprs vec![b Some(ASC), c None] to first vec![a Some(ASC), c None] after considering eq_properties
Then converts vec![a Some(ASC), c None] to vec![d Some(ASC)] after considering ordering_eq_properties.
Standardized version vec![d Some(ASC)] is used in subsequent operations.