pub fn get_finer_aggregate_exprs_requirement(
aggr_exprs: &mut [Arc<AggregateFunctionExpr>],
group_by: &PhysicalGroupBy,
eq_properties: &EquivalenceProperties,
agg_mode: &AggregateMode,
) -> Result<Vec<PhysicalSortRequirement>>Expand description
Gets the common requirement that satisfies all the aggregate expressions. When possible, chooses the requirement that is already satisfied by the equivalence properties.
§Parameters
aggr_exprs: A slice ofAggregateFunctionExprcontaining all the aggregate expressions.group_by: A reference to aPhysicalGroupByinstance representing the physical GROUP BY expression.eq_properties: A reference to anEquivalencePropertiesinstance representing equivalence properties for ordering.agg_mode: A reference to anAggregateModeinstance representing the mode of aggregation.
§Returns
A Result<Vec<PhysicalSortRequirement>> instance, which is the requirement
that satisfies all the aggregate requirements. Returns an error in case of
conflicting requirements.