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

print ======================== dnode1 start
$db = testdb
sql create database $db
sql use $db

sql create stable st2 (ts timestamp, f1 int, f2 float, f3 double, f4 bigint, f5 smallint, f6 tinyint, f7 bool, f8 binary(10), f9 nchar(10)) tags (id1 int, id2 float, id3 nchar(10), id4 double, id5 smallint, id6 bigint, id7 binary(10))
sql create table tb1 using st2 tags (1,1.0,"1",1.0,1,1,"1");
sql create table tb2 using st2 tags (2,2.0,"2",2.0,2,2,"2");
sql create table tb3 using st2 tags (3,3.0,"3",3.0,3,3,"3");
sql create table tb4 using st2 tags (4,4.0,"4",4.0,4,4,"4");

sql insert into tb1 values (now-200s,1,1.0,1.0,1,1,1,true,"1","1")
sql insert into tb1 values (now-100s,2,2.0,2.0,2,2,2,true,"2","2")
sql insert into tb1 values (now,3,3.0,3.0,3,3,3,true,"3","3")
sql insert into tb1 values (now+100s,4,4.0,4.0,4,4,4,true,"4","4")
sql insert into tb1 values (now+200s,4,4.0,4.0,4,4,4,true,"4","4")
sql insert into tb2 values (now+300s,4,4.0,4.0,4,4,4,true,"4","4")
sql insert into tb3 values (now+400s,4,4.0,4.0,4,4,4,true,"4","4")
sql insert into tb4 values (now+500s,4,4.0,4.0,4,4,4,true,"4","4")

sql select distinct(tbname), id1 from st2;
if $rows != 4 then
  return -1
endi

sql select * from st2;
if $rows != 8 then
  return -1
endi

sql select * from st2 where ts between now-50s and now+450s
if $rows != 5 then
  return -1
endi

sql select tbname, id1 from st2 where id1 between 2 and 3;
if $rows != 2 then
  return -1
endi

sql select tbname, id2 from st2 where id2 between 0.0 and 3.0;
if $rows != 7 then
  return -1
endi
if $data(tb2)[0] != tb2 then
  return -1
endi
if $data(tb2)[1] != 2.00000 then
  return -1
endi
if $data(tb3)[0] != tb3 then
  return -1
endi
if $data(tb3)[1] != 3.00000 then
  return -1
endi

sql select tbname, id4 from st2 where id2 between 2.0 and 3.0;
if $rows != 2 then
  return -1
endi
if $data(tb2)[0] != tb2 then
  return -1
endi
if $data(tb2)[1] != 2.000000000 then
  return -1
endi
if $data(tb3)[0] != tb3 then
  return -1
endi
if $data(tb3)[1] != 3.000000000 then
  return -1
endi

sql select tbname, id5 from st2 where id5 between 2.0 and 3.0;
if $rows != 2 then
  return -1
endi
if $data(tb2)[0] != tb2 then
  return -1
endi
if $data(tb2)[1] != 2 then
  return -1
endi
if $data(tb3)[0] != tb3 then
  return -1
endi
if $data(tb3)[1] != 3 then
  return -1
endi

sql select tbname,id6 from st2 where id6 between 2.0 and 3.0;
if $rows != 2 then
  return -1
endi
if $data(tb2)[0] != tb2 then
  return -1
endi
if $data(tb2)[1] != 2 then
  return -1
endi
if $data(tb3)[0] != tb3 then
  return -1
endi
if $data(tb3)[1] != 3 then
  return -1
endi

sql select * from st2 where f1 between 2 and 3 and f2 between 2.0 and 3.0 and f3 between 2.0 and 3.0 and f4 between 2.0 and 3.0 and f5 between 2.0 and 3.0 and f6 between 2.0 and 3.0;
if $rows != 2 then
  return -1
endi
if $data01 != 2 then
  return -1
endi
if $data11 != 3 then
  return -1
endi

sql select * from st2 where f7 between 2.0 and 3.0;
sql select * from st2 where f8 between 2.0 and 3.0;
sql select * from st2 where f9 between 2.0 and 3.0;

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