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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]