fix(query): fix some memory leaks.
This commit is contained in:
parent
1ad2b5c92b
commit
0b8dd61f41
|
@ -3665,7 +3665,7 @@ static void* doFreeColumnInfoData(SArray* pColumnInfoData) {
|
||||||
size_t cols = taosArrayGetSize(pColumnInfoData);
|
size_t cols = taosArrayGetSize(pColumnInfoData);
|
||||||
for (int32_t i = 0; i < cols; ++i) {
|
for (int32_t i = 0; i < cols; ++i) {
|
||||||
SColumnInfoData* pColInfo = taosArrayGet(pColumnInfoData, i);
|
SColumnInfoData* pColInfo = taosArrayGet(pColumnInfoData, i);
|
||||||
taosMemoryFreeClear(pColInfo->pData);
|
colDataDestroy(pColInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
taosArrayDestroy(pColumnInfoData);
|
taosArrayDestroy(pColumnInfoData);
|
||||||
|
@ -3697,6 +3697,7 @@ void tsdbCleanupReadHandle(tsdbReaderT queryHandle) {
|
||||||
taosMemoryFreeClear(pTsdbReadHandle->pDataBlockInfo);
|
taosMemoryFreeClear(pTsdbReadHandle->pDataBlockInfo);
|
||||||
taosMemoryFreeClear(pTsdbReadHandle->suppInfo.pstatis);
|
taosMemoryFreeClear(pTsdbReadHandle->suppInfo.pstatis);
|
||||||
taosMemoryFreeClear(pTsdbReadHandle->suppInfo.plist);
|
taosMemoryFreeClear(pTsdbReadHandle->suppInfo.plist);
|
||||||
|
taosMemoryFree(pTsdbReadHandle->suppInfo.slotIds);
|
||||||
|
|
||||||
if (!emptyQueryTimewindow(pTsdbReadHandle)) {
|
if (!emptyQueryTimewindow(pTsdbReadHandle)) {
|
||||||
// tsdbMayUnTakeMemSnapshot(pTsdbReadHandle);
|
// tsdbMayUnTakeMemSnapshot(pTsdbReadHandle);
|
||||||
|
@ -3723,5 +3724,7 @@ void tsdbCleanupReadHandle(tsdbReaderT queryHandle) {
|
||||||
pTsdbReadHandle, pCost->headFileLoad, pCost->headFileLoadTime, pCost->statisInfoLoadTime,
|
pTsdbReadHandle, pCost->headFileLoad, pCost->headFileLoadTime, pCost->statisInfoLoadTime,
|
||||||
pCost->blockLoadTime, pCost->checkForNextTime, pTsdbReadHandle->idStr);
|
pCost->blockLoadTime, pCost->checkForNextTime, pTsdbReadHandle->idStr);
|
||||||
|
|
||||||
|
taosMemoryFree(pTsdbReadHandle->idStr);
|
||||||
|
taosMemoryFree(pTsdbReadHandle->pSchema);
|
||||||
taosMemoryFreeClear(pTsdbReadHandle);
|
taosMemoryFreeClear(pTsdbReadHandle);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2562,7 +2562,8 @@ void relocateColumnData(SSDataBlock* pBlock, const SArray* pColMatchInfo, SArray
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->info.colId == pmInfo->colId) {
|
if (p->info.colId == pmInfo->colId) {
|
||||||
taosArraySet(pBlock->pDataBlock, pmInfo->targetSlotId, p);
|
SColumnInfoData* pDst = taosArrayGet(pBlock->pDataBlock, pmInfo->targetSlotId);
|
||||||
|
colDataAssign(pDst, p, pBlock->info.rows);
|
||||||
i++;
|
i++;
|
||||||
j++;
|
j++;
|
||||||
} else if (p->info.colId < pmInfo->colId) {
|
} else if (p->info.colId < pmInfo->colId) {
|
||||||
|
|
|
@ -525,7 +525,7 @@ static int32_t getTableScannerExecInfo(struct SOperatorInfo* pOptr, void** pOptr
|
||||||
|
|
||||||
static void destroyTableScanOperatorInfo(void* param, int32_t numOfOutput) {
|
static void destroyTableScanOperatorInfo(void* param, int32_t numOfOutput) {
|
||||||
STableScanInfo* pTableScanInfo = (STableScanInfo*)param;
|
STableScanInfo* pTableScanInfo = (STableScanInfo*)param;
|
||||||
taosMemoryFree(pTableScanInfo->pResBlock);
|
blockDataDestroy(pTableScanInfo->pResBlock);
|
||||||
clearupQueryTableDataCond(&pTableScanInfo->cond);
|
clearupQueryTableDataCond(&pTableScanInfo->cond);
|
||||||
|
|
||||||
tsdbCleanupReadHandle(pTableScanInfo->dataReader);
|
tsdbCleanupReadHandle(pTableScanInfo->dataReader);
|
||||||
|
|
Loading…
Reference in New Issue