commit
a50438f164
|
@ -632,7 +632,15 @@ int32_t tStrToInteger(const char* z, int16_t type, int32_t n, int64_t* value, bo
|
|||
}
|
||||
|
||||
// the string may be overflow according to errno
|
||||
*value = issigned? strtoll(z, &endPtr, radix):strtoull(z, &endPtr, radix);
|
||||
if (!issigned) {
|
||||
const char *p = z;
|
||||
while(*p != 0 && *p == ' ') p++;
|
||||
if (*p != 0 && *p == '-') { return -1;}
|
||||
|
||||
*value = strtoull(z, &endPtr, radix);
|
||||
} else {
|
||||
*value = strtoll(z, &endPtr, radix);
|
||||
}
|
||||
|
||||
// not a valid integer number, return error
|
||||
if (endPtr - z != n || errno == ERANGE) {
|
||||
|
|
|
@ -159,4 +159,4 @@ if $rows != 0 then
|
|||
return -1
|
||||
endi
|
||||
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||
|
|
|
@ -0,0 +1,166 @@
|
|||
system sh/stop_dnodes.sh
|
||||
system sh/deploy.sh -n dnode1 -i 1
|
||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
||||
system sh/exec.sh -n dnode1 -s start
|
||||
|
||||
sleep 2000
|
||||
sql connect
|
||||
print ======================== dnode1 start
|
||||
|
||||
$dbPrefix = db
|
||||
$tbPrefix = tb
|
||||
$mtPrefix = st
|
||||
$tbNum = 10
|
||||
$rowNum = 20
|
||||
$totalNum = 200
|
||||
|
||||
print =============== step1
|
||||
$i = 0
|
||||
$db = $dbPrefix . $i
|
||||
$mt = $mtPrefix . $i
|
||||
|
||||
sql create database $db
|
||||
sql use $db
|
||||
sql create table $mt (ts timestamp, tbcol bigint unsigned) TAGS(tgcol bigint unsigned)
|
||||
|
||||
$i = 0
|
||||
while $i < 5
|
||||
$tb = $tbPrefix . $i
|
||||
sql create table $tb using $mt tags( 0 )
|
||||
sql create table $tb using $mt tags( -111 )
|
||||
$x = 0
|
||||
while $x < $rowNum
|
||||
$ms = $x . m
|
||||
sql insert into $tb values (now + $ms , 0 )
|
||||
$x = $x + 1
|
||||
sql_error insert into $tb values (now + $ms , -10)
|
||||
sql_error insert into $tb values (now + $ms , -1000)
|
||||
sql_error insert into $tb values (now + $ms , -10000000)
|
||||
endw
|
||||
$i = $i + 1
|
||||
endw
|
||||
while $i < 10
|
||||
$tb = $tbPrefix . $i
|
||||
sql create table $tb using $mt tags( 1 )
|
||||
$x = 0
|
||||
while $x < $rowNum
|
||||
$ms = $x . m
|
||||
sql insert into $tb values (now + $ms , 1 )
|
||||
$x = $x + 1
|
||||
endw
|
||||
$i = $i + 1
|
||||
endw
|
||||
|
||||
print =============== step2
|
||||
sql select * from $mt where tbcol = 0
|
||||
if $rows != 100 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where tbcol <> 0
|
||||
if $rows != 100 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where tbcol = 1
|
||||
if $rows != 100 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where tbcol <> 1
|
||||
if $rows != 100 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where tbcol = 1
|
||||
if $rows != 100 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where tbcol <> 1
|
||||
if $rows != 100 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where tbcol = 0
|
||||
if $rows != 100 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where tbcol <> 0
|
||||
if $rows != 100 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
print =============== step3
|
||||
sql select * from $mt where ts > now + 4m and tbcol = 1
|
||||
if $rows != 75 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where ts > now + 4m and tbcol <> 1
|
||||
if $rows != 75 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where ts < now + 4m and tbcol = 0
|
||||
if $rows != 25 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where ts < now + 4m and tbcol <> 0
|
||||
if $rows != 25 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where ts <= now + 4m and tbcol = 0
|
||||
if $rows != 25 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where ts <= now + 4m and tbcol <> 0
|
||||
if $rows != 25 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where ts > now + 4m and ts < now + 5m and tbcol <> 0
|
||||
if $rows != 5 then
|
||||
return -1
|
||||
endi
|
||||
sql select * from $mt where ts > now + 4m and tbcol <> 0 and ts < now + 5m
|
||||
if $rows != 5 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
print =============== step4
|
||||
sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt
|
||||
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
|
||||
if $data00 != 200 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
print =============== step5
|
||||
sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where tbcol = 1
|
||||
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
|
||||
if $data00 != 100 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
print =============== step6
|
||||
sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where tbcol = 1 group by tgcol
|
||||
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
|
||||
print $data10 $data11 $data12 $data13 $data14 $data15 $data16
|
||||
if $data00 != 100 then
|
||||
print expect 100, actual $data00
|
||||
return -1
|
||||
endi
|
||||
|
||||
print =============== step7
|
||||
sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where ts < now + 4m and tbcol = 1 group by tgcol
|
||||
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
|
||||
if $data00 != 25 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
print =============== step8
|
||||
sql select count(tbcol), avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt where tbcol = 1 interval(1d) group by tgcol order by tgcol desc
|
||||
print $data00 $data01 $data02 $data03 $data04 $data05 $data06
|
||||
if $data01 != 100 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
print =============== clear
|
||||
sql drop database $db
|
||||
sql show databases
|
||||
if $rows != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
Loading…
Reference in New Issue