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