This is an automated email from the ASF dual-hosted git repository. huajianlan 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 068e60145e [enhancement](Nereids)ban groupPlan() pattern to avoid misuse (#12250) 068e60145e is described below commit 068e60145eede1026390ff5288c2d57d8f2ea30a Author: morrySnow <101034200+morrys...@users.noreply.github.com> AuthorDate: Thu Sep 1 14:37:48 2022 +0800 [enhancement](Nereids)ban groupPlan() pattern to avoid misuse (#12250) `groupPlan()` pattern means to find a `GroupPlan` in memo. Since we have no `GroupPlan` in memo, it is always return nothing. When we want write a pattern to match any GROUP, we should use `group()`. But pattern `groupPlan` is very confusing, and easy misuse. So, this PR ban `groupPlan()` pattern ti avoid misuse. --- .../doris/nereids/pattern/generator/PatternGeneratorAnalyzer.java | 1 + .../org/apache/doris/nereids/rules/exploration/join/JoinLAsscom.java | 2 +- .../apache/doris/nereids/rules/exploration/join/JoinLAsscomProject.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGeneratorAnalyzer.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGeneratorAnalyzer.java index eb8e6b5d98..6c5343fccb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGeneratorAnalyzer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGeneratorAnalyzer.java @@ -76,6 +76,7 @@ public class PatternGeneratorAnalyzer { private String doGenerate() { Map<ClassDeclaration, Set<String>> planClassMap = parentClassMap.entrySet().stream() .filter(kv -> kv.getValue().contains("org.apache.doris.nereids.trees.plans.Plan")) + .filter(kv -> !kv.getKey().name.equals("GroupPlan")) .filter(kv -> !Modifier.isAbstract(kv.getKey().modifiers.mod) && kv.getKey() instanceof ClassDeclaration) .collect(Collectors.toMap(kv -> (ClassDeclaration) kv.getKey(), kv -> kv.getValue())); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinLAsscom.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinLAsscom.java index 5e9d173d68..65f849cd5d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinLAsscom.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinLAsscom.java @@ -38,7 +38,7 @@ public class JoinLAsscom extends OneExplorationRuleFactory { */ @Override public Rule build() { - return logicalJoin(logicalJoin(), groupPlan()) + return logicalJoin(logicalJoin(), group()) .when(JoinLAsscomHelper::check) .when(join -> join.getJoinType().isInnerJoin() || join.getJoinType().isLeftOuterJoin() && (join.left().getJoinType().isInnerJoin() || join.left().getJoinType().isLeftOuterJoin())) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinLAsscomProject.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinLAsscomProject.java index e6d99644af..9876ed29fd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinLAsscomProject.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinLAsscomProject.java @@ -40,7 +40,7 @@ public class JoinLAsscomProject extends OneExplorationRuleFactory { */ @Override public Rule build() { - return logicalJoin(logicalProject(logicalJoin()), groupPlan()) + return logicalJoin(logicalProject(logicalJoin()), group()) .when(JoinLAsscomHelper::check) .when(join -> join.getJoinType().isInnerJoin() || join.getJoinType().isLeftOuterJoin() && (join.left().child().getJoinType().isInnerJoin() || join.left().child().getJoinType() --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org