sleep 3000
sql connect
sql create database if not exists 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: int
print ========== int 
sql create table mt_int (ts timestamp, c int) tags (tagname int)

## case 00: static create table for test tag values
sql create table st_int_0  using mt_int tags (null)
sql describe st_int_0
if $data23 != NULL then
  return -1
endi
sql create table st_int_1  using mt_int tags (NULL)
sql describe st_int_1
if $data23 != NULL then
  return -1
endi
sql create table st_int_2  using mt_int tags ('null')
sql describe st_int_2
if $data23 != NULL then
  return -1
endi
sql create table st_int_3  using mt_int tags ('NULL')
sql describe st_int_3
if $data23 != NULL then
  return -1
endi
sql create table st_int_4  using mt_int tags ("null")
sql describe st_int_4
if $data23 != NULL then
  return -1
endi
sql create table st_int_5  using mt_int tags ("NULL")
sql describe st_int_5
if $data23 != NULL then
  return -1
endi
sql create table st_int_6  using mt_int tags (-2147483647)
sql describe st_int_6
if $data23 != -2147483647 then
  return -1
endi
sql create table st_int_7  using mt_int tags (2147483647)
sql describe st_int_7
if $data23 != 2147483647 then
  return -1
endi
sql create table st_int_8  using mt_int tags (37)
sql describe st_int_8
if $data23 != 37 then
  return -1
endi
sql create table st_int_9  using mt_int tags (-100)
sql describe st_int_9
if $data23 != -100 then
  return -1
endi
sql create table st_int_10 using mt_int tags (+113)
sql describe st_int_10
if $data23 != 113 then
  return -1
endi
sql create table st_int_11 using mt_int tags ('-100')
sql describe st_int_11
if $data23 != -100 then
  return -1
endi
sql create table st_int_12 using mt_int tags ("+78")
sql describe st_int_12
if $data23 != 78 then
  return -1
endi
sql create table st_int_13 using mt_int tags (+0078)
sql describe st_int_13
if $data23 != 78 then
  return -1
endi
sql create table st_int_14 using mt_int tags (-00078)
sql describe st_int_14
if $data23 != -78 then
  return -1
endi

## case 01: insert values  for test column values
sql insert into st_int_0  values (now, null)
sql select * from st_int_0
if $rows != 1 then
  return -1
endi
if $data01 != null then
  return -1
endi 
sql insert into st_int_1  values (now, NULL)
sql select * from st_int_1
if $rows != 1 then
  return -1
endi
if $data01 != null then
  return -1
endi  
sql insert into st_int_2  values (now, 'null')
sql select * from st_int_2
if $rows != 1 then
  return -1
endi
if $data01 != null then
  return -1
endi
sql insert into st_int_3  values (now, 'NULL')
sql select * from st_int_3
if $rows != 1 then
  return -1
endi
if $data01 != null then
  return -1
endi
sql insert into st_int_4  values (now, "null")
sql select * from st_int_4
if $rows != 1 then
  return -1
endi
if $data01 != null then
  return -1
endi
sql insert into st_int_5  values (now, "NULL")
sql select * from st_int_5
if $rows != 1 then
  return -1
endi
if $data01 != null then
  return -1
endi
sql insert into st_int_6  values (now, 2147483647)
sql select * from st_int_6
if $rows != 1 then
  return -1
endi
if $data01 != 2147483647 then
  return -1
endi 
sql insert into st_int_7  values (now, -2147483647)
sql select * from st_int_7
if $rows != 1 then
  return -1
endi
if $data01 != -2147483647 then
  return -1
endi  
sql insert into st_int_8  values (now, +100) 
sql select * from st_int_8
if $rows != 1 then
  return -1
endi
if $data01 != 100 then
  return -1
endi   
sql insert into st_int_9  values (now, "-098")
sql select * from st_int_9
if $rows != 1 then
  return -1
endi
if $data01 != -98 then
  return -1
endi 
sql insert into st_int_10 values (now, '0')
sql select * from st_int_10
if $rows != 1 then
  return -1
endi
if $data01 != 0 then
  return -1
endi 
sql insert into st_int_11 values (now, -0)  
sql select * from st_int_11
if $rows != 1 then
  return -1
endi
if $data01 != 0 then
  return -1
endi 
sql insert into st_int_12 values (now, "+056")
sql select * from st_int_12
if $rows != 1 then
  return -1
endi
if $data01 != 56 then
  return -1
endi 

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

sql insert into st_int_14 values (now, -056)
sql select * from st_int_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_int_16 using mt_int tags (null)   values (now, null)
sql describe st_int_16
if $data23 != NULL then
  return -1
endi
sql select * from st_int_16
if $data01 != null then
  return -1
endi
    
sql insert into st_int_17 using mt_int tags (NULL)   values (now, NULL)
sql describe st_int_17
if $data23 != NULL then
  return -1
endi
sql select * from st_int_17
if $data01 != null then
  return -1
endi  
sql insert into st_int_18 using mt_int tags ('null') values (now, 'null')
sql describe st_int_18
if $data23 != NULL then
  return -1
endi
sql select * from st_int_18
if $data01 != null then
  return -1
endi
sql insert into st_int_19 using mt_int tags ('NULL') values (now, 'NULL')
sql describe st_int_19
if $data23 != NULL then
  return -1
endi
sql select * from st_int_19
if $data01 != null then
  return -1
endi
sql insert into st_int_20 using mt_int tags ("null") values (now, "null")
sql describe st_int_20
if $data23 != NULL then
  return -1
endi
sql select * from st_int_20
if $data01 != null then
  return -1
endi
sql insert into st_int_21 using mt_int tags ("NULL") values (now, "NULL")
sql describe st_int_21
if $data23 != NULL then
  return -1
endi
sql select * from st_int_21
if $data01 != null then
  return -1
endi
sql insert into st_int_22 using mt_int tags (2147483647)  values (now, 2147483647)
sql describe st_int_22
if $data23 != 2147483647 then
  return -1
endi
sql select * from st_int_22
if $data01 != 2147483647 then
  return -1
endi 
sql insert into st_int_23 using mt_int tags (-2147483647)  values (now, -2147483647)
sql describe st_int_23
if $data23 != -2147483647 then
  return -1
endi
sql select * from st_int_23
if $data01 != -2147483647 then
  return -1
endi  
sql insert into st_int_24 using mt_int tags (10)    values (now, 10)
sql describe st_int_24
if $data23 != 10 then
  return -1
endi
sql select * from st_int_24
if $data01 != 10 then
  return -1
endi    
sql insert into st_int_25 using mt_int tags ("-0") values (now, "-0")
sql describe st_int_25
if $data23 != 0 then
  return -1
endi
sql select * from st_int_25
if $data01 != 0 then
  return -1
endi 
sql insert into st_int_26 using mt_int tags ('123') values (now, '123')
sql describe st_int_26
if $data23 != 123 then
  return -1
endi
sql select * from st_int_26
if $data01 != 123 then
  return -1
endi 
sql insert into st_int_27 using mt_int tags (+056) values (now, +00056)
sql describe st_int_27
if $data23 != 56 then
  return -1
endi
sql select * from st_int_27
if $data01 != 56 then
  return -1
endi 
sql insert into st_int_28 using mt_int tags (-056) values (now, -0056)
sql describe st_int_28
if $data23 != -56 then
  return -1
endi
sql select * from st_int_28
if $data01 != -56 then
  return -1
endi 

## case 03: alter tag values
sql alter table st_int_0 set tag tagname=2147483647
sql describe st_int_0
if $data23 != 2147483647 then
  return -1
endi 
sql alter table st_int_0 set tag tagname=-2147483647
sql describe st_int_0
if $data23 != -2147483647 then
  return -1
endi 
sql alter table st_int_0 set tag tagname=+100
sql describe st_int_0
if $data23 != 100 then
  return -1
endi
sql alter table st_int_0 set tag tagname=-33
sql describe st_int_0
if $data23 != -33 then
  return -1
endi
sql alter table st_int_0 set tag tagname='+98'
sql describe st_int_0
if $data23 != 98 then
  return -1
endi
sql alter table st_int_0 set tag tagname='-076'
sql describe st_int_0
if $data23 != -76 then
  return -1
endi
sql alter table st_int_0 set tag tagname=+0012
sql describe st_int_0
if $data23 != 12 then
  return -1
endi
sql alter table st_int_0 set tag tagname=-00063
sql describe st_int_0
if $data23 != -63 then
  return -1
endi

## case 04: illegal input
sql_error create table st_int_e0 using mt_int tags (2147483648)
sql_error create table st_int_e0 using mt_int tags (-2147483648)
sql_error create table st_int_e0 using mt_int tags (214748364800)
sql_error create table st_int_e0 using mt_int tags (-214748364800)
#sql_error create table st_int_e0 using mt_int tags (12.80)   truncate integer part
#sql_error create table st_int_e0 using mt_int tags (-11.80)
sql_error create table st_int_e0 using mt_int tags (123abc)  
sql_error create table st_int_e0 using mt_int tags ("123abc")
sql_error create table st_int_e0 using mt_int tags (abc)     
sql_error create table st_int_e0 using mt_int tags ("abc")   
sql_error create table st_int_e0 using mt_int tags (" ")     
sql_error create table st_int_e0 using mt_int tags ('')      

sql create table st_int_e0  using mt_int tags (123)
sql create table st_int_e1  using mt_int tags (123)
sql create table st_int_e2  using mt_int tags (123)
sql create table st_int_e3  using mt_int tags (123)
sql create table st_int_e4  using mt_int tags (123)
sql create table st_int_e5  using mt_int tags (123)
sql create table st_int_e6  using mt_int tags (123)
sql create table st_int_e7  using mt_int tags (123)
sql create table st_int_e8  using mt_int tags (123)
sql create table st_int_e9  using mt_int tags (123)
sql create table st_int_e10 using mt_int tags (123)
sql create table st_int_e11 using mt_int tags (123)
sql create table st_int_e12 using mt_int tags (123)

sql_error insert into st_int_e0  values (now, 2147483648)     
sql_error insert into st_int_e1  values (now, -2147483648)    
sql_error insert into st_int_e2  values (now, 3147483648)    
sql_error insert into st_int_e3  values (now, -21474836481)   
#sql_error insert into st_int_e4  values (now, 12.80)   
#sql_error insert into st_int_e5  values (now, -11.80)  
sql_error insert into st_int_e6  values (now, 123abc)  
sql_error insert into st_int_e7  values (now, "123abc")
sql_error insert into st_int_e9  values (now, abc)     
sql_error insert into st_int_e10 values (now, "abc")   
sql_error insert into st_int_e11 values (now, " ")     
sql_error insert into st_int_e12 values (now, '')      

sql_error insert into st_int_e13 using mt_int tags (033) values (now, 2147483648)     
sql_error insert into st_int_e14 using mt_int tags (033) values (now, -2147483648)    
sql_error insert into st_int_e15 using mt_int tags (033) values (now, 5147483648)    
sql_error insert into st_int_e16 using mt_int tags (033) values (now, -21474836481)   
#sql_error insert into st_int_e17 using mt_int tags (033) values (now, 12.80)   
#sql_error insert into st_int_e18 using mt_int tags (033) values (now, -11.80)  
sql_error insert into st_int_e19 using mt_int tags (033) values (now, 123abc)  
sql_error insert into st_int_e20 using mt_int tags (033) values (now, "123abc")
sql_error insert into st_int_e22 using mt_int tags (033) values (now, abc)     
sql_error insert into st_int_e23 using mt_int tags (033) values (now, "abc")   
sql_error insert into st_int_e24 using mt_int tags (033) values (now, " ")     
sql_error insert into st_int_e25 using mt_int tags (033) values (now, '')  

sql_error insert into st_int_e13 using mt_int tags (2147483648)      values (now, -033)
sql_error insert into st_int_e14 using mt_int tags (-2147483648)     values (now, -033)
sql_error insert into st_int_e15 using mt_int tags (21474836480)     values (now, -033)
sql_error insert into st_int_e16 using mt_int tags (-2147483649)    values (now, -033)
#sql_error insert into st_int_e17 using mt_int tags (12.80)    values (now, -033)
#sql_error insert into st_int_e18 using mt_int tags (-11.80)   values (now, -033)
sql_error insert into st_int_e19 using mt_int tags (123abc)   values (now, -033)
sql_error insert into st_int_e20 using mt_int tags ("123abc") values (now, -033)
sql_error insert into st_int_e22 using mt_int tags (abc)      values (now, -033)
sql_error insert into st_int_e23 using mt_int tags ("abc")    values (now, -033)
sql_error insert into st_int_e24 using mt_int tags (" ")      values (now, -033)
sql_error insert into st_int_e25 using mt_int tags ('')       values (now, -033)

sql insert into st_int_e13 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e14 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e15 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e16 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e17 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e18 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e19 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e20 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e21 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e22 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e23 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e24 using mt_int tags (033) values (now, 00062)
sql insert into st_int_e25 using mt_int tags (033) values (now, 00062)

sql_error alter table st_int_e13 set tag tagname=2147483648     
sql_error alter table st_int_e14 set tag tagname=-2147483648    
sql_error alter table st_int_e15 set tag tagname=12147483648    
sql_error alter table st_int_e16 set tag tagname=-3147483648
sql_error alter table st_int_e19 set tag tagname=123abc  
sql_error alter table st_int_e20 set tag tagname="123abc" 
sql_error alter table st_int_e22 set tag tagname=abc     
sql_error alter table st_int_e23 set tag tagname="abc"   
sql_error alter table st_int_e24 set tag tagname=" "     
sql_error alter table st_int_e25 set tag tagname=''      
