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 9fa2dac352 [fix](Nereids): DefaultPlanRewriter visit plan children. 
(#21395)
9fa2dac352 is described below

commit 9fa2dac35257a96d5a9186692e49ced6fd05ec5e
Author: jakevin <[email protected]>
AuthorDate: Mon Jul 3 13:20:01 2023 +0800

    [fix](Nereids): DefaultPlanRewriter visit plan children. (#21395)
---
 .../nereids/rules/rewrite/AggScalarSubQueryToWindowFunction.java      | 3 ++-
 .../apache/doris/nereids/rules/rewrite/EnsureProjectOnTopJoin.java    | 1 -
 .../java/org/apache/doris/nereids/rules/rewrite/InferPredicates.java  | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/AggScalarSubQueryToWindowFunction.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/AggScalarSubQueryToWindowFunction.java
index 10f170dc74..d0e5742487 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/AggScalarSubQueryToWindowFunction.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/AggScalarSubQueryToWindowFunction.java
@@ -109,7 +109,8 @@ public class AggScalarSubQueryToWindowFunction extends 
DefaultPlanRewriter<JobCo
      * is used to project apply output to original output, it is not affect 
this rule at all. so we ignore it.
      */
     @Override
-    public Plan visitLogicalFilter(LogicalFilter<? extends Plan> filter, 
JobContext context) {
+    public Plan visitLogicalFilter(LogicalFilter<? extends Plan> plan, 
JobContext context) {
+        LogicalFilter<? extends Plan> filter = visitChildren(this, plan, 
context);
         return findApply(filter)
                 .filter(a -> check(filter, a))
                 .map(a -> rewrite(filter, a))
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EnsureProjectOnTopJoin.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EnsureProjectOnTopJoin.java
index c3bcfea9ae..1671284790 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EnsureProjectOnTopJoin.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EnsureProjectOnTopJoin.java
@@ -32,7 +32,6 @@ import java.util.stream.Collectors;
 /**
  * The rule add an explicit project at the top join to ensure the output of 
whole plan is stable
  * and avoid generate circle in memo.
- *
  */
 public class EnsureProjectOnTopJoin extends DefaultPlanRewriter<Void> 
implements CustomRewriter {
 
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InferPredicates.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InferPredicates.java
index 783da51a85..9736db8482 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InferPredicates.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InferPredicates.java
@@ -61,7 +61,7 @@ public class InferPredicates extends 
DefaultPlanRewriter<JobContext> implements
 
     @Override
     public Plan visitLogicalJoin(LogicalJoin<? extends Plan, ? extends Plan> 
join, JobContext context) {
-        join = (LogicalJoin<? extends Plan, ? extends Plan>) super.visit(join, 
context);
+        join = visitChildren(this, join, context);
         Plan left = join.left();
         Plan right = join.right();
         Set<Expression> expressions = getAllExpressions(left, right, 
join.getOnClauseCondition());
@@ -91,7 +91,7 @@ public class InferPredicates extends 
DefaultPlanRewriter<JobContext> implements
 
     @Override
     public Plan visitLogicalFilter(LogicalFilter<? extends Plan> filter, 
JobContext context) {
-        filter = (LogicalFilter<? extends Plan>) super.visit(filter, context);
+        filter = visitChildren(this, filter, context);
         Set<Expression> filterPredicates = pullUpPredicates(filter);
         filterPredicates.removeAll(pullUpPredicates(filter.child()));
         filter.getConjuncts().forEach(filterPredicates::remove);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to