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 3b4eecb541b branch-4.0: [fix](mtmv)fix MTMV staying in sync after base 
table recreate column #58087 (#58380)
3b4eecb541b is described below

commit 3b4eecb541bf5d4a18149b005dcff5ef04af6731
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Nov 27 09:14:26 2025 +0800

    branch-4.0: [fix](mtmv)fix MTMV staying in sync after base table recreate 
column #58087 (#58380)
    
    Cherry-picked from #58087
    
    Co-authored-by: zhangdong <[email protected]>
---
 .../main/java/org/apache/doris/catalog/MTMV.java   |  1 +
 .../apache/doris/mtmv/MTMVSchemaChangeTest.java    |  2 +-
 .../mtmv_p0/test_base_add_col_multi_level_mtmv.out |  8 ++--
 ...est_base_alter_col_comment_multi_level_mtmv.out |  8 ++--
 .../test_base_alter_col_type_multi_level_mtmv.out  |  8 ++--
 .../mtmv_p0/test_base_comment_multi_level_mtmv.out |  8 ++--
 .../test_base_drop_col_multi_level_mtmv.out        |  8 ++--
 .../mtmv_p0/test_base_drop_multi_level_mtmv.out    |  8 ++--
 regression-test/data/mtmv_p0/test_base_mtmv.out    | 30 ++++++------
 .../data/mtmv_p0/test_base_recreate_col_mtmv.out   |  7 +++
 .../mtmv_p0/test_base_recreate_on_commit_mtmv.out  |  4 +-
 .../test_base_rename_col_multi_level_mtmv.out      |  8 ++--
 .../mtmv_p0/test_base_rename_multi_level_mtmv.out  |  8 ++--
 .../test_base_rename_mv_multi_level_mtmv.out       |  8 ++--
 .../mtmv_p0/test_base_rename_on_commit_mtmv.out    |  6 +--
 .../test_base_rename_p_mv_multi_level_mtmv.out     |  8 ++--
 .../mtmv_p0/test_base_replace_multi_level_mtmv.out | 24 +++++-----
 .../test_base_replace_mv_multi_level_mtmv.out      | 18 +++----
 .../mtmv_p0/test_base_replace_on_commit_mtmv.out   |  4 +-
 .../test_base_add_col_multi_level_mtmv.groovy      |  8 ++--
 ..._base_alter_col_comment_multi_level_mtmv.groovy |  8 ++--
 ...est_base_alter_col_type_multi_level_mtmv.groovy |  8 ++--
 .../test_base_comment_multi_level_mtmv.groovy      |  8 ++--
 .../test_base_drop_col_multi_level_mtmv.groovy     |  8 ++--
 .../mtmv_p0/test_base_drop_multi_level_mtmv.groovy |  8 ++--
 .../suites/mtmv_p0/test_base_mtmv.groovy           | 30 ++++++------
 ...v.groovy => test_base_recreate_col_mtmv.groovy} | 56 ++++++++++------------
 .../test_base_recreate_on_commit_mtmv.groovy       |  4 +-
 .../test_base_rename_col_multi_level_mtmv.groovy   |  8 ++--
 .../test_base_rename_multi_level_mtmv.groovy       |  8 ++--
 .../test_base_rename_mv_multi_level_mtmv.groovy    |  8 ++--
 .../mtmv_p0/test_base_rename_on_commit_mtmv.groovy |  6 +--
 .../test_base_rename_p_mv_multi_level_mtmv.groovy  |  8 ++--
 .../test_base_replace_multi_level_mtmv.groovy      | 24 +++++-----
 .../test_base_replace_mv_multi_level_mtmv.groovy   | 20 ++++----
 .../test_base_replace_on_commit_mtmv.groovy        |  4 +-
 36 files changed, 200 insertions(+), 200 deletions(-)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java
index ce9b59e7766..fcb8c6baef0 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java
@@ -185,6 +185,7 @@ public class MTMV extends OlapTable {
         try {
             // only can update state, refresh state will be change by add task
             this.schemaChangeVersion++;
+            this.refreshSnapshot = new MTMVRefreshSnapshot();
             return this.status.updateStateAndDetail(newStatus);
         } finally {
             writeMvUnlock();
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/mtmv/MTMVSchemaChangeTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/mtmv/MTMVSchemaChangeTest.java
index e911bd2287f..d0cb0672134 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/mtmv/MTMVSchemaChangeTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/mtmv/MTMVSchemaChangeTest.java
@@ -87,7 +87,7 @@ public class MTMVSchemaChangeTest extends TestWithFeService {
         Assertions.assertTrue(mtmv.getSchemaChangeVersion() == 0);
         
Assertions.assertTrue(mtmv.getStatus().getState().equals(MTMVState.INIT));
         dropTable("t1", true);
-        
Assertions.assertTrue(mtmv.getRefreshSnapshot().equals(mtmvRefreshSnapshot));
+        
Assertions.assertFalse(mtmv.getRefreshSnapshot().equals(mtmvRefreshSnapshot));
         Assertions.assertTrue(mtmv.getSchemaChangeVersion() == 1);
         
Assertions.assertTrue(mtmv.getStatus().getState().equals(MTMVState.SCHEMA_CHANGE));
     }
diff --git 
a/regression-test/data/mtmv_p0/test_base_add_col_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_add_col_multi_level_mtmv.out
index 8d04722a3d6..d0bccb8b53d 100644
--- a/regression-test/data/mtmv_p0/test_base_add_col_multi_level_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_add_col_multi_level_mtmv.out
@@ -1,13 +1,13 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !add_col_t1_mv1 --
-test_base_add_col_multi_level_mtmv_mv1 NORMAL  SUCCESS
+test_base_add_col_multi_level_mtmv_mv1 NORMAL  SUCCESS true
 
 -- !add_col_t1_mv2 --
-test_base_add_col_multi_level_mtmv_mv2 NORMAL  SUCCESS
+test_base_add_col_multi_level_mtmv_mv2 NORMAL  SUCCESS true
 
 -- !add_col_t1_mv3 --
-test_base_add_col_multi_level_mtmv_mv3 NORMAL  SUCCESS
+test_base_add_col_multi_level_mtmv_mv3 NORMAL  SUCCESS true
 
 -- !add_col_t1_mv4 --
-test_base_add_col_multi_level_mtmv_mv4 NORMAL  SUCCESS
+test_base_add_col_multi_level_mtmv_mv4 NORMAL  SUCCESS true
 
diff --git 
a/regression-test/data/mtmv_p0/test_base_alter_col_comment_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_alter_col_comment_multi_level_mtmv.out
index 1715233c26c..815d45e44e0 100644
--- 
a/regression-test/data/mtmv_p0/test_base_alter_col_comment_multi_level_mtmv.out
+++ 
b/regression-test/data/mtmv_p0/test_base_alter_col_comment_multi_level_mtmv.out
@@ -1,13 +1,13 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !add_col_t1_mv1 --
-test_base_alter_col_comment_multi_level_mtmv_mv1       NORMAL  SUCCESS
+test_base_alter_col_comment_multi_level_mtmv_mv1       NORMAL  SUCCESS true
 
 -- !add_col_t1_mv2 --
-test_base_alter_col_comment_multi_level_mtmv_mv2       NORMAL  SUCCESS
+test_base_alter_col_comment_multi_level_mtmv_mv2       NORMAL  SUCCESS true
 
 -- !add_col_t1_mv3 --
-test_base_alter_col_comment_multi_level_mtmv_mv3       NORMAL  SUCCESS
+test_base_alter_col_comment_multi_level_mtmv_mv3       NORMAL  SUCCESS true
 
 -- !add_col_t1_mv4 --
-test_base_alter_col_comment_multi_level_mtmv_mv4       NORMAL  SUCCESS
+test_base_alter_col_comment_multi_level_mtmv_mv4       NORMAL  SUCCESS true
 
diff --git 
a/regression-test/data/mtmv_p0/test_base_alter_col_type_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_alter_col_type_multi_level_mtmv.out
index 1812d276d4b..e39a7fa2004 100644
--- a/regression-test/data/mtmv_p0/test_base_alter_col_type_multi_level_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_alter_col_type_multi_level_mtmv.out
@@ -1,13 +1,13 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !add_col_t1_mv1 --
-test_base_alter_col_type_multi_level_mtmv_mv1  SCHEMA_CHANGE   SUCCESS
+test_base_alter_col_type_multi_level_mtmv_mv1  SCHEMA_CHANGE   SUCCESS false
 
 -- !add_col_t1_mv2 --
-test_base_alter_col_type_multi_level_mtmv_mv2  NORMAL  SUCCESS
+test_base_alter_col_type_multi_level_mtmv_mv2  NORMAL  SUCCESS true
 
 -- !add_col_t1_mv3 --
-test_base_alter_col_type_multi_level_mtmv_mv3  SCHEMA_CHANGE   SUCCESS
+test_base_alter_col_type_multi_level_mtmv_mv3  SCHEMA_CHANGE   SUCCESS false
 
 -- !add_col_t1_mv4 --
-test_base_alter_col_type_multi_level_mtmv_mv4  NORMAL  SUCCESS
+test_base_alter_col_type_multi_level_mtmv_mv4  NORMAL  SUCCESS true
 
diff --git 
a/regression-test/data/mtmv_p0/test_base_comment_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_comment_multi_level_mtmv.out
index dec544860a3..83e23714da2 100644
--- a/regression-test/data/mtmv_p0/test_base_comment_multi_level_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_comment_multi_level_mtmv.out
@@ -1,13 +1,13 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !comment_t1_mv1 --
-test_base_comment_multi_level_mtmv_mv1 NORMAL  SUCCESS
+test_base_comment_multi_level_mtmv_mv1 NORMAL  SUCCESS true
 
 -- !comment_t1_mv2 --
-test_base_comment_multi_level_mtmv_mv2 NORMAL  SUCCESS
+test_base_comment_multi_level_mtmv_mv2 NORMAL  SUCCESS true
 
 -- !comment_t1_mv3 --
-test_base_comment_multi_level_mtmv_mv3 NORMAL  SUCCESS
+test_base_comment_multi_level_mtmv_mv3 NORMAL  SUCCESS true
 
 -- !comment_t1_mv4 --
-test_base_comment_multi_level_mtmv_mv4 NORMAL  SUCCESS
+test_base_comment_multi_level_mtmv_mv4 NORMAL  SUCCESS true
 
diff --git 
a/regression-test/data/mtmv_p0/test_base_drop_col_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_drop_col_multi_level_mtmv.out
index fade3c023bb..2a3165773c1 100644
--- a/regression-test/data/mtmv_p0/test_base_drop_col_multi_level_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_drop_col_multi_level_mtmv.out
@@ -1,13 +1,13 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !add_col_t1_mv1 --
-test_base_drop_col_multi_level_mtmv_mv1        SCHEMA_CHANGE   SUCCESS
+test_base_drop_col_multi_level_mtmv_mv1        SCHEMA_CHANGE   SUCCESS false
 
 -- !add_col_t1_mv2 --
-test_base_drop_col_multi_level_mtmv_mv2        NORMAL  SUCCESS
+test_base_drop_col_multi_level_mtmv_mv2        NORMAL  SUCCESS true
 
 -- !add_col_t1_mv3 --
-test_base_drop_col_multi_level_mtmv_mv3        SCHEMA_CHANGE   SUCCESS
+test_base_drop_col_multi_level_mtmv_mv3        SCHEMA_CHANGE   SUCCESS false
 
 -- !add_col_t1_mv4 --
-test_base_drop_col_multi_level_mtmv_mv4        NORMAL  SUCCESS
+test_base_drop_col_multi_level_mtmv_mv4        NORMAL  SUCCESS true
 
diff --git a/regression-test/data/mtmv_p0/test_base_drop_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_drop_multi_level_mtmv.out
index c4f375184c2..1122acb1737 100644
--- a/regression-test/data/mtmv_p0/test_base_drop_multi_level_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_drop_multi_level_mtmv.out
@@ -1,13 +1,13 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !drop_t1_mv1 --
-test_base_drop_multi_level_mtmv_mv1    SCHEMA_CHANGE   SUCCESS
+test_base_drop_multi_level_mtmv_mv1    SCHEMA_CHANGE   SUCCESS false
 
 -- !drop_t1_mv2 --
-test_base_drop_multi_level_mtmv_mv2    NORMAL  SUCCESS
+test_base_drop_multi_level_mtmv_mv2    NORMAL  SUCCESS true
 
 -- !drop_t1_mv3 --
-test_base_drop_multi_level_mtmv_mv3    SCHEMA_CHANGE   SUCCESS
+test_base_drop_multi_level_mtmv_mv3    SCHEMA_CHANGE   SUCCESS false
 
 -- !drop_t1_mv4 --
-test_base_drop_multi_level_mtmv_mv4    NORMAL  SUCCESS
+test_base_drop_multi_level_mtmv_mv4    NORMAL  SUCCESS true
 
diff --git a/regression-test/data/mtmv_p0/test_base_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_mtmv.out
index 68073a91bb5..c98bc3167cc 100644
--- a/regression-test/data/mtmv_p0/test_base_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_mtmv.out
@@ -1,48 +1,48 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !init --
-multi_mv_test_base_mtmv        INIT    INIT
+multi_mv_test_base_mtmv        INIT    INIT    false
 
 -- !success --
-multi_mv_test_base_mtmv        NORMAL  SUCCESS
+multi_mv_test_base_mtmv        NORMAL  SUCCESS true
 
 -- !add_column --
-multi_mv_test_base_mtmv        NORMAL  SUCCESS
+multi_mv_test_base_mtmv        NORMAL  SUCCESS true
 
 -- !rename_column --
-multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS
+multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS false
 
 -- !success --
-multi_mv_test_base_mtmv        NORMAL  SUCCESS
+multi_mv_test_base_mtmv        NORMAL  SUCCESS true
 
 -- !modify_column --
-multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS
+multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS false
 
 -- !success --
-multi_mv_test_base_mtmv        NORMAL  SUCCESS
+multi_mv_test_base_mtmv        NORMAL  SUCCESS true
 
 -- !drop_column --
-multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS
+multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS false
 
 -- !success --
-multi_mv_test_base_mtmv        NORMAL  SUCCESS
+multi_mv_test_base_mtmv        NORMAL  SUCCESS true
 
 -- !replace_table --
-multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS
+multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS false
 
 -- !success --
-multi_mv_test_base_mtmv        NORMAL  SUCCESS
+multi_mv_test_base_mtmv        NORMAL  SUCCESS true
 
 -- !rename_table --
-multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS
+multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS false
 
 -- !success --
-multi_mv_test_base_mtmv        NORMAL  SUCCESS
+multi_mv_test_base_mtmv        NORMAL  SUCCESS true
 
 -- !drop_table --
-multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS
+multi_mv_test_base_mtmv        SCHEMA_CHANGE   SUCCESS false
 
 -- !success --
-multi_mv_test_base_mtmv        NORMAL  SUCCESS
+multi_mv_test_base_mtmv        NORMAL  SUCCESS true
 
 -- !desc_mv_1 --
 event_day      date    Yes     true    \N      
diff --git a/regression-test/data/mtmv_p0/test_base_recreate_col_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_recreate_col_mtmv.out
new file mode 100644
index 00000000000..dd0b1e8fcbd
--- /dev/null
+++ b/regression-test/data/mtmv_p0/test_base_recreate_col_mtmv.out
@@ -0,0 +1,7 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !recreate_col_t1_mv1 --
+test_base_recreate_col_mtmv_mv1        SCHEMA_CHANGE   SUCCESS false
+
+-- !refresh_mv1 --
+test_base_recreate_col_mtmv_mv1        NORMAL  SUCCESS true
+
diff --git a/regression-test/data/mtmv_p0/test_base_recreate_on_commit_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_recreate_on_commit_mtmv.out
index c40f161d606..029734ba35b 100644
--- a/regression-test/data/mtmv_p0/test_base_recreate_on_commit_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_recreate_on_commit_mtmv.out
@@ -3,10 +3,10 @@
 1      1
 
 -- !drop --
-test_base_recreate_on_commit_mtmv_mv   SCHEMA_CHANGE   SUCCESS
+test_base_recreate_on_commit_mtmv_mv   SCHEMA_CHANGE   SUCCESS false
 
 -- !recreate --
-test_base_recreate_on_commit_mtmv_mv   NORMAL  SUCCESS
+test_base_recreate_on_commit_mtmv_mv   NORMAL  SUCCESS true
 
 -- !select_recreate --
 2      2
diff --git 
a/regression-test/data/mtmv_p0/test_base_rename_col_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_rename_col_multi_level_mtmv.out
index 3432e2a264c..d2c39530900 100644
--- a/regression-test/data/mtmv_p0/test_base_rename_col_multi_level_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_rename_col_multi_level_mtmv.out
@@ -1,13 +1,13 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !add_col_t1_mv1 --
-test_base_rename_col_multi_level_mtmv_mv1      SCHEMA_CHANGE   SUCCESS
+test_base_rename_col_multi_level_mtmv_mv1      SCHEMA_CHANGE   SUCCESS false
 
 -- !add_col_t1_mv2 --
-test_base_rename_col_multi_level_mtmv_mv2      NORMAL  SUCCESS
+test_base_rename_col_multi_level_mtmv_mv2      NORMAL  SUCCESS true
 
 -- !add_col_t1_mv3 --
-test_base_rename_col_multi_level_mtmv_mv3      SCHEMA_CHANGE   SUCCESS
+test_base_rename_col_multi_level_mtmv_mv3      SCHEMA_CHANGE   SUCCESS false
 
 -- !add_col_t1_mv4 --
-test_base_rename_col_multi_level_mtmv_mv4      NORMAL  SUCCESS
+test_base_rename_col_multi_level_mtmv_mv4      NORMAL  SUCCESS true
 
diff --git a/regression-test/data/mtmv_p0/test_base_rename_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_rename_multi_level_mtmv.out
index bdfa62f5aa6..900c34b8df0 100644
--- a/regression-test/data/mtmv_p0/test_base_rename_multi_level_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_rename_multi_level_mtmv.out
@@ -1,13 +1,13 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !drop_t1_mv1 --
-test_base_rename_multi_level_mtmv_mv1  SCHEMA_CHANGE   SUCCESS
+test_base_rename_multi_level_mtmv_mv1  SCHEMA_CHANGE   SUCCESS false
 
 -- !drop_t1_mv2 --
-test_base_rename_multi_level_mtmv_mv2  NORMAL  SUCCESS
+test_base_rename_multi_level_mtmv_mv2  NORMAL  SUCCESS true
 
 -- !drop_t1_mv3 --
-test_base_rename_multi_level_mtmv_mv3  SCHEMA_CHANGE   SUCCESS
+test_base_rename_multi_level_mtmv_mv3  SCHEMA_CHANGE   SUCCESS false
 
 -- !drop_t1_mv4 --
-test_base_rename_multi_level_mtmv_mv4  NORMAL  SUCCESS
+test_base_rename_multi_level_mtmv_mv4  NORMAL  SUCCESS true
 
diff --git 
a/regression-test/data/mtmv_p0/test_base_rename_mv_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_rename_mv_multi_level_mtmv.out
index a275b2ec9db..3314d2d562d 100644
--- a/regression-test/data/mtmv_p0/test_base_rename_mv_multi_level_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_rename_mv_multi_level_mtmv.out
@@ -1,13 +1,13 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !rename_mv_mv1 --
-test_base_rename_mv_multi_level_mtmv_mv1_rename        NORMAL  SUCCESS
+test_base_rename_mv_multi_level_mtmv_mv1_rename        NORMAL  SUCCESS false
 
 -- !rename_mv_mv2 --
-test_base_rename_mv_multi_level_mtmv_mv2       NORMAL  SUCCESS
+test_base_rename_mv_multi_level_mtmv_mv2       NORMAL  SUCCESS true
 
 -- !rename_mv_mv3 --
-test_base_rename_mv_multi_level_mtmv_mv3       NORMAL  SUCCESS
+test_base_rename_mv_multi_level_mtmv_mv3       NORMAL  SUCCESS true
 
 -- !rename_mv_mv4 --
-test_base_rename_mv_multi_level_mtmv_mv4       SCHEMA_CHANGE   SUCCESS
+test_base_rename_mv_multi_level_mtmv_mv4       SCHEMA_CHANGE   SUCCESS false
 
diff --git a/regression-test/data/mtmv_p0/test_base_rename_on_commit_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_rename_on_commit_mtmv.out
index dddffa8c2f1..dfc6a415945 100644
--- a/regression-test/data/mtmv_p0/test_base_rename_on_commit_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_rename_on_commit_mtmv.out
@@ -3,16 +3,16 @@
 1      1
 
 -- !rename --
-test_base_rename_on_commit_mtmv_mv     SCHEMA_CHANGE   SUCCESS
+test_base_rename_on_commit_mtmv_mv     SCHEMA_CHANGE   SUCCESS false
 
 -- !rename --
-test_base_rename_on_commit_mtmv_mv     SCHEMA_CHANGE   SUCCESS
+test_base_rename_on_commit_mtmv_mv     SCHEMA_CHANGE   SUCCESS false
 
 -- !select_rename --
 1      1
 
 -- !recreate_auto --
-test_base_rename_on_commit_mtmv_mv     NORMAL  SUCCESS
+test_base_rename_on_commit_mtmv_mv     NORMAL  SUCCESS true
 
 -- !select_recreate_auto --
 10     10
diff --git 
a/regression-test/data/mtmv_p0/test_base_rename_p_mv_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_rename_p_mv_multi_level_mtmv.out
index 2dfc8b7f831..e0a77eb3606 100644
--- a/regression-test/data/mtmv_p0/test_base_rename_p_mv_multi_level_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_rename_p_mv_multi_level_mtmv.out
@@ -1,13 +1,13 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !rename_mv_mv1 --
-test_base_rename_p_mv_multi_level_mtmv_mv1_rename      NORMAL  SUCCESS
+test_base_rename_p_mv_multi_level_mtmv_mv1_rename      NORMAL  SUCCESS true
 
 -- !rename_mv_mv2 --
-test_base_rename_p_mv_multi_level_mtmv_mv2     NORMAL  SUCCESS
+test_base_rename_p_mv_multi_level_mtmv_mv2     NORMAL  SUCCESS true
 
 -- !rename_mv_mv3 --
-test_base_rename_p_mv_multi_level_mtmv_mv3     NORMAL  SUCCESS
+test_base_rename_p_mv_multi_level_mtmv_mv3     NORMAL  SUCCESS true
 
 -- !rename_mv_mv4 --
-test_base_rename_p_mv_multi_level_mtmv_mv4     SCHEMA_CHANGE   SUCCESS
+test_base_rename_p_mv_multi_level_mtmv_mv4     SCHEMA_CHANGE   SUCCESS false
 
diff --git 
a/regression-test/data/mtmv_p0/test_base_replace_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_replace_multi_level_mtmv.out
index dde579609a1..1648666a274 100644
--- a/regression-test/data/mtmv_p0/test_base_replace_multi_level_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_replace_multi_level_mtmv.out
@@ -1,37 +1,37 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !replace_t1_mv1 --
-test_base_replace_multi_level_mtmv_mv1 SCHEMA_CHANGE   SUCCESS
+test_base_replace_multi_level_mtmv_mv1 SCHEMA_CHANGE   SUCCESS false
 
 -- !replace_t1_mv2 --
-test_base_replace_multi_level_mtmv_mv2 SCHEMA_CHANGE   SUCCESS
+test_base_replace_multi_level_mtmv_mv2 SCHEMA_CHANGE   SUCCESS false
 
 -- !replace_t1_mv3 --
-test_base_replace_multi_level_mtmv_mv3 SCHEMA_CHANGE   SUCCESS
+test_base_replace_multi_level_mtmv_mv3 SCHEMA_CHANGE   SUCCESS false
 
 -- !replace_t1_mv4 --
-test_base_replace_multi_level_mtmv_mv4 NORMAL  SUCCESS
+test_base_replace_multi_level_mtmv_mv4 NORMAL  SUCCESS true
 
 -- !refresh_t1_mv1 --
-test_base_replace_multi_level_mtmv_mv1 NORMAL  SUCCESS
+test_base_replace_multi_level_mtmv_mv1 NORMAL  SUCCESS true
 
 -- !refresh_t1_mv2 --
-test_base_replace_multi_level_mtmv_mv2 NORMAL  SUCCESS
+test_base_replace_multi_level_mtmv_mv2 NORMAL  SUCCESS true
 
 -- !refresh_t1_mv3 --
-test_base_replace_multi_level_mtmv_mv3 NORMAL  SUCCESS
+test_base_replace_multi_level_mtmv_mv3 NORMAL  SUCCESS true
 
 -- !refresh_t1_mv4 --
-test_base_replace_multi_level_mtmv_mv4 NORMAL  SUCCESS
+test_base_replace_multi_level_mtmv_mv4 NORMAL  SUCCESS true
 
 -- !replace_t1_mv1 --
-test_base_replace_multi_level_mtmv_mv1 SCHEMA_CHANGE   SUCCESS
+test_base_replace_multi_level_mtmv_mv1 SCHEMA_CHANGE   SUCCESS false
 
 -- !replace_t1_mv2 --
-test_base_replace_multi_level_mtmv_mv2 SCHEMA_CHANGE   SUCCESS
+test_base_replace_multi_level_mtmv_mv2 SCHEMA_CHANGE   SUCCESS false
 
 -- !replace_t1_mv3 --
-test_base_replace_multi_level_mtmv_mv3 SCHEMA_CHANGE   SUCCESS
+test_base_replace_multi_level_mtmv_mv3 SCHEMA_CHANGE   SUCCESS false
 
 -- !replace_t1_mv4 --
-test_base_replace_multi_level_mtmv_mv4 NORMAL  SUCCESS
+test_base_replace_multi_level_mtmv_mv4 NORMAL  SUCCESS true
 
diff --git 
a/regression-test/data/mtmv_p0/test_base_replace_mv_multi_level_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_replace_mv_multi_level_mtmv.out
index 1fdd40d9270..6050a8b5a61 100644
--- a/regression-test/data/mtmv_p0/test_base_replace_mv_multi_level_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_replace_mv_multi_level_mtmv.out
@@ -1,30 +1,30 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !replace_true_mv_mv1 --
-test_base_replace_mv_multi_level_mtmv_mv1      NORMAL  SUCCESS
+test_base_replace_mv_multi_level_mtmv_mv1      NORMAL  SUCCESS false
 
 -- !replace_true_mv_mv11 --
-test_base_replace_mv_multi_level_mtmv_mv11     NORMAL  SUCCESS
+test_base_replace_mv_multi_level_mtmv_mv11     NORMAL  SUCCESS false
 
 -- !replace_true_mv_mv2 --
-test_base_replace_mv_multi_level_mtmv_mv2      NORMAL  SUCCESS
+test_base_replace_mv_multi_level_mtmv_mv2      NORMAL  SUCCESS true
 
 -- !replace_true_mv_mv3 --
-test_base_replace_mv_multi_level_mtmv_mv3      NORMAL  SUCCESS
+test_base_replace_mv_multi_level_mtmv_mv3      NORMAL  SUCCESS true
 
 -- !replace_true_mv_mv4 --
-test_base_replace_mv_multi_level_mtmv_mv4      SCHEMA_CHANGE   SUCCESS
+test_base_replace_mv_multi_level_mtmv_mv4      SCHEMA_CHANGE   SUCCESS false
 
 -- !replace_false_mv_mv1 --
-test_base_replace_mv_multi_level_mtmv_mv1      NORMAL  SUCCESS
+test_base_replace_mv_multi_level_mtmv_mv1      NORMAL  SUCCESS false
 
 -- !replace_false_mv_mv11 --
 
 -- !replace_false_mv_mv2 --
-test_base_replace_mv_multi_level_mtmv_mv2      NORMAL  SUCCESS
+test_base_replace_mv_multi_level_mtmv_mv2      NORMAL  SUCCESS true
 
 -- !replace_false_mv_mv3 --
-test_base_replace_mv_multi_level_mtmv_mv3      NORMAL  SUCCESS
+test_base_replace_mv_multi_level_mtmv_mv3      NORMAL  SUCCESS true
 
 -- !replace_false_mv_mv4 --
-test_base_replace_mv_multi_level_mtmv_mv4      SCHEMA_CHANGE   SUCCESS
+test_base_replace_mv_multi_level_mtmv_mv4      SCHEMA_CHANGE   SUCCESS false
 
diff --git a/regression-test/data/mtmv_p0/test_base_replace_on_commit_mtmv.out 
b/regression-test/data/mtmv_p0/test_base_replace_on_commit_mtmv.out
index cccc66dff4e..d78b32a6013 100644
--- a/regression-test/data/mtmv_p0/test_base_replace_on_commit_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_base_replace_on_commit_mtmv.out
@@ -3,10 +3,10 @@
 1      1
 
 -- !replace --
-test_base_replace_on_commit_mtmv_mv    SCHEMA_CHANGE   SUCCESS
+test_base_replace_on_commit_mtmv_mv    SCHEMA_CHANGE   SUCCESS false
 
 -- !replace_normal --
-test_base_replace_on_commit_mtmv_mv    NORMAL  SUCCESS
+test_base_replace_on_commit_mtmv_mv    NORMAL  SUCCESS true
 
 -- !select_replace --
 10     10
diff --git 
a/regression-test/suites/mtmv_p0/test_base_add_col_multi_level_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_add_col_multi_level_mtmv.groovy
index 1d079661968..0a42dc40f52 100644
--- a/regression-test/suites/mtmv_p0/test_base_add_col_multi_level_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_add_col_multi_level_mtmv.groovy
@@ -128,10 +128,10 @@ suite("test_base_add_col_multi_level_mtmv","mtmv") {
         alter table ${tableName1} add COLUMN new_col INT AFTER k2;
         """
     assertEquals("FINISHED", getAlterColumnFinalState("${tableName1}"))
-    order_qt_add_col_t1_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_add_col_t1_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_add_col_t1_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_add_col_t1_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_add_col_t1_mv1 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_add_col_t1_mv2 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_add_col_t1_mv3 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_add_col_t1_mv4 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName4}'"
 
     mv_rewrite_success_without_check_chosen(querySql, mvName1)
     mv_rewrite_success_without_check_chosen(querySql, mvName2)
diff --git 
a/regression-test/suites/mtmv_p0/test_base_alter_col_comment_multi_level_mtmv.groovy
 
b/regression-test/suites/mtmv_p0/test_base_alter_col_comment_multi_level_mtmv.groovy
index 6bb2eba17ad..81fb813d9e7 100644
--- 
a/regression-test/suites/mtmv_p0/test_base_alter_col_comment_multi_level_mtmv.groovy
+++ 
b/regression-test/suites/mtmv_p0/test_base_alter_col_comment_multi_level_mtmv.groovy
@@ -128,10 +128,10 @@ 
suite("test_base_alter_col_comment_multi_level_mtmv","mtmv") {
     sql """
         alter table ${tableName1} modify COLUMN k3 COMMENT 'new comment';
         """
-    order_qt_add_col_t1_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_add_col_t1_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_add_col_t1_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_add_col_t1_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_add_col_t1_mv1 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_add_col_t1_mv2 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_add_col_t1_mv3 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_add_col_t1_mv4 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName4}'"
 
     mv_rewrite_success_without_check_chosen(querySql, mvName1)
     mv_rewrite_success_without_check_chosen(querySql, mvName2)
diff --git 
a/regression-test/suites/mtmv_p0/test_base_alter_col_type_multi_level_mtmv.groovy
 
b/regression-test/suites/mtmv_p0/test_base_alter_col_type_multi_level_mtmv.groovy
index df068e59c55..4c36519b823 100644
--- 
a/regression-test/suites/mtmv_p0/test_base_alter_col_type_multi_level_mtmv.groovy
+++ 
b/regression-test/suites/mtmv_p0/test_base_alter_col_type_multi_level_mtmv.groovy
@@ -128,10 +128,10 @@ suite("test_base_alter_col_type_multi_level_mtmv","mtmv") 
{
     sql """
         alter table ${tableName1} modify COLUMN k3 VARCHAR(100);
         """
-    order_qt_add_col_t1_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_add_col_t1_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_add_col_t1_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_add_col_t1_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_add_col_t1_mv1 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_add_col_t1_mv2 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_add_col_t1_mv3 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_add_col_t1_mv4 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName4}'"
 
     mv_rewrite_success_without_check_chosen(querySql, mvName2)
     mv_not_part_in(querySql, mvName1)
diff --git 
a/regression-test/suites/mtmv_p0/test_base_comment_multi_level_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_comment_multi_level_mtmv.groovy
index 5636c7dbcb4..4833dbd1830 100644
--- a/regression-test/suites/mtmv_p0/test_base_comment_multi_level_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_comment_multi_level_mtmv.groovy
@@ -127,10 +127,10 @@ suite("test_base_comment_multi_level_mtmv","mtmv") {
     sql """
         alter table ${tableName1} MODIFY COMMENT "new table comment";
         """
-    order_qt_comment_t1_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_comment_t1_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_comment_t1_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_comment_t1_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_comment_t1_mv1 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_comment_t1_mv2 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_comment_t1_mv3 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_comment_t1_mv4 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName4}'"
 
     mv_rewrite_success_without_check_chosen(querySql, mvName1)
     mv_rewrite_success_without_check_chosen(querySql, mvName2)
diff --git 
a/regression-test/suites/mtmv_p0/test_base_drop_col_multi_level_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_drop_col_multi_level_mtmv.groovy
index e47f6e26964..14cb8a2faa4 100644
--- a/regression-test/suites/mtmv_p0/test_base_drop_col_multi_level_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_drop_col_multi_level_mtmv.groovy
@@ -129,10 +129,10 @@ suite("test_base_drop_col_multi_level_mtmv","mtmv") {
         alter table ${tableName1} drop COLUMN k3;
         """
     assertEquals("FINISHED", getAlterColumnFinalState("${tableName1}"))
-    order_qt_add_col_t1_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_add_col_t1_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_add_col_t1_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_add_col_t1_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_add_col_t1_mv1 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_add_col_t1_mv2 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_add_col_t1_mv3 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_add_col_t1_mv4 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName4}'"
 
     mv_rewrite_success_without_check_chosen(querySql, mvName2)
     mv_not_part_in(querySql, mvName1)
diff --git 
a/regression-test/suites/mtmv_p0/test_base_drop_multi_level_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_drop_multi_level_mtmv.groovy
index 970aa81b437..d741efe7a5f 100644
--- a/regression-test/suites/mtmv_p0/test_base_drop_multi_level_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_drop_multi_level_mtmv.groovy
@@ -125,10 +125,10 @@ suite("test_base_drop_multi_level_mtmv","mtmv") {
 
     // drop t1
     sql """drop table if exists `${tableName1}`"""
-    order_qt_drop_t1_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_drop_t1_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_drop_t1_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_drop_t1_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_drop_t1_mv1 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_drop_t1_mv2 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_drop_t1_mv3 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_drop_t1_mv4 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName4}'"
 
     sql """
         CREATE TABLE ${tableName1}
diff --git a/regression-test/suites/mtmv_p0/test_base_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_mtmv.groovy
index f0e859e8767..fd82d76dacd 100644
--- a/regression-test/suites/mtmv_p0/test_base_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_mtmv.groovy
@@ -63,12 +63,12 @@ suite("test_base_mtmv","mtmv") {
         ${querySql};
     """
     def jobName = getJobName("regression_test_mtmv_p0", mvName);
-    order_qt_init "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_init "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
      sql """
         REFRESH MATERIALIZED VIEW ${mvName} AUTO
     """
     waitingMTMVTaskFinished(jobName)
-    order_qt_success "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_success "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
 
     mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}")
 
@@ -77,7 +77,7 @@ suite("test_base_mtmv","mtmv") {
         alter table ${tableName} add COLUMN new_col INT AFTER username;
     """
     assertEquals("FINISHED", getAlterColumnFinalState("${tableName}"))
-    order_qt_add_column "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_add_column "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName}'"
 
     mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}")
     // rename column
@@ -85,53 +85,53 @@ suite("test_base_mtmv","mtmv") {
         alter table ${tableName} rename COLUMN new_col new_col_1;
     """
     assertEquals("FINISHED", getAlterColumnFinalState("${tableName}"))
-    order_qt_rename_column "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_rename_column "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName}'"
     sql """
         REFRESH MATERIALIZED VIEW ${mvName} AUTO
     """
     waitingMTMVTaskFinished(jobName)
-    order_qt_success "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_success "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
     mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}")
     // modify column
     sql """
         alter table ${tableName} modify COLUMN new_col_1 BIGINT;
     """
     assertEquals("FINISHED", getAlterColumnFinalState("${tableName}"))
-    order_qt_modify_column "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_modify_column "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName}'"
     sql """
         REFRESH MATERIALIZED VIEW ${mvName} AUTO
     """
     waitingMTMVTaskFinished(jobName)
-    order_qt_success "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_success "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
     mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}")
     // drop column
     sql """
         alter table ${tableName} drop COLUMN new_col_1;
     """
     assertEquals("FINISHED", getAlterColumnFinalState("${tableName}"))
-    order_qt_drop_column "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_drop_column "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName}'"
     sql """
         REFRESH MATERIALIZED VIEW ${mvName} AUTO
     """
     waitingMTMVTaskFinished(jobName)
-    order_qt_success "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_success "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
     mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}")
     // replace table
      sql """
     ALTER TABLE ${tableName} REPLACE WITH TABLE ${newTableName} 
PROPERTIES('swap' = 'false');
     """
-    order_qt_replace_table "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_replace_table "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName}'"
     sql """
         REFRESH MATERIALIZED VIEW ${mvName} AUTO
     """
     waitingMTMVTaskFinished(jobName)
-    order_qt_success "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_success "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
     mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}")
     // rename table
      sql """
     ALTER TABLE ${tableName} rename ${newTableName};
     """
-    order_qt_rename_table "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_rename_table "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName}'"
     sql """
     ALTER TABLE ${newTableName} rename ${tableName};
     """
@@ -139,13 +139,13 @@ suite("test_base_mtmv","mtmv") {
         REFRESH MATERIALIZED VIEW ${mvName} AUTO
     """
     waitingMTMVTaskFinished(jobName)
-    order_qt_success "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_success "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
     mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}")
     // drop table
     sql """
         drop table ${tableName}
     """
-    order_qt_drop_table "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_drop_table "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName}'"
     sql """
         CREATE TABLE IF NOT EXISTS `${tableName}` (
             event_day DATE,
@@ -164,7 +164,7 @@ suite("test_base_mtmv","mtmv") {
         REFRESH MATERIALIZED VIEW ${mvName} AUTO
     """
     waitingMTMVTaskFinished(jobName)
-    order_qt_success "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_success "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
     mv_rewrite_success_without_check_chosen("""${querySql}""", "${mvName}")
 
     qt_desc_mv_1 "desc ${mvName}"
diff --git 
a/regression-test/suites/mtmv_p0/test_base_recreate_on_commit_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_recreate_col_mtmv.groovy
similarity index 53%
copy from 
regression-test/suites/mtmv_p0/test_base_recreate_on_commit_mtmv.groovy
copy to regression-test/suites/mtmv_p0/test_base_recreate_col_mtmv.groovy
index c2011952a52..130013f5757 100644
--- a/regression-test/suites/mtmv_p0/test_base_recreate_on_commit_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_recreate_col_mtmv.groovy
@@ -17,22 +17,20 @@
 
 import org.junit.Assert;
 
-suite("test_base_recreate_on_commit_mtmv","mtmv") {
+suite("test_base_recreate_col_mtmv","mtmv") {
     String dbName = context.config.getDbNameByFile(context.file)
-    String suiteName = "test_base_recreate_on_commit_mtmv"
+    String suiteName = "test_base_recreate_col_mtmv"
     String tableName1 = "${suiteName}_table1"
-    String tableName2 = "${suiteName}_table2"
-    String mvName = "${suiteName}_mv"
-
+    String mvName1 = "${suiteName}_mv1"
     sql """drop table if exists `${tableName1}`"""
-    sql """drop table if exists `${tableName2}`"""
-    sql """drop materialized view if exists ${mvName};"""
+    sql """drop materialized view if exists ${mvName1};"""
 
     sql """
         CREATE TABLE ${tableName1}
         (
             k1 INT,
-            k2 INT
+            k2 varchar(32),
+            k3 varchar(32)
         )
         DISTRIBUTED BY HASH(k1) BUCKETS 2
         PROPERTIES (
@@ -41,12 +39,12 @@ suite("test_base_recreate_on_commit_mtmv","mtmv") {
         """
 
     sql """
-            INSERT INTO ${tableName1} VALUES(1,1);
+            INSERT INTO ${tableName1} VALUES(1,"a","a2");
         """
 
     sql """
-        CREATE MATERIALIZED VIEW ${mvName}
-        BUILD DEFERRED REFRESH AUTO ON COMMIT
+        CREATE MATERIALIZED VIEW ${mvName1}
+        BUILD DEFERRED REFRESH AUTO ON MANUAL
         DISTRIBUTED BY hash(k1) BUCKETS 2
         PROPERTIES (
         'replication_num' = '1'
@@ -55,32 +53,26 @@ suite("test_base_recreate_on_commit_mtmv","mtmv") {
         SELECT * from ${tableName1};
         """
     sql """
-            REFRESH MATERIALIZED VIEW ${mvName} auto
+            REFRESH MATERIALIZED VIEW ${mvName1} auto
         """
-    waitingMTMVTaskFinishedByMvName(mvName)
-    order_qt_select_init "select * from ${mvName}"
-
-    // drop and recreate
-    sql """drop table if exists `${tableName1}`"""
-    order_qt_drop "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    waitingMTMVTaskFinishedByMvName(mvName1)
 
+    // drop column
     sql """
-        CREATE TABLE ${tableName1}
-        (
-            k1 INT,
-            k2 INT
-        )
-        DISTRIBUTED BY HASH(k1) BUCKETS 2
-        PROPERTIES (
-            "replication_num" = "1"
-        );
+        alter table ${tableName1} drop COLUMN k3;
         """
-
+    assertEquals("FINISHED", getAlterColumnFinalState("${tableName1}"))
+    // recreate column
     sql """
-            INSERT INTO ${tableName1} VALUES(2,2);
+        alter table ${tableName1} add COLUMN k3 varchar(32);
         """
+    assertEquals("FINISHED", getAlterColumnFinalState("${tableName1}"))
 
-    waitingMTMVTaskFinishedByMvName(mvName)
-    order_qt_recreate "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
-    order_qt_select_recreate "select * from ${mvName}"
+    order_qt_recreate_col_t1_mv1 "select 
Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
+
+    sql """
+            REFRESH MATERIALIZED VIEW ${mvName1} auto
+        """
+    waitingMTMVTaskFinishedByMvName(mvName1)
+    order_qt_refresh_mv1 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName1}'"
 }
diff --git 
a/regression-test/suites/mtmv_p0/test_base_recreate_on_commit_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_recreate_on_commit_mtmv.groovy
index c2011952a52..607d0e787df 100644
--- a/regression-test/suites/mtmv_p0/test_base_recreate_on_commit_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_recreate_on_commit_mtmv.groovy
@@ -62,7 +62,7 @@ suite("test_base_recreate_on_commit_mtmv","mtmv") {
 
     // drop and recreate
     sql """drop table if exists `${tableName1}`"""
-    order_qt_drop "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_drop "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
 
     sql """
         CREATE TABLE ${tableName1}
@@ -81,6 +81,6 @@ suite("test_base_recreate_on_commit_mtmv","mtmv") {
         """
 
     waitingMTMVTaskFinishedByMvName(mvName)
-    order_qt_recreate "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_recreate "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
     order_qt_select_recreate "select * from ${mvName}"
 }
diff --git 
a/regression-test/suites/mtmv_p0/test_base_rename_col_multi_level_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_rename_col_multi_level_mtmv.groovy
index a88df4c0336..f1ad7a59b44 100644
--- 
a/regression-test/suites/mtmv_p0/test_base_rename_col_multi_level_mtmv.groovy
+++ 
b/regression-test/suites/mtmv_p0/test_base_rename_col_multi_level_mtmv.groovy
@@ -128,10 +128,10 @@ suite("test_base_rename_col_multi_level_mtmv","mtmv") {
     sql """
         alter table ${tableName1} rename COLUMN k3 k4;
         """
-    order_qt_add_col_t1_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_add_col_t1_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_add_col_t1_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_add_col_t1_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_add_col_t1_mv1 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_add_col_t1_mv2 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_add_col_t1_mv3 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_add_col_t1_mv4 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName4}'"
 
     mv_rewrite_success_without_check_chosen(querySql, mvName2)
     mv_not_part_in(querySql, mvName1)
diff --git 
a/regression-test/suites/mtmv_p0/test_base_rename_multi_level_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_rename_multi_level_mtmv.groovy
index 284116b0efd..7a5cf12a4f7 100644
--- a/regression-test/suites/mtmv_p0/test_base_rename_multi_level_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_rename_multi_level_mtmv.groovy
@@ -129,10 +129,10 @@ suite("test_base_rename_multi_level_mtmv","mtmv") {
     sql """
         ALTER TABLE ${tableName1} rename ${tableName1Rename};
         """
-    order_qt_drop_t1_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_drop_t1_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_drop_t1_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_drop_t1_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_drop_t1_mv1 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_drop_t1_mv2 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_drop_t1_mv3 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_drop_t1_mv4 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName4}'"
 
     mv_rewrite_success_without_check_chosen(querySql, mvName2)
     mv_not_part_in(querySql, mvName1)
diff --git 
a/regression-test/suites/mtmv_p0/test_base_rename_mv_multi_level_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_rename_mv_multi_level_mtmv.groovy
index db95b0e412c..b6965437b61 100644
--- a/regression-test/suites/mtmv_p0/test_base_rename_mv_multi_level_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_rename_mv_multi_level_mtmv.groovy
@@ -129,10 +129,10 @@ suite("test_base_rename_mv_multi_level_mtmv","mtmv") {
     sql """
         ALTER MATERIALIZED VIEW ${mvName1} rename ${mvName1Rename};
         """
-    order_qt_rename_mv_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1Rename}'"
-    order_qt_rename_mv_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_rename_mv_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_rename_mv_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_rename_mv_mv1 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName1Rename}'"
+    order_qt_rename_mv_mv2 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_rename_mv_mv3 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_rename_mv_mv4 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName4}'"
     // rename table will rename default partition name, so will change to async
     mv_not_part_in(querySql, mvName1Rename)
     mv_rewrite_success_without_check_chosen(querySql, mvName2)
diff --git 
a/regression-test/suites/mtmv_p0/test_base_rename_on_commit_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_rename_on_commit_mtmv.groovy
index 02aca18c0f3..78d29ed6ac1 100644
--- a/regression-test/suites/mtmv_p0/test_base_rename_on_commit_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_rename_on_commit_mtmv.groovy
@@ -64,7 +64,7 @@ suite("test_base_rename_on_commit_mtmv","mtmv") {
     sql """
         ALTER TABLE ${tableName1} rename ${tableName2};
         """
-    order_qt_rename "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_rename "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
 
     sql """
             INSERT INTO ${tableName2} VALUES(2,2);
@@ -72,7 +72,7 @@ suite("test_base_rename_on_commit_mtmv","mtmv") {
 
     // after rename, should not refresh auto
     waitingMTMVTaskFinishedByMvName(mvName)
-    order_qt_rename "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_rename "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
     order_qt_select_rename "select * from ${mvName}"
 
     // create t1
@@ -92,7 +92,7 @@ suite("test_base_rename_on_commit_mtmv","mtmv") {
          """
 
     waitingMTMVTaskFinishedByMvName(mvName)
-    order_qt_recreate_auto "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_recreate_auto "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName}'"
     order_qt_select_recreate_auto "select * from ${mvName}"
 
     // t2 should not trigger refresh
diff --git 
a/regression-test/suites/mtmv_p0/test_base_rename_p_mv_multi_level_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_rename_p_mv_multi_level_mtmv.groovy
index e7ba67650f9..c44f97bd853 100644
--- 
a/regression-test/suites/mtmv_p0/test_base_rename_p_mv_multi_level_mtmv.groovy
+++ 
b/regression-test/suites/mtmv_p0/test_base_rename_p_mv_multi_level_mtmv.groovy
@@ -142,10 +142,10 @@ suite("test_base_rename_p_mv_multi_level_mtmv","mtmv") {
     sql """
         ALTER MATERIALIZED VIEW ${mvName1} rename ${mvName1Rename};
         """
-    order_qt_rename_mv_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1Rename}'"
-    order_qt_rename_mv_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_rename_mv_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_rename_mv_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_rename_mv_mv1 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName1Rename}'"
+    order_qt_rename_mv_mv2 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_rename_mv_mv3 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_rename_mv_mv4 "select Name,State,RefreshState,SyncWithBaseTables  
from mv_infos('database'='${dbName}') where Name='${mvName4}'"
     mv_rewrite_success_without_check_chosen(querySql, mvName1Rename)
     mv_rewrite_success_without_check_chosen(querySql, mvName2)
     mv_rewrite_success_without_check_chosen(querySql, mvName3)
diff --git 
a/regression-test/suites/mtmv_p0/test_base_replace_multi_level_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_replace_multi_level_mtmv.groovy
index 52f88907532..f665bb7e485 100644
--- a/regression-test/suites/mtmv_p0/test_base_replace_multi_level_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_replace_multi_level_mtmv.groovy
@@ -127,10 +127,10 @@ suite("test_base_replace_multi_level_mtmv","mtmv") {
     sql """
         ALTER TABLE ${tableName1} REPLACE WITH TABLE ${tableName2} 
PROPERTIES('swap' = 'true');
         """
-    order_qt_replace_t1_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_replace_t1_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_replace_t1_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_replace_t1_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_replace_t1_mv1 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_replace_t1_mv2 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_replace_t1_mv3 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_replace_t1_mv4 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName4}'"
 
     mv_not_part_in(querySql, mvName2)
     mv_not_part_in(querySql, mvName1)
@@ -157,10 +157,10 @@ suite("test_base_replace_multi_level_mtmv","mtmv") {
         """
     waitingMTMVTaskFinishedByMvName(mvName4)
 
-    order_qt_refresh_t1_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_refresh_t1_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_refresh_t1_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_refresh_t1_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_refresh_t1_mv1 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_refresh_t1_mv2 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_refresh_t1_mv3 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_refresh_t1_mv4 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName4}'"
 
 
     mv_rewrite_success_without_check_chosen(querySql, mvName1)
@@ -172,9 +172,9 @@ suite("test_base_replace_multi_level_mtmv","mtmv") {
     sql """
         ALTER TABLE ${tableName1} REPLACE WITH TABLE ${tableName2} 
PROPERTIES('swap' = 'false');
         """
-    order_qt_replace_t1_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_replace_t1_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_replace_t1_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_replace_t1_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_replace_t1_mv1 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_replace_t1_mv2 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_replace_t1_mv3 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_replace_t1_mv4 "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName4}'"
 
 }
diff --git 
a/regression-test/suites/mtmv_p0/test_base_replace_mv_multi_level_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_replace_mv_multi_level_mtmv.groovy
index 410f28afd02..99455ace4bf 100644
--- 
a/regression-test/suites/mtmv_p0/test_base_replace_mv_multi_level_mtmv.groovy
+++ 
b/regression-test/suites/mtmv_p0/test_base_replace_mv_multi_level_mtmv.groovy
@@ -144,11 +144,11 @@ suite("test_base_replace_mv_multi_level_mtmv","mtmv") {
     sql """
         ALTER MATERIALIZED VIEW ${mvName1} REPLACE WITH MATERIALIZED VIEW 
${mvName11} PROPERTIES('swap' = 'true');;
         """
-    order_qt_replace_true_mv_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_replace_true_mv_mv11 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName11}'"
-    order_qt_replace_true_mv_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_replace_true_mv_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_replace_true_mv_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_replace_true_mv_mv1 "select 
Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_replace_true_mv_mv11 "select 
Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName11}'"
+    order_qt_replace_true_mv_mv2 "select 
Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_replace_true_mv_mv3 "select 
Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_replace_true_mv_mv4 "select 
Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
     // replace table will rename default partition name, so will change to 
async
     mv_not_part_in(querySql, mvName1)
     mv_not_part_in(querySql, mvName11)
@@ -174,11 +174,11 @@ suite("test_base_replace_mv_multi_level_mtmv","mtmv") {
     sql """
         ALTER MATERIALIZED VIEW ${mvName1} REPLACE WITH MATERIALIZED VIEW 
${mvName11} PROPERTIES('swap' = 'false');;
         """
-    order_qt_replace_false_mv_mv1 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
-    order_qt_replace_false_mv_mv11 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName11}'"
-    order_qt_replace_false_mv_mv2 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
-    order_qt_replace_false_mv_mv3 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
-    order_qt_replace_false_mv_mv4 "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
+    order_qt_replace_false_mv_mv1 "select 
Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName1}'"
+    order_qt_replace_false_mv_mv11 "select 
Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName11}'"
+    order_qt_replace_false_mv_mv2 "select 
Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName2}'"
+    order_qt_replace_false_mv_mv3 "select 
Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName3}'"
+    order_qt_replace_false_mv_mv4 "select 
Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName4}'"
     // replace table will rename default partition name, so will change to 
async
     mv_not_part_in(querySql, mvName1)
     mv_rewrite_success_without_check_chosen(querySql, mvName2)
diff --git 
a/regression-test/suites/mtmv_p0/test_base_replace_on_commit_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_base_replace_on_commit_mtmv.groovy
index 4139d73bb3d..31176ee61d4 100644
--- a/regression-test/suites/mtmv_p0/test_base_replace_on_commit_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_base_replace_on_commit_mtmv.groovy
@@ -80,14 +80,14 @@ suite("test_base_replace_on_commit_mtmv","mtmv") {
     sql """
         ALTER TABLE ${tableName1} REPLACE WITH TABLE ${tableName2} 
PROPERTIES('swap' = 'true');
         """
-    order_qt_replace "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_replace "select Name,State,RefreshState,SyncWithBaseTables  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
 
     sql """
             INSERT INTO ${tableName1} VALUES(2,2);
         """
 
     waitingMTMVTaskFinishedByMvName(mvName)
-    order_qt_replace_normal "select Name,State,RefreshState  from 
mv_infos('database'='${dbName}') where Name='${mvName}'"
+    order_qt_replace_normal "select Name,State,RefreshState,SyncWithBaseTables 
 from mv_infos('database'='${dbName}') where Name='${mvName}'"
     order_qt_select_replace "select * from ${mvName}"
 
     // t2 should not trigger refresh


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to