fix: add error test case and fix address sanitizer
This commit is contained in:
parent
efe480ae14
commit
5ca39f961c
|
@ -1615,17 +1615,18 @@ static int32_t getStbRowValues(SInsertParseContext* pCxt, SVnodeModifyOpStmt* pS
|
|||
}
|
||||
else if (pCols->pColIndex[i] == getTbnameSchemaIndex(pStbRowsCxt->pStbMeta)) {
|
||||
SColVal tbnameVal = COL_VAL_NONE(-1, TSDB_DATA_TYPE_BINARY);
|
||||
tbnameVal.value.val = 0;
|
||||
code = parseValueToken(pCxt, ppSql, pToken, (SSchema*)tGetTbnameColumnSchema(),
|
||||
getTableInfo(pStbRowsCxt->pStbMeta).precision, &tbnameVal);
|
||||
if (code == TSDB_CODE_SUCCESS && COL_VAL_IS_VALUE(&tbnameVal)) {
|
||||
if (code == TSDB_CODE_SUCCESS && COL_VAL_IS_VALUE(&tbnameVal) && tbnameVal.value.nData>0) {
|
||||
tNameSetDbName(&pStbRowsCxt->ctbName, pStbRowsCxt->stbName.acctId, pStbRowsCxt->stbName.dbname, strlen(pStbRowsCxt->stbName.dbname));
|
||||
char ctbName[TSDB_TABLE_NAME_LEN];
|
||||
memcpy(ctbName, tbnameVal.value.pData, tbnameVal.value.nData);
|
||||
ctbName[tbnameVal.value.nData] = '\0';
|
||||
tNameAddTbName(&pStbRowsCxt->ctbName, ctbName, tbnameVal.value.nData);
|
||||
bFoundTbName = true;
|
||||
taosMemoryFreeClear(tbnameVal.value.pData);
|
||||
}
|
||||
taosMemoryFreeClear(tbnameVal.value.pData);
|
||||
}
|
||||
|
||||
if (code == TSDB_CODE_SUCCESS && i < pCols->numOfBound - 1) {
|
||||
|
@ -2061,11 +2062,6 @@ static int32_t parseInsertStbClauseBottom(SInsertParseContext* pCxt, SVnodeModif
|
|||
code = parseDataClause(pCxt, pStmt, rowsDataCxt);
|
||||
}
|
||||
|
||||
if (code != TSDB_CODE_SUCCESS) {
|
||||
destroyStbRowsDataContext(pStbRowsCxt);
|
||||
taosMemoryFreeClear(pStbRowsCxt);
|
||||
}
|
||||
|
||||
return code;
|
||||
}
|
||||
|
||||
|
|
|
@ -37,4 +37,10 @@ print $rows
|
|||
if $rows != 4 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql_error insert into d2.st values(now, 1, 1)
|
||||
sql_error insert into d2.st(ts, f) values(now, 1);
|
||||
sql_error insert into d2.st(ts, f, tbname) values(now, 1);
|
||||
sql_error insert into d2.st(ts, f, tbname) values(now, 1, '');
|
||||
sql_error insert into d2.st(ts, tbname) values(now, 1, 34)
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||
|
|
Loading…
Reference in New Issue