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

$i = 0
$dbPrefix = lm_sm_db
$tbPrefix = lm_sm_tb
$db = $dbPrefix . $i
$tb = $tbPrefix . $i

print =============== step1
sql create database $db
sql use $db
sql create table $tb (ts timestamp, speed smallint)

sql insert into $tb values (now, NULL)
sql select * from $tb order by ts desc
if $rows != 1 then 
  return -1
endi
print $data01
if $data01 != NULL then
  return -1
endi

print =============== step2
sql insert into $tb values (now+1m, -32768)
sql insert into $tb values (now+2m, NULL)
sql select * from $tb order by ts desc
if $rows != 3 then 
  return -1
endi
if $data01 != NULL then
  return -1
endi

print =============== step3
sql insert into $tb values (now+3m, 32767)
sql select * from $tb order by ts desc
if $rows != 4 then 
  return -1
endi
if $data01 != 32767 then 
  return -1
endi

print =============== step4
sql insert into $tb values (now+4m, 32768) -x step4
  return -1
step4: 
sql insert into $tb values (now+5m, NULL)
sql select * from $tb order by ts desc
if $rows != 5 then 
  return -1
endi
if $data01 != NULL then
  return -1
endi

print =============== step5
sql_error insert into $tb values (now+6m, a2)
sql insert into $tb values (now+7m, 0)
sql select * from $tb order by ts desc
if $rows != 6 then 
  return -1
endi
if $data01 != 0 then 
  return -1
endi

print =============== step6
sql_error insert into $tb values (now+8m, 2a)
sql insert into $tb values (now+9m, 2)
sql select * from $tb order by ts desc
if $rows != 7 then 
  return -1
endi
if $data01 != 2 then 
  return -1
endi

print =============== step7
sql_error insert into $tb values (now+10m, 2a'1)
sql insert into $tb values (now+11m, 2)
sql select * from $tb order by ts desc
if $rows != 8 then 
  return -1
endi
if $data01 != 2 then 
  return -1
endi
sql drop database $db
sql select * from information_schema.ins_databases
if $rows != 2 then 
  return -1
endi
 
system sh/exec.sh -n dnode1 -s stop -x SIGINT