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: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org