This is an automated email from the ASF dual-hosted git repository.

jakevin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 46e004a358b [fix](nereids): fix PlanPostProcessor use visitor (#35244)
46e004a358b is described below

commit 46e004a358b9e13adb492d376f77e4317e558a6a
Author: jakevin <jakevin...@gmail.com>
AuthorDate: Thu May 23 11:55:16 2024 +0800

    [fix](nereids): fix PlanPostProcessor use visitor (#35244)
---
 .../doris/nereids/processor/post/AddOffsetIntoDistribute.java  |  3 ++-
 .../nereids/processor/post/PushDownFilterThroughProject.java   | 10 ++--------
 2 files changed, 4 insertions(+), 9 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/AddOffsetIntoDistribute.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/AddOffsetIntoDistribute.java
index deac3988698..dc817321298 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/AddOffsetIntoDistribute.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/AddOffsetIntoDistribute.java
@@ -31,11 +31,12 @@ import 
org.apache.doris.nereids.trees.plans.physical.PhysicalLimit;
 public class AddOffsetIntoDistribute extends PlanPostProcessor {
     @Override
     public Plan visitPhysicalLimit(PhysicalLimit<? extends Plan> limit, 
CascadesContext context) {
+        limit = (PhysicalLimit<? extends Plan>) super.visit(limit, context);
         if (limit.getPhase().isLocal() || limit.getOffset() == 0) {
             return limit;
         }
 
         return new PhysicalDistribute<>(DistributionSpecGather.INSTANCE,
-                limit.withLimit(limit.getLimit() + limit.getOffset()));
+                limit.withLimit(limit.getLimit() + 
limit.getOffset())).copyStatsAndGroupIdFrom(limit);
     }
 }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PushDownFilterThroughProject.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PushDownFilterThroughProject.java
index 99b7d8a9572..e0ee6bbd6fd 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PushDownFilterThroughProject.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PushDownFilterThroughProject.java
@@ -19,7 +19,6 @@ package org.apache.doris.nereids.processor.post;
 
 import org.apache.doris.nereids.CascadesContext;
 import org.apache.doris.nereids.trees.plans.Plan;
-import org.apache.doris.nereids.trees.plans.physical.AbstractPhysicalPlan;
 import org.apache.doris.nereids.trees.plans.physical.PhysicalFilter;
 import org.apache.doris.nereids.trees.plans.physical.PhysicalProject;
 import org.apache.doris.nereids.util.ExpressionUtils;
@@ -30,15 +29,10 @@ import org.apache.doris.nereids.util.ExpressionUtils;
 public class PushDownFilterThroughProject extends PlanPostProcessor {
     @Override
     public Plan visitPhysicalFilter(PhysicalFilter<? extends Plan> filter, 
CascadesContext context) {
+        filter = (PhysicalFilter<? extends Plan>) super.visit(filter, context);
         Plan child = filter.child();
         if (!(child instanceof PhysicalProject)) {
-            Plan newChild = child.accept(this, context);
-            if (newChild == child) {
-                return filter;
-            } else {
-                return ((AbstractPhysicalPlan) 
filter.withChildren(child.accept(this, context)))
-                        .copyStatsAndGroupIdFrom(filter);
-            }
+            return filter;
         }
 
         PhysicalProject<? extends Plan> project = (PhysicalProject<? extends 
Plan>) child;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to