Merge pull request #14856 from taosdata/fix/tsdbcacheread-close
fix: fix last row reader close memory issues
This commit is contained in:
commit
c719a59de3
|
@ -22,11 +22,11 @@ typedef struct SLastrowReader {
|
||||||
SVnode* pVnode;
|
SVnode* pVnode;
|
||||||
STSchema* pSchema;
|
STSchema* pSchema;
|
||||||
uint64_t uid;
|
uint64_t uid;
|
||||||
char** transferBuf; // todo remove it soon
|
char** transferBuf; // todo remove it soon
|
||||||
int32_t numOfCols;
|
int32_t numOfCols;
|
||||||
int32_t type;
|
int32_t type;
|
||||||
int32_t tableIndex; // currently returned result tables
|
int32_t tableIndex; // currently returned result tables
|
||||||
SArray* pTableList; // table id list
|
SArray* pTableList; // table id list
|
||||||
} SLastrowReader;
|
} SLastrowReader;
|
||||||
|
|
||||||
static void saveOneRow(STSRow* pRow, SSDataBlock* pBlock, SLastrowReader* pReader, const int32_t* slotIds) {
|
static void saveOneRow(STSRow* pRow, SSDataBlock* pBlock, SLastrowReader* pReader, const int32_t* slotIds) {
|
||||||
|
@ -94,12 +94,15 @@ int32_t tsdbLastRowReaderOpen(void* pVnode, int32_t type, SArray* pTableIdList,
|
||||||
int32_t tsdbLastrowReaderClose(void* pReader) {
|
int32_t tsdbLastrowReaderClose(void* pReader) {
|
||||||
SLastrowReader* p = pReader;
|
SLastrowReader* p = pReader;
|
||||||
|
|
||||||
for (int32_t i = 0; i < p->pSchema->numOfCols; ++i) {
|
if (p->pSchema != NULL) {
|
||||||
taosMemoryFreeClear(p->transferBuf[i]);
|
for (int32_t i = 0; i < p->pSchema->numOfCols; ++i) {
|
||||||
|
taosMemoryFreeClear(p->transferBuf[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
taosMemoryFree(p->transferBuf);
|
||||||
|
taosMemoryFree(p->pSchema);
|
||||||
}
|
}
|
||||||
|
|
||||||
taosMemoryFree(p->pSchema);
|
|
||||||
taosMemoryFree(p->transferBuf);
|
|
||||||
taosMemoryFree(pReader);
|
taosMemoryFree(pReader);
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue