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

print ========== columnValues.sim

sql drop database if exists db
sql create database db
sql use db

#### test the value of all data types in four cases: static create table, insert column value, synamic create table, alter tag value

######## case 0: tinyint
print ========== tinyint
sql create table mt_tinyint (ts timestamp, c tinyint) tags (tagname tinyint)

## case 00: static create table for test tag values
sql create table st_tinyint_0  using mt_tinyint tags (NULL)
sql show tags from  st_tinyint_0
if $data05 != NULL then
  print expect NULL, actually: $data05
  return -1
endi
sql create table st_tinyint_1  using mt_tinyint tags (NULL)
sql show tags from  st_tinyint_1
if $data05 != NULL then
  return -1
endi

sql_error create table st_tinyint_2  using mt_tinyint tags ('NULL')
sql_error create table st_tinyint_3  using mt_tinyint tags ('NULL')
sql_error create table st_tinyint_4  using mt_tinyint tags ("NULL")
sql_error create table st_tinyint_5  using mt_tinyint tags ("NULL")

sql create table st_tinyint_6  using mt_tinyint tags (-127)
sql show tags from  st_tinyint_6
if $data05 != -127 then
  return -1
endi
sql create table st_tinyint_7  using mt_tinyint tags (127)
sql show tags from  st_tinyint_7
if $data05 != 127 then
  return -1
endi
sql create table st_tinyint_8  using mt_tinyint tags (37)
sql show tags from  st_tinyint_8
if $data05 != 37 then
  return -1
endi
sql create table st_tinyint_9  using mt_tinyint tags (-100)
sql show tags from  st_tinyint_9
if $data05 != -100 then
  return -1
endi
sql create table st_tinyint_10 using mt_tinyint tags (+113)
sql show tags from  st_tinyint_10
if $data05 != 113 then
  return -1
endi
sql create table st_tinyint_11 using mt_tinyint tags ('-100')
sql show tags from  st_tinyint_11
if $data05 != -100 then
  return -1
endi
sql create table st_tinyint_12 using mt_tinyint tags ("+78")
sql show tags from  st_tinyint_12
if $data05 != 78 then
  return -1
endi
sql create table st_tinyint_13 using mt_tinyint tags (+0078)
sql show tags from  st_tinyint_13
if $data05 != 78 then
  return -1
endi
sql create table st_tinyint_14 using mt_tinyint tags (-00078)
sql show tags from  st_tinyint_14
if $data05 != -78 then
  return -1
endi

## case 01: insert values  for test column values
sql insert into st_tinyint_0  values (now, NULL)
sql select * from st_tinyint_0
if $rows != 1 then
  return -1
endi
if $data01 != NULL then
  return -1
endi
sql insert into st_tinyint_1  values (now, NULL)
sql select * from st_tinyint_1
if $rows != 1 then
  return -1
endi
if $data01 != NULL then
  return -1
endi
sql insert into st_tinyint_6  values (now, 127)
sql select * from st_tinyint_6
if $rows != 1 then
  return -1
endi
if $data01 != 127 then
  return -1
endi
sql insert into st_tinyint_7  values (now, -127)
sql select * from st_tinyint_7
if $rows != 1 then
  return -1
endi
if $data01 != -127 then
  return -1
endi
sql insert into st_tinyint_8  values (now, +100)
sql select * from st_tinyint_8
if $rows != 1 then
  return -1
endi
if $data01 != 100 then
  return -1
endi
sql insert into st_tinyint_9  values (now, "-098")
sql select * from st_tinyint_9
if $rows != 1 then
  return -1
endi
if $data01 != -98 then
  return -1
endi
sql insert into st_tinyint_10 values (now, '0')
sql select * from st_tinyint_10
if $rows != 1 then
  return -1
endi
if $data01 != 0 then
  return -1
endi
sql insert into st_tinyint_11 values (now, -0)
sql select * from st_tinyint_11
if $rows != 1 then
  return -1
endi
if $data01 != 0 then
  return -1
endi
sql insert into st_tinyint_12 values (now, "+056")
sql select * from st_tinyint_12
if $rows != 1 then
  return -1
endi
if $data01 != 56 then
  return -1
endi

sql insert into st_tinyint_13 values (now, +056)
sql select * from st_tinyint_13
if $rows != 1 then
  return -1
endi
if $data01 != 56 then
  return -1
endi

sql insert into st_tinyint_14 values (now, -056)
sql select * from st_tinyint_14
if $rows != 1 then
  return -1
endi
if $data01 != -56 then
  return -1
endi

## case 02: dynamic create table for test tag values
sql insert into st_tinyint_16 using mt_tinyint tags (NULL)   values (now, NULL)
sql show tags from  st_tinyint_16
if $data05 != NULL then
  return -1
endi
sql select * from st_tinyint_16
if $data01 != NULL then
  return -1
endi

sql insert into st_tinyint_17 using mt_tinyint tags (NULL)   values (now, NULL)
sql show tags from  st_tinyint_17
if $data05 != NULL then
  return -1
endi
sql select * from st_tinyint_17
if $data01 != NULL then
  return -1
endi
sql insert into st_tinyint_18 using mt_tinyint tags ('NULL') values (now, 'NULL')
sql show tags from  st_tinyint_18
if $data05 != NULL then
  return -1
endi
sql select * from st_tinyint_18
if $data01 != NULL then
  return -1
endi
sql insert into st_tinyint_19 using mt_tinyint tags ('NULL') values (now, 'NULL')
sql show tags from  st_tinyint_19
if $data05 != NULL then
  return -1
endi
sql select * from st_tinyint_19
if $data01 != NULL then
  return -1
endi
sql insert into st_tinyint_20 using mt_tinyint tags ("NULL") values (now, "NULL")
sql show tags from  st_tinyint_20
if $data05 != NULL then
  return -1
endi
sql select * from st_tinyint_20
if $data01 != NULL then
  return -1
endi
sql insert into st_tinyint_21 using mt_tinyint tags ("NULL") values (now, "NULL")
sql show tags from  st_tinyint_21
if $data05 != NULL then
  return -1
endi
sql select * from st_tinyint_21
if $data01 != NULL then
  return -1
endi
sql insert into st_tinyint_22 using mt_tinyint tags (127)  values (now, 127)
sql show tags from  st_tinyint_22
if $data05 != 127 then
  return -1
endi
sql select * from st_tinyint_22
if $data01 != 127 then
  return -1
endi
sql insert into st_tinyint_23 using mt_tinyint tags (-127)  values (now, -127)
sql show tags from  st_tinyint_23
if $data05 != -127 then
  return -1
endi
sql select * from st_tinyint_23
if $data01 != -127 then
  return -1
endi
sql insert into st_tinyint_24 using mt_tinyint tags (10)    values (now, 10)
sql show tags from  st_tinyint_24
if $data05 != 10 then
  return -1
endi
sql select * from st_tinyint_24
if $data01 != 10 then
  return -1
endi
sql insert into st_tinyint_25 using mt_tinyint tags ("-0") values (now, "-0")
sql show tags from  st_tinyint_25
if $data05 != 0 then
  return -1
endi
sql select * from st_tinyint_25
if $data01 != 0 then
  return -1
endi
sql insert into st_tinyint_26 using mt_tinyint tags ('123') values (now, '123')
sql show tags from  st_tinyint_26
if $data05 != 123 then
  return -1
endi
sql select * from st_tinyint_26
if $data01 != 123 then
  return -1
endi
sql insert into st_tinyint_27 using mt_tinyint tags (+056) values (now, +00056)
sql show tags from  st_tinyint_27
if $data05 != 56 then
  return -1
endi
sql select * from st_tinyint_27
if $data01 != 56 then
  return -1
endi
sql insert into st_tinyint_28 using mt_tinyint tags (-056) values (now, -0056)
sql show tags from  st_tinyint_28
if $data05 != -56 then
  return -1
endi
sql select * from st_tinyint_28
if $data01 != -56 then
  return -1
endi

## case 03: alter tag values
#sql alter table st_tinyint_0 set tag tagname=127
#sql show tags from  st_tinyint_0
#if $data05 != 127 then
#  return -1
#endi
#sql alter table st_tinyint_0 set tag tagname=-127
#sql show tags from  st_tinyint_0
#if $data05 != -127 then
#  return -1
#endi
#sql alter table st_tinyint_0 set tag tagname=+100
#sql show tags from  st_tinyint_0
#if $data05 != 100 then
#  return -1
#endi
#sql alter table st_tinyint_0 set tag tagname=-33
#sql show tags from  st_tinyint_0
#if $data05 != -33 then
#  return -1
#endi
#sql alter table st_tinyint_0 set tag tagname='+98'
#sql show tags from  st_tinyint_0
#if $data05 != 98 then
#  return -1
#endi
#sql alter table st_tinyint_0 set tag tagname='-076'
#sql show tags from  st_tinyint_0
#if $data05 != -76 then
#  return -1
#endi
#sql alter table st_tinyint_0 set tag tagname=+0012
#sql show tags from  st_tinyint_0
#if $data05 != 12 then
#  return -1
#endi
#sql alter table st_tinyint_0 set tag tagname=-00063
#sql show tags from  st_tinyint_0
#if $data05 != -63 then
#  return -1
#endi

## case 04: illegal input
sql_error create table st_tinyint_e0 using mt_tinyint tags (128)
sql create table st_tinyint_e0_1 using mt_tinyint tags (-128)
sql_error create table st_tinyint_e0 using mt_tinyint tags (1280)
sql_error create table st_tinyint_e0 using mt_tinyint tags (-1280)
#sql_error create table st_tinyint_e0 using mt_tinyint tags (12.80)   truncate integer part
#sql_error create table st_tinyint_e0 using mt_tinyint tags (-11.80)
sql_error create table st_tinyint_e0 using mt_tinyint tags (123abc)
sql_error create table st_tinyint_e0 using mt_tinyint tags ("123abc")
sql_error create table st_tinyint_e0 using mt_tinyint tags (abc)
sql_error create table st_tinyint_e0 using mt_tinyint tags ("abc")
sql_error create table st_tinyint_e0 using mt_tinyint tags (" ")
sql create table st_tinyint_e0_2 using mt_tinyint tags ('')

sql create table st_tinyint_e0  using mt_tinyint tags (123)
sql create table st_tinyint_e1  using mt_tinyint tags (123)
sql create table st_tinyint_e2  using mt_tinyint tags (123)
sql create table st_tinyint_e3  using mt_tinyint tags (123)
sql create table st_tinyint_e4  using mt_tinyint tags (123)
sql create table st_tinyint_e5  using mt_tinyint tags (123)
sql create table st_tinyint_e6  using mt_tinyint tags (123)
sql create table st_tinyint_e7  using mt_tinyint tags (123)
sql create table st_tinyint_e8  using mt_tinyint tags (123)
sql create table st_tinyint_e9  using mt_tinyint tags (123)
sql create table st_tinyint_e10 using mt_tinyint tags (123)
sql create table st_tinyint_e11 using mt_tinyint tags (123)
sql create table st_tinyint_e12 using mt_tinyint tags (123)

sql_error insert into st_tinyint_e0  values (now, 128)
sql insert into st_tinyint_e1  values (now, -128)
sql_error insert into st_tinyint_e2  values (now, 1280)
sql_error insert into st_tinyint_e3  values (now, -1280)
#sql_error insert into st_tinyint_e4  values (now, 12.80)
#sql_error insert into st_tinyint_e5  values (now, -11.80)
sql_error insert into st_tinyint_e6  values (now, 123abc)
sql_error insert into st_tinyint_e7  values (now, "123abc")
sql_error insert into st_tinyint_e9  values (now, abc)
sql_error insert into st_tinyint_e10 values (now, "abc")
sql_error insert into st_tinyint_e11 values (now, " ")
sql_error insert into st_tinyint_e12 values (now, '')

sql_error insert into st_tinyint_e13 using mt_tinyint tags (033) values (now, 128)
sql insert into st_tinyint_e14_1 using mt_tinyint tags (033) values (now, -128)
sql_error insert into st_tinyint_e15 using mt_tinyint tags (033) values (now, 1280)
sql_error insert into st_tinyint_e16 using mt_tinyint tags (033) values (now, -1280)
#sql_error insert into st_tinyint_e17 using mt_tinyint tags (033) values (now, 12.80)
#sql_error insert into st_tinyint_e18 using mt_tinyint tags (033) values (now, -11.80)
sql_error insert into st_tinyint_e19 using mt_tinyint tags (033) values (now, 123abc)
sql_error insert into st_tinyint_e20 using mt_tinyint tags (033) values (now, "123abc")
sql_error insert into st_tinyint_e22 using mt_tinyint tags (033) values (now, abc)
sql_error insert into st_tinyint_e23 using mt_tinyint tags (033) values (now, "abc")
sql_error insert into st_tinyint_e24 using mt_tinyint tags (033) values (now, " ")
sql_error insert into st_tinyint_e25_2 using mt_tinyint tags (033) values (now, '')

sql_error insert into st_tinyint_e13 using mt_tinyint tags (128)      values (now, -033)
sql insert into st_tinyint_e14 using mt_tinyint tags (-128)     values (now, -033)
sql_error insert into st_tinyint_e15 using mt_tinyint tags (1280)     values (now, -033)
sql_error insert into st_tinyint_e16 using mt_tinyint tags (-1280)    values (now, -033)
#sql_error insert into st_tinyint_e17 using mt_tinyint tags (12.80)    values (now, -033)
#sql_error insert into st_tinyint_e18 using mt_tinyint tags (-11.80)   values (now, -033)
sql_error insert into st_tinyint_e19 using mt_tinyint tags (123abc)   values (now, -033)
sql_error insert into st_tinyint_e20 using mt_tinyint tags ("123abc") values (now, -033)
sql_error insert into st_tinyint_e22 using mt_tinyint tags (abc)      values (now, -033)
sql_error insert into st_tinyint_e23 using mt_tinyint tags ("abc")    values (now, -033)
sql_error insert into st_tinyint_e24 using mt_tinyint tags (" ")      values (now, -033)
sql insert into st_tinyint_e25 using mt_tinyint tags ('')       values (now, -033)

sql insert into st_tinyint_e13 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e14 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e15 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e16 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e17 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e18 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e19 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e20 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e21 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e22 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e23 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e24 using mt_tinyint tags (033) values (now, 00062)
sql insert into st_tinyint_e25 using mt_tinyint tags (033) values (now, 00062)

sql_error alter table st_tinyint_e13 set tag tagname=128
sql alter table st_tinyint_e14 set tag tagname=-128
sql_error alter table st_tinyint_e15 set tag tagname=1280
sql_error alter table st_tinyint_e16 set tag tagname=-1280
sql_error alter table st_tinyint_e19 set tag tagname=123abc
sql_error alter table st_tinyint_e20 set tag tagname="123abc"
sql_error alter table st_tinyint_e22 set tag tagname=abc
sql_error alter table st_tinyint_e23 set tag tagname="abc"
sql_error alter table st_tinyint_e24 set tag tagname=" "
sql alter table st_tinyint_e25 set tag tagname=''

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