This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a change to branch 2.1-tmp
in repository https://gitbox.apache.org/repos/asf/doris.git


    from 6c5dd820c0a [improvement](spill) improve spill timers (#33156)
     new ff990eb8693 [enhancement](Nereids) refactor expression rewriter to 
pattern match (#32617)
     new 38d580dfb79 [fix](Nereids) fix link children failed (#33134)
     new cc363f26c26 [fix](Nereids) fix group concat (#33091)
     new 9bc7902e5a0 [fix](Nereids) fix bind group by int literal (#33117)

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 be/src/pipeline/pipeline_fragment_context.cpp      |   9 +-
 .../pipeline_x/pipeline_x_fragment_context.cpp     |  11 +-
 be/src/runtime/descriptors.h                       |   5 +
 be/src/vec/exec/vaggregation_node.h                |   1 +
 fe/fe-core/pom.xml                                 |   2 +-
 .../org/apache/doris/analysis/DateLiteral.java     |   9 +-
 .../java/org/apache/doris/catalog/OlapTable.java   |   5 +-
 .../org/apache/doris/mtmv/MTMVRelationManager.java |   4 +-
 .../org/apache/doris/mysql/privilege/Role.java     |   4 +-
 .../org/apache/doris/nereids/CascadesContext.java  |  49 +++-
 .../org/apache/doris/nereids/NereidsPlanner.java   |   2 +-
 .../org/apache/doris/nereids/StatementContext.java |  15 ++
 .../org/apache/doris/nereids/analyzer/Scope.java   |  19 +-
 .../java/org/apache/doris/nereids/jobs/Job.java    |  11 +-
 .../doris/nereids/jobs/executor/Analyzer.java      |   2 -
 .../doris/nereids/jobs/executor/Rewriter.java      |   7 +-
 .../jobs/joinorder/hypergraph/HyperGraph.java      |  11 +-
 .../nereids/jobs/rewrite/CustomRewriteJob.java     |   6 +-
 .../jobs/rewrite/PlanTreeRewriteBottomUpJob.java   | 113 ++++++----
 .../nereids/jobs/rewrite/PlanTreeRewriteJob.java   |  65 ++++--
 .../jobs/rewrite/PlanTreeRewriteTopDownJob.java    |  41 +++-
 .../nereids/jobs/rewrite/RewriteJobContext.java    |  10 +-
 .../jobs/rewrite/RootPlanTreeRewriteJob.java       |  16 +-
 .../java/org/apache/doris/nereids/memo/Group.java  |  22 +-
 .../apache/doris/nereids/memo/GroupExpression.java |   5 +
 .../nereids/pattern/ExpressionPatternRules.java    | 112 +++++++++
 .../ExpressionPatternTraverseListeners.java        | 112 +++++++++
 .../doris/nereids/pattern/ParentTypeIdMapping.java |  59 +++++
 .../org/apache/doris/nereids/pattern/Pattern.java  |   4 +
 .../apache/doris/nereids/pattern/TypeMappings.java | 133 +++++++++++
 .../generator/ExpressionTypeMappingGenerator.java  | 159 +++++++++++++
 ...GeneratorAnalyzer.java => JavaAstAnalyzer.java} |  93 ++++----
 .../generator/LogicalBinaryPatternGenerator.java   |   4 +-
 .../generator/LogicalLeafPatternGenerator.java     |   4 +-
 .../generator/LogicalUnaryPatternGenerator.java    |   4 +-
 .../generator/PatternDescribableProcessor.java     |  34 ++-
 .../generator/PhysicalBinaryPatternGenerator.java  |   4 +-
 .../generator/PhysicalLeafPatternGenerator.java    |   4 +-
 .../generator/PhysicalUnaryPatternGenerator.java   |   4 +-
 ...ernGenerator.java => PlanPatternGenerator.java} |  18 +-
 .../generator/PlanPatternGeneratorAnalyzer.java    |  73 ++++++
 .../generator/PlanTypeMappingGenerator.java        | 159 +++++++++++++
 .../processor/post/RuntimeFilterPruner.java        |  17 +-
 .../doris/nereids/processor/post/Validator.java    |  10 +-
 .../properties/ChildrenPropertiesRegulator.java    |   4 +-
 .../nereids/properties/FunctionalDependencies.java |  24 +-
 .../nereids/properties/LogicalProperties.java      |  50 +++--
 .../nereids/properties/PhysicalProperties.java     |   6 +-
 .../java/org/apache/doris/nereids/rules/Rule.java  |   6 +-
 .../org/apache/doris/nereids/rules/RuleSet.java    |   4 +-
 .../AdjustAggregateNullableForEmptySet.java        |  29 ++-
 .../nereids/rules/analysis/BindExpression.java     |  61 +++--
 .../nereids/rules/analysis/BindSlotWithPaths.java  |  29 +--
 .../nereids/rules/analysis/CheckAfterRewrite.java  |  85 +++----
 .../nereids/rules/analysis/CheckAnalysis.java      |  36 +--
 .../rules/analysis/EliminateGroupByConstant.java   |   2 +-
 .../nereids/rules/analysis/ExpressionAnalyzer.java |   2 +-
 .../nereids/rules/analysis/FillUpMissingSlots.java |  21 +-
 .../nereids/rules/analysis/NormalizeAggregate.java |  48 ++--
 .../analysis/ReplaceExpressionByChildOutput.java   |  48 ++--
 .../ResolveOrdinalInOrderByAndGroupBy.java         | 102 ---------
 .../nereids/rules/analysis/SubqueryToApply.java    |  77 +++++--
 .../mv/AbstractMaterializedViewRule.java           |  15 +-
 .../mv/InitMaterializationContextHook.java         |   4 +-
 .../exploration/mv/MaterializationContext.java     |   8 +-
 .../nereids/rules/exploration/mv/StructInfo.java   |  20 +-
 .../expression/ExpressionBottomUpRewriter.java     | 124 ++++++++++
 .../expression/ExpressionListenerMatcher.java      |  41 ++++
 ...eContext.java => ExpressionMatchingAction.java} |  16 +-
 ...Context.java => ExpressionMatchingContext.java} |  25 ++-
 .../rules/expression/ExpressionNormalization.java  |  29 +--
 ...=> ExpressionNormalizationAndOptimization.java} |  22 +-
 .../rules/expression/ExpressionOptimization.java   |  26 ++-
 .../expression/ExpressionPatternMatchRule.java     |  64 ++++++
 .../rules/expression/ExpressionPatternMatcher.java |  41 ++++
 .../expression/ExpressionPatternRuleFactory.java   |  84 +++++++
 .../rules/expression/ExpressionRewrite.java        |  51 ++++-
 .../rules/expression/ExpressionRewriteContext.java |   4 +-
 .../rules/expression/ExpressionRuleExecutor.java   |  16 +-
 ...ontext.java => ExpressionTraverseListener.java} |  16 +-
 .../ExpressionTraverseListenerFactory.java         |  79 +++++++
 .../ExpressionTraverseListenerMapping.java         |  59 +++++
 .../nereids/rules/expression/check/CheckCast.java  |  24 +-
 .../rules/ArrayContainToArrayOverlap.java          |  94 +++++---
 .../rules/expression/rules/CaseWhenToIf.java       |  18 +-
 .../expression/rules/ConvertAggStateCast.java      |  33 ++-
 .../expression/rules/DateFunctionRewrite.java      |  34 ++-
 .../expression/rules/DigitalMaskingConvert.java    |  23 +-
 .../expression/rules/DistinctPredicatesRule.java   |  18 +-
 .../expression/rules/ExtractCommonFactorRule.java  | 222 +++++++++++++++---
 .../rules/expression/rules/FoldConstantRule.java   |  32 ++-
 .../expression/rules/FoldConstantRuleOnBE.java     |  46 ++--
 .../expression/rules/FoldConstantRuleOnFE.java     | 170 ++++++++++++--
 .../rules/expression/rules/InPredicateDedup.java   |  40 ++--
 .../expression/rules/InPredicateToEqualToRule.java |  25 ++-
 .../rules/NormalizeBinaryPredicatesRule.java       |  21 +-
 .../expression/rules/NullSafeEqualToEqual.java     |  21 +-
 .../rules/OneListPartitionEvaluator.java           |   2 +-
 .../rules/OneRangePartitionEvaluator.java          | 120 ++++++----
 .../nereids/rules/expression/rules/OrToIn.java     |  36 +--
 .../rules/expression/rules/PartitionPruner.java    |  23 +-
 .../expression/rules/PartitionRangeExpander.java   | 115 ++++++----
 .../rules/PredicateRewriteForPartitionPrune.java   |   4 +-
 .../rules/RangePartitionValueIterator.java         |  64 ++++++
 .../expression/rules/ReplaceVariableByLiteral.java |  17 +-
 .../rules/SimplifyArithmeticComparisonRule.java    | 105 +++++----
 .../expression/rules/SimplifyArithmeticRule.java   |  70 +++---
 .../rules/expression/rules/SimplifyCastRule.java   |  21 +-
 .../rules/SimplifyComparisonPredicate.java         |  37 ++-
 .../rules/SimplifyDecimalV3Comparison.java         |  24 +-
 .../expression/rules/SimplifyInPredicate.java      |  20 +-
 .../expression/rules/SimplifyNotExprRule.java      |  34 ++-
 .../rules/expression/rules/SimplifyRange.java      |  73 +++---
 .../expression/rules/SupportJavaDateFormatter.java |  44 ++--
 .../nereids/rules/expression/rules/TopnToMax.java  |  29 ++-
 .../rules/TryEliminateUninterestedPredicates.java  |  14 +-
 .../rules/implementation/AggregateStrategies.java  |  34 ++-
 .../rules/rewrite/AdjustConjunctsReturnType.java   |   4 +-
 .../nereids/rules/rewrite/AdjustNullable.java      |  12 +-
 .../rules/rewrite/CheckMatchExpression.java        |   7 +-
 .../nereids/rules/rewrite/CheckPrivileges.java     |  29 ++-
 .../doris/nereids/rules/rewrite/ColumnPruning.java |  98 ++++----
 .../rules/rewrite/CountDistinctRewrite.java        |  60 ++---
 .../nereids/rules/rewrite/CountLiteralRewrite.java |  37 ++-
 .../nereids/rules/rewrite/EliminateFilter.java     |   7 +-
 .../nereids/rules/rewrite/EliminateGroupBy.java    |  56 +++--
 .../nereids/rules/rewrite/EliminateMarkJoin.java   |  17 +-
 .../nereids/rules/rewrite/EliminateNotNull.java    |  39 ++--
 .../rules/rewrite/EliminateOrderByConstant.java    |  16 +-
 .../ExtractAndNormalizeWindowExpression.java       | 161 +++++++------
 ...xtractSingleTableExpressionFromDisjunction.java |   9 +-
 .../nereids/rules/rewrite/InferJoinNotNull.java    |   4 +-
 .../nereids/rules/rewrite/MergeAggregate.java      |   2 +-
 .../doris/nereids/rules/rewrite/MergeProjects.java |  10 +-
 .../doris/nereids/rules/rewrite/NormalizeSort.java |  59 +++--
 .../nereids/rules/rewrite/NormalizeToSlot.java     |  43 ++--
 .../rules/rewrite/PruneOlapScanPartition.java      |  51 +++--
 .../nereids/rules/rewrite/PullUpPredicates.java    |  75 ++++---
 .../rewrite/PushDownFilterThroughAggregation.java  |  12 +-
 .../rewrite/PushDownFilterThroughProject.java      |  13 +-
 .../doris/nereids/rules/rewrite/ReorderJoin.java   |   6 +-
 .../nereids/rules/rewrite/SimplifyAggGroupBy.java  |  23 +-
 .../mv/AbstractSelectMaterializedIndexRule.java    |  15 +-
 .../mv/SelectMaterializedIndexWithAggregate.java   |   9 +-
 .../SelectMaterializedIndexWithoutAggregate.java   |  45 ++--
 .../doris/nereids/stats/StatsCalculator.java       |  11 +-
 .../doris/nereids/trees/AbstractTreeNode.java      |  22 +-
 .../org/apache/doris/nereids/trees/TreeNode.java   |  17 ++
 .../nereids/trees/expressions/BinaryOperator.java  |   6 -
 .../trees/expressions/ComparisonPredicate.java     |   4 +-
 .../nereids/trees/expressions/Expression.java      |  99 +++++---
 .../nereids/trees/expressions/InPredicate.java     |   5 +-
 .../nereids/trees/expressions/SlotReference.java   |   7 +-
 .../functions/ComputeSignatureHelper.java          |  11 +-
 .../functions/agg/AggregateFunction.java           |  17 +-
 .../scalar/PushDownToProjectionFunction.java       |   7 +-
 .../trees/expressions/literal/DateLiteral.java     |  39 +++-
 .../visitor/DefaultExpressionRewriter.java         |  10 +-
 .../doris/nereids/trees/plans/AbstractPlan.java    |  28 +--
 .../org/apache/doris/nereids/trees/plans/Plan.java |  61 +++--
 .../nereids/trees/plans/algebra/Aggregate.java     |  17 +-
 .../doris/nereids/trees/plans/algebra/Project.java |  27 ++-
 .../trees/plans/logical/LogicalAggregate.java      |   8 +-
 .../plans/logical/LogicalCatalogRelation.java      | 132 ++++++-----
 .../trees/plans/logical/LogicalOlapScan.java       |  65 ++++--
 .../trees/plans/logical/LogicalProject.java        |   8 +-
 .../nereids/trees/plans/logical/LogicalSort.java   |  19 +-
 .../nereids/trees/plans/logical/LogicalTopN.java   |  13 +-
 .../trees/plans/physical/PhysicalHashJoin.java     |   3 +-
 .../apache/doris/nereids/util/ExpressionUtils.java | 250 ++++++++++++++++-----
 .../doris/nereids/util/ImmutableEqualSet.java      |   6 +-
 .../org/apache/doris/nereids/util/JoinUtils.java   |   5 +-
 .../org/apache/doris/nereids/util/PlanUtils.java   |  24 ++
 .../doris/nereids/util/TypeCoercionUtils.java      |  19 +-
 .../java/org/apache/doris/nereids/util/Utils.java  |  65 +++++-
 .../java/org/apache/doris/qe/SessionVariable.java  |  38 +++-
 .../jobs/joinorder/hypergraph/HyperGraphTest.java  |  12 +-
 .../rules/expression/ExpressionRewriteTest.java    |  80 +++++--
 .../expression/ExpressionRewriteTestHelper.java    |   2 +-
 .../nereids/rules/expression/FoldConstantTest.java |  36 ++-
 .../rules/expression/PredicatesSplitterTest.java   |   2 +-
 .../expression/SimplifyArithmeticRuleTest.java     |  56 +++--
 .../rules/expression/SimplifyInPredicateTest.java  |   8 +-
 .../rules/expression/SimplifyRangeTest.java        |  26 ++-
 .../expression/rules/NullSafeEqualToEqualTest.java |  20 +-
 .../SimplifyArithmeticComparisonRuleTest.java      |   7 +-
 .../expression/rules/SimplifyCastRuleTest.java     |   7 +-
 .../rules/SimplifyComparisonPredicateTest.java     |  35 ++-
 .../rules/SimplifyDecimalV3ComparisonTest.java     |   6 +-
 .../rules/expression/rules/TopnToMaxTest.java      |   4 +-
 .../rules/rewrite/EliminateJoinByFkTest.java       |   1 +
 .../doris/nereids/rules/rewrite/OrToInTest.java    |  19 +-
 .../PushDownFilterThroughAggregationTest.java      |   4 +-
 .../functions/ComputeSignatureHelperTest.java      |  11 +
 .../nereids/trees/plans/SetOperationTest.java      |  38 ++++
 .../org/apache/doris/nereids/util/PlanChecker.java |  20 ++
 .../data/nereids_hint_tpcds_p0/shape/query24.out   |  10 +-
 .../data/nereids_hint_tpcds_p0/shape/query64.out   |   2 +-
 .../filter_push_down/push_filter_through.out       |  28 +--
 .../data/nereids_syntax_p0/bind_priority.out       |   6 +
 .../shape/query13.out                              |   2 +-
 .../shape/query14.out                              |   2 +-
 .../shape/query24.out                              |   4 +-
 .../shape/query41.out                              |   2 +-
 .../shape/query50.out                              |   2 +-
 .../shape/query64.out                              |   2 +-
 .../shape/query85.out                              |   2 +-
 .../shape/query95.out                              |   2 +-
 .../noStatsRfPrune/query13.out                     |   2 +-
 .../noStatsRfPrune/query17.out                     |   2 +-
 .../noStatsRfPrune/query41.out                     |   2 +-
 .../noStatsRfPrune/query47.out                     |   7 +-
 .../noStatsRfPrune/query50.out                     |   2 +-
 .../noStatsRfPrune/query57.out                     |   7 +-
 .../noStatsRfPrune/query6.out                      |  57 +++--
 .../noStatsRfPrune/query65.out                     |   2 +-
 .../no_stats_shape/query13.out                     |   2 +-
 .../no_stats_shape/query14.out                     |   2 +-
 .../no_stats_shape/query17.out                     |   2 +-
 .../no_stats_shape/query24.out                     |   2 +-
 .../no_stats_shape/query41.out                     |   2 +-
 .../no_stats_shape/query47.out                     |   7 +-
 .../no_stats_shape/query50.out                     |   2 +-
 .../no_stats_shape/query57.out                     |   7 +-
 .../no_stats_shape/query6.out                      |  57 +++--
 .../no_stats_shape/query64.out                     |   2 +-
 .../no_stats_shape/query65.out                     |   2 +-
 .../no_stats_shape/query85.out                     |   6 +-
 .../rf_prune/query13.out                           |   2 +-
 .../rf_prune/query14.out                           |   2 +-
 .../rf_prune/query41.out                           |   2 +-
 .../rf_prune/query50.out                           |   2 +-
 .../rf_prune/query85.out                           |   2 +-
 .../rf_prune/query95.out                           |   2 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query13.out |   2 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query14.out |   2 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query24.out |   4 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query41.out |   2 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query50.out |   2 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query64.out |   2 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query85.out |   2 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query95.out |   2 +-
 .../data/nereids_tpch_shape_sf1000_p0/shape/q9.out |   2 +-
 .../shape_no_stats/q9.out                          |   2 +-
 .../org/apache/doris/regression/suite/Suite.groovy |   7 +-
 .../doris/regression/util/OutputUtils.groovy       |  28 ++-
 .../doris/regression/util/ReusableIterator.groovy  |   7 +
 .../suites/nereids_syntax_p0/bind_priority.groovy  |  28 +++
 248 files changed, 5153 insertions(+), 2081 deletions(-)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/ExpressionPatternRules.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/ExpressionPatternTraverseListeners.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/ParentTypeIdMapping.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/TypeMappings.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/ExpressionTypeMappingGenerator.java
 rename 
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/{PatternGeneratorAnalyzer.java
 => JavaAstAnalyzer.java} (75%)
 rename 
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/{PatternGenerator.java
 => PlanPatternGenerator.java} (96%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PlanPatternGeneratorAnalyzer.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PlanTypeMappingGenerator.java
 delete mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/ResolveOrdinalInOrderByAndGroupBy.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionBottomUpRewriter.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionListenerMatcher.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/{ExpressionRewriteContext.java
 => ExpressionMatchingAction.java} (73%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/{ExpressionRewriteContext.java
 => ExpressionMatchingContext.java} (55%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/{ExpressionRewriteContext.java
 => ExpressionNormalizationAndOptimization.java} (59%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionPatternMatchRule.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionPatternMatcher.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionPatternRuleFactory.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/{ExpressionRewriteContext.java
 => ExpressionTraverseListener.java} (66%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionTraverseListenerFactory.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionTraverseListenerMapping.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/RangePartitionValueIterator.java


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to