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

Reply via email to