fix(query): fix memory leak.
This commit is contained in:
parent
9b5c205498
commit
08ce790cda
|
@ -13,6 +13,7 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "tmsg.h"
|
||||||
#include "tq.h"
|
#include "tq.h"
|
||||||
|
|
||||||
bool isValValidForTable(STqHandle* pHandle, SWalCont* pHead) {
|
bool isValValidForTable(STqHandle* pHandle, SWalCont* pHead) {
|
||||||
|
@ -346,6 +347,10 @@ int32_t tqNextBlockInWal(STqReader* pReader) {
|
||||||
int32_t nSubmitTbData = taosArrayGetSize(pReader->submit.aSubmitTbData);
|
int32_t nSubmitTbData = taosArrayGetSize(pReader->submit.aSubmitTbData);
|
||||||
for (int32_t i = 0; i < nSubmitTbData; i++) {
|
for (int32_t i = 0; i < nSubmitTbData; i++) {
|
||||||
SSubmitTbData* pData = taosArrayGet(pReader->submit.aSubmitTbData, i);
|
SSubmitTbData* pData = taosArrayGet(pReader->submit.aSubmitTbData, i);
|
||||||
|
if (pData->pCreateTbReq != NULL) {
|
||||||
|
taosArrayDestroy(pData->pCreateTbReq->ctb.tagName);
|
||||||
|
taosMemoryFreeClear(pData->pCreateTbReq);
|
||||||
|
}
|
||||||
pData->aRowP = taosArrayDestroy(pData->aRowP);
|
pData->aRowP = taosArrayDestroy(pData->aRowP);
|
||||||
}
|
}
|
||||||
pReader->submit.aSubmitTbData = taosArrayDestroy(pReader->submit.aSubmitTbData);
|
pReader->submit.aSubmitTbData = taosArrayDestroy(pReader->submit.aSubmitTbData);
|
||||||
|
@ -530,6 +535,8 @@ int32_t tqRetrieveDataBlock(SSDataBlock* pBlock, STqReader* pReader, SSubmitTbDa
|
||||||
*pSubmitTbDataRet = pSubmitTbData;
|
*pSubmitTbDataRet = pSubmitTbData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
blockDataCleanup(pBlock);
|
||||||
|
|
||||||
int32_t sversion = pSubmitTbData->sver;
|
int32_t sversion = pSubmitTbData->sver;
|
||||||
int64_t suid = pSubmitTbData->suid;
|
int64_t suid = pSubmitTbData->suid;
|
||||||
int64_t uid = pSubmitTbData->uid;
|
int64_t uid = pSubmitTbData->uid;
|
||||||
|
|
|
@ -1699,8 +1699,6 @@ static SSDataBlock* doQueueScan(SOperatorInfo* pOperator) {
|
||||||
blockDataCleanup(pInfo->pRes);
|
blockDataCleanup(pInfo->pRes);
|
||||||
setBlockIntoRes(pInfo, pRes, true);
|
setBlockIntoRes(pInfo, pRes, true);
|
||||||
if (pInfo->pRes->info.rows > 0) {
|
if (pInfo->pRes->info.rows > 0) {
|
||||||
qDebug("doQueueScan get data from log %" PRId64 " rows, return, version:%" PRId64, pInfo->pRes->info.rows,
|
|
||||||
pTaskInfo->streamInfo.currentOffset.version);
|
|
||||||
return pInfo->pRes;
|
return pInfo->pRes;
|
||||||
}
|
}
|
||||||
} else if (type == FETCH_TYPE__NONE) {
|
} else if (type == FETCH_TYPE__NONE) {
|
||||||
|
|
Loading…
Reference in New Issue