tsdbCache: destroy del index array

This commit is contained in:
Minglei Jin 2022-07-04 11:43:23 +08:00
parent 169a66642d
commit 253291a146
1 changed files with 15 additions and 4 deletions

View File

@ -272,8 +272,9 @@ _err:
static int32_t getTableDelSkyline(STbData *pMem, STbData *pIMem, SDelFReader *pDelReader, SDelIdx *pDelIdx, static int32_t getTableDelSkyline(STbData *pMem, STbData *pIMem, SDelFReader *pDelReader, SDelIdx *pDelIdx,
SArray *aSkyline) { SArray *aSkyline) {
int32_t code = 0; int32_t code = 0;
SArray *aDelData = NULL;
SArray *aDelData = taosArrayInit(32, sizeof(SDelData)); aDelData = taosArrayInit(32, sizeof(SDelData));
code = getTableDelData(pMem, pIMem, pDelReader, pDelIdx, aDelData); code = getTableDelData(pMem, pIMem, pDelReader, pDelIdx, aDelData);
if (code) goto _err; if (code) goto _err;
@ -283,17 +284,19 @@ static int32_t getTableDelSkyline(STbData *pMem, STbData *pIMem, SDelFReader *pD
if (code) goto _err; if (code) goto _err;
} }
if (aDelData) {
taosArrayDestroy(aDelData); taosArrayDestroy(aDelData);
}
_err: _err:
return code; return code;
} }
static int32_t getTableDelIdx(SDelFReader *pDelFReader, tb_uid_t suid, tb_uid_t uid, SDelIdx *pDelIdx) { static int32_t getTableDelIdx(SDelFReader *pDelFReader, tb_uid_t suid, tb_uid_t uid, SDelIdx *pDelIdx) {
int32_t code = 0; int32_t code = 0;
SArray *pDelIdxArray = NULL;
// SMapData delIdxMap; // SMapData delIdxMap;
SArray *pDelIdxArray = taosArrayInit(32, sizeof(SDelIdx)); pDelIdxArray = taosArrayInit(32, sizeof(SDelIdx));
SDelIdx idx = {.suid = suid, .uid = uid}; SDelIdx idx = {.suid = suid, .uid = uid};
// tMapDataReset(&delIdxMap); // tMapDataReset(&delIdxMap);
@ -305,6 +308,9 @@ static int32_t getTableDelIdx(SDelFReader *pDelFReader, tb_uid_t suid, tb_uid_t
pDelIdx = taosArraySearch(pDelIdxArray, &idx, tCmprDelIdx, TD_EQ); pDelIdx = taosArraySearch(pDelIdxArray, &idx, tCmprDelIdx, TD_EQ);
if (code) goto _err; if (code) goto _err;
if (pDelIdxArray) {
taosArrayDestroy(pDelIdxArray);
}
_err: _err:
return code; return code;
} }
@ -793,6 +799,11 @@ static int32_t mergeLastRow(tb_uid_t uid, STsdb *pTsdb, bool *dup, STSRow **ppRo
return code; return code;
_err: _err:
for (int i = 0; i < 3; ++i) {
if (input[i].nextRowClearFn) {
input[i].nextRowClearFn(input[i].iter);
}
}
if (pSkyline) { if (pSkyline) {
taosArrayDestroy(pSkyline); taosArrayDestroy(pSkyline);
} }