You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2023/06/14 07:57:51 UTC

[doris] branch master updated (0f470fec0e -> 54d42244fe)

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

morrysnow pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


    from 0f470fec0e [Bug](topn opt) Fix Two-Phase read when some rowset swept (#20732)
     add 54d42244fe [feature](Nereids) add cbo rewrite framework (#20746)

No new revisions were added by this update.

Summary of changes:
 .../doris/nereids/{analyzer => }/CTEContext.java   |  32 +--
 .../org/apache/doris/nereids/CascadesContext.java  |  62 +++--
 .../org/apache/doris/nereids/NereidsPlanner.java   |  67 +-----
 .../java/org/apache/doris/nereids/PlanContext.java |   1 +
 .../java/org/apache/doris/nereids/PlanSource.java  |  22 --
 .../org/apache/doris/nereids/analyzer/Scope.java   |  21 +-
 .../org/apache/doris/nereids/jobs/JobContext.java  |  17 ++
 .../nereids/jobs/batch/CascadesOptimizer.java      |  42 ----
 .../batch/CheckLegalityBeforeTypeCoercion.java     |  34 ---
 .../AbstractBatchJobExecutor.java}                 |  47 ++--
 .../executor/Analyzer.java}                        |  12 +-
 .../doris/nereids/jobs/executor/Optimizer.java     |  98 ++++++++
 .../Rewriter.java}                                 | 254 ++++++++++-----------
 .../nereids/jobs/rewrite/CostBasedRewriteJob.java  |  90 ++++++++
 .../nereids/jobs/rewrite/CustomRewriteJob.java     |   3 +-
 .../jobs/rewrite/PlanTreeRewriteBottomUpJob.java   |   6 +-
 .../nereids/jobs/rewrite/PlanTreeRewriteJob.java   |  15 +-
 .../jobs/rewrite/PlanTreeRewriteTopDownJob.java    |   5 +-
 .../nereids/jobs/rewrite/RewriteBottomUpJob.java   |   2 +
 .../nereids/jobs/{ => rewrite}/RewriteJob.java     |   5 +-
 .../nereids/jobs/rewrite/RewriteJobContext.java    |   1 +
 .../nereids/jobs/rewrite/RewriteTopDownJob.java    |   2 +
 .../jobs/rewrite/RootPlanTreeRewriteJob.java       |  74 +-----
 .../jobs/{ => rewrite}/TopicRewriteJob.java        |  10 +-
 .../java/org/apache/doris/nereids/memo/Memo.java   |   2 +-
 .../doris/nereids/pattern/MatchingContext.java     |   2 +-
 .../org/apache/doris/nereids/rules/ProxyRule.java  |  45 ----
 .../org/apache/doris/nereids/rules/RuleSet.java    |  43 ++--
 .../doris/nereids/rules/analysis/BindRelation.java |   2 +-
 .../nereids/rules/analysis/NormalizeRepeat.java    |   4 +-
 .../doris/nereids/rules/analysis/RegisterCTE.java  |  10 +-
 .../nereids/rules/analysis/SubExprAnalyzer.java    |   2 +-
 .../rules/exploration/MergeProjectsCBO.java        |   2 +-
 .../rules/exploration/TransposeAggSemiJoin.java    |   2 +-
 .../exploration/TransposeAggSemiJoinProject.java   |   2 +-
 .../expression}/CheckLegalityAfterRewrite.java     |   4 +-
 .../rules/implementation/AggregateStrategies.java  |   2 +-
 .../LogicalWindowToPhysicalWindow.java             |   4 +-
 .../rewrite/{logical => }/AdjustNullable.java      |   2 +-
 .../AggScalarSubQueryToWindowFunction.java         |   2 +-
 .../rewrite/{logical => }/BuildAggForUnion.java    |   3 +-
 .../BuildCTEAnchorAndCTEProducer.java              |   3 +-
 .../rewrite/{logical => }/CTEProducerRewrite.java  |   9 +-
 .../CheckAndStandardizeWindowFunctionAndFrame.java |   3 +-
 .../rewrite/{logical => }/CheckDataTypes.java      |   2 +-
 .../rules/rewrite/{logical => }/ColumnPruning.java |   4 +-
 .../{logical => }/ConvertInnerOrCrossJoin.java     |   3 +-
 .../{logical => }/CountDistinctRewrite.java        |   3 +-
 .../rewrite/{logical => }/EliminateAggregate.java  |   3 +-
 .../{logical => }/EliminateDedupJoinCondition.java |   3 +-
 .../rewrite/{logical => }/EliminateFilter.java     |   3 +-
 .../{logical => }/EliminateGroupByConstant.java    |   3 +-
 .../rewrite/{logical => }/EliminateLimit.java      |   3 +-
 .../{logical => }/EliminateLimitUnderApply.java    |   3 +-
 .../rewrite/{logical => }/EliminateNotNull.java    |   3 +-
 .../EliminateNullAwareLeftAntiJoin.java            |   3 +-
 .../{logical => }/EliminateOrderByConstant.java    |   3 +-
 .../rewrite/{logical => }/EliminateOuterJoin.java  |   3 +-
 .../{logical => }/EliminateSortUnderApply.java     |   3 +-
 .../{logical => }/EliminateUnnecessaryProject.java |   2 +-
 .../{logical => }/EnsureProjectOnTopJoin.java      |   2 +-
 .../rewrite/{logical => }/ExistsApplyToJoin.java   |   3 +-
 .../ExtractAndNormalizeWindowExpression.java       |   3 +-
 .../{logical => }/ExtractFilterFromCrossJoin.java  |   3 +-
 ...xtractSingleTableExpressionFromDisjunction.java |   3 +-
 .../{logical => }/FindHashConditionForJoin.java    |   3 +-
 .../HideOneRowRelationUnderUnion.java              |   2 +-
 .../rules/rewrite/{logical => }/InApplyToJoin.java |   3 +-
 .../rewrite/{logical => }/InferAggNotNull.java     |   3 +-
 .../rewrite/{logical => }/InferFilterNotNull.java  |   3 +-
 .../rewrite/{logical => }/InferJoinNotNull.java    |   3 +-
 .../rewrite/{logical => }/InferPredicates.java     |   2 +-
 .../rules/rewrite/{logical => }/InlineCTE.java     |  10 +-
 .../rules/rewrite/{logical => }/MergeFilters.java  |   3 +-
 .../rewrite/{logical => }/MergeGenerates.java      |   3 +-
 .../rules/rewrite/{logical => }/MergeLimits.java   |   3 +-
 .../rules/rewrite/{logical => }/MergeProjects.java |   3 +-
 .../rewrite/{logical => }/MergeSetOperations.java  |   3 +-
 .../rules/rewrite/{logical => }/MultiJoin.java     |   2 +-
 .../rewrite/{logical => }/NormalizeAggregate.java  |   3 +-
 .../rules/rewrite/{logical => }/NormalizeSort.java |   3 +-
 .../rewrite/{logical => }/NormalizeToSlot.java     |   2 +-
 .../{logical => }/PredicatePropagation.java        |   2 +-
 .../{logical => }/PruneFileScanPartition.java      |   3 +-
 .../{logical => }/PruneOlapScanPartition.java      |   3 +-
 .../rewrite/{logical => }/PruneOlapScanTablet.java |   3 +-
 ...CorrelatedFilterUnderApplyAggregateProject.java |   3 +-
 .../rewrite/{logical => }/PullUpPredicates.java    |   2 +-
 .../{logical => }/PullUpProjectUnderApply.java     |   3 +-
 .../{logical => }/PushFilterInsideJoin.java        |   3 +-
 .../{logical => }/PushdownAliasIntoUnionAll.java   |   3 +-
 .../{logical => }/PushdownAliasThroughJoin.java    |   3 +-
 .../PushdownExpressionsInHashCondition.java        |   3 +-
 .../PushdownFilterThroughAggregation.java          |   3 +-
 .../{logical => }/PushdownFilterThroughCTE.java    |   3 +-
 .../PushdownFilterThroughCTEAnchor.java            |   3 +-
 .../{logical => }/PushdownFilterThroughJoin.java   |   3 +-
 .../PushdownFilterThroughProject.java              |   3 +-
 .../{logical => }/PushdownFilterThroughRepeat.java |   3 +-
 .../PushdownFilterThroughSetOperation.java         |   3 +-
 .../{logical => }/PushdownFilterThroughSort.java   |   3 +-
 .../{logical => }/PushdownFilterThroughWindow.java |   3 +-
 .../{logical => }/PushdownJoinOtherCondition.java  |   3 +-
 .../rules/rewrite/{logical => }/PushdownLimit.java |   3 +-
 .../{logical => }/PushdownProjectThroughCTE.java   |   3 +-
 .../PushdownProjectThroughCTEAnchor.java           |   3 +-
 .../{logical => }/PushdownProjectThroughLimit.java |   3 +-
 .../{logical => }/PushdownTopNThroughWindow.java   |   3 +-
 .../rules/rewrite/{logical => }/ReorderJoin.java   |   3 +-
 .../rewrite/{logical => }/ScalarApplyToJoin.java   |   3 +-
 .../rewrite/{logical => }/SemiJoinCommute.java     |   3 +-
 .../rewrite/{logical => }/SimplifyAggGroupBy.java  |   3 +-
 .../rules/rewrite/{logical => }/SplitLimit.java    |   3 +-
 .../{logical => }/TransposeSemiJoinAgg.java        |   3 +-
 .../{logical => }/TransposeSemiJoinAggProject.java |   3 +-
 .../TransposeSemiJoinLogicalJoin.java              |   5 +-
 .../TransposeSemiJoinLogicalJoinProject.java       |   3 +-
 .../UnCorrelatedApplyAggregateFilter.java          |   3 +-
 .../{logical => }/UnCorrelatedApplyFilter.java     |   3 +-
 .../UnCorrelatedApplyProjectFilter.java            |   3 +-
 .../{jobs => rules/rewrite}/batch/ApplyToJoin.java |   9 +-
 .../{ => batch}/BatchRewriteRuleFactory.java       |   2 +-
 .../batch/CorrelateApplyToUnCorrelateApply.java    |  13 +-
 .../batch/EliminateUselessPlanUnderApply.java      |   7 +-
 .../logical/AbstractPushDownProjectRule.java       |  52 -----
 .../mv/AbstractSelectMaterializedIndexRule.java    |   2 +-
 .../mv/SelectMaterializedIndexWithAggregate.java   |   2 +-
 .../SelectMaterializedIndexWithoutAggregate.java   |   2 +-
 .../trees/plans/logical/LogicalOlapScan.java       |   2 +-
 .../rules/analysis/AnalyzeWhereSubqueryTest.java   |  18 +-
 .../analysis/CheckExpressionLegalityTest.java      |   2 +-
 .../nereids/rules/analysis/RegisterCTETest.java    |   8 +-
 .../join/InnerJoinLAsscomProjectTest.java          |   2 +-
 .../join/OuterJoinLAsscomProjectTest.java          |   2 +-
 .../AggScalarSubQueryToWindowFunctionTest.java     |   2 +-
 .../{logical => }/AggregateStrategiesTest.java     |   2 +-
 .../CheckAndStandardizeWindowFunctionTest.java     |   2 +-
 .../rewrite/{logical => }/ColumnPruningTest.java   |   2 +-
 .../EliminateDedupJoinConditionTest.java           |   2 +-
 .../rewrite/{logical => }/EliminateFilterTest.java |   2 +-
 .../EliminateGroupByConstantTest.java              |   2 +-
 .../rewrite/{logical => }/EliminateLimitTest.java  |   2 +-
 .../{logical => }/EliminateOuterJoinTest.java      |   2 +-
 .../EliminateUnnecessaryProjectTest.java           |   2 +-
 .../ExtractAndNormalizeWindowExpressionTest.java   |   2 +-
 .../ExtractFilterFromCrossJoinTest.java            |   2 +-
 ...ctSingleTableExpressionFromDisjunctionTest.java |   2 +-
 .../FindHashConditionForJoinTest.java              |   2 +-
 .../rewrite/{logical => }/InferAggNotNullTest.java |   2 +-
 .../{logical => }/InferFilterNotNullTest.java      |   2 +-
 .../{logical => }/InferJoinNotNullTest.java        |   2 +-
 .../rewrite/{logical => }/InferPredicatesTest.java |   2 +-
 .../rewrite/{logical => }/MergeFiltersTest.java    |   2 +-
 .../rewrite/{logical => }/MergeLimitsTest.java     |   2 +-
 .../rewrite/{logical => }/MergeProjectsTest.java   |   2 +-
 .../{logical => }/NormalizeAggregateTest.java      |   2 +-
 .../PhysicalStorageLayerAggregateTest.java         |   2 +-
 .../{logical => }/PruneOlapScanPartitionTest.java  |   2 +-
 .../{logical => }/PruneOlapScanTabletTest.java     |   2 +-
 .../{logical => }/PushFilterInsideJoinTest.java    |   2 +-
 .../PushdownAliasThroughJoinTest.java              |   2 +-
 .../PushdownExpressionsInHashConditionTest.java    |   2 +-
 .../PushdownFilterThroughAggregationTest.java      |   2 +-
 .../PushdownFilterThroughJoinTest.java             |   2 +-
 .../PushdownFilterThroughSortTest.java             |   2 +-
 .../PushdownFilterThroughWindowTest.java           |   2 +-
 .../PushdownJoinOtherConditionTest.java            |   2 +-
 .../rewrite/{logical => }/PushdownLimitTest.java   |   2 +-
 .../PushdownProjectThroughLimitTest.java           |   2 +-
 .../rewrite/{logical => }/ReorderJoinTest.java     |   2 +-
 .../{logical => }/SimplifyAggGroupByTest.java      |   2 +-
 .../rewrite/{logical => }/SplitLimitTest.java      |   2 +-
 .../TransposeSemiJoinAggProjectTest.java           |   2 +-
 .../{logical => }/TransposeSemiJoinAggTest.java    |   2 +-
 .../TransposeSemiJoinLogicalJoinProjectTest.java   |   2 +-
 .../TransposeSemiJoinLogicalJoinTest.java          |   2 +-
 .../mv/BaseMaterializedIndexSelectTest.java        |   2 +-
 .../rules/{ => rewrite}/mv/SelectMvIndexTest.java  |   2 +-
 .../{ => rewrite}/mv/SelectRollupIndexTest.java    |   4 +-
 .../org/apache/doris/nereids/sqltest/JoinTest.java |   4 +-
 .../doris/nereids/sqltest/MultiJoinTest.java       |   2 +-
 .../doris/nereids/trees/expressions/ViewTest.java  |   2 +-
 .../org/apache/doris/nereids/util/PlanChecker.java |   8 +-
 183 files changed, 643 insertions(+), 887 deletions(-)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer => }/CTEContext.java (76%)
 delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/PlanSource.java
 delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/batch/CascadesOptimizer.java
 delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/batch/CheckLegalityBeforeTypeCoercion.java
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/{batch/BatchRewriteJob.java => executor/AbstractBatchJobExecutor.java} (70%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/NereidsAnalyzer.java => jobs/executor/Analyzer.java} (92%)
 create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/executor/Optimizer.java
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/{batch/NereidsRewriter.java => executor/Rewriter.java} (57%)
 create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/rewrite/CostBasedRewriteJob.java
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/{ => rewrite}/RewriteJob.java (90%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/{ => rewrite}/TopicRewriteJob.java (85%)
 delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/ProxyRule.java
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/{jobs/batch => rules/expression}/CheckLegalityAfterRewrite.java (86%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/AdjustNullable.java (99%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/AggScalarSubQueryToWindowFunction.java (99%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/BuildAggForUnion.java (92%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/BuildCTEAnchorAndCTEProducer.java (95%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/CTEProducerRewrite.java (93%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/CheckAndStandardizeWindowFunctionAndFrame.java (95%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/CheckDataTypes.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ColumnPruning.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ConvertInnerOrCrossJoin.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/CountDistinctRewrite.java (95%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateAggregate.java (95%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateDedupJoinCondition.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateFilter.java (95%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateGroupByConstant.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateLimit.java (91%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateLimitUnderApply.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateNotNull.java (97%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateNullAwareLeftAntiJoin.java (93%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateOrderByConstant.java (93%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateOuterJoin.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateSortUnderApply.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateUnnecessaryProject.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EnsureProjectOnTopJoin.java (97%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ExistsApplyToJoin.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ExtractAndNormalizeWindowExpression.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ExtractFilterFromCrossJoin.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ExtractSingleTableExpressionFromDisjunction.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/FindHashConditionForJoin.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/HideOneRowRelationUnderUnion.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/InApplyToJoin.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/InferAggNotNull.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/InferFilterNotNull.java (95%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/InferJoinNotNull.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/InferPredicates.java (99%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/InlineCTE.java (90%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/MergeFilters.java (93%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/MergeGenerates.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/MergeLimits.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/MergeProjects.java (95%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/MergeSetOperations.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/MultiJoin.java (99%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/NormalizeAggregate.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/NormalizeSort.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/NormalizeToSlot.java (99%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PredicatePropagation.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PruneFileScanPartition.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PruneOlapScanPartition.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PruneOlapScanTablet.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PullUpCorrelatedFilterUnderApplyAggregateProject.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PullUpPredicates.java (99%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PullUpProjectUnderApply.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushFilterInsideJoin.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownAliasIntoUnionAll.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownAliasThroughJoin.java (97%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownExpressionsInHashCondition.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughAggregation.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughCTE.java (92%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughCTEAnchor.java (92%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughJoin.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughProject.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughRepeat.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughSetOperation.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughSort.java (92%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughWindow.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownJoinOtherCondition.java (97%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownLimit.java (98%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownProjectThroughCTE.java (92%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownProjectThroughCTEAnchor.java (92%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownProjectThroughLimit.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownTopNThroughWindow.java (97%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ReorderJoin.java (99%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ScalarApplyToJoin.java (97%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/SemiJoinCommute.java (92%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/SimplifyAggGroupBy.java (95%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/SplitLimit.java (93%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/TransposeSemiJoinAgg.java (95%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/TransposeSemiJoinAggProject.java (94%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/TransposeSemiJoinLogicalJoin.java (95%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/TransposeSemiJoinLogicalJoinProject.java (97%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/UnCorrelatedApplyAggregateFilter.java (97%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/UnCorrelatedApplyFilter.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{logical => }/UnCorrelatedApplyProjectFilter.java (97%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/{jobs => rules/rewrite}/batch/ApplyToJoin.java (80%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{ => batch}/BatchRewriteRuleFactory.java (96%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/{jobs => rules/rewrite}/batch/CorrelateApplyToUnCorrelateApply.java (76%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/{jobs => rules/rewrite}/batch/EliminateUselessPlanUnderApply.java (84%)
 delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/AbstractPushDownProjectRule.java
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/{ => rewrite}/mv/AbstractSelectMaterializedIndexRule.java (99%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/{ => rewrite}/mv/SelectMaterializedIndexWithAggregate.java (99%)
 rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/{ => rewrite}/mv/SelectMaterializedIndexWithoutAggregate.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/AggScalarSubQueryToWindowFunctionTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/AggregateStrategiesTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/CheckAndStandardizeWindowFunctionTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ColumnPruningTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateDedupJoinConditionTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateFilterTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateGroupByConstantTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateLimitTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateOuterJoinTest.java (98%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/EliminateUnnecessaryProjectTest.java (98%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ExtractAndNormalizeWindowExpressionTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ExtractFilterFromCrossJoinTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ExtractSingleTableExpressionFromDisjunctionTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/FindHashConditionForJoinTest.java (98%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/InferAggNotNullTest.java (98%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/InferFilterNotNullTest.java (98%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/InferJoinNotNullTest.java (98%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/InferPredicatesTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/MergeFiltersTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/MergeLimitsTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/MergeProjectsTest.java (98%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/NormalizeAggregateTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PhysicalStorageLayerAggregateTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PruneOlapScanPartitionTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PruneOlapScanTabletTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushFilterInsideJoinTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownAliasThroughJoinTest.java (98%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownExpressionsInHashConditionTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughAggregationTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughJoinTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughSortTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownFilterThroughWindowTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownJoinOtherConditionTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownLimitTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/PushdownProjectThroughLimitTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/ReorderJoinTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/SimplifyAggGroupByTest.java (98%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/SplitLimitTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/TransposeSemiJoinAggProjectTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/TransposeSemiJoinAggTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/TransposeSemiJoinLogicalJoinProjectTest.java (98%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/{logical => }/TransposeSemiJoinLogicalJoinTest.java (98%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/{ => rewrite}/mv/BaseMaterializedIndexSelectTest.java (97%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/{ => rewrite}/mv/SelectMvIndexTest.java (99%)
 rename fe/fe-core/src/test/java/org/apache/doris/nereids/rules/{ => rewrite}/mv/SelectRollupIndexTest.java (99%)


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