fix: stmt memory leak

This commit is contained in:
Xiaoyu Wang 2023-01-12 15:01:19 +08:00
parent 0e061fb53c
commit 4359562e9c
2 changed files with 11 additions and 8 deletions

View File

@ -152,7 +152,8 @@ int32_t stmtRestoreQueryFields(STscStmt* pStmt) {
return TSDB_CODE_SUCCESS; return TSDB_CODE_SUCCESS;
} }
int32_t stmtUpdateBindInfo(TAOS_STMT* stmt, STableMeta* pTableMeta, void* tags, SName* tbName, const char* sTableName, bool autoCreateTbl) { int32_t stmtUpdateBindInfo(TAOS_STMT* stmt, STableMeta* pTableMeta, void* tags, SName* tbName, const char* sTableName,
bool autoCreateTbl) {
STscStmt* pStmt = (STscStmt*)stmt; STscStmt* pStmt = (STscStmt*)stmt;
char tbFName[TSDB_TABLE_FNAME_LEN]; char tbFName[TSDB_TABLE_FNAME_LEN];
tNameExtractFullName(tbName, tbFName); tNameExtractFullName(tbName, tbFName);
@ -300,7 +301,7 @@ int32_t stmtCleanExecInfo(STscStmt* pStmt, bool keepTable, bool deepClean) {
continue; continue;
} }
if (STMT_TYPE_MULTI_INSERT == pStmt->sql.type) { if (pBlocks->cloned) {
qFreeStmtDataBlock(pBlocks); qFreeStmtDataBlock(pBlocks);
} else { } else {
qDestroyStmtDataBlock(pBlocks); qDestroyStmtDataBlock(pBlocks);

View File

@ -461,7 +461,9 @@ void qFreeStmtDataBlock(void* pDataBlock) {
return; return;
} }
insDestroyDataBlock((STableDataBlocks*)pDataBlock); taosMemoryFreeClear(((STableDataBlocks*)pDataBlock)->pTableMeta);
taosMemoryFreeClear(((STableDataBlocks*)pDataBlock)->pData);
taosMemoryFreeClear(pDataBlock);
} }
void qDestroyStmtDataBlock(void* pBlock) { void qDestroyStmtDataBlock(void* pBlock) {