system sh/stop_dnodes.sh system sh/deploy.sh -n dnode1 -i 1 system sh/exec.sh -n dnode1 -s start sql connect print ======== step1 sql create database d1 sql use d1 sql create table tb (ts timestamp, a int) sql insert into tb values(now-28d, -28) sql insert into tb values(now-27d, -27) sql insert into tb values(now-26d, -26) sql select * from tb if $rows != 3 then return -1 endi sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi print ======== step2 sql alter table tb add column b smallint sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != b then return -1 endi if $data21 != SMALLINT then return -1 endi print ======== step3 sql alter table tb add column c tinyint sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != b then return -1 endi if $data21 != SMALLINT then return -1 endi if $data30 != c then return -1 endi if $data31 != TINYINT then return -1 endi print ======== step4 sql alter table tb add column d int sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != b then return -1 endi if $data21 != SMALLINT then return -1 endi if $data30 != c then return -1 endi if $data31 != TINYINT then return -1 endi if $data40 != d then return -1 endi if $data41 != INT then return -1 endi print ======== step5 sql alter table tb add column e bigint sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != b then return -1 endi if $data21 != SMALLINT then return -1 endi if $data30 != c then return -1 endi if $data31 != TINYINT then return -1 endi if $data40 != d then return -1 endi if $data41 != INT then return -1 endi if $data50 != e then return -1 endi if $data51 != BIGINT then return -1 endi print ======== step6 sql alter table tb add column f float sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != b then return -1 endi if $data21 != SMALLINT then return -1 endi if $data30 != c then return -1 endi if $data31 != TINYINT then return -1 endi if $data40 != d then return -1 endi if $data41 != INT then return -1 endi if $data50 != e then return -1 endi if $data51 != BIGINT then return -1 endi if $data60 != f then return -1 endi if $data61 != FLOAT then return -1 endi print ======== step7 sql alter table tb add column g double sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != b then return -1 endi if $data21 != SMALLINT then return -1 endi if $data30 != c then return -1 endi if $data31 != TINYINT then return -1 endi if $data40 != d then return -1 endi if $data41 != INT then return -1 endi if $data50 != e then return -1 endi if $data51 != BIGINT then return -1 endi if $data60 != f then return -1 endi if $data61 != FLOAT then return -1 endi if $data70 != g then return -1 endi if $data71 != DOUBLE then return -1 endi print ======== step8 sql alter table tb add column h binary(10) sql select * from tb sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != b then return -1 endi if $data21 != SMALLINT then return -1 endi if $data30 != c then return -1 endi if $data31 != TINYINT then return -1 endi if $data40 != d then return -1 endi if $data41 != INT then return -1 endi if $data50 != e then return -1 endi if $data51 != BIGINT then return -1 endi if $data60 != f then return -1 endi if $data61 != FLOAT then return -1 endi if $data70 != g then return -1 endi if $data71 != DOUBLE then return -1 endi if $data80 != h then return -1 endi if $data81 != VARCHAR then return -1 endi if $data82 != 10 then return -1 endi print ======== step9 print ======== step10 system sh/exec.sh -n dnode1 -s stop -x SIGINT system sh/exec.sh -n dnode1 -s start sql use d1 sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != b then return -1 endi if $data21 != SMALLINT then return -1 endi if $data30 != c then return -1 endi if $data31 != TINYINT then return -1 endi if $data40 != d then return -1 endi if $data41 != INT then return -1 endi if $data50 != e then return -1 endi if $data51 != BIGINT then return -1 endi if $data60 != f then return -1 endi if $data61 != FLOAT then return -1 endi if $data70 != g then return -1 endi if $data71 != DOUBLE then return -1 endi if $data80 != h then return -1 endi if $data81 != VARCHAR then return -1 endi if $data82 != 10 then return -1 endi print ======== step11 sql alter table drop column a -x step111 return -1 step111: sql alter table drop column ts -x step112 return -1 step112: sql alter table drop column cdfg -x step113 return -1 step113: sql alter table add column a -x step114 return -1 step114: sql alter table add column b -x step115 return -1 step115: print ======== step12 sql alter table tb drop column b sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != c then return -1 endi if $data21 != TINYINT then return -1 endi if $data30 != d then return -1 endi if $data31 != INT then return -1 endi if $data40 != e then return -1 endi if $data41 != BIGINT then return -1 endi if $data50 != f then return -1 endi if $data51 != FLOAT then return -1 endi if $data60 != g then return -1 endi if $data61 != DOUBLE then return -1 endi if $data70 != h then return -1 endi if $data71 != VARCHAR then return -1 endi if $data72 != 10 then return -1 endi print ======== step13 sql alter table tb drop column c sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != d then return -1 endi if $data21 != INT then return -1 endi if $data30 != e then return -1 endi if $data31 != BIGINT then return -1 endi if $data40 != f then return -1 endi if $data41 != FLOAT then return -1 endi if $data50 != g then return -1 endi if $data51 != DOUBLE then return -1 endi if $data60 != h then return -1 endi if $data61 != VARCHAR then return -1 endi if $data62 != 10 then return -1 endi print ======== step14 sql alter table tb drop column d sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != e then return -1 endi if $data21 != BIGINT then return -1 endi if $data30 != f then return -1 endi if $data31 != FLOAT then return -1 endi if $data40 != g then return -1 endi if $data41 != DOUBLE then return -1 endi if $data50 != h then return -1 endi if $data51 != VARCHAR then return -1 endi if $data52 != 10 then return -1 endi print ======== step15 sql alter table tb drop column e sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != f then return -1 endi if $data21 != FLOAT then return -1 endi if $data30 != g then return -1 endi if $data31 != DOUBLE then return -1 endi if $data40 != h then return -1 endi if $data41 != VARCHAR then return -1 endi if $data42 != 10 then return -1 endi print ======== step16 sql alter table tb drop column f sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != g then return -1 endi if $data21 != DOUBLE then return -1 endi if $data30 != h then return -1 endi if $data31 != VARCHAR then return -1 endi if $data32 != 10 then return -1 endi print ======== step17 sql alter table tb drop column g sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != h then return -1 endi if $data21 != VARCHAR then return -1 endi if $data22 != 10 then return -1 endi print ============= step18 sql alter table tb drop column h sql describe tb if $data00 != ts then return -1 endi if $data01 != TIMESTAMP then return -1 endi if $data10 != a then return -1 endi if $data11 != INT then return -1 endi if $data20 != null then return -1 endi print =============== error for normal table sql create table tb2023(ts timestamp, f int); sql_error alter table tb2023 add column v varchar(65518); sql_error alter table tb2023 add column v varchar(65531); sql_error alter table tb2023 add column v varchar(65535); sql alter table tb2023 add column v varchar(65517); sql_error alter table tb2023 modify column v varchar(65518); sql desc tb2023 sql alter table tb2023 drop column v sql_error alter table tb2023 add column v nchar(16380); sql alter table tb2023 add column v nchar(16379); sql_error alter table tb2023 modify column v nchar(16380); sql desc tb2023 print =============== modify column for normal table sql create table ntb_ts3841(ts timestamp, c0 varchar(64000)); sql alter table ntb_ts3841 modify column c0 varchar(64001); sql create table ntb1_ts3841(ts timestamp, c0 nchar(15000)); sql alter table ntb1_ts3841 modify column c0 nchar(15001); print =============== error for super table sql create table stb2023(ts timestamp, f int) tags(t1 int); sql_error alter table stb2023 add column v varchar(65518); sql_error alter table stb2023 add column v varchar(65531); sql_error alter table stb2023 add column v varchar(65535); sql alter table stb2023 add column v varchar(65517); sql_error alter table stb2023 modify column v varchar(65518); sql desc stb2023 sql alter table stb2023 drop column v sql_error alter table stb2023 add column v nchar(16380); sql alter table stb2023 add column v nchar(16379); sql_error alter table stb2023 modify column v nchar(16380); sql desc stb2023 print =============== modify column/tag for super table sql create table stb_ts3841(ts timestamp, c0 varchar(64000)) tags(t1 binary(16380)); sql alter table stb_ts3841 modify column c0 varchar(64001); sql alter table stb_ts3841 modify tag t1 binary(16381); sql alter table stb_ts3841 modify tag t1 binary(16382); sql_error alter table stb_ts3841 modify tag t1 binary(16383); sql create table stb1_ts3841(ts timestamp, c0 nchar(15000)) tags(t1 nchar(4093)); sql alter table stb1_ts3841 modify column c0 nchar(15001); sql alter table stb1_ts3841 modify tag t1 nchar(4094); sql alter table stb1_ts3841 modify tag t1 nchar(4095); sql_error alter table stb1_ts3841 modify tag t1 nchar(4096); sql_error alter table stb1_ts3841 modify tag t1 binary(16382); print ======= over sql drop database d1 sql select * from information_schema.ins_databases if $rows != 2 then return -1 endi system sh/exec.sh -n dnode1 -s stop -x SIGINT