system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start
sql connect

$dbPrefix = db
$tbPrefix = ctb
$mtPrefix = stb
$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

print ===> select _rowts, diff(tbcol) from $tb
sql select _rowts, diff(tbcol) from $tb
print ===> rows: $rows
print ===> $data00 $data01 $data02 $data03 $data04 $data05
print ===> $data10 $data11 $data12 $data13 $data14 $data15
if $data11 != 1 then
  print expect 1, actual: $data11
  return -1
endi

print =============== step3
$cc = 4 * 60000
$ms = 1601481600000 + $cc
print ===> select _rowts, diff(tbcol) from $tb where ts > $ms
sql select _rowts, diff(tbcol) from $tb where ts > $ms
print ===> rows: $rows
print ===> $data00 $data01 $data02 $data03 $data04 $data05
print ===> $data10 $data11 $data12 $data13 $data14 $data15
if $data11 != 1 then 
  return -1
endi

$cc = 4 * 60000
$ms = 1601481600000 + $cc
print ===> select _rowts, diff(tbcol) from $tb where ts <= $ms
sql select _rowts, diff(tbcol) from $tb where ts <= $ms
print ===> rows: $rows
print ===> $data00 $data01 $data02 $data03 $data04 $data05
print ===> $data10 $data11 $data12 $data13 $data14 $data15
if $data11 != 1 then 
  return -1
endi

print =============== step4
print ===> select _rowts, diff(tbcol) as b from $tb
sql select _rowts, diff(tbcol) as b from $tb
print ===> rows: $rows
print ===> $data00 $data01 $data02 $data03 $data04 $data05
print ===> $data10 $data11 $data12 $data13 $data14 $data15
if $data11 != 1 then 
  return -1
endi

#print =============== step5
#print ===> select diff(tbcol) as b from $tb interval(1m)
#sql select diff(tbcol) as b from $tb interval(1m) -x step5
#  return -1
#step5:
#
#print =============== step6
#$cc = 4 * 60000
#$ms = 1601481600000 + $cc
#print ===> select diff(tbcol) as b from $tb where ts <= $ms interval(1m)
#sql select diff(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 != 2 then
  return -1
endi

system sh/exec.sh -n dnode1 -s stop -x SIGINT