Is your feature request related to a problem?
Calcite Engine Framework: pushdown aggregation with non-reference expression
What solution would you like?
Use script API to do push down. And we also need to match aggregate-project-scan  pattern to do this optimization since Calcite aggregate only supports reference expression as its arguments.