fix: skip empty data in delete file
This commit is contained in:
parent
ebc17283de
commit
8d6f129154
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue