col_arithmetic_operation.sim 3.1 KB
Newer Older
S
slguan 已提交
1
system sh/stop_dnodes.sh
S
slguan 已提交
2 3

system sh/deploy.sh -n dnode1 -i 1
H
hjxilinx 已提交
4
system sh/cfg.sh -n dnode1 -c walLevel -v 0
S
slguan 已提交
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect

$dbPrefix = ca_db
$tbPrefix = ca_tb
$stbPrefix = ca_stb
$tbNum = 10
$rowNum = 10000
$totalNum = $tbNum * $rowNum
$ts0 = 1537146000000
$delta = 600000
print ========== col_arithmetic_operation.sim
$i = 0
$db = $dbPrefix . $i
$stb = $stbPrefix . $i

sql drop database $db -x step1
step1:
sql create database $db
sql use $db
sql create table $stb (ts timestamp, c1 int, c2 bigint, c3 float, c4 double, c5 smallint, c6 tinyint, c7 bool, c8 binary(10), c9 nchar(10)) tags(t1 int)

$i = 0
$ts = $ts0
$halfTbNum = $tbNum / 2
while $i < $halfTbNum
  $tbId = $i + $halfTbNum
  $tb = $tbPrefix . $i
  $tb1 = $tbPrefix . $tbId
  sql create table $tb using $stb tags( $i )
  sql create table $tb1 using $stb tags( $tbId )
  
  $x = 0
  while $x < $rowNum
    $xs = $x * $delta
    $ts = $ts0 + $xs
    $c = $x / 10
    $c = $c * 10
    $c = $x - $c
    $binary = 'binary . $c
    $binary = $binary . '
    $nchar = 'nchar . $c
    $nchar = $nchar . '
    sql insert into $tb values ( $ts , $c , $c , $c , $c , $c , $c , true, $binary , $nchar ) 
    sql insert into $tb1 values ( $ts , NULL , $c , NULL , $c , NULL , $c , NULL, NULL , $nchar ) 
    $x = $x + 1
  endw 
  $i = $i + 1
endw 

##### select from table
$tb = $tbPrefix . 0
## TBASE-344
sql select c1*2 from $tb
if $rows != $rowNum then
  return -1
endi
if $data00 != 0.000000000 then
  return -1
endi
if $data10 != 2.000000000 then
  return -1
endi
if $data20 != 4.000000000 then
  return -1
endi
if $data90 != 18.000000000 then
  return -1
endi

sql select c4*1+1/2 from $tb
if $rows != $rowNum then
  return -1
endi
if $data00 != 0.500000000 then
  return -1
endi
if $data10 != 1.500000000 then
  return -1
endi
if $data90 != 9.500000000 then
  return -1
endi

#### illegal operations
sql_error select max(c2*2) from $tb
sql_error select max(c1-c2) from $tb
S
scripts  
Shengliang Guan 已提交
93

H
Haojun Liao 已提交
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
print =====================> td-1764
sql select sum(c1)/count(*), sum(c1) as b, count(*) as b from $stb interval(1y)
if $rows != 1 then
  return -1
endi

if $data00 != @18-01-01 00:00:00.000@ then
  return -1
endi

if $data01 != 2.250000000 then
  return -1
endi

if $data02 != 225000 then
  return -1
endi

H
Haojun Liao 已提交
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
sql select first(speed) - last(speed), first(speed) as b, last(speed) as b, min(speed) - max(speed), spread(speed) from stb interval(1y)", NULL);
if $rows != 1 then
  return -1
endi

if $data00 != @20-01-01 00:00:00.000@ then
  return -1
endi

if $data01 != -20.000000000 then
  return -1
endi

if $data02 != 100.000000000 then
  return -1
endi

if $data03 != 120.000000000 then
  return -1
endi

if $data04 != -20.000000000 then
  return -1
endi

if $data05 != 20.000000000 then
  return -1
endi

sql_error select first(speed, mileage) - last(speed, mileage) from stb interval(1y)
sql_error select first(ts) - last(ts) from stb interval(1y)
sql_error select top(speed, 2) - last(speed) from stb;
sql_error select stddev(speed) - last(speed) from stb;
sql_error select diff(speed) - last(speed) from stb;

S
scripts  
Shengliang Guan 已提交
147
system sh/exec.sh -n dnode1 -s stop -x SIGINT