csum.sim 2.1 KB
Newer Older
S
shenglian zhou 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
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:

91 92 93 94 95 96 97 98 99 100 101 102
print =============== csum result overflow follow sum behavior
sql create table overflow(ts timestamp, c1 bigint)
sql insert into overflow values(now-1s, NULL)(now, 9223372036854775807)(now+1s, 9223372036854775807)
sql select csum(c1) from overflow
print $data00 , $data01, $data10, $data11
if $data01 != 9223372036854775807 then
  return -1
endi
if $data11 != -2 then
  return -1
endi

S
shenglian zhou 已提交
103 104 105 106 107 108 109 110
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