You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by da...@apache.org on 2024/07/09 01:42:13 UTC

(doris) branch master updated: [enhancement](regression-test) dup modify key (#37390)

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 f694e60a1d0 [enhancement](regression-test) dup modify key (#37390)
f694e60a1d0 is described below

commit f694e60a1d06631bdac1fcc1dcb6549f6e763916
Author: kkop <24...@qq.com>
AuthorDate: Tue Jul 9 09:42:05 2024 +0800

    [enhancement](regression-test) dup modify key (#37390)
---
 .../test_dup_schema_key_change_modify.out          |  323 ------
 .../test_dup_schema_value_modify1.out              |   63 ++
 .../test_dup_schema_key_change_modify.groovy       | 1111 ++++++++++++++++++++
 .../test_dup_schema_value_modify1.groovy           | 1001 ++++++++++++++++++
 .../test_dup_schema_value_modify3.groovy           |  996 +++++++++---------
 5 files changed, 2690 insertions(+), 804 deletions(-)

diff --git a/regression-test/data/schema_change_p0/test_dup_schema_key_change_modify.out b/regression-test/data/schema_change_p0/test_dup_schema_key_change_modify.out
index 570874f7738..e69de29bb2d 100644
--- a/regression-test/data/schema_change_p0/test_dup_schema_key_change_modify.out
+++ b/regression-test/data/schema_change_p0/test_dup_schema_key_change_modify.out
@@ -1,323 +0,0 @@
--- 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
-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
-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
-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
-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
-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
-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
-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
-123456789	Alice	13243	Beijing	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
-123456789	Alice	13243	Beijing	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
-234567890	Bob	13445	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00
-234567890	Bob	13445	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00
-234567890	Bob	13445	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12: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
-345678901	Carol	15768	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00
-345678901	Carol	15768	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00
-345678901	Carol	15768	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14: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
-456789012	Dave	14243	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00
-456789012	Dave	14243	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00
-456789012	Dave	14243	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16: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
-567890123	Eve	10768	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00
-567890123	Eve	10768	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00
-567890123	Eve	10768	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18: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
-678901234	Frank	14325	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00
-678901234	Frank	14325	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00
-678901234	Frank	14325	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20: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
-789012345	Grace	15686	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00
-789012345	Grace	15686	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00
-789012345	Grace	15686	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22: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
-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
-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
-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
-123456789	Alice	2147483641	Beijing	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
-123456789	Alice	2147483641	Beijing	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
-234567890	Bob	214748364	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00
-234567890	Bob	214748364	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00
-234567890	Bob	214748364	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12: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
-345678901	Carol	2147483441	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00
-345678901	Carol	2147483441	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00
-345678901	Carol	2147483441	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14: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
-456789012	Dave	2147483141	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00
-456789012	Dave	2147483141	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00
-456789012	Dave	2147483141	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16: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
-567890123	Eve	2127483141	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00
-567890123	Eve	2127483141	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00
-567890123	Eve	2127483141	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18: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
-678901234	Frank	2124483141	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00
-678901234	Frank	2124483141	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00
-678901234	Frank	2124483141	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20: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
-789012345	Grace	2123483141	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00
-789012345	Grace	2123483141	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00
-789012345	Grace	2123483141	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22: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
-123456789	Alice	2147483641	Beijing	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
-123456789	Alice	2147483641	Beijing	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
-234567890	Bob	214748364	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00
-234567890	Bob	214748364	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00
-234567890	Bob	214748364	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12: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
-345678901	Carol	2147483441	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00
-345678901	Carol	2147483441	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00
-345678901	Carol	2147483441	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14: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
-456789012	Dave	2147483141	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00
-456789012	Dave	2147483141	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00
-456789012	Dave	2147483141	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16: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
-567890123	Eve	2127483141	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00
-567890123	Eve	2127483141	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00
-567890123	Eve	2127483141	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18: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
-678901234	Frank	2124483141	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00
-678901234	Frank	2124483141	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00
-678901234	Frank	2124483141	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20: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
-789012345	Grace	2123483141	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00
-789012345	Grace	2123483141	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00
-789012345	Grace	2123483141	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22: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
-123456789	Alice	2147483641	Beijing	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
-123456789	Alice	2147483641	Beijing	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
-234567890	Bob	214748364	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00
-234567890	Bob	214748364	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00
-234567890	Bob	214748364	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12: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
-345678901	Carol	2147483441	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00
-345678901	Carol	2147483441	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00
-345678901	Carol	2147483441	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14: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
-456789012	Dave	2147483141	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00
-456789012	Dave	2147483141	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00
-456789012	Dave	2147483141	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16: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
-567890123	Eve	2127483141	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00
-567890123	Eve	2127483141	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00
-567890123	Eve	2127483141	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18: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
-678901234	Frank	2124483141	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00
-678901234	Frank	2124483141	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00
-678901234	Frank	2124483141	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20: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
-789012345	Grace	2123483141	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00
-789012345	Grace	2123483141	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00
-789012345	Grace	2123483141	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22: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/data/schema_change_p0/test_dup_schema_value_modify1.out b/regression-test/data/schema_change_p0/test_dup_schema_value_modify1.out
index e69de29bb2d..9b419d15f94 100644
--- a/regression-test/data/schema_change_p0/test_dup_schema_value_modify1.out
+++ b/regression-test/data/schema_change_p0/test_dup_schema_value_modify1.out
@@ -0,0 +1,63 @@
+-- This file is automatically generated. You should know what you did if you want to edit this
+-- ! --
+123456789	Alice	1.8	Beijing	25	0	13812345678	No. 123 Street, Beijing	2022-01-01T10:00	{"a":100, "b":200}	["abc","def"]
+123456789	Alice	1.8	Beijing	25	0	13812345678	No. 123 Street, Beijing	2022-01-01T10:00	{"a":100, "b":200}	["abc","def"]
+123456789	Alice	1.8	Beijing	25	0	13812345678	No. 123 Street, Beijing	2022-01-01T10:00	{"a":100, "b":200}	["abc","def"]
+123456789	Alice	1.8	Beijing	25	0	13812345678	No. 123 Street, Beijing	2022-01-01T10:00	{"a":100, "b":200}	["abc","def"]
+123456789	Alice	1.8	Beijing	25	0	13812345678	No. 123 Street, Beijing	2022-01-01T10:00	{"a":100, "b":200}	["abc","def"]
+123456789	Alice	1.8	Beijing	25	0	13812345678	No. 123 Street, Beijing	2022-01-01T10:00	{"a":100, "b":200}	["abc","def"]
+123456789	Alice	1.8	Beijing	25	0	13812345678	No. 123 Street, Beijing	2022-01-01T10:00	{"a":100, "b":200}	["abc","def"]
+234567890	Bob	1.89	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00	{"a":200, "b":200}	["abc","def"]
+234567890	Bob	1.89	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00	{"a":200, "b":200}	["abc","def"]
+234567890	Bob	1.89	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00	{"a":200, "b":200}	["abc","def"]
+234567890	Bob	1.89	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00	{"a":200, "b":200}	["abc","def"]
+234567890	Bob	1.89	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00	{"a":200, "b":200}	["abc","def"]
+234567890	Bob	1.89	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00	{"a":200, "b":200}	["abc","def"]
+234567890	Bob	1.89	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00	{"a":200, "b":200}	["abc","def"]
+345678901	Carol	2.6	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00	{"a":300, "b":200}	["abc","def"]
+345678901	Carol	2.6	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00	{"a":300, "b":200}	["abc","def"]
+345678901	Carol	2.6	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00	{"a":300, "b":200}	["abc","def"]
+345678901	Carol	2.6	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00	{"a":300, "b":200}	["abc","def"]
+345678901	Carol	2.6	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00	{"a":300, "b":200}	["abc","def"]
+345678901	Carol	2.6	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00	{"a":300, "b":200}	["abc","def"]
+345678901	Carol	2.6	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00	{"a":300, "b":200}	["abc","def"]
+456789012	Dave	3.9	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00	{"a":400, "b":200}	["abc","def"]
+456789012	Dave	3.9	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00	{"a":400, "b":200}	["abc","def"]
+456789012	Dave	3.9	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00	{"a":400, "b":200}	["abc","def"]
+456789012	Dave	3.9	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00	{"a":400, "b":200}	["abc","def"]
+456789012	Dave	3.9	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00	{"a":400, "b":200}	["abc","def"]
+456789012	Dave	3.9	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00	{"a":400, "b":200}	["abc","def"]
+456789012	Dave	3.9	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00	{"a":400, "b":200}	["abc","def"]
+567890123	Eve	4.2	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00	{"a":500, "b":200}	["abc","def"]
+567890123	Eve	4.2	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00	{"a":500, "b":200}	["abc","def"]
+567890123	Eve	4.2	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00	{"a":500, "b":200}	["abc","def"]
+567890123	Eve	4.2	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00	{"a":500, "b":200}	["abc","def"]
+567890123	Eve	4.2	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00	{"a":500, "b":200}	["abc","def"]
+567890123	Eve	4.2	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00	{"a":500, "b":200}	["abc","def"]
+567890123	Eve	4.2	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00	{"a":500, "b":200}	["abc","def"]
+678901234	Frank	2.5	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00	{"a":600, "b":200}	["abc","def"]
+678901234	Frank	2.5	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00	{"a":600, "b":200}	["abc","def"]
+678901234	Frank	2.5	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00	{"a":600, "b":200}	["abc","def"]
+678901234	Frank	2.5	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00	{"a":600, "b":200}	["abc","def"]
+678901234	Frank	2.5	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00	{"a":600, "b":200}	["abc","def"]
+678901234	Frank	2.5	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00	{"a":600, "b":200}	["abc","def"]
+678901234	Frank	2.5	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00	{"a":600, "b":200}	["abc","def"]
+789012345	Grace	2.1	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00	{"a":700, "b":200}	["abc","def"]
+789012345	Grace	2.1	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00	{"a":700, "b":200}	["abc","def"]
+789012345	Grace	2.1	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00	{"a":700, "b":200}	["abc","def"]
+789012345	Grace	2.1	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00	{"a":700, "b":200}	["abc","def"]
+789012345	Grace	2.1	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00	{"a":700, "b":200}	["abc","def"]
+789012345	Grace	2.1	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00	{"a":700, "b":200}	["abc","def"]
+789012345	Grace	2.1	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00	{"a":700, "b":200}	["abc","def"]
+993456689	Alice	asd	Yaan	25	0	13812345678	No. 123 Street, Beijing	2022-01-01T10:00	{"a":100, "b":200}	["abc","def"]
+
+-- ! --
+123456789	Alice	2	Beijing	25	0	13812345678	No. 123 Street, Beijing	2022-01-01T10:00	{"a":100, "b":200}	["abc","def"]
+234567890	Bob	2	Shanghai	30	1	13998765432	No. 456 Street, Shanghai	2022-02-02T12:00	{"a":200, "b":200}	["abc","def"]
+345678901	Carol	3	Guangzhou	28	0	13724681357	No. 789 Street, Guangzhou	2022-03-03T14:00	{"a":300, "b":200}	["abc","def"]
+456789012	Dave	4	Shenzhen	35	1	13680864279	No. 987 Street, Shenzhen	2022-04-04T16:00	{"a":400, "b":200}	["abc","def"]
+567890123	Eve	4	Chengdu	27	0	13572468091	No. 654 Street, Chengdu	2022-05-05T18:00	{"a":500, "b":200}	["abc","def"]
+678901234	Frank	3	Hangzhou	32	1	13467985213	No. 321 Street, Hangzhou	2022-06-06T20:00	{"a":600, "b":200}	["abc","def"]
+789012345	Grace	2	Xian	29	0	13333333333	No. 222 Street, Xian	2022-07-07T22:00	{"a":700, "b":200}	["abc","def"]
+993456689	Alice	1	Yaan	25	0	13812345678	No. 123 Street, Beijing	2022-01-01T10:00	{"a":100, "b":200}	["abc","def"]
+
diff --git a/regression-test/suites/schema_change_p0/test_dup_schema_key_change_modify.groovy b/regression-test/suites/schema_change_p0/test_dup_schema_key_change_modify.groovy
new file mode 100644
index 00000000000..30973689f1d
--- /dev/null
+++ b/regression-test/suites/schema_change_p0/test_dup_schema_key_change_modify.groovy
@@ -0,0 +1,1111 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_dup_schema_key_change_modify","p0") {
+     def tbName1 = "test_dup_schema_key_change_modify1"
+     def tbName2 = "test_dup_schema_key_change_modify_1"
+     def initTable1 = ""
+     def initTableData1 = ""
+
+     /**
+      *  Test the dup model by modify a value type
+      */
+
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+     def getTableStatusSql = " SHOW ALTER TABLE COLUMN WHERE IndexName='${tbName1}' ORDER BY createtime DESC LIMIT 1  "
+     def initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+             "              `is_teacher` BOOLEAN COMMENT \"是否是老师\",\n" +
+             "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+             "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+             "              `register_time` DATETIME COMMENT \"用户注册时间\"\n" +
+             "          )\n" +
+             "          DUPLICATE KEY(`user_id`, `username`, `is_teacher`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+             "          );"
+
+     def initTableData = "insert into ${tbName1} values(123456789, 'Alice', 0, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')," +
+             "               (234567890, 'Bob', 0, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+             "               (345678901, 'Carol', 1, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+             "               (456789012, 'Dave', 0, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+             "               (567890123, 'Eve', 0, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+             "               (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');"
+
+     //TODO Test the dup model by modify a key type from BOOLEAN to TINYINT
+     def errorMessage="errCode = 2, detailMessage = Can not change BOOLEAN to TINYINT"
+     expectException({
+          sql initTable
+          sql initTableData
+          sql """ alter  table ${tbName1} MODIFY  column is_teacher TINYINT KEY DEFAULT "0"  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column is_teacher SMALLINT KEY DEFAULT "0"  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column is_teacher INT KEY DEFAULT "0"  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column is_teacher BIGINT KEY DEFAULT "0"  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+
+     },errorMessage)
+
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column is_teacher FLOAT KEY DEFAULT "0"  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.0, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column is_teacher DECIMAL KEY DEFAULT "0"  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.0, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column is_teacher CHAR KEY DEFAULT "0"  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', '1', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+
+     },errorMessage)
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column is_teacher STRING KEY DEFAULT "0"  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', '1', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column is_teacher VARCHAR(32) KEY DEFAULT "0"  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', '1', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+     /**
+      *  Test the dup model by modify a key type from TINYINT to other type
+      */
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+     initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+             "              `is_student` TINYINT COMMENT \"是否是学生\",\n" +
+             "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+             "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+             "              `register_time` DATETIME COMMENT \"用户注册时间\"\n" +
+             "          )\n" +
+             "          DUPLICATE KEY(`user_id`, `username`, `is_student`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+             "          );"
+
+     initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')," +
+             "               (234567890, 'Bob', 1, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+             "               (345678901, 'Carol', 1, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+             "               (456789012, 'Dave', 1, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+             "               (567890123, 'Eve', 0, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+             "               (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');"
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column is_student BOOLEAN  key  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', false, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+
+     //TODO Data doubling Test the dup model by modify a key type from TINYINT  to SMALLINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column is_student SMALLINT key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false,"${tbName1}")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+
+     //Test the dup model by modify a key type from TINYINT  to INT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column is_student INT key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false,"${tbName1}")
+
+     sql """ DROP TABLE IF EXISTS ${tbName2} """
+     initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+             "              `is_student` INT COMMENT \"是否是学生\",\n" +
+             "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+             "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+             "              `register_time` DATETIME COMMENT \"用户注册时间\"\n" +
+             "          )\n" +
+             "          DUPLICATE KEY(`user_id`, `username`, `is_student`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+             "          );"
+
+     initTableData1 = "insert into ${tbName2} values(123456789, 'Alice', 1, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')," +
+             "               (234567890, 'Bob', 1, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+             "               (345678901, 'Carol', 1, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+             "               (456789012, 'Dave', 1, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+             "               (567890123, 'Eve', 0, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+             "               (678901234, 'Frank', 0, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
+             "               (923456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')," +
+             "               (789012345, 'Grace', 1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00');"
+     sql initTable1
+     sql initTableData1
+     checkTableData("${tbName1}","${tbName2}","is_student")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+     //Test the dup model by modify a key type from TINYINT  to BIGINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column is_student BIGINT key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 3, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false,"${tbName1}")
+
+
+     sql """ DROP TABLE IF EXISTS ${tbName2} """
+     initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+             "              `is_student` BIGINT COMMENT \"是否是学生\",\n" +
+             "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+             "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+             "              `register_time` DATETIME COMMENT \"用户注册时间\"\n" +
+             "          )\n" +
+             "          DUPLICATE KEY(`user_id`, `username`, `is_student`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+             "          );"
+
+     initTableData1 = "insert into ${tbName2} values(123456789, 'Alice', 1, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')," +
+             "               (234567890, 'Bob', 1, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+             "               (345678901, 'Carol', 1, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+             "               (456789012, 'Dave', 1, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+             "               (567890123, 'Eve', 0, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+             "               (678901234, 'Frank', 0, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
+             "               (923456689, 'Alice', 3, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')," +
+             "               (789012345, 'Grace', 1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00');"
+     sql initTable1
+     sql initTableData1
+     checkTableData("${tbName1}","${tbName2}","is_student")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+
+     //Test the dup model by modify a key type from TINYINT  to LARGEINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column is_student LARGEINT key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false,"${tbName1}")
+
+     sql """ DROP TABLE IF EXISTS ${tbName2} """
+     initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+             "              `is_student` LARGEINT COMMENT \"是否是学生\",\n" +
+             "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+             "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+             "              `register_time` DATETIME COMMENT \"用户注册时间\"\n" +
+             "          )\n" +
+             "          DUPLICATE KEY(`user_id`, `username`, `is_student`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+             "          );"
+
+     initTableData1 = "insert into ${tbName2} values(123456789, 'Alice', 1, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')," +
+             "               (234567890, 'Bob', 1, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00')," +
+             "               (345678901, 'Carol', 1, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00')," +
+             "               (456789012, 'Dave', 1, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00')," +
+             "               (567890123, 'Eve', 0, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00')," +
+             "               (678901234, 'Frank', 0, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00')," +
+             "               (923456689, 'Alice', 1, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')," +
+             "               (789012345, 'Grace', 1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00');"
+     sql initTable1
+     sql initTableData1
+     checkTableData("${tbName1}","${tbName2}","is_student")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+
+     //TODO Test the dup model by modify a key type from TINYINT  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 ${tbName1} MODIFY  column is_student FLOAT key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+     //TODO Test the dup model by modify a key type from TINYINT  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 ${tbName1} MODIFY  column is_student DOUBLE key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column is_student DECIMAL key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+
+     },errorMessage)
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column is_student CHAR(15) key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'char', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+     //TODO Data doubling Test the dup model by modify a key type from TINYINT  to VARCHAR
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column is_student VARCHAR(100) key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'varchar', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false,"${tbName1}")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+     //Test the dup 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 ${tbName1} MODIFY  column is_student STRING key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+
+     /**
+      *  Test the dup model by modify a key type from SMALLINT to other type
+      */
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+     initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+             "              `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" +
+             "          DUPLICATE KEY(`user_id`, `username`, `car_number`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+             "          );"
+
+     initTableData = "insert into ${tbName1} values(123456789, 'Alice', 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 dup 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 ${tbName1} MODIFY  column car_number BOOLEAN  key  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', false, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+
+
+     // TODO Test the dup 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 ${tbName1} MODIFY  column car_number TINYINT key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+
+     //TODO Data doubling Test the dup model by modify a key type from SMALLINT  to INT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column car_number INT key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 3, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false,"${tbName1}")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+     //Test the dup model by modify a key type from SMALLINT  to BIGINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column car_number BIGINT key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 4, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false,"${tbName1}")
+
+
+     sql """ DROP TABLE IF EXISTS ${tbName2} """
+     initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+             "              `car_number` BIGINT COMMENT \"市民卡\",\n" +
+             "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+             "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+             "              `register_time` DATETIME COMMENT \"用户注册时间\"\n" +
+             "          )\n" +
+             "          DUPLICATE KEY(`user_id`, `username`, `car_number`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+             "          );"
+
+     initTableData1 = "insert into ${tbName2} values(123456789, 'Alice', 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')," +
+             "               (923456689, 'Alice', 4, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')," +
+             "               (789012345, 'Grace', 15686, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00');"
+
+     sql initTable1
+     sql initTableData1
+     checkTableData("${tbName1}","${tbName2}","car_number")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+     //Test the dup model by modify a key type from SMALLINT  to LARGEINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column car_number LARGEINT key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false,"${tbName1}")
+
+     sql """ DROP TABLE IF EXISTS ${tbName2} """
+     initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+             "              `car_number` LARGEINT COMMENT \"市民卡\",\n" +
+             "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+             "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+             "              `register_time` DATETIME COMMENT \"用户注册时间\"\n" +
+             "          )\n" +
+             "          DUPLICATE KEY(`user_id`, `username`, `car_number`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+             "          );"
+
+     initTableData1 = "insert into ${tbName2} values(123456789, 'Alice', 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')," +
+             "               (923456689, 'Alice', 5, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00')," +
+             "               (789012345, 'Grace', 15686, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00');"
+
+     sql initTable1
+     sql initTableData1
+     checkTableData("${tbName1}","${tbName2}","car_number")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column car_number FLOAT key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column car_number DOUBLE key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column car_number DECIMAL key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+
+     },errorMessage)
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column car_number CHAR(15) key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'casd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+     //Test the dup model by modify a key type from SMALLINT  to VARCHAR
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column car_number VARCHAR(100) key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'vasd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false,"${tbName1}")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+     //Test the dup 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 ${tbName1} MODIFY  column car_number STRING key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true,"${tbName1}")
+     },errorMessage)
+
+
+     /**
+      *  Test the dup model by modify a key type from INT to other type
+      */
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+     initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+             "              `sn_number` INT 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" +
+             "          DUPLICATE KEY(`user_id`, `username`,`sn_number`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+             "          );"
+
+     initTableData = "insert into ${tbName1} values(123456789, 'Alice', 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 dup model by modify a key type from INT  to BOOLEAN
+     errorMessage = "errCode = 2, detailMessage = Can not change INT to BOOLEAN"
+     expectException({
+          sql initTable
+          sql initTableData
+          sql """ alter  table ${tbName1} MODIFY  column sn_number BOOLEAN  key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', false, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+     // TODO Test the dup model by modify a key type from INT  to TINYINT
+     errorMessage = "errCode = 2, detailMessage = Can not change INT to TINYINT"
+     expectException({
+          sql initTable
+          sql initTableData
+          sql """ alter  table ${tbName1} MODIFY  column sn_number TINYINT key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+     //Test the dup model by modify a key type from INT  to SMALLINT
+     errorMessage = "errCode = 2, detailMessage = Can not change INT to SMALLINT"
+     expectException({
+          sql initTable
+          sql initTableData
+          sql """ alter  table ${tbName1} MODIFY  column sn_number SMALLINT key  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 3, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+     //TODO Data doubling Test the dup model by modify a key type from INT  to BIGINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column sn_number BIGINT key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 4, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false, "${tbName1}")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+     //Test the dup model by modify a key type from INT  to LARGEINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column sn_number LARGEINT key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false, "${tbName1}")
+
+     sql """ DROP TABLE IF EXISTS ${tbName2} """
+     initTable1 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+             "              `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" +
+             "          DUPLICATE KEY(`user_id`, `username`,`sn_number`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+             "          );"
+
+     initTableData1 = "insert into ${tbName2} values(123456789, 'Alice', 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')," +
+             "               (923456689, 'Alice', 5, '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 initTable1
+     sql initTableData1
+     checkTableData("${tbName1}","${tbName2}","sn_number")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+     //Test the dup 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 ${tbName1} MODIFY  column sn_number FLOAT key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+     //Test the dup 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 ${tbName1} MODIFY  column sn_number DOUBLE key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+     //TODO Test the dup model by modify a key type from INT  to DECIMAL
+     errorMessage = "errCode = 2, detailMessage = Can not change INT to DECIMAL128"
+     expectException({
+          sql initTable
+          sql initTableData
+          sql """ alter  table ${tbName1} MODIFY  column sn_number DECIMAL(38,0) key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+
+     }, errorMessage)
+
+     //TODO Test the dup model by modify a  key type from INT  to CHAR
+     errorMessage = "errCode = 2, detailMessage = Can not change INT to CHAR"
+     expectException({
+          sql initTable
+          sql initTableData
+          sql """ alter  table ${tbName1} MODIFY  column sn_number CHAR(15) key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'casd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+     //Test the dup model by modify a key type from INT  to VARCHAR
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column sn_number VARCHAR(100) key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'vasd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false, "${tbName1}")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+     //Test the dup model by modify a key type from INT  to VARCHAR
+     errorMessage = "errCode = 2, detailMessage = Can not change from wider type INT to narrower type VARCHAR(2)"
+     expectException({
+          sql initTable
+          sql initTableData
+          sql """ alter  table ${tbName1} MODIFY  column sn_number VARCHAR(2) key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'v1asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+     //Test the dup model by modify a key type from INT  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 ${tbName1} MODIFY  column sn_number STRING key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+
+     /**
+      *  Test the dup model by modify a key type from BIGINT to other type
+      */
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+     initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+             "          (\n" +
+             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+             "              `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" +
+             "          DUPLICATE KEY(`user_id`, `username`,`sn_number`)\n" +
+             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+             "          PROPERTIES (\n" +
+             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+             "          );"
+
+     initTableData = "insert into ${tbName1} values(123456789, 'Alice', 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 dup 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 ${tbName1} MODIFY  column sn_number BOOLEAN  key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', false, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+     // TODO Test the dup 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 ${tbName1} MODIFY  column sn_number TINYINT key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+     //Test the dup 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 ${tbName1} MODIFY  column sn_number SMALLINT key  """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 3, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+     //Test the dup 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 ${tbName1} MODIFY  column sn_number INT key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 4, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+     //TODO Data doubling Test the dup model by modify a key type from BIGINT  to LARGEINT
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column sn_number LARGEINT key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false, "${tbName1}")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+     //Test the dup 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 ${tbName1} MODIFY  column sn_number FLOAT key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+     //Test the dup 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 ${tbName1} MODIFY  column sn_number DOUBLE key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column sn_number DECIMAL(38,0) key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+
+     }, errorMessage)
+
+     //TODO Test the dup 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 ${tbName1} MODIFY  column sn_number CHAR(15) key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'casd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+     //Test the dup model by modify a key type from BIGINT  to VARCHAR
+     sql initTable
+     sql initTableData
+     sql """ alter  table ${tbName1} MODIFY  column sn_number VARCHAR(100) key """
+     insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'vasd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+     waitForSchemaChangeDone({
+          sql getTableStatusSql
+          time 60
+     }, insertSql, false, "${tbName1}")
+     sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+     //Test the dup 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 ${tbName1} MODIFY  column sn_number VARCHAR(2) key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'v1asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+     //Test the dup 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 ${tbName1} MODIFY  column sn_number STRING key """
+          insertSql = "insert into ${tbName1} values(923456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00'); "
+          waitForSchemaChangeDone({
+               sql getTableStatusSql
+               time 60
+          }, insertSql, true, "${tbName1}")
+     }, errorMessage)
+
+
+
+}
diff --git a/regression-test/suites/schema_change_p0/test_dup_schema_value_modify1.groovy b/regression-test/suites/schema_change_p0/test_dup_schema_value_modify1.groovy
index 3a51c5c472f..e947e897252 100644
--- a/regression-test/suites/schema_change_p0/test_dup_schema_value_modify1.groovy
+++ b/regression-test/suites/schema_change_p0/test_dup_schema_value_modify1.groovy
@@ -57,6 +57,1007 @@ suite("test_dup_schema_value_modify1", "p0") {
             "               (789012345, 'Grace', 0, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00');"
 
 
+
+    /**
+     *  Test the dup model by modify a value type from FLOAT to other type
+     */
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+    initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+            "              `score` FLOAT 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" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+            "          );"
+
+    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+
+    //TODO Test the dup model by modify a value type from FLOAT  to BOOLEAN
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to BOOLEAN"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score BOOLEAN  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', false, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    // TODO Test the dup model by modify a value type from FLOAT  to TINYINT
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to TINYINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score TINYINT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from FLOAT  to SMALLINT
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to SMALLINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score SMALLINT   """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 3, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from FLOAT  to INT
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to INT"
+    expectException({
+        sql initTable
+        sql initTableData
+
+        sql """ alter  table ${tbName1} MODIFY  column score INT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 4, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from FLOAT  to BIGINT
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to BIGINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score BIGINT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 545645, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from  FLOAT to LARGEINT
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to LARGEINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score LARGEINT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 156546, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //TODO Loss of accuracy Test the dup model by modify a value type from FLOAT  to DOUBLE
+
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column score DOUBLE  """
+    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, false, "${tbName1}")
+
+    sql """ DROP TABLE IF EXISTS ${tbName2} """
+    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+            "              `score` DOUBLE 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" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+            "          );"
+
+    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
+            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+
+    sql initTable2
+    sql initTableData2
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+    //TODO Test the dup model by modify a value type from FLOAT  to DECIMAL
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to DECIMAL128"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DECIMAL(38,0)  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from FLOAT  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to DATEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATE  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from FLOAT  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to DATEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATEV2  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from FLOAT  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATETIME  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from FLOAT  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATETIMEV2  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a  value type from FLOAT  to CHAR
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to CHAR"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score CHAR(15)  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+    //TODO Data doublingTest the dup model by modify a  value type from FLOAT  to VARCHAR
+    //Test the dup model by modify a value type from FLOAT  to VARCHAR
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column score VARCHAR(100)  """
+    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, true, "${tbName1}")
+
+
+    //Test the dup model by modify a value type from FLOAT  to STRING
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column score STRING  """
+    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, false, "${tbName1}")
+
+    sql """ DROP TABLE IF EXISTS ${tbName2} """
+    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+            "              `score` STRING 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" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+            "          );"
+
+    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
+            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+
+    sql initTable2
+    sql initTableData2
+    checkTableData("${tbName1}", "${tbName2}", "score")
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+    //TODO Test the dup model by modify a  value type from FLOAT  to map
+    //Test the dup model by modify a value type from FLOAT  to STRING
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to MAP"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score Map<STRING, INT>  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', {'a': 100, 'b': 200}, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //TODO Test the dup model by modify a value type from FLOAT  to JSON
+    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to JSON"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score JSON  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '{'a': 100, 'b': 200}', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+    /**
+     *  Test the unique model by modify a value type from DOUBLE to other type
+     */
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+    initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+            "              `score` DOUBLE 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" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL 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" +
+            "          );"
+
+    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+
+    //TODO Test the unique model by modify a value type from DOUBLE  to BOOLEAN
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to BOOLEAN"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score BOOLEAN  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', false, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    // TODO Test the unique model by modify a value type from DOUBLE  to TINYINT
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to TINYINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score TINYINT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the unique model by modify a value type from DOUBLE  to SMALLINT
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to SMALLINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score SMALLINT   """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 3, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+    //Test the unique model by modify a value type from DOUBLE  to INT
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to INT"
+    expectException({
+        sql initTable
+        sql initTableData
+
+        sql """ alter  table ${tbName1} MODIFY  column score INT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 4, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the unique model by modify a value type from DOUBLE  to BIGINT
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to BIGINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score BIGINT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 545645, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+    //Test the unique model by modify a value type from  DOUBLE to LARGEINT
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to LARGEINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score LARGEINT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 156546, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the unique model by modify a value type from DOUBLE  to FLOAT
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to FLOAT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score FLOAT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //TODO Test the unique model by modify a value type from DOUBLE  to DECIMAL
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to DECIMAL128"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DECIMAL(38,0)  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Test the unique model by modify a value type from DOUBLE  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to DATEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATE  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the unique model by modify a value type from DOUBLE  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to DATEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATEV2  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Test the unique model by modify a value type from DOUBLE  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATETIME  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the unique model by modify a value type from DOUBLE  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATETIMEV2  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the unique model by modify a  value type from DOUBLE  to CHAR
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to CHAR"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score CHAR(15)  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+    //Test the unique model by modify a value type from DOUBLE  to VARCHAR
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column score VARCHAR(100)  """
+    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, false, "${tbName1}")
+
+    sql """ DROP TABLE IF EXISTS ${tbName2} """
+    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+            "              `score` VARCHAR(100) 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" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+            "          );"
+
+    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
+            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+
+    sql initTable2
+    sql initTableData2
+    checkTableData("${tbName1}", "${tbName2}", "score")
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+    //Test the unique model by modify a value type from DOUBLE  to STRING
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column score STRING  """
+    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, false, "${tbName1}")
+
+
+    sql """ DROP TABLE IF EXISTS ${tbName2} """
+    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+            "              `score` STRING 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" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+            "          );"
+
+    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
+            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+
+    sql initTable2
+    sql initTableData2
+    checkTableData("${tbName1}", "${tbName2}", "score")
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+    //TODO Test the unique model by modify a  value type from DOUBLE  to map
+    //Test the unique model by modify a value type from DOUBLE  to STRING
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to MAP"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score Map<STRING, INT>  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', {'a': 100, 'b': 200}, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the unique model by modify a value type from DOUBLE  to JSON
+    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to JSON"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score JSON  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '{'a': 100, 'b': 200}', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    /**
+     *  Test the unique model by modify a value type from DECIMAL to other type
+     */
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+    initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+            "              `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
+            "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+            "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
+            "              `sex` TINYINT COMMENT \"用户性别\",\n" +
+            "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
+            "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
+            "              `register_time` DATETIME COMMENT \"用户注册时间\",\n" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          UNIQUE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+            "          );"
+
+    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.83, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+
+    //TODO Test the unique model by modify a value type from DECIMAL128  to BOOLEAN
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to BOOLEAN"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score BOOLEAN  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', false, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    // TODO Test the unique model by modify a value type from DECIMAL128  to TINYINT
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to TINYINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score TINYINT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the unique model by modify a value type from DECIMAL128  to SMALLINT
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to SMALLINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score SMALLINT   """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 3, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+    //Test the unique model by modify a value type from DECIMAL128  to INT
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to INT"
+    expectException({
+        sql initTable
+        sql initTableData
+
+        sql """ alter  table ${tbName1} MODIFY  column score INT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 4, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the unique model by modify a value type from DECIMAL128  to BIGINT
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to BIGINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score BIGINT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 545645, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+    //Test the unique model by modify a value type from  DECIMAL128 to LARGEINT
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to LARGEINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score LARGEINT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 156546, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the unique model by modify a value type from DECIMAL128  to FLOAT
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to FLOAT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score FLOAT  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //TODO Data accuracy loss Test the unique model by modify a value type from DECIMAL128  to DECIMAL
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column score DECIMAL(38,0)  """
+    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, true, "${tbName1}")
+
+
+
+    //TODO Test the unique model by modify a value type from DECIMAL128  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to DATEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATE  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the unique model by modify a value type from DECIMAL128  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to DATEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATEV2  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+
+    //TODO Test the unique model by modify a value type from DECIMAL128  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATETIME  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the unique model by modify a value type from DECIMAL128  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score DATETIMEV2  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the unique model by modify a  value type from DECIMAL128  to CHAR
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to CHAR"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score CHAR(15)  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+    //Test Data accuracy loss the unique model by modify a value type from DECIMAL128  to VARCHAR
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column score VARCHAR(100)  """
+    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, false, "${tbName1}")
+
+    sql """ DROP TABLE IF EXISTS ${tbName2} """
+    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+            "              `score` VARCHAR(100) 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" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+            "          );"
+
+    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.83, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+
+    sql initTable2
+    sql initTableData2
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+    //TODO Data accuracy loss Test the unique model by modify a value type from DECIMAL128  to STRING
+    sql initTable
+    sql initTableData
+    sql """ alter  table ${tbName1} MODIFY  column score STRING  """
+    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+    waitForSchemaChangeDone({
+        sql getTableStatusSql
+        time 60
+    }, insertSql, false, "${tbName1}")
+
+
+    sql """ DROP TABLE IF EXISTS ${tbName2} """
+    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+            "          (\n" +
+            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
+            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
+            "              `score` STRING 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" +
+            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
+            "              `j` JSON NULL COMMENT \"\"\n" +
+            "          )\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
+            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
+            "          PROPERTIES (\n" +
+            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
+            "          );"
+
+    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.83, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+
+    sql initTable2
+    sql initTableData2
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+
+
+    //TODO Test the unique model by modify a  value type from DECIMAL128  to map
+    //Test the unique model by modify a value type from DECIMAL128  to STRING
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to MAP"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score Map<STRING, INT>  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', {'a': 100, 'b': 200}, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the unique model by modify a value type from DECIMAL128  to JSON
+    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to JSON"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column score JSON  """
+        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '{'a': 100, 'b': 200}', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+
     /**
      *  Test the unique model by modify a value type from DATE to other type
      */
diff --git a/regression-test/suites/schema_change_p0/test_dup_schema_value_modify3.groovy b/regression-test/suites/schema_change_p0/test_dup_schema_value_modify3.groovy
index 3dfc6c664d7..3b1c0ec34e0 100644
--- a/regression-test/suites/schema_change_p0/test_dup_schema_value_modify3.groovy
+++ b/regression-test/suites/schema_change_p0/test_dup_schema_value_modify3.groovy
@@ -56,15 +56,15 @@ suite("test_dup_schema_value_modify3", "p0") {
 
 
     /**
-     *  Test the dup model by modify a value type from FLOAT to other type
+     *  Test the dup model by modify a value type from MAP to other type
      */
     sql """ DROP TABLE IF EXISTS ${tbName1} """
     initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
             "          (\n" +
             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
-            "              `score` FLOAT COMMENT \"分数\",\n" +
-            "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+            "              `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
+            "              `city` CHAR(20) COMMENT \"用户所在城市\",\n" +
             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
@@ -79,21 +79,21 @@ suite("test_dup_schema_value_modify3", "p0") {
             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
             "          );"
 
-    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.83, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
             "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
 
-    //TODO Test the dup model by modify a value type from FLOAT  to BOOLEAN
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to BOOLEAN"
+    //TODO Test the dup model by modify a value type from MAP  to BOOLEAN
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to BOOLEAN"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score BOOLEAN  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', false, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        sql """ alter  table ${tbName1} MODIFY  column m BOOLEAN  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.2, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', false, '{\"k1\":\"v1\", \"k2\": 200}'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -101,41 +101,84 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    // TODO Test the dup model by modify a value type from FLOAT  to TINYINT
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to TINYINT"
+    // TODO Test the dup model by modify a value type from MAP  to TINYINT
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to TINYINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column m TINYINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.2, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 1, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 120
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from MAP  to SMALLINT
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to SMALLINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column m SMALLINT   """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 3, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 3, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //Test the dup model by modify a value type from MAP  to INT
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to INT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score TINYINT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        sql """ alter  table ${tbName1} MODIFY  column m INT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 4.1, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 23, [\"abc\", \"def\"]); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
 
-    //TODO Test the dup model by modify a value type from FLOAT  to SMALLINT
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to SMALLINT"
+    //Test the dup model by modify a value type from MAP  to BIGINT
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to BIGINT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score SMALLINT   """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 3, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        sql """ alter  table ${tbName1} MODIFY  column m BIGINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 4564, [\"abc\", \"def\"]); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
-    //TODO Test the dup model by modify a value type from FLOAT  to INT
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to INT"
+    //Test the dup model by modify a value type from  MAP to LARGEINT
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to LARGEINT"
     expectException({
         sql initTable
         sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column m LARGEINT """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.36, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 43643734, [\"abc\", \"def\"]); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
 
-        sql """ alter  table ${tbName1} MODIFY  column score INT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 4, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+    //Test the dup model by modify a value type from MAP  to FLOAT
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to FLOAT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column m FLOAT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 5.6, '[\"abc\", \"def\"]'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -143,51 +186,129 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    //TODO Test the dup model by modify a value type from FLOAT  to BIGINT
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to BIGINT"
+    //TODO Test the dup model by modify a value type from MAP  to DECIMAL
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to DECIMAL128"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score BIGINT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 545645, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        sql """ alter  table ${tbName1} MODIFY  column m DECIMAL(38,0)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 895.666, '[\"abc\", \"def\"]'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
-    //TODO Test the dup model by modify a value type from  FLOAT to LARGEINT
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to LARGEINT"
+
+    //TODO Test the dup model by modify a value type from MAP  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to DATEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score LARGEINT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 156546, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        sql """ alter  table ${tbName1} MODIFY  column m DATE  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', '2003-12-31', '[\"abc\", \"def\"]'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from MAP  to DATEV2
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to DATEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column m DATEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.3, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', '2003-12-31', '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
 
-    //TODO Loss of accuracy Test the dup model by modify a value type from FLOAT  to DOUBLE
+    //TODO Test the dup model by modify a value type from MAP  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column m DATETIME  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 9.63, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', '2003-12-31 20:12:12', '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
 
-    sql initTable
-    sql initTableData
-    sql """ alter  table ${tbName1} MODIFY  column score DOUBLE  """
-    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
-    waitForSchemaChangeDone({
-        sql getTableStatusSql
-        time 60
-    }, insertSql, false, "${tbName1}")
+    }, errorMessage)
+
+    //TODO Test the dup model by modify a value type from MAP  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column m DATETIMEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', '2003-12-31 20:12:12', '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+
+    }, errorMessage)
 
-    sql """ DROP TABLE IF EXISTS ${tbName2} """
-    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
+
+    //Test the dup model by modify a value type from MAP  to VARCHAR
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to VARCHAR"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column m VARCHAR(100)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 'sdfghjk', '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, false, "${tbName1}")
+    }, errorMessage)
+
+    //Test the dup model by modify a value type from MAP  to STRING
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to STRING"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column m STRING  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.59, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', 'wertyu', '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, false, "${tbName1}")
+    }, errorMessage)
+
+    //Test the dup model by modify a value type from MAP  to JSON
+    errorMessage = "errCode = 2, detailMessage = Can not change MAP to JSON"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column m JSON  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 8.47, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', '{'a': 100, 'b': 200}', '[\"abc\", \"def\"]'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    /**
+     *  Test the dup model by modify a value type from JSON to other type
+     */
+    sql """ DROP TABLE IF EXISTS ${tbName1} """
+    initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
             "          (\n" +
             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
-            "              `score` DOUBLE COMMENT \"分数\",\n" +
-            "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+            "              `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
+            "              `city` CHAR(20) COMMENT \"用户所在城市\",\n" +
             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
@@ -202,27 +323,63 @@ suite("test_dup_schema_value_modify3", "p0") {
             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
             "          );"
 
-    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
+    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.83, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
             "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
-            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
-
-    sql initTable2
-    sql initTableData2
-    sql """ DROP TABLE IF EXISTS ${tbName1} """
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+
+    //TODO Test the dup model by modify a value type from JSON  to BOOLEAN
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to BOOLEAN"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column j BOOLEAN  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.2, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', , false); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    // TODO Test the dup model by modify a value type from JSON  to TINYINT
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to TINYINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column j TINYINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.2, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, 1); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 120
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
+
+    //Test the dup model by modify a value type from JSON  to SMALLINT
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to SMALLINT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column j SMALLINT   """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 3, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, 21); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
 
+    }, errorMessage)
 
-    //TODO Test the dup model by modify a value type from FLOAT  to DECIMAL
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to DECIMAL128"
+    //Test the dup model by modify a value type from JSON  to INT
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to INT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DECIMAL(38,0)  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column j INT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 4.1, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, 25); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -231,13 +388,13 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    //TODO Test the dup model by modify a value type from FLOAT  to DATE
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to DATEV2"
+    //Test the dup model by modify a value type from JSON  to BIGINT
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to BIGINT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATE  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column j BIGINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, 32523); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -245,28 +402,41 @@ suite("test_dup_schema_value_modify3", "p0") {
 
     }, errorMessage)
 
-    //TODO Test the dup model by modify a value type from FLOAT  to DATE
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to DATEV2"
+    //Test the dup model by modify a value type from  JSON to LARGEINT
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to LARGEINT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATEV2  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column j LARGEINT """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.36, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, 356436); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+    }, errorMessage)
+
 
+    //Test the dup model by modify a value type from JSON  to FLOAT
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to FLOAT"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column j FLOAT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, 86.5); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
     }, errorMessage)
 
 
-    //TODO Test the dup model by modify a value type from FLOAT  to DATETIME
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to DATETIMEV2"
+    //TODO Test the dup model by modify a value type from JSON  to DECIMAL
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to DECIMAL128"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATETIME  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column j DECIMAL(38,0)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, 896.2356); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -274,13 +444,14 @@ suite("test_dup_schema_value_modify3", "p0") {
 
     }, errorMessage)
 
-    //TODO Test the dup model by modify a value type from FLOAT  to DATETIME
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to DATETIMEV2"
+
+    //TODO Test the dup model by modify a value type from JSON  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to DATEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATETIMEV2  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column j DATE  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '2003-12-31'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -288,99 +459,83 @@ suite("test_dup_schema_value_modify3", "p0") {
 
     }, errorMessage)
 
-    //TODO Test the dup model by modify a  value type from FLOAT  to CHAR
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to CHAR"
+    //TODO Test the dup model by modify a value type from JSON  to DATEV2
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to DATEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score CHAR(15)  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column j DATEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.3, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '2003-12-31'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
-    //TODO Data doublingTest the dup model by modify a  value type from FLOAT  to VARCHAR
-    //Test the dup model by modify a value type from FLOAT  to VARCHAR
-    sql initTable
-    sql initTableData
-    sql """ alter  table ${tbName1} MODIFY  column score VARCHAR(100)  """
-    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
-    waitForSchemaChangeDone({
-        sql getTableStatusSql
-        time 60
-    }, insertSql, true, "${tbName1}")
-
-
-    //Test the dup model by modify a value type from FLOAT  to STRING
-    sql initTable
-    sql initTableData
-    sql """ alter  table ${tbName1} MODIFY  column score STRING  """
-    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
-    waitForSchemaChangeDone({
-        sql getTableStatusSql
-        time 60
-    }, insertSql, false, "${tbName1}")
-
-    sql """ DROP TABLE IF EXISTS ${tbName2} """
-    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
-            "          (\n" +
-            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
-            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
-            "              `score` STRING 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" +
-            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
-            "              `j` JSON NULL COMMENT \"\"\n" +
-            "          )\n" +
-            "          DUPLICATE KEY(`user_id`, `username`)\n" +
-            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
-            "          PROPERTIES (\n" +
-            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
-            "          );"
 
-    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
-            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
-
-    sql initTable2
-    sql initTableData2
-    checkTableData("${tbName1}", "${tbName2}", "score")
-    sql """ DROP TABLE IF EXISTS ${tbName1} """
+    //TODO Test the dup model by modify a value type from JSON  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to DATETIMEV2"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column j DATETIME  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 9.63, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '2003-12-31 20:12:12'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
 
+    }, errorMessage)
 
-    //TODO Test the dup model by modify a  value type from FLOAT  to map
-    //Test the dup model by modify a value type from FLOAT  to STRING
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to MAP"
+    //TODO Test the dup model by modify a value type from JSON  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to DATETIMEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score Map<STRING, INT>  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', {'a': 100, 'b': 200}, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column j DATETIMEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '2003-12-31 20:12:12'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
 
-    //TODO Test the dup model by modify a value type from FLOAT  to JSON
-    errorMessage = "errCode = 2, detailMessage = Can not change FLOAT to JSON"
+    //Test the dup model by modify a value type from JSON  to VARCHAR
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to VARCHAR"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score JSON  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '{'a': 100, 'b': 200}', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column j VARCHAR(100)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, 'erwtewxa'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, false, "${tbName1}")
+    }, errorMessage)
+
+    //Test the dup model by modify a value type from JSON  to STRING
+    errorMessage = "errCode = 2, detailMessage = Can not change JSON to STRING"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column j STRING  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.59, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '36tgeryda'); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, false, "${tbName1}")
+    }, errorMessage)
+
+    //Test the dup model by modify a value type from JSON  to MAP
+    errorMessage = "expected:<[FINISH]ED> but was:<[CANCELL]ED>"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column j JSON  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 8.47, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, {'a': 700, 'b': 200}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -388,44 +543,46 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
     /**
-     *  Test the unique model by modify a value type from DOUBLE to other type
+     * Test the dup model by modify a value type from array to other type
      */
     sql """ DROP TABLE IF EXISTS ${tbName1} """
     initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
             "          (\n" +
             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
-            "              `score` DOUBLE COMMENT \"分数\",\n" +
-            "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+            "              `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
+            "              `city` CHAR(20) COMMENT \"用户所在城市\",\n" +
             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
             "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
             "              `register_time` DATETIME COMMENT \"用户注册时间\",\n" +
             "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
-            "              `j` JSON NULL COMMENT \"\"\n" +
+            "              `j` JSON NULL COMMENT \"\",\n" +
+            "              `array` ARRAY<int(11)> NULL COMMENT \"\",\n" +
+            "              `STRUCT` STRUCT<s_id:int(11), s_name:string, s_address:string> NULL COMMENT \"\"\n" +
             "          )\n" +
-            "          UNIQUE KEY(`user_id`, `username`)\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
             "          PROPERTIES (\n" +
             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
             "          );"
 
-    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.83, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'});"
 
-    //TODO Test the unique model by modify a value type from DOUBLE  to BOOLEAN
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to BOOLEAN"
+    //TODO Test the dup model by modify a value type from array  to BOOLEAN
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to BOOLEAN"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score BOOLEAN  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', false, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        sql """ alter  table ${tbName1} MODIFY  column array BOOLEAN  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.2, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]', false, {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -433,68 +590,70 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    // TODO Test the unique model by modify a value type from DOUBLE  to TINYINT
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to TINYINT"
+    // TODO Test the dup model by modify a value type from ARRAY  to TINYINT
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to TINYINT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score TINYINT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        sql """ alter  table ${tbName1} MODIFY  column array TINYINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.2, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', 1, {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
-            time 60
+            time 120
         }, insertSql, true, "${tbName1}")
     }, errorMessage)
 
 
-    //Test the unique model by modify a value type from DOUBLE  to SMALLINT
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to SMALLINT"
+    //Test the dup model by modify a value type from ARRAY  to SMALLINT
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to SMALLINT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score SMALLINT   """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 3, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        sql """ alter  table ${tbName1} MODIFY  column array SMALLINT   """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 3, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', 21, {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
-    //Test the unique model by modify a value type from DOUBLE  to INT
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to INT"
+    //Test the dup model by modify a value type from ARRAY  to INT
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to INT"
     expectException({
         sql initTable
         sql initTableData
-
-        sql """ alter  table ${tbName1} MODIFY  column score INT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 4, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        sql """ alter  table ${tbName1} MODIFY  column array INT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 4.1, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', 25, {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
 
-    //Test the unique model by modify a value type from DOUBLE  to BIGINT
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to BIGINT"
+    //Test the dup model by modify a value type from ARRAY  to BIGINT
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to BIGINT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score BIGINT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 545645, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        sql """ alter  table ${tbName1} MODIFY  column array BIGINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', 32454, {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
-    //Test the unique model by modify a value type from  DOUBLE to LARGEINT
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to LARGEINT"
+    //Test the dup model by modify a value type from  ARRAY to LARGEINT
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to LARGEINT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score LARGEINT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 156546, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        sql """ alter  table ${tbName1} MODIFY  column array LARGEINT """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.36, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', 34235, {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -502,13 +661,13 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    //Test the unique model by modify a value type from DOUBLE  to FLOAT
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to FLOAT"
+    //Test the dup model by modify a value type from ARRAY  to FLOAT
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to FLOAT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score FLOAT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column array FLOAT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', 45,8, {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -516,13 +675,13 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    //TODO Test the unique model by modify a value type from DOUBLE  to DECIMAL
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to DECIMAL128"
+    //TODO Test the dup model by modify a value type from ARRAY  to DECIMAL
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to DECIMAL128"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DECIMAL(38,0)  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column array DECIMAL(38,0)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', 677.908, {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -531,13 +690,13 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    //TODO Test the unique model by modify a value type from DOUBLE  to DATE
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to DATEV2"
+    //TODO Test the dup model by modify a value type from ARRAY  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to DATEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATE  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column array DATE  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', '2023-10-23', {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -545,13 +704,13 @@ suite("test_dup_schema_value_modify3", "p0") {
 
     }, errorMessage)
 
-    //TODO Test the unique model by modify a value type from DOUBLE  to DATE
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to DATEV2"
+    //TODO Test the dup model by modify a value type from ARRAY  to DATEV2
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to DATEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATEV2  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column array DATEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.3, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', '2023-10-23', {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -560,13 +719,13 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    //TODO Test the unique model by modify a value type from DOUBLE  to DATETIME
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to DATETIMEV2"
+    //TODO Test the dup model by modify a value type from ARRAY  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to DATETIMEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATETIME  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column array DATETIME  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 9.63, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', '2023-10-23 15:00:26', {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -574,13 +733,13 @@ suite("test_dup_schema_value_modify3", "p0") {
 
     }, errorMessage)
 
-    //TODO Test the unique model by modify a value type from DOUBLE  to DATETIME
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to DATETIMEV2"
+    //TODO Test the dup model by modify a value type from ARRAY  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to DATETIMEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATETIMEV2  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column array DATETIMEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', '2023-10-26 15:54:21', {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -588,120 +747,53 @@ suite("test_dup_schema_value_modify3", "p0") {
 
     }, errorMessage)
 
-    //TODO Test the unique model by modify a  value type from DOUBLE  to CHAR
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to CHAR"
+
+    //Test the dup model by modify a value type from ARRAY  to VARCHAR
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to VARCHAR"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score CHAR(15)  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column array VARCHAR(100)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', 'wrwertew', {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
-        }, insertSql, true, "${tbName1}")
+        }, insertSql, false, "${tbName1}")
     }, errorMessage)
 
-    //Test the unique model by modify a value type from DOUBLE  to VARCHAR
-    sql initTable
-    sql initTableData
-    sql """ alter  table ${tbName1} MODIFY  column score VARCHAR(100)  """
-    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
-    waitForSchemaChangeDone({
-        sql getTableStatusSql
-        time 60
-    }, insertSql, false, "${tbName1}")
-
-    sql """ DROP TABLE IF EXISTS ${tbName2} """
-    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
-            "          (\n" +
-            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
-            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
-            "              `score` VARCHAR(100) 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" +
-            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
-            "              `j` JSON NULL COMMENT \"\"\n" +
-            "          )\n" +
-            "          DUPLICATE KEY(`user_id`, `username`)\n" +
-            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
-            "          PROPERTIES (\n" +
-            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
-            "          );"
-
-    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
-            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
-
-    sql initTable2
-    sql initTableData2
-    checkTableData("${tbName1}", "${tbName2}", "score")
-    sql """ DROP TABLE IF EXISTS ${tbName1} """
-
-
-    //Test the unique model by modify a value type from DOUBLE  to STRING
-    sql initTable
-    sql initTableData
-    sql """ alter  table ${tbName1} MODIFY  column score STRING  """
-    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
-    waitForSchemaChangeDone({
-        sql getTableStatusSql
-        time 60
-    }, insertSql, false, "${tbName1}")
-
-
-    sql """ DROP TABLE IF EXISTS ${tbName2} """
-    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
-            "          (\n" +
-            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
-            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
-            "              `score` STRING 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" +
-            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
-            "              `j` JSON NULL COMMENT \"\"\n" +
-            "          )\n" +
-            "          DUPLICATE KEY(`user_id`, `username`)\n" +
-            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
-            "          PROPERTIES (\n" +
-            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
-            "          );"
-
-    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.8, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (345678901, 'Carol', 2.6, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (456789012, 'Dave', 3.9, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (567890123, 'Eve', 4.2, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (678901234, 'Frank', 2.5, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
-            "               (789012345, 'Grace', 2.1, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
-
-    sql initTable2
-    sql initTableData2
-    checkTableData("${tbName1}", "${tbName2}", "score")
-    sql """ DROP TABLE IF EXISTS ${tbName1} """
+    //Test the dup model by modify a value type from ARRAY  to STRING
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to STRING"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column array STRING  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.59, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', 'eterytergfds', {1, 'sn1', 'sa1'}); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, false, "${tbName1}")
+    }, errorMessage)
 
+    //Test the dup model by modify a value type from ARRAY  to JSON
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to JSON"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column array JSON  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 8.47, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', {'a': 700, 'b':500}, {1, 'sn1', 'sa1'}); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
 
-    //TODO Test the unique model by modify a  value type from DOUBLE  to map
-    //Test the unique model by modify a value type from DOUBLE  to STRING
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to MAP"
+    //Test the dup model by modify a value type from ARRAY  to JSON
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to MAP"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score Map<STRING, INT>  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', {'a': 100, 'b': 200}, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column array Map<STRING, INT>  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 8.47, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]', '[\"abc\", \"def\"]', {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -709,13 +801,13 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    //Test the unique model by modify a value type from DOUBLE  to JSON
-    errorMessage = "errCode = 2, detailMessage = Can not change DOUBLE to JSON"
+    //Test the dup model by modify a value type from ARRAY  to JSON
+    errorMessage = "errCode = 2, detailMessage = Can not change ARRAY to STRUCT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score JSON  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '{'a': 100, 'b': 200}', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column array STRUCT<s_id:int(11), s_name:string, s_address:string>  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 8.47, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]', '[\"abc\", \"def\"]', {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -724,7 +816,7 @@ suite("test_dup_schema_value_modify3", "p0") {
 
 
     /**
-     *  Test the unique model by modify a value type from DECIMAL to other type
+     * Test the dup model by modify a value type from STRUCT to other type
      */
     sql """ DROP TABLE IF EXISTS ${tbName1} """
     initTable = " CREATE TABLE IF NOT EXISTS ${tbName1}\n" +
@@ -732,36 +824,38 @@ suite("test_dup_schema_value_modify3", "p0") {
             "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
             "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
             "              `score` DECIMAL(38,10) COMMENT \"分数\",\n" +
-            "              `city` VARCHAR(20) COMMENT \"用户所在城市\",\n" +
+            "              `city` CHAR(20) COMMENT \"用户所在城市\",\n" +
             "              `age` SMALLINT COMMENT \"用户年龄\",\n" +
             "              `sex` TINYINT COMMENT \"用户性别\",\n" +
             "              `phone` LARGEINT COMMENT \"用户电话\",\n" +
             "              `address` VARCHAR(500) COMMENT \"用户地址\",\n" +
             "              `register_time` DATETIME COMMENT \"用户注册时间\",\n" +
             "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
-            "              `j` JSON NULL COMMENT \"\"\n" +
+            "              `j` JSON NULL COMMENT \"\",\n" +
+            "              `array` ARRAY<int(11)> NULL COMMENT \"\",\n" +
+            "              `STRUCT` STRUCT<s_id:int(11), s_name:string, s_address:string> NULL COMMENT \"\"\n" +
             "          )\n" +
-            "          UNIQUE KEY(`user_id`, `username`)\n" +
+            "          DUPLICATE KEY(`user_id`, `username`)\n" +
             "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
             "          PROPERTIES (\n" +
             "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
             "          );"
 
-    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.83, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
+    initTableData = "insert into ${tbName1} values(123456789, 'Alice', 1.83, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}), " +
+            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'});"
 
-    //TODO Test the unique model by modify a value type from DECIMAL128  to BOOLEAN
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to BOOLEAN"
+    //TODO Test the dup model by modify a value type from STRUCT  to BOOLEAN
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to BOOLEAN"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score BOOLEAN  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', false, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT BOOLEAN  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.2, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], false); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -769,68 +863,70 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    // TODO Test the unique model by modify a value type from DECIMAL128  to TINYINT
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to TINYINT"
+    // TODO Test the dup model by modify a value type from STRUCT  to TINYINT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to TINYINT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score TINYINT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 2, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '{\"k1\":\"v1\", \"k2\": 200}'); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT TINYINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.2, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], 1); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
-            time 60
+            time 120
         }, insertSql, true, "${tbName1}")
     }, errorMessage)
 
 
-    //Test the unique model by modify a value type from DECIMAL128  to SMALLINT
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to SMALLINT"
+    //Test the dup model by modify a value type from STRUCT  to SMALLINT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to SMALLINT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score SMALLINT   """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 3, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT SMALLINT   """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 3, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], 21); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
-    //Test the unique model by modify a value type from DECIMAL128  to INT
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to INT"
+    //Test the dup model by modify a value type from STRUCT  to INT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to INT"
     expectException({
         sql initTable
         sql initTableData
-
-        sql """ alter  table ${tbName1} MODIFY  column score INT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 4, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT INT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 4.1, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], 21); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
 
-    //Test the unique model by modify a value type from DECIMAL128  to BIGINT
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to BIGINT"
+    //Test the dup model by modify a value type from STRUCT  to BIGINT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to BIGINT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score BIGINT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 545645, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT BIGINT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], 32454); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
         }, insertSql, true, "${tbName1}")
+
     }, errorMessage)
 
-    //Test the unique model by modify a value type from  DECIMAL128 to LARGEINT
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to LARGEINT"
+    //Test the dup model by modify a value type from  STRUCT to LARGEINT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to LARGEINT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score LARGEINT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 156546, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, [\"abc\", \"def\"]); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT LARGEINT """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 2.36, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], 34235); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -838,13 +934,13 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    //Test the unique model by modify a value type from DECIMAL128  to FLOAT
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to FLOAT"
+    //Test the dup model by modify a value type from STRUCT  to FLOAT
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to FLOAT"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score FLOAT  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT FLOAT  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], 45.5); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -852,25 +948,28 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    //TODO Data accuracy loss Test the unique model by modify a value type from DECIMAL128  to DECIMAL
-    sql initTable
-    sql initTableData
-    sql """ alter  table ${tbName1} MODIFY  column score DECIMAL(38,0)  """
-    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 1.23, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
-    waitForSchemaChangeDone({
-        sql getTableStatusSql
-        time 60
-    }, insertSql, true, "${tbName1}")
+    //TODO Test the dup model by modify a value type from STRUCT  to DECIMAL
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to DECIMAL128"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT DECIMAL(38,0)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 1.23, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], 677.908); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
 
+    }, errorMessage)
 
 
-    //TODO Test the unique model by modify a value type from DECIMAL128  to DATE
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to DATEV2"
+    //TODO Test the dup model by modify a value type from STRUCT  to DATE
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to DATEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATE  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT DATE  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.6, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], '2023-10-23'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -878,13 +977,13 @@ suite("test_dup_schema_value_modify3", "p0") {
 
     }, errorMessage)
 
-    //TODO Test the unique model by modify a value type from DECIMAL128  to DATE
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to DATEV2"
+    //TODO Test the dup model by modify a value type from STRUCT  to DATEV2
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to DATEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATEV2  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT DATEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.3, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], '2023-10-23'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -893,13 +992,13 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    //TODO Test the unique model by modify a value type from DECIMAL128  to DATETIME
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to DATETIMEV2"
+    //TODO Test the dup model by modify a value type from STRUCT  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to DATETIMEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATETIME  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT DATETIME  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 9.63, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], '2023-10-23 15:00:26'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -907,13 +1006,13 @@ suite("test_dup_schema_value_modify3", "p0") {
 
     }, errorMessage)
 
-    //TODO Test the unique model by modify a value type from DECIMAL128  to DATETIME
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to DATETIMEV2"
+    //TODO Test the dup model by modify a value type from STRUCT  to DATETIME
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to DATETIMEV2"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score DATETIMEV2  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '2003-12-31 20:12:12', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT DATETIMEV2  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], '2023-10-26 15:54:21'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -921,118 +1020,53 @@ suite("test_dup_schema_value_modify3", "p0") {
 
     }, errorMessage)
 
-    //TODO Test the unique model by modify a  value type from DECIMAL128  to CHAR
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to CHAR"
+
+    //Test the dup model by modify a value type from STRUCT  to VARCHAR
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to VARCHAR"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score CHAR(15)  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT VARCHAR(100)  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 5.69, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], "ertet"); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
-        }, insertSql, true, "${tbName1}")
+        }, insertSql, false, "${tbName1}")
     }, errorMessage)
 
-    //Test Data accuracy loss the unique model by modify a value type from DECIMAL128  to VARCHAR
-    sql initTable
-    sql initTableData
-    sql """ alter  table ${tbName1} MODIFY  column score VARCHAR(100)  """
-    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
-    waitForSchemaChangeDone({
-        sql getTableStatusSql
-        time 60
-    }, insertSql, false, "${tbName1}")
-
-    sql """ DROP TABLE IF EXISTS ${tbName2} """
-    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
-            "          (\n" +
-            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
-            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
-            "              `score` VARCHAR(100) 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" +
-            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
-            "              `j` JSON NULL COMMENT \"\"\n" +
-            "          )\n" +
-            "          DUPLICATE KEY(`user_id`, `username`)\n" +
-            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
-            "          PROPERTIES (\n" +
-            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
-            "          );"
-
-    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.83, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
-            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
-
-    sql initTable2
-    sql initTableData2
-    sql """ DROP TABLE IF EXISTS ${tbName1} """
-
-
-    //TODO Data accuracy loss Test the unique model by modify a value type from DECIMAL128  to STRING
-    sql initTable
-    sql initTableData
-    sql """ alter  table ${tbName1} MODIFY  column score STRING  """
-    insertSql = "insert into ${tbName1} values(993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
-    waitForSchemaChangeDone({
-        sql getTableStatusSql
-        time 60
-    }, insertSql, false, "${tbName1}")
-
-
-    sql """ DROP TABLE IF EXISTS ${tbName2} """
-    initTable2 = " CREATE TABLE IF NOT EXISTS ${tbName2}\n" +
-            "          (\n" +
-            "              `user_id` LARGEINT NOT NULL COMMENT \"用户id\",\n" +
-            "              `username` VARCHAR(50) NOT NULL COMMENT \"用户昵称\",\n" +
-            "              `score` STRING 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" +
-            "              `m` Map<STRING, INT> NULL COMMENT \"\",\n" +
-            "              `j` JSON NULL COMMENT \"\"\n" +
-            "          )\n" +
-            "          DUPLICATE KEY(`user_id`, `username`)\n" +
-            "          DISTRIBUTED BY HASH(`user_id`) BUCKETS 1\n" +
-            "          PROPERTIES (\n" +
-            "          \"replication_allocation\" = \"tag.location.default: 1\"\n" +
-            "          );"
-
-    initTableData2 = "insert into ${tbName2} values(123456789, 'Alice', 1.83, 'Beijing', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (234567890, 'Bob', 1.89, 'Shanghai', 30, 1, 13998765432, 'No. 456 Street, Shanghai', '2022-02-02 12:00:00', {'a': 200, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (345678901, 'Carol', 2.6689, 'Guangzhou', 28, 0, 13724681357, 'No. 789 Street, Guangzhou', '2022-03-03 14:00:00', {'a': 300, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (456789012, 'Dave', 3.9456, 'Shenzhen', 35, 1, 13680864279, 'No. 987 Street, Shenzhen', '2022-04-04 16:00:00', {'a': 400, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (567890123, 'Eve', 4.223, 'Chengdu', 27, 0, 13572468091, 'No. 654 Street, Chengdu', '2022-05-05 18:00:00', {'a': 500, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (678901234, 'Frank', 2.5454, 'Hangzhou', 32, 1, 13467985213, 'No. 321 Street, Hangzhou', '2022-06-06 20:00:00', {'a': 600, 'b': 200}, '[\"abc\", \"def\"]')," +
-            "               (993456689, 'Alice', 'asd', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]')," +
-            "               (789012345, 'Grace', 2.19656, 'Xian', 29, 0, 13333333333, 'No. 222 Street, Xian', '2022-07-07 22:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]');"
-
-    sql initTable2
-    sql initTableData2
-    sql """ DROP TABLE IF EXISTS ${tbName1} """
+    //Test the dup model by modify a value type from STRUCT  to STRING
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to STRING"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT STRING  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 6.59, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8], "wrwerew"); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, false, "${tbName1}")
+    }, errorMessage)
 
+    //Test the dup model by modify a value type from STRUCT  to JSON
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to JSON"
+    expectException({
+        sql initTable
+        sql initTableData
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT JSON  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 8.47, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\\\"abc\\\", \\\"def\\\"]', [6,7,8],  {'a': 700, 'b': 200}); "
+        waitForSchemaChangeDone({
+            sql getTableStatusSql
+            time 60
+        }, insertSql, true, "${tbName1}")
+    }, errorMessage)
 
-    //TODO Test the unique model by modify a  value type from DECIMAL128  to map
-    //Test the unique model by modify a value type from DECIMAL128  to STRING
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to MAP"
+    //Test the dup model by modify a value type from STRUCT  to MAP
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to MAP"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score Map<STRING, INT>  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', {'a': 100, 'b': 200}, 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT Map<STRING, INT>  """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 8.47, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], '[\"abc\", \"def\"]'); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60
@@ -1040,13 +1074,13 @@ suite("test_dup_schema_value_modify3", "p0") {
     }, errorMessage)
 
 
-    //Test the unique model by modify a value type from DECIMAL128  to JSON
-    errorMessage = "errCode = 2, detailMessage = Can not change DECIMAL128 to JSON"
+    //Test the dup model by modify a value type from STRUCT  to ARRAY
+    errorMessage = "errCode = 2, detailMessage = Can not change STRUCT to ARRAY"
     expectException({
         sql initTable
         sql initTableData
-        sql """ alter  table ${tbName1} MODIFY  column score JSON  """
-        insertSql = "insert into ${tbName1} values(993456689, 'Alice', '{'a': 100, 'b': 200}', 'Yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 100, 'b': 200}, '[\"abc\", \"def\"]'); "
+        sql """ alter  table ${tbName1} MODIFY  column STRUCT ARRAY<int(11)> """
+        insertSql = "insert into ${tbName1} values(923456689, 'Alice', 8.47, 'yaan', 25, 0, 13812345678, 'No. 123 Street, Beijing', '2022-01-01 10:00:00', {'a': 700, 'b': 200}, '[\"abc\", \"def\"]', [6,7,8], {1, 'sn1', 'sa1'}); "
         waitForSchemaChangeDone({
             sql getTableStatusSql
             time 60


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