sql connect
sleep 3000
print ======================== dnode1 start

$dbPrefix = fi_ti_db
$tbPrefix = fi_ti_tb
$mtPrefix = fi_ti_mt
$tbNum = 10
$rowNum = 20
$totalNum = 200

print =============== step1
$i = 0
$db = $dbPrefix . $i
$mt = $mtPrefix . $i

sql create database $db
sql use $db
sql create table $mt (ts timestamp, tbcol tinyint) TAGS(tgcol tinyint)

$i = 0
while $i < 5
  $tb = $tbPrefix . $i
  sql create table $tb using $mt tags( 0 )  
  $x = 0
  while $x < $rowNum
    $ms = $x . m 
    sql insert into $tb values (now + $ms , 0 ) 
    $x = $x + 1
  endw  
  $i = $i + 1
endw 
while $i < 10
  $tb = $tbPrefix . $i
  sql create table $tb using $mt tags( 1 )  
  $x = 0
  while $x < $rowNum
    $ms = $x . m 
    sql insert into $tb values (now + $ms , 1 ) 
    $x = $x + 1
  endw  
  $i = $i + 1
endw 

print =============== step2
sql select * from $mt where tbcol = 0
if $rows != 100 then 
  return -1
endi
sql select * from $mt where tbcol <> 0
if $rows != 100 then 
  return -1
endi
sql select * from $mt where tbcol = 1
if $rows != 100 then 
  return -1
endi
sql select * from $mt where tbcol <> 1
if $rows != 100 then 
  return -1
endi
sql select * from $mt where tbcol = 1
if $rows != 100 then 
  return -1
endi
sql select * from $mt where tbcol <> 1
if $rows != 100 then 
  return -1
endi
sql select * from $mt where tbcol = 0
if $rows != 100 then 
  return -1
endi
sql select * from $mt where tbcol <> 0
if $rows != 100 then 
  return -1
endi

print =============== step3
sql select * from $mt where ts > now + 4m and tbcol = 1
if $rows != 75 then 
  return -1
endi
sql select * from $mt where ts > now + 4m and tbcol <> 1
if $rows != 75 then 
  return -1
endi
sql select * from $mt where ts < now + 4m and tbcol = 0
if $rows != 25 then 
  return -1
endi
sql select * from $mt where ts < now + 4m and tbcol <> 0
if $rows != 25 then 
  return -1
endi
sql select * from $mt where ts <= now + 4m and tbcol = 0
if $rows != 25 then 
  return -1
endi
sql select * from $mt where ts <= now + 4m and tbcol <> 0
if $rows != 25 then 
  return -1
endi
sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol <> 0
if $rows != 5 then 
  return -1
endi
sql select * from $mt where ts > now + 4m and tbcol <> 0 and ts < now + 5m
if $rows != 5 then 
  return -1
endi

print =============== step4
sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt
print $data00 $data01 $data02 $data03 $data04 $data05 $data06 
if $data00 != 200 then 
  return -1
endi

print =============== step5
sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where tbcol = 1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06 
if $data00 != 100 then 
  return -1
endi

print =============== step6
sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where tbcol = 1 group by tgcol
print $data00 $data01 $data02 $data03 $data04 $data05 $data06 
if $data00 != 100 then 
  return -1
endi

print =============== step7
sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = 1 group by tgcol
print $data00 $data01 $data02 $data03 $data04 $data05 $data06 
if $data00 != 25 then 
  return -1
endi

print =============== step8
sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where tbcol = 1 interval(1d) group by tgcol order by tgcol desc
print $data00 $data01 $data02 $data03 $data04 $data05 $data06 
if $data01 != 100 then 
  return -1
endi

print =============== clear
sql drop database $db
sql show databases
if $rows != 0 then 
  return -1
endi