提交 a8e46ef8 编写于 作者: S shenglian zhou

add cumulative_sum test cases

上级 a70f3be2
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
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
......@@ -3,6 +3,8 @@ run general/compute/bottom.sim
run general/compute/count.sim
run general/compute/diff.sim
run general/compute/diff2.sim
run general/compute/csum.sim
run general/compute/csum2.sim
run general/compute/first.sim
run general/compute/interval.sim
run general/compute/last.sim
......
......@@ -126,6 +126,7 @@ sql_error select first(ts) - last(ts) from $stb interval(1y)
sql_error select top(c1, 2) - last(c1) from $stb;
sql_error select stddev(c1) - last(c1) from $stb;
sql_error select diff(c1) - last(c1) from $stb;
sql_error select csum(c1) - last(c1) from $stb;
sql_error select first(c7) - last(c7) from $stb;
sql_error select first(c8) - last(c8) from $stb;
sql_error select first(c9) - last(c9) from $stb;
......@@ -151,4 +152,4 @@ if $data02 != 225000 then
return -1
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode1 -s stop -x SIGINT
......@@ -1087,6 +1087,10 @@ sql select diff(val) from (select derivative(k, 1s, 0) val from t1);
if $rows != 0 then
return -1
endi
sql select csum(val) from (select derivative(k, 1s, 0) val from t1);
if $rows != 0 then
return -1
endi
sql insert into t1 values('2020-1-1 1:1:4', 20);
sql insert into t1 values('2020-1-1 1:1:6', 200);
......
......@@ -1149,6 +1149,12 @@ sql_error select avg(f1),diff(f1) from st2 group by f1 having avg(f1) > 0;
sql_error select avg(f1),diff(f1) from st2 group by f1 having spread(f2) > 0;
sql_error select avg(f1) from st2 group by f1 having csum(f1) > 0;
sql_error select avg(f1),csum(f1) from st2 group by f1 having avg(f1) > 0;
sql_error select avg(f1),csum(f1) from st2 group by f1 having spread(f2) > 0;
sql select avg(f1) from st2 group by f1 having spread(f2) > 0;
if $rows != 0 then
return -1
......
......@@ -1164,6 +1164,12 @@ sql_error select avg(f1),diff(f1) from tb1 group by f1 having avg(f1) > 0;
sql_error select avg(f1),diff(f1) from tb1 group by f1 having spread(f2) > 0;
sql_error select avg(f1) from tb1 group by f1 having csum(f1) > 0;
sql_error select avg(f1),csum(f1) from tb1 group by f1 having avg(f1) > 0;
sql_error select avg(f1),csum(f1) from tb1 group by f1 having spread(f2) > 0;
sql select avg(f1) from tb1 group by f1 having spread(f2) > 0;
if $rows != 0 then
return -1
......
......@@ -471,6 +471,48 @@ if $data81 != -9 then
return -1
endi
sql select csum(c1) from $tb
$res = $rowNum
if $rows != $res then
return -1
endi
sql select csum(c1) from $tb where c1 > 5 limit 2 offset 1
if $rows != 2 then
return -1
endi
if $data00 != @18-09-17 10:10:00.000@ then
return -1
endi
if $data01 != 13 then
return -1
endi
if $data10 != @18-09-17 10:20:00.000@ then
return -1
endi
if $data11 != 21 then
return -1
endi
$limit = $rowNum / 2
$offset = $limit - 1
sql select csum(c1) from $tb where c1 >= 0 limit $limit offset $offset
if $rows != $limit then
return -1
endi
$limit = $rowNum / 2
$offset = $limit + 1
$val = $limit - 1
sql select csum(c1) from $tb where c1 >= 0 limit $limit offset $offset
if $rows != $val then
return -1
endi
if $data01 != 22501 then
return -1
endi
if $data81 != 22545 then
return -1
endi
### aggregation + limit offset (with interval)
sql select max(c1), max(c2), max(c3), max(c4), max(c5), max(c6) from $tb where ts >= $ts0 and ts <= $tsu interval(5m) limit 5
if $rows != 5 then
......
......@@ -463,6 +463,23 @@ if $data11 != 1 then
return -1
endi
sql select csum(c1) from $tb where c1 > 5 limit 2 offset 1
if $rows != 2 then
return -1
endi
if $data00 != @18-09-17 10:10:00.000@ then
return -1
endi
if $data01 != 13 then
return -1
endi
if $data10 != @18-09-17 10:20:00.000@ then
return -1
endi
if $data11 != 21 then
return -1
endi
### aggregation + limit offset (with interval)
sql select max(c1), max(c2), max(c3), max(c4), max(c5), max(c6) from $tb where ts >= $ts0 and ts <= $tsu interval(5m) limit 5
if $rows != 5 then
......
......@@ -186,6 +186,7 @@ sql_error select derivative(val, 1s, 0) from (select c1 val from nest_tb0);
sql_error select twa(c1) from (select c1 from nest_tb0);
sql_error select irate(c1) from (select c1 from nest_tb0);
sql_error select diff(c1), twa(c1) from (select * from nest_tb0);
sql_error select csum(c1), twa(c1) from (select * from nest_tb0);
sql_error select irate(c1), interp(c1), twa(c1) from (select * from nest_tb0);
sql select apercentile(c1, 50) from (select * from nest_tb0) interval(1d)
......@@ -273,6 +274,10 @@ sql select diff(c1) from (select * from nest_tb0);
if $rows != 9999 then
return -1
endi
sql select csum(c1) from (select * from nest_tb0);
if $rows != 10000 then
return -1
endi
sql select avg(c1),sum(c2), max(c3), min(c4), count(*), first(c7), last(c7),spread(c6) from (select * from nest_tb0) interval(1d);
if $rows != 7 then
......@@ -420,6 +425,23 @@ if $data01 != 1 then
return -1
endi
sql select csum(val) from (select c1 val from nest_tb0);
if $rows != 10000 then
return -1
endi
if $data00 != @70-01-01 08:00:00.000@ then
return -1
endi
if $data01 != 0 then
return -1
endi
if $data41 != 10 then
return -1
endi
sql_error select last_row(*) from (select * from nest_tb0) having c1 > 0
print ===========>td-4805
......@@ -508,4 +530,4 @@ if $data11 != 2.000000000 then
return -1
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode1 -s stop -x SIGINT
......@@ -21,6 +21,8 @@ run general/compute/bottom.sim
run general/compute/count.sim
run general/compute/diff.sim
run general/compute/diff2.sim
run general/compute/csum.sim
run general/compute/csum2.sim
run general/compute/first.sim
run general/compute/interval.sim
run general/compute/last.sim
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册