This is an automated email from the ASF dual-hosted git repository.

dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new c111539b715 [enhancement](regression-test) dup modify value case3 
(#37359)
c111539b715 is described below

commit c111539b71533aeffd0952a1b562b5d589e45ccd
Author: kkop <2449402...@qq.com>
AuthorDate: Sun Jul 7 08:12:38 2024 +0800

    [enhancement](regression-test) dup modify value case3 (#37359)
---
 .../test_dup_schema_value_modify2.groovy           | 944 +++++++++++++++++++++
 1 file changed, 944 insertions(+)

diff --git 
a/regression-test/suites/schema_change_p0/test_dup_schema_value_modify2.groovy 
b/regression-test/suites/schema_change_p0/test_dup_schema_value_modify2.groovy
new file mode 100644
index 00000000000..49046031b74
--- /dev/null
+++ 
b/regression-test/suites/schema_change_p0/test_dup_schema_value_modify2.groovy
@@ -0,0 +1,944 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_dup_schema_value_modify2", "p0") {
+    def tbName1 = "test_dup_model_value_change2"
+    def tbName2 = "test_dup_model_value_change_2"
+    //Test the dup model by adding a value column
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+    def initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT 
\"用户昵称\",\n" +
+            "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+            "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+            "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+            "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+            "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+            "              `register_time` DATETIME COMMENT \"用户注册时间\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 
1\"\n" +
+            "          );"
+
+    def initTableData = "insert into ${tbName1} values(123456789, 'Alice', 
'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00')," +
+            "               (234567890, 'Bob', 'Shanghai', 30, 1, 13998765432, 
'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+            "               (345678901, 'Carol', 'Guangzhou', 28, 0, 
13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+            "               (456789012, 'Dave', 'Shenzhen', 35, 1, 
13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+            "               (567890123, 'Eve', 'Chengdu', 27, 0, 13572468091, 
'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+            "               (678901234, 'Frank', 'Hangzhou', 32, 1, 
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
+            "               (789012345, 'Grace', 'Xian', 29, 0, 13333333333, 
'No. 222 Street, Xian', '2022-07-07 22:00:00');"
+
+    //Test the dup model by adding a value column with VARCHAR
+    sql initTable
+    sql initTableData
+    def getTableStatusSql = " SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tbName1}' ORDER BY createtime DESC LIMIT 1  "
+    def errorMessage = ""
+    def insertSql = "insert into ${tbName1} values(923456689, 'Alice', '四川省', 
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00');"
+
+
+    /**
+     *  Test the dup model by modify a value type from CHAR to other type
+     */
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+    initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT 
\"用户昵称\",\n" +
+            "              `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
+            "              `city` CHAR(20) COMMENT \"用户所在城市\",\n" +
+            "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+            "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+            "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+            "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+            "              `register_time` DATETIME COMMENT \"用户注册时间\",\n" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 
1\"\n" +
+            "          );"
+
+    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.83, 
'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 
13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 
'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 
13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 
13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 
13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 
200}, '[\"abc\", \"def\"]');"
+
+    //TODO Test the dup model by modify a value type from CHAR  to BOOLEAN
+    errorMessage = "errCode = 2, detailMessage = Can not change CHAR to 
BOOLEAN"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city BOOLEAN  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.2, 
false, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    // TODO Test the dup model by modify a value type from CHAR  to TINYINT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city TINYINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.2, 1, 
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 
100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 120
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from CHAR  to SMALLINT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city SMALLINT   """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 3, 3, 
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 
100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //Test the dup model by modify a value type from CHAR  to INT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city INT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 4.1, 
23, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 
100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from CHAR  to BIGINT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city BIGINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 
2423, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //Test the dup model by modify a value type from  CHAR to LARGEINT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city LARGEINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.36, 
4561, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from CHAR  to FLOAT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city FLOAT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 
1.25, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from CHAR  to DECIMAL
+    errorMessage = "errCode = 2, detailMessage = Can not change CHAR to 
DECIMAL128"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DECIMAL(38,0)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 
56.98, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from CHAR  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change CHAR to DATEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATE  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 
'2003-12-31', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from CHAR  to DATEV2
+    errorMessage = "errCode = 2, detailMessage = Can not change CHAR to DATEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.3, 
'2003-12-31', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from CHAR  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change CHAR to 
DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATETIME  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 9.63, 
'2003-12-31 20:12:12', 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from CHAR  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change CHAR to 
DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATETIMEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 
'2003-12-31 20:12:12', 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Data doubling Test the dup model by modify a value type from CHAR  
to VARCHAR
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column city VARCHAR(100)  """
+    insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 
'Yaan1', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, false, "${tbName1}")
+
+    sql """ DROP TABLE IF EXISTS ${tbName2} """
+    initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT 
\"用户昵称\",\n" +
+            "              `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
+            "              `city` VARCHAR(100) COMMENT \"用户所在城市\",\n" +
+            "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+            "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+            "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+            "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+            "              `register_time` DATETIME COMMENT \"用户注册时间\",\n" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 
1\"\n" +
+            "          );"
+
+    initTableData1 = "insert into ${tbName2} values(123456789, 'Alice', 1.83, 
'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 
13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 
'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 
13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 
13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (923456689, 'Alice', 5.69, 'Yaan1', 25, 0, 
13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 
200}, '[\\\"abc\\\", \\\"def\\\"]')," +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 
13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 
200}, '[\"abc\", \"def\"]');"
+
+
+    sql initTable1
+    sql initTableData1
+//    checkTableData("${tbName1}","${tbName2}","city")
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+    //Test the dup model by modify a value type from CHAR  to STRING
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column city STRING  """
+    insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.59, 
'Yaan2', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, false, "${tbName1}")
+
+
+    sql """ DROP TABLE IF EXISTS ${tbName2} """
+    initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT 
\"用户昵称\",\n" +
+            "              `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
+            "              `city` STRING COMMENT \"用户所在城市\",\n" +
+            "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+            "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+            "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+            "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+            "              `register_time` DATETIME COMMENT \"用户注册时间\",\n" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 
1\"\n" +
+            "          );"
+
+    initTableData1 = "insert into ${tbName2} values(123456789, 'Alice', 1.83, 
'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 
13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 
'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 
13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 
13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (923456689, 'Alice', 5.69, 'Yaan2', 25, 0, 
13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 
200}, '[\\\"abc\\\", \\\"def\\\"]')," +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 
13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 
200}, '[\"abc\", \"def\"]');"
+
+
+    sql initTable1
+    sql initTableData1
+    checkTableData("${tbName1}","${tbName2}","city")
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+
+    //TODO Test the dup model by modify a  value type from CHAR  to map
+    //Test the dup model by modify a value type from CHAR  to map
+    errorMessage = "errCode = 2, detailMessage = Can not change CHAR to MAP"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city Map<STRING, INT>  
"""
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.98, 
{'a': 100, 'b': 200}, 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from CHAR  to JSON
+    errorMessage = "errCode = 2, detailMessage = Can not change CHAR to JSON"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city JSON  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 8.47, 
'{'a': 100, 'b': 200}', 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+
+    /**
+     *  Test the dup model by modify a value type from VARCHAR to other type
+     */
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+    initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT 
\"用户昵称\",\n" +
+            "              `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
+            "              `city` VARCHAR(255) COMMENT \"用户所在城市\",\n" +
+            "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+            "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+            "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+            "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+            "              `register_time` DATETIME COMMENT \"用户注册时间\",\n" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 
1\"\n" +
+            "          );"
+
+    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.83, 
'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 
13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 
'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 
13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 
13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 
13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 
200}, '[\"abc\", \"def\"]');"
+
+    //TODO Test the dup model by modify a value type from VARCHAR  to BOOLEAN
+    errorMessage = "errCode = 2, detailMessage = Can not change VARCHAR to 
BOOLEAN"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city BOOLEAN  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.2, 
false, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    // TODO Test the dup model by modify a value type from VARCHAR  to TINYINT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city TINYINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.2, 1, 
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 
100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 120
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from VARCHAR  to SMALLINT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city SMALLINT   """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 3, 3, 
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 
100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //Test the dup model by modify a value type from VARCHAR  to INT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city INT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 4.1, 
23, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 
100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from VARCHAR  to BIGINT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city BIGINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 
2423, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //Test the dup model by modify a value type from  VARCHAR to LARGEINT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city LARGEINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.36, 
4561, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from VARCHAR  to FLOAT
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city FLOAT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 
1.25, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from VARCHAR  to DECIMAL
+    errorMessage = "errCode = 2, detailMessage = Can not change VARCHAR to 
DECIMAL128"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DECIMAL(38,0)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 
56.98, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from VARCHAR  to DATE
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATE  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 
'2003-12-31', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from VARCHAR  to DATEV2
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.3, 
'2003-12-31', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from VARCHAR  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change VARCHAR to 
DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATETIME  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 9.63, 
'2003-12-31 20:12:12', 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from VARCHAR  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change VARCHAR to 
DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATETIMEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 
'2003-12-31 20:12:12', 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from VARCHAR  to CHAR
+    errorMessage = "errCode = 2, detailMessage = Can not change VARCHAR to 
CHAR"
+    expectException({
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column city CHAR(3)  """
+    insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 
'Yaan1', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, false, "${tbName1}")
+    }, errorMessage)
+
+
+    //TODO Data doubling Test the dup model by modify a value type from 
VARCHAR  to STRING
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column city STRING  """
+    insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.59, 
'Yaan2', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, false, "${tbName1}")
+
+
+    sql """ DROP TABLE IF EXISTS ${tbName2} """
+    initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT 
\"用户昵称\",\n" +
+            "              `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
+            "              `city` STRING COMMENT \"用户所在城市\",\n" +
+            "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+            "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+            "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+            "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+            "              `register_time` DATETIME COMMENT \"用户注册时间\",\n" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 
1\"\n" +
+            "          );"
+
+    initTableData1 = "insert into ${tbName2} values(123456789, 'Alice', 1.83, 
'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 
13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 
'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 
13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 
13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (923456689, 'Alice', 5.69, 'Yaan2', 25, 0, 
13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 
200}, '[\\\"abc\\\", \\\"def\\\"]')," +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 
13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 
200}, '[\"abc\", \"def\"]');"
+
+
+    sql initTable1
+    sql initTableData1
+//    checkTableData("${tbName1}","${tbName2}","city")
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+
+    //TODO Test the dup model by modify a  value type from VARCHAR  to map
+    //Test the dup model by modify a value type from VARCHAR  to STRING
+    errorMessage = "errCode = 2, detailMessage = Can not change VARCHAR to MAP"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city Map<STRING, INT>  
"""
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.98, 
{'a': 100, 'b': 200}, 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from VARCHAR  to JSON
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city JSON  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 8.47, 
'{'a': 100, 'b': 200}', 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    /**
+     *  Test the dup model by modify a value type from STRING to other type
+     */
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+    initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT 
\"用户昵称\",\n" +
+            "              `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
+            "              `city` STRING COMMENT \"用户所在城市\",\n" +
+            "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+            "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+            "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+            "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+            "              `register_time` DATETIME COMMENT \"用户注册时间\",\n" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 
1\"\n" +
+            "          );"
+
+    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.83, 
'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 
13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 
'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 
13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 
13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 
200}, '[\"abc\", \"def\"]')," +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 
13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 
200}, '[\"abc\", \"def\"]');"
+
+    //TODO Test the dup model by modify a value type from STRING  to BOOLEAN
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
BOOLEAN"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city BOOLEAN  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.2, 
false, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    // TODO Test the dup model by modify a value type from STRING  to TINYINT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
TINYINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city TINYINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.2, 1, 
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 
100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 120
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from STRING  to SMALLINT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
SMALLINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city SMALLINT   """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 3, 3, 
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 
100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //Test the dup model by modify a value type from STRING  to INT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to INT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city INT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 4.1, 
23, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 
100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from STRING  to BIGINT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
BIGINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city BIGINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 
2423, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //Test the dup model by modify a value type from  STRING to LARGEINT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
LARGEINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city LARGEINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.36, 
4561, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from STRING  to FLOAT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
FLOAT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city FLOAT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 
1.25, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from STRING  to DECIMAL
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
DECIMAL128"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DECIMAL(38,0)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 
56.98, 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from STRING  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
DATEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATE  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 
'2003-12-31', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from STRING  to DATEV2
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
DATEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.3, 
'2003-12-31', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 
10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from STRING  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATETIME  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 9.63, 
'2003-12-31 20:12:12', 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from STRING  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city DATETIMEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 
'2003-12-31 20:12:12', 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from STRING  to CHAR
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to CHAR"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city CHAR(3)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 
'Yaan1', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from  STRING to VARCHAR
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to 
VARCHAR"
+    expectException({
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column city VARCHAR(256)  """
+    insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.59, 
'Yaan2', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a  value type from STRING  to map
+    //Test the dup model by modify a value type from STRING  to STRING
+    errorMessage = "errCode = 2, detailMessage = Can not change STRING to MAP"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city Map<STRING, INT>  
"""
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.98, 
{'a': 100, 'b': 200}, 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from STRING  to JSON
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column city JSON  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 8.47, 
'{'a': 100, 'b': 200}', 25, 0, 13812345678, 'No. 123 Street, Beijing', 
'2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+
+
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to