adriangb commented on code in PR #15770: URL: https://github.com/apache/datafusion/pull/15770#discussion_r2053476865
########## datafusion/physical-optimizer/src/push_down_filter.rs: ########## @@ -382,7 +383,7 @@ impl PhysicalOptimizerRule for PushdownFilter { context .transform_up(|node| { - if node.plan.as_any().downcast_ref::<FilterExec>().is_some() { + if node.plan.as_any().downcast_ref::<FilterExec>().is_some() || node.plan.as_any().downcast_ref::<SortExec>().is_some() { Review Comment: Needs fixing of some failing tests, cleanup of the plethora of helper methods I added and a lot of docs but here's the idea: https://github.com/apache/datafusion/pull/15801. The points are: - No downcast matching / hardcoding of implementations - Only recurses once / no retrying - Does no cloning / copying for branches that have no changes - Doesn't insert new operators -- 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