[TD-225] update the sim script.
This commit is contained in:
parent
227823762c
commit
6a837620f0
|
@ -5,6 +5,7 @@ system sh/cfg.sh -n dnode1 -c walLevel -v 0
|
|||
system sh/exec.sh -n dnode1 -s start
|
||||
sleep 500
|
||||
sql connect
|
||||
#========================================= setup environment ================================
|
||||
|
||||
$dbPrefix = ca_db
|
||||
$tbPrefix = ca_tb
|
||||
|
@ -52,44 +53,39 @@ while $i < $halfTbNum
|
|||
$i = $i + 1
|
||||
endw
|
||||
|
||||
##### select from table
|
||||
$tb = $tbPrefix . 0
|
||||
## TBASE-344
|
||||
sql select c1*2 from $tb
|
||||
if $rows != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data00 != 0.000000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data10 != 2.000000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data20 != 4.000000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data90 != 18.000000000 then
|
||||
return -1
|
||||
endi
|
||||
#=================================== above are setup test environment =============================
|
||||
run general/parser/col_arithmetic_query.sim
|
||||
|
||||
sql select c4*1+1/2 from $tb
|
||||
if $rows != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data00 != 0.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data10 != 1.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data90 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
#======================================= all in files query =======================================
|
||||
print ================== restart server to commit data into disk
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||
sleep 3000
|
||||
system sh/exec.sh -n dnode1 -s start
|
||||
|
||||
#### illegal operations
|
||||
print ================== server restart completed
|
||||
sql connect
|
||||
sleep 500
|
||||
|
||||
run general/parser/col_arithmetic_query.sim
|
||||
|
||||
# ================================================================================================
|
||||
|
||||
print ====================> crash
|
||||
# sql select spread(ts )/(1000*3600*24) from ca_stb0 interval(1y)
|
||||
|
||||
|
||||
sql_error select first(c1, c2) - last(c1, c2) from stb interval(1y)
|
||||
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 first(c7) - last(c7) from stb;
|
||||
sql_error select first(c8) - last(c8) from stb;
|
||||
sql_error select first(c9) - last(c9) from stb;
|
||||
sql_error select max(c2*2) from $tb
|
||||
sql_error select max(c1-c2) from $tb
|
||||
|
||||
#========================================regression test cases====================================
|
||||
print =====================> td-1764
|
||||
sql select sum(c1)/count(*), sum(c1) as b, count(*) as b from $stb interval(1y)
|
||||
if $rows != 1 then
|
||||
|
@ -108,42 +104,4 @@ if $data02 != 225000 then
|
|||
return -1
|
||||
endi
|
||||
|
||||
sql select first(c1) - last(c1), first(c1) as b, last(c1) as b, min(c1) - max(c1), spread(c1) from ca_stb0 interval(1y)
|
||||
if $rows != 1 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data00 != @18-01-01 00:00:00.000@ then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data01 != -9.000000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data02 != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data03 != 9 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data04 != -9.000000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data05 != 9.000000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql_error select first(c1, c2) - last(c1, c2) from stb interval(1y)
|
||||
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 first(c7) - last(c7) from stb;
|
||||
sql_error select first(c8) - last(c8) from stb;
|
||||
sql_error select first(c9) - last(c9) from stb;
|
||||
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
@ -0,0 +1,240 @@
|
|||
# ======================================= query test cases ========================================
|
||||
# select from table
|
||||
|
||||
$tb = $tbPrefix . 0
|
||||
## TBASE-344
|
||||
sql select c1*2 from $tb
|
||||
if $rows != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data00 != 0.000000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data10 != 2.000000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data20 != 4.000000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data90 != 18.000000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
# asc/desc order [d.2]
|
||||
sql select c1 *( 2 / 3 ), c1/c1 from $tb order by ts asc;
|
||||
sql select (c1 * 2) % 7.9 from $tb order by ts desc;
|
||||
|
||||
sql select c1 * c2 /4 from $tb where ts < and ts >
|
||||
|
||||
# no result return [d.3]
|
||||
sql select c1 * 91- 7 from $tb where ts<1537146000000
|
||||
if $rows != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
# no result return [d.3]
|
||||
sql select c2 - c2 from $tb where ts>xxx
|
||||
if $rows != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
# single row result aggregation [d.4]
|
||||
# not available
|
||||
|
||||
# error cases
|
||||
sql_error select first(c1,c2) - last(c1,c2) from $tb
|
||||
|
||||
# multi row result aggregation [d.4]
|
||||
sql select top(c1, 1) - bottom(c1, 1) from $tb
|
||||
sql select top(c1, 99) - bottom(c1, 99) from $tb
|
||||
|
||||
# all data types [d.6]
|
||||
sql select c2-c1, c3/c2, c4*c3, c5%c4, c6+99%22 from $tb
|
||||
|
||||
|
||||
|
||||
# error case, ts/bool/binary/nchar not support arithmetic expression
|
||||
sql_error select ts+ts from $tb
|
||||
sql_error select ts+22 from $tb
|
||||
sql_error select c7*12 from $tb
|
||||
sql_error select c8/55 from $tb
|
||||
sql_error select c9+c8 from $tb
|
||||
sql_error select c7-c8, c9-c8 from $tb
|
||||
sql_error select ts-c9 from $tb
|
||||
sql_error select c8+c7, c9+c9+c8+c7/c6 from $tb
|
||||
sql_error select c1/0, c2/0, c3/0.0 from $tb
|
||||
sql_error select c1/0.00000000001 from $tb
|
||||
|
||||
# arithmetic expression in join [d.7]
|
||||
|
||||
|
||||
# arithmetic expression in union [d.8]
|
||||
|
||||
|
||||
# arithmetic expression in group by [d.9]
|
||||
# in group by tag
|
||||
# not support for normal table
|
||||
sql_error select c5*99 from $tb group by t1
|
||||
|
||||
# in group by column
|
||||
sql_error select c6-(c6+c3)*12 from $tb group by c3;
|
||||
|
||||
|
||||
# limit offset [d.10]
|
||||
sql select c6 - c6 + 12 from $tb limit 12 offset 99;
|
||||
sql select c4 / 99.123 from $tb limit 1 offset 9999;
|
||||
|
||||
# slimit/soffset not support for normal table query. [d.11]
|
||||
sql_error select sum(c1) from $tb slimit 1 soffset 19;
|
||||
|
||||
# fill [d.12]
|
||||
sql_error select c2-c2, c3-c4, c5%c6 from $tb fill(value, 12);
|
||||
|
||||
# constant column. [d.13]
|
||||
|
||||
|
||||
# column value filter [d.14]
|
||||
|
||||
|
||||
# tag filter(not support for normal table). [d.15]
|
||||
sql_error select c2+99 from $tb where t1=12;
|
||||
|
||||
# multi-field output [d.16]
|
||||
sql select count(*), sum(c1)*avg(c2), avg(c3)*count(c3), sum(c3), sum(c4), first(c7), last(c8), first(c9), first(c7), last(c8) from $tb
|
||||
|
||||
sql select c4*1+1/2 from $tb
|
||||
if $rows != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data00 != 0.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data10 != 1.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data90 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
# interval query [d.17]
|
||||
sql_error select c2*c2, c3-c3, c4+9 from $tb interval(1s)
|
||||
sql_error select c7-c9 from $tb interval(2y)
|
||||
|
||||
# aggregation query [d.18]
|
||||
# see test cases below
|
||||
|
||||
# first/last query [d.19]
|
||||
# see test cases below
|
||||
|
||||
# multiple retrieve [d.20]
|
||||
sql select c2-c2 from $tb;
|
||||
|
||||
#======================================= aggregation function arithmetic query cases ================
|
||||
# asc/desc order [d.2]
|
||||
sql select first(c1) * ( 2 / 3 ) from $stb order by ts asc;
|
||||
sql select (count(c1) * 2) % 7.9 from $stb order by ts desc;
|
||||
|
||||
# all possible function in the arithmetic expressioin
|
||||
sql select min(c1) * max(c2) /4, sum(c1) * percentile(c2, 20), apercentile(c4, 33) + 52/9, spread(c5)/min(c2), xxxx, from $stb where ts < and ts >
|
||||
|
||||
# no result return [d.3]
|
||||
sql select first(c1) * 91 - 7, last(c3) from $stb where ts < 1537146000000
|
||||
if $rows != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
# no result return [d.3]
|
||||
sql select sum(c2) - avg(c2) from $tb where ts>xxx
|
||||
if $rows != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
# single row result aggregation [d.4]
|
||||
sql select
|
||||
|
||||
# error cases
|
||||
sql_error select first(c1, c2) - last(c1, c2) from $tb
|
||||
|
||||
# multi row result aggregation [d.4]
|
||||
sql select top(c1, 1) - bottom(c1, 1) from $tb
|
||||
sql select top(c1, 99) - bottom(c1, 99) from $tb
|
||||
|
||||
# all data types [d.6]
|
||||
sql select c2-c1, c3/c2, c4*c3, c5%c4, c6+99%22 from $tb
|
||||
|
||||
# error case, ts/bool/binary/nchar not support arithmetic expression
|
||||
sql_error select ts+ts from $tb
|
||||
sql_error select ts+22 from $tb
|
||||
sql_error select c7*12 from $tb
|
||||
sql_error select c8/55 from $tb
|
||||
sql_error select c9+c8 from $tb
|
||||
|
||||
# arithmetic expression in join [d.7]
|
||||
|
||||
|
||||
# arithmetic expression in union [d.8]
|
||||
|
||||
|
||||
# arithmetic expression in group by [d.9]
|
||||
# in group by tag
|
||||
# not support for normal table
|
||||
sql_error select c5*99 from $tb group by t1
|
||||
|
||||
# in group by column
|
||||
sql_error select c6-c6+c3*12 from $tb group by c3;
|
||||
|
||||
sql select first(c6) - last(c6) *12 / count(*) from $tb group by c3;
|
||||
|
||||
# limit offset [d.10]
|
||||
sql select c6-c6+12 from $tb limit 12 offset 99;
|
||||
sql select c4/99.123 from $tb limit 1 offset 9999;
|
||||
|
||||
# slimit/soffset not suport for normal table query. [d.11]
|
||||
sql_error select sum(c1) from $tb slimit 1 soffset 19;
|
||||
|
||||
# fill [d.12]
|
||||
sql_error select c2-c2, c3-c4, c5%c6 from $tb fill(value, 12);
|
||||
|
||||
# constant column. [d.13]
|
||||
|
||||
|
||||
# column value filter [d.14]
|
||||
|
||||
|
||||
# tag filter(not support for normal table). [d.15]
|
||||
sql_error select c2+99 from $tb where t1=12;
|
||||
|
||||
# multi-field output [d.16]
|
||||
sql select count(*), sum(c1)*avg(c2), avg(c3)*count(c3), sum(c3), sum(c4), first(c7), last(c8), first(c9), first(c7), last(c8) from $tb
|
||||
|
||||
sql select c4*1+1/2 from $tb
|
||||
if $rows != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data00 != 0.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data10 != 1.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data90 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
# interval query [d.17]
|
||||
sql_error select c2*c2, c3-c3, c4+9 from $tb interval(1s)
|
||||
sql_error select c7-c9 from $tb interval(2y)
|
||||
|
||||
# aggregation query [d.18]
|
||||
# see test cases below
|
||||
|
||||
# first/last query [d.19]
|
||||
# see test cases below
|
||||
|
||||
# multiple retrieve [d.20]
|
||||
sql select c2-c2 from $tb;
|
||||
|
||||
|
||||
sql select first(c1)-last(c1), spread(c2), max(c3) - min(c3), avg(c4)*count(c4) from $tb
|
||||
|
||||
|
Loading…
Reference in New Issue