branch-2.1: [test](mv) Fix regression test case to make stable #47880 (#48262)

This commit is contained in:
seawinde
2025-03-05 09:30:18 +08:00
committed by GitHub
parent 08e7d920db
commit ad10da3d7c
10 changed files with 129 additions and 107 deletions

View File

@ -2,12 +2,18 @@
-- !select_star --
-4 -4 -4 d
1 1 1 a
1 1 1 a
1 1 1 a
2 2 2 b
2 2 2 b
2 2 2 b
3 -3 \N c
3 -3 \N c
3 -3 \N c
-- !select_mv --
-3 1
2 7
3 9
2 21
3 27
4 \N

View File

@ -1,107 +1,107 @@
-- This file is automatically generated. You should know what you did if you want to edit this
-- !query_3_0_before --
2023-10-17 2023-10-17 2 3 199.00
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-17 2023-10-17 2 3 1990.00
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
-- !query_3_0_after --
2023-10-17 2023-10-17 2 3 199.00
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-17 2023-10-17 2 3 1990.00
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
-- !query_4_0_before --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
-- !query_4_0_after --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
-- !query_7_0_before --
2023-10-17 2023-10-17 2 3 199.00
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-17 2023-10-17 2 3 1990.00
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
2023-10-21 \N 2 3 \N
-- !query_7_0_after --
2023-10-17 2023-10-17 2 3 199.00
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-17 2023-10-17 2 3 1990.00
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
2023-10-21 \N 2 3 \N
-- !query_8_0_before --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
-- !query_8_0_after --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
-- !query_11_0_before --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
2023-10-21 \N 2 3 \N
-- !query_11_0_after --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
2023-10-21 \N 2 3 \N
-- !query_12_0_before --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
-- !query_12_0_after --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2 3 1592.00
-- !query_16_0_before --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2 3 436.80
2023-10-19 2023-10-19 2 3 398.00
-- !query_16_0_after --
2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2 3 436.80
2023-10-19 2023-10-19 2 3 398.00
-- !query_17_0_before --
2023-10-18 2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2023-10-19 2 3 1592.00
2023-10-21 2023-10-21 \N 2 3 \N
2023-11-21 2023-11-21 \N 2 3 \N
-- !query_17_0_after --
2023-10-18 2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2023-10-19 2 3 1592.00
2023-10-21 2023-10-21 \N 2 3 \N
2023-11-21 2023-11-21 \N 2 3 \N
-- !query_18_0_before --
2023-10-18 2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2023-10-19 2 3 1592.00
-- !query_18_0_after --
2023-10-18 2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2023-10-19 2 3 1592.00
-- !query_19_0_before --
2023-10-18 2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2023-10-19 2 3 1592.00
2023-10-21 2023-10-21 \N 2 3 \N
2023-11-21 2023-11-21 \N 2 3 \N
2023-11-22 2023-11-22 \N 2 3 \N
-- !query_19_0_after --
2023-10-18 2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2023-10-19 2 3 1592.00
2023-10-21 2023-10-21 \N 2 3 \N
2023-11-21 2023-11-21 \N 2 3 \N
2023-11-22 2023-11-22 \N 2 3 \N
-- !query_20_0_before --
2023-10-18 2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2023-10-19 2 3 1592.00
-- !query_20_0_after --
2023-10-18 2023-10-18 2023-10-18 2 3 109.20
2023-10-19 2023-10-19 2023-10-19 2 3 99.50
2023-10-18 2023-10-18 2023-10-18 2 3 1747.20
2023-10-19 2023-10-19 2023-10-19 2 3 1592.00

View File

@ -32,8 +32,14 @@ suite ("multi_slot_k1p2ap3ps") {
properties("replication_num" = "1");
"""
sql "insert into d_table select 1,1,1,'a';"
sql "insert into d_table select 1,1,1,'a';"
sql "insert into d_table select 1,1,1,'a';"
sql "insert into d_table select 2,2,2,'b';"
sql "insert into d_table select 2,2,2,'b';"
sql "insert into d_table select 2,2,2,'b';"
sql "insert into d_table select 3,-3,null,'c';"
sql "insert into d_table select 3,-3,null,'c';"
sql "insert into d_table select 3,-3,null,'c';"
createMV ("create materialized view k1p2ap3ps as select k1+1,sum(abs(k2+2)+k3+3) from d_table group by k1+1;")
@ -41,13 +47,13 @@ suite ("multi_slot_k1p2ap3ps") {
sql "insert into d_table select -4,-4,-4,'d';"
sql "analyze table d_table with sync;"
sql """alter table d_table modify column k1 set stats ('row_count'='5');"""
sql """alter table d_table modify column k1 set stats ('row_count'='11');"""
sql """set enable_stats=false;"""
qt_select_star "select * from d_table order by k1;"
order_qt_select_star "select * from d_table order by k1;"
mv_rewrite_success("select k1+1,sum(abs(k2+2)+k3+3) from d_table group by k1+1 order by k1+1;", "k1p2ap3ps")
qt_select_mv "select k1+1,sum(abs(k2+2)+k3+3) from d_table group by k1+1 order by k1+1;"
order_qt_select_mv "select k1+1,sum(abs(k2+2)+k3+3) from d_table group by k1+1 order by k1+1;"
sql """set enable_stats=true;"""
mv_rewrite_success("select k1+1,sum(abs(k2+2)+k3+3) from d_table group by k1+1 order by k1+1;", "k1p2ap3ps")

View File

@ -80,7 +80,7 @@ suite ("mv_ssb_q_1_1") {
(19930101 , 1 , 1 , 1 , 1 , 1 , '1' , 1 , 1 , 1 , 1 , 100 , 1 , 1 , 1 , '2023-06-09' , 'shipmode' , 'name' , 'address' , 'city' , 'nation' , 'AMERICA' , 'phone' , 'mktsegment' , 'name' , 'address' , 'city' , 'nation' , 'AMERICA' ,'phone', 'name', 'MFGR#1', 'category', 'brand', 'color', 'type', 4 ,'container'),
(19930101 , 1 , 1 , 1 , 1 , 1 , '1' , 1 , 1 , 1 , 1 , 100 , 1 , 1 , 1 , '2023-06-09' , 'shipmode' , 'name' , 'address' , 'city' , 'nation' , 'AMERICA' , 'phone' , 'mktsegment' , 'name' , 'address' , 'city' , 'nation' , 'AMERICA' ,'phone', 'name', 'MFGR#1', 'category', 'brand', 'color', 'type', 4 ,'container');"""
sql """alter table lineorder_flat modify column LO_ORDERDATE set stats ('row_count'='6');"""
sql """alter table lineorder_flat modify column C_CITY set stats ('row_count'='6');"""
createMV ("""create materialized view lineorder_q_1_1 as
SELECT LO_ORDERKEY, SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue
@ -101,6 +101,7 @@ suite ("mv_ssb_q_1_1") {
qt_select_star "select * from lineorder_flat order by 1,2, P_MFGR;"
sql "analyze table lineorder_flat with sync;"
sql """alter table lineorder_flat modify column C_CITY set stats ('row_count'='6');"""
mv_rewrite_success("""SELECT SUM(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue
FROM lineorder_flat
WHERE

View File

@ -20,8 +20,6 @@ import java.time.LocalDate
suite("create_commit_mtmv_many_tasks", "p2") {
def src_database_name = context.config.getDbNameByFile(context.file)
sql """drop database if exists ${src_database_name};"""
sql """create database ${src_database_name};"""
sql """use ${src_database_name};"""
def table_name1 = "lineitem"

View File

@ -71,6 +71,7 @@ suite("mtmv_range_date_datetrunc_date_part_up") {
(1, 2, 3, null, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-17', '2023-10-17', 'a', 'b', 'yyyyyyyyy', '2023-10-29 03:00:00'),
(2, 3, 2, 1, 5.5, 6.5, 7.5, 8.5, 'o', 'k', null, '2023-10-18', 'a', 'b', 'yyyyyyyyy', '2023-10-29 04:00:00');
"""
sql """alter table ${tb_name} modify column l_comment set stats ('row_count'='5');"""
def compare_res = { def stmt ->
sql "SET enable_materialized_view_rewrite=false"

View File

@ -119,6 +119,8 @@ suite("mtmv_range_date_part_up") {
(1, 3, 2, 2, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-17', '2023-10-17', 'a', 'b', 'yyyyyyyyy', '2023-10-29');
"""
sql """alter table lineitem_range_date modify column l_comment set stats ('row_count'='7');"""
def get_part = { def mv_name ->
def part_res = sql """show partitions from ${mv_name}"""
return part_res.size()

View File

@ -169,7 +169,7 @@ suite("mtmv_range_date_part_up_rewrite") {
for (int i = 0; i < mv_name_list.size(); i++) {
def job_name = getJobName(db, mv_name_list[i])
waitingMTMVTaskFinished(job_name)
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
@ -177,45 +177,39 @@ suite("mtmv_range_date_part_up_rewrite") {
sql """alter table lineitem_range_date_union add partition p4 values [("2023-11-01"), ("2023-11-02"));"""
sql """insert into lineitem_range_date_union values
(1, null, 3, 1, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-18', '2023-10-18', 'a', 'b', 'yyyyyyyyy', '2023-11-01')"""
sql """analyze table ${mv_prefix}_mv1 with sync"""
sql """analyze table ${mv_prefix}_mv2 with sync"""
for (int i = 0; i < mv_name_list.size(); i++) {
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
for (int i = 0; i < mv_name_list.size(); i++) {
sql """refresh MATERIALIZED VIEW ${mv_name_list[i]} auto;"""
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
sql """insert into lineitem_range_date_union values
(2, null, 3, 1, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-18', '2023-10-18', 'a', 'b', 'yyyyyyyyy', '2023-11-01');"""
sql """analyze table ${mv_prefix}_mv1 with sync"""
sql """analyze table ${mv_prefix}_mv2 with sync"""
for (int i = 0; i < mv_name_list.size(); i++) {
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
for (int i = 0; i < mv_name_list.size(); i++) {
sql """refresh MATERIALIZED VIEW ${mv_name_list[i]} auto;"""
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
sql """ALTER TABLE lineitem_range_date_union DROP PARTITION IF EXISTS p4 FORCE"""
sql """analyze table ${mv_prefix}_mv1 with sync"""
sql """analyze table ${mv_prefix}_mv2 with sync"""
for (int i = 0; i < mv_name_list.size(); i++) {
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
for (int i = 0; i < mv_name_list.size(); i++) {
sql """refresh MATERIALIZED VIEW ${mv_name_list[i]} auto;"""
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}

View File

@ -25,13 +25,14 @@ suite("mtmv_range_datetime_part_up_rewrite") {
sql "SET enable_materialized_view_nest_rewrite=true"
sql "SET enable_materialized_view_union_rewrite=true"
sql "SET enable_nereids_timeout = false"
String mv_prefix = "range_datetime_up_union"
String mv_prefix = "mtmv_range_datetime_part_up_rewrite"
String lineitemName = "${mv_prefix}_lineitem"
String ordersName = "${mv_prefix}_orders"
sql """
drop table if exists lineitem_range_datetime_union
drop table if exists ${lineitemName}
"""
sql """CREATE TABLE `lineitem_range_datetime_union` (
sql """CREATE TABLE `${lineitemName}` (
`l_orderkey` BIGINT NULL,
`l_linenumber` INT NULL,
`l_partkey` INT NULL,
@ -61,10 +62,10 @@ suite("mtmv_range_datetime_part_up_rewrite") {
);"""
sql """
drop table if exists orders_range_datetime_union
drop table if exists ${ordersName}
"""
sql """CREATE TABLE `orders_range_datetime_union` (
sql """CREATE TABLE `${ordersName}` (
`o_orderkey` BIGINT NULL,
`o_custkey` INT NULL,
`o_orderstatus` VARCHAR(1) NULL,
@ -89,7 +90,7 @@ suite("mtmv_range_datetime_part_up_rewrite") {
);"""
sql """
insert into lineitem_range_datetime_union values
insert into ${lineitemName} values
(null, 1, 2, 3, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-17', '2023-10-17', 'a', 'b', 'yyyyyyyyy', '2023-10-29 00:00:00'),
(1, null, 3, 1, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-18', '2023-10-18', 'a', 'b', 'yyyyyyyyy', '2023-10-29 00:00:00'),
(3, 3, null, 2, 7.5, 8.5, 9.5, 10.5, 'k', 'o', '2023-10-19', '2023-10-19', 'c', 'd', 'xxxxxxxxx', '2023-10-29 02:00:00'),
@ -98,9 +99,10 @@ suite("mtmv_range_datetime_part_up_rewrite") {
(3, 1, 1, 2, 7.5, 8.5, 9.5, 10.5, 'k', 'o', '2023-10-19', null, 'c', 'd', 'xxxxxxxxx', '2023-10-29 02:00:00'),
(1, 3, 2, 2, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-17', '2023-10-17', 'a', 'b', 'yyyyyyyyy', '2023-10-29 00:00:00');
"""
sql """alter table ${lineitemName} modify column l_comment set stats ('row_count'='7');"""
sql """
insert into orders_range_datetime_union values
insert into ${ordersName} values
(null, 1, 'k', 99.5, 'a', 'b', 1, 'yy', '2023-10-29 00:00:00'),
(1, null, 'o', 109.2, 'c','d',2, 'mm', '2023-10-29 00:00:00'),
(3, 3, null, 99.5, 'a', 'b', 1, 'yy', '2023-10-29 01:00:00'),
@ -112,24 +114,18 @@ suite("mtmv_range_datetime_part_up_rewrite") {
(3, 2, 'k', 99.5, 'a', 'b', 1, 'yy', '2023-10-29 00:00:00'),
(4, 5, 'k', 99.5, 'a', 'b', 1, 'yy', '2023-10-29 02:00:00');
"""
sql """alter table lineitem_range_datetime_union modify column l_shipdate set stats
('row_count'='7.0', 'ndv'='3.0', 'num_nulls'='0.0', 'data_size'='56.0', 'min_value'='2023-10-29 00:00:00', 'max_value'='2023-10-29 02:00:00');"""
sql """alter table lineitem_range_datetime_union modify column l_orderkey set stats
('row_count'='7.0', 'ndv'='3.0', 'num_nulls'='1.0', 'data_size'='56.0', 'min_value'='1', 'max_value'='3');"""
sql """alter table orders_range_datetime_union modify column o_orderkey set stats
('row_count'='7.0', 'ndv'='3.0', 'num_nulls'='1.0', 'data_size'='56.0', 'min_value'='1', 'max_value'='3');"""
sql """alter table ${ordersName} modify column o_comment set stats ('row_count'='10');"""
sql """DROP MATERIALIZED VIEW if exists ${mv_prefix}_mv1;"""
sql """CREATE MATERIALIZED VIEW ${mv_prefix}_mv1 BUILD IMMEDIATE REFRESH AUTO ON MANUAL partition by(date_trunc(`col1`, 'month')) DISTRIBUTED BY RANDOM BUCKETS 2 PROPERTIES ('replication_num' = '1') AS
select date_trunc(`l_shipdate`, 'day') as col1, l_shipdate, l_orderkey from lineitem_range_datetime_union as t1 left join orders_range_datetime_union as t2 on t1.l_orderkey = t2.o_orderkey group by col1, l_shipdate, l_orderkey;"""
select date_trunc(`l_shipdate`, 'day') as col1, l_shipdate, l_orderkey from ${lineitemName} as t1 left join ${ordersName} as t2 on t1.l_orderkey = t2.o_orderkey group by col1, l_shipdate, l_orderkey;"""
sql """DROP MATERIALIZED VIEW if exists ${mv_prefix}_mv2;"""
sql """CREATE MATERIALIZED VIEW ${mv_prefix}_mv2 BUILD IMMEDIATE REFRESH AUTO ON MANUAL partition by(date_trunc(`col1`, 'month')) DISTRIBUTED BY RANDOM BUCKETS 2 PROPERTIES ('replication_num' = '1') AS
select date_trunc(`l_shipdate`, 'hour') as col1, l_shipdate, l_orderkey from lineitem_range_datetime_union as t1 left join orders_range_datetime_union as t2 on t1.l_orderkey = t2.o_orderkey group by col1, l_shipdate, l_orderkey;"""
select date_trunc(`l_shipdate`, 'hour') as col1, l_shipdate, l_orderkey from ${lineitemName} as t1 left join ${ordersName} as t2 on t1.l_orderkey = t2.o_orderkey group by col1, l_shipdate, l_orderkey;"""
def sql1 = """select date_trunc(`l_shipdate`, 'day') as col1, l_shipdate, l_orderkey from lineitem_range_datetime_union as t1 left join orders_range_datetime_union as t2 on t1.l_orderkey = t2.o_orderkey group by col1, l_shipdate, l_orderkey"""
def sql2 = """select date_trunc(`l_shipdate`, 'hour') as col1, l_shipdate, l_orderkey from lineitem_range_datetime_union as t1 left join orders_range_datetime_union as t2 on t1.l_orderkey = t2.o_orderkey group by col1, l_shipdate, l_orderkey"""
def sql1 = """select date_trunc(`l_shipdate`, 'day') as col1, l_shipdate, l_orderkey from ${lineitemName} as t1 left join ${ordersName} as t2 on t1.l_orderkey = t2.o_orderkey group by col1, l_shipdate, l_orderkey"""
def sql2 = """select date_trunc(`l_shipdate`, 'hour') as col1, l_shipdate, l_orderkey from ${lineitemName} as t1 left join ${ordersName} as t2 on t1.l_orderkey = t2.o_orderkey group by col1, l_shipdate, l_orderkey"""
def localWaitingMTMVTaskFinished = { def jobName ->
Thread.sleep(2000);
@ -168,60 +164,60 @@ suite("mtmv_range_datetime_part_up_rewrite") {
}
}
sql """analyze table ${mv_prefix}_mv1 with sync"""
sql """analyze table ${mv_prefix}_mv2 with sync"""
def query_stmt_list = [sql1, sql2]
def mv_name_list = ["${mv_prefix}_mv1", "${mv_prefix}_mv2"]
for (int i = 0; i < mv_name_list.size(); i++) {
def job_name = getJobName(db, mv_name_list[i])
waitingMTMVTaskFinished(job_name)
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
sql """alter table lineitem_range_datetime_union add partition p4 values [("2023-11-29 03:00:00"), ("2023-11-29 04:00:00"));"""
sql """insert into lineitem_range_datetime_union values
sql """alter table ${lineitemName} add partition p4 values [("2023-11-29 03:00:00"), ("2023-11-29 04:00:00"));"""
sql """insert into ${lineitemName} values
(1, null, 3, 1, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-18', '2023-10-18', 'a', 'b', 'yyyyyyyyy', '2023-11-29 03:00:00')"""
sql """analyze table ${mv_prefix}_mv1 with sync"""
sql """analyze table ${mv_prefix}_mv2 with sync"""
sql """alter table ${lineitemName} modify column l_comment set stats ('row_count'='8');"""
for (int i = 0; i < mv_name_list.size(); i++) {
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
// both mv should rewrite success
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
for (int i = 0; i < mv_name_list.size(); i++) {
sql """refresh MATERIALIZED VIEW ${mv_name_list[i]} auto;"""
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
// both mv should rewrite success
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
sql """insert into lineitem_range_datetime_union values
sql """insert into ${lineitemName} values
(3, null, 3, 1, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-18', '2023-10-18', 'a', 'b', 'yyyyyyyyy', '2023-11-29 03:00:00');"""
sql """analyze table ${mv_prefix}_mv1 with sync"""
sql """analyze table ${mv_prefix}_mv2 with sync"""
sql """alter table ${lineitemName} modify column l_comment set stats ('row_count'='9');"""
for (int i = 0; i < mv_name_list.size(); i++) {
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
// both mv should rewrite success
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
for (int i = 0; i < mv_name_list.size(); i++) {
sql """refresh MATERIALIZED VIEW ${mv_name_list[i]} auto;"""
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
// both mv should rewrite success
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
sql """ALTER TABLE lineitem_range_datetime_union DROP PARTITION IF EXISTS p4 FORCE"""
sql """analyze table ${mv_prefix}_mv1 with sync"""
sql """analyze table ${mv_prefix}_mv2 with sync"""
sql """ALTER TABLE ${lineitemName} DROP PARTITION IF EXISTS p4 FORCE"""
for (int i = 0; i < mv_name_list.size(); i++) {
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
// both mv should rewrite success
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}
for (int i = 0; i < mv_name_list.size(); i++) {
sql """refresh MATERIALIZED VIEW ${mv_name_list[i]} auto;"""
mv_rewrite_success(query_stmt_list[i], mv_name_list[i])
// both mv should rewrite success
mv_rewrite_any_success(query_stmt_list[i], mv_name_list)
compare_res(query_stmt_list[i] + " order by 1,2,3")
}

View File

@ -84,14 +84,32 @@ suite("partition_mv_rewrite") {
sql"""
insert into orders values
(1, 1, 'ok', 99.5, '2023-10-17', 'a', 'b', 1, 'yy'),
(1, 1, 'ok', 99.5, '2023-10-17', 'a', 'b', 1, 'yy'),
(1, 1, 'ok', 99.5, '2023-10-17', 'a', 'b', 1, 'yy'),
(1, 1, 'ok', 99.5, '2023-10-17', 'a', 'b', 1, 'yy'),
(2, 2, 'ok', 109.2, '2023-10-18', 'c','d',2, 'mm'),
(2, 2, 'ok', 109.2, '2023-10-18', 'c','d',2, 'mm'),
(2, 2, 'ok', 109.2, '2023-10-18', 'c','d',2, 'mm'),
(2, 2, 'ok', 109.2, '2023-10-18', 'c','d',2, 'mm'),
(3, 3, 'ok', 99.5, '2023-10-19', 'a', 'b', 1, 'yy'),
(3, 3, 'ok', 99.5, '2023-10-19', 'a', 'b', 1, 'yy'),
(3, 3, 'ok', 99.5, '2023-10-19', 'a', 'b', 1, 'yy'),
(3, 3, 'ok', 99.5, '2023-10-19', 'a', 'b', 1, 'yy');
"""
sql """
insert into lineitem values
(1, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-17', '2023-10-17', '2023-10-17', 'a', 'b', 'yyyyyyyyy'),
(1, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-17', '2023-10-17', '2023-10-17', 'a', 'b', 'yyyyyyyyy'),
(1, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-17', '2023-10-17', '2023-10-17', 'a', 'b', 'yyyyyyyyy'),
(1, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-17', '2023-10-17', '2023-10-17', 'a', 'b', 'yyyyyyyyy'),
(2, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-18', '2023-10-18', '2023-10-18', 'a', 'b', 'yyyyyyyyy'),
(2, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-18', '2023-10-18', '2023-10-18', 'a', 'b', 'yyyyyyyyy'),
(2, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-18', '2023-10-18', '2023-10-18', 'a', 'b', 'yyyyyyyyy'),
(2, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-10-18', '2023-10-18', '2023-10-18', 'a', 'b', 'yyyyyyyyy'),
(3, 2, 3, 6, 7.5, 8.5, 9.5, 10.5, 'k', 'o', '2023-10-19', '2023-10-19', '2023-10-19', 'c', 'd', 'xxxxxxxxx'),
(3, 2, 3, 6, 7.5, 8.5, 9.5, 10.5, 'k', 'o', '2023-10-19', '2023-10-19', '2023-10-19', 'c', 'd', 'xxxxxxxxx'),
(3, 2, 3, 6, 7.5, 8.5, 9.5, 10.5, 'k', 'o', '2023-10-19', '2023-10-19', '2023-10-19', 'c', 'd', 'xxxxxxxxx'),
(3, 2, 3, 6, 7.5, 8.5, 9.5, 10.5, 'k', 'o', '2023-10-19', '2023-10-19', '2023-10-19', 'c', 'd', 'xxxxxxxxx');
"""