adriangb commented on code in PR #18644:
URL: https://github.com/apache/datafusion/pull/18644#discussion_r2520068776


##########
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:
   Note that currently "does the child node accept the filter" is a bit murky: 
even if it is says `No` it can still retain a reference e.g. for statistics 
pruning.
   
   It seems to me we may need to expand the pushdown response from `Yes/No` to 
`Exact/Inexact/Unsupported`.
   
   Or maybe we should check the Arc reference counts 😛? If no one else has a 
reference... no point in updating?



-- 
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]

Reply via email to