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 a3f06e5fbd [git](Nereids): ignore apache parquet. (#19765) a3f06e5fbd is described below commit a3f06e5fbdeb5f74595addc7d0bf72d7091a36eb Author: jakevin <jakevin...@gmail.com> AuthorDate: Thu May 18 10:54:46 2023 +0800 [git](Nereids): ignore apache parquet. (#19765) --- .gitignore | 2 +- .../rules/rewrite/logical/MergeSetOperations.java | 39 +++++++++------------- 2 files changed, 17 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index 5c9626e2ec..59ad7208bd 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ *.pyc *.class *.iml -*.swp *.jar *.log *.so.tmp @@ -76,6 +75,7 @@ fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.tokens fe/fe-core/src/main/antlr4/org/apache/doris/nereids/gen/ fe/fe-common/src/main/java/org/apache/doris/thrift fe/fe-common/src/main/java/org/apache/parquet +fe/fe-core/src/main/java/org/apache/parquet # BE be/build*/ diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/MergeSetOperations.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/MergeSetOperations.java index 56f924684c..757388c417 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/MergeSetOperations.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/MergeSetOperations.java @@ -30,22 +30,20 @@ import java.util.List; import java.util.stream.Stream; /** - * optimization. * Merge nodes of the same type and same qualifier. - * + * <p> * eg: select k1, k2 from t1 union select 1, 2 union select d1, d2 from t2; - * before: - * logicalUnion() - * / \ - * logicalUnion() logicalProject - * / \ - * logicalProject logicalOneRowRelation - * - * after: - * 2. MERGE_SET_OPERATION - * logicalUnion() - * / \ \ - * logicalProject logicalOneRowRelation logicalProject + * <pre> + * union + * / \ + * union scan3 + * / \ + * scan1 scan2 + * --> + * union + * / | \ + * scan1 scan2 scan3 + * </pre> */ public class MergeSetOperations implements RewriteRuleFactory { @Override @@ -72,22 +70,17 @@ public class MergeSetOperations implements RewriteRuleFactory { /** canMerge */ public static boolean canMerge(LogicalSetOperation parent) { Plan left = parent.child(0); - if (canMerge(parent, left)) { - return true; - } Plan right = parent.child(1); - if (canMerge(parent, right)) { - return true; - } - return false; + + return canMerge(parent, left) || canMerge(parent, right); } - public static final boolean canMerge(LogicalSetOperation parent, Plan child) { + public static boolean canMerge(LogicalSetOperation parent, Plan child) { return child.getClass().equals(parent.getClass()) && isSameQualifierOrChildQualifierIsAll(parent, (LogicalSetOperation) child); } - public static final boolean isSameQualifierOrChildQualifierIsAll(LogicalSetOperation parentSetOperation, + public static boolean isSameQualifierOrChildQualifierIsAll(LogicalSetOperation parentSetOperation, LogicalSetOperation childSetOperation) { return parentSetOperation.getQualifier() == childSetOperation.getQualifier() || childSetOperation.getQualifier() == Qualifier.ALL; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org