fix: large file by batches

This commit is contained in:
shenglian zhou 2023-10-25 09:35:37 +08:00
parent c9d1553633
commit 3de5b841a5
1 changed files with 9 additions and 4 deletions

View File

@ -2037,13 +2037,16 @@ static int32_t parseInsertStbClauseBottom(SInsertParseContext* pCxt, SVnodeModif
pStmt->pStbRowsCxt = pStbRowsCxt; pStmt->pStbRowsCxt = pStbRowsCxt;
} }
if (TSDB_CODE_SUCCESS == code) { if (code == TSDB_CODE_SUCCESS) {
SRowsDataContext rowsDataCxt; SRowsDataContext rowsDataCxt;
rowsDataCxt.pStbRowsCxt = pStbRowsCxt; rowsDataCxt.pStbRowsCxt = pStbRowsCxt;
code = parseDataClause(pCxt, pStmt, rowsDataCxt); code = parseDataClause(pCxt, pStmt, rowsDataCxt);
} }
if (code != TSDB_CODE_SUCCESS) {
destroyStbRowsDataContext(pStbRowsCxt); destroyStbRowsDataContext(pStbRowsCxt);
taosMemoryFree(pStbRowsCxt); taosMemoryFreeClear(pStbRowsCxt);
}
return code; return code;
} }
@ -2068,7 +2071,6 @@ static int32_t parseInsertTableClauseBottom(SInsertParseContext* pCxt, SVnodeMod
} }
static void resetEnvPreTable(SInsertParseContext* pCxt, SVnodeModifyOpStmt* pStmt) { static void resetEnvPreTable(SInsertParseContext* pCxt, SVnodeModifyOpStmt* pStmt) {
//TODO: reset env for stb syntax
insDestroyBoundColInfo(&pCxt->tags); insDestroyBoundColInfo(&pCxt->tags);
taosMemoryFreeClear(pStmt->pTableMeta); taosMemoryFreeClear(pStmt->pTableMeta);
nodesDestroyNode(pStmt->pTagCond); nodesDestroyNode(pStmt->pTagCond);
@ -2081,6 +2083,9 @@ static void resetEnvPreTable(SInsertParseContext* pCxt, SVnodeModifyOpStmt* pStm
pStmt->usingTableProcessing = false; pStmt->usingTableProcessing = false;
pStmt->fileProcessing = false; pStmt->fileProcessing = false;
pStmt->usingTableName.type = 0; pStmt->usingTableName.type = 0;
destroyStbRowsDataContext(pStmt->pStbRowsCxt);
taosMemoryFreeClear(pStmt->pStbRowsCxt);
pStmt->stbSyntax = false; pStmt->stbSyntax = false;
} }