[td-225] fix memory leaks.
This commit is contained in:
parent
7466267bde
commit
dfe2c4fc67
|
@ -42,6 +42,7 @@ typedef struct SDiskbasedResultBuf {
|
||||||
|
|
||||||
void* iBuf; // inmemory buf
|
void* iBuf; // inmemory buf
|
||||||
void* handle; // for debug purpose
|
void* handle; // for debug purpose
|
||||||
|
void* emptyDummyIdList; // dummy id list
|
||||||
} SDiskbasedResultBuf;
|
} SDiskbasedResultBuf;
|
||||||
|
|
||||||
#define DEFAULT_INTERN_BUF_PAGE_SIZE (1024L)
|
#define DEFAULT_INTERN_BUF_PAGE_SIZE (1024L)
|
||||||
|
|
|
@ -36,6 +36,7 @@ int32_t createDiskbasedResultBuffer(SDiskbasedResultBuf** pResultBuf, int32_t nu
|
||||||
|
|
||||||
pResBuf->fd = FD_INITIALIZER;
|
pResBuf->fd = FD_INITIALIZER;
|
||||||
pResBuf->pBuf = NULL;
|
pResBuf->pBuf = NULL;
|
||||||
|
pResBuf->emptyDummyIdList = taosArrayInit(1, sizeof(int32_t));
|
||||||
|
|
||||||
qDebug("QInfo:%p create resBuf for output, page size:%d, initial pages:%d, %" PRId64 "bytes", handle,
|
qDebug("QInfo:%p create resBuf for output, page size:%d, initial pages:%d, %" PRId64 "bytes", handle,
|
||||||
pResBuf->pageSize, pResBuf->numOfPages, pResBuf->totalBufSize);
|
pResBuf->pageSize, pResBuf->numOfPages, pResBuf->totalBufSize);
|
||||||
|
@ -173,7 +174,7 @@ int32_t getNumOfRowsPerPage(SDiskbasedResultBuf* pResultBuf) { return pResultBuf
|
||||||
SIDList getDataBufPagesIdList(SDiskbasedResultBuf* pResultBuf, int32_t groupId) {
|
SIDList getDataBufPagesIdList(SDiskbasedResultBuf* pResultBuf, int32_t groupId) {
|
||||||
int32_t slot = getGroupIndex(pResultBuf, groupId);
|
int32_t slot = getGroupIndex(pResultBuf, groupId);
|
||||||
if (slot < 0) {
|
if (slot < 0) {
|
||||||
return taosArrayInit(1, sizeof(int32_t));
|
return pResultBuf->emptyDummyIdList;
|
||||||
} else {
|
} else {
|
||||||
return taosArrayGetP(pResultBuf->list, slot);
|
return taosArrayGetP(pResultBuf->list, slot);
|
||||||
}
|
}
|
||||||
|
@ -206,6 +207,7 @@ void destroyResultBuf(SDiskbasedResultBuf* pResultBuf, void* handle) {
|
||||||
}
|
}
|
||||||
|
|
||||||
taosArrayDestroy(pResultBuf->list);
|
taosArrayDestroy(pResultBuf->list);
|
||||||
|
taosArrayDestroy(pResultBuf->emptyDummyIdList);
|
||||||
taosHashCleanup(pResultBuf->idsTable);
|
taosHashCleanup(pResultBuf->idsTable);
|
||||||
|
|
||||||
tfree(pResultBuf->iBuf);
|
tfree(pResultBuf->iBuf);
|
||||||
|
|
Loading…
Reference in New Issue