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.