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 859b03dfdf [Improvement](topn) prevent memory usage of key topn
increasing unlimited (#19978)
add 970efdc1cb [Feature](Nereids) support advanced materialized view
(#19650)
No new revisions were added by this update.
Summary of changes:
.../doris/analysis/CreateMaterializedViewStmt.java | 6 +
.../glue/translator/PhysicalPlanTranslator.java | 10 +-
.../doris/nereids/jobs/batch/NereidsRewriter.java | 9 +-
.../nereids/properties/LogicalProperties.java | 11 +-
.../nereids/rules/analysis/CheckAfterRewrite.java | 3 +-
.../LogicalOlapScanToPhysicalOlapScan.java | 26 +
.../mv/AbstractSelectMaterializedIndexRule.java | 314 +++++++-
.../mv/SelectMaterializedIndexWithAggregate.java | 865 +++++++++++++--------
.../SelectMaterializedIndexWithoutAggregate.java | 130 ++--
.../nereids/trees/expressions/SlotReference.java | 6 +
.../doris/nereids/trees/plans/AbstractPlan.java | 5 -
.../apache/doris/nereids/trees/plans/FakePlan.java | 7 -
.../org/apache/doris/nereids/trees/plans/Plan.java | 6 -
.../nereids/trees/plans/commands/Command.java | 5 -
.../trees/plans/logical/AbstractLogicalPlan.java | 2 +-
.../nereids/trees/plans/logical/LogicalFilter.java | 4 +
.../trees/plans/logical/LogicalOlapScan.java | 83 +-
.../nereids/trees/plans/logical/LogicalRepeat.java | 4 +
.../trees/plans/physical/PhysicalOlapScan.java | 23 +-
.../translator/PhysicalPlanTranslatorTest.java | 3 +-
.../postprocess/MergeProjectPostProcessTest.java | 3 +-
.../doris/nereids/rules/mv/SelectMvIndexTest.java | 138 ++--
.../nereids/rules/mv/SelectRollupIndexTest.java | 22 +-
.../doris/nereids/trees/plans/PlanEqualsTest.java | 6 +-
.../data/nereids_syntax_p0/advance_mv.out | 19 +
.../mv/newMv/aggHaveDupBase.out} | 0
.../mv/newMv}/case_ignore.out | 0
.../nereids_syntax_p0/mv/newMv/dup_gb_mv_abs.out | 19 +
.../nereids_syntax_p0/mv/newMv/dup_gb_mv_plus.out | 19 +
.../data/nereids_syntax_p0/mv/newMv/dup_mv_abs.out | 43 +
.../data/nereids_syntax_p0/mv/newMv/dup_mv_bin.out | 43 +
.../mv/newMv/dup_mv_bm_hash.out} | 0
.../nereids_syntax_p0/mv/newMv/dup_mv_plus.out | 43 +
.../mv/newMv/dup_mv_year.out} | 0
.../mv/newMv/multi_slot1.out} | 0
.../mv/newMv/multi_slot2.out} | 0
.../mv/newMv/multi_slot3.out} | 0
.../mv/newMv/multi_slot4.out} | 0
.../nereids_syntax_p0/mv/newMv/multi_slot5.out | 31 +
.../mv/newMv/multi_slot6.out} | 0
.../mv/newMv}/mv_with_view.out | 0
.../mv/newMv}/rollback1.out | 0
.../mv/newMv/single_slot.out} | 0
.../mv/newMv}/sum_devide_count.out | 0
.../mv/ut/MVMultiUsage.out} | 0
.../mv/ut/MVWithAs.out} | 0
.../mv/ut/aggCDInBitmap.out} | 0
.../mv/ut/aggMVCalcAggFun.out} | 0
.../mv/ut/aggOnAggMV1.out} | 0
.../mv/ut/aggOnAggMV10.out} | 0
.../mv/ut/aggOnAggMV11.out} | 0
.../mv/ut/aggOnAggMV2.out} | 0
.../mv/ut/aggOnAggMV3.out} | 0
.../mv/ut/aggOnAggMV5.out} | 0
.../mv/ut/aggOnAggMV6.out} | 0
.../mv/ut/aggOnAggMV7.out} | 0
.../mv/ut/bitmapUnionIn.out} | 0
.../mv/ut/incMVReInSub.out} | 0
.../mv/ut/incRewriteCD.out} | 0
.../mv/ut/joinOnLeftPToJoin.out} | 0
.../mv/ut/onStar.out} | 0
.../mv/ut/orderByOnPView.out} | 0
.../mv/ut/projectMV1.out} | 0
.../mv/ut/projectMV2.out} | 0
.../mv/ut/projectMV3.out} | 0
.../mv/ut/projectMV4.out} | 0
.../data/nereids_syntax_p0/mv/ut/subQuery.out | 7 +
.../mv/ut/unionDis.out} | 0
.../data/nereids_syntax_p0/rollup/agg.out | 16 +
.../data/nereids_syntax_p0/rollup/agg_date.out | 25 +
.../rollup/date.out} | 0
.../data/nereids_syntax_p0/rollup/hll.out | 14 +
.../nereids_syntax_p0/rollup/hll_with_light_sc.out | 14 +
.../testIncorrectMVRewriteInSubquery.groovy | 2 +-
.../suites/nereids_syntax_p0/advance_mv.groovy | 175 +++++
.../mv/newMv/aggHaveDupBase.groovy | 80 ++
.../nereids_syntax_p0/mv/newMv/case_ignore.groovy | 60 ++
.../mv/newMv/dup_gb_mv_abs.groovy | 61 ++
.../mv/newMv/dup_gb_mv_plus.groovy | 61 ++
.../nereids_syntax_p0/mv/newMv/dup_mv_abs.groovy | 85 ++
.../nereids_syntax_p0/mv/newMv/dup_mv_bin.groovy | 85 ++
.../mv/newMv/dup_mv_bm_hash.groovy | 79 ++
.../nereids_syntax_p0/mv/newMv/dup_mv_plus.groovy | 102 +++
.../nereids_syntax_p0/mv/newMv/dup_mv_year.groovy | 76 ++
.../nereids_syntax_p0/mv/newMv/multi_slot1.groovy | 53 ++
.../nereids_syntax_p0/mv/newMv/multi_slot2.groovy | 68 ++
.../nereids_syntax_p0/mv/newMv/multi_slot3.groovy | 54 ++
.../nereids_syntax_p0/mv/newMv/multi_slot4.groovy | 56 ++
.../nereids_syntax_p0/mv/newMv/multi_slot5.groovy | 68 ++
.../nereids_syntax_p0/mv/newMv/multi_slot6.groovy | 86 ++
.../nereids_syntax_p0/mv/newMv/mv_with_view.groovy | 79 ++
.../nereids_syntax_p0/mv/newMv/rollback1.groovy | 58 ++
.../nereids_syntax_p0/mv/newMv/single_slot.groovy | 55 ++
.../mv/newMv/sum_devide_count.groovy | 83 ++
.../nereids_syntax_p0/mv/ut/MVMultiUsage.groovy | 60 ++
.../mv/ut/MVWithAs.groovy} | 32 +-
.../nereids_syntax_p0/mv/ut/aggCDInBitmap.groovy | 44 ++
.../nereids_syntax_p0/mv/ut/aggMVCalcAggFun.groovy | 60 ++
.../nereids_syntax_p0/mv/ut/aggOnAggMV1.groovy | 61 ++
.../nereids_syntax_p0/mv/ut/aggOnAggMV10.groovy | 57 ++
.../nereids_syntax_p0/mv/ut/aggOnAggMV11.groovy | 57 ++
.../nereids_syntax_p0/mv/ut/aggOnAggMV2.groovy | 62 ++
.../nereids_syntax_p0/mv/ut/aggOnAggMV3.groovy | 60 ++
.../nereids_syntax_p0/mv/ut/aggOnAggMV5.groovy | 57 ++
.../nereids_syntax_p0/mv/ut/aggOnAggMV6.groovy | 57 ++
.../nereids_syntax_p0/mv/ut/aggOnAggMV7.groovy | 57 ++
.../mv/ut/bitmapUnionIn.groovy} | 32 +-
.../nereids_syntax_p0/mv/ut/incMVReInSub.groovy | 54 ++
.../mv/ut/incRewriteCD.groovy} | 35 +-
.../mv/ut/joinOnLeftPToJoin.groovy | 63 ++
.../suites/nereids_syntax_p0/mv/ut/onStar.groovy | 77 ++
.../nereids_syntax_p0/mv/ut/orderByOnPView.groovy | 61 ++
.../nereids_syntax_p0/mv/ut/projectMV1.groovy | 57 ++
.../nereids_syntax_p0/mv/ut/projectMV2.groovy | 63 ++
.../nereids_syntax_p0/mv/ut/projectMV3.groovy | 65 ++
.../nereids_syntax_p0/mv/ut/projectMV4.groovy | 65 ++
.../suites/nereids_syntax_p0/mv/ut/subQuery.groovy | 61 ++
.../suites/nereids_syntax_p0/mv/ut/unionDis.groovy | 60 ++
.../nereids_syntax_p0/mv/where/k123/k123.groovy | 96 +++
.../suites/nereids_syntax_p0/rollup/agg.groovy | 86 ++
.../nereids_syntax_p0/rollup/agg_date.groovy | 89 +++
.../suites/nereids_syntax_p0/rollup/bitmap.groovy | 68 ++
.../suites/nereids_syntax_p0/rollup/date.groovy | 135 ++++
.../suites/nereids_syntax_p0/rollup/hll.groovy | 68 ++
.../rollup/hll_with_light_sc.groovy | 67 ++
125 files changed, 4910 insertions(+), 566 deletions(-)
create mode 100644 regression-test/data/nereids_syntax_p0/advance_mv.out
copy regression-test/data/{mv_p0/agg_have_dup_base/agg_have_dup_base.out =>
nereids_syntax_p0/mv/newMv/aggHaveDupBase.out} (100%)
copy regression-test/data/{mv_p0/case_ignore =>
nereids_syntax_p0/mv/newMv}/case_ignore.out (100%)
create mode 100644
regression-test/data/nereids_syntax_p0/mv/newMv/dup_gb_mv_abs.out
create mode 100644
regression-test/data/nereids_syntax_p0/mv/newMv/dup_gb_mv_plus.out
create mode 100644
regression-test/data/nereids_syntax_p0/mv/newMv/dup_mv_abs.out
create mode 100644
regression-test/data/nereids_syntax_p0/mv/newMv/dup_mv_bin.out
copy
regression-test/data/{mv_p0/test_dup_mv_bitmap_hash/test_dup_mv_bitmap_hash.out
=> nereids_syntax_p0/mv/newMv/dup_mv_bm_hash.out} (100%)
create mode 100644
regression-test/data/nereids_syntax_p0/mv/newMv/dup_mv_plus.out
copy regression-test/data/{mv_p0/test_dup_mv_year/test_dup_mv_year.out =>
nereids_syntax_p0/mv/newMv/dup_mv_year.out} (100%)
copy
regression-test/data/{mv_p0/multi_slot_k1a2p2ap3p/multi_slot_k1a2p2ap3p.out =>
nereids_syntax_p0/mv/newMv/multi_slot1.out} (100%)
copy
regression-test/data/{mv_p0/multi_slot_k1a2p2ap3ps/multi_slot_k1a2p2ap3ps.out
=> nereids_syntax_p0/mv/newMv/multi_slot2.out} (100%)
copy regression-test/data/{mv_p0/multi_slot_k1p2ap3p/multi_slot_k1p2ap3p.out
=> nereids_syntax_p0/mv/newMv/multi_slot3.out} (100%)
copy regression-test/data/{mv_p0/multi_slot_k1p2ap3p/multi_slot_k1p2ap3p.out
=> nereids_syntax_p0/mv/newMv/multi_slot4.out} (100%)
create mode 100644
regression-test/data/nereids_syntax_p0/mv/newMv/multi_slot5.out
copy regression-test/data/{mv_p0/multi_slot_multi_mv/multi_slot_multi_mv.out
=> nereids_syntax_p0/mv/newMv/multi_slot6.out} (100%)
copy regression-test/data/{mv_p0/mv_with_view =>
nereids_syntax_p0/mv/newMv}/mv_with_view.out (100%)
copy regression-test/data/{mv_p0/join/rollback1 =>
nereids_syntax_p0/mv/newMv}/rollback1.out (100%)
copy regression-test/data/{mv_p0/k1ap2spa/k1ap2spa.out =>
nereids_syntax_p0/mv/newMv/single_slot.out} (100%)
copy regression-test/data/{mv_p0/sum_divede_count =>
nereids_syntax_p0/mv/newMv}/sum_devide_count.out (100%)
copy
regression-test/data/{mv_p0/ut/testAggQuqeryOnAggMV5/testAggQuqeryOnAggMV5.out
=> nereids_syntax_p0/mv/ut/MVMultiUsage.out} (100%)
copy
regression-test/data/{mv_p0/ut/testSelectMVWithTableAlias/testSelectMVWithTableAlias.out
=> nereids_syntax_p0/mv/ut/MVWithAs.out} (100%)
copy
regression-test/data/{mv_p0/ut/testAggTableCountDistinctInBitmapType/testAggTableCountDistinctInBitmapType.out
=> nereids_syntax_p0/mv/ut/aggCDInBitmap.out} (100%)
copy
regression-test/data/{mv_p0/ut/testAggQuqeryOnAggMV5/testAggQuqeryOnAggMV5.out
=> nereids_syntax_p0/mv/ut/aggMVCalcAggFun.out} (100%)
copy
regression-test/data/{mv_p0/ut/testAggQueryOnAggMV1/testAggQueryOnAggMV1.out =>
nereids_syntax_p0/mv/ut/aggOnAggMV1.out} (100%)
copy
regression-test/data/{mv_p0/ut/testAggQueryOnAggMV10/testAggQueryOnAggMV10.out
=> nereids_syntax_p0/mv/ut/aggOnAggMV10.out} (100%)
copy
regression-test/data/{mv_p0/ut/testAggQueryOnAggMV11/testAggQueryOnAggMV11.out
=> nereids_syntax_p0/mv/ut/aggOnAggMV11.out} (100%)
copy
regression-test/data/{mv_p0/ut/testAggQueryOnAggMV2/testAggQueryOnAggMV2.out =>
nereids_syntax_p0/mv/ut/aggOnAggMV2.out} (100%)
copy
regression-test/data/{mv_p0/ut/testAggQueryOnAggMV3/testAggQueryOnAggMV3.out =>
nereids_syntax_p0/mv/ut/aggOnAggMV3.out} (100%)
copy
regression-test/data/{mv_p0/ut/testAggQuqeryOnAggMV5/testAggQuqeryOnAggMV5.out
=> nereids_syntax_p0/mv/ut/aggOnAggMV5.out} (100%)
copy
regression-test/data/{mv_p0/ut/testAggQuqeryOnAggMV5/testAggQuqeryOnAggMV5.out
=> nereids_syntax_p0/mv/ut/aggOnAggMV6.out} (100%)
copy
regression-test/data/{mv_p0/ut/testAggQuqeryOnAggMV5/testAggQuqeryOnAggMV5.out
=> nereids_syntax_p0/mv/ut/aggOnAggMV7.out} (100%)
copy
regression-test/data/{mv_p0/ut/testBitmapUnionInQuery/testBitmapUnionInQuery.out
=> nereids_syntax_p0/mv/ut/bitmapUnionIn.out} (100%)
copy
regression-test/data/{mv_p0/ut/testIncorrectMVRewriteInSubquery/testIncorrectMVRewriteInSubquery.out
=> nereids_syntax_p0/mv/ut/incMVReInSub.out} (100%)
copy
regression-test/data/{mv_p0/ut/testIncorrectRewriteCountDistinct/testIncorrectRewriteCountDistinct.out
=> nereids_syntax_p0/mv/ut/incRewriteCD.out} (100%)
copy
regression-test/data/{mv_p0/ut/testJoinOnLeftProjectToJoin/testJoinOnLeftProjectToJoin.out
=> nereids_syntax_p0/mv/ut/joinOnLeftPToJoin.out} (100%)
copy regression-test/data/{mv_p0/ut/testQueryOnStar/testQueryOnStar.out =>
nereids_syntax_p0/mv/ut/onStar.out} (100%)
copy
regression-test/data/{mv_p0/ut/testOrderByQueryOnProjectView/testOrderByQueryOnProjectView.out
=> nereids_syntax_p0/mv/ut/orderByOnPView.out} (100%)
copy regression-test/data/{mv_p0/ut/testProjectionMV1/testProjectionMV1.out =>
nereids_syntax_p0/mv/ut/projectMV1.out} (100%)
copy regression-test/data/{mv_p0/ut/testProjectionMV2/testProjectionMV2.out =>
nereids_syntax_p0/mv/ut/projectMV2.out} (100%)
copy regression-test/data/{mv_p0/ut/testProjectionMV3/testProjectionMV3.out =>
nereids_syntax_p0/mv/ut/projectMV3.out} (100%)
copy regression-test/data/{mv_p0/ut/testProjectionMV4/testProjectionMV4.out =>
nereids_syntax_p0/mv/ut/projectMV4.out} (100%)
create mode 100644 regression-test/data/nereids_syntax_p0/mv/ut/subQuery.out
copy regression-test/data/{mv_p0/ut/testUnionDistinct/testUnionDistinct.out =>
nereids_syntax_p0/mv/ut/unionDis.out} (100%)
create mode 100644 regression-test/data/nereids_syntax_p0/rollup/agg.out
create mode 100644 regression-test/data/nereids_syntax_p0/rollup/agg_date.out
copy regression-test/data/{rollup/test_materialized_view_date.out =>
nereids_syntax_p0/rollup/date.out} (100%)
create mode 100644 regression-test/data/nereids_syntax_p0/rollup/hll.out
create mode 100644
regression-test/data/nereids_syntax_p0/rollup/hll_with_light_sc.out
create mode 100644 regression-test/suites/nereids_syntax_p0/advance_mv.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/aggHaveDupBase.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/case_ignore.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/dup_gb_mv_abs.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/dup_gb_mv_plus.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/dup_mv_abs.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/dup_mv_bin.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/dup_mv_bm_hash.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/dup_mv_plus.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/dup_mv_year.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/multi_slot1.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/multi_slot2.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/multi_slot3.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/multi_slot4.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/multi_slot5.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/multi_slot6.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/mv_with_view.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/rollback1.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/single_slot.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/newMv/sum_devide_count.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/MVMultiUsage.groovy
copy
regression-test/suites/{mv_p0/ut/testIncorrectMVRewriteInSubquery/testIncorrectMVRewriteInSubquery.groovy
=> nereids_syntax_p0/mv/ut/MVWithAs.groovy} (50%)
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/aggCDInBitmap.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/aggMVCalcAggFun.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/aggOnAggMV1.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/aggOnAggMV10.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/aggOnAggMV11.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/aggOnAggMV2.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/aggOnAggMV3.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/aggOnAggMV5.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/aggOnAggMV6.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/aggOnAggMV7.groovy
copy
regression-test/suites/{mv_p0/ut/testIncorrectMVRewriteInSubquery/testIncorrectMVRewriteInSubquery.groovy
=> nereids_syntax_p0/mv/ut/bitmapUnionIn.groovy} (50%)
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/incMVReInSub.groovy
copy
regression-test/suites/{mv_p0/ut/testIncorrectMVRewriteInSubquery/testIncorrectMVRewriteInSubquery.groovy
=> nereids_syntax_p0/mv/ut/incRewriteCD.groovy} (50%)
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/joinOnLeftPToJoin.groovy
create mode 100644 regression-test/suites/nereids_syntax_p0/mv/ut/onStar.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/orderByOnPView.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/projectMV1.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/projectMV2.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/projectMV3.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/projectMV4.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/subQuery.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/ut/unionDis.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/mv/where/k123/k123.groovy
create mode 100644 regression-test/suites/nereids_syntax_p0/rollup/agg.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/rollup/agg_date.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/rollup/bitmap.groovy
create mode 100644 regression-test/suites/nereids_syntax_p0/rollup/date.groovy
create mode 100644 regression-test/suites/nereids_syntax_p0/rollup/hll.groovy
create mode 100644
regression-test/suites/nereids_syntax_p0/rollup/hll_with_light_sc.groovy
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]