adriangb commented on code in PR #16861: URL: https://github.com/apache/datafusion/pull/16861#discussion_r2229503058
########## datafusion/physical-optimizer/src/filter_pushdown.rs: ########## @@ -485,21 +497,32 @@ fn push_down_filters( // currently. `self_filters` are the predicates which are provided by the current node, // and tried to be pushed down over the child similarly. - let num_self_filters = self_filters.len(); - let mut all_predicates = self_filters.clone(); + // Filter out self_filters that contain volatile expressions and track indices Review Comment: Claude and I came up with https://github.com/pydantic/datafusion/pull/34. It's not exactly simple or pretty, but it does put the indexing logic in one place and make it testable in isolation. Curious what you folks think. -- 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: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org