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 28793b6441 [fix](Nereids): fix copyIn() in Memo when useless project 
with groupplan (#18223)
28793b6441 is described below

commit 28793b6441480075f39130caefef59e6445bf30b
Author: jakevin <jakevin...@gmail.com>
AuthorDate: Thu Mar 30 23:49:21 2023 +0800

    [fix](Nereids): fix copyIn() in Memo when useless project with groupplan 
(#18223)
---
 .../org/apache/doris/nereids/NereidsPlanner.java   |  4 +-
 .../java/org/apache/doris/nereids/memo/Memo.java   | 49 ++++++++++++++--------
 .../exploration/join/InnerJoinLAsscomProject.java  | 13 +++---
 .../join/InnerJoinLeftAssociateProject.java        | 13 +++---
 .../join/InnerJoinRightAssociateProject.java       | 13 +++---
 .../exploration/join/JoinExchangeBothProject.java  | 13 +++---
 .../exploration/join/JoinExchangeLeftProject.java  | 13 +++---
 .../exploration/join/JoinExchangeRightProject.java | 13 +++---
 .../join/InnerJoinLAsscomProjectTest.java          |  1 -
 .../join/InnerJoinLeftAssociateProjectTest.java    |  2 -
 .../join/InnerJoinRightAssociateProjectTest.java   |  2 -
 .../join/JoinExchangeBothProjectTest.java          |  2 -
 .../join/JoinExchangeLeftProjectTest.java          |  2 -
 .../join/JoinExchangeRightProjectTest.java         |  2 -
 14 files changed, 73 insertions(+), 69 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
index b124fb2590..fdb15a3907 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
@@ -202,8 +202,8 @@ public class NereidsPlanner extends Planner {
 
             optimize();
 
-            //print memo before choose plan.
-            //if chooseNthPlan failed, we could get memo to debug
+            // print memo before choose plan.
+            // if chooseNthPlan failed, we could get memo to debug
             if (ConnectContext.get().getSessionVariable().isDumpNereidsMemo()) 
{
                 String memo = cascadesContext.getMemo().toString();
                 LOG.info(memo);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Memo.java 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Memo.java
index 078ddf72f6..7db2f86a68 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Memo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Memo.java
@@ -107,6 +107,22 @@ public class Memo {
         return groupExpressions;
     }
 
+    private Plan skipProject(Plan plan, Group targetGroup) {
+        if (plan instanceof LogicalProject) {
+            LogicalProject<Plan> logicalProject = (LogicalProject<Plan>) plan;
+            if (targetGroup != root) {
+                if 
(logicalProject.getOutputSet().equals(logicalProject.child().getOutputSet())) {
+                    return skipProject(logicalProject.child(), targetGroup);
+                }
+            } else {
+                if 
(logicalProject.getOutput().equals(logicalProject.child().getOutput())) {
+                    return skipProject(logicalProject.child(), targetGroup);
+                }
+            }
+        }
+        return plan;
+    }
+
     /**
      * Add plan to Memo.
      *
@@ -122,7 +138,7 @@ public class Memo {
         if (rewrite) {
             result = doRewrite(plan, target);
         } else {
-            result = doCopyIn(plan, target);
+            result = doCopyIn(skipProject(plan, target), target);
         }
         maybeAddStateId(result);
         return result;
@@ -316,6 +332,17 @@ public class Memo {
         }
     }
 
+    private Plan skipProjectGetChild(Plan plan) {
+        if (plan instanceof LogicalProject) {
+            LogicalProject<Plan> logicalProject = (LogicalProject<Plan>) plan;
+            Plan child = logicalProject.child();
+            if (logicalProject.getOutputSet().equals(child.getOutputSet())) {
+                return skipProjectGetChild(child);
+            }
+        }
+        return plan;
+    }
+
     /**
      * add the plan into the target group
      * @param plan the plan which want added
@@ -326,20 +353,7 @@ public class Memo {
      *         and the second element is a reference of node in Memo
      */
     private CopyInResult doCopyIn(Plan plan, @Nullable Group targetGroup) {
-        // TODO: this is same with EliminateUnnecessaryProject,
-        //   we need a infra to rewrite plan after every exploration job
-        if (plan instanceof LogicalProject) {
-            LogicalProject<Plan> logicalProject = (LogicalProject<Plan>) plan;
-            if (targetGroup != root) {
-                if 
(logicalProject.getOutputSet().equals(logicalProject.child().getOutputSet())) {
-                    return doCopyIn(logicalProject.child(), targetGroup);
-                }
-            } else {
-                if 
(logicalProject.getOutput().equals(logicalProject.child().getOutput())) {
-                    return doCopyIn(logicalProject.child(), targetGroup);
-                }
-            }
-        }
+        Preconditions.checkArgument(!(plan instanceof GroupPlan), "plan can 
not be GroupPlan");
         // check logicalproperties, must same output in a Group.
         if (targetGroup != null && 
!plan.getLogicalProperties().equals(targetGroup.getLogicalProperties())) {
             throw new IllegalStateException("Insert a plan into targetGroup 
but differ in logicalproperties");
@@ -350,13 +364,14 @@ public class Memo {
         }
         List<Group> childrenGroups = Lists.newArrayList();
         for (int i = 0; i < plan.children().size(); i++) {
-            Plan child = plan.children().get(i);
+            // skip useless project.
+            Plan child = skipProjectGetChild(plan.child(i));
             if (child instanceof GroupPlan) {
                 childrenGroups.add(((GroupPlan) child).getGroup());
             } else if (child.getGroupExpression().isPresent()) {
                 
childrenGroups.add(child.getGroupExpression().get().getOwnerGroup());
             } else {
-                childrenGroups.add(copyIn(child, null, 
false).correspondingExpression.getOwnerGroup());
+                childrenGroups.add(doCopyIn(child, 
null).correspondingExpression.getOwnerGroup());
             }
         }
         plan = replaceChildrenToGroupPlan(plan, childrenGroups);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProject.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProject.java
index 1e43952ab4..9733191605 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProject.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProject.java
@@ -28,6 +28,7 @@ import 
org.apache.doris.nereids.trees.plans.logical.LogicalJoin;
 import org.apache.doris.nereids.util.Utils;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -85,13 +86,11 @@ public class InnerJoinLAsscomProject extends 
OneExplorationRuleFactory {
                     newBottomJoin.getJoinReorderContext().setHasCommute(false);
 
                     // merge newTopHashConjuncts newTopOtherConjuncts 
topJoin.getOutputExprIdSet()
-                    // Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
-                    // newTopHashConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // newTopOtherConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // Plan left = JoinReorderUtils.newProject(topUsedExprIds, 
newBottomJoin);
-                    // Plan right = 
JoinReorderUtils.newProject(topUsedExprIds, b);
-                    Plan left = newBottomJoin;
-                    Plan right = b;
+                    Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
+                    newTopHashConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    newTopOtherConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    Plan left = JoinReorderUtils.newProject(topUsedExprIds, 
newBottomJoin);
+                    Plan right = JoinReorderUtils.newProject(topUsedExprIds, 
b);
 
                     LogicalJoin<Plan, Plan> newTopJoin = 
bottomJoin.withConjunctsChildren(newTopHashConjuncts,
                             newTopOtherConjuncts, left, right);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLeftAssociateProject.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLeftAssociateProject.java
index 7d1948ff0e..c70ec914a9 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLeftAssociateProject.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLeftAssociateProject.java
@@ -27,6 +27,7 @@ import org.apache.doris.nereids.trees.plans.Plan;
 import org.apache.doris.nereids.trees.plans.logical.LogicalJoin;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -77,13 +78,11 @@ public class InnerJoinLeftAssociateProject extends 
OneExplorationRuleFactory {
                             newBottomHashConjuncts, newBottomOtherConjuncts, 
a, b);
 
                     // new Project.
-                    // Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
-                    // newTopHashConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // newTopOtherConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // Plan left = JoinReorderUtils.newProject(topUsedExprIds, 
newBottomJoin);
-                    // Plan right = 
JoinReorderUtils.newProject(topUsedExprIds, c);
-                    Plan left = newBottomJoin;
-                    Plan right = c;
+                    Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
+                    newTopHashConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    newTopOtherConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    Plan left = JoinReorderUtils.newProject(topUsedExprIds, 
newBottomJoin);
+                    Plan right = JoinReorderUtils.newProject(topUsedExprIds, 
c);
 
                     LogicalJoin<Plan, Plan> newTopJoin = 
bottomJoin.withConjunctsChildren(
                             newTopHashConjuncts, newTopOtherConjuncts, left, 
right);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinRightAssociateProject.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinRightAssociateProject.java
index b23a758b45..fcce515d81 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinRightAssociateProject.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinRightAssociateProject.java
@@ -27,6 +27,7 @@ import org.apache.doris.nereids.trees.plans.Plan;
 import org.apache.doris.nereids.trees.plans.logical.LogicalJoin;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -74,13 +75,11 @@ public class InnerJoinRightAssociateProject extends 
OneExplorationRuleFactory {
                             newBottomHashConjuncts, newBottomOtherConjuncts, 
b, c);
 
                     // new Project.
-                    // Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
-                    // newTopHashConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // newTopOtherConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // Plan left = JoinReorderUtils.newProject(topUsedExprIds, 
a);
-                    // Plan right = 
JoinReorderUtils.newProject(topUsedExprIds, newBottomJoin);
-                    Plan left = a;
-                    Plan right = newBottomJoin;
+                    Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
+                    newTopHashConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    newTopOtherConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    Plan left = JoinReorderUtils.newProject(topUsedExprIds, a);
+                    Plan right = JoinReorderUtils.newProject(topUsedExprIds, 
newBottomJoin);
 
                     LogicalJoin<Plan, Plan> newTopJoin = 
bottomJoin.withConjunctsChildren(
                             newTopHashConjuncts, newTopOtherConjuncts, left, 
right);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeBothProject.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeBothProject.java
index b87ec4e8ba..a921ef6fcb 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeBothProject.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeBothProject.java
@@ -32,6 +32,7 @@ import org.apache.doris.nereids.util.JoinUtils;
 import com.google.common.collect.Lists;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
@@ -91,14 +92,14 @@ public class JoinExchangeBothProject extends 
OneExplorationRuleFactory {
                             newLeftJoinHashJoinConjuncts, 
newLeftJoinOtherJoinConjuncts, JoinHint.NONE, a, c);
                     LogicalJoin<GroupPlan, GroupPlan> newRightJoin = new 
LogicalJoin<>(JoinType.INNER_JOIN,
                             newRightJoinHashJoinConjuncts, 
newRightJoinOtherJoinConjuncts, JoinHint.NONE, b, d);
-                    // Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
-                    // newTopJoinHashJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // newTopJoinOtherJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // Plan left = JoinReorderUtils.newProject(topUsedExprIds, 
newLeftJoin);
-                    // Plan right = 
JoinReorderUtils.newProject(topUsedExprIds, newRightJoin);
+                    Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
+                    newTopJoinHashJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    newTopJoinOtherJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    Plan left = JoinReorderUtils.newProject(topUsedExprIds, 
newLeftJoin);
+                    Plan right = JoinReorderUtils.newProject(topUsedExprIds, 
newRightJoin);
                     LogicalJoin newTopJoin = new 
LogicalJoin<>(JoinType.INNER_JOIN,
                             newTopJoinHashJoinConjuncts, 
newTopJoinOtherJoinConjuncts, JoinHint.NONE,
-                            newLeftJoin, newRightJoin);
+                            left, right);
                     JoinExchange.setNewLeftJoinReorder(newLeftJoin, leftJoin);
                     JoinExchange.setNewRightJoinReorder(newRightJoin, 
leftJoin);
                     JoinExchange.setNewTopJoinReorder(newTopJoin, topJoin);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeLeftProject.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeLeftProject.java
index 72752235a1..73f2bfcc2b 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeLeftProject.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeLeftProject.java
@@ -32,6 +32,7 @@ import org.apache.doris.nereids.util.JoinUtils;
 import com.google.common.collect.Lists;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
@@ -90,14 +91,14 @@ public class JoinExchangeLeftProject extends 
OneExplorationRuleFactory {
                             newLeftJoinHashJoinConjuncts, 
newLeftJoinOtherJoinConjuncts, JoinHint.NONE, a, c);
                     LogicalJoin<GroupPlan, GroupPlan> newRightJoin = new 
LogicalJoin<>(JoinType.INNER_JOIN,
                             newRightJoinHashJoinConjuncts, 
newRightJoinOtherJoinConjuncts, JoinHint.NONE, b, d);
-                    // Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
-                    // newTopJoinHashJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // newTopJoinOtherJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // Plan left = JoinReorderUtils.newProject(topUsedExprIds, 
newLeftJoin);
-                    // Plan right = 
JoinReorderUtils.newProject(topUsedExprIds, newRightJoin);
+                    Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
+                    newTopJoinHashJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    newTopJoinOtherJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    Plan left = JoinReorderUtils.newProject(topUsedExprIds, 
newLeftJoin);
+                    Plan right = JoinReorderUtils.newProject(topUsedExprIds, 
newRightJoin);
                     LogicalJoin newTopJoin = new 
LogicalJoin<>(JoinType.INNER_JOIN,
                             newTopJoinHashJoinConjuncts, 
newTopJoinOtherJoinConjuncts, JoinHint.NONE,
-                            newLeftJoin, newRightJoin);
+                            left, right);
                     JoinExchange.setNewLeftJoinReorder(newLeftJoin, leftJoin);
                     JoinExchange.setNewRightJoinReorder(newRightJoin, 
leftJoin);
                     JoinExchange.setNewTopJoinReorder(newTopJoin, topJoin);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeRightProject.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeRightProject.java
index 8fbde8b73b..d94b0fab69 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeRightProject.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeRightProject.java
@@ -32,6 +32,7 @@ import org.apache.doris.nereids.util.JoinUtils;
 import com.google.common.collect.Lists;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
@@ -90,14 +91,14 @@ public class JoinExchangeRightProject extends 
OneExplorationRuleFactory {
                             newLeftJoinHashJoinConjuncts, 
newLeftJoinOtherJoinConjuncts, JoinHint.NONE, a, c);
                     LogicalJoin<GroupPlan, GroupPlan> newRightJoin = new 
LogicalJoin<>(JoinType.INNER_JOIN,
                             newRightJoinHashJoinConjuncts, 
newRightJoinOtherJoinConjuncts, JoinHint.NONE, b, d);
-                    // Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
-                    // newTopJoinHashJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // newTopJoinOtherJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
-                    // Plan left = JoinReorderUtils.newProject(topUsedExprIds, 
newLeftJoin);
-                    // Plan right = 
JoinReorderUtils.newProject(topUsedExprIds, newRightJoin);
+                    Set<ExprId> topUsedExprIds = new 
HashSet<>(topJoin.getOutputExprIdSet());
+                    newTopJoinHashJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    newTopJoinOtherJoinConjuncts.forEach(expr -> 
topUsedExprIds.addAll(expr.getInputSlotExprIds()));
+                    Plan left = JoinReorderUtils.newProject(topUsedExprIds, 
newLeftJoin);
+                    Plan right = JoinReorderUtils.newProject(topUsedExprIds, 
newRightJoin);
                     LogicalJoin newTopJoin = new 
LogicalJoin<>(JoinType.INNER_JOIN,
                             newTopJoinHashJoinConjuncts, 
newTopJoinOtherJoinConjuncts, JoinHint.NONE,
-                            newLeftJoin, newRightJoin);
+                            left, right);
                     JoinExchange.setNewLeftJoinReorder(newLeftJoin, leftJoin);
                     JoinExchange.setNewRightJoinReorder(newRightJoin, 
leftJoin);
                     JoinExchange.setNewTopJoinReorder(newTopJoin, topJoin);
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProjectTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProjectTest.java
index 0289709d44..e7c34c1cfb 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProjectTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProjectTest.java
@@ -52,7 +52,6 @@ class InnerJoinLAsscomProjectTest implements 
MemoPatternMatchSupported {
     private final LogicalOlapScan scan3 = 
PlanConstructor.newLogicalOlapScan(2, "t3", 0);
 
     @Test
-    @Disabled
     void testSimple() {
         /*
          * Star-Join
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLeftAssociateProjectTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLeftAssociateProjectTest.java
index 10111a3ea3..8379ba47dd 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLeftAssociateProjectTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLeftAssociateProjectTest.java
@@ -28,7 +28,6 @@ import org.apache.doris.nereids.util.PlanChecker;
 import org.apache.doris.nereids.util.PlanConstructor;
 
 import com.google.common.collect.ImmutableList;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 class InnerJoinLeftAssociateProjectTest implements MemoPatternMatchSupported {
@@ -37,7 +36,6 @@ class InnerJoinLeftAssociateProjectTest implements 
MemoPatternMatchSupported {
     private final LogicalOlapScan scan3 = 
PlanConstructor.newLogicalOlapScan(2, "t3", 0);
 
     @Test
-    @Disabled
     void testSimple() {
         LogicalPlan plan = new LogicalPlanBuilder(scan1)
                 .join(
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinRightAssociateProjectTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinRightAssociateProjectTest.java
index f5fc908746..721738e45e 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinRightAssociateProjectTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinRightAssociateProjectTest.java
@@ -28,7 +28,6 @@ import org.apache.doris.nereids.util.PlanChecker;
 import org.apache.doris.nereids.util.PlanConstructor;
 
 import com.google.common.collect.ImmutableList;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 class InnerJoinRightAssociateProjectTest implements MemoPatternMatchSupported {
@@ -37,7 +36,6 @@ class InnerJoinRightAssociateProjectTest implements 
MemoPatternMatchSupported {
     private final LogicalOlapScan scan3 = 
PlanConstructor.newLogicalOlapScan(2, "t3", 0);
 
     @Test
-    @Disabled
     void testSimple() {
         LogicalPlan plan = new LogicalPlanBuilder(scan1)
                 .join(scan2, JoinType.INNER_JOIN, Pair.of(0, 0))
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeBothProjectTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeBothProjectTest.java
index 7a9f39b5cf..0e7a390c17 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeBothProjectTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeBothProjectTest.java
@@ -28,12 +28,10 @@ import org.apache.doris.nereids.util.PlanChecker;
 import org.apache.doris.nereids.util.PlanConstructor;
 
 import com.google.common.collect.ImmutableList;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 class JoinExchangeBothProjectTest implements MemoPatternMatchSupported {
     @Test
-    @Disabled
     public void testSimple() {
         LogicalOlapScan scan1 = PlanConstructor.newLogicalOlapScan(0, "t1", 0);
         LogicalOlapScan scan2 = PlanConstructor.newLogicalOlapScan(1, "t2", 0);
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeLeftProjectTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeLeftProjectTest.java
index dc1c5059ab..7a1a2998e8 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeLeftProjectTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeLeftProjectTest.java
@@ -28,12 +28,10 @@ import org.apache.doris.nereids.util.PlanChecker;
 import org.apache.doris.nereids.util.PlanConstructor;
 
 import com.google.common.collect.ImmutableList;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 class JoinExchangeLeftProjectTest implements MemoPatternMatchSupported {
     @Test
-    @Disabled
     public void testSimple() {
         LogicalOlapScan scan1 = PlanConstructor.newLogicalOlapScan(0, "t1", 0);
         LogicalOlapScan scan2 = PlanConstructor.newLogicalOlapScan(1, "t2", 0);
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeRightProjectTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeRightProjectTest.java
index cb38b4e787..4b8d038624 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeRightProjectTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeRightProjectTest.java
@@ -28,12 +28,10 @@ import org.apache.doris.nereids.util.PlanChecker;
 import org.apache.doris.nereids.util.PlanConstructor;
 
 import com.google.common.collect.ImmutableList;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 class JoinExchangeRightProjectTest implements MemoPatternMatchSupported {
     @Test
-    @Disabled
     public void testSimple() {
         LogicalOlapScan scan1 = PlanConstructor.newLogicalOlapScan(0, "t1", 0);
         LogicalOlapScan scan2 = PlanConstructor.newLogicalOlapScan(1, "t2", 0);


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

Reply via email to