apache / apache/datafusion-comet
[EPIC]: Expand support for `BaseAggregateExec`
- Dominant language
- Scala
- Stars
- 1.3k
- Forks
- 373
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 198
Description
### What is the problem the feature request solves?
Currently `BaseAggregateExec` doesn't support some scenarios, like grouping on maps or filtering.
```
if (aggregateExpressions.exists(_.filter.isDefined)) {
withInfo(op, "Aggregate expression with filter is not supported")
return None
}
if (groupingExpressions.exists(expr =>
expr.dataType match {
case _: MapType => true
case _ => false
})) {
withInfo(op, "Grouping on map types is not supported")
return None
}
val groupingExprs = groupingExpressions.map(exprToProto(_, child.output))
if (groupingExprs.exists(_.isEmpty)) {
withInfo(op, "Not all grouping expressions are supported")
return None
}
```
- [ ] #2388
- [x] #2456
- [x] #2870
- [x] https://github.com/apache/datafusion-comet/issues/1267
### Describe the potential solution
_No response_
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.