This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push: new 8ffd6b8c3e2 branch-2.1: [case](mtmv)The impact of validating the base table and materialized view alter on transparent rewriting #47310 (#48186) 8ffd6b8c3e2 is described below commit 8ffd6b8c3e2c722a92b32e2a6e5c6d57bae94b97 Author: zhangdong <zhangd...@selectdb.com> AuthorDate: Sat Feb 22 23:12:24 2025 +0800 branch-2.1: [case](mtmv)The impact of validating the base table and materialized view alter on transparent rewriting #47310 (#48186) Cherry-picked from https://github.com/apache/doris/pull/47310 --- .../suites/mtmv_p0/test_base_mtmv.groovy | 25 ++++++++++++++++------ .../suites/mtmv_p0/test_build_mtmv.groovy | 15 +++++++------ .../suites/mtmv_p0/test_replace_mtmv.groovy | 16 ++++++++------ 3 files changed, 36 insertions(+), 20 deletions(-) diff --git a/regression-test/suites/mtmv_p0/test_base_mtmv.groovy b/regression-test/suites/mtmv_p0/test_base_mtmv.groovy index fce6ae523b5..ffe221d030b 100644 --- a/regression-test/suites/mtmv_p0/test_base_mtmv.groovy +++ b/regression-test/suites/mtmv_p0/test_base_mtmv.groovy @@ -48,8 +48,12 @@ suite("test_base_mtmv","mtmv") { sql """ INSERT INTO ${tableName} VALUES("2022-10-26",1,"clz"),("2022-10-28",2,"zhangsang"),("2022-10-29",3,"lisi"); """ - + sql """ + INSERT INTO ${newTableName} VALUES("2022-10-27",1,"clz"),("2022-10-28",2,"zhangsang"),("2022-10-29",3,"lisi"); + """ sql """drop materialized view if exists ${mvName};""" + String querySql = "SELECT event_day,id,username FROM ${tableName}"; + String rewriteSql = "SELECT event_day FROM ${tableName}"; sql """ CREATE MATERIALIZED VIEW ${mvName} @@ -57,7 +61,7 @@ suite("test_base_mtmv","mtmv") { DISTRIBUTED BY RANDOM BUCKETS 2 PROPERTIES ('replication_num' = '1') AS - SELECT event_day,id,username FROM ${tableName}; + ${querySql}; """ def jobName = getJobName("regression_test_mtmv_p0", mvName); order_qt_init "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'" @@ -67,6 +71,8 @@ suite("test_base_mtmv","mtmv") { waitingMTMVTaskFinished(jobName) order_qt_success "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'" + mv_rewrite_success_without_check_chosen("""${rewriteSql}""", "${mvName}") + // add column sql """ alter table ${tableName} add COLUMN new_col INT AFTER username; @@ -74,6 +80,7 @@ suite("test_base_mtmv","mtmv") { assertEquals("FINISHED", getAlterColumnFinalState("${tableName}")) order_qt_add_column "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'" + mv_rewrite_success_without_check_chosen("""${rewriteSql}""", "${mvName}") // rename column sql """ alter table ${tableName} rename COLUMN new_col new_col_1; @@ -85,7 +92,7 @@ suite("test_base_mtmv","mtmv") { """ waitingMTMVTaskFinished(jobName) order_qt_success "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'" - + mv_rewrite_success_without_check_chosen("""${rewriteSql}""", "${mvName}") // modify column sql """ alter table ${tableName} modify COLUMN new_col_1 BIGINT; @@ -97,7 +104,7 @@ suite("test_base_mtmv","mtmv") { """ waitingMTMVTaskFinished(jobName) order_qt_success "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'" - + mv_rewrite_success_without_check_chosen("""${rewriteSql}""", "${mvName}") // drop column sql """ alter table ${tableName} drop COLUMN new_col_1; @@ -109,7 +116,7 @@ suite("test_base_mtmv","mtmv") { """ waitingMTMVTaskFinished(jobName) order_qt_success "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'" - + mv_rewrite_success_without_check_chosen("""${rewriteSql}""", "${mvName}") // replace table sql """ ALTER TABLE ${tableName} REPLACE WITH TABLE ${newTableName} PROPERTIES('swap' = 'false'); @@ -120,7 +127,7 @@ suite("test_base_mtmv","mtmv") { """ waitingMTMVTaskFinished(jobName) order_qt_success "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'" - + mv_rewrite_success_without_check_chosen("""${rewriteSql}""", "${mvName}") // rename table sql """ ALTER TABLE ${tableName} rename ${newTableName}; @@ -134,7 +141,7 @@ suite("test_base_mtmv","mtmv") { """ waitingMTMVTaskFinished(jobName) order_qt_success "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'" - + mv_rewrite_success_without_check_chosen("""${rewriteSql}""", "${mvName}") // drop table sql """ drop table ${tableName} @@ -151,11 +158,15 @@ suite("test_base_mtmv","mtmv") { "replication_num" = "1" ); """ + sql """ + INSERT INTO ${tableName} VALUES("2022-10-26",1,"clz"),("2022-10-28",2,"zhangsang"),("2022-10-29",3,"lisi"); + """ sql """ REFRESH MATERIALIZED VIEW ${mvName} AUTO """ waitingMTMVTaskFinished(jobName) order_qt_success "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'" + mv_rewrite_success_without_check_chosen("""${rewriteSql}""", "${mvName}") sql """drop table if exists `${tableName}`""" sql """drop table if exists `${newTableName}`""" diff --git a/regression-test/suites/mtmv_p0/test_build_mtmv.groovy b/regression-test/suites/mtmv_p0/test_build_mtmv.groovy index b1456da8c43..1ec688b83ed 100644 --- a/regression-test/suites/mtmv_p0/test_build_mtmv.groovy +++ b/regression-test/suites/mtmv_p0/test_build_mtmv.groovy @@ -420,6 +420,7 @@ suite("test_build_mtmv") { log.info(e.getMessage()) } + String querySql = "SELECT ${tableName}.username, ${tableNamePv}.pv FROM ${tableName}, ${tableNamePv} WHERE ${tableName}.id=${tableNamePv}.id"; // alter sql """ CREATE MATERIALIZED VIEW ${mvName} @@ -427,12 +428,12 @@ suite("test_build_mtmv") { DISTRIBUTED BY RANDOM BUCKETS 2 PROPERTIES ('replication_num' = '1') AS - SELECT ${tableName}.username, ${tableNamePv}.pv FROM ${tableName}, ${tableNamePv} WHERE ${tableName}.id=${tableNamePv}.id; + ${querySql}; """ jobName = getJobName("regression_test_mtmv_p0", mvName); waitingMTMVTaskFinished(jobName) order_qt_select "SELECT * FROM ${mvName}" - + mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}") // alter refreshMethod sql """ alter MATERIALIZED VIEW ${mvName} REFRESH COMPLETE; @@ -440,7 +441,7 @@ suite("test_build_mtmv") { jobName = getJobName("regression_test_mtmv_p0", mvName); waitingMTMVTaskFinished(jobName) order_qt_select "SELECT * FROM ${mvName}" - + mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}") // alter refreshTrigger sql """ alter MATERIALIZED VIEW ${mvName} REFRESH ON MANUAL; @@ -448,7 +449,7 @@ suite("test_build_mtmv") { jobName = getJobName("regression_test_mtmv_p0", mvName); waitingMTMVTaskFinished(jobName) order_qt_select "SELECT * FROM ${mvName}" - + mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}") // alter refreshMethod refreshTrigger sql """ alter MATERIALIZED VIEW ${mvName} REFRESH COMPLETE ON MANUAL; @@ -456,13 +457,13 @@ suite("test_build_mtmv") { jobName = getJobName("regression_test_mtmv_p0", mvName); waitingMTMVTaskFinished(jobName) order_qt_select "SELECT * FROM ${mvName}" - + mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}") // alter mv property sql """ alter Materialized View ${mvName} set("grace_period"="3333"); """ order_qt_select "select MvProperties from mv_infos('database'='regression_test_mtmv_p0') where Name = '${mvName}'" - + mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}") // not allow use mv modify property of table try { sql """ @@ -480,7 +481,7 @@ suite("test_build_mtmv") { jobName = getJobName("regression_test_mtmv_p0", mvNameRenamed); waitingMTMVTaskFinished(jobName) order_qt_select "SELECT * FROM ${mvNameRenamed}" - + mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvNameRenamed}") sql """ DROP MATERIALIZED VIEW ${mvNameRenamed} """ diff --git a/regression-test/suites/mtmv_p0/test_replace_mtmv.groovy b/regression-test/suites/mtmv_p0/test_replace_mtmv.groovy index f7e0eab9640..bdbbc2da23f 100644 --- a/regression-test/suites/mtmv_p0/test_replace_mtmv.groovy +++ b/regression-test/suites/mtmv_p0/test_replace_mtmv.groovy @@ -28,7 +28,10 @@ suite("test_replace_mtmv","mtmv") { sql """drop table if exists `${tableName2}`""" sql """drop materialized view if exists ${mvName1};""" sql """drop materialized view if exists ${mvName2};""" - + String querySql1 = "SELECT k1,k2 FROM ${tableName1}"; + String rewriteSql1 = "SELECT k1 FROM ${tableName1}"; + String querySql2 = "SELECT k3,k4 FROM ${tableName2}"; + String rewriteSql2 = "SELECT k3 FROM ${tableName2}"; sql """ CREATE TABLE ${tableName1} ( @@ -59,7 +62,7 @@ suite("test_replace_mtmv","mtmv") { 'replication_num' = '1' ) AS - SELECT * from ${tableName1}; + ${querySql1}; """ sql """ CREATE MATERIALIZED VIEW ${mvName2} @@ -69,7 +72,7 @@ suite("test_replace_mtmv","mtmv") { 'replication_num' = '1' ) AS - SELECT * from ${tableName2}; + ${querySql2}; """ sql """ insert into ${tableName1} values(1,1); @@ -80,7 +83,7 @@ suite("test_replace_mtmv","mtmv") { waitingMTMVTaskFinishedByMvName(mvName1) order_qt_mv1 "SELECT * FROM ${mvName1}" - + mv_rewrite_success_without_check_chosen("""${rewriteSql1}""", "${mvName1}") sql """ insert into ${tableName2} values(2,2); @@ -91,7 +94,7 @@ suite("test_replace_mtmv","mtmv") { waitingMTMVTaskFinishedByMvName(mvName2) order_qt_mv2 "SELECT * FROM ${mvName2}" - + mv_rewrite_success_without_check_chosen("""${rewriteSql2}""", "${mvName2}") test { sql """ alter MATERIALIZED VIEW ${mvName1} replace with MATERIALIZED VIEW ${tableName1}; @@ -133,6 +136,8 @@ suite("test_replace_mtmv","mtmv") { order_qt_mv2_refresh "SELECT * FROM ${mvName2}" + mv_rewrite_success_without_check_chosen("""${rewriteSql1}""", "${mvName2}") + mv_rewrite_success_without_check_chosen("""${rewriteSql2}""", "${mvName1}") sql """ alter MATERIALIZED VIEW ${mvName1} replace with MATERIALIZED VIEW ${mvName2} PROPERTIES('swap' = 'false'); @@ -147,7 +152,6 @@ suite("test_replace_mtmv","mtmv") { assertFalse(jobResult.toString().contains("${mvName2}")) order_qt_mv1_replace_not_swap "SELECT * FROM ${mvName1}" - sql """drop table if exists `${tableName1}`""" sql """drop table if exists `${tableName2}`""" sql """drop materialized view if exists ${mvName1};""" --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org