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 2ac0f861abd [Opt](mow) Opt mow load performance and CPU usage (#55073)
     add db41a84deeb [refactor](nereids) agg strategy refactor (#54079)

No new revisions were added by this update.

Summary of changes:
 .../org/apache/doris/nereids/cost/CostModel.java   |    7 +-
 .../glue/translator/PhysicalPlanTranslator.java    |   11 +-
 .../nereids/jobs/cascades/CostAndEnforcerJob.java  |    3 +-
 .../doris/nereids/jobs/executor/Rewriter.java      |    7 +-
 .../java/org/apache/doris/nereids/memo/Memo.java   |    2 -
 .../properties/ChildrenPropertiesRegulator.java    |  199 ++-
 .../nereids/properties/RequestPropertyDeriver.java |   91 +-
 .../properties/RequirePropertiesSupplier.java      |   65 -
 .../org/apache/doris/nereids/rules/RuleSet.java    |    6 +
 .../org/apache/doris/nereids/rules/RuleType.java   |   20 +-
 .../mv/PreMaterializedViewRewriter.java            |    4 +-
 .../rules/implementation/AggregateStrategies.java  | 1540 --------------------
 .../rules/implementation/SplitAggBaseRule.java     |  202 +++
 .../rules/implementation/SplitAggMultiPhase.java   |  374 +++++
 .../SplitAggMultiPhaseWithoutGbyKey.java           |  232 +++
 .../implementation/SplitAggWithoutDistinct.java    |  171 +++
 .../rules/rewrite/DistinctAggStrategySelector.java |  177 +++
 .../rules/rewrite/DistinctAggregateRewriter.java   |  216 +++
 .../rewrite/MultiDistinctFunctionStrategy.java     |   44 +
 ...stinct.java => SplitMultiDistinctStrategy.java} |  154 +-
 .../doris/nereids/stats/StatsCalculator.java       |    2 +-
 .../expressions/functions/agg/AggregateParam.java  |   14 +-
 .../doris/nereids/trees/plans/AbstractPlan.java    |    1 +
 .../apache/doris/nereids/trees/plans/AggMode.java  |   13 +-
 .../org/apache/doris/nereids/trees/plans/Plan.java |    5 +
 .../nereids/trees/plans/algebra/Aggregate.java     |   27 +
 .../plans/physical/PhysicalHashAggregate.java      |   79 +-
 .../trees/plans/physical/PhysicalWindow.java       |   15 +-
 .../apache/doris/nereids/util/AggregateUtils.java  |  137 ++
 .../java/org/apache/doris/qe/SessionVariable.java  |   46 +
 .../properties/ChildOutputPropertyDeriverTest.java |    3 -
 .../properties/RequestPropertyDeriverTest.java     |    3 -
 .../rules/rewrite/AggregateStrategiesTest.java     |   37 +-
 .../rewrite/DistinctAggregateRewriterTest.java     |  164 +++
 .../rules/rewrite/SplitMultiDistinctTest.java      |   14 +-
 .../doris/nereids/trees/plans/PlanEqualsTest.java  |    8 +-
 .../doris/planner/QueryCacheNormalizerTest.java    |  141 +-
 .../data/empty_relation/eliminate_empty.out        |  Bin 3681 -> 3685 bytes
 .../data/nereids_p0/hint/fix_leading.out           |  Bin 3718 -> 3687 bytes
 .../data/nereids_p0/hint/multi_leading.out         |  Bin 9157 -> 9063 bytes
 .../adjust_nullable/test_adjust_nullable.out       |  Bin 489 -> 1121 bytes
 .../adjust_nullable/test_agg_nullable.out          |  Bin 297 -> 274 bytes
 .../adjust_nullable/test_subquery_nullable.out     |  Bin 6391 -> 6393 bytes
 .../agg_skew_rewrite/agg_skew_rewrite.out          |  Bin 7894 -> 8320 bytes
 .../nereids_rules_p0/agg_strategy/agg_strategy.out |  Bin 0 -> 21517 bytes
 .../agg_strategy/distinct_agg_rewriter.out         |  Bin 0 -> 1213 bytes
 .../distinct_agg_strategy_selector.out             |  Bin 0 -> 4760 bytes
 .../agg_strategy/physical_agg_regulator.out        |  Bin 0 -> 2895 bytes
 .../agg_strategy/test_variables.out                |  Bin 0 -> 6275 bytes
 .../distinct_split/disitinct_split.out             |  Bin 9553 -> 13518 bytes
 .../nereids_rules_p0/eager_aggregate/basic.out     |  Bin 3106 -> 3111 bytes
 .../eager_aggregate/basic_one_side.out             |  Bin 3126 -> 3131 bytes
 .../push_down_count_through_join.out               |  Bin 29586 -> 29470 bytes
 .../push_down_count_through_join_one_side.out      |  Bin 34877 -> 33756 bytes
 .../eager_aggregate/push_down_max_through_join.out |  Bin 17588 -> 16989 bytes
 .../eager_aggregate/push_down_min_through_join.out |  Bin 17602 -> 17003 bytes
 .../eager_aggregate/push_down_sum_through_join.out |  Bin 16199 -> 16141 bytes
 .../push_down_sum_through_join_one_side.out        |  Bin 18663 -> 18035 bytes
 .../eliminate_aggregate_casewhen.out               |  Bin 3909 -> 3917 bytes
 .../eliminate_aggregate_constant.out               |  Bin 15813 -> 15861 bytes
 .../eliminate_not_null/eliminate_not_null.out      |  Bin 1446 -> 1447 bytes
 .../eliminate_outer_join/eliminate_outer_join.out  |  Bin 9803 -> 9805 bytes
 .../filter_push_down/push_filter_through.out       |  Bin 9968 -> 9740 bytes
 .../infer_set_operator_distinct.out                |  Bin 39049 -> 39095 bytes
 .../limit_push_down/order_push_down.out            |  Bin 21201 -> 21207 bytes
 .../max_min_filter_push_down.out                   |  Bin 5992 -> 5969 bytes
 .../merge_aggregate/merge_aggregate.out            |  Bin 7948 -> 7977 bytes
 .../agg_optimize_when_uniform.out                  |  Bin 1814 -> 1815 bytes
 .../data/nereids_rules_p0/pkfk/eliminate_inner.out |  Bin 6965 -> 6967 bytes
 .../predicate_infer/infer_predicate.out            |  Bin 12821 -> 12827 bytes
 .../pull_up_join_from_union.out                    |  Bin 5760 -> 5762 bytes
 .../push_count_into_union_all.out                  |  Bin 6803 -> 6806 bytes
 .../push_down_distinct_through_join.out            |  Bin 821 -> 824 bytes
 .../push_down_limit_distinct_through_join.out      |  Bin 442 -> 444 bytes
 .../push_down_top_n_distinct_through_join.out      |  Bin 1047 -> 1049 bytes
 .../push_down_top_n_distinct_through_union.out     |  Bin 5838 -> 5856 bytes
 .../simplify_window_expression.out                 |  Bin 3908 -> 3909 bytes
 .../data/nereids_rules_p0/test_load/test1.out      |  Bin 0 -> 274 bytes
 .../data/nereids_rules_p0/test_load/test2.out      |  Bin 0 -> 274 bytes
 .../transposeJoin/transposeSemiJoinAgg.out         |  Bin 2884 -> 2890 bytes
 .../unique_function/agg_with_unique_function.out   |  Bin 13615 -> 13561 bytes
 ...own_filter_through_agg_with_unique_function.out |  Bin 342 -> 343 bytes
 .../data/nereids_syntax_p0/agg_4_phase.out         |  Bin 243 -> 245 bytes
 .../nereids_syntax_p0/aggregate_strategies.out     |  Bin 2354 -> 2313 bytes
 .../nereids_syntax_p0/mv/newMv/single_slot.out     |  Bin 186 -> 176 bytes
 .../data/shape_check/clickbench/query10.out        |  Bin 415 -> 467 bytes
 .../data/shape_check/clickbench/query11.out        |  Bin 472 -> 508 bytes
 .../data/shape_check/clickbench/query12.out        |  Bin 472 -> 508 bytes
 .../data/shape_check/clickbench/query14.out        |  Bin 468 -> 504 bytes
 .../data/shape_check/clickbench/query16.out        |  Bin 328 -> 329 bytes
 .../data/shape_check/clickbench/query17.out        |  Bin 328 -> 329 bytes
 .../data/shape_check/clickbench/query18.out        |  Bin 328 -> 329 bytes
 .../data/shape_check/clickbench/query19.out        |  Bin 328 -> 329 bytes
 .../data/shape_check/clickbench/query23.out        |  Bin 531 -> 567 bytes
 .../data/shape_check/clickbench/query5.out         |  Bin 356 -> 282 bytes
 .../data/shape_check/clickbench/query9.out         |  Bin 414 -> 448 bytes
 .../tpcds_sf100/noStatsRfPrune/query12.out         |  Bin 1459 -> 1374 bytes
 .../tpcds_sf100/noStatsRfPrune/query20.out         |  Bin 1472 -> 1387 bytes
 .../tpcds_sf100/noStatsRfPrune/query28.out         |  Bin 4361 -> 5501 bytes
 .../tpcds_sf100/noStatsRfPrune/query34.out         |  Bin 2376 -> 2380 bytes
 .../tpcds_sf100/noStatsRfPrune/query38.out         |  Bin 3269 -> 3281 bytes
 .../tpcds_sf100/noStatsRfPrune/query46.out         |  Bin 2606 -> 2783 bytes
 .../tpcds_sf100/noStatsRfPrune/query47.out         |  Bin 3450 -> 3357 bytes
 .../tpcds_sf100/noStatsRfPrune/query51.out         |  Bin 2641 -> 2463 bytes
 .../tpcds_sf100/noStatsRfPrune/query53.out         |  Bin 2880 -> 2783 bytes
 .../tpcds_sf100/noStatsRfPrune/query54.out         |  Bin 5479 -> 5481 bytes
 .../tpcds_sf100/noStatsRfPrune/query57.out         |  Bin 3260 -> 3167 bytes
 .../tpcds_sf100/noStatsRfPrune/query63.out         |  Bin 2874 -> 2777 bytes
 .../tpcds_sf100/noStatsRfPrune/query64.out         |  Bin 9232 -> 9224 bytes
 .../tpcds_sf100/noStatsRfPrune/query65.out         |  Bin 2916 -> 2774 bytes
 .../tpcds_sf100/noStatsRfPrune/query68.out         |  Bin 3016 -> 3201 bytes
 .../tpcds_sf100/noStatsRfPrune/query73.out         |  Bin 2249 -> 2253 bytes
 .../tpcds_sf100/noStatsRfPrune/query79.out         |  Bin 2061 -> 2065 bytes
 .../tpcds_sf100/noStatsRfPrune/query87.out         |  Bin 2955 -> 2967 bytes
 .../tpcds_sf100/noStatsRfPrune/query89.out         |  Bin 2448 -> 2349 bytes
 .../tpcds_sf100/noStatsRfPrune/query98.out         |  Bin 1477 -> 1392 bytes
 .../tpcds_sf100/no_stats_shape/query12.out         |  Bin 1459 -> 1374 bytes
 .../tpcds_sf100/no_stats_shape/query20.out         |  Bin 1472 -> 1387 bytes
 .../tpcds_sf100/no_stats_shape/query28.out         |  Bin 4361 -> 5501 bytes
 .../tpcds_sf100/no_stats_shape/query34.out         |  Bin 2426 -> 2430 bytes
 .../tpcds_sf100/no_stats_shape/query38.out         |  Bin 3429 -> 3441 bytes
 .../tpcds_sf100/no_stats_shape/query46.out         |  Bin 2766 -> 2943 bytes
 .../tpcds_sf100/no_stats_shape/query47.out         |  Bin 3536 -> 3443 bytes
 .../tpcds_sf100/no_stats_shape/query51.out         |  Bin 2641 -> 2463 bytes
 .../tpcds_sf100/no_stats_shape/query53.out         |  Bin 2924 -> 2827 bytes
 .../tpcds_sf100/no_stats_shape/query54.out         |  Bin 5748 -> 5750 bytes
 .../tpcds_sf100/no_stats_shape/query57.out         |  Bin 3359 -> 3266 bytes
 .../tpcds_sf100/no_stats_shape/query63.out         |  Bin 2918 -> 2821 bytes
 .../tpcds_sf100/no_stats_shape/query64.out         |  Bin 10105 -> 10097 bytes
 .../tpcds_sf100/no_stats_shape/query65.out         |  Bin 3002 -> 2860 bytes
 .../tpcds_sf100/no_stats_shape/query68.out         |  Bin 3176 -> 3361 bytes
 .../tpcds_sf100/no_stats_shape/query73.out         |  Bin 2299 -> 2303 bytes
 .../tpcds_sf100/no_stats_shape/query79.out         |  Bin 2111 -> 2115 bytes
 .../tpcds_sf100/no_stats_shape/query87.out         |  Bin 3115 -> 3127 bytes
 .../tpcds_sf100/no_stats_shape/query89.out         |  Bin 2492 -> 2393 bytes
 .../tpcds_sf100/no_stats_shape/query98.out         |  Bin 1477 -> 1392 bytes
 .../shape_check/tpcds_sf100/rf_prune/query28.out   |  Bin 4361 -> 5501 bytes
 .../shape_check/tpcds_sf100/rf_prune/query34.out   |  Bin 2435 -> 2441 bytes
 .../shape_check/tpcds_sf100/rf_prune/query38.out   |  Bin 3265 -> 3281 bytes
 .../shape_check/tpcds_sf100/rf_prune/query46.out   |  Bin 2606 -> 2607 bytes
 .../shape_check/tpcds_sf100/rf_prune/query47.out   |  Bin 3266 -> 3173 bytes
 .../shape_check/tpcds_sf100/rf_prune/query51.out   |  Bin 2641 -> 2463 bytes
 .../shape_check/tpcds_sf100/rf_prune/query57.out   |  Bin 3131 -> 3038 bytes
 .../shape_check/tpcds_sf100/rf_prune/query65.out   |  Bin 2912 -> 2916 bytes
 .../shape_check/tpcds_sf100/rf_prune/query68.out   |  Bin 3208 -> 3209 bytes
 .../shape_check/tpcds_sf100/rf_prune/query75.out   |  Bin 5611 -> 5321 bytes
 .../shape_check/tpcds_sf100/rf_prune/query79.out   |  Bin 2059 -> 2065 bytes
 .../shape_check/tpcds_sf100/rf_prune/query87.out   |  Bin 3037 -> 3053 bytes
 .../shape_check/tpcds_sf100/rf_prune/query89.out   |  Bin 2448 -> 2349 bytes
 .../data/shape_check/tpcds_sf100/shape/query28.out |  Bin 4361 -> 5501 bytes
 .../data/shape_check/tpcds_sf100/shape/query34.out |  Bin 2435 -> 2441 bytes
 .../data/shape_check/tpcds_sf100/shape/query38.out |  Bin 3425 -> 3441 bytes
 .../data/shape_check/tpcds_sf100/shape/query46.out |  Bin 2766 -> 2767 bytes
 .../data/shape_check/tpcds_sf100/shape/query47.out |  Bin 3624 -> 3531 bytes
 .../data/shape_check/tpcds_sf100/shape/query51.out |  Bin 2641 -> 2463 bytes
 .../data/shape_check/tpcds_sf100/shape/query57.out |  Bin 3421 -> 3328 bytes
 .../data/shape_check/tpcds_sf100/shape/query65.out |  Bin 2998 -> 3002 bytes
 .../data/shape_check/tpcds_sf100/shape/query68.out |  Bin 3208 -> 3209 bytes
 .../data/shape_check/tpcds_sf100/shape/query75.out |  Bin 5611 -> 5321 bytes
 .../data/shape_check/tpcds_sf100/shape/query79.out |  Bin 2109 -> 2115 bytes
 .../data/shape_check/tpcds_sf100/shape/query87.out |  Bin 3197 -> 3213 bytes
 .../data/shape_check/tpcds_sf100/shape/query89.out |  Bin 2492 -> 2393 bytes
 .../tpcds_sf1000/bs_downgrade_shape/query68.out    |  Bin 3197 -> 3198 bytes
 .../data/shape_check/tpcds_sf1000/hint/query28.out |  Bin 4351 -> 5491 bytes
 .../data/shape_check/tpcds_sf1000/hint/query38.out |  Bin 3341 -> 3355 bytes
 .../data/shape_check/tpcds_sf1000/hint/query46.out |  Bin 2868 -> 2869 bytes
 .../data/shape_check/tpcds_sf1000/hint/query47.out |  Bin 3732 -> 3639 bytes
 .../data/shape_check/tpcds_sf1000/hint/query51.out |  Bin 2759 -> 2581 bytes
 .../data/shape_check/tpcds_sf1000/hint/query57.out |  Bin 3537 -> 3444 bytes
 .../data/shape_check/tpcds_sf1000/hint/query65.out |  Bin 3236 -> 3240 bytes
 .../data/shape_check/tpcds_sf1000/hint/query68.out |  Bin 3355 -> 3356 bytes
 .../data/shape_check/tpcds_sf1000/hint/query75.out |  Bin 5617 -> 5327 bytes
 .../data/shape_check/tpcds_sf1000/hint/query79.out |  Bin 2232 -> 2236 bytes
 .../data/shape_check/tpcds_sf1000/hint/query87.out |  Bin 3113 -> 3127 bytes
 .../data/shape_check/tpcds_sf1000/hint/query89.out |  Bin 2558 -> 2459 bytes
 .../shape_check/tpcds_sf1000/shape/query28.out     |  Bin 4351 -> 5491 bytes
 .../shape_check/tpcds_sf1000/shape/query38.out     |  Bin 3341 -> 3355 bytes
 .../shape_check/tpcds_sf1000/shape/query46.out     |  Bin 2752 -> 2753 bytes
 .../shape_check/tpcds_sf1000/shape/query47.out     |  Bin 3624 -> 3531 bytes
 .../shape_check/tpcds_sf1000/shape/query51.out     |  Bin 2641 -> 2463 bytes
 .../shape_check/tpcds_sf1000/shape/query57.out     |  Bin 3421 -> 3328 bytes
 .../shape_check/tpcds_sf1000/shape/query65.out     |  Bin 2998 -> 3002 bytes
 .../shape_check/tpcds_sf1000/shape/query68.out     |  Bin 3197 -> 3198 bytes
 .../shape_check/tpcds_sf1000/shape/query75.out     |  Bin 5617 -> 5327 bytes
 .../shape_check/tpcds_sf1000/shape/query79.out     |  Bin 2112 -> 2116 bytes
 .../shape_check/tpcds_sf1000/shape/query87.out     |  Bin 3113 -> 3127 bytes
 .../shape_check/tpcds_sf1000/shape/query89.out     |  Bin 2478 -> 2379 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query12.out  |  Bin 1466 -> 1381 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query20.out  |  Bin 1481 -> 1396 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query23.out  |  Bin 5271 -> 5273 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query28.out  |  Bin 4357 -> 5497 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query34.out  |  Bin 2422 -> 2428 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query39.out  |  Bin 1850 -> 1983 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query46.out  |  Bin 2761 -> 2762 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query47.out  |  Bin 3536 -> 3443 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query51.out  |  Bin 2641 -> 2463 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query53.out  |  Bin 2920 -> 2823 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query54.out  |  Bin 6072 -> 6073 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query57.out  |  Bin 3359 -> 3266 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query63.out  |  Bin 2914 -> 2817 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query65.out  |  Bin 3002 -> 2860 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query68.out  |  Bin 3166 -> 3167 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query73.out  |  Bin 2294 -> 2300 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query79.out  |  Bin 2109 -> 2115 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query89.out  |  Bin 2484 -> 2385 bytes
 .../shape_check/tpcds_sf10t_orc/shape/query98.out  |  Bin 1474 -> 1389 bytes
 .../data/shape_check/tpch_sf1000/hint/q11.out      |  Bin 2073 -> 2074 bytes
 .../data/shape_check/tpch_sf1000/hint/q13.out      |  Bin 897 -> 898 bytes
 .../data/shape_check/tpch_sf1000/hint/q3.out       |  Bin 1069 -> 1070 bytes
 .../tpch_sf1000/nostats_rf_prune/q11.out           |  Bin 2167 -> 2168 bytes
 .../tpch_sf1000/nostats_rf_prune/q13.out           |  Bin 825 -> 826 bytes
 .../tpch_sf1000/nostats_rf_prune/q16.out           |  Bin 1148 -> 1200 bytes
 .../tpch_sf1000/nostats_rf_prune/q18.out           |  Bin 1258 -> 1260 bytes
 .../tpch_sf1000/nostats_rf_prune/q3.out            |  Bin 1090 -> 1091 bytes
 .../data/shape_check/tpch_sf1000/rf_prune/q10.out  |  Bin 1329 -> 1330 bytes
 .../data/shape_check/tpch_sf1000/rf_prune/q11.out  |  Bin 2175 -> 2176 bytes
 .../data/shape_check/tpch_sf1000/rf_prune/q13.out  |  Bin 825 -> 826 bytes
 .../data/shape_check/tpch_sf1000/rf_prune/q16.out  |  Bin 1142 -> 1194 bytes
 .../data/shape_check/tpch_sf1000/rf_prune/q18.out  |  Bin 1258 -> 1260 bytes
 .../data/shape_check/tpch_sf1000/rf_prune/q3.out   |  Bin 1088 -> 1089 bytes
 .../runtime_filter/test_pushdown_setop.out         |  Bin 1976 -> 1978 bytes
 .../data/shape_check/tpch_sf1000/shape/q10.out     |  Bin 1374 -> 1375 bytes
 .../data/shape_check/tpch_sf1000/shape/q11.out     |  Bin 2175 -> 2176 bytes
 .../data/shape_check/tpch_sf1000/shape/q13.out     |  Bin 877 -> 878 bytes
 .../data/shape_check/tpch_sf1000/shape/q16.out     |  Bin 1142 -> 1194 bytes
 .../data/shape_check/tpch_sf1000/shape/q18.out     |  Bin 1299 -> 1301 bytes
 .../data/shape_check/tpch_sf1000/shape/q3.out      |  Bin 1088 -> 1089 bytes
 .../shape_check/tpch_sf1000/shape_no_stats/q11.out |  Bin 2167 -> 2168 bytes
 .../shape_check/tpch_sf1000/shape_no_stats/q13.out |  Bin 877 -> 878 bytes
 .../shape_check/tpch_sf1000/shape_no_stats/q16.out |  Bin 1148 -> 1200 bytes
 .../shape_check/tpch_sf1000/shape_no_stats/q18.out |  Bin 1299 -> 1301 bytes
 .../shape_check/tpch_sf1000/shape_no_stats/q3.out  |  Bin 1090 -> 1091 bytes
 .../suites/mv_p0/k1ap2spa/k1ap2spa.groovy          |    1 -
 .../testCountDistinctToBitmap.groovy               |    1 +
 .../nereids_function_p0/agg_function/agg.groovy    |  960 ++++++------
 .../suites/nereids_p0/aggregate/aggregate.groovy   |    1 -
 .../adjust_nullable/test_adjust_nullable.groovy    |    1 +
 .../agg_strategy/agg_strategy.groovy               |  141 ++
 .../agg_strategy/distinct_agg_rewriter.groovy}     |   38 +-
 .../distinct_agg_strategy_selector.groovy          |   42 +
 .../nereids_rules_p0/agg_strategy/load.groovy      |  126 ++
 .../agg_strategy/physical_agg_regulator.groovy     |   49 +
 .../agg_strategy/test_variables.groovy             |  129 ++
 .../distinct_split/disitinct_split.groovy          |   79 +-
 .../push_down_count_through_join.groovy            |    1 -
 .../push_down_count_through_join_one_side.groovy   |    1 -
 .../push_down_max_through_join.groovy              |    1 -
 .../push_down_min_through_join.groovy              |    1 -
 .../push_down_sum_through_join.groovy              |    1 -
 .../push_down_sum_through_join_one_side.groovy     |    1 -
 .../merge_aggregate/merge_aggregate.groovy         |    1 +
 .../agg_optimize_when_uniform.groovy               |    1 +
 .../agg_with_roll_up/aggregate_with_roll_up.groovy |    1 +
 .../aggregate_without_roll_up.groovy               |    1 +
 .../mv/dimension/dimension_1.groovy                |    1 +
 .../mv/dimension/dimension_2_3.groovy              |    1 +
 .../mv/dimension/dimension_self_conn.groovy        |    1 +
 .../mv/grouping_sets/grouping_sets.groovy          |    1 +
 .../mv/pre_rewrite/strategy/dp_hyper.groovy        |    1 +
 .../mv/pre_rewrite/strategy/strategy.groovy        |    1 +
 .../mv/same_name/sync_async_same_name.groovy       |    1 -
 .../nereids_rules_p0/mv/tpch/mv_tpch_test.groovy   |    1 +
 .../mv/with_auth/with_select_table_auth.groovy     |    1 +
 .../nereids_syntax_p0/adjust_nullable.groovy       |    2 +-
 .../suites/nereids_syntax_p0/agg_4_phase.groovy    |   20 +-
 .../nereids_syntax_p0/aggregate_strategies.groovy  |   29 -
 .../suites/nereids_syntax_p0/analyze_agg.groovy    |    6 +-
 .../distribute/colocate_agg_join.groovy            |    1 -
 .../nereids_syntax_p0/distribute/shuffle.groovy    |    2 +-
 .../nereids_syntax_p0/mv/newMv/single_slot.groovy  |    9 +-
 .../nereids_syntax_p2/aggregate_strategies.groovy  |   25 -
 .../nereids_tpch_p0/tpch/push_topn_to_agg.groovy   |    2 +-
 .../rollup_p0/test_create_mv_and_mtmv.groovy       |    1 +
 273 files changed, 3263 insertions(+), 2655 deletions(-)
 delete mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/properties/RequirePropertiesSupplier.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/SplitAggBaseRule.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/SplitAggMultiPhase.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/SplitAggMultiPhaseWithoutGbyKey.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/SplitAggWithoutDistinct.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/DistinctAggStrategySelector.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/DistinctAggregateRewriter.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/MultiDistinctFunctionStrategy.java
 rename 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{SplitMultiDistinct.java
 => SplitMultiDistinctStrategy.java} (64%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/util/AggregateUtils.java
 create mode 100644 
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/DistinctAggregateRewriterTest.java
 create mode 100644 
regression-test/data/nereids_rules_p0/agg_strategy/agg_strategy.out
 create mode 100644 
regression-test/data/nereids_rules_p0/agg_strategy/distinct_agg_rewriter.out
 create mode 100644 
regression-test/data/nereids_rules_p0/agg_strategy/distinct_agg_strategy_selector.out
 create mode 100644 
regression-test/data/nereids_rules_p0/agg_strategy/physical_agg_regulator.out
 create mode 100644 
regression-test/data/nereids_rules_p0/agg_strategy/test_variables.out
 create mode 100644 regression-test/data/nereids_rules_p0/test_load/test1.out
 create mode 100644 regression-test/data/nereids_rules_p0/test_load/test2.out
 create mode 100644 
regression-test/suites/nereids_rules_p0/agg_strategy/agg_strategy.groovy
 copy 
regression-test/suites/{nereids_syntax_p0/distribute/query_constant.groovy => 
nereids_rules_p0/agg_strategy/distinct_agg_rewriter.groovy} (55%)
 create mode 100644 
regression-test/suites/nereids_rules_p0/agg_strategy/distinct_agg_strategy_selector.groovy
 create mode 100644 
regression-test/suites/nereids_rules_p0/agg_strategy/load.groovy
 create mode 100644 
regression-test/suites/nereids_rules_p0/agg_strategy/physical_agg_regulator.groovy
 create mode 100644 
regression-test/suites/nereids_rules_p0/agg_strategy/test_variables.groovy


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to