Merge remote-tracking branch 'origin/3.0' into fix/TD-20317
This commit is contained in:
commit
1a070e7e02
|
@ -4296,7 +4296,7 @@ static SSDataBlock* doStreamSessionSemiAgg(SOperatorInfo* pOperator) {
|
|||
if (pBlock->info.type == STREAM_DELETE_DATA || pBlock->info.type == STREAM_DELETE_RESULT ||
|
||||
pBlock->info.type == STREAM_CLEAR) {
|
||||
// gap must be 0
|
||||
SArray* pWins = taosArrayInit(16, sizeof(SResultWindowInfo));
|
||||
SArray* pWins = taosArrayInit(16, sizeof(SSessionKey));
|
||||
doDeleteTimeWindows(&pInfo->streamAggSup, pBlock, pWins);
|
||||
removeSessionResults(pStUpdated, pWins);
|
||||
copyDeleteWindowInfo(pWins, pInfo->pStDeleted);
|
||||
|
|
|
@ -5679,6 +5679,7 @@ static int32_t translateCreateFunction(STranslateContext* pCxt, SCreateFunctionS
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = buildCmdMsg(pCxt, TDMT_MND_CREATE_FUNC, (FSerializeFunc)tSerializeSCreateFuncReq, &req);
|
||||
}
|
||||
tFreeSCreateFuncReq(&req);
|
||||
return code;
|
||||
}
|
||||
|
||||
|
|
|
@ -833,6 +833,7 @@ static int32_t partitionAggCondConj(SAggLogicNode* pAgg, SNode** ppAggFuncCond,
|
|||
nodesDestroyNode(pTempAggFuncCond);
|
||||
nodesDestroyNode(pTempGroupKeyCond);
|
||||
}
|
||||
nodesDestroyNode(pAgg->node.pConditions);
|
||||
pAgg->node.pConditions = NULL;
|
||||
return code;
|
||||
}
|
||||
|
@ -853,8 +854,7 @@ static int32_t partitionAggCond(SAggLogicNode* pAgg, SNode** ppAggFunCond, SNode
|
|||
}
|
||||
|
||||
static int32_t pushCondToAggCond(SOptimizeContext* pCxt, SAggLogicNode* pAgg, SNode** pAggFuncCond) {
|
||||
pushDownCondOptAppendCond(&pAgg->node.pConditions, pAggFuncCond);
|
||||
return TSDB_CODE_SUCCESS;
|
||||
return pushDownCondOptAppendCond(&pAgg->node.pConditions, pAggFuncCond);
|
||||
}
|
||||
|
||||
typedef struct SRewriteAggGroupKeyCondContext {
|
||||
|
|
|
@ -111,6 +111,9 @@
|
|||
,,y,script,./test.sh -f tsim/parser/fill_us.sim
|
||||
,,y,script,./test.sh -f tsim/parser/fill.sim
|
||||
,,y,script,./test.sh -f tsim/parser/first_last.sim
|
||||
,,y,script,./test.sh -f tsim/parser/fill_stb.sim
|
||||
,,y,script,./test.sh -f tsim/parser/interp.sim
|
||||
#,,y,script,./test.sh -f tsim/parser/limit2.sim
|
||||
,,y,script,./test.sh -f tsim/parser/fourArithmetic-basic.sim
|
||||
,,,script,./test.sh -f tsim/parser/function.sim
|
||||
,,y,script,./test.sh -f tsim/parser/groupby-basic.sim
|
||||
|
@ -432,6 +435,7 @@
|
|||
,,,system-test,python3 ./test.py -f 1-insert/update_data_muti_rows.py
|
||||
,,,system-test,python3 ./test.py -f 1-insert/db_tb_name_check.py
|
||||
,,,system-test,python3 ./test.py -f 1-insert/database_pre_suf.py
|
||||
,,,system-test,python3 ./test.py -f 1-insert/InsertFuturets.py
|
||||
,,,system-test,python3 ./test.py -f 0-others/show.py
|
||||
,,,system-test,python3 ./test.py -f 2-query/abs.py
|
||||
,,,system-test,python3 ./test.py -f 2-query/abs.py -R
|
||||
|
|
|
@ -97,8 +97,8 @@ $tsu = $tsu + $ts0
|
|||
#endi
|
||||
|
||||
# number of fill values exceeds number of selected columns
|
||||
print select _wstart, count(ts), max(c1), max(c2), max(c3), max(c4), max(c5) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -2, -3, -4, -5, -6, -7, -8)
|
||||
sql select _wstart, count(ts), max(c1), max(c2), max(c3), max(c4), max(c5) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -2, -3, -4, -5, -6, -7, -8)
|
||||
print select _wstart, count(ts), max(c1), max(c2), max(c3), max(c4), max(c5) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -2, -3, -4, -5, -6)
|
||||
sql select _wstart, count(ts), max(c1), max(c2), max(c3), max(c4), max(c5) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -2, -3, -4, -5, -6)
|
||||
$val = $rowNum * 2
|
||||
$val = $val - 1
|
||||
print $rows $val
|
||||
|
@ -136,8 +136,8 @@ if $data74 != -4.00000 then
|
|||
endi
|
||||
|
||||
## fill(value) + group by
|
||||
print select _wstart, max(c1), max(c2), max(c3), max(c4), max(c5) from $stb where ts >= $ts0 and ts <= $tsu partition by t1 interval(5m) fill(value, -1, -2, -3, -4, -5, -6, -7, -8)
|
||||
sql select _wstart, max(c1), max(c2), max(c3), max(c4), max(c5) from $stb where ts >= $ts0 and ts <= $tsu partition by t1 interval(5m) fill(value, -1, -2, -3, -4, -5, -6, -7, -8)
|
||||
print select _wstart, max(c1), max(c2), max(c3), max(c4), max(c5) from $stb where ts >= $ts0 and ts <= $tsu partition by t1 interval(5m) fill(value, -1, -2, -3, -4, -5)
|
||||
sql select _wstart, max(c1), max(c2), max(c3), max(c4), max(c5) from $stb where ts >= $ts0 and ts <= $tsu partition by t1 interval(5m) fill(value, -1, -2, -3, -4, -5)
|
||||
$val = $rowNum * 2
|
||||
print $rowNum, $val
|
||||
|
||||
|
@ -154,8 +154,8 @@ if $data11 != -1 then
|
|||
endi
|
||||
|
||||
# number of fill values is smaller than number of selected columns
|
||||
print select _wstart, max(c1), max(c2), max(c3) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 6, 6)
|
||||
sql select _wstart, max(c1), max(c2), max(c3) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 6, 6)
|
||||
print select _wstart, max(c1), max(c2), max(c3) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 6, 6, 6)
|
||||
sql select _wstart, max(c1), max(c2), max(c3) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 6, 6, 6)
|
||||
if $data11 != 6 then
|
||||
return -1
|
||||
endi
|
||||
|
@ -170,7 +170,7 @@ endi
|
|||
sql_error select max(c1), max(c2), max(c3), max(c4), max(c5) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill (6, 6, 6, 6, 6)
|
||||
|
||||
# fill_char_values_to_arithmetic_fields
|
||||
sql select sum(c1), avg(c2), max(c3), min(c4), avg(c4), count(c6), last(c7), last(c8) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c')
|
||||
sql_error select sum(c1), avg(c2), max(c3), min(c4), avg(c4), count(c6), last(c7), last(c8) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c')
|
||||
|
||||
# fill_multiple_columns
|
||||
sql_error select sum(c1), avg(c2), min(c3), max(c4), count(c6), first(c7), last(c8) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 99, 99, 99, 99, 99, abc, abc)
|
||||
|
@ -199,7 +199,7 @@ sql select max(c4) from $stb where t1 > 4 and ts >= $ts0 and ts <= $tsu partitio
|
|||
# return -1
|
||||
#endi
|
||||
|
||||
sql select _wstart, min(c1), max(c4) from $stb where t1 > 4 and ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1)
|
||||
sql select _wstart, min(c1), max(c4) from $stb where t1 > 4 and ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -1)
|
||||
$val = $rowNum * 2
|
||||
$val = $val - 1
|
||||
if $rows != $val then
|
||||
|
@ -222,52 +222,30 @@ if $data12 != -1.000000000 then
|
|||
endi
|
||||
|
||||
# fill_into_nonarithmetic_fieds
|
||||
print select _wstart, first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 20000000, 20000000, 20000000)
|
||||
sql select _wstart, first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 20000000, 20000000, 20000000)
|
||||
print select _wstart, first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, '20000000', '20000000', '20000000')
|
||||
sql select _wstart, first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, '20000000', '20000000', '20000000')
|
||||
#if $data11 != 20000000 then
|
||||
#if $data11 != 1 then
|
||||
# return -1
|
||||
#endi
|
||||
|
||||
sql select first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 1, 1, 1)
|
||||
sql select first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 1.1, 1.1, 1.1)
|
||||
sql select first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 1e1, 1e1, 1e1)
|
||||
sql select first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, '1', '1', '1')
|
||||
sql select first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, '1.1', '1.1', '1.1')
|
||||
sql select first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, '1e1', '1e1', '1e1')
|
||||
sql select first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, '1e', '1e1')
|
||||
# fill quoted values into bool column will throw error unless the value is 'true' or 'false' Note:2018-10-24
|
||||
# fill values into binary or nchar columns will be set to NULL automatically Note:2018-10-24
|
||||
sql select first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, '1e', '1e1','1e1')
|
||||
sql select first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, true, true, true)
|
||||
sql select first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 'true', 'true', 'true')
|
||||
sql select first(c7), first(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 'true', 'true','true')
|
||||
|
||||
# fill nonarithmetic values into arithmetic fields
|
||||
sql_error select count(*) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, abc);
|
||||
sql select count(*) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 'true');
|
||||
sql_error select count(*) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 'abc');
|
||||
sql_error select count(*) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 'true');
|
||||
|
||||
sql select _wstart, count(*) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, '2e1');
|
||||
$val = $rowNum * 2
|
||||
$val = $val - 1
|
||||
if $rows != $val then
|
||||
return -1
|
||||
endi
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
#if $data11 != 20 then
|
||||
# return -1
|
||||
#endi
|
||||
sql_error select _wstart, count(*) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, '2e1');
|
||||
|
||||
sql select _wstart, count(*) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 2e1);
|
||||
if $rows != $val then
|
||||
return -1
|
||||
endi
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data11 != 20 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql select _wstart, count(*) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, '20');
|
||||
sql select _wstart, count(*) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, 20);
|
||||
if $rows != $val then
|
||||
return -1
|
||||
endi
|
||||
|
@ -377,23 +355,23 @@ endi
|
|||
## NULL fill
|
||||
print fill(NULL)
|
||||
print select _wstart, max(c1), min(c2), avg(c3), sum(c4), count(c5), first(c7), last(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu and t1 > 4 partition by t1 interval(5m) fill(value, NULL) limit 5
|
||||
sql select _wstart, max(c1), min(c2), avg(c3), sum(c4), count(c5), first(c7), last(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu and t1 > 4 partition by t1 interval(5m) fill(value, NULL) limit 5
|
||||
sql select _wstart, max(c1), min(c2), avg(c3), sum(c4), count(c5), first(c7), last(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu and t1 > 4 partition by t1 interval(5m) fill(NULL) limit 5
|
||||
if $rows != 25 then
|
||||
return -1
|
||||
endi
|
||||
if $data01 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 0 then
|
||||
if $data02 != NULL then
|
||||
return -1
|
||||
endi
|
||||
if $data06 != 1 then
|
||||
return -1
|
||||
endi
|
||||
if $data11 != 0 then
|
||||
if $data11 != NULL then
|
||||
return -1
|
||||
endi
|
||||
if $data12 != 0 then
|
||||
if $data12 != NULL then
|
||||
return -1
|
||||
endi
|
||||
if $data18 != NULL then
|
||||
|
|
|
@ -68,12 +68,8 @@ print ================= TD-5931
|
|||
sql create stable st5931(ts timestamp, f int) tags(t int)
|
||||
sql create table ct5931 using st5931 tags(1)
|
||||
sql create table nt5931(ts timestamp, f int)
|
||||
sql select interp(*) from nt5931 where ts=now
|
||||
sql select interp(*) from st5931 where ts=now
|
||||
sql select interp(*) from ct5931 where ts=now
|
||||
|
||||
if $rows != 0 then
|
||||
return -1
|
||||
endi
|
||||
sql_error select interp(*) from nt5931 where ts=now
|
||||
sql_error select interp(*) from st5931 where ts=now
|
||||
sql_error select interp(*) from ct5931 where ts=now
|
||||
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -80,7 +80,7 @@ endi
|
|||
sql_error select count(*) from $stb where t1 like 1
|
||||
|
||||
##### aggregation on tb + where + fill + limit offset
|
||||
sql select _wstart, max(c1) from $tb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -2) limit 10 offset 1
|
||||
sql select _wstart, max(c1) from $tb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1) limit 10 offset 1
|
||||
if $rows != 10 then
|
||||
return -1
|
||||
endi
|
||||
|
@ -101,32 +101,26 @@ if $data91 != 5 then
|
|||
endi
|
||||
|
||||
$tb5 = $tbPrefix . 5
|
||||
sql select max(c1), min(c2) from $tb5 where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -2, -3, -4) limit 10 offset 1
|
||||
sql select max(c1), min(c2) from $tb5 where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -2) limit 10 offset 1
|
||||
if $rows != 10 then
|
||||
return -1
|
||||
endi
|
||||
if $data00 != @18-09-17 09:05:00.000@ then
|
||||
if $data00 != -1 then
|
||||
return -1
|
||||
endi
|
||||
if $data01 != -1 then
|
||||
if $data01 != -2 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != -2 then
|
||||
if $data10 != 1 then
|
||||
return -1
|
||||
endi
|
||||
if $data11 != 1 then
|
||||
if $data11 != -2 then
|
||||
return -1
|
||||
endi
|
||||
if $data12 != -2 then
|
||||
if $data90 != 5 then
|
||||
return -1
|
||||
endi
|
||||
if $data90 != @18-09-17 09:50:00.000@ then
|
||||
return -1
|
||||
endi
|
||||
if $data91 != 5 then
|
||||
return -1
|
||||
endi
|
||||
if $data92 != -2 then
|
||||
if $data91 != -2 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
|
@ -135,7 +129,7 @@ endi
|
|||
$tb = $tbPrefix . 0
|
||||
$limit = $rowNum
|
||||
$offset = $limit / 2
|
||||
sql select max(c1), min(c2), sum(c3), avg(c4), stddev(c5), spread(c6), first(c7), last(c8), first(c9) from $tb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -2) limit $limit offset $offset
|
||||
sql select max(c1), min(c2), sum(c3), avg(c4), stddev(c5), spread(c6), first(c7), last(c8), first(c9) from $tb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -2 ,-3, -4 , -5, -6 ,-7 ,'-8', '-9') limit $limit offset $offset
|
||||
if $rows != $limit then
|
||||
print expect $limit, actual $rows
|
||||
return -1
|
||||
|
@ -143,11 +137,8 @@ endi
|
|||
if $data01 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data11 != -1 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql select max(c1) from lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(value, -1000, -2) limit 8200
|
||||
sql select max(c1) from lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(value, -1000) limit 8200
|
||||
if $rows != 8200 then
|
||||
return -1
|
||||
endi
|
||||
|
@ -155,88 +146,56 @@ endi
|
|||
sql select max(c1) from lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(value, -1000) limit 100000;
|
||||
|
||||
|
||||
sql select max(c1) from lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(value, -1000, -2) limit 10 offset 8190;
|
||||
sql select max(c1) from lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(value, -1000) limit 10 offset 8190;
|
||||
if $rows != 10 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data00 != @18-10-15 19:30:00.000@ then
|
||||
if $data00 != 5 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data01 != 5 then
|
||||
if $data10 != -1000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data10 != @18-10-15 19:35:00.000@ then
|
||||
if $data20 != 6 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data11 != -1000 then
|
||||
if $data30 != -1000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data20 != @18-10-15 19:40:00.000@ then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data21 != 6 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data30 != @18-10-15 19:45:00.000@ then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data31 != -1000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql select max(c1) from lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(value, -1000, -2) limit 10 offset 10001;
|
||||
sql select max(c1) from lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(value, -1000) limit 10 offset 10001;
|
||||
if $rows != 10 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data00 != @18-10-22 02:25:00.000@ then
|
||||
if $data00 != -1000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data01 != -1000 then
|
||||
if $data10 != 1 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data10 != @18-10-22 02:30:00.000@ then
|
||||
if $data20 != -1000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data11 != 1 then
|
||||
if $data30 != 2 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data20 != @18-10-22 02:35:00.000@ then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data21 != -1000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data30 != @18-10-22 02:40:00.000@ then
|
||||
return -1
|
||||
endi
|
||||
|
||||
if $data31 != 2 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql select max(c1) from lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(value, -1000, -2) limit 10000 offset 10001;
|
||||
sql select max(c1) from lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(value, -1000) limit 10000 offset 10001;
|
||||
print ====> needs to validate the last row result
|
||||
if $rows != 9998 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
|
||||
sql select max(c1) from lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(value, -1000, -2) limit 100 offset 20001;
|
||||
sql select max(c1) from lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(value, -1000) limit 100 offset 20001;
|
||||
if $rows != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
@ -244,7 +203,7 @@ endi
|
|||
# tb + interval + fill(linear) + limit offset
|
||||
$limit = $rowNum
|
||||
$offset = $limit / 2
|
||||
sql select max(c1), min(c2), sum(c3), avg(c4), stddev(c5), spread(c6), first(c7), last(c8), first(c9) from $tb where ts >= $ts0 and ts <= $tsu interval(5m) fill(linear) limit $limit offset $offset
|
||||
sql select _wstart,max(c1), min(c2), sum(c3), avg(c4), stddev(c5), spread(c6), first(c7), last(c8), first(c9) from $tb where ts >= $ts0 and ts <= $tsu interval(5m) fill(linear) limit $limit offset $offset
|
||||
if $rows != $limit then
|
||||
print expect $limit, actual $rows
|
||||
return -1
|
||||
|
@ -290,7 +249,7 @@ endi
|
|||
$limit = $rowNum
|
||||
$offset = $limit / 2
|
||||
$offset = $offset + 10
|
||||
sql select max(c1), min(c2), sum(c3), avg(c4), stddev(c5), spread(c6), first(c7), last(c8), first(c9) from $tb where ts >= $ts0 and ts <= $tsu and c1 = 5 interval(5m) fill(value, -1, -2) limit $limit offset $offset
|
||||
sql select _wstart,max(c1), min(c2), sum(c3), avg(c4), stddev(c5), spread(c6), first(c7), last(c8), first(c9) from $tb where ts >= $ts0 and ts <= $tsu and c1 = 5 interval(5m) fill(value, -1, -2 ,-3, -4 , -5, -6 ,-7 ,'-8', '-9') limit $limit offset $offset
|
||||
if $rows != $limit then
|
||||
return -1
|
||||
endi
|
||||
|
@ -324,20 +283,11 @@ endi
|
|||
if $data19 != NULL then
|
||||
return -1
|
||||
endi
|
||||
if $data16 != -2.000000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data17 != 1 then
|
||||
return -1
|
||||
endi
|
||||
if $data11 != -1 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$limit = $rowNum
|
||||
$offset = $limit * 2
|
||||
$offset = $offset - 11
|
||||
sql select max(c1), min(c2), sum(c3), avg(c4), stddev(c5), spread(c6), first(c7), last(c8), first(c9) from $tb where ts >= $ts0 and ts <= $tsu and c1 = 5 interval(5m) fill(value, -1, -2) limit $limit offset $offset
|
||||
sql select _wstart,max(c1), min(c2), sum(c3), avg(c4), stddev(c5), spread(c6), first(c7), last(c8), first(c9) from $tb where ts >= $ts0 and ts <= $tsu and c1 = 5 interval(5m) fill(value, -1, -2 ,-3, -4 , -5, -6 ,-7 ,'-8', '-9') limit $limit offset $offset
|
||||
if $rows != 10 then
|
||||
return -1
|
||||
endi
|
||||
|
@ -368,27 +318,21 @@ endi
|
|||
if $data19 != nchar5 then
|
||||
return -1
|
||||
endi
|
||||
if $data27 != 1 then
|
||||
return -1
|
||||
endi
|
||||
if $data38 != NULL then
|
||||
return -1
|
||||
endi
|
||||
if $data49 != NULL then
|
||||
return -1
|
||||
endi
|
||||
|
||||
### [TBASE-350]
|
||||
## stb + interval + fill + group by + limit offset
|
||||
sql select max(c1), min(c2), sum(c3), avg(c4), first(c7), last(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -2) group by t1 limit 2 offset 10
|
||||
if $rows != 20 then
|
||||
sql select max(c1), min(c2), sum(c3), avg(c4), first(c7), last(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu partition by t1 interval(5m) fill(value, -1, -2, -3, -4 ,-7 ,'-8', '-9') limit 2 offset 10
|
||||
if $rows != 2 then
|
||||
return -1
|
||||
endi
|
||||
#add one more test case
|
||||
sql select max(c1), last(c8) from lm2_db0.lm2_tb0 where ts >= 1537146000000 and ts <= 1543145400000 interval(5m) fill(linear) limit 10 offset 4089;"
|
||||
|
||||
|
||||
$limit = 5
|
||||
$offset = $rowNum * 2
|
||||
$offset = $offset - 2
|
||||
sql select max(c1), min(c2), sum(c3), avg(c4), first(c7), last(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu interval(5m) fill(value, -1, -2) group by t1 order by t1 limit $limit offset $offset
|
||||
sql select max(c1), min(c2), sum(c3), avg(c4), first(c7), last(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu partition by t1 interval(5m) fill(value, -1, -2, -3, -4 ,-7 ,'-8', '-9') order by t1 limit $limit offset $offset
|
||||
if $rows != $tbNum then
|
||||
return -1
|
||||
endi
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
###################################################################
|
||||
# Copyright (c) 2016 by TAOS Technologies, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is proprietary and confidential to TAOS Technologies.
|
||||
# No part of this file may be reproduced, stored, transmitted,
|
||||
# disclosed or used in any form or by any means other than as
|
||||
# expressly provided by the written permission from Jianhui Tao
|
||||
#
|
||||
###################################################################
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
||||
import math
|
||||
from util.log import *
|
||||
from util.cases import *
|
||||
from util.sql import *
|
||||
from util.common import *
|
||||
from util.sqlset import *
|
||||
import time
|
||||
import datetime
|
||||
class TDTestCase:
|
||||
def init(self, conn, logSql, replicaVar=1):
|
||||
self.replicaVar = int(replicaVar)
|
||||
tdLog.debug("start to execute %s" % __file__)
|
||||
tdSql.init(conn.cursor())
|
||||
self.timestamp_ms = int(round(time.time()*1000))
|
||||
self.timestamp_us = int(round(time.time()*1000000))
|
||||
self.timestamp_ns = int(time.time_ns())
|
||||
self.ms_boundary = 31556995200000
|
||||
self.us_boundary = 31556995200000000
|
||||
self.ns_boundary = 9214646400000000000
|
||||
self.ntbname = 'ntb'
|
||||
self.stbname = 'stb'
|
||||
self.ctbname = 'ctb'
|
||||
def insert_check(self,timestamp,tbname):
|
||||
tdSql.execute(f'insert into {tbname} values({timestamp},1)')
|
||||
tdSql.query(f'select * from {tbname} where ts = {timestamp}')
|
||||
tdSql.checkEqual(tdSql.queryResult[0][1],1)
|
||||
tdSql.execute('flush database db')
|
||||
tdSql.query(f'select * from {tbname} where ts = {timestamp}')
|
||||
tdSql.checkEqual(tdSql.queryResult[0][1],1)
|
||||
tdSql.execute(f'insert into {tbname} values({timestamp},2)')
|
||||
tdSql.query(f'select * from {tbname} where ts = {timestamp}')
|
||||
tdSql.checkEqual(tdSql.queryResult[0][1],2)
|
||||
tdSql.execute('flush database db')
|
||||
tdSql.query(f'select * from {tbname} where ts = {timestamp}')
|
||||
tdSql.checkEqual(tdSql.queryResult[0][1],2)
|
||||
tdSql.execute(f'delete from {tbname} where ts = {timestamp}')
|
||||
tdSql.query(f'select * from {tbname} where ts = {timestamp}')
|
||||
tdSql.checkRows(0)
|
||||
tdSql.execute('flush database db')
|
||||
tdSql.query(f'select * from {tbname} where ts = {timestamp}')
|
||||
tdSql.checkRows(0)
|
||||
|
||||
def insert_ms(self):
|
||||
tdSql.prepare()
|
||||
tdSql.execute('use db')
|
||||
tdSql.execute(f'create table {self.ntbname} (ts timestamp,c0 int)')
|
||||
timestamp = random.randint(self.timestamp_ms,self.ms_boundary-1)
|
||||
self.insert_check(timestamp,self.ntbname)
|
||||
self.insert_check(self.ms_boundary,self.ntbname)
|
||||
tdSql.error(f'insert into {self.ntbname} values({self.ms_boundary+1},1)')
|
||||
tdSql.execute(f'create table {self.stbname} (ts timestamp,c0 int) tags(t0 int)')
|
||||
tdSql.execute(f'create table {self.ctbname} using {self.stbname} tags (1)')
|
||||
self.insert_check(timestamp,self.ctbname)
|
||||
self.insert_check(self.ms_boundary,self.ctbname)
|
||||
tdSql.error(f'insert into {self.ctbname} values({self.ms_boundary+1},1)')
|
||||
def insert_us(self):
|
||||
tdSql.execute('create database db1 precision "us"')
|
||||
tdSql.execute('use db1')
|
||||
tdSql.execute(f'create table {self.ntbname} (ts timestamp,c0 int)')
|
||||
timestamp = random.randint(self.timestamp_us,self.us_boundary-1)
|
||||
self.insert_check(timestamp,self.ntbname)
|
||||
self.insert_check(self.us_boundary,self.ntbname)
|
||||
tdSql.error(f'insert into {self.ntbname} values({self.us_boundary+1},1)')
|
||||
tdSql.execute(f'create table {self.stbname} (ts timestamp,c0 int) tags(t0 int)')
|
||||
tdSql.execute(f'create table {self.ctbname} using {self.stbname} tags (1)')
|
||||
self.insert_check(timestamp,self.ctbname)
|
||||
self.insert_check(self.us_boundary,self.ctbname)
|
||||
tdSql.error(f'insert into {self.ctbname} values({self.us_boundary+1},1)')
|
||||
def insert_ns(self):
|
||||
tdSql.execute('create database db2 precision "ns"')
|
||||
tdSql.execute('use db2')
|
||||
tdSql.execute(f'create table {self.ntbname} (ts timestamp,c0 int)')
|
||||
timestamp = random.randint(self.timestamp_ns,self.ns_boundary-1)
|
||||
self.insert_check(timestamp,self.ntbname)
|
||||
self.insert_check(self.ns_boundary,self.ntbname)
|
||||
tdSql.error(f'insert into {self.ntbname} values({self.ns_boundary+1},1)')
|
||||
tdSql.execute(f'create table {self.stbname} (ts timestamp,c0 int) tags(t0 int)')
|
||||
tdSql.execute(f'create table {self.ctbname} using {self.stbname} tags (1)')
|
||||
self.insert_check(timestamp,self.ctbname)
|
||||
self.insert_check(self.ns_boundary,self.ctbname)
|
||||
tdSql.error(f'insert into {self.ctbname} values({self.ns_boundary+1},1)')
|
||||
def run(self):
|
||||
self.insert_ms()
|
||||
self.insert_us()
|
||||
self.insert_ns()
|
||||
pass
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
Loading…
Reference in New Issue