fix: tsdb read and tsma _wstart append
This commit is contained in:
parent
b344ad2f5e
commit
f18fc19d76
|
@ -810,7 +810,7 @@ static int32_t tsdbReaderCreate(SVnode* pVnode, SQueryTableDataCond* pCond, STsd
|
|||
|
||||
if (pReader->suppInfo.colId[0] != PRIMARYKEY_TIMESTAMP_COL_ID) {
|
||||
tsdbError("the first column isn't primary timestamp, %d, %s", pReader->suppInfo.colId[0], pReader->idStr);
|
||||
terrno = TSDB_CODE_INVALID_PARA;
|
||||
code = TSDB_CODE_INVALID_PARA;
|
||||
goto _end;
|
||||
}
|
||||
|
||||
|
@ -819,7 +819,7 @@ static int32_t tsdbReaderCreate(SVnode* pVnode, SQueryTableDataCond* pCond, STsd
|
|||
if (type != TSDB_DATA_TYPE_TIMESTAMP) {
|
||||
tsdbError("the first column isn't primary timestamp in result block, actual: %s, %s", tDataTypes[type].name,
|
||||
pReader->idStr);
|
||||
terrno = TSDB_CODE_INVALID_PARA;
|
||||
code = TSDB_CODE_INVALID_PARA;
|
||||
goto _end;
|
||||
}
|
||||
|
||||
|
@ -4506,7 +4506,7 @@ int32_t tsdbReaderOpen(SVnode* pVnode, SQueryTableDataCond* pCond, void* pTableL
|
|||
|
||||
_err:
|
||||
tsdbError("failed to create data reader, code:%s %s", tstrerror(code), idstr);
|
||||
tsdbReaderClose(pReader);
|
||||
tsdbReaderClose(*ppReader);
|
||||
*ppReader = NULL; // reset the pointer value.
|
||||
return code;
|
||||
}
|
||||
|
|
|
@ -1299,6 +1299,7 @@ static int32_t smaIndexOptCreateSmaCols(SNodeList* pFuncs, uint64_t tableId, SNo
|
|||
int32_t code = TSDB_CODE_SUCCESS;
|
||||
int32_t index = 0;
|
||||
int32_t smaFuncIndex = -1;
|
||||
bool hasWStart = false;
|
||||
FOREACH(pFunc, pFuncs) {
|
||||
smaFuncIndex = smaIndexOptFindSmaFunc(pFunc, pSmaFuncs);
|
||||
if (smaFuncIndex < 0) {
|
||||
|
@ -1308,11 +1309,28 @@ static int32_t smaIndexOptCreateSmaCols(SNodeList* pFuncs, uint64_t tableId, SNo
|
|||
if (TSDB_CODE_SUCCESS != code) {
|
||||
break;
|
||||
}
|
||||
if (!hasWStart) {
|
||||
SColumnNode* pTail = (SColumnNode*)pCols->pTail->pNode;
|
||||
if (pTail->colId == PRIMARYKEY_TIMESTAMP_COL_ID && pTail->colType == TSDB_DATA_TYPE_TIMESTAMP) {
|
||||
hasWStart = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
++index;
|
||||
}
|
||||
|
||||
if (TSDB_CODE_SUCCESS == code && smaFuncIndex >= 0) {
|
||||
if (!hasWStart) {
|
||||
SExprNode exprNode;
|
||||
exprNode.resType = ((SExprNode*)pSmaFuncs->pHead->pNode)->resType;
|
||||
sprintf(exprNode.aliasName, "#expr_%d", index + 1);
|
||||
code = nodesListMakeStrictAppend(
|
||||
&pCols, smaIndexOptCreateSmaCol((SNode*)&exprNode, tableId, PRIMARYKEY_TIMESTAMP_COL_ID));
|
||||
if (TSDB_CODE_SUCCESS != code) {
|
||||
nodesDestroyList(pCols);
|
||||
return code;
|
||||
}
|
||||
}
|
||||
*pOutput = pCols;
|
||||
} else {
|
||||
nodesDestroyList(pCols);
|
||||
|
|
Loading…
Reference in New Issue