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 58037aa4eda [enhancement](test) unique model by modify a key type from
SMALLINT to other type (#32033)
58037aa4eda is described below
commit 58037aa4edaab579abdb11ec2993ca99f6c52aba
Author: kkop <[email protected]>
AuthorDate: Thu Mar 21 10:21:14 2024 +0800
[enhancement](test) unique model by modify a key type from SMALLINT to
other type (#32033)
---
.../test_unique_model_schema_key_change.out | 40 ++
.../test_unique_model_schema_key_change.groovy | 655 ++++++++++++++-------
2 files changed, 488 insertions(+), 207 deletions(-)
diff --git
a/regression-test/data/schema_change_p0/test_unique_model_schema_key_change.out
b/regression-test/data/schema_change_p0/test_unique_model_schema_key_change.out
index 994426576ad..c60779a5e6a 100644
---
a/regression-test/data/schema_change_p0/test_unique_model_schema_key_change.out
+++
b/regression-test/data/schema_change_p0/test_unique_model_schema_key_change.out
@@ -159,3 +159,43 @@
789012345 Grace 1 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
123456689 Alice asd Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+-- ! --
+123456789 Alice 13243 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 13445 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 15768 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 14243 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 10768 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 14325 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 15686 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice 3 Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 13243 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 13445 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 15768 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 14243 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 10768 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 14325 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 15686 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice 4 Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 13243 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 13445 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 15768 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 14243 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 10768 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 14325 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 15686 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice 5 Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 13243 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 13445 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 15768 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 14243 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 10768 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 14325 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 15686 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice asd Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
diff --git
a/regression-test/suites/schema_change_p0/test_unique_model_schema_key_change.groovy
b/regression-test/suites/schema_change_p0/test_unique_model_schema_key_change.groovy
index c3f54fd04e4..fb6a6947dd2 100644
---
a/regression-test/suites/schema_change_p0/test_unique_model_schema_key_change.groovy
+++
b/regression-test/suites/schema_change_p0/test_unique_model_schema_key_change.groovy
@@ -49,9 +49,10 @@ suite("test_unique_model_schema_key_change","p0") {
//Test the unique model by adding a key column with VARCHAR
sql initTable
sql initTableData
- sql """ alter table ${tbName} add column province VARCHAR(20) KEY
DEFAULT "广东省" AFTER username """
def insertSql = "insert into ${tbName} values(123456689, 'Alice', '四川省',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00');"
def getTableStatusSql = " SHOW ALTER TABLE COLUMN WHERE
IndexName='${tbName}' ORDER BY createtime DESC LIMIT 1 "
+ def errorMessage
+ sql """ alter table ${tbName} add column province VARCHAR(20) KEY
DEFAULT "广东省" AFTER username """
waitForSchemaChangeDone({
sql getTableStatusSql
time 60
@@ -129,28 +130,34 @@ suite("test_unique_model_schema_key_change","p0") {
//TODO Test the unique model by adding a key column with FLOAT
- //java.sql.SQLException: errCode = 2, detailMessage = Float or double can
not used as a key, use decimal instead.
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column phone FLOAT KEY DEFAULT
"166.6" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice', 189.9,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00');"
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
+ errorMessage="errCode = 2, detailMessage = Float or double can not used
as a key, use decimal instead."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column phone FLOAT KEY DEFAULT
"166.6" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice',
189.9, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01
10:00:00');"
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
//TODO Test the unique model by adding a key column with DOUBLE
- //java.sql.SQLException: errCode = 2, detailMessage = Float or double can
not used as a key, use decimal instead.
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column watch DOUBLE KEY DEFAULT
"166.689" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice', 189.479,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00');
"
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
+ errorMessage="errCode = 2, detailMessage = Float or double can not used
as a key, use decimal instead."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column watch DOUBLE KEY DEFAULT
"166.689" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice',
189.479, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01
10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+
+ },errorMessage)
@@ -205,53 +212,64 @@ suite("test_unique_model_schema_key_change","p0") {
//TODO Test the unique model by adding a key column with STRING
- //java.sql.SQLException: errCode = 2, detailMessage = String Type should
not be used in key column[comment].
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column comment STRING KEY DEFAULT
"我是小说家" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice', '我是侦探家',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00');
"
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
+ errorMessage="errCode = 2, detailMessage = String Type should not be used
in key column[comment]."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column comment STRING KEY
DEFAULT "我是小说家" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice',
'我是侦探家', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01
10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")},errorMessage)
+
//TODO Test the unique model by adding a key column with bitmap
- //java.sql.SQLException: errCode = 2, detailMessage = Key column can not
set complex type:device_id
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column device_id bitmap KEY
DEFAULT "to_bitmap(243)" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice',
to_bitmap(243), 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing',
'2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
+ errorMessage="errCode = 2, detailMessage = Key column can not set complex
type:device_id"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column device_id bitmap KEY
DEFAULT "to_bitmap(243)" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice',
to_bitmap(243), 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing',
'2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+
+ },errorMessage)
//TODO Test the unique model by adding a key column with Map
- //java.sql.SQLException: errCode = 2, detailMessage = Map can only be
used in the non-key column of the duplicate table at present.
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column m Map<STRING, INT> KEY
DEFAULT "{'a': 100, 'b': 200}" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice', '{'a':
100, 'b': 200}', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing',
'2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
+ errorMessage="errCode = 2, detailMessage = Map can only be used in the
non-key column of the duplicate table at present."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column m Map<STRING, INT>
KEY DEFAULT "{'a': 100, 'b': 200}" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice',
'{'a': 100, 'b': 200}', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing',
'2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
//TODO Test the unique model by adding a key column with JSON
- //java.sql.SQLException: errCode = 2, detailMessage = JSONB type should
not be used in key column[j].
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column j JSON KEY DEFAULT
"{'a': 100, 'b': 200}" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice',
'{\"k1\":\"v31\", \"k2\": 300}', 'Yaan', 25, 0, 13812345678, 'No. 123 Street,
Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
+ errorMessage="errCode = 2, detailMessage = JSONB type should not be used
in key column[j]."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column j JSON KEY
DEFAULT "{'a': 100, 'b': 200}" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice',
'{\"k1\":\"v31\", \"k2\": 300}', 'Yaan', 25, 0, 13812345678, 'No. 123 Street,
Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
@@ -259,7 +277,7 @@ suite("test_unique_model_schema_key_change","p0") {
* Test the unique model by modify a value type
*/
-
+ sql """ DROP TABLE IF EXISTS ${tbName} """
initTable = " CREATE TABLE IF NOT EXISTS ${tbName}\n" +
" (\n" +
" `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
@@ -287,112 +305,139 @@ suite("test_unique_model_schema_key_change","p0") {
" (678901234, 'Frank', 1, 'Hangzhou', 32, 1,
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
" (789012345, 'Grace', 0, 'Xian', 29, 0,
13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00');"
- //Test the unique model by modify a key type from BOOLEAN to TINYINT
- //TODO java.sql.SQLException: errCode = 2, detailMessage = Can not change
BOOLEAN to TINYINT
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} MODIFY column is_teacher TINYINT KEY
DEFAULT "0" """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 1, 'Yaan',
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
-
- //Test the unique model by modify a key type from BOOLEAN to SMALLINT
- //TODO java.sql.SQLException: errCode = 2, detailMessage = Can not change
BOOLEAN to SMALLINT
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} MODIFY column is_teacher SMALLINT KEY
DEFAULT "0" """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 1, 'Yaan',
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
-
- //Test the unique model by modify a key type from BOOLEAN to INT
- //TODO java.sql.SQLException: errCode = 2, detailMessage = Can not change
BOOLEAN to INT
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} MODIFY column is_teacher INT KEY DEFAULT
"0" """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 1, 'Yaan',
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
-
-
- //Test the unique model by modify a key type from BOOLEAN to BIGINT
- //TODO java.sql.SQLException: errCode = 2, detailMessage = Can not change
BOOLEAN to BIGINT
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} MODIFY column is_teacher BIGINT KEY
DEFAULT "0" """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 1, 'Yaan',
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
-
-
- //Test the unique model by modify a key type from BOOLEAN to FLOAT
- //TODO Float or double can not used as a key, use decimal instead
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} MODIFY column is_teacher FLOAT KEY
DEFAULT "0" """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.0,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
-
-
- //Test the unique model by modify a key type from BOOLEAN to DECIMAL
- //TODO java.sql.SQLException: errCode = 2, detailMessage = Can not
change BOOLEAN to DECIMAL32
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} MODIFY column is_teacher DECIMAL KEY
DEFAULT "0" """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.0,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
-
- //Test the unique model by modify a key type from BOOLEAN to CHAR
- //TODO java.sql.SQLException: errCode = 2, detailMessage = Can not change
BOOLEAN to CHAR
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} MODIFY column is_teacher CHAR KEY DEFAULT
"0" """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', '1',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
-
- //Test the unique model by modify a key type from BOOLEAN to STRING
- //TODO java.sql.SQLException: errCode = 2, detailMessage = String Type
should not be used in key column[is_teacher].
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} MODIFY column is_teacher STRING KEY
DEFAULT "0" """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', '1',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
+ //TODO Test the unique model by modify a key type from BOOLEAN to TINYINT
+ errorMessage="errCode = 2, detailMessage = Can not change BOOLEAN to
TINYINT"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_teacher TINYINT KEY
DEFAULT "0" """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+ //TODO Test the unique model by modify a key type from BOOLEAN to SMALLINT
+ errorMessage="errCode = 2, detailMessage = Can not change BOOLEAN to
SMALLINT"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_teacher SMALLINT
KEY DEFAULT "0" """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+ //TODO Test the unique model by modify a key type from BOOLEAN to INT
+ errorMessage="errCode = 2, detailMessage = Can not change BOOLEAN to INT"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_teacher INT KEY
DEFAULT "0" """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+
+ //TODO Test the unique model by modify a key type from BOOLEAN to BIGINT
+ errorMessage="errCode = 2, detailMessage = Can not change BOOLEAN to
BIGINT"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_teacher BIGINT KEY
DEFAULT "0" """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+
+ },errorMessage)
+
+
+ //TODO Test the unique model by modify a key type from BOOLEAN to FLOAT
+ errorMessage="errCode = 2, detailMessage = Float or double can not used
as a key, use decimal instead."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_teacher FLOAT KEY
DEFAULT "0" """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.0,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+
+ //TODO Test the unique model by modify a key type from BOOLEAN to DECIMAL
+ errorMessage="errCode = 2, detailMessage = Can not change BOOLEAN to
DECIMAL32"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_teacher DECIMAL KEY
DEFAULT "0" """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.0,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+ //TODO Test the unique model by modify a key type from BOOLEAN to CHAR
+ errorMessage="errCode = 2, detailMessage = Can not change BOOLEAN to CHAR"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_teacher CHAR KEY
DEFAULT "0" """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', '1',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+
+ },errorMessage)
+
+ //TODO Test the unique model by modify a key type from BOOLEAN to STRING
+ errorMessage="errCode = 2, detailMessage = String Type should not be used
in key column[is_teacher]."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_teacher STRING KEY
DEFAULT "0" """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', '1',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+ //TODO Test the unique model by modify a key type from BOOLEAN to VARCHAR
+ errorMessage="errCode = 2, detailMessage = Can not change BOOLEAN to
VARCHAR"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_teacher VARCHAR(32)
KEY DEFAULT "0" """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', '1',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
- //Test the unique model by modify a key type from BOOLEAN to VARCHAR
- //TODO java.sql.SQLException: errCode = 2, detailMessage = Can not change
BOOLEAN to VARCHAR
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} MODIFY column is_teacher VARCHAR(32) KEY
DEFAULT "0" """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', '1',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
/**
* Test the unique model by modify a key type from TINYINT to other type
*/
-
+ sql """ DROP TABLE IF EXISTS ${tbName} """
initTable = " CREATE TABLE IF NOT EXISTS ${tbName}\n" +
" (\n" +
" `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
@@ -420,20 +465,23 @@ suite("test_unique_model_schema_key_change","p0") {
" (678901234, 'Frank', 0, 'Hangzhou', 32, 1,
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
" (789012345, 'Grace', 1, 'Xian', 29, 0,
13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00');"
- //Test the unique model by modify a key type from TINYINT to BOOLEAN
- //TODO java.sql.SQLException: errCode = 2, detailMessage = Can not change
TINYINT to BOOLEAN
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} MODIFY column is_student BOOLEAN key """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', false,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
+ //TODO Test the unique model by modify a key type from TINYINT to BOOLEAN
+ errorMessage="errCode = 2, detailMessage = Can not change TINYINT to
BOOLEAN"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_student BOOLEAN
key """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', false,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
- //TODO Test the unique model by modify a key type from TINYINT to
SMALLINT
+ // Test the unique model by modify a key type from TINYINT to SMALLINT
sql initTable
sql initTableData
sql """ alter table ${tbName} MODIFY column is_student SMALLINT key """
@@ -444,7 +492,7 @@ suite("test_unique_model_schema_key_change","p0") {
}, insertSql, true,"${tbName}")
- //TODO Test the unique model by modify a key type from TINYINT to INT
+ //Test the unique model by modify a key type from TINYINT to INT
sql initTable
sql initTableData
sql """ alter table ${tbName} MODIFY column is_student INT key """
@@ -465,7 +513,7 @@ suite("test_unique_model_schema_key_change","p0") {
time 60
}, insertSql, true,"${tbName}")
- //TODO Test the unique model by modify a key type from TINYINT to
LARGEINT
+ //Test the unique model by modify a key type from TINYINT to LARGEINT
sql initTable
sql initTableData
sql """ alter table ${tbName} MODIFY column is_student LARGEINT key """
@@ -477,72 +525,265 @@ suite("test_unique_model_schema_key_change","p0") {
//TODO Test the unique model by modify a key type from TINYINT to FLOAT
- //java.sql.SQLException: errCode = 2, detailMessage = Float or double can
not used as a key, use decimal instead.
-/* sql initTable
- sql initTableData
- sql """ alter table ${tbName} MODIFY column is_student FLOAT key """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.2,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
- waitForSchemaChangeDone({
- sql getTableStatusSql
- time 60
- }, insertSql, true,"${tbName}")*/
+ errorMessage="errCode = 2, detailMessage = Float or double can not used
as a key, use decimal instead."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_student FLOAT key
"""
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.2,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
//TODO Test the unique model by modify a key type from TINYINT to DOUBLE
- //java.sql.SQLException: errCode = 2, detailMessage = Float or double can
not used as a key, use decimal instead.
-/* sql initTable
+ errorMessage="errCode = 2, detailMessage = Float or double can not used
as a key, use decimal instead."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_student DOUBLE key
"""
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.23,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+
+ //TODO Test the unique model by modify a key type from TINYINT to DECIMAL
+ errorMessage="errCode = 2, detailMessage = Can not change TINYINT to
DECIMAL32"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_student DECIMAL key
"""
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.23,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+
+ },errorMessage)
+
+ //TODO Test the unique model by modify a key type from TINYINT to CHAR
+ errorMessage="errCode = 2, detailMessage = Can not change TINYINT to CHAR"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_student CHAR(15)
key """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 'asd',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+
+
+ //Test the unique model by modify a key type from TINYINT to VARCHAR
+ sql initTable
sql initTableData
- sql """ alter table ${tbName} MODIFY column is_student DOUBLE key """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.23,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ sql """ alter table ${tbName} MODIFY column is_student VARCHAR(100) key
"""
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 'asd',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
waitForSchemaChangeDone({
sql getTableStatusSql
time 60
- }, insertSql, true,"${tbName}")*/
+ }, insertSql, true,"${tbName}")
- //TODO Test the unique model by modify a key type from TINYINT to DECIMAL
- //java.sql.SQLException: errCode = 2, detailMessage = Can not change
TINYINT to DECIMAL32
-/* sql initTable
+ //Test the unique model by modify a key type from TINYINT to STRING
+ errorMessage="errCode = 2, detailMessage = String Type should not be used
in key column[is_student]."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column is_student STRING key
"""
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 'asd',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+ /**
+ * Test the unique model by modify a key type from SMALLINT to other type
+ */
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+ initTable = " CREATE TABLE IF NOT EXISTS ${tbName}\n" +
+ " (\n" +
+ " `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+ " `username` VARCHAR(50) NOT NULL COMMENT
\"用户昵称\",\n" +
+ " `car_number` SMALLINT 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" +
+ " UNIQUE KEY(`user_id`, `username`, `car_number`)\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(123456789, 'Alice', 13243,
'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01
10:00:00')," +
+ " (234567890, 'Bob', 13445, 'Shanghai', 30, 1,
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+ " (345678901, 'Carol', 15768, 'Guangzhou', 28, 0,
13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+ " (456789012, 'Dave', 14243, 'Shenzhen', 35, 1,
13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+ " (567890123, 'Eve', 10768, 'Chengdu', 27, 0,
13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+ " (678901234, 'Frank', 14325, 'Hangzhou', 32, 1,
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
+ " (789012345, 'Grace', 15686, 'Xian', 29, 0,
13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00');"
+
+ //TODO Test the unique model by modify a key type from SMALLINT to
BOOLEAN
+ errorMessage="errCode = 2, detailMessage = Can not change SMALLINT to
BOOLEAN"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column car_number BOOLEAN
key """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', false,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+
+
+ // TODO Test the unique model by modify a key type from SMALLINT to
TINYINT
+ errorMessage="errCode = 2, detailMessage = Can not change SMALLINT to
TINYINT"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column car_number TINYINT key
"""
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 2,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+
+ //Test the unique model by modify a key type from SMALLINT to INT
+ sql initTable
sql initTableData
- sql """ alter table ${tbName} MODIFY column is_student DECIMAL key """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.23,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ sql """ alter table ${tbName} MODIFY column car_number INT key """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 3, 'Yaan',
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
waitForSchemaChangeDone({
sql getTableStatusSql
time 60
- }, insertSql, true,"${tbName}")*/
+ }, insertSql, true,"${tbName}")
- //TODO Test the unique model by modify a key type from TINYINT to CHAR
- //java.sql.SQLException: errCode = 2, detailMessage = Can not change
TINYINT to CHAR
-/* sql initTable
+
+ //Test the unique model by modify a key type from SMALLINT to BIGINT
+ sql initTable
sql initTableData
- sql """ alter table ${tbName} MODIFY column is_student CHAR(15) key """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 'asd',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ sql """ alter table ${tbName} MODIFY column car_number BIGINT key """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 4, 'Yaan',
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
waitForSchemaChangeDone({
sql getTableStatusSql
time 60
- }, insertSql, true,"${tbName}")*/
-
-
+ }, insertSql, true,"${tbName}")
- //Test the unique model by modify a key type from TINYINT to VARCHAR
+ //Test the unique model by modify a key type from SMALLINT to LARGEINT
sql initTable
sql initTableData
- sql """ alter table ${tbName} MODIFY column is_student VARCHAR(100) key
"""
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 'asd',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ sql """ alter table ${tbName} MODIFY column car_number LARGEINT key """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 5, 'Yaan',
25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
waitForSchemaChangeDone({
sql getTableStatusSql
time 60
}, insertSql, true,"${tbName}")
- //Test the unique model by modify a key type from TINYINT to STRING
- //java.sql.SQLException: errCode = 2, detailMessage = String Type should
not be used in key column[is_student].
-/* sql initTable
+ //TODO Test the unique model by modify a key type from SMALLINT to FLOAT
+ errorMessage="errCode = 2, detailMessage = Float or double can not used
as a key, use decimal instead."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column car_number FLOAT key
"""
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.2,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+ //TODO Test the unique model by modify a key type from SMALLINT to DOUBLE
+ errorMessage="errCode = 2, detailMessage = Float or double can not used
as a key, use decimal instead."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column car_number DOUBLE key
"""
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.23,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+
+ //TODO Test the unique model by modify a key type from SMALLINT to
DECIMAL
+ errorMessage="errCode = 2, detailMessage = Can not change SMALLINT to
DECIMAL32"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column car_number DECIMAL key
"""
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 1.23,
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+
+ },errorMessage)
+
+ //TODO Test the unique model by modify a key type from SMALLINT to CHAR
+ errorMessage="errCode = 2, detailMessage = Can not change SMALLINT to
CHAR"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column car_number CHAR(15)
key """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 'asd',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+
+
+ //Test the unique model by modify a key type from SMALLINT to VARCHAR
+ sql initTable
sql initTableData
- sql """ alter table ${tbName} MODIFY column is_student STRING key """
+ sql """ alter table ${tbName} MODIFY column car_number VARCHAR(100) key
"""
insertSql = "insert into ${tbName} values(123456689, 'Alice', 'asd',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
waitForSchemaChangeDone({
sql getTableStatusSql
time 60
- }, insertSql, true,"${tbName}")*/
-}
+ }, insertSql, true,"${tbName}")
+
+ //Test the unique model by modify a key type from SMALLINT to STRING
+ errorMessage="errCode = 2, detailMessage = String Type should not be used
in key column[car_number]."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column car_number STRING key
"""
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 'asd',
'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+ waitForSchemaChangeDone({
+ sql getTableStatusSql
+ time 60
+ }, insertSql, true,"${tbName}")
+ },errorMessage)
+
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]