adjust more
This commit is contained in:
parent
f59bc9c0a7
commit
c7158f782e
|
@ -66,7 +66,6 @@ int32_t metaCacheOpen(SMeta* pMeta);
|
|||
void metaCacheClose(SMeta* pMeta);
|
||||
int32_t metaCacheUpsert(SMeta* pMeta, SMetaInfo* pInfo);
|
||||
int32_t metaCacheDrop(SMeta* pMeta, int64_t uid);
|
||||
int32_t metaCacheGet(SMeta* pMeta, int64_t uid, SMetaInfo* pInfo);
|
||||
|
||||
struct SMeta {
|
||||
TdThreadRwlock lock;
|
||||
|
|
|
@ -1051,6 +1051,8 @@ int32_t metaGetTableTags(SMeta *pMeta, uint64_t suid, SArray *uidList, SHashObj
|
|||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
int32_t metaCacheGet(SMeta *pMeta, int64_t uid, SMetaInfo *pInfo);
|
||||
|
||||
int32_t metaGetInfo(SMeta *pMeta, int64_t uid, SMetaInfo *pInfo) {
|
||||
int32_t code = 0;
|
||||
void *pData = NULL;
|
||||
|
|
|
@ -188,11 +188,16 @@ int32_t tPutDFileSet(uint8_t *p, SDFileSet *pSet) {
|
|||
n += tPutI32v(p ? p + n : p, pSet->diskId.level);
|
||||
n += tPutI32v(p ? p + n : p, pSet->diskId.id);
|
||||
n += tPutI32v(p ? p + n : p, pSet->fid);
|
||||
|
||||
// data
|
||||
n += tPutHeadFile(p ? p + n : p, pSet->pHeadF);
|
||||
n += tPutDataFile(p ? p + n : p, pSet->pDataF);
|
||||
n += tPutLastFile(p ? p + n : p, pSet->pLastF);
|
||||
n += tPutSmaFile(p ? p + n : p, pSet->pSmaF);
|
||||
|
||||
// last
|
||||
n += tPutU8(p ? p + n : p, 1); // for future compatibility
|
||||
n += tPutLastFile(p ? p + n : p, pSet->pLastF);
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
|
@ -202,11 +207,17 @@ int32_t tGetDFileSet(uint8_t *p, SDFileSet *pSet) {
|
|||
n += tGetI32v(p + n, &pSet->diskId.level);
|
||||
n += tGetI32v(p + n, &pSet->diskId.id);
|
||||
n += tGetI32v(p + n, &pSet->fid);
|
||||
|
||||
// data
|
||||
n += tGetHeadFile(p + n, pSet->pHeadF);
|
||||
n += tGetDataFile(p + n, pSet->pDataF);
|
||||
n += tGetLastFile(p + n, pSet->pLastF);
|
||||
n += tGetSmaFile(p + n, pSet->pSmaF);
|
||||
|
||||
// last
|
||||
uint8_t nLast;
|
||||
n += tGetU8(p + n, &nLast);
|
||||
n += tGetLastFile(p + n, pSet->pLastF);
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,8 +30,6 @@ struct STsdbSnapReader {
|
|||
SArray* aBlockL; // SArray<SBlockL>
|
||||
SBlockIdx* pBlockIdx;
|
||||
SBlockL* pBlockL;
|
||||
SBlock* pBlock;
|
||||
SBlock block;
|
||||
|
||||
int32_t iBlockIdx;
|
||||
int32_t iBlockL;
|
||||
|
@ -78,9 +76,6 @@ static int32_t tsdbSnapReadData(STsdbSnapReader* pReader, uint8_t** ppData) {
|
|||
if (code) goto _err;
|
||||
|
||||
pReader->iBlock = 0;
|
||||
if (pReader->iBlock < pReader->mBlock.nItem) {
|
||||
tMapDataGetItemByIdx(&pReader->mBlock, pReader->iBlock, &pReader->block, tGetBlock);
|
||||
}
|
||||
} else {
|
||||
pReader->pBlockIdx = NULL;
|
||||
}
|
||||
|
@ -97,18 +92,16 @@ static int32_t tsdbSnapReadData(STsdbSnapReader* pReader, uint8_t** ppData) {
|
|||
|
||||
while (true) {
|
||||
if (pReader->pBlockIdx && pReader->pBlockL) {
|
||||
TABLEID minId = {.suid = pReader->pBlockL->suid, .uid = pReader->pBlockL->minUid};
|
||||
TABLEID maxId = {.suid = pReader->pBlockL->suid, .uid = pReader->pBlockL->maxUid};
|
||||
TABLEID id = {.suid = pReader->pBlockL->suid, .uid = pReader->pBlockL->minUid};
|
||||
|
||||
if (tTABLEIDCmprFn(pReader->pBlockIdx, &minId) < 0) {
|
||||
// TODO
|
||||
} else if (tTABLEIDCmprFn(pReader->pBlockIdx, &maxId) < 0) {
|
||||
// TODO
|
||||
} else {
|
||||
// TODO
|
||||
}
|
||||
// if (tTABLEIDCmprFn(pReader->pBlockIdx, &minId) < 0) {
|
||||
// // TODO
|
||||
// } else if (tTABLEIDCmprFn(pReader->pBlockIdx, &maxId) < 0) {
|
||||
// // TODO
|
||||
// } else {
|
||||
// // TODO
|
||||
// }
|
||||
} else if (pReader->pBlockIdx) {
|
||||
// may have problem (todo)
|
||||
while (pReader->iBlock < pReader->mBlock.nItem) {
|
||||
SBlock block;
|
||||
tMapDataGetItemByIdx(&pReader->mBlock, pReader->iBlock, &block, tGetBlock);
|
||||
|
@ -119,9 +112,24 @@ static int32_t tsdbSnapReadData(STsdbSnapReader* pReader, uint8_t** ppData) {
|
|||
|
||||
// next
|
||||
pReader->iBlock++;
|
||||
if (*ppData) break;
|
||||
}
|
||||
|
||||
if (pReader->iBlock >= pReader->mBlock.nItem) {
|
||||
pReader->iBlockIdx++;
|
||||
if (pReader->iBlockIdx < taosArrayGetSize(pReader->aBlockIdx)) {
|
||||
pReader->pBlockIdx = (SBlockIdx*)taosArrayGet(pReader->aBlockIdx, pReader->iBlockIdx);
|
||||
|
||||
code = tsdbReadBlock(pReader->pDataFReader, pReader->pBlockIdx, &pReader->mBlock);
|
||||
if (code) goto _err;
|
||||
|
||||
pReader->iBlock = 0;
|
||||
} else {
|
||||
pReader->pBlockIdx = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (*ppData) goto _exit;
|
||||
}
|
||||
} else if (pReader->pBlockL) {
|
||||
while (pReader->pBlockL) {
|
||||
if (pReader->pBlockL->minVer <= pReader->ever && pReader->pBlockL->maxVer >= pReader->sver) {
|
||||
|
|
Loading…
Reference in New Issue