Merge pull request #19364 from taosdata/enh/3.0_planner_optimize
enh: clear assert and fix coverity scan
This commit is contained in:
commit
c64b5d5bee
|
@ -802,7 +802,7 @@ static void doAsyncQueryFromParse(SMetaData *pResultMeta, void *param, int32_t c
|
||||||
tstrerror(code));
|
tstrerror(code));
|
||||||
|
|
||||||
if (code == TSDB_CODE_SUCCESS) {
|
if (code == TSDB_CODE_SUCCESS) {
|
||||||
//pWrapper->pCatalogReq->forceUpdate = false;
|
// pWrapper->pCatalogReq->forceUpdate = false;
|
||||||
code = qContinueParseSql(pWrapper->pParseCtx, pWrapper->pCatalogReq, pResultMeta, pQuery);
|
code = qContinueParseSql(pWrapper->pParseCtx, pWrapper->pCatalogReq, pResultMeta, pQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -831,8 +831,8 @@ void continueInsertFromCsv(SSqlCallbackWrapper *pWrapper, SRequestObj *pRequest)
|
||||||
tstrerror(code), pWrapper->pRequest->requestId);
|
tstrerror(code), pWrapper->pRequest->requestId);
|
||||||
destorySqlCallbackWrapper(pWrapper);
|
destorySqlCallbackWrapper(pWrapper);
|
||||||
terrno = code;
|
terrno = code;
|
||||||
pWrapper->pRequest->code = code;
|
pRequest->code = code;
|
||||||
pWrapper->pRequest->body.queryFp(pWrapper->pRequest->body.param, pWrapper->pRequest, code);
|
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1379,8 +1379,7 @@ int taos_stmt_get_col_fields(TAOS_STMT *stmt, int *fieldNum, TAOS_FIELD_E **fiel
|
||||||
}
|
}
|
||||||
|
|
||||||
// let stmt to reclaim TAOS_FIELD_E that was allocated by `taos_stmt_get_tag_fields`/`taos_stmt_get_col_fields`
|
// let stmt to reclaim TAOS_FIELD_E that was allocated by `taos_stmt_get_tag_fields`/`taos_stmt_get_col_fields`
|
||||||
void taos_stmt_reclaim_fields(TAOS_STMT *stmt, TAOS_FIELD_E *fields)
|
void taos_stmt_reclaim_fields(TAOS_STMT *stmt, TAOS_FIELD_E *fields) {
|
||||||
{
|
|
||||||
(void)stmt;
|
(void)stmt;
|
||||||
if (!fields) return;
|
if (!fields) return;
|
||||||
taosMemoryFree(fields);
|
taosMemoryFree(fields);
|
||||||
|
|
|
@ -90,10 +90,8 @@ int64_t taosGetIntervalStartTimestamp(int64_t startTime, int64_t slidingTime, in
|
||||||
SName* toName(int32_t acctId, const char* pDbName, const char* pTableName, SName* pName) {
|
SName* toName(int32_t acctId, const char* pDbName, const char* pTableName, SName* pName) {
|
||||||
pName->type = TSDB_TABLE_NAME_T;
|
pName->type = TSDB_TABLE_NAME_T;
|
||||||
pName->acctId = acctId;
|
pName->acctId = acctId;
|
||||||
memset(pName->dbname, 0, TSDB_DB_NAME_LEN);
|
snprintf(pName->dbname, sizeof(pName->dbname), "%s", pDbName);
|
||||||
strncpy(pName->dbname, pDbName, TSDB_DB_NAME_LEN - 1);
|
snprintf(pName->tname, sizeof(pName->tname), "%s", pTableName);
|
||||||
memset(pName->tname, 0, TSDB_TABLE_NAME_LEN);
|
|
||||||
strncpy(pName->tname, pTableName, TSDB_TABLE_NAME_LEN - 1);
|
|
||||||
return pName;
|
return pName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -316,7 +314,7 @@ static int compareKv(const void* p1, const void* p2) {
|
||||||
void buildChildTableName(RandTableName* rName) {
|
void buildChildTableName(RandTableName* rName) {
|
||||||
SStringBuilder sb = {0};
|
SStringBuilder sb = {0};
|
||||||
taosStringBuilderAppendStringLen(&sb, rName->stbFullName, rName->stbFullNameLen);
|
taosStringBuilderAppendStringLen(&sb, rName->stbFullName, rName->stbFullNameLen);
|
||||||
if(sb.buf == NULL) return;
|
if (sb.buf == NULL) return;
|
||||||
taosArraySort(rName->tags, compareKv);
|
taosArraySort(rName->tags, compareKv);
|
||||||
for (int j = 0; j < taosArrayGetSize(rName->tags); ++j) {
|
for (int j = 0; j < taosArrayGetSize(rName->tags); ++j) {
|
||||||
taosStringBuilderAppendChar(&sb, ',');
|
taosStringBuilderAppendChar(&sb, ',');
|
||||||
|
|
|
@ -175,8 +175,6 @@ _end:
|
||||||
|
|
||||||
void taosCleanupKeywordsTable();
|
void taosCleanupKeywordsTable();
|
||||||
|
|
||||||
SToken taosTokenDup(SToken *pToken, char *buf, int32_t len);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1161,6 +1161,7 @@ static int32_t parseValueTokenImpl(SInsertParseContext* pCxt, const char** pSql,
|
||||||
return TSDB_CODE_OUT_OF_MEMORY;
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
}
|
}
|
||||||
if (!taosMbsToUcs4(pToken->z, pToken->n, (TdUcs4*)pUcs4, pSchema->bytes - VARSTR_HEADER_SIZE, &len)) {
|
if (!taosMbsToUcs4(pToken->z, pToken->n, (TdUcs4*)pUcs4, pSchema->bytes - VARSTR_HEADER_SIZE, &len)) {
|
||||||
|
taosMemoryFree(pUcs4);
|
||||||
if (errno == E2BIG) {
|
if (errno == E2BIG) {
|
||||||
return generateSyntaxErrMsg(&pCxt->msg, TSDB_CODE_PAR_VALUE_TOO_LONG, pSchema->name);
|
return generateSyntaxErrMsg(&pCxt->msg, TSDB_CODE_PAR_VALUE_TOO_LONG, pSchema->name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,8 +73,6 @@ int32_t insCreateSName(SName* pName, SToken* pTableName, int32_t acctId, const c
|
||||||
char* p = tableNameGetPosition(pTableName, TS_PATH_DELIMITER[0]);
|
char* p = tableNameGetPosition(pTableName, TS_PATH_DELIMITER[0]);
|
||||||
|
|
||||||
if (p != NULL) { // db has been specified in sql string so we ignore current db path
|
if (p != NULL) { // db has been specified in sql string so we ignore current db path
|
||||||
assert(*p == TS_PATH_DELIMITER[0]);
|
|
||||||
|
|
||||||
int32_t dbLen = p - pTableName->z;
|
int32_t dbLen = p - pTableName->z;
|
||||||
if (dbLen <= 0) {
|
if (dbLen <= 0) {
|
||||||
return buildInvalidOperationMsg(pMsgBuf, msg2);
|
return buildInvalidOperationMsg(pMsgBuf, msg2);
|
||||||
|
@ -106,8 +104,6 @@ int32_t insCreateSName(SName* pName, SToken* pTableName, int32_t acctId, const c
|
||||||
return buildInvalidOperationMsg(pMsgBuf, msg1);
|
return buildInvalidOperationMsg(pMsgBuf, msg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(pTableName->n < TSDB_TABLE_FNAME_LEN);
|
|
||||||
|
|
||||||
char name[TSDB_TABLE_FNAME_LEN] = {0};
|
char name[TSDB_TABLE_FNAME_LEN] = {0};
|
||||||
strncpy(name, pTableName->z, pTableName->n);
|
strncpy(name, pTableName->z, pTableName->n);
|
||||||
strdequote(name);
|
strdequote(name);
|
||||||
|
|
|
@ -715,14 +715,3 @@ void taosCleanupKeywordsTable() {
|
||||||
taosHashCleanup(m);
|
taosHashCleanup(m);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SToken taosTokenDup(SToken* pToken, char* buf, int32_t len) {
|
|
||||||
assert(pToken != NULL && buf != NULL && len > pToken->n);
|
|
||||||
|
|
||||||
strncpy(buf, pToken->z, pToken->n);
|
|
||||||
buf[pToken->n] = 0;
|
|
||||||
|
|
||||||
SToken token = *pToken;
|
|
||||||
token.z = buf;
|
|
||||||
return token;
|
|
||||||
}
|
|
||||||
|
|
|
@ -3902,7 +3902,8 @@ static int32_t checkDbKeepOption(STranslateContext* pCxt, SDatabaseOptions* pOpt
|
||||||
if (pOptions->keep[0] < TSDB_MIN_KEEP || pOptions->keep[1] < TSDB_MIN_KEEP || pOptions->keep[2] < TSDB_MIN_KEEP ||
|
if (pOptions->keep[0] < TSDB_MIN_KEEP || pOptions->keep[1] < TSDB_MIN_KEEP || pOptions->keep[2] < TSDB_MIN_KEEP ||
|
||||||
pOptions->keep[0] > tsdbMaxKeep || pOptions->keep[1] > tsdbMaxKeep || pOptions->keep[2] > tsdbMaxKeep) {
|
pOptions->keep[0] > tsdbMaxKeep || pOptions->keep[1] > tsdbMaxKeep || pOptions->keep[2] > tsdbMaxKeep) {
|
||||||
return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_DB_OPTION,
|
return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_DB_OPTION,
|
||||||
"Invalid option keep: %" PRId64 ", %" PRId64 ", %" PRId64 " valid range: [%dm, %dm]",
|
"Invalid option keep: %" PRId64 ", %" PRId64 ", %" PRId64
|
||||||
|
" valid range: [%dm, %" PRId64 "m]",
|
||||||
pOptions->keep[0], pOptions->keep[1], pOptions->keep[2], TSDB_MIN_KEEP, tsdbMaxKeep);
|
pOptions->keep[0], pOptions->keep[1], pOptions->keep[2], TSDB_MIN_KEEP, tsdbMaxKeep);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5856,6 +5857,7 @@ static int32_t adjustStreamQueryForExistTable(STranslateContext* pCxt, SCreateSt
|
||||||
if (TSDB_CODE_SUCCESS == code) {
|
if (TSDB_CODE_SUCCESS == code) {
|
||||||
code = adjustStreamQueryForExistTableImpl(pCxt, pStmt, pMeta);
|
code = adjustStreamQueryForExistTableImpl(pCxt, pStmt, pMeta);
|
||||||
}
|
}
|
||||||
|
taosMemoryFree(pMeta);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6540,7 +6542,7 @@ static int32_t createOperatorNode(EOperatorType opType, const char* pColName, SN
|
||||||
nodesDestroyNode((SNode*)pOper);
|
nodesDestroyNode((SNode*)pOper);
|
||||||
return TSDB_CODE_OUT_OF_MEMORY;
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
}
|
}
|
||||||
strcpy(((SColumnNode*)pOper->pLeft)->colName, pColName);
|
snprintf(((SColumnNode*)pOper->pLeft)->colName, sizeof(((SColumnNode*)pOper->pLeft)->colName), "%s", pColName);
|
||||||
|
|
||||||
*pOp = (SNode*)pOper;
|
*pOp = (SNode*)pOper;
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
|
|
@ -33,7 +33,6 @@ std::unique_ptr<MockCatalogService> g_mockCatalogService;
|
||||||
class TableBuilder : public ITableBuilder {
|
class TableBuilder : public ITableBuilder {
|
||||||
public:
|
public:
|
||||||
virtual TableBuilder& addColumn(const string& name, int8_t type, int32_t bytes) {
|
virtual TableBuilder& addColumn(const string& name, int8_t type, int32_t bytes) {
|
||||||
assert(colId_ <= schema()->tableInfo.numOfTags + schema()->tableInfo.numOfColumns);
|
|
||||||
SSchema* col = schema()->schema + (colId_ - 1);
|
SSchema* col = schema()->schema + (colId_ - 1);
|
||||||
col->type = type;
|
col->type = type;
|
||||||
col->colId = colId_++;
|
col->colId = colId_++;
|
||||||
|
|
Loading…
Reference in New Issue