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 b46fe140e22 [enhancement](regression-test) drop a value type tests
(#36112)
b46fe140e22 is described below
commit b46fe140e229144581c44fb50ccfa9f05f635092
Author: kkop <[email protected]>
AuthorDate: Wed Jun 12 21:56:55 2024 +0800
[enhancement](regression-test) drop a value type tests (#36112)
Co-authored-by: cjj2010 <[email protected]>
---
.../test_unique_model_schema_value_change_del.out | 9 +
...st_unique_model_schema_value_change_drop.groovy | 1019 ++++++++++++++++++++
2 files changed, 1028 insertions(+)
diff --git
a/regression-test/data/schema_change_p0/test_unique_model_schema_value_change_del.out
b/regression-test/data/schema_change_p0/test_unique_model_schema_value_change_del.out
new file mode 100644
index 00000000000..a0849d8ec78
--- /dev/null
+++
b/regression-test/data/schema_change_p0/test_unique_model_schema_value_change_del.out
@@ -0,0 +1,9 @@
+-- This file is automatically generated. You should know what you did if you
want to edit this
+-- ! --
+1 John Doe 95.5000000000 New York 25 1
1234567890 10 1000000000 2024-06-11 2024-06-11
2024-06-11T08:30 2024-06-11T08:30 Test String 1 {"a":100,
"b":200} ["abc","def"]
+2 Jane Smith 85.2000000000 Los Angeles 30 2
9876543210 20 2000000000 2024-06-12 2024-06-12
2024-06-12T09:45 2024-06-12T09:45 Test String 2 {"a":200,
"b":200} ["abc","def"]
+3 Mike Johnson 77.8000000000 Chicago 35 1 1112223334
30 3000000000 2024-06-13 2024-06-13 2024-06-13T11:15
2024-06-13T11:15 Test String 3 {"a":300, "b":200} ["abc","def"]
+4 Emily Brown 92.0000000000 San Francisco 28 2
5556667778 40 4000000000 2024-06-14 2024-06-14
2024-06-14T13:30 2024-06-14T13:30 Test String 4 {"a":400,
"b":200} ["abc","def"]
+5 David Wilson 88.9000000000 Seattle 32 1 9998887776
50 5000000000 2024-06-15 2024-06-15 2024-06-15T15:45
2024-06-15T15:45 Test String 5 {"a":500, "b":200} ["abc","def"]
+6 Sophia Lee 91.3000000000 Boston 29 2 7778889990
60 6000000000 2024-06-16 2024-06-16 2024-06-16T17:00
2024-06-16T17:00 Test String 6 {"a":500, "b":200}
{"k1":"v1","k2":200}
+
diff --git
a/regression-test/suites/schema_change_p0/test_unique_model_schema_value_change_drop.groovy
b/regression-test/suites/schema_change_p0/test_unique_model_schema_value_change_drop.groovy
new file mode 100644
index 00000000000..9e169bad6e1
--- /dev/null
+++
b/regression-test/suites/schema_change_p0/test_unique_model_schema_value_change_drop.groovy
@@ -0,0 +1,1019 @@
+// 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_unique_model_schema_value_drop", "p0") {
+ def tbName = "test_unique_model_schema_value_drop"
+ def tbName2 = "test_unique_model_schema_value_drop_1"
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+ def initTable1 = ""
+ def initTableData1 = ""
+ def getTableStatusSql = " SHOW ALTER TABLE COLUMN WHERE
IndexName='${tbName}' ORDER BY createtime DESC LIMIT 1 "
+ def errorMessage = ""
+ def insertSql = "insert into ${tbName} values(123456689, 'Alice', '四川省',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00');"
+
+
+ /**
+ * Test the unique model by drop a value type
+ */
+
+
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+ def initTable = " CREATE TABLE IF NOT EXISTS ${tbName}\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" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ def initTableData = "insert into ${tbName} values(1, 'John Doe', 95.5,
'New York', 25, 1, 1234567890, true, 10, 1000000000, '2024-06-11',
'2024-06-11', '2024-06-11 08:30:00', '2024-06-11 08:30:00', 'Test String 1',
{'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, false, 20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12
09:45:00', '2024-06-12 09:45:00', 'Test String 2', {'a': 200, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, true, 30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13
11:15:00', '2024-06-13 11:15:00', 'Test String 3', {'a': 300, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, true, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14
13:30:00', '2024-06-14 13:30:00', 'Test String 4', {'a': 400, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, false, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15
15:45:00', '2024-06-15 15:45:00', 'Test String 5', {'a': 500, 'b': 200},
'[\"abc\", \"def\"]');"
+
+ // Test the unique model by drop a value type from BOOLEAN
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column is_ok """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, 7778889990, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', '2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\"k1\":\"v1\", \"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, 1234567890, 10, 1000000000, '2024-06-11', '2024-06-11',
'2024-06-11 08:30:00', '2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b':
200}, '[\"abc\", \"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, 20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12 09:45:00',
'2024-06-12 09:45:00', 'Test String 2', {'a': 200, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, 30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13 11:15:00',
'2024-06-13 11:15:00', 'Test String 3', {'a': 300, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14 13:30:00',
'2024-06-14 13:30:00', 'Test String 4', {'a': 400, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2,
7778889990, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16 17:00:00',
'2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\\\"k1\\\":\\\"v1\\\", \\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15 15:45:00',
'2024-06-15 15:45:00', 'Test String 5', {'a': 500, 'b': 200}, '[\"abc\",
\"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "t_int")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from TINYINT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column sex """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', '2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\"k1\":\"v1\", \"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11',
'2024-06-11 08:30:00', '2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b':
200}, '[\"abc\", \"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30,
9876543210, false, 20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12
09:45:00', '2024-06-12 09:45:00', 'Test String 2', {'a': 200, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35,
1112223334, true, 30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13
11:15:00', '2024-06-13 11:15:00', 'Test String 3', {'a': 300, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28,
5556667778, true, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14
13:30:00', '2024-06-14 13:30:00', 'Test String 4', {'a': 400, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 7778889990,
true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16 17:00:00',
'2024-06-16 17:00:00', 'Test String 6', {'a': 400, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32,
9998887776, false, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15
15:45:00', '2024-06-15 15:45:00', 'Test String 5', {'a': 500, 'b': 200},
'[\"abc\", \"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "phone")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from SMALLINT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column age """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
2, 7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', '2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\"k1\":\"v1\", \"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 1, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11',
'2024-06-11 08:30:00', '2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b':
200}, '[\"abc\", \"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 2,
9876543210, false, 20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12
09:45:00', '2024-06-12 09:45:00', 'Test String 2', {'a': 200, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 1,
1112223334, true, 30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13
11:15:00', '2024-06-13 11:15:00', 'Test String 3', {'a': 300, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 2,
5556667778, true, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14
13:30:00', '2024-06-14 13:30:00', 'Test String 4', {'a': 400, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 2, 7778889990,
true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16 17:00:00',
'2024-06-16 17:00:00', 'Test String 6', {'a': 400, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 1,
9998887776, false, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15
15:45:00', '2024-06-15 15:45:00', 'Test String 5', {'a': 500, 'b': 200},
'[\"abc\", \"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "sex")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from INT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column t_int """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, 7778889990, true, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', '2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\"k1\":\"v1\", \"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, 1234567890, true, 1000000000, '2024-06-11', '2024-06-11',
'2024-06-11 08:30:00', '2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b':
200}, '[\"abc\", \"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, false, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12
09:45:00', '2024-06-12 09:45:00', 'Test String 2', {'a': 200, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, true, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13
11:15:00', '2024-06-13 11:15:00', 'Test String 3', {'a': 300, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, true, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14
13:30:00', '2024-06-14 13:30:00', 'Test String 4', {'a': 400, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2,
7778889990, true, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', '2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\\\"k1\\\":\\\"v1\\\", \\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, false, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15
15:45:00', '2024-06-15 15:45:00', 'Test String 5', {'a': 500, 'b': 200},
'[\"abc\", \"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "t_bigint")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from BIGINT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column t_bigint """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, 7778889990, true, 60, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', '2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\"k1\":\"v1\", \"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, 1234567890, true, 10, '2024-06-11', '2024-06-11', '2024-06-11
08:30:00', '2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, false, 20, '2024-06-12', '2024-06-12', '2024-06-12 09:45:00',
'2024-06-12 09:45:00', 'Test String 2', {'a': 200, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, true, 30, '2024-06-13', '2024-06-13', '2024-06-13 11:15:00',
'2024-06-13 11:15:00', 'Test String 3', {'a': 300, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, true, 40, '2024-06-14', '2024-06-14', '2024-06-14 13:30:00',
'2024-06-14 13:30:00', 'Test String 4', {'a': 400, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2,
7778889990, true, 60, '2024-06-16', '2024-06-16', '2024-06-16 17:00:00',
'2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\\\"k1\\\":\\\"v1\\\", \\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, false, 50, '2024-06-15', '2024-06-15', '2024-06-15 15:45:00',
'2024-06-15 15:45:00', 'Test String 5', {'a': 500, 'b': 200}, '[\"abc\",
\"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "t_date")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from LARGEINT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column phone """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16 17:00:00',
'2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\"k1\":\"v1\",
\"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, true, 10, 1000000000, '2024-06-11', '2024-06-11', '2024-06-11
08:30:00', '2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
false, 20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12 09:45:00',
'2024-06-12 09:45:00', 'Test String 2', {'a': 200, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1, true,
30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13 11:15:00', '2024-06-13
11:15:00', 'Test String 3', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
true, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14 13:30:00',
'2024-06-14 13:30:00', 'Test String 4', {'a': 400, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2, true, 60,
6000000000, '2024-06-16', '2024-06-16', '2024-06-16 17:00:00', '2024-06-16
17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\\\"k1\\\":\\\"v1\\\",
\\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
false, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15 15:45:00',
'2024-06-15 15:45:00', 'Test String 5', {'a': 500, 'b': 200}, '[\"abc\",
\"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "is_ok")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from DATE
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column t_date """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, 7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16 17:00:00',
'2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\"k1\":\"v1\",
\"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11
08:30:00', '2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, false, 20, 2000000000, '2024-06-12', '2024-06-12 09:45:00',
'2024-06-12 09:45:00', 'Test String 2', {'a': 200, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, true, 30, 3000000000, '2024-06-13', '2024-06-13 11:15:00',
'2024-06-13 11:15:00', 'Test String 3', {'a': 300, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, true, 40, 4000000000, '2024-06-14', '2024-06-14 13:30:00',
'2024-06-14 13:30:00', 'Test String 4', {'a': 400, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2,
7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16 17:00:00',
'2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\\\"k1\\\":\\\"v1\\\", \\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, false, 50, 5000000000, '2024-06-15', '2024-06-15 15:45:00',
'2024-06-15 15:45:00', 'Test String 5', {'a': 500, 'b': 200}, '[\"abc\",
\"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "t_datev2")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from DATEV2
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column t_datev2 """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, 7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16 17:00:00',
'2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\"k1\":\"v1\",
\"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11
08:30:00', '2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, false, 20, 2000000000, '2024-06-12', '2024-06-12 09:45:00',
'2024-06-12 09:45:00', 'Test String 2', {'a': 200, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, true, 30, 3000000000, '2024-06-13', '2024-06-13 11:15:00',
'2024-06-13 11:15:00', 'Test String 3', {'a': 300, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, true, 40, 4000000000, '2024-06-14', '2024-06-14 13:30:00',
'2024-06-14 13:30:00', 'Test String 4', {'a': 400, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2,
7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16 17:00:00',
'2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\\\"k1\\\":\\\"v1\\\", \\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, false, 50, 5000000000, '2024-06-15', '2024-06-15 15:45:00',
'2024-06-15 15:45:00', 'Test String 5', {'a': 500, 'b': 200}, '[\"abc\",
\"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "t_datetimev2")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from t_datetimev2
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column t_datetimev2 """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, 7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16',
'2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\"k1\":\"v1\",
\"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11',
'2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, false, 20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12
09:45:00', 'Test String 2', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, true, 30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13
11:15:00', 'Test String 3', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, true, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14
13:30:00', 'Test String 4', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2,
7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\\\"k1\\\":\\\"v1\\\",
\\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, false, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15
15:45:00', 'Test String 5', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "t_datetime")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from t_datetimev2
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column t_datetimev2 """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, 7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16',
'2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\"k1\":\"v1\",
\"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEv2 COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11',
'2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, false, 20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12
09:45:00', 'Test String 2', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, true, 30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13
11:15:00', 'Test String 3', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, true, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14
13:30:00', 'Test String 4', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2,
7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\\\"k1\\\":\\\"v1\\\",
\\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, false, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15
15:45:00', 'Test String 5', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "t_string")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from t_datetime
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column t_datetime """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, 7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16',
'2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\"k1\":\"v1\",
\"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEv2 COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11',
'2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, false, 20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12
09:45:00', 'Test String 2', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, true, 30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13
11:15:00', 'Test String 3', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, true, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14
13:30:00', 'Test String 4', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2,
7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\\\"k1\\\":\\\"v1\\\",
\\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, false, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15
15:45:00', 'Test String 5', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "t_string")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from CHAR
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column city """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 29, 2,
7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', '2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\"k1\":\"v1\", \"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 25,
1, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11', '2024-06-11
08:30:00', '2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 30, 2, 9876543210, false,
20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12 09:45:00', '2024-06-12
09:45:00', 'Test String 2', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 35, 1, 1112223334,
true, 30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13 11:15:00',
'2024-06-13 11:15:00', 'Test String 3', {'a': 300, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 28, 2, 5556667778, true,
40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14 13:30:00', '2024-06-14
13:30:00', 'Test String 4', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 29, 2, 7778889990, true,
60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16 17:00:00', '2024-06-16
17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\\\"k1\\\":\\\"v1\\\",
\\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 32, 1, 9998887776,
false, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15 15:45:00',
'2024-06-15 15:45:00', 'Test String 5', {'a': 500, 'b': 200}, '[\"abc\",
\"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "age")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from VARCHAR
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column username """
+ insertSql = "insert into ${tbName} values(6, 91.3, 'Boston', 29, 2,
7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', '2024-06-16 17:00:00', 'Test String 6', {'a': 500, 'b': 200},
'{\"k1\":\"v1\", \"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ sql """ DROP TABLE IF EXISTS ${tbName2} """
+ initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+ " (\n" +
+ " `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+ " `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
+ " `city` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 95.5, 'New York', 25,
1, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11', '2024-06-11
08:30:00', '2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b': 200},
'[\"abc\", \"def\"]')," +
+ " (2, 85.2, 'Los Angeles', 30, 2, 9876543210, false,
20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12 09:45:00', '2024-06-12
09:45:00', 'Test String 2', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (3, 77.8, 'Chicago', 35, 1, 1112223334, true, 30,
3000000000, '2024-06-13', '2024-06-13', '2024-06-13 11:15:00', '2024-06-13
11:15:00', 'Test String 3', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+ " (4, 92.0, 'San Francisco', 28, 2, 5556667778,
true, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14 13:30:00',
'2024-06-14 13:30:00', 'Test String 4', {'a': 400, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (6, 91.3, 'Boston', 29, 2, 7778889990, true, 60,
6000000000, '2024-06-16', '2024-06-16', '2024-06-16 17:00:00', '2024-06-16
17:00:00', 'Test String 6', {'a': 500, 'b': 200}, '{\\\"k1\\\":\\\"v1\\\",
\\\"k2\\\": 200}')," +
+ " (5, 88.9, 'Seattle', 32, 1, 9998887776, false, 50,
5000000000, '2024-06-15', '2024-06-15', '2024-06-15 15:45:00', '2024-06-15
15:45:00', 'Test String 5', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "score")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from STRING
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column t_string """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, 7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16',
'2024-06-16 17:00:00', '2024-06-16 17:00:00', {'a': 500, 'b': 200},
'{\"k1\":\"v1\", \"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11',
'2024-06-11 08:30:00', '2024-06-11 08:30:00', {'a': 100, 'b': 200}, '[\"abc\",
\"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, false, 20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12
09:45:00', '2024-06-12 09:45:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]'),"
+
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, true, 30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13
11:15:00', '2024-06-13 11:15:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]'),"
+
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, true, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14
13:30:00', '2024-06-14 13:30:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]'),"
+
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2,
7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', '2024-06-16 17:00:00', {'a': 500, 'b': 200},
'{\\\"k1\\\":\\\"v1\\\", \\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, false, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15
15:45:00', '2024-06-15 15:45:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "score")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from Map
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column m """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, 7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16',
'2024-06-16 17:00:00', '2024-06-16 17:00:00', 'Test String 6', '{\"k1\":\"v1\",
\"k2\": 200}'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `j` JSON NULL COMMENT \"\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11',
'2024-06-11 08:30:00', '2024-06-11 08:30:00', 'Test String 1', '[\"abc\",
\"def\"]')," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, false, 20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12
09:45:00', '2024-06-12 09:45:00', 'Test String 2', '[\"abc\", \"def\"]')," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, true, 30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13
11:15:00', '2024-06-13 11:15:00', 'Test String 3', '[\"abc\", \"def\"]')," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, true, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14
13:30:00', '2024-06-14 13:30:00', 'Test String 4', '[\"abc\", \"def\"]')," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2,
7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', '2024-06-16 17:00:00', 'Test String 6', '{\\\"k1\\\":\\\"v1\\\",
\\\"k2\\\": 200}')," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, false, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15
15:45:00', '2024-06-15 15:45:00', 'Test String 5', '[\"abc\", \"def\"]');"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "score")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from JSON
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column j """
+ insertSql = "insert into ${tbName} values(6, 'Sophia Lee', 91.3, 'Boston',
29, 2, 7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16',
'2024-06-16 17:00:00', '2024-06-16 17:00:00', 'Test String 6', {'a': 100, 'b':
200}); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ 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` CHAR(20) COMMENT \"用户所在城市\",\n" +
+ " `age` SMALLINT COMMENT \"用户年龄\",\n" +
+ " `sex` TINYINT COMMENT \"用户性别\",\n" +
+ " `phone` LARGEINT COMMENT \"用户电话\",\n" +
+ " `is_ok` BOOLEAN COMMENT \"是否完成\",\n" +
+ " `t_int` INT COMMENT \"测试int\",\n" +
+ " `t_bigint` BIGINT COMMENT \"测试BIGINT\",\n" +
+ " `t_date` DATE COMMENT \"测试DATE\",\n" +
+ " `t_datev2` DATEV2 COMMENT \"测试DATEV2\",\n" +
+ " `t_datetimev2` DATETIMEV2 COMMENT
\"测试DATETIMEV2\",\n" +
+ " `t_datetime` DATETIME COMMENT \"用户注册时间\",\n" +
+ " `t_string` STRING COMMENT \"测试string\",\n" +
+ " `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 'John Doe', 95.5, 'New
York', 25, 1, 1234567890, true, 10, 1000000000, '2024-06-11', '2024-06-11',
'2024-06-11 08:30:00', '2024-06-11 08:30:00', 'Test String 1', {'a': 100, 'b':
200})," +
+ " (2, 'Jane Smith', 85.2, 'Los Angeles', 30, 2,
9876543210, false, 20, 2000000000, '2024-06-12', '2024-06-12', '2024-06-12
09:45:00', '2024-06-12 09:45:00', 'Test String 2', {'a': 100, 'b': 200})," +
+ " (3, 'Mike Johnson', 77.8, 'Chicago', 35, 1,
1112223334, true, 30, 3000000000, '2024-06-13', '2024-06-13', '2024-06-13
11:15:00', '2024-06-13 11:15:00', 'Test String 3', {'a': 100, 'b': 200})," +
+ " (4, 'Emily Brown', 92.0, 'San Francisco', 28, 2,
5556667778, true, 40, 4000000000, '2024-06-14', '2024-06-14', '2024-06-14
13:30:00', '2024-06-14 13:30:00', 'Test String 4', {'a': 100, 'b': 200})," +
+ " (6, 'Sophia Lee', 91.3, 'Boston', 29, 2,
7778889990, true, 60, 6000000000, '2024-06-16', '2024-06-16', '2024-06-16
17:00:00', '2024-06-16 17:00:00', 'Test String 6', {'a': 100, 'b': 200})," +
+ " (5, 'David Wilson', 88.9, 'Seattle', 32, 1,
9998887776, false, 50, 5000000000, '2024-06-15', '2024-06-15', '2024-06-15
15:45:00', '2024-06-15 15:45:00', 'Test String 5', {'a': 100, 'b': 200});"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "user_id")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ initTable = " CREATE TABLE IF NOT EXISTS ${tbName}\n" +
+ " (\n" +
+ " `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+ " `t_decimal` DECIMAL(38,10) COMMENT
\"测试decimal\",\n" +
+ " `t_float` FLOAT COMMENT \"测试float\",\n" +
+ " `t_double` DOUBLE COMMENT \"测试double\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData = "insert into ${tbName} values(1, 123.4567890123, 123.45,
1234.5678901234)," +
+ " (2, 234.5678901234, 234.56, 2345.6789012345)," +
+ " (3, 345.6789012345, 345.67, 3456.7890123456)," +
+ " (4, 456.7890123456, 456.78, 4567.8901234567)," +
+ " (5, 567.8901234567, 567.89, 5678.9012345678);"
+
+
+ // Test the unique model by drop a value type from DECIMAL
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column t_decimal """
+ insertSql = "insert into ${tbName} values(6, 678.90, 6789.0123456789); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ sql """ DROP TABLE IF EXISTS ${tbName2} """
+ initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+ " (\n" +
+ " `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+ " `t_float` FLOAT COMMENT \"测试float\",\n" +
+ " `t_double` DOUBLE COMMENT \"测试double\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 123.45,
1234.5678901234)," +
+ " (2, 234.56, 2345.6789012345)," +
+ " (3, 345.67, 3456.7890123456)," +
+ " (4, 456.78, 4567.8901234567)," +
+ " (6, 678.90, 6789.0123456789)," +
+ " (5, 567.89, 5678.9012345678);"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "t_float")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from FLOAT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column t_float """
+ insertSql = "insert into ${tbName} values(6, 678.9012345678,
6789.0123456789); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ sql """ DROP TABLE IF EXISTS ${tbName2} """
+ initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+ " (\n" +
+ " `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+ " `t_decimal` DECIMAL(38,10) COMMENT
\"测试decimal\",\n" +
+ " `t_double` DOUBLE COMMENT \"测试double\"\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 123.4567890123,
1234.5678901234)," +
+ " (2, 234.5678901234, 2345.6789012345)," +
+ " (3, 345.6789012345, 3456.7890123456)," +
+ " (4, 456.7890123456, 4567.8901234567)," +
+ " (6, 678.9012345678, 6789.0123456789)," +
+ " (5, 567.8901234567, 5678.9012345678);"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "t_double")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ // Test the unique model by drop a value type from DOUBLE
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} DROP column t_double """
+ insertSql = "insert into ${tbName} values(6, 678.9012345678, 678.90); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, false, "${tbName}")
+
+
+ sql """ DROP TABLE IF EXISTS ${tbName2} """
+ initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+ " (\n" +
+ " `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+ " `t_decimal` DECIMAL(38,10) COMMENT
\"测试decimal\",\n" +
+ " `t_float` FLOAT COMMENT \"测试float\",\n" +
+ " )\n" +
+ " UNIQUE KEY(`user_id`)\n" +
+ " DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+ " PROPERTIES (\n" +
+ " \"replication_allocation\" = \"tag.location.default:
1\",\n" +
+ " \"enable_unique_key_merge_on_write\" = \"true\"\n" +
+ " );"
+
+ initTableData1 = "insert into ${tbName2} values(1, 123.4567890123,
123.45)," +
+ " (2, 234.5678901234, 234.56)," +
+ " (3, 345.6789012345, 345.67)," +
+ " (4, 456.7890123456, 456.78)," +
+ " (6, 678.9012345678, 678.90)," +
+ " (5, 567.8901234567, 567.89);"
+
+ sql initTable1
+ sql initTableData1
+ checkTableData("${tbName}", "${tbName2}", "user_id")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]