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

Reply via email to