1. lock not released when return
2. fix tsma err msg 3. fix fill prev wrong results
This commit is contained in:
parent
6532b8a534
commit
882cfb7deb
|
@ -914,6 +914,7 @@ int32_t taosGetErrSize();
|
|||
#define TSDB_CODE_TSMA_UNSUPPORTED_FUNC TAOS_DEF_ERROR_CODE(0, 0x3109)
|
||||
#define TSDB_CODE_TSMA_MUST_BE_DROPPED TAOS_DEF_ERROR_CODE(0, 0x3110)
|
||||
#define TSDB_CODE_TSMA_NAME_TOO_LONG TAOS_DEF_ERROR_CODE(0, 0x3111)
|
||||
#define TSDB_CODE_TSMA_INVALID_RECURSIVE_INTERVAL TAOS_DEF_ERROR_CODE(0, 0x3112)
|
||||
|
||||
//rsma
|
||||
#define TSDB_CODE_RSMA_INVALID_ENV TAOS_DEF_ERROR_CODE(0, 0x3150)
|
||||
|
|
|
@ -957,6 +957,7 @@ int32_t loadMemTombData(SArray** ppMemDelData, STbData* pMemTbData, STbData* piM
|
|||
if (p->version <= ver) {
|
||||
void* px = taosArrayPush(pMemDelData, p);
|
||||
if (px == NULL) {
|
||||
taosRUnLockLatch(&pMemTbData->lock);
|
||||
return terrno;
|
||||
}
|
||||
}
|
||||
|
@ -1430,4 +1431,4 @@ bool overlapWithDelSkylineWithoutVer(STableBlockScanInfo* pBlockScanInfo, const
|
|||
|
||||
return doCheckDatablockOverlapWithoutVersion(pBlockScanInfo, pRecord, index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -331,8 +331,9 @@ static void copyCurrentRowIntoBuf(SFillInfo* pFillInfo, int32_t rowIndex, SRowVa
|
|||
for (int32_t i = 0; i < pFillInfo->numOfCols; ++i) {
|
||||
int32_t type = pFillInfo->pFillCol[i].pExpr->pExpr->nodeType;
|
||||
if (type == QUERY_NODE_COLUMN || type == QUERY_NODE_OPERATOR || type == QUERY_NODE_FUNCTION) {
|
||||
if (!pFillInfo->pFillCol[i].notFillCol && pFillInfo->type != TSDB_FILL_NEXT) {
|
||||
continue;
|
||||
if (!pFillInfo->pFillCol[i].notFillCol) {
|
||||
if (FILL_IS_ASC_FILL(pFillInfo) && pFillInfo->type != TSDB_FILL_NEXT) continue;
|
||||
if (!FILL_IS_ASC_FILL(pFillInfo) && pFillInfo->type != TSDB_FILL_PREV) continue;
|
||||
}
|
||||
int32_t srcSlotId = GET_DEST_SLOT_ID(&pFillInfo->pFillCol[i]);
|
||||
|
||||
|
|
|
@ -11864,7 +11864,7 @@ static int32_t buildCreateTSMAReq(STranslateContext* pCxt, SCreateTSMAStmt* pStm
|
|||
if (checkRecursiveTsmaInterval(pRecursiveTsma->interval, pRecursiveTsma->unit, pInterval->datum.i,
|
||||
pInterval->unit, pDbInfo.precision, true)) {
|
||||
} else {
|
||||
code = TSDB_CODE_TSMA_INVALID_INTERVAL;
|
||||
code = TSDB_CODE_TSMA_INVALID_RECURSIVE_INTERVAL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -759,6 +759,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_TSMA_INVALID_FUNC_PARAM, "Invalid tsma func p
|
|||
TAOS_DEFINE_ERROR(TSDB_CODE_TSMA_UNSUPPORTED_FUNC, "Tsma func not supported")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_TSMA_MUST_BE_DROPPED, "Tsma must be dropped first")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_TSMA_NAME_TOO_LONG, "Tsma name too long")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_TSMA_INVALID_RECURSIVE_INTERVAL,"Invalid recursive tsma interval")
|
||||
|
||||
//rsma
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_RSMA_INVALID_ENV, "Invalid rsma env")
|
||||
|
|
|
@ -1476,18 +1476,18 @@ class TDTestCase:
|
|||
tdSql.error(sql, -2147473920) # syntax error
|
||||
|
||||
sql = 'create recursive tsma tsma2 on test.tsma1 interval(1m)'
|
||||
tdSql.error(sql, -2147471097) # invalid tsma interval
|
||||
tdSql.error(sql, -2147471086) # invalid tsma interval
|
||||
|
||||
sql = 'create recursive tsma tsma2 on test.tsma1 interval(7m)'
|
||||
tdSql.error(sql, -2147471097) # invalid tsma interval
|
||||
tdSql.error(sql, -2147471086) # invalid tsma interval
|
||||
|
||||
sql = 'create recursive tsma tsma2 on test.tsma1 interval(11m)'
|
||||
tdSql.error(sql, -2147471097) # invalid tsma interval
|
||||
tdSql.error(sql, -2147471086) # invalid tsma interval
|
||||
|
||||
self.create_recursive_tsma('tsma1', 'tsma2', 'test', '20m', 'meters')
|
||||
|
||||
sql = 'create recursive tsma tsma3 on test.tsma2 interval(30m)'
|
||||
tdSql.error(sql, -2147471097) # invalid tsma interval
|
||||
tdSql.error(sql, -2147471086) # invalid tsma interval
|
||||
|
||||
self.create_recursive_tsma('tsma2', 'tsma3', 'test', '40m', 'meters')
|
||||
|
||||
|
|
|
@ -852,7 +852,7 @@ class TDTestCase:
|
|||
]
|
||||
tdSql.execute('use db')
|
||||
for (i, ri, ret) in examples:
|
||||
self.test_create_recursive_tsma_interval(db, tb, func, i, ri, ret, -2147471097)
|
||||
self.test_create_recursive_tsma_interval(db, tb, func, i, ri, ret, -2147471086)
|
||||
|
||||
self.create_tsma('tsma1', db, tb, func, '1h')
|
||||
self.create_recursive_tsma('tsma1', 'tsma2', db, '1n', tb, func)
|
||||
|
|
Loading…
Reference in New Issue