more code

This commit is contained in:
Hongze Cheng 2023-02-08 11:15:36 +08:00
parent d9e8b3c047
commit 108ce09c85
1 changed files with 16 additions and 20 deletions

View File

@ -867,23 +867,25 @@ _exit:
} }
static bool tsdbCompactRowIsDeleted(STsdbCompactor *pCompactor, TSDBROW *pRow) { static bool tsdbCompactRowIsDeleted(STsdbCompactor *pCompactor, TSDBROW *pRow) {
TSDBKEY tKey = TSDBROW_KEY(pRow); TSDBKEY tKey = TSDBROW_KEY(pRow);
TSDBKEY *aKey = (TSDBKEY *)TARRAY_DATA(pCompactor->aSkyLine);
int32_t nKey = TARRAY_SIZE(pCompactor->aSkyLine);
if (tKey.ts > pCompactor->pDKey->ts) { if (tKey.ts > pCompactor->pDKey->ts) {
while (tKey.ts > pCompactor->pDKey->ts) { do {
TSDBKEY *pKey = (TSDBKEY *)taosArrayGet(pCompactor->aSkyLine, pCompactor->iSkyLine); pCompactor->pDKey->version = aKey[pCompactor->iSkyLine].version;
pCompactor->pDKey->version = pKey->version;
pCompactor->iSkyLine++; pCompactor->iSkyLine++;
if (pCompactor->iSkyLine < taosArrayGetSize(pCompactor->aSkyLine)) { if (pCompactor->iSkyLine < nKey) {
TSDBKEY *pKey = (TSDBKEY *)taosArrayGet(pCompactor->aSkyLine, pCompactor->iSkyLine); pCompactor->dKey.ts = aKey[pCompactor->iSkyLine].ts;
pCompactor->dKey.ts = pKey->ts;
} else { } else {
pCompactor->pDKey = NULL; if (pCompactor->pDKey->version == 0) {
return false; pCompactor->pDKey = NULL;
return false;
} else {
pCompactor->pDKey->ts = INT64_MAX;
}
} }
} } while (tKey.ts > pCompactor->pDKey->ts);
} }
if (tKey.ts < pCompactor->pDKey->ts) { if (tKey.ts < pCompactor->pDKey->ts) {
@ -893,14 +895,8 @@ static bool tsdbCompactRowIsDeleted(STsdbCompactor *pCompactor, TSDBROW *pRow) {
return true; return true;
} }
} else if (tKey.ts == pCompactor->pDKey->ts) { } else if (tKey.ts == pCompactor->pDKey->ts) {
int64_t version; ASSERT(pCompactor->iSkyLine < nKey);
if (pCompactor->iSkyLine < taosArrayGetSize(pCompactor->aSkyLine)) { if (tKey.version > TMAX(pCompactor->pDKey->version, aKey[pCompactor->iSkyLine].version)) {
version = TMAX(pCompactor->pDKey->version, pCompactor->aTSDBKEY[pCompactor->iKey].version);
} else {
version = pCompactor->pDKey->version;
}
if (tKey.version > version) {
return false; return false;
} else { } else {
return true; return true;