system sh/stop_dnodes.sh system sh/deploy.sh -n dnode1 -i 1 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 $stbPrefix = ca_stb $tbNum = 10 $rowNum = 10000 $totalNum = $tbNum * $rowNum $ts0 = 1537146000000 $delta = 600000 print ========== col_arithmetic_operation.sim $i = 0 $db = $dbPrefix . $i $stb = $stbPrefix . $i sql drop database $db -x step1 step1: sql create database $db sql use $db sql create table $stb (ts timestamp, c1 int, c2 bigint, c3 float, c4 double, c5 smallint, c6 tinyint, c7 bool, c8 binary(10), c9 nchar(10)) tags(t1 int) $i = 0 $ts = $ts0 $halfTbNum = $tbNum / 2 while $i < $halfTbNum $tbId = $i + $halfTbNum $tb = $tbPrefix . $i $tb1 = $tbPrefix . $tbId sql create table $tb using $stb tags( $i ) sql create table $tb1 using $stb tags( $tbId ) $x = 0 while $x < $rowNum $xs = $x * $delta $ts = $ts0 + $xs $c = $x / 10 $c = $c * 10 $c = $x - $c $binary = 'binary . $c $binary = $binary . ' $nchar = 'nchar . $c $nchar = $nchar . ' sql insert into $tb values ( $ts , $c , $c , $c , $c , $c , $c , true, $binary , $nchar ) $tb1 values ( $ts , NULL , $c , NULL , $c , NULL , $c , NULL, NULL , $nchar ) $x = $x + 1 endw $i = $i + 1 endw #=================================== above are setup test environment ============================= run general/parser/col_arithmetic_query.sim #======================================= 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 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 return -1 endi if $data00 != @18-01-01 00:00:00.000@ then return -1 endi if $data01 != 2.250000000 then return -1 endi if $data02 != 225000 then return -1 endi system sh/exec.sh -n dnode1 -s stop -x SIGINT