提交 b2c147be 编写于 作者: H Hongze Cheng

more work

上级 6211f281
...@@ -27,6 +27,8 @@ struct SCommitter { ...@@ -27,6 +27,8 @@ struct SCommitter {
/* commit data */ /* commit data */
int32_t minutes; int32_t minutes;
int8_t precision; int8_t precision;
int32_t minRow;
int32_t maxRow;
TSKEY nextCommitKey; TSKEY nextCommitKey;
// commit file data // commit file data
int32_t commitFid; int32_t commitFid;
...@@ -580,18 +582,14 @@ static int32_t tsdbCommitTableDataStart(SCommitter *pCommitter) { ...@@ -580,18 +582,14 @@ static int32_t tsdbCommitTableDataStart(SCommitter *pCommitter) {
int32_t code = 0; int32_t code = 0;
// old // old
pCommitter->oBlock.flag = 0; tMapDataReset(&pCommitter->oBlock);
pCommitter->oBlock.nItem = 0;
pCommitter->oBlock.nData = 0;
if (pCommitter->pBlockIdx) { if (pCommitter->pBlockIdx) {
code = tsdbReadBlock(pCommitter->pReader, &pCommitter->oBlock, NULL); code = tsdbReadBlock(pCommitter->pReader, &pCommitter->oBlock, NULL);
if (code) goto _err; if (code) goto _err;
} }
// new // new
pCommitter->nBlock.flag = 0; tMapDataReset(&pCommitter->nBlock);
pCommitter->nBlock.nItem = 0;
pCommitter->nBlock.nData = 0;
_err: _err:
return code; return code;
...@@ -599,6 +597,7 @@ _err: ...@@ -599,6 +597,7 @@ _err:
static int32_t tsdbCommitTableDataImpl(SCommitter *pCommitter) { static int32_t tsdbCommitTableDataImpl(SCommitter *pCommitter) {
int32_t code = 0; int32_t code = 0;
STsdb *pTsdb = pCommitter->pTsdb;
STbDataIter *pIter = NULL; STbDataIter *pIter = NULL;
int32_t iBlock = 0; int32_t iBlock = 0;
int32_t nBlock = pCommitter->nBlock.nItem; int32_t nBlock = pCommitter->nBlock.nItem;
...@@ -606,19 +605,42 @@ static int32_t tsdbCommitTableDataImpl(SCommitter *pCommitter) { ...@@ -606,19 +605,42 @@ static int32_t tsdbCommitTableDataImpl(SCommitter *pCommitter) {
SBlock block; SBlock block;
TSDBROW *pRow; TSDBROW *pRow;
TSDBROW row; TSDBROW row;
int32_t iRow = 0;
STSchema *pTSchema = NULL;
if (pCommitter->pTbData) { if (pCommitter->pTbData) {
code = tsdbTbDataIterCreate(pCommitter->pTbData, NULL, 0, &pIter); code = tsdbTbDataIterCreate(pCommitter->pTbData, &(TSDBKEY){.ts = pCommitter->minKey, .version = 0}, 0, &pIter);
if (code) goto _err; if (code) goto _err;
} }
// merge loop
for (;;) { for (;;) {
/* code */ tsdbTbDataIterGet(pIter, pRow);
code = tsdbColDataBlockAppend(&pCommitter->nColDataBlock, pRow, pTSchema);
if (code) goto _err;
if (pCommitter->nColDataBlock.nRow >= pCommitter->maxRow) {
code = tsdbWriteColDataBlock(pCommitter->pWriter, &pCommitter->nColDataBlock, NULL);
if (code) goto _err;
tsdbColDataBlockReset(&pCommitter->nColDataBlock);
}
if (!tsdbTbDataIterNext(pIter)) break;
}
if (pCommitter->nColDataBlock.nRow) {
code = tsdbWriteColDataBlock(pCommitter->pWriter, &pCommitter->nColDataBlock, NULL);
if (code) goto _err;
} }
tsdbTbDataIterDestroy(pIter);
return code; return code;
_err: _err:
tsdbError("vgId:%d commit table data impl failed since %s", TD_VID(pTsdb->pVnode), tstrerror(code));
tsdbTbDataIterDestroy(pIter);
return code; return code;
} }
......
...@@ -732,6 +732,10 @@ void tsdbRowGetColVal(TSDBROW *pRow, STSchema *pTSchema, int32_t iCol, SColVal * ...@@ -732,6 +732,10 @@ void tsdbRowGetColVal(TSDBROW *pRow, STSchema *pTSchema, int32_t iCol, SColVal *
} }
// SColDataBlock ====================================================== // SColDataBlock ======================================================
void tsdbColDataBlockReset(SColDataBlock *pColDataBlock) {
// TODO
}
int32_t tsdbColDataBlockAppend(SColDataBlock *pColDataBlock, TSDBROW *pRow, STSchema *pTSchema) { int32_t tsdbColDataBlockAppend(SColDataBlock *pColDataBlock, TSDBROW *pRow, STSchema *pTSchema) {
int32_t code = 0; int32_t code = 0;
int32_t nRow = pColDataBlock->nRow; int32_t nRow = pColDataBlock->nRow;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册