diff --git a/tests/script/tsim/query/stddev.sim b/tests/script/tsim/query/stddev.sim new file mode 100644 index 0000000000000000000000000000000000000000..5982a2107d700777c3b66ad5a1d15eee18229030 --- /dev/null +++ b/tests/script/tsim/query/stddev.sim @@ -0,0 +1,124 @@ +system sh/stop_dnodes.sh + +system sh/deploy.sh -n dnode1 -i 1 +system sh/cfg.sh -n dnode1 -c walLevel -v 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 + +$dbPrefix = db +$tbPrefix = ct +$mtPrefix = stb +$tbNum = 10 +$rowNum = 20 +$totalNum = 200 + +print =============== step1 +$i = 0 +$db = $dbPrefix . $i +$mt = $mtPrefix . $i + +sql drop database $db -x step1 +step1: +sql create database $db +sql use $db +sql create table $mt (ts timestamp, tbcol int) TAGS(tgcol int) + +$i = 0 +while $i < $tbNum + $tb = $tbPrefix . $i + sql create table $tb using $mt tags( $i ) + + $x = 0 + while $x < $rowNum + $cc = $x * 60000 + $ms = 1601481600000 + $cc + + sql insert into $tb values ($ms , $x ) + $x = $x + 1 + endw + + $i = $i + 1 +endw + +sleep 100 + +print =============== step2 +$i = 1 +$tb = $tbPrefix . $i + +sql select stddev(tbcol) from $tb +print ===> $data00 +if $data00 != 5.766281297 then + return -1 +endi + +print =============== step3 +$cc = 4 * 60000 +$ms = 1601481600000 + $cc + +print ===> select stddev(tbcol) from $tb where ts <= $ms +sql select stddev(tbcol) from $tb where ts <= $ms +print ====> $data00 $data01 $data02 $data03 $data04 $data05 +if $data00 != 1.414213562 then + return -1 +endi + +print =============== step4 +sql select stddev(tbcol) as b from $tb +print ===> $data00 +if $data00 != 5.766281297 then + return -1 +endi + +print =============== step5 +sql select stddev(tbcol) as b from $tb interval(1m) +print ===> $data01 +if $data01 != 0.000000000 then + return -1 +endi + +sql select stddev(tbcol) as b from $tb interval(1d) +print ===> $data01 +if $data01 != 5.766281297 then + return -1 +endi + +print =============== step6 +$cc = 4 * 60000 +$ms = 1601481600000 + $cc + +sql select stddev(tbcol) as b from $tb where ts <= $ms interval(1m) +print ===> $data01 +if $data01 != 0.000000000 then + return -1 +endi +if $rows != 5 then + return -1 +endi + +print =============== clear +sql drop database $db +sql show databases +if $rows != 0 then + return -1 +endi + +system sh/exec.sh -n dnode1 -s stop -x SIGINT \ No newline at end of file