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]