fix: skip empty data in delete file
This commit is contained in:
parent
ebc17283de
commit
8d6f129154
|
@ -475,7 +475,7 @@ _err:
|
|||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
/*
|
||||
static int32_t getTableDelIdx(SDelFReader *pDelFReader, tb_uid_t suid, tb_uid_t uid, SDelIdx *pDelIdx) {
|
||||
int32_t code = 0;
|
||||
SArray *pDelIdxArray = NULL;
|
||||
|
@ -499,7 +499,7 @@ _err:
|
|||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
*/
|
||||
typedef enum {
|
||||
SFSLASTNEXTROW_FS,
|
||||
SFSLASTNEXTROW_FILESET,
|
||||
|
@ -997,8 +997,6 @@ static int32_t nextRowIterOpen(CacheNextRowIter *pIter, tb_uid_t uid, STsdb *pTs
|
|||
|
||||
pIter->pSkyline = taosArrayInit(32, sizeof(TSDBKEY));
|
||||
|
||||
SDelIdx delIdx;
|
||||
|
||||
SDelFile *pDelFile = pReadSnap->fs.pDelFile;
|
||||
if (pDelFile) {
|
||||
SDelFReader *pDelFReader;
|
||||
|
@ -1006,18 +1004,20 @@ static int32_t nextRowIterOpen(CacheNextRowIter *pIter, tb_uid_t uid, STsdb *pTs
|
|||
code = tsdbDelFReaderOpen(&pDelFReader, pDelFile, pTsdb);
|
||||
if (code) goto _err;
|
||||
|
||||
code = getTableDelIdx(pDelFReader, suid, uid, &delIdx);
|
||||
if (code) {
|
||||
tsdbDelFReaderClose(&pDelFReader);
|
||||
goto _err;
|
||||
}
|
||||
|
||||
code = getTableDelSkyline(pMem, pIMem, pDelFReader, &delIdx, pIter->pSkyline);
|
||||
SArray *pDelIdxArray = taosArrayInit(32, sizeof(SDelIdx));
|
||||
|
||||
code = tsdbReadDelIdx(pDelFReader, pDelIdxArray);
|
||||
if (code) goto _err;
|
||||
|
||||
SDelIdx *delIdx = taosArraySearch(pDelIdxArray, &(SDelIdx){.suid = suid, .uid = uid}, tCmprDelIdx, TD_EQ);
|
||||
|
||||
code = getTableDelSkyline(pMem, pIMem, pDelFReader, delIdx, pIter->pSkyline);
|
||||
if (code) {
|
||||
tsdbDelFReaderClose(&pDelFReader);
|
||||
goto _err;
|
||||
}
|
||||
|
||||
taosArrayDestroy(pDelIdxArray);
|
||||
tsdbDelFReaderClose(&pDelFReader);
|
||||
} else {
|
||||
code = getTableDelSkyline(pMem, pIMem, NULL, NULL, pIter->pSkyline);
|
||||
|
|
Loading…
Reference in New Issue