This is an automated email from the ASF dual-hosted git repository. jakevin pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push: new 0b440685d9f [fix](nereids): fix PlanPostProcessor use visitor (#35244) 0b440685d9f is described below commit 0b440685d9f892bd0cc6ceb4aa38fe2b8d6cb9f1 Author: jakevin <jakevin...@gmail.com> AuthorDate: Thu May 23 11:55:16 2024 +0800 [fix](nereids): fix PlanPostProcessor use visitor (#35244) (cherry picked from commit 46e004a358b9e13adb492d376f77e4317e558a6a) --- .../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