From 12513f444a6cb74bf3de23a71c5bbe0f39b85f25 Mon Sep 17 00:00:00 2001 From: plum-lihui Date: Sat, 2 Apr 2022 11:46:34 +0800 Subject: [PATCH] [add case] --- tests/script/tsim/query/session.sim | 425 +++++++++++++++++----------- 1 file changed, 267 insertions(+), 158 deletions(-) diff --git a/tests/script/tsim/query/session.sim b/tests/script/tsim/query/session.sim index 43923fc572..98f63f42e3 100644 --- a/tests/script/tsim/query/session.sim +++ b/tests/script/tsim/query/session.sim @@ -27,7 +27,15 @@ sql connect $vgroups = 4 $dbNamme = d0 -print =============== create database $dbNamme vgroups $vgroups +print ====> create database d1 precision 'us' +sql create database d1 precision 'us' +sql use d1 +sql create table dev_001 (ts timestamp ,i timestamp ,j int) +sql insert into dev_001 values(1623046993681000,now,1)(1623046993681001,now+1s,2)(1623046993681002,now+2s,3)(1623046993681004,now+5s,4) +sql create table secondts(ts timestamp,t2 timestamp,i int) +sql insert into secondts values(1623046993681000,now,1)(1623046993681001,now+1s,2)(1623046993681002,now+2s,3)(1623046993681004,now+5s,4) + +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 @@ -41,17 +49,33 @@ sql create table if not exists st (ts timestamp, tagtype int) tags(dev nchar(50) 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-13 10:00:00.000', 1) +sql INSERT INTO dev_001 VALUES('2020-05-13 10:00:00.005', 2) +sql INSERT INTO dev_001 VALUES('2020-05-13 10:00:00.011', 3) +sql INSERT INTO dev_001 VALUES('2020-05-13 10:00:01.011', 4) +sql INSERT INTO dev_001 VALUES('2020-05-13 10:00:01.611', 5) +sql INSERT INTO dev_001 VALUES('2020-05-13 10:00:02.612', 6) +sql INSERT INTO dev_001 VALUES('2020-05-13 10:01:02.612', 7) +sql INSERT INTO dev_001 VALUES('2020-05-13 10:02:02.612', 8) +sql INSERT INTO dev_001 VALUES('2020-05-13 10:03:02.613', 9) +sql INSERT INTO dev_001 VALUES('2020-05-13 11:00:00.000', 10) +sql INSERT INTO dev_001 VALUES('2020-05-13 12:00:00.000', 11) +sql INSERT INTO dev_001 VALUES('2020-05-13 13:00:00.001', 12) +sql INSERT INTO dev_001 VALUES('2020-05-14 13:00:00.001', 13) +sql INSERT INTO dev_001 VALUES('2020-05-15 14:00:00.000', 14) +sql INSERT INTO dev_001 VALUES('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) - +sql INSERT INTO dev_002 VALUES('2020-05-13 10:00:00.000', 1) +sql INSERT INTO dev_002 VALUES('2020-05-13 10:00:00.005', 2) +sql INSERT INTO dev_002 VALUES('2020-05-13 10:00:00.009', 3) +sql INSERT INTO dev_002 VALUES('2020-05-13 10:00:00.0021', 4) +sql INSERT INTO dev_002 VALUES('2020-05-13 10:00:00.031', 5) +sql INSERT INTO dev_002 VALUES('2020-05-13 10:00:00.036', 6) +sql INSERT INTO dev_002 VALUES('2020-05-13 10:00:00.51', 7) +$loop_test = 0 +loop_test_pos: # session(ts,5a) print ====> select count(*) from dev_001 session(ts,5a) @@ -74,156 +98,241 @@ 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)") -# -# +print ====> select count(*) from (select * from dev_001) session(ts,5a) +sql select count(*) from (select * from dev_001) session(ts,5a) +if $rows != 15 then + return -1 +endi +if $data01 != 2 then + return -1 +endi + +print ====> select count(*) from dev_001 session(ts,1s) +sql select count(*) from dev_001 session(ts,1s) +if $rows != 12 then + return -1 +endi +if $data01 != 5 then + return -1 +endi + +print ====> select count(*) from (select * from dev_001) session(ts,1s) +sql select count(*) from (select * from dev_001) session(ts,1s) +if $rows != 12 then + return -1 +endi +if $data01 != 5 then + return -1 +endi + +print ====> select count(*) from dev_001 session(ts,1000a) +sql select count(*) from dev_001 session(ts,1000a) +if $rows != 12 then + return -1 +endi +if $data01 != 5 then + return -1 +endi + +print ====> select count(*) from (select * from dev_001) session(ts,1000a) +sql select count(*) from (select * from dev_001) session(ts,1000a) +if $rows != 12 then + return -1 +endi +if $data01 != 5 then + return -1 +endi + +print ====> select count(*) from dev_001 session(ts,1m) +sql select count(*) from dev_001 session(ts,1m) +if $rows != 9 then + return -1 +endi +if $data01 != 8 then + return -1 +endi + +print ====> select count(*) from (select * from dev_001) session(ts,1m) +sql select count(*) from (select * from dev_001) session(ts,1m) +if $rows != 9 then + return -1 +endi +if $data01 != 8 then + return -1 +endi + +print ====> select count(*) from dev_001 session(ts,1h) +sql select count(*) from dev_001 session(ts,1h) +if $rows != 6 then + return -1 +endi +if $data01 != 11 then + return -1 +endi + +print ====> select count(*) from (select * from dev_001) session(ts,1h) +sql select count(*) from (select * from dev_001) session(ts,1h) +if $rows != 6 then + return -1 +endi +if $data01 != 11 then + return -1 +endi + +print ====> select count(*) from dev_001 session(ts,1d) +sql select count(*) from dev_001 session(ts,1d) +if $rows != 4 then + return -1 +endi +if $data01 != 13 then + return -1 +endi + +print ====> select count(*) from (select * from dev_001) session(ts,1d) +sql select count(*) from (select * from dev_001) session(ts,1d) +if $rows != 4 then + return -1 +endi +if $data01 != 13 then + return -1 +endi + +print ====> select count(*) from dev_001 session(ts,1w) +sql select count(*) from dev_001 session(ts,1w) +if $rows != 2 then + return -1 +endi +if $data01 != 15 then + return -1 +endi + +print ====> select count(*) from (select * from dev_001) session(ts,1w) +sql select count(*) from (select * from dev_001) session(ts,1w) +if $rows != 2 then + return -1 +endi +if $data01 != 15 then + return -1 +endi + +print ====> 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) +sql 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) +if $rows != 2 then + return -1 +endi +if $data01 != 13 then + return -1 +endi +if $data02 != 1 then + return -1 +endi +if $data03 != 13 then + return -1 +endi +if $data04 != 7 then + return -1 +endi +if $data05 != 91 then + return -1 +endi +if $data06 != 1 then + return -1 +endi +if $data07 != 13 then + return -1 +endi +if $data08 != @{slop:1.000000, intercept:0.000000}@ then + return -1 +endi +if $data09 != 12 then + return -1 +endi +# $data0-10 != 3.741657387 +# $data0-11 != 1 +# $data1-11 != 14 + +print ====> 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) +sql 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) +if $rows != 2 then + return -1 +endi +if $data01 != 13 then + return -1 +endi +if $data02 != 1 then + return -1 +endi +if $data03 != 13 then + return -1 +endi +if $data04 != 7 then + return -1 +endi +if $data05 != 91 then + return -1 +endi +if $data06 != 1 then + return -1 +endi +if $data07 != 13 then + return -1 +endi +if $data08 != @{slop:1.000000, intercept:0.000000}@ then + return -1 +endi + +sql_error select * from dev_001 session(ts,1w) +sql_error select count(*) from st session(ts,1w) +sql_error select count(*) from dev_001 group by tagtype session(ts,1w) +sql_error select count(*) from dev_001 session(ts,1n) +sql_error select count(*) from dev_001 session(ts,1y) +sql_error select count(*) from dev_001 session(ts,0s) +sql_error select count(*) from dev_001 session(i,1y) +sql_error select count(*) from dev_001 session(ts,1d) where ts <'2020-05-20 0:0:0' + +print ====> create database d1 precision 'us' +sql create database d1 precision 'us' +sql use d1 +sql create table dev_001 (ts timestamp ,i timestamp ,j int) +sql insert into dev_001 values(1623046993681000,now,1)(1623046993681001,now+1s,2)(1623046993681002,now+2s,3)(1623046993681004,now+5s,4) +print ====> select count(*) from dev_001 session(ts,1u) +sql select count(*) from dev_001 session(ts,1u) +if $rows != 2 then + return -1 +endi +if $data01 != 3 then + return -1 +endi +sql_error select count(*) from dev_001 session(i,1s) +sql create table secondts(ts timestamp,t2 timestamp,i int) +sql_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 -# +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