提交 699c9572 编写于 作者: H Hongze Cheng

more

上级 4a4018a3
...@@ -25,10 +25,11 @@ extern "C" { ...@@ -25,10 +25,11 @@ extern "C" {
static FORCE_INLINE int32_t tRealloc(uint8_t **ppBuf, int64_t size) { static FORCE_INLINE int32_t tRealloc(uint8_t **ppBuf, int64_t size) {
int32_t code = 0; int32_t code = 0;
int64_t bsize = 0; int64_t bsize = 0;
uint8_t *pBuf; uint8_t *pBuf = NULL;
if (*ppBuf) { if (*ppBuf) {
bsize = *(int64_t *)((*ppBuf) - sizeof(int64_t)); pBuf = (*ppBuf) - sizeof(int64_t);
bsize = *(int64_t *)pBuf;
} }
if (bsize >= size) goto _exit; if (bsize >= size) goto _exit;
...@@ -38,7 +39,7 @@ static FORCE_INLINE int32_t tRealloc(uint8_t **ppBuf, int64_t size) { ...@@ -38,7 +39,7 @@ static FORCE_INLINE int32_t tRealloc(uint8_t **ppBuf, int64_t size) {
bsize *= 2; bsize *= 2;
} }
pBuf = (uint8_t *)taosMemoryRealloc(*ppBuf ? (*ppBuf) - sizeof(int64_t) : *ppBuf, bsize + sizeof(int64_t)); pBuf = (uint8_t *)taosMemoryRealloc(pBuf, bsize + sizeof(int64_t));
if (pBuf == NULL) { if (pBuf == NULL) {
code = TSDB_CODE_OUT_OF_MEMORY; code = TSDB_CODE_OUT_OF_MEMORY;
goto _exit; goto _exit;
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
static int metaSaveJsonVarToIdx(SMeta *pMeta, const SMetaEntry *pCtbEntry, const SSchema *pSchema); static int metaSaveJsonVarToIdx(SMeta *pMeta, const SMetaEntry *pCtbEntry, const SSchema *pSchema);
static int metaDelJsonVarFromIdx(SMeta *pMeta, const SMetaEntry *pCtbEntry, const SSchema *pSchema); static int metaDelJsonVarFromIdx(SMeta *pMeta, const SMetaEntry *pCtbEntry, const SSchema *pSchema);
static int metaHandleEntry(SMeta *pMeta, const SMetaEntry *pME);
static int metaSaveToTbDb(SMeta *pMeta, const SMetaEntry *pME); static int metaSaveToTbDb(SMeta *pMeta, const SMetaEntry *pME);
static int metaUpdateUidIdx(SMeta *pMeta, const SMetaEntry *pME); static int metaUpdateUidIdx(SMeta *pMeta, const SMetaEntry *pME);
static int metaUpdateNameIdx(SMeta *pMeta, const SMetaEntry *pME); static int metaUpdateNameIdx(SMeta *pMeta, const SMetaEntry *pME);
......
...@@ -394,6 +394,12 @@ _err: ...@@ -394,6 +394,12 @@ _err:
return code; return code;
} }
static int32_t tsdbSnapWriteTableData(STsdbSnapWriter* pWriter, uint8_t* pData, uint32_t nData) {
int32_t code = 0;
// TODO
return code;
}
static int32_t tsdbSnapWriteData(STsdbSnapWriter* pWriter, uint8_t* pData, uint32_t nData) { static int32_t tsdbSnapWriteData(STsdbSnapWriter* pWriter, uint8_t* pData, uint32_t nData) {
int32_t code = 0; int32_t code = 0;
STsdb* pTsdb = pWriter->pTsdb; STsdb* pTsdb = pWriter->pTsdb;
...@@ -440,47 +446,50 @@ static int32_t tsdbSnapWriteData(STsdbSnapWriter* pWriter, uint8_t* pData, uint3 ...@@ -440,47 +446,50 @@ static int32_t tsdbSnapWriteData(STsdbSnapWriter* pWriter, uint8_t* pData, uint3
taosArrayClear(pWriter->aBlockIdxN); taosArrayClear(pWriter->aBlockIdxN);
} }
// process code = tsdbSnapWriteTableData(pWriter, pData, nData);
TABLEID id = {0}; // TODO if (code) goto _err;
TSKEY minKey = 0; // TODO
TSKEY maxKey = 0; // TODO // // process
// TABLEID id = {0}; // TODO
while (true) { // TSKEY minKey = 0; // TODO
if (pWriter->pBlockIdx) { // TSKEY maxKey = 0; // TODO
int32_t c = tTABLEIDCmprFn(&id, pWriter->pBlockIdx);
// while (true) {
if (c == 0) { // if (pWriter->pBlockIdx) {
} else if (c < 0) { // int32_t c = tTABLEIDCmprFn(&id, pWriter->pBlockIdx);
// keep merge
} else { // if (c == 0) {
// code = tsdbSnapWriteTableDataEnd(pWriter); // } else if (c < 0) {
if (code) goto _err; // // keep merge
// } else {
pWriter->iBlockIdx++; // // code = tsdbSnapWriteTableDataEnd(pWriter);
if (pWriter->iBlockIdx < taosArrayGetSize(pWriter->aBlockIdx)) { // if (code) goto _err;
pWriter->pBlockIdx = (SBlockIdx*)taosArrayGet(pWriter->aBlockIdx, pWriter->iBlockIdx);
} else { // pWriter->iBlockIdx++;
pWriter->pBlockIdx = NULL; // if (pWriter->iBlockIdx < taosArrayGetSize(pWriter->aBlockIdx)) {
} // pWriter->pBlockIdx = (SBlockIdx*)taosArrayGet(pWriter->aBlockIdx, pWriter->iBlockIdx);
// } else {
if (pWriter->pBlockIdx) { // pWriter->pBlockIdx = NULL;
code = tsdbReadBlock(pWriter->pDataFReader, pWriter->pBlockIdx, &pWriter->mBlock, NULL); // }
if (code) goto _err;
} // if (pWriter->pBlockIdx) {
} // code = tsdbReadBlock(pWriter->pDataFReader, pWriter->pBlockIdx, &pWriter->mBlock, NULL);
} else { // if (code) goto _err;
int32_t c = tTABLEIDCmprFn(&id, &pWriter->blockIdx); // }
// }
if (c == 0) { // } else {
// merge commit the block data // int32_t c = tTABLEIDCmprFn(&id, &pWriter->blockIdx);
} else if (c > 0) {
// code = tsdbSnapWriteTableDataEnd(pWriter); // if (c == 0) {
if (code) goto _err; // // merge commit the block data
} else { // } else if (c > 0) {
ASSERT(0); // // code = tsdbSnapWriteTableDataEnd(pWriter);
} // if (code) goto _err;
} // } else {
} // ASSERT(0);
// }
// }
// }
return code; return code;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册