This is an automated email from the ASF dual-hosted git repository.
lingmiao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
from c9f33fa051 [test] add cast array regression test (#10069)
add 76a968d1dd [Enhancement][Refactor](Nereids) generate pattern by
operator and refactor Plan and NODE_TYPE generic type (#10019)
No new revisions were added by this update.
Summary of changes:
.licenserc.yaml | 2 +
LICENSE.txt | 68 +-
fe/fe-core/pom.xml | 71 ++
.../antlr4/org/apache/doris/nereids/JavaLexer.g4 | 241 +++++++
.../antlr4/org/apache/doris/nereids/JavaParser.g4 | 762 +++++++++++++++++++++
.../org/apache/doris/nereids/OptimizerContext.java | 2 +-
.../apache/doris/nereids/PlanOperatorVisitor.java | 25 +-
.../doris/nereids/analyzer/UnboundAlias.java | 5 +-
.../doris/nereids/analyzer/UnboundRelation.java | 2 +-
.../apache/doris/nereids/analyzer/UnboundSlot.java | 2 +-
.../apache/doris/nereids/analyzer/UnboundStar.java | 2 +-
.../java/org/apache/doris/nereids/jobs/Job.java | 2 +-
.../nereids/jobs/rewrite/RewriteBottomUpJob.java | 2 +-
.../nereids/jobs/rewrite/RewriteTopDownJob.java | 2 +-
.../java/org/apache/doris/nereids/memo/Memo.java | 9 +-
.../doris/nereids/operators/AbstractOperator.java | 4 +-
.../apache/doris/nereids/operators/Operator.java | 6 +-
.../doris/nereids/operators/OperatorType.java | 1 +
.../operators/plans/BinaryPlanOperator.java | 7 +-
.../nereids/operators/plans/LeafPlanOperator.java | 2 +-
.../nereids/operators/plans/PlanOperator.java | 2 +-
.../nereids/operators/plans/UnaryPlanOperator.java | 6 +-
.../plans/logical/LogicalBinaryOperator.java | 18 +-
.../operators/plans/logical/LogicalFilter.java | 5 +-
.../operators/plans/logical/LogicalJoin.java | 6 +-
.../plans/logical/LogicalLeafOperator.java | 11 +-
.../operators/plans/logical/LogicalOperator.java | 2 +-
.../operators/plans/logical/LogicalProject.java | 5 +-
.../operators/plans/logical/LogicalRelation.java | 2 +-
.../plans/logical/LogicalUnaryOperator.java | 17 +-
.../plans/physical/PhysicalAggregation.java | 9 +-
.../plans/physical/PhysicalBinaryOperator.java | 19 +-
.../plans/physical/PhysicalBroadcastHashJoin.java | 4 +-
.../operators/plans/physical/PhysicalFilter.java | 10 +-
.../operators/plans/physical/PhysicalHashJoin.java | 9 +-
.../plans/physical/PhysicalLeafOperator.java | 11 +-
.../operators/plans/physical/PhysicalOlapScan.java | 9 +-
.../operators/plans/physical/PhysicalOperator.java | 2 +-
.../operators/plans/physical/PhysicalProject.java | 10 +-
.../operators/plans/physical/PhysicalScan.java | 2 +-
.../operators/plans/physical/PhysicalSort.java | 9 +-
.../plans/physical/PhysicalUnaryOperator.java | 17 +-
.../doris/nereids/parser/LogicalPlanBuilder.java | 16 +-
.../nereids/pattern/GroupExpressionMatching.java | 15 +-
.../doris/nereids/pattern/GroupMatching.java | 8 +-
.../doris/nereids/pattern/MatchedAction.java | 8 +-
.../doris/nereids/pattern/MatchingContext.java | 8 +-
.../org/apache/doris/nereids/pattern/Pattern.java | 44 +-
.../doris/nereids/pattern/PatternDescriptor.java | 18 +-
.../doris/nereids/pattern/PatternMatcher.java | 12 +-
.../org/apache/doris/nereids/pattern/Patterns.java | 254 +++----
.../apache/doris/nereids/pattern/TypePattern.java | 57 ++
.../nereids/pattern/generator/JavaAstBuilder.java | 445 ++++++++++++
.../generator/LogicalBinaryPatternGenerator.java | 65 ++
.../generator/LogicalLeafPatternGenerator.java | 82 +++
.../generator/LogicalUnaryPatternGenerator.java | 65 ++
.../generator/PatternDescribable.java} | 15 +-
.../generator/PatternDescribableProcessPoint.java} | 9 +-
.../generator/PatternDescribableProcessor.java | 157 +++++
.../pattern/generator/PatternGenerator.java | 325 +++++++++
.../generator/PatternGeneratorAnalyzer.java | 226 ++++++
.../generator/PhysicalBinaryPatternGenerator.java | 66 ++
.../generator/PhysicalLeafPatternGenerator.java | 64 ++
.../generator/PhysicalUnaryPatternGenerator.java | 65 ++
.../generator/javaast/ClassDeclaration.java | 88 +++
.../javaast/ClassOrInterfaceModifier.java | 57 ++
.../generator/javaast/ClassOrInterfaceType.java} | 24 +-
.../generator/javaast/EnumConstant.java} | 19 +-
.../pattern/generator/javaast/EnumDeclaration.java | 67 ++
.../generator/javaast/FieldDeclaration.java} | 22 +-
.../javaast/IdentifyTypeArgumentsPair.java} | 36 +-
.../generator/javaast/ImportDeclaration.java} | 29 +-
.../generator/javaast/InterfaceDeclaration.java | 68 ++
.../generator/javaast/JavaAstNode.java} | 9 +-
.../generator/javaast/MemberDeclaration.java} | 9 +-
.../generator/javaast/MethodDeclaration.java} | 25 +-
.../generator/javaast/QualifiedName.java} | 38 +-
.../pattern/generator/javaast/TypeArgument.java | 53 ++
.../generator/javaast/TypeArguments.java} | 24 +-
.../generator/javaast/TypeBound.java} | 24 +-
.../pattern/generator/javaast/TypeDeclaration.java | 56 ++
.../generator/javaast/TypeParameter.java} | 32 +-
.../generator/javaast/TypeParameters.java} | 24 +-
.../generator/javaast/TypeType.java} | 37 +-
.../generator/javaast/TypeTypeOrVoid.java} | 25 +-
.../generator/javaast/VariableDeclarator.java} | 21 +-
.../generator/javaast/VariableDeclaratorId.java} | 25 +-
.../generator/javaast/VariableDeclarators.java} | 24 +-
.../apache/doris/nereids/rules/OneRuleFactory.java | 2 +-
.../java/org/apache/doris/nereids/rules/Rule.java | 8 +-
.../apache/doris/nereids/rules/RuleFactory.java | 4 +-
.../org/apache/doris/nereids/rules/RuleSet.java | 2 +-
.../rules/exploration/join/JoinExchange.java | 6 +-
.../rules/exploration/join/JoinLAsscom.java | 4 +-
.../doris/nereids/trees/AbstractTreeNode.java | 32 +-
.../org/apache/doris/nereids/trees/BinaryNode.java | 6 +-
.../org/apache/doris/nereids/trees/LeafNode.java | 2 +-
.../org/apache/doris/nereids/trees/TreeNode.java | 10 +-
.../org/apache/doris/nereids/trees/UnaryNode.java | 6 +-
.../doris/nereids/trees/expressions/Alias.java | 4 +-
.../trees/expressions/BinaryExpression.java | 7 +-
.../trees/expressions/ComparisonPredicate.java | 3 +-
.../doris/nereids/trees/expressions/EqualTo.java | 5 +-
.../nereids/trees/expressions/Expression.java | 6 +-
.../trees/expressions/FunctionCallExpression.java | 8 +-
.../nereids/trees/expressions/GreaterThan.java | 5 +-
.../trees/expressions/GreaterThanEqual.java | 5 +-
.../nereids/trees/expressions/LeafExpression.java | 2 +-
.../doris/nereids/trees/expressions/LessThan.java | 5 +-
.../nereids/trees/expressions/LessThanEqual.java | 5 +-
.../doris/nereids/trees/expressions/Literal.java | 2 +-
.../nereids/trees/expressions/NamedExpression.java | 2 +-
.../doris/nereids/trees/expressions/Not.java | 12 +-
.../doris/nereids/trees/expressions/Slot.java | 3 +-
.../nereids/trees/expressions/SlotReference.java | 2 +-
.../nereids/trees/expressions/UnaryExpression.java | 6 +-
.../doris/nereids/trees/plans/AbstractPlan.java | 19 +-
.../doris/nereids/trees/plans/BinaryPlan.java | 25 +-
.../apache/doris/nereids/trees/plans/LeafPlan.java | 12 +-
.../trees/plans/PhysicalPlanTranslator.java | 47 +-
.../doris/nereids/trees/plans/PlaceHolderPlan.java | 12 +-
.../org/apache/doris/nereids/trees/plans/Plan.java | 12 +-
.../apache/doris/nereids/trees/plans/Plans.java | 36 +-
.../doris/nereids/trees/plans/UnaryPlan.java | 19 +-
.../trees/plans/logical/AbstractLogicalPlan.java | 7 +-
.../{LogicalBinary.java => LogicalBinaryPlan.java} | 18 +-
.../{LogicalLeaf.java => LogicalLeafPlan.java} | 16 +-
.../nereids/trees/plans/logical/LogicalPlan.java | 9 +-
.../{LogicalUnary.java => LogicalUnaryPlan.java} | 15 +-
.../trees/plans/physical/AbstractPhysicalPlan.java | 8 +-
...PhysicalBinary.java => PhysicalBinaryPlan.java} | 19 +-
.../{PhysicalLeaf.java => PhysicalLeafPlan.java} | 16 +-
.../nereids/trees/plans/physical/PhysicalPlan.java | 14 +-
.../{PhysicalUnary.java => PhysicalUnaryPlan.java} | 17 +-
134 files changed, 3849 insertions(+), 898 deletions(-)
create mode 100644
fe/fe-core/src/main/antlr4/org/apache/doris/nereids/JavaLexer.g4
create mode 100644
fe/fe-core/src/main/antlr4/org/apache/doris/nereids/JavaParser.g4
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/TypePattern.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/JavaAstBuilder.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/LogicalBinaryPatternGenerator.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/LogicalLeafPatternGenerator.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/LogicalUnaryPatternGenerator.java
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/expressions/LeafExpression.java
=> pattern/generator/PatternDescribable.java} (68%)
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{operators/plans/LeafPlanOperator.java
=> pattern/generator/PatternDescribableProcessPoint.java} (79%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternDescribableProcessor.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGenerator.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGeneratorAnalyzer.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PhysicalBinaryPatternGenerator.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PhysicalLeafPatternGenerator.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PhysicalUnaryPatternGenerator.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/ClassDeclaration.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/ClassOrInterfaceModifier.java
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{rules/OneRuleFactory.java =>
pattern/generator/javaast/ClassOrInterfaceType.java} (62%)
copy fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/LeafNode.java =>
pattern/generator/javaast/EnumConstant.java} (71%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/EnumDeclaration.java
copy fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/UnaryNode.java
=> pattern/generator/javaast/FieldDeclaration.java} (62%)
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/expressions/Slot.java
=> pattern/generator/javaast/IdentifyTypeArgumentsPair.java} (55%)
copy fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/BinaryNode.java
=> pattern/generator/javaast/ImportDeclaration.java} (57%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/InterfaceDeclaration.java
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{operators/plans/LeafPlanOperator.java
=> pattern/generator/javaast/JavaAstNode.java} (79%)
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{operators/plans/LeafPlanOperator.java
=> pattern/generator/javaast/MemberDeclaration.java} (79%)
copy fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/UnaryNode.java
=> pattern/generator/javaast/MethodDeclaration.java} (57%)
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{rules/OneRuleFactory.java =>
pattern/generator/javaast/QualifiedName.java} (51%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeArgument.java
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{rules/OneRuleFactory.java =>
pattern/generator/javaast/TypeArguments.java} (66%)
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{rules/OneRuleFactory.java =>
pattern/generator/javaast/TypeBound.java} (69%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeDeclaration.java
copy fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/BinaryNode.java
=> pattern/generator/javaast/TypeParameter.java} (58%)
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{rules/OneRuleFactory.java =>
pattern/generator/javaast/TypeParameters.java} (66%)
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/expressions/Slot.java
=> pattern/generator/javaast/TypeType.java} (54%)
copy fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/UnaryNode.java
=> pattern/generator/javaast/TypeTypeOrVoid.java} (63%)
copy fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/UnaryNode.java
=> pattern/generator/javaast/VariableDeclarator.java} (66%)
copy fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/UnaryNode.java
=> pattern/generator/javaast/VariableDeclaratorId.java} (61%)
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/{rules/OneRuleFactory.java =>
pattern/generator/javaast/VariableDeclarators.java} (63%)
rename
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/{LogicalBinary.java
=> LogicalBinaryPlan.java} (70%)
rename
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/{LogicalLeaf.java
=> LogicalLeafPlan.java} (73%)
rename
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/{LogicalUnary.java
=> LogicalUnaryPlan.java} (71%)
rename
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/{PhysicalBinary.java
=> PhysicalBinaryPlan.java} (71%)
rename
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/{PhysicalLeaf.java
=> PhysicalLeafPlan.java} (72%)
rename
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/{PhysicalUnary.java
=> PhysicalUnaryPlan.java} (69%)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]