This is an automated email from the ASF dual-hosted git repository. starocean999 pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
from 6f432784833 [fix](map)fix upgrade behavior from 1.2 version (#36937) add 707cb40d008 [feature](nereids)use mtmv to match legacy mv (#33699) No new revisions were added by this update. Summary of changes: .../main/java/org/apache/doris/analysis/Expr.java | 2 +- .../apache/doris/catalog/AggregateFunction.java | 3 +- .../java/org/apache/doris/catalog/FunctionSet.java | 4 + .../doris/nereids/analyzer/UnboundFunction.java | 48 +- .../parser/LogicalPlanBuilderForSyncMv.java | 194 +++ .../apache/doris/nereids/parser/NereidsParser.java | 7 + .../org/apache/doris/nereids/rules/RuleSet.java | 2 + .../org/apache/doris/nereids/rules/RuleType.java | 1 + .../mv/AbstractMaterializedViewAggregateRule.java | 3 +- .../mv/AbstractMaterializedViewRule.java | 22 + .../mv/InitMaterializationContextHook.java | 160 +++ .../mv/MaterializedViewOnlyScanRule.java | 34 +- .../exploration/mv/MaterializedViewUtils.java | 67 + .../exploration/mv/SyncMaterializationContext.java | 117 ++ .../exploration/mv/rollup/DirectRollupHandler.java | 8 +- .../mv/SelectMaterializedIndexWithAggregate.java | 30 + .../SelectMaterializedIndexWithoutAggregate.java | 15 + .../functions/agg/MultiDistinctCount.java | 10 +- .../functions/agg/NullableAggregateFunction.java | 14 + .../trees/plans/commands/info/AlterViewInfo.java | 5 +- .../trees/plans/commands/info/BaseViewInfo.java | 40 - .../trees/plans/commands/info/CreateViewInfo.java | 5 +- .../apache/doris/nereids/types/AggStateType.java | 23 +- .../org/apache/doris/nereids/util/PlanUtils.java | 40 + .../java/org/apache/doris/qe/SessionVariable.java | 16 + .../rules/rewrite/mv/SelectMvIndexTest.java | 1 + .../rules/rewrite/mv/SelectRollupIndexTest.java | 1 + .../planner/MaterializedViewFunctionTest.java | 1 + .../mv_p0/agg_have_dup_base/agg_have_dup_base.out | 7 +- regression-test/data/mv_p0/k1s2m3/k1s2m3.out | 12 +- .../multi_slot_k1p2ap3ps/multi_slot_k1p2ap3ps.out | 3 +- .../multi_slot_multi_mv/multi_slot_multi_mv.out | 4 +- .../mv_ignore_predicate/mv_ignore_predicate.out | 5 +- .../mv_p0/test_upper_alias/test_upper_alias.out | 1 + .../single_table_without_aggregate.out | 116 ++ .../data/nereids_syntax_p0/mv/agg_mv_test.dat | 26 + .../nereids_syntax_p0/mv/aggregate/agg_sync_mv.out | 1501 ++++++++++++++++++++ .../nereids_syntax_p0/mv/newMv/aggHaveDupBase.out | 7 +- .../nereids_syntax_p0/mv/newMv/multi_slot4.out | 1 + .../data/nereids_syntax_p0/mv/ut/aggOnAggMV3.out | 3 +- .../data/nereids_syntax_p0/rollup/agg.out | 2 +- regression-test/data/rollup_p0/test_rollup_agg.out | 2 +- .../agg_have_dup_base/agg_have_dup_base.groovy | 22 + .../mv_p0/agg_state/test_agg_state_max_by.groovy | 26 + .../suites/mv_p0/case_ignore/case_ignore.groovy | 13 + .../suites/mv_p0/count_star/count_star.groovy | 27 +- .../suites/mv_p0/k1ap2spa/k1ap2spa.groovy | 10 + regression-test/suites/mv_p0/k1s2m3/k1s2m3.groovy | 37 + .../mv_p0/k1s2m3_auto_inc/k1s2m3_auto_inc.groovy | 9 + .../multi_agg_with_same_slot.groovy | 25 + .../mv_p0/multi_slot_k123p/multi_slot_k123p.groovy | 13 +- .../multi_slot_k1a2p2ap3p.groovy | 9 + .../multi_slot_k1a2p2ap3ps.groovy | 14 + .../multi_slot_k1p2ap3p/multi_slot_k1p2ap3p.groovy | 9 + .../multi_slot_k1p2ap3ps.groovy | 10 + .../multi_slot_multi_mv/multi_slot_multi_mv.groovy | 39 + .../mv_ignore_predicate/mv_ignore_predicate.groovy | 37 +- .../mv_p0/mv_percentile/mv_percentile.groovy | 50 +- .../suites/mv_p0/mv_with_view/mv_with_view.groovy | 45 +- .../suites/mv_p0/null_insert/null_insert.groovy | 11 + .../mv_p0/routine_load_hll/routine_load_hll.groovy | 9 + .../ssb/multiple_no_where/multiple_no_where.groovy | 62 + .../mv_p0/ssb/multiple_ssb/multiple_ssb.groovy | 66 + .../multiple_ssb_between.groovy | 56 + .../suites/mv_p0/ssb/q_1_1/q_1_1.groovy | 16 + .../suites/mv_p0/ssb/q_2_1/q_2_1.groovy | 15 + .../suites/mv_p0/ssb/q_3_1/q_3_1.groovy | 19 + .../suites/mv_p0/ssb/q_4_1/q_4_1.groovy | 18 +- .../suites/mv_p0/ssb/q_4_1_r1/q_4_1_r1.groovy | 17 + .../suites/mv_p0/sum_count/sum_count.groovy | 34 +- .../mv_p0/sum_divede_count/sum_devide_count.groovy | 24 + .../suites/mv_p0/test_28741/test_28741.groovy | 9 + .../test_approx_count_distinct.groovy | 19 + .../suites/mv_p0/test_base/test_base.groovy | 18 +- .../mv_p0/test_casewhen/test_casewhen.groovy | 9 + .../suites/mv_p0/test_doc_e4/test_doc_e4.groovy | 24 + .../test_dup_group_by_mv_abs.groovy | 14 + .../test_dup_group_by_mv_plus.groovy | 14 + .../mv_p0/test_dup_mv_abs/test_dup_mv_abs.groovy | 34 + .../mv_p0/test_dup_mv_bin/test_dup_mv_bin.groovy | 34 + .../test_dup_mv_bitmap_hash.groovy | 17 + .../test_dup_mv_expr_priority.groovy | 10 + .../mv_p0/test_dup_mv_plus/test_dup_mv_plus.groovy | 45 + .../test_dup_mv_repeat/test_dup_mv_repeat.groovy | 9 + .../mv_p0/test_dup_mv_year/test_dup_mv_year.groovy | 15 + .../test_insert_multi/test_insert_multi.groovy | 9 + .../suites/mv_p0/test_mv_dp/test_mv_dp.groovy | 11 + .../suites/mv_p0/test_mv_mow/test_mv_mow.groovy | 9 + .../suites/mv_p0/test_ndv/test_ndv.groovy | 19 + .../suites/mv_p0/test_nvl/test_nvl.groovy | 25 + .../suites/mv_p0/test_o2/test_o2.groovy | 9 + .../suites/mv_p0/test_substr/test_substr.groovy | 9 + .../mv_p0/test_tbl_name/test_tbl_name.groovy | 22 + .../mv_p0/test_upper_alias/test_upper_alias.groovy | 23 +- .../test_user_activity/test_user_activity.groovy | 9 + regression-test/suites/mv_p0/unique/unique.groovy | 9 + .../testAggQueryOnAggMV1.groovy | 39 + .../testAggQueryOnAggMV10.groovy | 14 + .../testAggQueryOnAggMV11.groovy | 14 + .../testAggQueryOnAggMV2.groovy | 12 +- .../testAggQueryOnAggMV3.groovy | 22 +- .../testAggQuqeryOnAggMV5.groovy | 16 +- .../testAggQuqeryOnAggMV6.groovy | 16 +- .../testAggQuqeryOnAggMV7.groovy | 14 + .../testAggTableCountDistinctInBitmapType.groovy | 9 + .../testAggregateMVCalcAggFunctionQuery.groovy | 13 + .../testBitmapUnionInQuery.groovy | 20 + .../testCountDistinctToBitmap.groovy | 25 + .../testIncorrectMVRewriteInSubquery.groovy | 15 + .../testIncorrectRewriteCountDistinct.groovy | 14 + .../testJoinOnLeftProjectToJoin.groovy | 10 + .../mv_p0/ut/testNDVToHll/testNDVToHll.groovy | 19 + .../testOrderByQueryOnProjectView.groovy | 15 +- .../ut/testProjectionMV1/testProjectionMV1.groovy | 29 +- .../ut/testProjectionMV2/testProjectionMV2.groovy | 18 + .../ut/testProjectionMV3/testProjectionMV3.groovy | 22 +- .../ut/testProjectionMV4/testProjectionMV4.groovy | 18 +- .../ut/testQueryOnStar/testQueryOnStar.groovy | 12 - .../testSelectMVWithTableAlias.groovy | 14 + .../testSingleMVMultiUsage.groovy | 13 + .../mv_p0/ut/testSubQuery/testSubQuery.groovy | 9 +- .../ut/testUnionDistinct/testUnionDistinct.groovy | 14 + .../suites/mv_p0/where/k123/k123.groovy | 39 + .../mv_p0/where/k123_nereids/k123_nereids.groovy | 81 +- .../suites/mv_p0/where/mvljc/mvljc.groovy | 14 + .../suites/nereids_p0/test_mv_select.groovy | 21 - .../test_grouping_sets_combination.groovy | 9 +- .../aggregate_without_roll_up.groovy | 2 +- .../mv/negative/negative_test.groovy | 2 +- .../single_table_without_aggregate.groovy | 326 +++++ .../suites/nereids_syntax_p0/advance_mv.groovy | 28 + .../mv/aggregate/agg_sync_mv.groovy | 516 +++++++ .../suites/nereids_syntax_p0/mv/load.groovy | 129 ++ .../mv/newMv/aggHaveDupBase.groovy | 26 + .../nereids_syntax_p0/mv/newMv/case_ignore.groovy | 14 + .../mv/newMv/dup_gb_mv_abs.groovy | 14 + .../mv/newMv/dup_gb_mv_plus.groovy | 14 + .../nereids_syntax_p0/mv/newMv/dup_mv_abs.groovy | 34 + .../nereids_syntax_p0/mv/newMv/dup_mv_bin.groovy | 34 + .../mv/newMv/dup_mv_bm_hash.groovy | 15 + .../nereids_syntax_p0/mv/newMv/dup_mv_plus.groovy | 35 + .../nereids_syntax_p0/mv/newMv/dup_mv_year.groovy | 15 + .../nereids_syntax_p0/mv/newMv/multi_slot1.groovy | 9 + .../nereids_syntax_p0/mv/newMv/multi_slot2.groovy | 14 + .../nereids_syntax_p0/mv/newMv/multi_slot3.groovy | 9 + .../nereids_syntax_p0/mv/newMv/multi_slot4.groovy | 10 + .../nereids_syntax_p0/mv/newMv/multi_slot5.groovy | 14 +- .../nereids_syntax_p0/mv/newMv/multi_slot6.groovy | 8 + .../nereids_syntax_p0/mv/newMv/mv_with_view.groovy | 68 +- .../nereids_syntax_p0/mv/newMv/rollback1.groovy | 3 + .../nereids_syntax_p0/mv/newMv/single_slot.groovy | 9 + .../mv/newMv/sum_devide_count.groovy | 25 + .../nereids_syntax_p0/mv/newMv/unique_mv.groovy | 9 + .../nereids_syntax_p0/mv/ut/MVMultiUsage.groovy | 14 + .../suites/nereids_syntax_p0/mv/ut/MVWithAs.groovy | 13 + .../nereids_syntax_p0/mv/ut/aggCDInBitmap.groovy | 9 + .../nereids_syntax_p0/mv/ut/aggMVCalcAggFun.groovy | 13 + .../nereids_syntax_p0/mv/ut/aggOnAggMV1.groovy | 12 + .../nereids_syntax_p0/mv/ut/aggOnAggMV10.groovy | 14 + .../nereids_syntax_p0/mv/ut/aggOnAggMV11.groovy | 14 + .../nereids_syntax_p0/mv/ut/aggOnAggMV2.groovy | 11 + .../nereids_syntax_p0/mv/ut/aggOnAggMV3.groovy | 15 + .../nereids_syntax_p0/mv/ut/aggOnAggMV5.groovy | 14 + .../nereids_syntax_p0/mv/ut/aggOnAggMV6.groovy | 14 + .../nereids_syntax_p0/mv/ut/aggOnAggMV7.groovy | 14 + .../nereids_syntax_p0/mv/ut/bitmapUnionIn.groovy | 14 + .../ut/{projectMV3.groovy => distinctQuery.groovy} | 41 +- .../nereids_syntax_p0/mv/ut/incMVReInSub.groovy | 14 + .../nereids_syntax_p0/mv/ut/incRewriteCD.groovy | 14 + ...nLeftPToJoin.groovy => joinOnCalcToJoin.groovy} | 40 +- .../mv/ut/joinOnLeftPToJoin.groovy | 11 + .../suites/nereids_syntax_p0/mv/ut/onStar.groovy | 16 +- .../ut/{projectMV1.groovy => onlyGroupBy.groovy} | 30 +- .../nereids_syntax_p0/mv/ut/orderByOnPView.groovy | 17 +- .../nereids_syntax_p0/mv/ut/projectMV1.groovy | 18 +- .../nereids_syntax_p0/mv/ut/projectMV2.groovy | 19 + .../nereids_syntax_p0/mv/ut/projectMV3.groovy | 20 +- .../nereids_syntax_p0/mv/ut/projectMV4.groovy | 23 +- .../suites/nereids_syntax_p0/mv/ut/subQuery.groovy | 10 + .../suites/nereids_syntax_p0/mv/ut/unionDis.groovy | 15 + .../suites/nereids_syntax_p0/rollup/agg.groovy | 10 + .../nereids_syntax_p0/rollup/agg_date.groovy | 10 + .../suites/nereids_syntax_p0/rollup/date.groovy | 22 + .../suites/nereids_syntax_p0/rollup/hll/hll.groovy | 9 + .../hll_with_light_sc/hll_with_light_sc.groovy | 9 + .../suites/rollup_p0/test_rollup_agg.groovy | 9 + .../suites/variant_p0/mv/multi_slot.groovy | 70 +- 187 files changed, 5980 insertions(+), 330 deletions(-) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilderForSyncMv.java copy regression-test/suites/mv_p0/ut/testAggTableCountDistinctInBitmapType/testAggTableCountDistinctInBitmapType.groovy => fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializedViewOnlyScanRule.java (51%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/SyncMaterializationContext.java create mode 100644 regression-test/data/nereids_rules_p0/mv/single_table_without_agg/single_table_without_aggregate.out create mode 100644 regression-test/data/nereids_syntax_p0/mv/agg_mv_test.dat create mode 100644 regression-test/data/nereids_syntax_p0/mv/aggregate/agg_sync_mv.out create mode 100644 regression-test/suites/nereids_rules_p0/mv/single_table_without_agg/single_table_without_aggregate.groovy create mode 100644 regression-test/suites/nereids_syntax_p0/mv/aggregate/agg_sync_mv.groovy create mode 100644 regression-test/suites/nereids_syntax_p0/mv/load.groovy copy regression-test/suites/nereids_syntax_p0/mv/ut/{projectMV3.groovy => distinctQuery.groovy} (52%) copy regression-test/suites/nereids_syntax_p0/mv/ut/{joinOnLeftPToJoin.groovy => joinOnCalcToJoin.groovy} (56%) copy regression-test/suites/nereids_syntax_p0/mv/ut/{projectMV1.groovy => onlyGroupBy.groovy} (62%) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org