From 80707cd59205fa18965d5485d6fef39248a9020a Mon Sep 17 00:00:00 2001 From: kailixu Date: Fri, 12 Apr 2024 10:42:41 +0800 Subject: [PATCH 1/2] fix: primary key column check for stb insert --- source/libs/parser/src/parInsertSql.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/libs/parser/src/parInsertSql.c b/source/libs/parser/src/parInsertSql.c index f3192b4956..700cfff0b7 100644 --- a/source/libs/parser/src/parInsertSql.c +++ b/source/libs/parser/src/parInsertSql.c @@ -1965,7 +1965,7 @@ static int32_t parseOneStbRow(SInsertParseContext* pCxt, SVnodeModifyOpStmt* pSt clearStbRowsDataContext(pStbRowsCxt); - return TSDB_CODE_SUCCESS; + return code; } static int parseOneRow(SInsertParseContext* pCxt, const char** pSql, STableDataCxt* pTableCxt, bool* pGotRow, From 4da12faf2969c2ca8494cfb4d2ae6896a749f5b9 Mon Sep 17 00:00:00 2001 From: kailixu Date: Fri, 12 Apr 2024 10:53:43 +0800 Subject: [PATCH 2/2] enh: error process for stb insert --- source/libs/parser/src/parInsertSql.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/libs/parser/src/parInsertSql.c b/source/libs/parser/src/parInsertSql.c index 700cfff0b7..9829528d92 100644 --- a/source/libs/parser/src/parInsertSql.c +++ b/source/libs/parser/src/parInsertSql.c @@ -1945,10 +1945,14 @@ static int32_t parseOneStbRow(SInsertParseContext* pCxt, SVnodeModifyOpStmt* pSt if (code == TSDB_CODE_SUCCESS && bFirstTable) { code = processCtbAutoCreationAndCtbMeta(pCxt, pStmt, pStbRowsCxt); } - - code = insGetTableDataCxt(pStmt->pTableBlockHashObj, &pStbRowsCxt->pCtbMeta->uid, sizeof(pStbRowsCxt->pCtbMeta->uid), - pStbRowsCxt->pCtbMeta, &pStbRowsCxt->pCreateCtbReq, ppTableDataCxt, false, true); - initTableColSubmitData(*ppTableDataCxt); + if (code == TSDB_CODE_SUCCESS) { + code = + insGetTableDataCxt(pStmt->pTableBlockHashObj, &pStbRowsCxt->pCtbMeta->uid, sizeof(pStbRowsCxt->pCtbMeta->uid), + pStbRowsCxt->pCtbMeta, &pStbRowsCxt->pCreateCtbReq, ppTableDataCxt, false, true); + } + if (code == TSDB_CODE_SUCCESS) { + code = initTableColSubmitData(*ppTableDataCxt); + } if (code == TSDB_CODE_SUCCESS) { SRow** pRow = taosArrayReserve((*ppTableDataCxt)->pData->aRowP, 1); code = tRowBuild(pStbRowsCxt->aColVals, (*ppTableDataCxt)->pSchema, pRow);