Describe the bug
It seems a optimizer cannot combine adjacent partial and final AggregateExecs into a single AggregateExec. Because a EnforceDistribution rule which runs before a CombinePartialFinalAggregate rule inserts a RepartitionExec for hashing between adjacent partial and final AggregateExecs.
To Reproduce
No response
Expected behavior
A optimizer should combine adjacent partial and final AggregateExecs, if possible.
Additional context
No response