This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 97bc3676115 [enhancement](regression-test) modify a key type from
BIGINT/LARGEINT to other type (#34436)
97bc3676115 is described below
commit 97bc3676115af48688e283e20322fa76796206d1
Author: kkop <[email protected]>
AuthorDate: Wed May 8 15:36:55 2024 +0800
[enhancement](regression-test) modify a key type from BIGINT/LARGEINT to
other type (#34436)
Co-authored-by: cjj2010 <[email protected]>
---
.../test_unique_schema_key_change_add.out | 111 ++++
.../test_unique_schema_key_change_modify.out | 141 +++++
.../test_unique_schema_key_change_add.groovy | 285 +++++++++
...=> test_unique_schema_key_change_modify.groovy} | 696 +++++++++++++--------
4 files changed, 963 insertions(+), 270 deletions(-)
diff --git
a/regression-test/data/schema_change_p0/test_unique_schema_key_change_add.out
b/regression-test/data/schema_change_p0/test_unique_schema_key_change_add.out
new file mode 100644
index 00000000000..2419cdd18de
--- /dev/null
+++
b/regression-test/data/schema_change_p0/test_unique_schema_key_change_add.out
@@ -0,0 +1,111 @@
+-- This file is automatically generated. You should know what you did if you
want to edit this
+-- ! --
+123456789 Alice 广东省 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 广东省 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 广东省 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 广东省 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 广东省 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 广东省 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 广东省 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice 四川省 Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice false Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob false Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol false Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave false Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve false Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank false Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace false Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice false Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 0 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 0 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 0 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 0 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 0 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 0 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 0 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice 0 Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 999 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 999 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 999 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 999 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 999 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 999 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 999 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice 567 Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 999 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 999 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 999 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 999 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 999 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 999 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 999 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice 2 Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 99999991 Beijing 25 0 13812345678
No. 123 Street, Beijing 2022-01-01T10:00
+234567890 Bob 99999991 Shanghai 30 1
13998765432 No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 99999991 Guangzhou 28 0
13724681357 No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 99999991 Shenzhen 35 1
13680864279 No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 99999991 Chengdu 27 0 13572468091
No. 654 Street, Chengdu 2022-05-05T18:00
+678901234 Frank 99999991 Hangzhou 32 1
13467985213 No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 99999991 Xian 29 0 13333333333
No. 222 Street, Xian 2022-07-07T22:00
+123456689 Alice 88889494646 Yaan 25 0 13812345678
No. 123 Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 9999 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 9999 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 9999 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 9999 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 9999 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 9999 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 9999 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice 555888555 Yaan 25 0 13812345678
No. 123 Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 16899.6464689000 Beijing 25 0
13812345678 No. 123 Street, Beijing 2022-01-01T10:00
+234567890 Bob 16899.6464689000 Shanghai 30 1
13998765432 No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 16899.6464689000 Guangzhou 28 0
13724681357 No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 16899.6464689000 Shenzhen 35 1
13680864279 No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 16899.6464689000 Chengdu 27 0
13572468091 No. 654 Street, Chengdu 2022-05-05T18:00
+678901234 Frank 16899.6464689000 Hangzhou 32 1
13467985213 No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 16899.6464689000 Xian 29 0
13333333333 No. 222 Street, Xian 2022-07-07T22:00
+123456689 Alice 16499.6464689000 Yaan 25 0
13812345678 No. 123 Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 1997-01-01 Beijing 25 0 13812345678
No. 123 Street, Beijing 2022-01-01T10:00
+234567890 Bob 1997-01-01 Shanghai 30 1
13998765432 No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 1997-01-01 Guangzhou 28 0
13724681357 No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 1997-01-01 Shenzhen 35 1
13680864279 No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 1997-01-01 Chengdu 27 0 13572468091
No. 654 Street, Chengdu 2022-05-05T18:00
+678901234 Frank 1997-01-01 Hangzhou 32 1
13467985213 No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 1997-01-01 Xian 29 0 13333333333
No. 222 Street, Xian 2022-07-07T22:00
+123456689 Alice 2024-01-01 Yaan 25 0 13812345678
No. 123 Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 1997-01-01T00:00 Beijing 25 0
13812345678 No. 123 Street, Beijing 2022-01-01T10:00
+234567890 Bob 1997-01-01T00:00 Shanghai 30 1
13998765432 No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 1997-01-01T00:00 Guangzhou 28 0
13724681357 No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 1997-01-01T00:00 Shenzhen 35 1
13680864279 No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 1997-01-01T00:00 Chengdu 27 0
13572468091 No. 654 Street, Chengdu 2022-05-05T18:00
+678901234 Frank 1997-01-01T00:00 Hangzhou 32 1
13467985213 No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 1997-01-01T00:00 Xian 29 0
13333333333 No. 222 Street, Xian 2022-07-07T22:00
+123456689 Alice 2024-01-04T09:00 Yaan 25 0
13812345678 No. 123 Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice F Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob F Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol F Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave F Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve F Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank F Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace F Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice T Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
diff --git
a/regression-test/data/schema_change_p0/test_unique_schema_key_change_modify.out
b/regression-test/data/schema_change_p0/test_unique_schema_key_change_modify.out
new file mode 100644
index 00000000000..d93a2d9009a
--- /dev/null
+++
b/regression-test/data/schema_change_p0/test_unique_schema_key_change_modify.out
@@ -0,0 +1,141 @@
+-- This file is automatically generated. You should know what you did if you
want to edit this
+-- ! --
+123456789 Alice 1 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 1 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 1 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 1 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 0 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 0 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 1 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice 2 Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 1 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 1 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 1 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 1 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 0 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 0 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 1 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice 2 Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 1 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 1 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 1 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 1 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 0 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 0 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 1 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 1 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 1 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 1 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 1 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 0 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 0 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 1 Xian 29 0 13333333333 No. 222
Street, Xian 2022-07-07T22:00
+123456689 Alice 1 Yaan 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+
+-- ! --
+123456789 Alice 1 Beijing 25 0 13812345678 No. 123
Street, Beijing 2022-01-01T10:00
+234567890 Bob 1 Shanghai 30 1 13998765432
No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 1 Guangzhou 28 0 13724681357
No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 1 Shenzhen 35 1 13680864279
No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 0 Chengdu 27 0 13572468091 No. 654
Street, Chengdu 2022-05-05T18:00
+678901234 Frank 0 Hangzhou 32 1 13467985213
No. 321 Street, Hangzhou 2022-06-06T20:00
+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
+
+-- ! --
+123456789 Alice 2147483641 Beijing 25 0 13812345678
No. 123 Street, Beijing 2022-01-01T10:00
+234567890 Bob 214748364 Shanghai 30 1
13998765432 No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 2147483441 Guangzhou 28 0
13724681357 No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 2147483141 Shenzhen 35 1
13680864279 No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 2127483141 Chengdu 27 0 13572468091
No. 654 Street, Chengdu 2022-05-05T18:00
+678901234 Frank 2124483141 Hangzhou 32 1
13467985213 No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 2123483141 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 2147483641 Beijing 25 0 13812345678
No. 123 Street, Beijing 2022-01-01T10:00
+234567890 Bob 214748364 Shanghai 30 1
13998765432 No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 2147483441 Guangzhou 28 0
13724681357 No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 2147483141 Shenzhen 35 1
13680864279 No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 2127483141 Chengdu 27 0 13572468091
No. 654 Street, Chengdu 2022-05-05T18:00
+678901234 Frank 2124483141 Hangzhou 32 1
13467985213 No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 2123483141 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 2147483641 Beijing 25 0 13812345678
No. 123 Street, Beijing 2022-01-01T10:00
+234567890 Bob 214748364 Shanghai 30 1
13998765432 No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 2147483441 Guangzhou 28 0
13724681357 No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 2147483141 Shenzhen 35 1
13680864279 No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 2127483141 Chengdu 27 0 13572468091
No. 654 Street, Chengdu 2022-05-05T18:00
+678901234 Frank 2124483141 Hangzhou 32 1
13467985213 No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 2123483141 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 2147483641 Beijing 25 0 13812345678
No. 123 Street, Beijing 2022-01-01T10:00
+234567890 Bob 214748364 Shanghai 30 1
13998765432 No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 2147483441 Guangzhou 28 0
13724681357 No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 2147483141 Shenzhen 35 1
13680864279 No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 2127483141 Chengdu 27 0 13572468091
No. 654 Street, Chengdu 2022-05-05T18:00
+678901234 Frank 2124483141 Hangzhou 32 1
13467985213 No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 2123483141 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 2147483641 Beijing 25 0 13812345678
No. 123 Street, Beijing 2022-01-01T10:00
+234567890 Bob 214748364 Shanghai 30 1
13998765432 No. 456 Street, Shanghai 2022-02-02T12:00
+345678901 Carol 2147483441 Guangzhou 28 0
13724681357 No. 789 Street, Guangzhou 2022-03-03T14:00
+456789012 Dave 2147483141 Shenzhen 35 1
13680864279 No. 987 Street, Shenzhen 2022-04-04T16:00
+567890123 Eve 2127483141 Chengdu 27 0 13572468091
No. 654 Street, Chengdu 2022-05-05T18:00
+678901234 Frank 2124483141 Hangzhou 32 1
13467985213 No. 321 Street, Hangzhou 2022-06-06T20:00
+789012345 Grace 2123483141 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_schema_key_change_add.groovy
b/regression-test/suites/schema_change_p0/test_unique_schema_key_change_add.groovy
new file mode 100644
index 00000000000..cd9eb869efa
--- /dev/null
+++
b/regression-test/suites/schema_change_p0/test_unique_schema_key_change_add.groovy
@@ -0,0 +1,285 @@
+// 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_schema_key_change_add","p0") {
+ def tbName = "test_unique_schema_key_change_add"
+
+ //Test the unique model by adding a key column
+ 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" +
+ " `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`)\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(123456789, 'Alice',
'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01
10:00:00')," +
+ " (234567890, 'Bob', 'Shanghai', 30, 1,
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+ " (345678901, 'Carol', 'Guangzhou', 28, 0,
13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+ " (456789012, 'Dave', 'Shenzhen', 35, 1,
13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+ " (567890123, 'Eve', 'Chengdu', 27, 0, 13572468091,
'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+ " (678901234, 'Frank', 'Hangzhou', 32, 1,
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
+ " (789012345, 'Grace', 'Xian', 29, 0, 13333333333,
'No. 222 Street, Xian', '2022-07-07 22:00:00');"
+
+ //Test the unique model by adding a key column with VARCHAR
+ sql initTable
+ sql initTableData
+ 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
+ }, insertSql, true,"${tbName}")
+
+
+ //Test the unique model by adding a key column with BOOLEAN
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column special_area BOOLEAN KEY
DEFAULT "0" AFTER username """
+ insertSql = "insert into ${tbName} values(123456689, 'Alice', 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 adding a key column with TINYINT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column special_area TINYINT KEY
DEFAULT "0" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice', 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 adding a key column with SMALLINT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column area_num SMALLINT KEY DEFAULT
"999" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice', 567,
'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 adding a key column with INT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column house_price INT KEY DEFAULT
"999" AFTER username """
+ 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}")
+
+
+ //Test the unique model by adding a key column with BIGINT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column house_price1 BIGINT KEY
DEFAULT "99999991" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice',
88889494646, '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 adding a key column with LARGEINT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column car_price LARGEINT KEY DEFAULT
"9999" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice', 555888555,
'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 adding a key column with 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} 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
+ 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)
+
+
+
+
+ //Test the unique model by adding a key column with DECIMAL
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column watch DECIMAL(38,10) KEY
DEFAULT "16899.6464689" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice',
16499.6464689, '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 adding a key column with DATE
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column watch DATE KEY DEFAULT
"1997-01-01" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice',
\"2024-01-01\", '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 adding a key column with DATETIME
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column anniversary DATETIME KEY
DEFAULT "1997-01-01 00:00:00" AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice',
\"2024-01-04 09:00:00\", '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 adding a key column with CHAR
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column teacher CHAR KEY DEFAULT "F"
AFTER username """
+ insertSql = " insert into ${tbName} values(123456689, 'Alice', 'T',
'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 adding a key column with STRING
+ 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
+ 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
+ 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 column with JSON type none
default value
+ errorMessage="errCode = 2, detailMessage = JSONB or VARIANT type column
default value just support null"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} add column j JSON DEFAULT
'{\"a\": 300}' 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)
+
+
+ //TODO Test the unique model by adding a key column with JSON
+ errorMessage="errCode = 2, detailMessage = JSONB or VARIANT 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)
+
+}
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_schema_key_change_modify.groovy
similarity index 59%
rename from
regression-test/suites/schema_change_p0/test_unique_model_schema_key_change.groovy
rename to
regression-test/suites/schema_change_p0/test_unique_schema_key_change_modify.groovy
index 7728ceb4399..ace0626b61e 100644
---
a/regression-test/suites/schema_change_p0/test_unique_model_schema_key_change.groovy
+++
b/regression-test/suites/schema_change_p0/test_unique_schema_key_change_modify.groovy
@@ -15,281 +15,15 @@
// specific language governing permissions and limitations
// under the License.
-suite("test_unique_model_schema_key_change","p0") {
- def tbName = "test_unique_model_schema_key_change"
-
- //Test the unique model by adding a key column
- 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" +
- " `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`)\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(123456789, 'Alice',
'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01
10:00:00')," +
- " (234567890, 'Bob', 'Shanghai', 30, 1,
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
- " (345678901, 'Carol', 'Guangzhou', 28, 0,
13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
- " (456789012, 'Dave', 'Shenzhen', 35, 1,
13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
- " (567890123, 'Eve', 'Chengdu', 27, 0, 13572468091,
'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
- " (678901234, 'Frank', 'Hangzhou', 32, 1,
13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
- " (789012345, 'Grace', 'Xian', 29, 0, 13333333333,
'No. 222 Street, Xian', '2022-07-07 22:00:00');"
-
- //Test the unique model by adding a key column with VARCHAR
- sql initTable
- sql initTableData
- 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
- }, insertSql, true,"${tbName}")
-
-
- //Test the unique model by adding a key column with BOOLEAN
- sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column special_area BOOLEAN KEY
DEFAULT "0" AFTER username """
- insertSql = "insert into ${tbName} values(123456689, 'Alice', 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 adding a key column with TINYINT
- sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column special_area TINYINT KEY
DEFAULT "0" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice', 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 adding a key column with SMALLINT
- sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column area_num SMALLINT KEY DEFAULT
"999" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice', 567,
'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 adding a key column with INT
- sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column house_price INT KEY DEFAULT
"999" AFTER username """
- 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}")
-
-
- //Test the unique model by adding a key column with BIGINT
- sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column house_price1 BIGINT KEY
DEFAULT "99999991" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice',
88889494646, '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 adding a key column with LARGEINT
- sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column car_price LARGEINT KEY DEFAULT
"9999" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice', 555888555,
'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 adding a key column with 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} 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
- 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)
-
-
-
-
- //Test the unique model by adding a key column with DECIMAL
- sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column watch DECIMAL(38,10) KEY
DEFAULT "16899.6464689" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice',
16499.6464689, '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 adding a key column with DATE
- sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column watch DATE KEY DEFAULT
"1997-01-01" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice',
\"2024-01-01\", '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 adding a key column with DATETIME
- sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column anniversary DATETIME KEY
DEFAULT "1997-01-01 00:00:00" AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice',
\"2024-01-04 09:00:00\", '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 adding a key column with CHAR
- sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column teacher CHAR KEY DEFAULT "F"
AFTER username """
- insertSql = " insert into ${tbName} values(123456689, 'Alice', 'T',
'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 adding a key column with STRING
- 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
- 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
- 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 column with JSON type none
default value
- errorMessage="errCode = 2, detailMessage = JSONB or VARIANT type column
default value just support null"
- expectException({
- sql initTable
- sql initTableData
- sql """ alter table ${tbName} add column j JSON DEFAULT
'{\"a\": 300}' 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)
-
-
- //TODO Test the unique model by adding a key column with JSON
- errorMessage="errCode = 2, detailMessage = JSONB or VARIANT 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)
-
-
-
-
+suite("test_unique_schema_key_change_modify","p0") {
+ def tbName = "test_unique_schema_key_change_modify"
+ def tbName2 = "test_unique_schema_key_change_modify_1"
/**
* Test the unique model by modify a value type
*/
sql """ DROP TABLE IF EXISTS ${tbName} """
+ def getTableStatusSql = " SHOW ALTER TABLE COLUMN WHERE
IndexName='${tbName}' ORDER BY createtime DESC LIMIT 1 "
initTable = " CREATE TABLE IF NOT EXISTS ${tbName}\n" +
" (\n" +
" `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
@@ -798,4 +532,426 @@ suite("test_unique_model_schema_key_change","p0") {
},errorMessage)
+
+
+ /**
+ * Test the unique model by modify a key type from BIGINT 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" +
+ " `sn_number` BIGINT COMMENT \"sn卡\",\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`,`sn_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',
2147483641, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing',
'2022-01-01 10:00:00')," +
+ " (234567890, 'Bob', 214748364, 'Shanghai', 30, 1,
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+ " (345678901, 'Carol', 2147483441, 'Guangzhou', 28,
0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+ " (456789012, 'Dave', 2147483141, 'Shenzhen', 35,
1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+ " (567890123, 'Eve', 2127483141, 'Chengdu', 27, 0,
13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+ " (678901234, 'Frank', 2124483141, 'Hangzhou', 32,
1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
+ " (789012345, 'Grace', 2123483141, '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 BIGINT to BOOLEAN
+ errorMessage = "errCode = 2, detailMessage = Can not change BIGINT to
BOOLEAN"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_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 BIGINT to TINYINT
+ errorMessage = "errCode = 2, detailMessage = Can not change BIGINT to
TINYINT"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_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 BIGINT to SMALLINT
+ errorMessage = "errCode = 2, detailMessage = Can not change BIGINT to
SMALLINT"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_number SMALLINT 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}")
+ }, errorMessage)
+
+ //Test the unique model by modify a key type from BIGINT to INT
+ errorMessage = "errCode = 2, detailMessage = Can not change BIGINT to INT"
+ expectException({
+ sql initTable
+ sql initTableData
+
+ sql """ alter table ${tbName} MODIFY column sn_number INT 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}")
+ }, errorMessage)
+
+
+ //Test the unique model by modify a key type from BIGINT to LARGEINT
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_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 INT 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 sn_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)
+
+
+ //Test the unique model by modify a key type from INT 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 sn_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 BIGINT to DECIMAL
+ errorMessage = "errCode = 2, detailMessage = Can not change BIGINT to
DECIMAL128"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_number
DECIMAL(38,0) 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 BIGINT to CHAR
+ errorMessage = "errCode = 2, detailMessage = Can not change BIGINT to
CHAR"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_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 BIGINT to VARCHAR
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_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}")
+
+ //Test the unique model by modify a key type from BIGINT to VARCHAR
+ errorMessage = "errCode = 2, detailMessage = Can not change from wider
type BIGINT to narrower type VARCHAR(2)"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_number VARCHAR(2)
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 BIGINT to STRING
+ errorMessage = "errCode = 2, detailMessage = String Type should not be
used in key column[sn_number]."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_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)
+
+
+ /**
+ * Test the unique model by modify a key type from LARGEINT 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" +
+ " `sn_number` LARGEINT COMMENT \"sn卡\",\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`,`sn_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',
2147483641, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing',
'2022-01-01 10:00:00')," +
+ " (234567890, 'Bob', 214748364, 'Shanghai', 30, 1,
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+ " (345678901, 'Carol', 2147483441, 'Guangzhou', 28,
0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+ " (456789012, 'Dave', 2147483141, 'Shenzhen', 35,
1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+ " (567890123, 'Eve', 2127483141, 'Chengdu', 27, 0,
13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+ " (678901234, 'Frank', 2124483141, 'Hangzhou', 32,
1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
+ " (789012345, 'Grace', 2123483141, '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 LARGEINT to
BOOLEAN
+ errorMessage = "errCode = 2, detailMessage = Can not change LARGEINT to
BOOLEAN"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_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 LARGEINT to
TINYINT
+ errorMessage = "errCode = 2, detailMessage = Can not change LARGEINT to
TINYINT"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_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 LARGEINT to SMALLINT
+ errorMessage = "errCode = 2, detailMessage = Can not change LARGEINT to
SMALLINT"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_number SMALLINT 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}")
+ }, errorMessage)
+
+ //Test the unique model by modify a key type from LARGEINT to INT
+ errorMessage = "errCode = 2, detailMessage = Can not change LARGEINT to
INT"
+ expectException({
+ sql initTable
+ sql initTableData
+
+ sql """ alter table ${tbName} MODIFY column sn_number INT 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}")
+ }, errorMessage)
+
+
+ //Test the unique model by modify a key type from LARGEINT to BIGINT
+ errorMessage = "errCode = 2, detailMessage = Can not change LARGEINT to
BIGINT"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_number BIGINT 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}")
+ }, errorMessage)
+
+ //Test the unique model by modify a key type from LARGEINT 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 sn_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)
+
+
+ //Test the unique model by modify a key type from LARGEINT 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 sn_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 LARGEINT to
DECIMAL
+ errorMessage = "errCode = 2, detailMessage = Can not change LARGEINT to
DECIMAL128"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_number
DECIMAL(38,0) 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 LARGEINT to CHAR
+ errorMessage = "errCode = 2, detailMessage = Can not change LARGEINT to
CHAR"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_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 LARGEINT to VARCHAR
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_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, false, "${tbName}")
+
+ sql """ DROP TABLE IF EXISTS ${tbName2} """
+ initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+ " (\n" +
+ " `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+ " `username` VARCHAR(50) NOT NULL COMMENT
\"用户昵称\",\n" +
+ " `sn_number` VARCHAR(100) COMMENT \"sn卡\",\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`,`sn_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" +
+ " );"
+
+ initTableData2 = "insert into ${tbName2} values(123456789, 'Alice',
2147483641, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing',
'2022-01-01 10:00:00')," +
+ " (234567890, 'Bob', 214748364, 'Shanghai', 30, 1,
13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+ " (345678901, 'Carol', 2147483441, 'Guangzhou', 28,
0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+ " (456789012, 'Dave', 2147483141, 'Shenzhen', 35,
1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+ " (567890123, 'Eve', 2127483141, 'Chengdu', 27, 0,
13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+ " (678901234, 'Frank', 2124483141, 'Hangzhou', 32,
1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
+ " (123456689, 'Alice', 'asd', 'Yaan', 25, 0,
13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')," +
+ " (789012345, 'Grace', 2123483141, 'Xian', 29, 0,
13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00');"
+
+ sql initTable2
+ sql initTableData2
+ checkTableData("${tbName}","${tbName2}","sn_number")
+ sql """ DROP TABLE IF EXISTS ${tbName} """
+
+
+ //TODO Test the unique model by modify a key type from LARGEINT to
VARCHAR
+ //Test the unique model by modify a key type from LARGEINT to VARCHAR
+ errorMessage = "errCode = 2, detailMessage = Can not change from wider
type LARGEINT to narrower type VARCHAR(2)"
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_number VARCHAR(2)
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)
+
+ //TODO Test the unique model by modify a key type from LARGEINT to
STRING
+ //Test the unique model by modify a key type from LARGEINT to STRING
+ errorMessage = "errCode = 2, detailMessage = String Type should not be
used in key column[sn_number]."
+ expectException({
+ sql initTable
+ sql initTableData
+ sql """ alter table ${tbName} MODIFY column sn_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]