system sh/stop_dnodes.sh system sh/deploy.sh -n dnode1 -i 1 system sh/exec.sh -n dnode1 -s start $loop_cnt = 0 check_dnode_ready: $loop_cnt = $loop_cnt + 1 sleep 200 if $loop_cnt == 10 then print ====> dnode not ready! return -1 endi sql show dnodes print ===> $rows $data00 $data01 $data02 $data03 $data04 $data05 if $data00 != 1 then return -1 endi if $data04 != ready then goto check_dnode_ready endi sql connect print =============== create database sql create database db sql show databases if $rows != 2 then return -1 endi sql use db print =============== create super table and child table sql create table stb1 (ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp) tags (t1 int) sql show stables print $rows $data00 $data01 $data02 if $rows != 1 then return -1 endi sql create table ct1 using stb1 tags ( 1 ) sql create table ct2 using stb1 tags ( 2 ) sql create table ct3 using stb1 tags ( 3 ) sql create table ct4 using stb1 tags ( 4 ) sql show tables print $rows $data00 $data10 $data20 if $rows != 4 then return -1 endi print =============== insert data into child table ct1 (s) sql insert into ct1 values ( '2022-01-01 01:01:01.000', 1, 11111, 111, 11, 1.11, 11.11, 1, "binary1", "nchar1", now ) sql insert into ct1 values ( '2022-01-01 01:01:06.000', 2, 22222, 222, 22, 2.22, 22.22, 0, "binary2", "nchar2", now ) sql insert into ct1 values ( '2022-01-01 01:01:10.000', 3, 33333, 333, 33, 3.33, 33.33, 0, "binary3", "nchar3", now ) sql insert into ct1 values ( '2022-01-01 01:01:16.000', 4, 44444, 444, 44, 4.44, 44.44, 1, "binary4", "nchar4", now ) sql insert into ct1 values ( '2022-01-01 01:01:20.000', 5, 55555, 555, 55, 5.55, 55.55, 0, "binary5", "nchar5", now ) sql insert into ct1 values ( '2022-01-01 01:01:26.000', 6, 66666, 666, 66, 6.66, 66.66, 1, "binary6", "nchar6", now ) sql insert into ct1 values ( '2022-01-01 01:01:30.000', 7, 00000, 000, 00, 0.00, 00.00, 1, "binary7", "nchar7", now ) sql insert into ct1 values ( '2022-01-01 01:01:36.000', 8, -88888, -888, -88, -8.88, -88.88, 0, "binary8", "nchar8", now ) print =============== insert data into child table ct2 (d) sql insert into ct2 values ( '2022-01-01 01:00:01.000', 1, 11111, 111, 11, 1.11, 11.11, 1, "binary1", "nchar1", now ) sql insert into ct2 values ( '2022-01-01 10:00:01.000', 2, 22222, 222, 22, 2.22, 22.22, 0, "binary2", "nchar2", now ) sql insert into ct2 values ( '2022-01-01 20:00:01.000', 3, 33333, 333, 33, 3.33, 33.33, 0, "binary3", "nchar3", now ) sql insert into ct2 values ( '2022-01-02 10:00:01.000', 4, 44444, 444, 44, 4.44, 44.44, 1, "binary4", "nchar4", now ) sql insert into ct2 values ( '2022-01-02 20:00:01.000', 5, 55555, 555, 55, 5.55, 55.55, 0, "binary5", "nchar5", now ) sql insert into ct2 values ( '2022-01-03 10:00:01.000', 7, 00000, 000, 00, 0.00, 00.00, 1, "binary7", "nchar7", now ) sql insert into ct2 values ( '2022-01-03 20:00:01.000', 8, -88888, -888, -88, -8.88, -88.88, 0, "binary8", "nchar8", now ) print =============== insert data into child table ct3 (n) sql insert into ct3 values ( '2021-12-21 01:01:01.000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) sql insert into ct3 values ( '2021-12-31 01:01:01.000', 1, 11111, 111, 11, 1.11, 11.11, 1, "binary1", "nchar1", now ) sql insert into ct3 values ( '2022-01-01 01:01:06.000', 2, 22222, 222, 22, 2.22, 22.22, 0, "binary2", "nchar2", now ) sql insert into ct3 values ( '2022-01-07 01:01:10.000', 3, 33333, 333, 33, 3.33, 33.33, 0, "binary3", "nchar3", now ) sql insert into ct3 values ( '2022-01-31 01:01:16.000', 4, 44444, 444, 44, 4.44, 44.44, 1, "binary4", "nchar4", now ) sql insert into ct3 values ( '2022-02-01 01:01:20.000', 5, 55555, 555, 55, 5.55, 55.55, 0, "binary5", "nchar5", now ) sql insert into ct3 values ( '2022-02-28 01:01:26.000', 6, 66666, 666, 66, 6.66, 66.66, 1, "binary6", "nchar6", now ) sql insert into ct3 values ( '2022-03-01 01:01:30.000', 7, 00000, 000, 00, 0.00, 00.00, 1, "binary7", "nchar7", "1970-01-01 08:00:00.000" ) sql insert into ct3 values ( '2022-03-08 01:01:36.000', 8, -88888, -888, -88, -8.88, -88.88, 0, "binary8", "nchar8", "1969-01-01 01:00:00.000" ) print =============== insert data into child table ct4 (y) sql insert into ct4 values ( '2020-10-21 01:01:01.000', 1, 11111, 111, 11, 1.11, 11.11, 1, "binary1", "nchar1", now ) sql insert into ct4 values ( '2020-12-31 01:01:01.000', 2, 22222, 222, 22, 2.22, 22.22, 0, "binary2", "nchar2", now ) sql insert into ct4 values ( '2021-01-01 01:01:06.000', 3, 33333, 333, 33, 3.33, 33.33, 0, "binary3", "nchar3", now ) sql insert into ct4 values ( '2021-05-07 01:01:10.000', 4, 44444, 444, 44, 4.44, 44.44, 1, "binary4", "nchar4", now ) sql insert into ct4 values ( '2021-09-30 01:01:16.000', 5, 55555, 555, 55, 5.55, 55.55, 0, "binary5", "nchar5", now ) sql insert into ct4 values ( '2022-02-01 01:01:20.000', 6, 66666, 666, 66, 6.66, 66.66, 1, "binary6", "nchar6", now ) sql insert into ct4 values ( '2022-10-28 01:01:26.000', 7, 00000, 000, 00, 0.00, 00.00, 1, "binary7", "nchar7", "1970-01-01 08:00:00.000" ) sql insert into ct4 values ( '2022-12-01 01:01:30.000', 8, -88888, -888, -88, -8.88, -88.88, 0, "binary8", "nchar8", "1969-01-01 01:00:00.000" ) sql insert into ct4 values ( '2022-12-31 01:01:36.000', 9, -99999999999999999, -999, -99, -9.99, -999999999999999999999.99, 1, "binary9", "nchar9", "1900-01-01 00:00:00.000" ) print ================ start query ====================== print ================ query 1 limit/offset sql select * from ct1 limit 1 print ====> sql : select * from ct1 limit 1 print ====> rows: $rows print ====> rows0: $data00, $data01, $data02, $data03, $data04, $data05, $data06, $data07, $data08, $data09 if $rows != 1 then return -1 endi sql select * from ct1 limit 9 print ====> sql : select * from ct1 limit 9 print ====> rows: $rows if $rows != 8 then return -1 endi sql select * from ct1 limit 1 offset 2 print ====> sql : select * from ct1 limit 1 offset 2 print ====> rows: $rows print ====> rows0: $data00, $data01, $data02, $data03, $data04, $data05, $data06, $data07, $data08, $data09 if $rows != 1 then return -1 endi if $data01 != 2 then return -1 endi sql select * from ct1 limit 2 offset 1 print ====> sql : select * from ct1 limit 2 offset 7 print ====> rows: $rows if $rows != 2 then return -1 endi if $data01 != 8 then return -1 endi sql select * from ct1 limit 2 offset 7 print ====> sql : select * from ct1 limit 2 offset 7 print ====> rows: $rows print ====> rows0: $data00, $data01, $data02, $data03, $data04, $data05, $data06, $data07, $data08, $data09 if $rows != 1 then return -1 endi if $data01 != 2 then return -1 endi if $data11 != 3 then return -1 endi sql select * from ct1 limit 2 offset 10 print ====> sql : select * from ct1 limit 2 offset 7 print ====> rows: $rows if $rows != 0 then return -1 endi sql select c1 from stb1 limit 1 print ====> sql : select c1 from stb1 limit 1 print ====> rows: $rows print ====> rows0: $data00 if $rows != 1 then return -1 endi sql select c1 from stb1 limit 50 print ====> sql : select c1 from stb1 limit 50 print ====> rows: $rows if $rows != 33 then return -1 endi sql select c1 from stb1 limit 1 offset 2 print ====> sql : select c1 from stb1 limit 1 offset 2 print ====> rows: $rows if $rows != 1 then return -1 endi sql select c1 from stb1 limit 2 offset 1 print ====> sql : select c1 from stb1 limit 2 offset 1 print ====> rows: $rows if $rows != 2 then return -1 endi sql select c1 from stb1 limit 2 offset 32 print ====> sql : select c1 from stb1 limit 2 offset 32 print ====> rows: $rows if $rows != 1 then return -1 endi sql select c1 from stb1 limit 2 offset 40 print ====> sql : select c1 from stb1 limit 2 offset 40 print ====> rows: $rows if $rows != 0 then return -1 endi print ================ query 2 where condition sql select * from ct3 where c1 < 5 print ====> sql : select * from ct3 where c1 < 5 print ====> rows: $rows print ====> rows0: $data00, $data01, $data02, $data03, $data04, $data05, $data06, $data07, $data08, $data09 if $rows != 4 then return -1 endi if $data01 != 1 then return -1 endi sql select * from ct3 where c1 > 5 and c1 <= 6 print ====> sql : select * from ct3 where c1 > 5 and c1 <= 6 print ====> rows: $rows print ====> rows0: $data00, $data01, $data02, $data03, $data04, $data05, $data06, $data07, $data08, $data09 if $rows != 1 then return -1 endi if $data01 != 6 then return -1 endi sql select * from ct3 where c1 >= 5 or c1 != 4 or c1 <> 3 or c1 = 2 print ====> sql : select * from ct3 where c1 > 5 and c1 <= 6 print ====> rows: $rows print ====> rows0: $data00, $data01, $data02, $data03, $data04, $data05, $data06, $data07, $data08, $data09 if $rows != 8 then return -1 endi if $data01 != 1 then return -1 endi sql select * from ct3 where c1 >= 5 and c1 is not NULL print ====> sql : select * from ct3 where c1 >= 5 and c1 is not NULL print ====> rows: $rows print ====> rows0: $data00, $data01, $data02, $data03, $data04, $data05, $data06, $data07, $data08, $data09 if $rows != 4 then return -1 endi if $data01 != 5 then return -1 endi sql_error select ts from ct3 where ts != 0 sql select * from ct3 where ts <> 0 print ====> sql : select * from ct3 where ts <> 0 print ====> rows: $rows if $rows != 8 then return -1 endi sql select * from ct3 where c1 between 1 and 3 print ====> sql : select * from ct3 where c1 between 1 and 3 print ====> rows: $rows if $rows != 3 then return -1 endi sql_error select * from ct3 where c7 between false and true sql select * from ct3 where c1 in (1,2,3) print ====> sql : select * from ct3 where c1 in (1,2,3) print ====> rows: $rows if $rows != 3 then return -1 endi sql select * from ct3 where c1 in (‘true','false') print ====> sql : select * from ct3 where c1 in (‘true','false') print ====> rows: $rows if $rows != 8 then return -1 endi sql select * from ct3 where c9 like "_char_" print ====> sql : select * from ct3 where c1 in (1,2,3) print ====> rows: $rows if $rows != 8 then return -1 endi sql select * from ct3 where c8 like "bi%" print ====> sql : select * from ct3 where c1 in (1,2,3) print ====> rows: $rows if $rows != 8 then return -1 endi sql select c1 from stb1 where c1 < 5 print ====> sql : select c1 from stb1 where c1 < 5 print ====> rows: $rows print ====> rows0: $data00 if $rows != 16 then return -1 endi if $data01 != 1 then return -1 endi sql select c1 from stb1 where stb1 > 5 and c1 <= 6 print ====> sql : select c1 from stb1 where c1 > 5 and c1 <= 6 print ====> rows: $rows print ====> rows0: $data00 if $rows != 4 then return -1 endi if $data01 != 6 then return -1 endi sql select c1 from stb1 where c1 >= 5 or c1 != 4 or c1 <> 3 or c1 = 2 print ====> sql : sselect c1 from stb1 where c1 >= 5 or c1 != 4 or c1 <> 3 or c1 = 2 print ====> rows: $rows print ====> rows0: $data00 if $rows != 32 then return -1 endi if $data01 != 1 then return -1 endi sql select c1 from stb1 where c1 >= 5 and c1 is not NULL print ====> sql : select c1 from stb1 where c1 >= 5 and c1 is not NULL print ====> rows: $rows print ====> rows0: $data00 if $rows != 17 then return -1 endi if $data01 != 5 then return -1 endi sql_error select ts from stb1 where ts != 0 sql select c1 from stb1 where ts <> 0 print ====> sql : select c1 from stb1 where ts <> 0 print ====> rows: $rows if $rows != 32 then return -1 endi sql select c1 from stb1 where c1 between 1 and 3 print ====> sql : select c1 from stb1 where c1 between 1 and 3 print ====> rows: $rows if $rows != 12 then return -1 endi sql_error select c1 from stb1 where c7 between false and true sql select c1 from stb1 where c1 in (1,2,3) print ====> sql : select c1 from stb1 where c1 in (1,2,3) print ====> rows: $rows if $rows != 12 then return -1 endi sql select c1 from stb1 where c1 in (‘true','false') print ====> sql : select c1 from stb1 where c1 in (‘true','false') print ====> rows: $rows if $rows != 32 then return -1 endi sql select c1 from stb1 where c9 like "_char_" print ====> sql : select c1 from stb1 where c9 like "_char_" print ====> rows: $rows if $rows != 32 then return -1 endi sql select c1 from stb1 where c8 like "bi%" print ====> sql : select c1 from stb1 where c8 like "bi%" print ====> rows: $rows if $rows != 32 then return -1 endi ## TODO : group by print ================ query 3 group by filter ## TODO : complex print ================ query 4 scalar function + where + group by + limit/offset print =================== count all rows sql select count(c1) from stb1 print ====> sql : select count(c1) from stb1 print ====> rows: $data00 if $data00 != 33 then return -1 endi #================================================= print =============== stop and restart taosd system sh/exec.sh -n dnode1 -s stop -x SIGINT system sh/exec.sh -n dnode1 -s start $loop_cnt = 0 check_dnode_ready_0: $loop_cnt = $loop_cnt + 1 sleep 200 if $loop_cnt == 10 then print ====> dnode not ready! return -1 endi sql show dnodes print ===> $rows $data00 $data01 $data02 $data03 $data04 $data05 if $data00 != 1 then return -1 endi if $data04 != ready then goto check_dnode_ready_0 endi print =================== count all rows sql select count(c1) from stb1 print ====> sql : select count(c1) from stb1 print ====> rows: $data00 if $data00 != 33 then return -1 endi #system sh/exec.sh -n dnode1 -s stop -x SIGINT