fix(query)[TD-32861]. fix that WHERE condition not work with INTERP function
Previously, a statement with INTERP would force underlying TABLE SCAN operator to scan all data within the RANGE clause, causing the time range constraint in the WHERE condition to be ignored. This fix ensures that the TABLE SCAN respects both the RANGE clause and WHERE condition, improving query accuracy and performance.
This commit is contained in:
parent
59c755b7b1
commit
f5c66cec19
|
@ -250,6 +250,7 @@ typedef struct SQueryTableDataCond {
|
|||
int32_t type; // data block load type:
|
||||
bool skipRollup;
|
||||
STimeWindow twindows;
|
||||
STimeWindow extTwindows[2];
|
||||
int64_t startVersion;
|
||||
int64_t endVersion;
|
||||
bool notLoadData; // response the actual data, not only the rows in the attribute of info.row of ssdatablock
|
||||
|
|
|
@ -1134,7 +1134,12 @@ static int32_t getCurrentBlockInfo(SDataBlockIter* pBlockIter, SFileDataBlockInf
|
|||
*pInfo = NULL;
|
||||
|
||||
size_t num = TARRAY_SIZE(pBlockIter->blockList);
|
||||
TSDB_CHECK_CONDITION(num != 0, code, lino, _end, TSDB_CODE_INVALID_PARA);
|
||||
if (num == 0) {
|
||||
// Some callers would attempt to call this function. Filter out certain normal cases and return directly to avoid
|
||||
// generating excessive unnecessary error logs.
|
||||
TSDB_CHECK_CONDITION(num == pBlockIter->numOfBlocks, code, lino, _end, TSDB_CODE_INVALID_PARA);
|
||||
return TSDB_CODE_INVALID_PARA;
|
||||
}
|
||||
|
||||
*pInfo = taosArrayGet(pBlockIter->blockList, pBlockIter->index);
|
||||
TSDB_CHECK_NULL(*pInfo, code, lino, _end, TSDB_CODE_INVALID_PARA);
|
||||
|
@ -5530,12 +5535,10 @@ int32_t tsdbReaderOpen2(void* pVnode, SQueryTableDataCond* pCond, void* pTableLi
|
|||
// update the SQueryTableDataCond to create inner reader
|
||||
int32_t order = pCond->order;
|
||||
if (order == TSDB_ORDER_ASC) {
|
||||
pCond->twindows.ekey = window.skey - 1;
|
||||
pCond->twindows.skey = INT64_MIN;
|
||||
pCond->twindows = pCond->extTwindows[0];
|
||||
pCond->order = TSDB_ORDER_DESC;
|
||||
} else {
|
||||
pCond->twindows.skey = window.ekey + 1;
|
||||
pCond->twindows.ekey = INT64_MAX;
|
||||
pCond->twindows = pCond->extTwindows[1];
|
||||
pCond->order = TSDB_ORDER_ASC;
|
||||
}
|
||||
|
||||
|
@ -5544,11 +5547,9 @@ int32_t tsdbReaderOpen2(void* pVnode, SQueryTableDataCond* pCond, void* pTableLi
|
|||
TSDB_CHECK_CODE(code, lino, _end);
|
||||
|
||||
if (order == TSDB_ORDER_ASC) {
|
||||
pCond->twindows.skey = window.ekey + 1;
|
||||
pCond->twindows.ekey = INT64_MAX;
|
||||
pCond->twindows = pCond->extTwindows[1];
|
||||
} else {
|
||||
pCond->twindows.skey = INT64_MIN;
|
||||
pCond->twindows.ekey = window.ekey - 1;
|
||||
pCond->twindows = pCond->extTwindows[0];
|
||||
}
|
||||
pCond->order = order;
|
||||
|
||||
|
|
|
@ -1131,6 +1131,47 @@ static int32_t extractPkColumnFromFuncs(SNodeList* pFuncs, bool* pHasPk, SColumn
|
|||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Determine the actual time range for reading data based on the RANGE clause and the WHERE conditions.
|
||||
* @param[in] cond The range specified by WHERE condition.
|
||||
* @param[in] range The range specified by RANGE clause.
|
||||
* @param[out] twindow The range to be read in DESC order, and only one record is needed.
|
||||
* @param[out] extTwindow The external range to read for only one record, which is used for FILL clause.
|
||||
* @note `cond` and `twindow` may be the same address.
|
||||
*/
|
||||
static int32_t getQueryExtWindow(const STimeWindow* cond, const STimeWindow* range, STimeWindow* twindow,
|
||||
STimeWindow* extTwindows) {
|
||||
int32_t code = TSDB_CODE_SUCCESS;
|
||||
int32_t lino = 0;
|
||||
STimeWindow tempWindow;
|
||||
|
||||
if (cond->skey > cond->ekey || range->skey > range->ekey) {
|
||||
*twindow = extTwindows[0] = extTwindows[1] = TSWINDOW_DESC_INITIALIZER;
|
||||
return code;
|
||||
}
|
||||
|
||||
if (range->ekey < cond->skey) {
|
||||
extTwindows[1] = *cond;
|
||||
*twindow = extTwindows[0] = TSWINDOW_DESC_INITIALIZER;
|
||||
return code;
|
||||
}
|
||||
|
||||
if (cond->ekey < range->skey) {
|
||||
extTwindows[0] = *cond;
|
||||
*twindow = extTwindows[1] = TSWINDOW_DESC_INITIALIZER;
|
||||
return code;
|
||||
}
|
||||
|
||||
// Only scan data in the time range intersecion.
|
||||
extTwindows[0] = extTwindows[1] = *cond;
|
||||
twindow->skey = TMAX(cond->skey, range->skey);
|
||||
twindow->ekey = TMIN(cond->ekey, range->ekey);
|
||||
extTwindows[0].ekey = twindow->skey - 1;
|
||||
extTwindows[1].skey = twindow->ekey + 1;
|
||||
|
||||
return code;
|
||||
}
|
||||
|
||||
int32_t createTimeSliceOperatorInfo(SOperatorInfo* downstream, SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) {
|
||||
QRY_PARAM_CHECK(pOptrInfo);
|
||||
|
||||
|
@ -1206,8 +1247,10 @@ int32_t createTimeSliceOperatorInfo(SOperatorInfo* downstream, SPhysiNode* pPhyN
|
|||
|
||||
if (downstream->operatorType == QUERY_NODE_PHYSICAL_PLAN_TABLE_SCAN) {
|
||||
STableScanInfo* pScanInfo = (STableScanInfo*)downstream->info;
|
||||
pScanInfo->base.cond.twindows = pInfo->win;
|
||||
pScanInfo->base.cond.type = TIMEWINDOW_RANGE_EXTERNAL;
|
||||
SQueryTableDataCond *cond = &pScanInfo->base.cond;
|
||||
cond->type = TIMEWINDOW_RANGE_EXTERNAL;
|
||||
code = getQueryExtWindow(&cond->twindows, &pInfo->win, &cond->twindows, cond->extTwindows);
|
||||
QUERY_CHECK_CODE(code, lino, _error);
|
||||
}
|
||||
|
||||
setOperatorInfo(pOperator, "TimeSliceOperator", QUERY_NODE_PHYSICAL_PLAN_INTERP_FUNC, false, OP_NOT_OPENED, pInfo,
|
||||
|
|
|
@ -366,3 +366,652 @@ taos> select _irowts as irowts ,tbname as table_name, c2 as c_c2, c3 as c_c3, _i
|
|||
2020-02-01 00:00:16.000 | td32727 | 10 | 10 | true | 1 |
|
||||
2020-02-01 00:00:16.000 | td32727 | 15 | 15 | true | 1 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-02 00:00:00' and '2020-01-01 00:00:00' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(null);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-02 00:00:00' and '2020-01-01 00:00:00' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(value, 1);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-02 00:00:00' and '2020-01-01 00:00:00' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(prev);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-02 00:00:00' and '2020-01-01 00:00:00' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(next);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-02 00:00:00' and '2020-01-01 00:00:00' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(linear);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-02 00:00:00' range('2020-01-01 00:00:30', '2020-01-01 00:00:00') every(1s) fill(null);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-02 00:00:00' range('2020-01-01 00:00:30', '2020-01-01 00:00:00') every(1s) fill(value, 1);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-02 00:00:00' range('2020-01-01 00:00:30', '2020-01-01 00:00:00') every(1s) fill(prev);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-02 00:00:00' range('2020-01-01 00:00:30', '2020-01-01 00:00:00') every(1s) fill(next);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-02 00:00:00' range('2020-01-01 00:00:30', '2020-01-01 00:00:00') every(1s) fill(linear);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:20' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(null);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:20' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(value, 1);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:20' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(prev);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:20' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(next);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:20' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(linear);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(null);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
2020-01-01 00:00:22.000 | true | NULL |
|
||||
2020-01-01 00:00:23.000 | true | NULL |
|
||||
2020-01-01 00:00:24.000 | true | NULL |
|
||||
2020-01-01 00:00:25.000 | true | NULL |
|
||||
2020-01-01 00:00:26.000 | true | NULL |
|
||||
2020-01-01 00:00:27.000 | true | NULL |
|
||||
2020-01-01 00:00:28.000 | true | NULL |
|
||||
2020-01-01 00:00:29.000 | true | NULL |
|
||||
2020-01-01 00:00:30.000 | true | NULL |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(value, 1);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
2020-01-01 00:00:22.000 | true | 1 |
|
||||
2020-01-01 00:00:23.000 | true | 1 |
|
||||
2020-01-01 00:00:24.000 | true | 1 |
|
||||
2020-01-01 00:00:25.000 | true | 1 |
|
||||
2020-01-01 00:00:26.000 | true | 1 |
|
||||
2020-01-01 00:00:27.000 | true | 1 |
|
||||
2020-01-01 00:00:28.000 | true | 1 |
|
||||
2020-01-01 00:00:29.000 | true | 1 |
|
||||
2020-01-01 00:00:30.000 | true | 1 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(prev);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
2020-01-01 00:00:22.000 | true | 21 |
|
||||
2020-01-01 00:00:23.000 | true | 21 |
|
||||
2020-01-01 00:00:24.000 | true | 21 |
|
||||
2020-01-01 00:00:25.000 | true | 21 |
|
||||
2020-01-01 00:00:26.000 | true | 21 |
|
||||
2020-01-01 00:00:27.000 | true | 21 |
|
||||
2020-01-01 00:00:28.000 | true | 21 |
|
||||
2020-01-01 00:00:29.000 | true | 21 |
|
||||
2020-01-01 00:00:30.000 | true | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(next);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(linear);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:15', '2020-01-01 00:00:30') every(1s) fill(null);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | NULL |
|
||||
2020-01-01 00:00:17.000 | true | NULL |
|
||||
2020-01-01 00:00:18.000 | true | NULL |
|
||||
2020-01-01 00:00:19.000 | true | NULL |
|
||||
2020-01-01 00:00:20.000 | true | NULL |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
2020-01-01 00:00:22.000 | true | NULL |
|
||||
2020-01-01 00:00:23.000 | true | NULL |
|
||||
2020-01-01 00:00:24.000 | true | NULL |
|
||||
2020-01-01 00:00:25.000 | true | NULL |
|
||||
2020-01-01 00:00:26.000 | true | NULL |
|
||||
2020-01-01 00:00:27.000 | true | NULL |
|
||||
2020-01-01 00:00:28.000 | true | NULL |
|
||||
2020-01-01 00:00:29.000 | true | NULL |
|
||||
2020-01-01 00:00:30.000 | true | NULL |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:15', '2020-01-01 00:00:30') every(1s) fill(value, 1);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 1 |
|
||||
2020-01-01 00:00:17.000 | true | 1 |
|
||||
2020-01-01 00:00:18.000 | true | 1 |
|
||||
2020-01-01 00:00:19.000 | true | 1 |
|
||||
2020-01-01 00:00:20.000 | true | 1 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
2020-01-01 00:00:22.000 | true | 1 |
|
||||
2020-01-01 00:00:23.000 | true | 1 |
|
||||
2020-01-01 00:00:24.000 | true | 1 |
|
||||
2020-01-01 00:00:25.000 | true | 1 |
|
||||
2020-01-01 00:00:26.000 | true | 1 |
|
||||
2020-01-01 00:00:27.000 | true | 1 |
|
||||
2020-01-01 00:00:28.000 | true | 1 |
|
||||
2020-01-01 00:00:29.000 | true | 1 |
|
||||
2020-01-01 00:00:30.000 | true | 1 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:15', '2020-01-01 00:00:30') every(1s) fill(prev);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 15 |
|
||||
2020-01-01 00:00:17.000 | true | 15 |
|
||||
2020-01-01 00:00:18.000 | true | 15 |
|
||||
2020-01-01 00:00:19.000 | true | 15 |
|
||||
2020-01-01 00:00:20.000 | true | 15 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
2020-01-01 00:00:22.000 | true | 21 |
|
||||
2020-01-01 00:00:23.000 | true | 21 |
|
||||
2020-01-01 00:00:24.000 | true | 21 |
|
||||
2020-01-01 00:00:25.000 | true | 21 |
|
||||
2020-01-01 00:00:26.000 | true | 21 |
|
||||
2020-01-01 00:00:27.000 | true | 21 |
|
||||
2020-01-01 00:00:28.000 | true | 21 |
|
||||
2020-01-01 00:00:29.000 | true | 21 |
|
||||
2020-01-01 00:00:30.000 | true | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:15', '2020-01-01 00:00:30') every(1s) fill(next);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 21 |
|
||||
2020-01-01 00:00:17.000 | true | 21 |
|
||||
2020-01-01 00:00:18.000 | true | 21 |
|
||||
2020-01-01 00:00:19.000 | true | 21 |
|
||||
2020-01-01 00:00:20.000 | true | 21 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:15', '2020-01-01 00:00:30') every(1s) fill(linear);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 16 |
|
||||
2020-01-01 00:00:17.000 | true | 17 |
|
||||
2020-01-01 00:00:18.000 | true | 18 |
|
||||
2020-01-01 00:00:19.000 | true | 19 |
|
||||
2020-01-01 00:00:20.000 | true | 20 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(null);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | false | 0 |
|
||||
2020-01-01 00:00:01.000 | false | 1 |
|
||||
2020-01-01 00:00:02.000 | true | NULL |
|
||||
2020-01-01 00:00:03.000 | false | 3 |
|
||||
2020-01-01 00:00:04.000 | true | NULL |
|
||||
2020-01-01 00:00:05.000 | true | NULL |
|
||||
2020-01-01 00:00:06.000 | false | 6 |
|
||||
2020-01-01 00:00:07.000 | true | NULL |
|
||||
2020-01-01 00:00:08.000 | true | NULL |
|
||||
2020-01-01 00:00:09.000 | true | NULL |
|
||||
2020-01-01 00:00:10.000 | false | 10 |
|
||||
2020-01-01 00:00:11.000 | true | NULL |
|
||||
2020-01-01 00:00:12.000 | true | NULL |
|
||||
2020-01-01 00:00:13.000 | true | NULL |
|
||||
2020-01-01 00:00:14.000 | true | NULL |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | NULL |
|
||||
2020-01-01 00:00:17.000 | true | NULL |
|
||||
2020-01-01 00:00:18.000 | true | NULL |
|
||||
2020-01-01 00:00:19.000 | true | NULL |
|
||||
2020-01-01 00:00:20.000 | true | NULL |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
2020-01-01 00:00:22.000 | true | NULL |
|
||||
2020-01-01 00:00:23.000 | true | NULL |
|
||||
2020-01-01 00:00:24.000 | true | NULL |
|
||||
2020-01-01 00:00:25.000 | true | NULL |
|
||||
2020-01-01 00:00:26.000 | true | NULL |
|
||||
2020-01-01 00:00:27.000 | true | NULL |
|
||||
2020-01-01 00:00:28.000 | true | NULL |
|
||||
2020-01-01 00:00:29.000 | true | NULL |
|
||||
2020-01-01 00:00:30.000 | true | NULL |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(value, 1);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | false | 0 |
|
||||
2020-01-01 00:00:01.000 | false | 1 |
|
||||
2020-01-01 00:00:02.000 | true | 1 |
|
||||
2020-01-01 00:00:03.000 | false | 3 |
|
||||
2020-01-01 00:00:04.000 | true | 1 |
|
||||
2020-01-01 00:00:05.000 | true | 1 |
|
||||
2020-01-01 00:00:06.000 | false | 6 |
|
||||
2020-01-01 00:00:07.000 | true | 1 |
|
||||
2020-01-01 00:00:08.000 | true | 1 |
|
||||
2020-01-01 00:00:09.000 | true | 1 |
|
||||
2020-01-01 00:00:10.000 | false | 10 |
|
||||
2020-01-01 00:00:11.000 | true | 1 |
|
||||
2020-01-01 00:00:12.000 | true | 1 |
|
||||
2020-01-01 00:00:13.000 | true | 1 |
|
||||
2020-01-01 00:00:14.000 | true | 1 |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 1 |
|
||||
2020-01-01 00:00:17.000 | true | 1 |
|
||||
2020-01-01 00:00:18.000 | true | 1 |
|
||||
2020-01-01 00:00:19.000 | true | 1 |
|
||||
2020-01-01 00:00:20.000 | true | 1 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
2020-01-01 00:00:22.000 | true | 1 |
|
||||
2020-01-01 00:00:23.000 | true | 1 |
|
||||
2020-01-01 00:00:24.000 | true | 1 |
|
||||
2020-01-01 00:00:25.000 | true | 1 |
|
||||
2020-01-01 00:00:26.000 | true | 1 |
|
||||
2020-01-01 00:00:27.000 | true | 1 |
|
||||
2020-01-01 00:00:28.000 | true | 1 |
|
||||
2020-01-01 00:00:29.000 | true | 1 |
|
||||
2020-01-01 00:00:30.000 | true | 1 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(prev);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | false | 0 |
|
||||
2020-01-01 00:00:01.000 | false | 1 |
|
||||
2020-01-01 00:00:02.000 | true | 1 |
|
||||
2020-01-01 00:00:03.000 | false | 3 |
|
||||
2020-01-01 00:00:04.000 | true | 3 |
|
||||
2020-01-01 00:00:05.000 | true | 3 |
|
||||
2020-01-01 00:00:06.000 | false | 6 |
|
||||
2020-01-01 00:00:07.000 | true | 6 |
|
||||
2020-01-01 00:00:08.000 | true | 6 |
|
||||
2020-01-01 00:00:09.000 | true | 6 |
|
||||
2020-01-01 00:00:10.000 | false | 10 |
|
||||
2020-01-01 00:00:11.000 | true | 10 |
|
||||
2020-01-01 00:00:12.000 | true | 10 |
|
||||
2020-01-01 00:00:13.000 | true | 10 |
|
||||
2020-01-01 00:00:14.000 | true | 10 |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 15 |
|
||||
2020-01-01 00:00:17.000 | true | 15 |
|
||||
2020-01-01 00:00:18.000 | true | 15 |
|
||||
2020-01-01 00:00:19.000 | true | 15 |
|
||||
2020-01-01 00:00:20.000 | true | 15 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
2020-01-01 00:00:22.000 | true | 21 |
|
||||
2020-01-01 00:00:23.000 | true | 21 |
|
||||
2020-01-01 00:00:24.000 | true | 21 |
|
||||
2020-01-01 00:00:25.000 | true | 21 |
|
||||
2020-01-01 00:00:26.000 | true | 21 |
|
||||
2020-01-01 00:00:27.000 | true | 21 |
|
||||
2020-01-01 00:00:28.000 | true | 21 |
|
||||
2020-01-01 00:00:29.000 | true | 21 |
|
||||
2020-01-01 00:00:30.000 | true | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(next);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | false | 0 |
|
||||
2020-01-01 00:00:01.000 | false | 1 |
|
||||
2020-01-01 00:00:02.000 | true | 3 |
|
||||
2020-01-01 00:00:03.000 | false | 3 |
|
||||
2020-01-01 00:00:04.000 | true | 6 |
|
||||
2020-01-01 00:00:05.000 | true | 6 |
|
||||
2020-01-01 00:00:06.000 | false | 6 |
|
||||
2020-01-01 00:00:07.000 | true | 10 |
|
||||
2020-01-01 00:00:08.000 | true | 10 |
|
||||
2020-01-01 00:00:09.000 | true | 10 |
|
||||
2020-01-01 00:00:10.000 | false | 10 |
|
||||
2020-01-01 00:00:11.000 | true | 15 |
|
||||
2020-01-01 00:00:12.000 | true | 15 |
|
||||
2020-01-01 00:00:13.000 | true | 15 |
|
||||
2020-01-01 00:00:14.000 | true | 15 |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 21 |
|
||||
2020-01-01 00:00:17.000 | true | 21 |
|
||||
2020-01-01 00:00:18.000 | true | 21 |
|
||||
2020-01-01 00:00:19.000 | true | 21 |
|
||||
2020-01-01 00:00:20.000 | true | 21 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(linear);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | false | 0 |
|
||||
2020-01-01 00:00:01.000 | false | 1 |
|
||||
2020-01-01 00:00:02.000 | true | 2 |
|
||||
2020-01-01 00:00:03.000 | false | 3 |
|
||||
2020-01-01 00:00:04.000 | true | 4 |
|
||||
2020-01-01 00:00:05.000 | true | 5 |
|
||||
2020-01-01 00:00:06.000 | false | 6 |
|
||||
2020-01-01 00:00:07.000 | true | 7 |
|
||||
2020-01-01 00:00:08.000 | true | 8 |
|
||||
2020-01-01 00:00:09.000 | true | 9 |
|
||||
2020-01-01 00:00:10.000 | false | 10 |
|
||||
2020-01-01 00:00:11.000 | true | 11 |
|
||||
2020-01-01 00:00:12.000 | true | 12 |
|
||||
2020-01-01 00:00:13.000 | true | 13 |
|
||||
2020-01-01 00:00:14.000 | true | 14 |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 16 |
|
||||
2020-01-01 00:00:17.000 | true | 17 |
|
||||
2020-01-01 00:00:18.000 | true | 18 |
|
||||
2020-01-01 00:00:19.000 | true | 19 |
|
||||
2020-01-01 00:00:20.000 | true | 20 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(null);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | false | 0 |
|
||||
2020-01-01 00:00:01.000 | false | 1 |
|
||||
2020-01-01 00:00:02.000 | true | NULL |
|
||||
2020-01-01 00:00:03.000 | false | 3 |
|
||||
2020-01-01 00:00:04.000 | true | NULL |
|
||||
2020-01-01 00:00:05.000 | true | NULL |
|
||||
2020-01-01 00:00:06.000 | false | 6 |
|
||||
2020-01-01 00:00:07.000 | true | NULL |
|
||||
2020-01-01 00:00:08.000 | true | NULL |
|
||||
2020-01-01 00:00:09.000 | true | NULL |
|
||||
2020-01-01 00:00:10.000 | false | 10 |
|
||||
2020-01-01 00:00:11.000 | true | NULL |
|
||||
2020-01-01 00:00:12.000 | true | NULL |
|
||||
2020-01-01 00:00:13.000 | true | NULL |
|
||||
2020-01-01 00:00:14.000 | true | NULL |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | NULL |
|
||||
2020-01-01 00:00:17.000 | true | NULL |
|
||||
2020-01-01 00:00:18.000 | true | NULL |
|
||||
2020-01-01 00:00:19.000 | true | NULL |
|
||||
2020-01-01 00:00:20.000 | true | NULL |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(value, 1);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | false | 0 |
|
||||
2020-01-01 00:00:01.000 | false | 1 |
|
||||
2020-01-01 00:00:02.000 | true | 1 |
|
||||
2020-01-01 00:00:03.000 | false | 3 |
|
||||
2020-01-01 00:00:04.000 | true | 1 |
|
||||
2020-01-01 00:00:05.000 | true | 1 |
|
||||
2020-01-01 00:00:06.000 | false | 6 |
|
||||
2020-01-01 00:00:07.000 | true | 1 |
|
||||
2020-01-01 00:00:08.000 | true | 1 |
|
||||
2020-01-01 00:00:09.000 | true | 1 |
|
||||
2020-01-01 00:00:10.000 | false | 10 |
|
||||
2020-01-01 00:00:11.000 | true | 1 |
|
||||
2020-01-01 00:00:12.000 | true | 1 |
|
||||
2020-01-01 00:00:13.000 | true | 1 |
|
||||
2020-01-01 00:00:14.000 | true | 1 |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 1 |
|
||||
2020-01-01 00:00:17.000 | true | 1 |
|
||||
2020-01-01 00:00:18.000 | true | 1 |
|
||||
2020-01-01 00:00:19.000 | true | 1 |
|
||||
2020-01-01 00:00:20.000 | true | 1 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(prev);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | false | 0 |
|
||||
2020-01-01 00:00:01.000 | false | 1 |
|
||||
2020-01-01 00:00:02.000 | true | 1 |
|
||||
2020-01-01 00:00:03.000 | false | 3 |
|
||||
2020-01-01 00:00:04.000 | true | 3 |
|
||||
2020-01-01 00:00:05.000 | true | 3 |
|
||||
2020-01-01 00:00:06.000 | false | 6 |
|
||||
2020-01-01 00:00:07.000 | true | 6 |
|
||||
2020-01-01 00:00:08.000 | true | 6 |
|
||||
2020-01-01 00:00:09.000 | true | 6 |
|
||||
2020-01-01 00:00:10.000 | false | 10 |
|
||||
2020-01-01 00:00:11.000 | true | 10 |
|
||||
2020-01-01 00:00:12.000 | true | 10 |
|
||||
2020-01-01 00:00:13.000 | true | 10 |
|
||||
2020-01-01 00:00:14.000 | true | 10 |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 15 |
|
||||
2020-01-01 00:00:17.000 | true | 15 |
|
||||
2020-01-01 00:00:18.000 | true | 15 |
|
||||
2020-01-01 00:00:19.000 | true | 15 |
|
||||
2020-01-01 00:00:20.000 | true | 15 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(next);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | false | 0 |
|
||||
2020-01-01 00:00:01.000 | false | 1 |
|
||||
2020-01-01 00:00:02.000 | true | 3 |
|
||||
2020-01-01 00:00:03.000 | false | 3 |
|
||||
2020-01-01 00:00:04.000 | true | 6 |
|
||||
2020-01-01 00:00:05.000 | true | 6 |
|
||||
2020-01-01 00:00:06.000 | false | 6 |
|
||||
2020-01-01 00:00:07.000 | true | 10 |
|
||||
2020-01-01 00:00:08.000 | true | 10 |
|
||||
2020-01-01 00:00:09.000 | true | 10 |
|
||||
2020-01-01 00:00:10.000 | false | 10 |
|
||||
2020-01-01 00:00:11.000 | true | 15 |
|
||||
2020-01-01 00:00:12.000 | true | 15 |
|
||||
2020-01-01 00:00:13.000 | true | 15 |
|
||||
2020-01-01 00:00:14.000 | true | 15 |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 21 |
|
||||
2020-01-01 00:00:17.000 | true | 21 |
|
||||
2020-01-01 00:00:18.000 | true | 21 |
|
||||
2020-01-01 00:00:19.000 | true | 21 |
|
||||
2020-01-01 00:00:20.000 | true | 21 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(linear);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | false | 0 |
|
||||
2020-01-01 00:00:01.000 | false | 1 |
|
||||
2020-01-01 00:00:02.000 | true | 2 |
|
||||
2020-01-01 00:00:03.000 | false | 3 |
|
||||
2020-01-01 00:00:04.000 | true | 4 |
|
||||
2020-01-01 00:00:05.000 | true | 5 |
|
||||
2020-01-01 00:00:06.000 | false | 6 |
|
||||
2020-01-01 00:00:07.000 | true | 7 |
|
||||
2020-01-01 00:00:08.000 | true | 8 |
|
||||
2020-01-01 00:00:09.000 | true | 9 |
|
||||
2020-01-01 00:00:10.000 | false | 10 |
|
||||
2020-01-01 00:00:11.000 | true | 11 |
|
||||
2020-01-01 00:00:12.000 | true | 12 |
|
||||
2020-01-01 00:00:13.000 | true | 13 |
|
||||
2020-01-01 00:00:14.000 | true | 14 |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 16 |
|
||||
2020-01-01 00:00:17.000 | true | 17 |
|
||||
2020-01-01 00:00:18.000 | true | 18 |
|
||||
2020-01-01 00:00:19.000 | true | 19 |
|
||||
2020-01-01 00:00:20.000 | true | 20 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:15' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(null);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | true | NULL |
|
||||
2020-01-01 00:00:01.000 | true | NULL |
|
||||
2020-01-01 00:00:02.000 | true | NULL |
|
||||
2020-01-01 00:00:03.000 | true | NULL |
|
||||
2020-01-01 00:00:04.000 | true | NULL |
|
||||
2020-01-01 00:00:05.000 | true | NULL |
|
||||
2020-01-01 00:00:06.000 | true | NULL |
|
||||
2020-01-01 00:00:07.000 | true | NULL |
|
||||
2020-01-01 00:00:08.000 | true | NULL |
|
||||
2020-01-01 00:00:09.000 | true | NULL |
|
||||
2020-01-01 00:00:10.000 | true | NULL |
|
||||
2020-01-01 00:00:11.000 | true | NULL |
|
||||
2020-01-01 00:00:12.000 | true | NULL |
|
||||
2020-01-01 00:00:13.000 | true | NULL |
|
||||
2020-01-01 00:00:14.000 | true | NULL |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | NULL |
|
||||
2020-01-01 00:00:17.000 | true | NULL |
|
||||
2020-01-01 00:00:18.000 | true | NULL |
|
||||
2020-01-01 00:00:19.000 | true | NULL |
|
||||
2020-01-01 00:00:20.000 | true | NULL |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:15' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(value, 1);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | true | 1 |
|
||||
2020-01-01 00:00:01.000 | true | 1 |
|
||||
2020-01-01 00:00:02.000 | true | 1 |
|
||||
2020-01-01 00:00:03.000 | true | 1 |
|
||||
2020-01-01 00:00:04.000 | true | 1 |
|
||||
2020-01-01 00:00:05.000 | true | 1 |
|
||||
2020-01-01 00:00:06.000 | true | 1 |
|
||||
2020-01-01 00:00:07.000 | true | 1 |
|
||||
2020-01-01 00:00:08.000 | true | 1 |
|
||||
2020-01-01 00:00:09.000 | true | 1 |
|
||||
2020-01-01 00:00:10.000 | true | 1 |
|
||||
2020-01-01 00:00:11.000 | true | 1 |
|
||||
2020-01-01 00:00:12.000 | true | 1 |
|
||||
2020-01-01 00:00:13.000 | true | 1 |
|
||||
2020-01-01 00:00:14.000 | true | 1 |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 1 |
|
||||
2020-01-01 00:00:17.000 | true | 1 |
|
||||
2020-01-01 00:00:18.000 | true | 1 |
|
||||
2020-01-01 00:00:19.000 | true | 1 |
|
||||
2020-01-01 00:00:20.000 | true | 1 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:15' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(prev);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 15 |
|
||||
2020-01-01 00:00:17.000 | true | 15 |
|
||||
2020-01-01 00:00:18.000 | true | 15 |
|
||||
2020-01-01 00:00:19.000 | true | 15 |
|
||||
2020-01-01 00:00:20.000 | true | 15 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:15' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(next);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | true | 15 |
|
||||
2020-01-01 00:00:01.000 | true | 15 |
|
||||
2020-01-01 00:00:02.000 | true | 15 |
|
||||
2020-01-01 00:00:03.000 | true | 15 |
|
||||
2020-01-01 00:00:04.000 | true | 15 |
|
||||
2020-01-01 00:00:05.000 | true | 15 |
|
||||
2020-01-01 00:00:06.000 | true | 15 |
|
||||
2020-01-01 00:00:07.000 | true | 15 |
|
||||
2020-01-01 00:00:08.000 | true | 15 |
|
||||
2020-01-01 00:00:09.000 | true | 15 |
|
||||
2020-01-01 00:00:10.000 | true | 15 |
|
||||
2020-01-01 00:00:11.000 | true | 15 |
|
||||
2020-01-01 00:00:12.000 | true | 15 |
|
||||
2020-01-01 00:00:13.000 | true | 15 |
|
||||
2020-01-01 00:00:14.000 | true | 15 |
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 21 |
|
||||
2020-01-01 00:00:17.000 | true | 21 |
|
||||
2020-01-01 00:00:18.000 | true | 21 |
|
||||
2020-01-01 00:00:19.000 | true | 21 |
|
||||
2020-01-01 00:00:20.000 | true | 21 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:15' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(linear);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:15.000 | false | 15 |
|
||||
2020-01-01 00:00:16.000 | true | 16 |
|
||||
2020-01-01 00:00:17.000 | true | 17 |
|
||||
2020-01-01 00:00:18.000 | true | 18 |
|
||||
2020-01-01 00:00:19.000 | true | 19 |
|
||||
2020-01-01 00:00:20.000 | true | 20 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:21' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(null);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | true | NULL |
|
||||
2020-01-01 00:00:01.000 | true | NULL |
|
||||
2020-01-01 00:00:02.000 | true | NULL |
|
||||
2020-01-01 00:00:03.000 | true | NULL |
|
||||
2020-01-01 00:00:04.000 | true | NULL |
|
||||
2020-01-01 00:00:05.000 | true | NULL |
|
||||
2020-01-01 00:00:06.000 | true | NULL |
|
||||
2020-01-01 00:00:07.000 | true | NULL |
|
||||
2020-01-01 00:00:08.000 | true | NULL |
|
||||
2020-01-01 00:00:09.000 | true | NULL |
|
||||
2020-01-01 00:00:10.000 | true | NULL |
|
||||
2020-01-01 00:00:11.000 | true | NULL |
|
||||
2020-01-01 00:00:12.000 | true | NULL |
|
||||
2020-01-01 00:00:13.000 | true | NULL |
|
||||
2020-01-01 00:00:14.000 | true | NULL |
|
||||
2020-01-01 00:00:15.000 | true | NULL |
|
||||
2020-01-01 00:00:16.000 | true | NULL |
|
||||
2020-01-01 00:00:17.000 | true | NULL |
|
||||
2020-01-01 00:00:18.000 | true | NULL |
|
||||
2020-01-01 00:00:19.000 | true | NULL |
|
||||
2020-01-01 00:00:20.000 | true | NULL |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:21' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(value, 1);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | true | 1 |
|
||||
2020-01-01 00:00:01.000 | true | 1 |
|
||||
2020-01-01 00:00:02.000 | true | 1 |
|
||||
2020-01-01 00:00:03.000 | true | 1 |
|
||||
2020-01-01 00:00:04.000 | true | 1 |
|
||||
2020-01-01 00:00:05.000 | true | 1 |
|
||||
2020-01-01 00:00:06.000 | true | 1 |
|
||||
2020-01-01 00:00:07.000 | true | 1 |
|
||||
2020-01-01 00:00:08.000 | true | 1 |
|
||||
2020-01-01 00:00:09.000 | true | 1 |
|
||||
2020-01-01 00:00:10.000 | true | 1 |
|
||||
2020-01-01 00:00:11.000 | true | 1 |
|
||||
2020-01-01 00:00:12.000 | true | 1 |
|
||||
2020-01-01 00:00:13.000 | true | 1 |
|
||||
2020-01-01 00:00:14.000 | true | 1 |
|
||||
2020-01-01 00:00:15.000 | true | 1 |
|
||||
2020-01-01 00:00:16.000 | true | 1 |
|
||||
2020-01-01 00:00:17.000 | true | 1 |
|
||||
2020-01-01 00:00:18.000 | true | 1 |
|
||||
2020-01-01 00:00:19.000 | true | 1 |
|
||||
2020-01-01 00:00:20.000 | true | 1 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:21' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(prev);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:21' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(next);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:00.000 | true | 21 |
|
||||
2020-01-01 00:00:01.000 | true | 21 |
|
||||
2020-01-01 00:00:02.000 | true | 21 |
|
||||
2020-01-01 00:00:03.000 | true | 21 |
|
||||
2020-01-01 00:00:04.000 | true | 21 |
|
||||
2020-01-01 00:00:05.000 | true | 21 |
|
||||
2020-01-01 00:00:06.000 | true | 21 |
|
||||
2020-01-01 00:00:07.000 | true | 21 |
|
||||
2020-01-01 00:00:08.000 | true | 21 |
|
||||
2020-01-01 00:00:09.000 | true | 21 |
|
||||
2020-01-01 00:00:10.000 | true | 21 |
|
||||
2020-01-01 00:00:11.000 | true | 21 |
|
||||
2020-01-01 00:00:12.000 | true | 21 |
|
||||
2020-01-01 00:00:13.000 | true | 21 |
|
||||
2020-01-01 00:00:14.000 | true | 21 |
|
||||
2020-01-01 00:00:15.000 | true | 21 |
|
||||
2020-01-01 00:00:16.000 | true | 21 |
|
||||
2020-01-01 00:00:17.000 | true | 21 |
|
||||
2020-01-01 00:00:18.000 | true | 21 |
|
||||
2020-01-01 00:00:19.000 | true | 21 |
|
||||
2020-01-01 00:00:20.000 | true | 21 |
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:21' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(linear);
|
||||
_irowts | _isfilled | interp(c1) |
|
||||
====================================================
|
||||
2020-01-01 00:00:21.000 | false | 21 |
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:22' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(null);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:22' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(value, 1);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:22' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(prev);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:22' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(next);
|
||||
|
||||
taos> select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:22' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(linear);
|
||||
|
||||
|
|
|
|
@ -13,3 +13,53 @@ select _irowts as irowts ,tbname as table_name, c2 as c_c2, c3 as c_c3, _isfille
|
|||
select _irowts as irowts ,tbname as table_name, c2 as c_c2, c3 as c_c3, _isfilled as isfilled , interp(c1) as intp_c1 from test.td32727 partition by tbname,c2,c3 range('2020-02-01 00:00:04', '2020-02-01 00:00:16') every(1s) fill (prev) order by irowts, c2, c3;
|
||||
select _irowts as irowts ,tbname as table_name, c2 as c_c2, c3 as c_c3, _isfilled as isfilled , interp(c1) as intp_c1 from test.td32727 partition by tbname,c2,c3 range('2020-02-01 00:00:04', '2020-02-01 00:00:16') every(1s) fill (linear) order by irowts, c2, c3;
|
||||
select _irowts as irowts ,tbname as table_name, c2 as c_c2, c3 as c_c3, _isfilled as isfilled , interp(c1) as intp_c1 from test.td32727 partition by tbname,c2,c3 range('2020-02-01 00:00:04', '2020-02-01 00:00:16') every(1s) fill (value, 1) order by irowts, c2, c3;
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-02 00:00:00' and '2020-01-01 00:00:00' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(null);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-02 00:00:00' and '2020-01-01 00:00:00' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(value, 1);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-02 00:00:00' and '2020-01-01 00:00:00' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(prev);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-02 00:00:00' and '2020-01-01 00:00:00' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(next);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-02 00:00:00' and '2020-01-01 00:00:00' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(linear);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-02 00:00:00' range('2020-01-01 00:00:30', '2020-01-01 00:00:00') every(1s) fill(null);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-02 00:00:00' range('2020-01-01 00:00:30', '2020-01-01 00:00:00') every(1s) fill(value, 1);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-02 00:00:00' range('2020-01-01 00:00:30', '2020-01-01 00:00:00') every(1s) fill(prev);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-02 00:00:00' range('2020-01-01 00:00:30', '2020-01-01 00:00:00') every(1s) fill(next);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-02 00:00:00' range('2020-01-01 00:00:30', '2020-01-01 00:00:00') every(1s) fill(linear);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:20' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(null);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:20' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(value, 1);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:20' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(prev);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:20' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(next);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:20' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(linear);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(null);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(value, 1);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(prev);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(next);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:21', '2020-01-01 00:00:30') every(1s) fill(linear);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:15', '2020-01-01 00:00:30') every(1s) fill(null);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:15', '2020-01-01 00:00:30') every(1s) fill(value, 1);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:15', '2020-01-01 00:00:30') every(1s) fill(prev);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:15', '2020-01-01 00:00:30') every(1s) fill(next);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:15', '2020-01-01 00:00:30') every(1s) fill(linear);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(null);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(value, 1);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(prev);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(next);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:21' range('2020-01-01 00:00:00', '2020-01-01 00:00:30') every(1s) fill(linear);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(null);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(value, 1);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(prev);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(next);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:00' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(linear);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:15' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(null);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:15' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(value, 1);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:15' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(prev);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:15' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(next);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:15' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(linear);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:21' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(null);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:21' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(value, 1);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:21' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(prev);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:21' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(next);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:21' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(linear);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:22' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(null);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:22' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(value, 1);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:22' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(prev);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:22' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(next);
|
||||
select _irowts, _isfilled, interp(c1) from test.td32861 where ts between '2020-01-01 00:00:22' and '2020-01-01 00:00:30' range('2020-01-01 00:00:00', '2020-01-01 00:00:21') every(1s) fill(linear);
|
||||
|
|
|
@ -38,6 +38,7 @@ class TDTestCase(TBase):
|
|||
(ts timestamp, c0 tinyint, c1 smallint, c2 int, c3 bigint, c4 double, c5 float, c6 bool, c7 varchar(10), c8 nchar(10), c9 tinyint unsigned, c10 smallint unsigned, c11 int unsigned, c12 bigint unsigned)
|
||||
'''
|
||||
)
|
||||
tdSql.execute("create table if not exists test.td32861(ts timestamp, c1 int);")
|
||||
|
||||
tdLog.printNoPrefix("==========step2:insert data")
|
||||
|
||||
|
@ -45,6 +46,16 @@ class TDTestCase(TBase):
|
|||
tdSql.execute(f"insert into test.td32727 values ('2020-02-01 00:00:10', 10, 10, 10, 10, 10.0, 10.0, true, 'varchar', 'nchar', 10, 10, 10, 10)")
|
||||
tdSql.execute(f"insert into test.td32727 values ('2020-02-01 00:00:15', 15, 15, 15, 15, 15.0, 15.0, true, 'varchar', 'nchar', 15, 15, 15, 15)")
|
||||
|
||||
tdSql.execute(
|
||||
"""insert into test.td32861 values
|
||||
('2020-01-01 00:00:00', 0),
|
||||
('2020-01-01 00:00:01', 1),
|
||||
('2020-01-01 00:00:03', 3),
|
||||
('2020-01-01 00:00:06', 6),
|
||||
('2020-01-01 00:00:10', 10),
|
||||
('2020-01-01 00:00:15', 15),
|
||||
('2020-01-01 00:00:21', 21);"""
|
||||
)
|
||||
|
||||
def test_normal_query_new(self, testCase):
|
||||
# read sql from .sql file and execute
|
||||
|
|
Loading…
Reference in New Issue