[git](Nereids): ignore apache parquet. (#19765)

This commit is contained in:
jakevin
2023-05-18 10:54:46 +08:00
committed by GitHub
parent fe42e52851
commit a3f06e5fbd
2 changed files with 17 additions and 24 deletions

2
.gitignore vendored
View File

@ -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*/

View File

@ -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;