Commit 076b091
authored
Allow filter pushdown through AggregateExec (#18404)
## Which issue does this PR close?
- Closes #18399
## Rationale for this change
Right now filters cannot pass through `AggregateExec` nodes, preventing
filter pushdown optimization in queries with GROUP BY/DISTINCT
operations.
## What changes are included in this PR?
- Implemented `gather_filters_for_pushdown()` for `AggregateExec` that
allows filters on grouping columns to pass through to children
- Supports both Pre phase (static filters) and Post phase (dynamic
filters from joins)
Essentially, filter will pass through in the scenarios @asolimando
mentioned
[here](#18399 (comment))
## Are these changes tested?
Yes, added three tests:
- `test_aggregate_filter_pushdown`: Positive case with aggregate
functions
- `test_no_pushdown_aggregate_filter_on_non_grouping_column`: Negative
case ensuring filters on aggregate results are not pushed
## Are there any user-facing changes?
<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->
<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->1 parent ac41f44 commit 076b091
0 commit comments