This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.0 by this push:
new c80c3a85de3 branch-4.0: [test](mtmv) Inject stats for complex mv to
make test case stable #58876 (#58966)
c80c3a85de3 is described below
commit c80c3a85de35b4bb3e51f9d512ff6af8364b0243
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Dec 17 14:46:24 2025 +0800
branch-4.0: [test](mtmv) Inject stats for complex mv to make test case
stable #58876 (#58966)
Cherry-picked from #58876
Co-authored-by: seawinde <[email protected]>
---
.../hudi/hudi_mtmv/test_hudi_rewrite_mtmv.groovy | 82 +-
.../mv/nested/nested_materialized_view.groovy | 1252 +++++++++++++++++++-
2 files changed, 1304 insertions(+), 30 deletions(-)
diff --git
a/regression-test/suites/external_table_p2/hudi/hudi_mtmv/test_hudi_rewrite_mtmv.groovy
b/regression-test/suites/external_table_p2/hudi/hudi_mtmv/test_hudi_rewrite_mtmv.groovy
index 680f7eaa93d..3a4d95730f1 100644
---
a/regression-test/suites/external_table_p2/hudi/hudi_mtmv/test_hudi_rewrite_mtmv.groovy
+++
b/regression-test/suites/external_table_p2/hudi/hudi_mtmv/test_hudi_rewrite_mtmv.groovy
@@ -37,7 +37,82 @@ suite("test_hudi_rewrite_mtmv",
"p2,external,hudi,external_remote,external_remot
);"""
sql """analyze table
${catalogName}.`hudi_mtmv_regression_test`.hudi_table_1 with sync"""
- sql """alter table ${catalogName}.`hudi_mtmv_regression_test`.hudi_table_1
modify column par set stats ('row_count'='10');"""
+ sql '''
+alter table
test_hudi_rewrite_mtmv_catalog.hudi_mtmv_regression_test.hudi_table_1
+modify column age set stats (
+ 'ndv'='10',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='10',
+ 'row_count'='10'
+);
+'''
+
+ sql '''
+alter table
test_hudi_rewrite_mtmv_catalog.hudi_mtmv_regression_test.hudi_table_1
+modify column _hoodie_record_key set stats (
+ 'ndv'='10',
+ 'num_nulls'='0',
+ 'min_value'='20250121171615893_0_0',
+ 'max_value'='20250121171615893_7_1',
+ 'row_count'='10'
+);
+'''
+
+ sql '''
+alter table
test_hudi_rewrite_mtmv_catalog.hudi_mtmv_regression_test.hudi_table_1
+modify column id set stats (
+ 'ndv'='10',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='10',
+ 'row_count'='10'
+);
+'''
+
+ sql '''
+alter table
test_hudi_rewrite_mtmv_catalog.hudi_mtmv_regression_test.hudi_table_1
+modify column _hoodie_file_name set stats (
+ 'ndv'='2',
+ 'num_nulls'='0',
+
'min_value'='58eabd3f-1996-4cb6-83e4-56fd11cb4e7d-0_0-30-108_20250121171615893.parquet',
+
'max_value'='7f98e9ac-bd11-48fd-ac80-9ca6dc1ddb34-0_1-30-109_20250121171615893.parquet',
+ 'row_count'='10'
+);
+'''
+
+ sql '''
+alter table
test_hudi_rewrite_mtmv_catalog.hudi_mtmv_regression_test.hudi_table_1
+modify column _hoodie_partition_path set stats (
+ 'ndv'='2',
+ 'num_nulls'='0',
+ 'min_value'='par=a',
+ 'max_value'='par=b',
+ 'row_count'='10'
+);
+'''
+
+ sql '''
+alter table
test_hudi_rewrite_mtmv_catalog.hudi_mtmv_regression_test.hudi_table_1
+modify column _hoodie_commit_seqno set stats (
+ 'ndv'='10',
+ 'num_nulls'='0',
+ 'min_value'='20250121171615893_0_0',
+ 'max_value'='20250121171615893_1_4',
+ 'row_count'='10'
+);
+'''
+
+ sql '''
+alter table
test_hudi_rewrite_mtmv_catalog.hudi_mtmv_regression_test.hudi_table_1
+modify column _hoodie_commit_time set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='20250121171615893',
+ 'max_value'='20250121171615893',
+ 'row_count'='10'
+);
+'''
sql """drop materialized view if exists ${mvName};"""
@@ -60,8 +135,11 @@ suite("test_hudi_rewrite_mtmv",
"p2,external,hudi,external_remote,external_remot
REFRESH MATERIALIZED VIEW ${mvName} partitions(p_a);
"""
waitingMTMVTaskFinishedByMvName(mvName)
+ sql """analyze table ${mvName} with sync"""
order_qt_refresh_one_partition "SELECT * FROM ${mvName} "
+ sql """alter table ${mvName} modify column par set stats
('row_count'='1');"""
+
mv_rewrite_success(mvSql, mvName)
order_qt_refresh_one_partition_rewrite "${mvSql}"
@@ -75,6 +153,8 @@ suite("test_hudi_rewrite_mtmv",
"p2,external,hudi,external_remote,external_remot
REFRESH MATERIALIZED VIEW ${mvName} auto
"""
waitingMTMVTaskFinishedByMvName(mvName)
+ sql """analyze table ${mvName} with sync"""
+ sql """alter table ${mvName} modify column par set stats
('row_count'='2');"""
order_qt_refresh_auto "SELECT * FROM ${mvName} "
mv_rewrite_success(mvSql, mvName)
diff --git
a/regression-test/suites/nereids_rules_p0/mv/nested/nested_materialized_view.groovy
b/regression-test/suites/nereids_rules_p0/mv/nested/nested_materialized_view.groovy
index d0f8d94150b..0f7a2ce63f7 100644
---
a/regression-test/suites/nereids_rules_p0/mv/nested/nested_materialized_view.groovy
+++
b/regression-test/suites/nereids_rules_p0/mv/nested/nested_materialized_view.groovy
@@ -1,3 +1,5 @@
+import java.util.logging.Logger
+
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -71,7 +73,7 @@ suite("nested_materialized_view") {
// relate to
${DORIS_HOME}/regression-test/data/demo/streamload_input.csv.
// also, you can stream load a http stream, e.g.
http://xxx/some.csv
- file """${getS3Url()}/regression/ssb/sf1/${tableName}.tbl.gz"""
+ file """${getS3Url()}/regression/ssb/sf0.1/${tableName}.tbl.gz"""
time 10000 // limit inflight 10s
@@ -94,6 +96,586 @@ suite("nested_materialized_view") {
}
sql """ sync """
+ sql '''
+alter table customer modify column c_address set stats (
+ 'ndv'='3013',
+ 'num_nulls'='0',
+ 'min_value'=' dcVkxZ,s,9xW ab60a',
+ 'max_value'='zzB4DRh4Eg3uFygL7UZZMiBa',
+ 'row_count'='3000'
+);
+'''
+
+ sql '''
+alter table customer modify column c_custkey set stats (
+ 'ndv'='3014',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='3000',
+ 'row_count'='3000'
+);
+'''
+
+ sql '''
+alter table customer modify column c_nation set stats (
+ 'ndv'='25',
+ 'num_nulls'='0',
+ 'min_value'='ALGERIA',
+ 'max_value'='VIETNAM',
+ 'row_count'='3000'
+);
+'''
+
+ sql '''
+alter table customer modify column c_mktsegment set stats (
+ 'ndv'='5',
+ 'num_nulls'='0',
+ 'min_value'='AUTOMOBILE',
+ 'max_value'='MACHINERY',
+ 'row_count'='3000'
+);
+'''
+
+ sql '''
+alter table customer modify column c_name set stats (
+ 'ndv'='2997',
+ 'num_nulls'='0',
+ 'min_value'='Customer#000000001',
+ 'max_value'='Customer#000003000',
+ 'row_count'='3000'
+);
+'''
+
+ sql '''
+alter table customer modify column c_region set stats (
+ 'ndv'='5',
+ 'num_nulls'='0',
+ 'min_value'='AFRICA',
+ 'max_value'='MIDDLE EAST',
+ 'row_count'='3000'
+);
+'''
+
+ sql '''
+alter table customer modify column c_city set stats (
+ 'ndv'='250',
+ 'num_nulls'='0',
+ 'min_value'='ALGERIA 0',
+ 'max_value'='VIETNAM 9',
+ 'row_count'='3000'
+);
+'''
+
+ sql '''
+alter table customer modify column c_phone set stats (
+ 'ndv'='3003',
+ 'num_nulls'='0',
+ 'min_value'='10-109-430-5638',
+ 'max_value'='34-996-906-1652',
+ 'row_count'='3000'
+);
+'''
+
+ sql '''
+alter table date modify column d_datekey set stats (
+ 'ndv'='254',
+ 'num_nulls'='0',
+ 'min_value'='19920101',
+ 'max_value'='19920911',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_daynuminyear set stats (
+ 'ndv'='257',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='255',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_lastdayinweekfl set stats (
+ 'ndv'='2',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='1',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_year set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='1992',
+ 'max_value'='1992',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_yearmonth set stats (
+ 'ndv'='9',
+ 'num_nulls'='0',
+ 'min_value'='Apr1992',
+ 'max_value'='Sep1992',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_daynuminmonth set stats (
+ 'ndv'='31',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='31',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_daynuminweek set stats (
+ 'ndv'='7',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='7',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_holidayfl set stats (
+ 'ndv'='2',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='1',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_monthnuminyear set stats (
+ 'ndv'='9',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='9',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_weekdayfl set stats (
+ 'ndv'='2',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='1',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_yearmonthnum set stats (
+ 'ndv'='9',
+ 'num_nulls'='0',
+ 'min_value'='199201',
+ 'max_value'='199209',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_month set stats (
+ 'ndv'='9',
+ 'num_nulls'='0',
+ 'min_value'='April',
+ 'max_value'='September',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_weeknuminyear set stats (
+ 'ndv'='37',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='37',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_date set stats (
+ 'ndv'='255',
+ 'num_nulls'='0',
+ 'min_value'='April 1, 1992',
+ 'max_value'='September 9, 1992',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_dayofweek set stats (
+ 'ndv'='7',
+ 'num_nulls'='0',
+ 'min_value'='Friday',
+ 'max_value'='Wednesday',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_lastdayinmonthfl set stats (
+ 'ndv'='2',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='1',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table date modify column d_sellingseason set stats (
+ 'ndv'='4',
+ 'num_nulls'='0',
+ 'min_value'='Fall',
+ 'max_value'='Winter',
+ 'row_count'='255'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_custkey set stats (
+ 'ndv'='2001',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='2999',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_extendedprice set stats (
+ 'ndv'='128773',
+ 'num_nulls'='0',
+ 'min_value'='90100',
+ 'max_value'='9594950',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_revenue set stats (
+ 'ndv'='453898',
+ 'num_nulls'='0',
+ 'min_value'='81720',
+ 'max_value'='9569950',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_suppkey set stats (
+ 'ndv'='201',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='200',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_quantity set stats (
+ 'ndv'='50',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='50',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_shipmode set stats (
+ 'ndv'='7',
+ 'num_nulls'='0',
+ 'min_value'='AIR',
+ 'max_value'='TRUCK',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_discount set stats (
+ 'ndv'='11',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='10',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_partkey set stats (
+ 'ndv'='19968',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='20000',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_shippriority set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='0',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_orderdate set stats (
+ 'ndv'='2408',
+ 'num_nulls'='0',
+ 'min_value'='19920101',
+ 'max_value'='19980802',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_tax set stats (
+ 'ndv'='9',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='8',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_commitdate set stats (
+ 'ndv'='2445',
+ 'num_nulls'='0',
+ 'min_value'='19920131',
+ 'max_value'='19981031',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_linenumber set stats (
+ 'ndv'='7',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='7',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_orderkey set stats (
+ 'ndv'='150431',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='600000',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_orderpriority set stats (
+ 'ndv'='5',
+ 'num_nulls'='0',
+ 'min_value'='1-URGENT',
+ 'max_value'='5-LOW',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_ordtotalprice set stats (
+ 'ndv'='150461',
+ 'num_nulls'='0',
+ 'min_value'='83340',
+ 'max_value'='47912921',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table lineorder modify column lo_supplycost set stats (
+ 'ndv'='2136',
+ 'num_nulls'='0',
+ 'min_value'='54060',
+ 'max_value'='115139',
+ 'row_count'='600572'
+);
+'''
+
+ sql '''
+alter table part modify column p_category set stats (
+ 'ndv'='25',
+ 'num_nulls'='0',
+ 'min_value'='MFGR#11',
+ 'max_value'='MFGR#55',
+ 'row_count'='20000'
+);
+'''
+
+ sql '''
+alter table part modify column p_name set stats (
+ 'ndv'='7495',
+ 'num_nulls'='0',
+ 'min_value'='almond antique',
+ 'max_value'='yellow white',
+ 'row_count'='20000'
+);
+'''
+
+ sql '''
+alter table part modify column p_type set stats (
+ 'ndv'='150',
+ 'num_nulls'='0',
+ 'min_value'='ECONOMY ANODIZED BRASS',
+ 'max_value'='STANDARD POLISHED TIN',
+ 'row_count'='20000'
+);
+'''
+
+ sql '''
+alter table part modify column p_mfgr set stats (
+ 'ndv'='5',
+ 'num_nulls'='0',
+ 'min_value'='MFGR#1',
+ 'max_value'='MFGR#5',
+ 'row_count'='20000'
+);
+'''
+
+ sql '''
+alter table part modify column p_color set stats (
+ 'ndv'='92',
+ 'num_nulls'='0',
+ 'min_value'='almond',
+ 'max_value'='yellow',
+ 'row_count'='20000'
+);
+'''
+
+ sql '''
+alter table part modify column p_partkey set stats (
+ 'ndv'='19968',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='20000',
+ 'row_count'='20000'
+);
+'''
+
+ sql '''
+alter table part modify column p_size set stats (
+ 'ndv'='50',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='50',
+ 'row_count'='20000'
+);
+'''
+
+ sql '''
+alter table part modify column p_container set stats (
+ 'ndv'='40',
+ 'num_nulls'='0',
+ 'min_value'='JUMBO BAG',
+ 'max_value'='WRAP PKG',
+ 'row_count'='20000'
+);
+'''
+
+ sql '''
+alter table part modify column p_brand set stats (
+ 'ndv'='1002',
+ 'num_nulls'='0',
+ 'min_value'='MFGR#111',
+ 'max_value'='MFGR#559',
+ 'row_count'='20000'
+);
+'''
+
+
+ sql '''
+alter table supplier modify column s_city set stats (
+ 'ndv'='143',
+ 'num_nulls'='0',
+ 'min_value'='ALGERIA 2',
+ 'max_value'='VIETNAM 8',
+ 'row_count'='200'
+);
+'''
+
+ sql '''
+alter table supplier modify column s_region set stats (
+ 'ndv'='5',
+ 'num_nulls'='0',
+ 'min_value'='AFRICA',
+ 'max_value'='MIDDLE EAST',
+ 'row_count'='200'
+);
+'''
+
+ sql '''
+alter table supplier modify column s_suppkey set stats (
+ 'ndv'='201',
+ 'num_nulls'='0',
+ 'min_value'='1',
+ 'max_value'='200',
+ 'row_count'='200'
+);
+'''
+
+ sql '''
+alter table supplier modify column s_name set stats (
+ 'ndv'='201',
+ 'num_nulls'='0',
+ 'min_value'='Supplier#000000001',
+ 'max_value'='Supplier#000000200',
+ 'row_count'='200'
+);
+'''
+
+ sql '''
+alter table supplier modify column s_phone set stats (
+ 'ndv'='200',
+ 'num_nulls'='0',
+ 'min_value'='10-127-851-8031',
+ 'max_value'='34-908-631-4424',
+ 'row_count'='200'
+);
+'''
+
+ sql '''
+alter table supplier modify column s_address set stats (
+ 'ndv'='197',
+ 'num_nulls'='0',
+ 'min_value'=' 0W7IPdkpWycU',
+ 'max_value'='zaux5FT',
+ 'row_count'='200'
+);
+'''
+
+ sql '''
+alter table supplier modify column s_nation set stats (
+ 'ndv'='25',
+ 'num_nulls'='0',
+ 'min_value'='ALGERIA',
+ 'max_value'='VIETNAM',
+ 'row_count'='200'
+);
+'''
String db = context.config.getDbNameByFile(context.file)
sql "use ${db}"
@@ -256,6 +838,25 @@ suite("nested_materialized_view") {
// complex nest mv rewrite
+ // chose 4 different dates to create 4 groups of nested materialized views
+ def fetchFourOrderDates = {
+ def dates = []
+ def result = sql """
+ SELECT DISTINCT lo_orderdate
+ FROM lineorder
+ INNER JOIN customer ON lo_custkey = c_custkey
+ INNER JOIN date ON lo_orderdate = d_datekey
+ LIMIT 4;
+ """
+ result.each { row ->
+ dates.add(row[0])
+ }
+ return dates;
+ }
+
+ def date = fetchFourOrderDates();
+ logger.info("Fetched order dates for nested mv test: " + date);
+
create_async_mv(db, "mv1_a", """
select
lo_custkey,
@@ -267,13 +868,15 @@ suite("nested_materialized_view") {
lineorder
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19930423
+ d_daynuminweek > 0 and lo_orderdate = ${date[0]}
group by
lo_custkey,
lo_partkey,
lo_orderkey,
lo_orderdate;""")
+ sql """alter table mv1_a modify column lo_custkey set stats
('row_count'='2384');"""
+
create_async_mv(db, "mv2_a", """
select
lo_custkey,
@@ -284,11 +887,13 @@ suite("nested_materialized_view") {
inner join customer on lo_custkey = c_custkey
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19930423
+ d_daynuminweek > 0 and lo_orderdate = ${date[0]}
group by
lo_custkey,
lo_orderdate;""")
+ sql """alter table mv2_a modify column lo_custkey set stats
('row_count'='580');"""
+
create_async_mv(db, "mv4_a", """
select
lo_partkey,
@@ -299,11 +904,13 @@ suite("nested_materialized_view") {
inner join supplier on lo_suppkey = s_suppkey
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19930423
+ d_daynuminweek > 0 and lo_orderdate = ${date[0]}
group by
lo_partkey,
lo_orderdate;""")
+ sql """alter table mv4_a modify column lo_partkey set stats
('row_count'='2371');"""
+
create_async_mv(db, "mv_all_6_a", """
select
'测试1' as nm,
@@ -329,6 +936,8 @@ from
and t6.d_sellingseason = 'Spring';
""")
+ sql """alter table mv_all_6_a modify column lo_custkey set stats
('row_count'='2384');"""
+
create_async_mv(db, "mv1_b", """
select
lo_custkey,
@@ -340,13 +949,15 @@ select
lineorder
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19980421
+ d_daynuminweek > 0 and lo_orderdate = ${date[1]}
group by
lo_custkey,
lo_partkey,
lo_orderkey,
lo_orderdate;""")
+ sql """alter table mv1_b modify column lo_custkey set stats
('row_count'='2565');"""
+
create_async_mv(db, "mv2_b", """
select
lo_custkey,
@@ -357,11 +968,13 @@ select
inner join customer on lo_custkey = c_custkey
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19980421
+ d_daynuminweek > 0 and lo_orderdate = ${date[1]}
group by
lo_custkey,
lo_orderdate;""")
+ sql """alter table mv2_b modify column lo_custkey set stats
('row_count'='641');"""
+
create_async_mv(db, "mv4_b", """
select
lo_partkey,
@@ -372,11 +985,13 @@ select
inner join supplier on lo_suppkey = s_suppkey
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19980421
+ d_daynuminweek > 0 and lo_orderdate = ${date[1]}
group by
lo_partkey,
lo_orderdate;""")
+ sql """alter table mv4_b modify column lo_partkey set stats
('row_count'='2546');"""
+
create_async_mv(db, "mv_all_6_b", """
select
'测试1' as nm,
@@ -402,6 +1017,7 @@ from
and t6.d_sellingseason = 'Spring';
""")
+ sql """alter table mv_all_6_b modify column lo_custkey set stats
('row_count'='2565');"""
create_async_mv(db, "mv1_c", """
select
@@ -414,13 +1030,15 @@ from
lineorder
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19940413
+ d_daynuminweek > 0 and lo_orderdate = ${date[3]}
group by
lo_custkey,
lo_partkey,
lo_orderkey,
lo_orderdate;""")
+ sql """alter table mv1_c modify column lo_custkey set stats
('row_count'='2603');"""
+
create_async_mv(db, "mv2_c", """
select
lo_custkey,
@@ -431,11 +1049,13 @@ from
inner join customer on lo_custkey = c_custkey
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19940413
+ d_daynuminweek > 0 and lo_orderdate = ${date[3]}
group by
lo_custkey,
lo_orderdate;""")
+ sql """alter table mv2_c modify column lo_custkey set stats
('row_count'='641');"""
+
create_async_mv(db, "mv4_c", """
select
lo_partkey,
@@ -446,11 +1066,13 @@ from
inner join supplier on lo_suppkey = s_suppkey
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19940413
+ d_daynuminweek > 0 and lo_orderdate = ${date[3]}
group by
lo_partkey,
lo_orderdate;""")
+ sql """alter table mv4_c modify column lo_partkey set stats
('row_count'='2581');"""
+
create_async_mv(db, "mv_all_6_c", """
select
'测试1' as nm,
@@ -476,6 +1098,7 @@ from
and t6.d_sellingseason = 'Spring';
""")
+ sql """alter table mv_all_6_c modify column lo_custkey set stats
('row_count'='2603');"""
create_async_mv(db, "mv1_d", """
select
@@ -488,13 +1111,15 @@ from
lineorder
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19940218
+ d_daynuminweek > 0 and lo_orderdate = ${date[2]}
group by
lo_custkey,
lo_partkey,
lo_orderkey,
lo_orderdate;""")
+ sql """alter table mv1_d modify column lo_custkey set stats
('row_count'='2327');"""
+
create_async_mv(db, "mv2_d", """
select
lo_custkey,
@@ -505,11 +1130,13 @@ from
inner join customer on lo_custkey = c_custkey
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19940218
+ d_daynuminweek > 0 and lo_orderdate = ${date[2]}
group by
lo_custkey,
lo_orderdate;""")
+ sql """alter table mv2_d modify column lo_custkey set stats
('row_count'='572');"""
+
create_async_mv(db, "mv4_d", """
select
lo_partkey,
@@ -520,11 +1147,13 @@ from
inner join supplier on lo_suppkey = s_suppkey
inner join date on lo_orderdate = d_datekey
where
- d_daynuminweek > 0 and lo_orderdate = 19940218
+ d_daynuminweek > 0 and lo_orderdate = ${date[2]}
group by
lo_partkey,
lo_orderdate;""")
+ sql """alter table mv4_d modify column lo_partkey set stats
('row_count'='2307');"""
+
create_async_mv(db, "mv_all_6_d", """
select
'测试1' as nm,
@@ -550,6 +1179,8 @@ from
and t6.d_sellingseason = 'Spring';
""")
+ sql """alter table mv_all_6_d modify column lo_custkey set stats
('row_count'='2327');"""
+
def query2_0 = """
select * from (
select
@@ -575,7 +1206,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19930423
+ and lo_orderdate = ${date[0]}
group by
lo_custkey,
lo_partkey,
@@ -593,7 +1224,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19930423
+ and lo_orderdate = ${date[0]}
group by
lo_custkey,
lo_orderdate
@@ -610,7 +1241,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19930423
+ and lo_orderdate = ${date[0]}
group by
lo_partkey,
lo_orderdate
@@ -627,7 +1258,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19930423
+ and lo_orderdate = ${date[0]}
group by
lo_partkey,
lo_orderdate
@@ -661,7 +1292,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19980421
+ and lo_orderdate = ${date[1]}
group by
lo_custkey,
lo_partkey,
@@ -679,7 +1310,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19980421
+ and lo_orderdate = ${date[1]}
group by
lo_custkey,
lo_orderdate
@@ -696,7 +1327,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19980421
+ and lo_orderdate = ${date[1]}
group by
lo_partkey,
lo_orderdate
@@ -713,7 +1344,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19980421
+ and lo_orderdate = ${date[1]}
group by
lo_partkey,
lo_orderdate
@@ -747,7 +1378,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19940413
+ and lo_orderdate = ${date[3]}
group by
lo_custkey,
lo_partkey,
@@ -765,7 +1396,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19940413
+ and lo_orderdate = ${date[3]}
group by
lo_custkey,
lo_orderdate
@@ -782,7 +1413,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19940413
+ and lo_orderdate = ${date[3]}
group by
lo_partkey,
lo_orderdate
@@ -799,7 +1430,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19940413
+ and lo_orderdate = ${date[3]}
group by
lo_partkey,
lo_orderdate
@@ -833,7 +1464,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19940218
+ and lo_orderdate = ${date[2]}
group by
lo_custkey,
lo_partkey,
@@ -851,7 +1482,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19940218
+ and lo_orderdate = ${date[2]}
group by
lo_custkey,
lo_orderdate
@@ -868,7 +1499,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19940218
+ and lo_orderdate = ${date[2]}
group by
lo_partkey,
lo_orderdate
@@ -885,7 +1516,7 @@ select * from (
inner join date on lo_orderdate = d_datekey
where
d_daynuminweek > 0
- and lo_orderdate = 19940218
+ and lo_orderdate = ${date[2]}
group by
lo_partkey,
lo_orderdate
@@ -898,8 +1529,571 @@ select * from (
) t order by 1,2,3,4,5,6,7,8,9;
"""
+
+ sql '''
+alter table mv1_b modify column lo_orderkey set stats (
+ 'ndv'='69',
+ 'num_nulls'='0',
+ 'min_value'='16070',
+ 'max_value'='572579',
+ 'row_count'='276'
+);
+'''
+
+ sql '''
+alter table mv1_b modify column sum_value1 set stats (
+ 'ndv'='252',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='85274100',
+ 'row_count'='276'
+);
+'''
+
+ sql '''
+alter table mv1_b modify column lo_partkey set stats (
+ 'ndv'='273',
+ 'num_nulls'='0',
+ 'min_value'='210',
+ 'max_value'='19939',
+ 'row_count'='276'
+);
+'''
+
+ sql '''
+alter table mv1_b modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920604',
+ 'max_value'='19920604',
+ 'row_count'='276'
+);
+'''
+
+
+ sql '''
+alter table mv2_a modify column sum_value2 set stats (
+ 'ndv'='66',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='185206423',
+ 'row_count'='66'
+);
+'''
+
+ sql '''
+alter table mv2_a modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920529',
+ 'max_value'='19920529',
+ 'row_count'='66'
+);
+'''
+
+ sql '''
+alter table mv1_a modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920529',
+ 'max_value'='19920529',
+ 'row_count'='269'
+);
+'''
+
+ sql '''
+alter table mv1_a modify column sum_value1 set stats (
+ 'ndv'='246',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='81053280',
+ 'row_count'='269'
+);
+'''
+
+ sql '''
+alter table mv1_a modify column lo_orderkey set stats (
+ 'ndv'='67',
+ 'num_nulls'='0',
+ 'min_value'='8291',
+ 'max_value'='596935',
+ 'row_count'='269'
+);
+'''
+
+ sql '''
+alter table mv1_a modify column lo_partkey set stats (
+ 'ndv'='267',
+ 'num_nulls'='0',
+ 'min_value'='323',
+ 'max_value'='19957',
+ 'row_count'='269'
+);
+'''
+
+ sql '''
+alter table mv1_d modify column lo_partkey set stats (
+ 'ndv'='242',
+ 'num_nulls'='0',
+ 'min_value'='253',
+ 'max_value'='19861',
+ 'row_count'='245'
+);
+'''
+
+ sql '''
+alter table mv1_d modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920530',
+ 'max_value'='19920530',
+ 'row_count'='245'
+);
+'''
+
+ sql '''
+alter table mv1_d modify column sum_value1 set stats (
+ 'ndv'='225',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='86919140',
+ 'row_count'='245'
+);
+'''
+
+ sql '''
+alter table mv1_d modify column lo_orderkey set stats (
+ 'ndv'='64',
+ 'num_nulls'='0',
+ 'min_value'='16486',
+ 'max_value'='575302',
+ 'row_count'='245'
+);
+'''
+
+ sql '''
+alter table mv2_c modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920828',
+ 'max_value'='19920828',
+ 'row_count'='54'
+);
+'''
+
+ sql '''
+alter table mv2_c modify column sum_value2 set stats (
+ 'ndv'='54',
+ 'num_nulls'='0',
+ 'min_value'='2195164',
+ 'max_value'='158761143',
+ 'row_count'='54'
+);
+'''
+
+ sql '''
+alter table mv4_a modify column sum_value4 set stats (
+ 'ndv'='245',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='81053280',
+ 'row_count'='268'
+);
+'''
+
+ sql '''
+alter table mv4_a modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920529',
+ 'max_value'='19920529',
+ 'row_count'='268'
+);
+'''
+
+ sql '''
+alter table mv2_b modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920604',
+ 'max_value'='19920604',
+ 'row_count'='67'
+);
+'''
+
+ sql '''
+alter table mv2_b modify column sum_value2 set stats (
+ 'ndv'='67',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='176373155',
+ 'row_count'='67'
+);
+'''
+
+ sql '''
+alter table mv1_c modify column sum_value1 set stats (
+ 'ndv'='189',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='83203120',
+ 'row_count'='213'
+);
+'''
+
+ sql '''
+alter table mv1_c modify column lo_partkey set stats (
+ 'ndv'='212',
+ 'num_nulls'='0',
+ 'min_value'='131',
+ 'max_value'='19923',
+ 'row_count'='213'
+);
+'''
+
+ sql '''
+alter table mv1_c modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920828',
+ 'max_value'='19920828',
+ 'row_count'='213'
+);
+'''
+
+ sql '''
+alter table mv1_c modify column lo_orderkey set stats (
+ 'ndv'='54',
+ 'num_nulls'='0',
+ 'min_value'='1504',
+ 'max_value'='587201',
+ 'row_count'='213'
+);
+'''
+
+ sql '''
+alter table mv4_c modify column sum_value4 set stats (
+ 'ndv'='188',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='83203120',
+ 'row_count'='212'
+);
+'''
+
+ sql '''
+alter table mv4_c modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920828',
+ 'max_value'='19920828',
+ 'row_count'='212'
+);
+'''
+
+ sql '''
+alter table mv4_b modify column sum_value4 set stats (
+ 'ndv'='251',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='85274100',
+ 'row_count'='275'
+);
+'''
+
+ sql '''
+alter table mv4_b modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920604',
+ 'max_value'='19920604',
+ 'row_count'='275'
+);
+'''
+
+ sql '''
+alter table mv2_d modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920530',
+ 'max_value'='19920530',
+ 'row_count'='62'
+);
+'''
+
+ sql '''
+alter table mv2_d modify column sum_value2 set stats (
+ 'ndv'='61',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='207242262',
+ 'row_count'='62'
+);
+'''
+
+ sql '''
+alter table mv4_d modify column sum_value4 set stats (
+ 'ndv'='224',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='86919140',
+ 'row_count'='243'
+);
+'''
+
+ sql '''
+alter table mv4_d modify column lo_orderdate set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='19920530',
+ 'max_value'='19920530',
+ 'row_count'='243'
+);
+'''
+
+ sql '''
+alter table mv_all_6_a modify column __subtract_5 set stats (
+ 'ndv'='3',
+ 'num_nulls'='0',
+ 'min_value'='-28304424',
+ 'max_value'='0',
+ 'row_count'='269'
+);
+'''
+
+ sql '''
+alter table mv_all_6_a modify column __subtract_4 set stats (
+ 'ndv'='3',
+ 'num_nulls'='0',
+ 'min_value'='-28304424',
+ 'max_value'='0',
+ 'row_count'='269'
+);
+'''
+
+ sql '''
+alter table mv_all_6_a modify column nm set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='测试1',
+ 'max_value'='测试1',
+ 'row_count'='269'
+);
+'''
+
+ sql '''
+alter table mv_all_6_a modify column sum_value1 set stats (
+ 'ndv'='246',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='81053280',
+ 'row_count'='269'
+);
+'''
+
+ sql '''
+alter table mv_all_6_a modify column t_nm set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='测试2',
+ 'max_value'='测试2',
+ 'row_count'='269'
+);
+'''
+
+ sql '''
+alter table mv_all_6_a modify column __subtract_3 set stats (
+ 'ndv'='262',
+ 'num_nulls'='0',
+ 'min_value'='-183330928',
+ 'max_value'='2785088',
+ 'row_count'='269'
+);
+'''
+
+ sql '''
+alter table mv_all_6_b modify column t_nm set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='测试2',
+ 'max_value'='测试2',
+ 'row_count'='276'
+);
+'''
+
+ sql '''
+alter table mv_all_6_b modify column nm set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='测试1',
+ 'max_value'='测试1',
+ 'row_count'='276'
+);
+'''
+
+ sql '''
+alter table mv_all_6_b modify column __subtract_4 set stats (
+ 'ndv'='3',
+ 'num_nulls'='0',
+ 'min_value'='-4352247',
+ 'max_value'='0',
+ 'row_count'='276'
+);
+'''
+
+ sql '''
+alter table mv_all_6_b modify column sum_value1 set stats (
+ 'ndv'='252',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='85274100',
+ 'row_count'='276'
+);
+'''
+
+ sql '''
+alter table mv_all_6_b modify column __subtract_3 set stats (
+ 'ndv'='275',
+ 'num_nulls'='0',
+ 'min_value'='-176373155',
+ 'max_value'='2401722',
+ 'row_count'='276'
+);
+'''
+
+ sql '''
+alter table mv_all_6_b modify column __subtract_5 set stats (
+ 'ndv'='3',
+ 'num_nulls'='0',
+ 'min_value'='-4352247',
+ 'max_value'='0',
+ 'row_count'='276'
+);
+'''
+
+ sql '''
+alter table mv_all_6_c modify column __subtract_3 set stats (
+ 'ndv'='209',
+ 'num_nulls'='0',
+ 'min_value'='-155357379',
+ 'max_value'='7833780',
+ 'row_count'='213'
+);
+'''
+
+ sql '''
+alter table mv_all_6_c modify column t_nm set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='测试2',
+ 'max_value'='测试2',
+ 'row_count'='213'
+);
+'''
+
+ sql '''
+alter table mv_all_6_c modify column __subtract_4 set stats (
+ 'ndv'='3',
+ 'num_nulls'='0',
+ 'min_value'='-22727760',
+ 'max_value'='0',
+ 'row_count'='213'
+);
+'''
+
+ sql '''
+alter table mv_all_6_c modify column nm set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='测试1',
+ 'max_value'='测试1',
+ 'row_count'='213'
+);
+'''
+
+ sql '''
+alter table mv_all_6_c modify column sum_value1 set stats (
+ 'ndv'='189',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='83203120',
+ 'row_count'='213'
+);
+'''
+
+ sql '''
+alter table mv_all_6_c modify column __subtract_5 set stats (
+ 'ndv'='3',
+ 'num_nulls'='0',
+ 'min_value'='-22727760',
+ 'max_value'='0',
+ 'row_count'='213'
+);
+'''
+
+ sql '''
+alter table mv_all_6_d modify column __subtract_3 set stats (
+ 'ndv'='240',
+ 'num_nulls'='0',
+ 'min_value'='-207242262',
+ 'max_value'='7835790',
+ 'row_count'='245'
+);
+'''
+
+ sql '''
+alter table mv_all_6_d modify column nm set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='测试1',
+ 'max_value'='测试1',
+ 'row_count'='245'
+);
+'''
+
+ sql '''
+alter table mv_all_6_d modify column __subtract_5 set stats (
+ 'ndv'='4',
+ 'num_nulls'='0',
+ 'min_value'='-64365462',
+ 'max_value'='0',
+ 'row_count'='245'
+);
+'''
+
+ sql '''
+alter table mv_all_6_d modify column sum_value1 set stats (
+ 'ndv'='225',
+ 'num_nulls'='0',
+ 'min_value'='0',
+ 'max_value'='86919140',
+ 'row_count'='245'
+);
+'''
+
+ sql '''
+alter table mv_all_6_d modify column __subtract_4 set stats (
+ 'ndv'='4',
+ 'num_nulls'='0',
+ 'min_value'='-64365462',
+ 'max_value'='0',
+ 'row_count'='245'
+);
+'''
+
+ sql '''
+alter table mv_all_6_d modify column t_nm set stats (
+ 'ndv'='1',
+ 'num_nulls'='0',
+ 'min_value'='测试2',
+ 'max_value'='测试2',
+ 'row_count'='245'
+);
+'''
+
sql "SET enable_materialized_view_rewrite= true"
sql "SET enable_materialized_view_nest_rewrite = true"
+ sql "SET materialized_view_rewrite_duration_threshold_ms = 60000"
// DP Hyper can not use pre materialized view rewrite
sql """SET enable_dphyp_optimizer = false"""
mv_rewrite_all_success_without_check_chosen(query2_0, ["mv_all_6_a",
"mv_all_6_b", "mv_all_6_c", "mv_all_6_d"],
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]