fix: skip empty data in delete file

This commit is contained in:
stephenkgu 2022-11-10 08:14:21 +08:00
parent ebc17283de
commit 8d6f129154
1 changed files with 11 additions and 11 deletions

View File

@ -475,7 +475,7 @@ _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; SArray *pDelIdxArray = NULL;
@ -499,7 +499,7 @@ _err:
} }
return code; return code;
} }
*/
typedef enum { typedef enum {
SFSLASTNEXTROW_FS, SFSLASTNEXTROW_FS,
SFSLASTNEXTROW_FILESET, SFSLASTNEXTROW_FILESET,
@ -997,8 +997,6 @@ static int32_t nextRowIterOpen(CacheNextRowIter *pIter, tb_uid_t uid, STsdb *pTs
pIter->pSkyline = taosArrayInit(32, sizeof(TSDBKEY)); pIter->pSkyline = taosArrayInit(32, sizeof(TSDBKEY));
SDelIdx delIdx;
SDelFile *pDelFile = pReadSnap->fs.pDelFile; SDelFile *pDelFile = pReadSnap->fs.pDelFile;
if (pDelFile) { if (pDelFile) {
SDelFReader *pDelFReader; SDelFReader *pDelFReader;
@ -1006,18 +1004,20 @@ static int32_t nextRowIterOpen(CacheNextRowIter *pIter, tb_uid_t uid, STsdb *pTs
code = tsdbDelFReaderOpen(&pDelFReader, pDelFile, pTsdb); code = tsdbDelFReaderOpen(&pDelFReader, pDelFile, pTsdb);
if (code) goto _err; if (code) goto _err;
code = getTableDelIdx(pDelFReader, suid, uid, &delIdx); SArray *pDelIdxArray = taosArrayInit(32, sizeof(SDelIdx));
if (code) {
tsdbDelFReaderClose(&pDelFReader); code = tsdbReadDelIdx(pDelFReader, pDelIdxArray);
goto _err; if (code) goto _err;
}
SDelIdx *delIdx = taosArraySearch(pDelIdxArray, &(SDelIdx){.suid = suid, .uid = uid}, tCmprDelIdx, TD_EQ);
code = getTableDelSkyline(pMem, pIMem, pDelFReader, &delIdx, pIter->pSkyline);
code = getTableDelSkyline(pMem, pIMem, pDelFReader, delIdx, pIter->pSkyline);
if (code) { if (code) {
tsdbDelFReaderClose(&pDelFReader); tsdbDelFReaderClose(&pDelFReader);
goto _err; goto _err;
} }
taosArrayDestroy(pDelIdxArray);
tsdbDelFReaderClose(&pDelFReader); tsdbDelFReaderClose(&pDelFReader);
} else { } else {
code = getTableDelSkyline(pMem, pIMem, NULL, NULL, pIter->pSkyline); code = getTableDelSkyline(pMem, pIMem, NULL, NULL, pIter->pSkyline);