提交 4359562e 编写于 作者: X Xiaoyu Wang

fix: stmt memory leak

上级 0e061fb5
...@@ -152,7 +152,8 @@ int32_t stmtRestoreQueryFields(STscStmt* pStmt) { ...@@ -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) { ...@@ -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);
......
...@@ -461,7 +461,9 @@ void qFreeStmtDataBlock(void* pDataBlock) { ...@@ -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) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册