You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pubstructAggregateFnProperties{puborder_sensitivity:AggregateOrderSensitivity,pubpartial_aggregation:PartialAggregation,pubdistinct_sensitivity:DistinctSensitivity,}pubenumAggregateOrderSensitivity{Insensitive,// planner may reorder input rowsSensitive,// input order is part of the result}pubenumPartialAggregation{Unsupported,// do not introduce partial/final aggregationOrderedMerge,// may split contiguous input, must merge partials in input orderUnorderedMerge,// may split/repartition and merge partials in any order/tree}pubenumDistinctSensitivity{Sensitive,Insensitive,// agg(DISTINCT x) == agg(x)}traitAggregateFnVTable{
...
fnproperties(&self,options:&Self::Options,input_dtype:&DType) -> AggregateFnProperties;}
Okay but can we have the same meaning for both operators. agg and lifted agg (over partial).
If we use associative and commutative then we can use the same definition for aggregations and scalar_fns. I guess we could infer these but right now these are a little muddled.
Activity
joseph-isaacs commentedon May 8, 2026
We are really asking the question AggregateOrderSensitivity is that operation commutative?
For
PartialAggregationwe are asking is the merge over the partialOrderedMerge-> associative andUnorderedMerge-> associative + commutativeFor
DistinctSensitivityis the partialidempotentjoseph-isaacs commentedon May 8, 2026
we could get away with
joseph-isaacs commentedon May 8, 2026
Or maybe we have a single operator struct
Then this can be used for aggregations and overwritten for partial merge since aggregation op properties ==> partial merge properties.
gatesn commentedon May 8, 2026
I think you want to stick to the domain-specific meaning, rather than infer it from low level properties.
e.g. is
last(...)idempotent? I find I have to think much harder about it...joseph-isaacs commentedon May 8, 2026
its not, but its not clear in both cases?
joseph-isaacs commentedon May 8, 2026
Okay but can we have the same meaning for both operators. agg and lifted agg (over partial).
If we use associative and commutative then we can use the same definition for aggregations and scalar_fns. I guess we could infer these but right now these are a little muddled.