diff --git a/tests/script/tsim/query/session.sim b/tests/script/tsim/query/session.sim new file mode 100644 index 0000000000..43923fc572 --- /dev/null +++ b/tests/script/tsim/query/session.sim @@ -0,0 +1,229 @@ +#### session windows + +system sh/stop_dnodes.sh +system sh/deploy.sh -n dnode1 -i 1 +system sh/cfg.sh -n dnode1 +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 + +$vgroups = 4 +$dbNamme = d0 + +print =============== create database $dbNamme vgroups $vgroups +sql create database $dbNamme vgroups $vgroups +sql show databases +print $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09 +print $data10 $data11 $data12 $data13 $data14 $data15 $data16 $data17 $data18 $data19 +#print $data20 $data21 $data22 $data23 $data24 $data25 $data26 $data27 $data28 $data29 + +sql use $dbNamme + +print =============== create super table, child table and insert data +sql create table if not exists st (ts timestamp, tagtype int) tags(dev nchar(50), tag2 binary(16)) +sql create table if not exists dev_001 using st tags("dev_01", "tag_01") +sql create table if not exists dev_002 using st tags("dev_02", "tag_02") + +sql INSERT INTO dev_001 VALUES('2020-05-13 10:00:00.000', 1)('2020-05-13 10:00:00.005', 2)('2020-05-13 10:00:00.011', 3) +sql INSERT INTO dev_001 VALUES('2020-05-13 10:00:01.011', 4)('2020-05-13 10:00:01.611', 5)('2020-05-13 10:00:02.612', 6) +sql INSERT INTO dev_001 VALUES('2020-05-13 10:01:02.612', 7)('2020-05-13 10:02:02.612', 8)('2020-05-13 10:03:02.613', 9) +sql INSERT INTO dev_001 VALUES('2020-05-13 11:00:00.000', 10)('2020-05-13 12:00:00.000', 11)('2020-05-13 13:00:00.001', 12) +sql INSERT INTO dev_001 VALUES('2020-05-14 13:00:00.001', 13)('2020-05-15 14:00:00.000', 14)('2020-05-20 10:00:00.000', 15) +sql INSERT INTO dev_001 VALUES('2020-05-27 10:00:00.001', 16) + +sql INSERT INTO dev_002 VALUES('2020-05-13 10:00:00.000', 1)('2020-05-13 10:00:00.005', 2)('2020-05-13 10:00:00.009', 3) +sql INSERT INTO dev_002 VALUES('2020-05-13 10:00:00.0021', 4)('2020-05-13 10:00:00.031', 5)('2020-05-13 10:00:00.036', 6)('2020-05-13 10:00:00.51', 7) + + + +# session(ts,5a) +print ====> select count(*) from dev_001 session(ts,5a) +sql select count(*) from dev_001 session(ts,5a) +print ====> rows: $rows +print ====> $data00 $data01 $data02 $data03 $data04 $data05 +print ====> $data10 $data11 $data12 $data13 $data14 $data15 +print ====> $data20 $data21 $data22 $data23 $data24 $data25 +print ====> $data30 $data31 $data32 $data33 $data34 $data35 +print ====> $data40 $data41 $data42 $data43 $data44 $data45 +print ====> $data50 $data51 $data52 $data53 $data54 $data55 +print ====> $data60 $data61 $data62 $data63 $data64 $data65 +print ====> $data70 $data71 $data72 $data73 $data74 $data75 +print ====> $data80 $data81 $data82 $data83 $data84 $data85 +print ====> $data90 $data91 $data92 $data93 $data94 $data95 +if $rows != 15 then + return -1 +endi +if $data01 != 2 then + return -1 +endi + +return + +# +# # session(ts,5a) main query +# tdSql.query("select count(*) from (select * from dev_001) session(ts,5a)") +# tdSql.checkRows(15) +# tdSql.checkData(0, 1, 2) +# +# +# # session(ts,1s) +# tdSql.query("select count(*) from dev_001 session(ts,1s)") +# tdSql.checkRows(12) +# tdSql.checkData(0, 1, 5) +# +# # session(ts,1s) main query +# tdSql.query("select count(*) from (select * from dev_001) session(ts,1s)") +# tdSql.checkRows(12) +# tdSql.checkData(0, 1, 5) +# +# tdSql.query("select count(*) from dev_001 session(ts,1000a)") +# tdSql.checkRows(12) +# tdSql.checkData(0, 1, 5) +# +# tdSql.query("select count(*) from (select * from dev_001) session(ts,1000a)") +# tdSql.checkRows(12) +# tdSql.checkData(0, 1, 5) +# +# # session(ts,1m) +# tdSql.query("select count(*) from dev_001 session(ts,1m)") +# tdSql.checkRows(9) +# tdSql.checkData(0, 1, 8) +# +# # session(ts,1m) +# tdSql.query("select count(*) from (select * from dev_001) session(ts,1m)") +# tdSql.checkRows(9) +# tdSql.checkData(0, 1, 8) +# +# # session(ts,1h) +# tdSql.query("select count(*) from dev_001 session(ts,1h)") +# tdSql.checkRows(6) +# tdSql.checkData(0, 1, 11) +# +# # session(ts,1h) +# tdSql.query("select count(*) from (select * from dev_001) session(ts,1h)") +# tdSql.checkRows(6) +# tdSql.checkData(0, 1, 11) +# +# # session(ts,1d) +# tdSql.query("select count(*) from dev_001 session(ts,1d)") +# tdSql.checkRows(4) +# tdSql.checkData(0, 1, 13) +# +# # session(ts,1d) +# tdSql.query("select count(*) from (select * from dev_001) session(ts,1d)") +# tdSql.checkRows(4) +# tdSql.checkData(0, 1, 13) +# +# # session(ts,1w) +# tdSql.query("select count(*) from dev_001 session(ts,1w)") +# tdSql.checkRows(2) +# tdSql.checkData(0, 1, 15) +# +# # session(ts,1w) +# tdSql.query("select count(*) from (select * from dev_001) session(ts,1w)") +# tdSql.checkRows(2) +# tdSql.checkData(0, 1, 15) +# +# # session with where +# tdSql.query("select count(*),first(tagtype),last(tagtype),avg(tagtype),sum(tagtype),min(tagtype),max(tagtype),leastsquares(tagtype, 1, 1),spread(tagtype),stddev(tagtype),percentile(tagtype,0) from dev_001 where ts <'2020-05-20 0:0:0' session(ts,1d)") +# +# tdSql.checkRows(2) +# tdSql.checkData(0, 1, 13) +# tdSql.checkData(0, 2, 1) +# tdSql.checkData(0, 3, 13) +# tdSql.checkData(0, 4, 7) +# tdSql.checkData(0, 5, 91) +# tdSql.checkData(0, 6, 1) +# tdSql.checkData(0, 7, 13) +# tdSql.checkData(0, 8, '{slop:1.000000, intercept:0.000000}') +# tdSql.checkData(0, 9, 12) +# tdSql.checkData(0, 10, 3.741657387) +# tdSql.checkData(0, 11, 1) +# tdSql.checkData(1, 11, 14) +# +# # session with where main +# +# tdSql.query("select count(*),first(tagtype),last(tagtype),avg(tagtype),sum(tagtype),min(tagtype),max(tagtype),leastsquares(tagtype, 1, 1) from (select * from dev_001 where ts <'2020-05-20 0:0:0') session(ts,1d)") +# +# tdSql.checkRows(2) +# tdSql.checkData(0, 1, 13) +# tdSql.checkData(0, 2, 1) +# tdSql.checkData(0, 3, 13) +# tdSql.checkData(0, 4, 7) +# tdSql.checkData(0, 5, 91) +# tdSql.checkData(0, 6, 1) +# tdSql.checkData(0, 7, 13) +# tdSql.checkData(0, 8, '{slop:1.000000, intercept:0.000000}') +# +# # tdsql err +# tdSql.error("select * from dev_001 session(ts,1w)") +# tdSql.error("select count(*) from st session(ts,1w)") +# tdSql.error("select count(*) from dev_001 group by tagtype session(ts,1w) ") +# tdSql.error("select count(*) from dev_001 session(ts,1n)") +# tdSql.error("select count(*) from dev_001 session(ts,1y)") +# tdSql.error("select count(*) from dev_001 session(ts,0s)") +# tdSql.error("select count(*) from dev_001 session(i,1y)") +# tdSql.error("select count(*) from dev_001 session(ts,1d) where ts <'2020-05-20 0:0:0'") +# +# #test precision us +# tdSql.execute("create database test precision 'us'") +# tdSql.execute("use test") +# tdSql.execute("create table dev_001 (ts timestamp ,i timestamp ,j int)") +# tdSql.execute("insert into dev_001 values(1623046993681000,now,1)(1623046993681001,now+1s,2)(1623046993681002,now+2s,3)(1623046993681004,now+5s,4)") +# +# # session(ts,1u) +# tdSql.query("select count(*) from dev_001 session(ts,1u)") +# tdSql.checkRows(2) +# tdSql.checkData(0, 1, 3) +# tdSql.error("select count(*) from dev_001 session(i,1s)") +# # test second timestamp fileds +# tdSql.execute("create table secondts(ts timestamp,t2 timestamp,i int)") +# tdSql.error("select count(*) from secondts session(t2,2s)") +# +# + + +#if $loop_test == 0 then +# 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 +# +# $loop_test = 1 +# goto loop_test_pos +#endi +# +#system sh/exec.sh -n dnode1 -s stop -x SIGINT