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 a4ad25cabe4 [fix](Nereids): fix enable mv rewrite is useless in dphyp 
(#30042)
a4ad25cabe4 is described below

commit a4ad25cabe469db4094dccef0421df6446e3f237
Author: 谢健 <jianx...@gmail.com>
AuthorDate: Wed Jan 17 15:11:20 2024 +0800

    [fix](Nereids): fix enable mv rewrite is useless in dphyp (#30042)
---
 .../jobs/cascades/OptimizeGroupExpressionJob.java  | 23 ++++++++++++++++------
 .../org/apache/doris/nereids/rules/RuleSet.java    |  1 -
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/cascades/OptimizeGroupExpressionJob.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/cascades/OptimizeGroupExpressionJob.java
index 16cf90b786e..8c8e7e43998 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/cascades/OptimizeGroupExpressionJob.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/cascades/OptimizeGroupExpressionJob.java
@@ -24,7 +24,8 @@ import org.apache.doris.nereids.memo.GroupExpression;
 import org.apache.doris.nereids.rules.Rule;
 import org.apache.doris.qe.ConnectContext;
 
-import java.util.ArrayList;
+import com.google.common.collect.ImmutableList;
+
 import java.util.Collections;
 import java.util.List;
 
@@ -48,11 +49,6 @@ public class OptimizeGroupExpressionJob extends Job {
         countJobExecutionTimesOfGroupExpressions(groupExpression);
         List<Rule> implementationRules = getRuleSet().getImplementationRules();
         List<Rule> explorationRules = getExplorationRules();
-        ConnectContext connectContext = 
context.getCascadesContext().getConnectContext();
-        if 
(connectContext.getSessionVariable().isEnableMaterializedViewRewrite()) {
-            explorationRules = new ArrayList<>(explorationRules);
-            explorationRules.addAll(getRuleSet().getMaterializedViewRules());
-        }
 
         for (Rule rule : explorationRules) {
             if (rule.isInvalid(disableRules, groupExpression)) {
@@ -70,6 +66,13 @@ public class OptimizeGroupExpressionJob extends Job {
     }
 
     private List<Rule> getExplorationRules() {
+        return ImmutableList.<Rule>builder()
+                .addAll(getJoinRules())
+                .addAll(getMvRules())
+                .build();
+    }
+
+    private List<Rule> getJoinRules() {
         boolean isDisableJoinReorder = 
context.getCascadesContext().getConnectContext().getSessionVariable()
                 .isDisableJoinReorder()
                 || 
context.getCascadesContext().getMemo().getGroupExpressionsSize() > 
context.getCascadesContext()
@@ -96,4 +99,12 @@ public class OptimizeGroupExpressionJob extends Job {
             return getRuleSet().getZigZagTreeJoinReorder();
         }
     }
+
+    private List<Rule> getMvRules() {
+        ConnectContext connectContext = 
context.getCascadesContext().getConnectContext();
+        if 
(connectContext.getSessionVariable().isEnableMaterializedViewRewrite()) {
+            return getRuleSet().getMaterializedViewRules();
+        }
+        return ImmutableList.of();
+    }
 }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java
index bb5b2f3dcf8..de0f3d518fa 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java
@@ -240,7 +240,6 @@ public class RuleSet {
             .build();
 
     public static final List<Rule> DPHYP_REORDER_RULES = 
ImmutableList.<Rule>builder()
-            .addAll(MATERIALIZED_VIEW_RULES)
             .add(JoinCommute.BUSHY.build())
             .build();
 


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

Reply via email to