We can support `SortAggregateExec` code-gen without grouping keys. When there's no grouping key, sort aggregate should share same execution logic with hash aggregate. Refactor the code-gen without grouping keys, from `HashAggregateExec` to a base class `AggregateCodegenSupport`, and `SortAggregateExec` can share the same implementation by extending `AggregateCodegenSupport`.
The implementation of `SortAggregateExec` code-gen with grouping keys will be added in follow-up PR.
- links to