2010YOUY01 commented on code in PR #18644:
URL: https://github.com/apache/datafusion/pull/18644#discussion_r2548255590
##########
datafusion/physical-plan/src/aggregates/mod.rs:
##########
@@ -418,6 +504,13 @@ pub struct AggregateExec {
/// Describes how the input is ordered relative to the group by columns
input_order_mode: InputOrderMode,
cache: PlanProperties,
+ /// During initialization, if the plan supports dynamic filtering (see
[`AggrDynFilter`]),
+ /// it is set to `Some(..)` regardless of whether it can be pushed down to
a child node.
+ ///
+ /// During filter pushdown optimization, if a child node can accept this
filter,
+ /// it remains `Some(..)` to enable dynamic filtering during aggregate
execution;
+ /// otherwise, it is cleared to `None`.
Review Comment:
I see the issue now — the current reply semantics are quite ambiguous.
I’ve opened https://github.com/apache/datafusion/issues/18856
. Besides making the reply more precise, I also suggested allowing the
pushdown source to specify its intent (for example, push down only for stats
pruning, not for row-level filtering), since some predicates are very expensive
and we’d like finer control. Let’s move the discussion there if you have
additional points!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]