From 6381b6a8e30586ebd21232dfd7927c246e1b96ca Mon Sep 17 00:00:00 2001 From: shenglian zhou Date: Thu, 23 Sep 2021 09:25:47 +0800 Subject: [PATCH] add cumulative_sum test cases --- tests/script/general/compute/csum.sim | 98 +++++++++++++++ tests/script/general/compute/csum2.sim | 163 +++++++++++++++++++++++++ 2 files changed, 261 insertions(+) create mode 100644 tests/script/general/compute/csum.sim create mode 100644 tests/script/general/compute/csum2.sim diff --git a/tests/script/general/compute/csum.sim b/tests/script/general/compute/csum.sim new file mode 100644 index 0000000000..1f291d784f --- /dev/null +++ b/tests/script/general/compute/csum.sim @@ -0,0 +1,98 @@ +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 +sleep 200 +sql connect + +$dbPrefix = m_di_db +$tbPrefix = m_di_tb +$mtPrefix = m_di_mt +$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 csum(tbcol) from $tb +print ===> $data11 +if $data11 != 1 then + return -1 +endi + +print =============== step3 +$cc = 4 * 60000 +$ms = 1601481600000 + $cc +sql select csum(tbcol) from $tb where ts > $ms +print ===> $data11 +if $data11 != 11 then + return -1 +endi + +$cc = 4 * 60000 +$ms = 1601481600000 + $cc +sql select csum(tbcol) from $tb where ts <= $ms +print ===> $data11 +if $data11 != 1 then + return -1 +endi + +print =============== step4 +sql select csum(tbcol) as b from $tb +print ===> $data11 +if $data11 != 1 then + return -1 +endi + +print =============== step5 +sql select csum(tbcol) as b from $tb interval(1m) -x step5 + return -1 +step5: + +print =============== step6 +$cc = 4 * 60000 +$ms = 1601481600000 + $cc +sql select csum(tbcol) as b from $tb where ts <= $ms interval(1m) -x step6 + return -1 +step6: + +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 diff --git a/tests/script/general/compute/csum2.sim b/tests/script/general/compute/csum2.sim new file mode 100644 index 0000000000..506070ae36 --- /dev/null +++ b/tests/script/general/compute/csum2.sim @@ -0,0 +1,163 @@ +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 +sleep 200 +sql connect + +$dbPrefix = m_di_db +$tbPrefix = m_di_tb +$mtPrefix = m_di_mt +$tbNum = 2 +$rowNum = 1000 +$totalNum = 2000 + +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, c1 int, c2 float, c3 bigint, c4 smallint, c5 tinyint, c6 double, c7 bool, c8 nchar(5), c9 binary(10)) 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 + + $tinyint = $x / 128 + sql insert into $tb values ($ms , $x , $x , $x , $x , $tinyint , $x , $x , $x , $x ) + $x = $x + 1 + endw + + $i = $i + 1 +endw + +sleep 100 + +print =============== step2 +$i = 1 +$tb = $tbPrefix . $i + +sql select csum(c1) from $tb +print ===> $data11 +if $data11 != 1 then + return -1 +endi +sql select csum(c2) from $tb +print ===> $data11 +if $data11 != 1.000000000 then + return -1 +endi +sql select csum(c3) from $tb +print ===> $data11 +if $data11 != 1 then + return -1 +endi +sql select csum(c4) from $tb +print ===> $data11 +if $data11 != 1 then + return -1 +endi +sql select csum(c5) from $tb +print ===> $data11 +if $data11 != 0 then + return -1 +endi +sql select csum(c6) from $tb +print ===> $data11 +if $data11 != 1.000000000 then + return -1 +endi +sql_error select csum(c7) from $tb +sql_error select csum(c8) from $tb +sql_error select csum(c9) from $tb +sql_error select csum(ts) from $tb +sql_error select csum(c1), csum(c2) from $tb +#sql_error select 2+csum(c1) from $tb +sql_error select csum(c1+2) from $tb +sql_error select csum(c1) from $tb where ts > 0 and ts < now + 100m interval(10m) +sql_error select csum(c1) from $mt +sql_error select csum(csum(c1)) from $tb +sql_error select csum(c1) from m_di_tb1 where c2 like '2%' + + +print =============== step3 +sql select csum(c1) from $tb where c1 > 5 +print ===> $data11 +if $data11 != 13 then + return -1 +endi +sql select csum(c2) from $tb where c2 > 5 +print ===> $data11 +if $data11 != 13.000000000 then + return -1 +endi +sql select csum(c3) from $tb where c3 > 5 +print ===> $data11 +if $data11 != 13 then + return -1 +endi +sql select csum(c4) from $tb where c4 > 5 +print ===> $data11 +if $data11 != 13 then + return -1 +endi +sql select csum(c5) from $tb where c5 > 5 +print ===> $data11 +if $data11 != 12 then + return -1 +endi +sql select csum(c6) from $tb where c6 > 5 +print ===> $data11 +if $data11 != 13.000000000 then + return -1 +endi + +print =============== step4 +sql select csum(c1) from $tb where c1 > 5 and c2 < $rowNum +print ===> $data11 +if $data11 != 13 then + return -1 +endi + +sql select csum(c1) from $tb where c9 like '%9' and c1 <= 20 +print ===> $rows +if $rows != 2 then + return -1 +endi +print ===>$data01, $data11 +if $data01 != 9 then + return -1 +endi +if $data11 != 28 then + return -1 +endi + +print =============== step5 +sql select csum(c1) as b from $tb interval(1m) -x step5 + return -1 +step5: + +print =============== step6 +sql select csum(c1) as b from $tb where ts < now + 4m interval(1m) -x step6 + return -1 +step6: + +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 -- GitLab