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