diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c b/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c index a3d6fc2faf0f5b59a933eab0c3e421e7e1b4d32e..db78db2e287105a36cfe3c30e3e6d59735d64b62 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c @@ -262,6 +262,11 @@ static int32_t open_committer(STsdb *pTsdb, SCommitInfo *pInfo, SCommitter *pCom code = TSDB_CODE_OUT_OF_MEMORY; TSDB_CHECK_CODE(code, lino, _exit); } + pCommitter->aFileOp = taosArrayInit(10, sizeof(struct SFileOp)); + if (pCommitter->aFileOp == NULL) { + code = TSDB_CODE_OUT_OF_MEMORY; + TSDB_CHECK_CODE(code, lino, _exit); + } // start loop pCommitter->nextKey = pTsdb->imem->minKey; // TODO @@ -277,7 +282,12 @@ _exit: static int32_t close_committer(SCommitter *pCommiter, int32_t eno) { int32_t code = 0; - // TODO + int32_t lino; + + // code = tsdbFSBegin(pCommiter->pTsdb, pCommiter->aFileOp); + TSDB_CHECK_CODE(code, lino, _exit); + +_exit: return code; } @@ -327,49 +337,49 @@ _exit: return code; } -int32_t tsdbCommitCommit(STsdb *pTsdb) { - int32_t code = 0; - int32_t lino = 0; - SMemTable *pMemTable = pTsdb->imem; - - // lock - taosThreadRwlockWrlock(&pTsdb->rwLock); - - code = tsdbFSCommit(pTsdb); - if (code) { - taosThreadRwlockUnlock(&pTsdb->rwLock); - TSDB_CHECK_CODE(code, lino, _exit); - } - - pTsdb->imem = NULL; - - // unlock - taosThreadRwlockUnlock(&pTsdb->rwLock); - if (pMemTable) { - tsdbUnrefMemTable(pMemTable, NULL, true); - } - -_exit: - if (code) { - tsdbError("vgId:%d, %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code)); - } else { - tsdbInfo("vgId:%d, tsdb finish commit", TD_VID(pTsdb->pVnode)); - } - return code; -} - -int32_t tsdbCommitAbort(STsdb *pTsdb) { - int32_t code = 0; - int32_t lino = 0; - - code = tsdbFSRollback(pTsdb); - TSDB_CHECK_CODE(code, lino, _exit); - -_exit: - if (code) { - tsdbError("vgId:%d, %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code)); - } else { - tsdbInfo("vgId:%d, tsdb rollback commit", TD_VID(pTsdb->pVnode)); - } - return code; -} \ No newline at end of file +// int32_t tsdbCommitCommit(STsdb *pTsdb) { +// int32_t code = 0; +// int32_t lino = 0; +// SMemTable *pMemTable = pTsdb->imem; + +// // lock +// taosThreadRwlockWrlock(&pTsdb->rwLock); + +// code = tsdbFSCommit(pTsdb); +// if (code) { +// taosThreadRwlockUnlock(&pTsdb->rwLock); +// TSDB_CHECK_CODE(code, lino, _exit); +// } + +// pTsdb->imem = NULL; + +// // unlock +// taosThreadRwlockUnlock(&pTsdb->rwLock); +// if (pMemTable) { +// tsdbUnrefMemTable(pMemTable, NULL, true); +// } + +// _exit: +// if (code) { +// tsdbError("vgId:%d, %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code)); +// } else { +// tsdbInfo("vgId:%d, tsdb finish commit", TD_VID(pTsdb->pVnode)); +// } +// return code; +// } + +// int32_t tsdbCommitAbort(STsdb *pTsdb) { +// int32_t code = 0; +// int32_t lino = 0; + +// code = tsdbFSRollback(pTsdb); +// TSDB_CHECK_CODE(code, lino, _exit); + +// _exit: +// if (code) { +// tsdbError("vgId:%d, %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code)); +// } else { +// tsdbInfo("vgId:%d, tsdb rollback commit", TD_VID(pTsdb->pVnode)); +// } +// return code; +// } \ No newline at end of file diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFS.h b/source/dnode/vnode/src/tsdb/dev/tsdbFS.h index eb9dcc6dab5c257983dd387b6f2de0f714e254e4..eeac3a140452d5cbccf296798176a902a3355931 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFS.h +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFS.h @@ -26,8 +26,11 @@ extern "C" { struct STFileSystem; /* Exposed APIs */ +// open/close int32_t tsdbOpenFileSystem(STsdb *pTsdb, struct STFileSystem **ppFS, int8_t rollback); int32_t tsdbCloseFileSystem(struct STFileSystem **ppFS); +// txn +// int32_t tsdb /* Exposed Structs */ struct STFileSystem { diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbSttFReader.c b/source/dnode/vnode/src/tsdb/dev/tsdbSttFReader.c index 6dea4a4e57392be988126c579648f39a8270b9bf..ab07f48dfddd244a64c5a265c84aef8e31978b51 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbSttFReader.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbSttFReader.c @@ -11,4 +11,18 @@ * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . - */ \ No newline at end of file + */ + +#include "tsdbSttFReader.h" + +int32_t tsdbSttFReaderOpen(const struct SSttFReaderConf *pConf, struct SSttFReader **ppReader) { + int32_t code = 0; + // TODO + return code; +} + +int32_t tsdbSttFReaderClose(struct SSttFReader *pReader) { + int32_t code = 0; + // TODO + return code; +} diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbSttFReader.h b/source/dnode/vnode/src/tsdb/dev/tsdbSttFReader.h index f7396595707092378fd78917a7c04291a2b7a812..bda94a96a3602d08056da8cfd1d9a786789500a2 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbSttFReader.h +++ b/source/dnode/vnode/src/tsdb/dev/tsdbSttFReader.h @@ -16,15 +16,24 @@ #ifndef _TD_TSDB_STT_FILE_READER_H #define _TD_TSDB_STT_FILE_READER_H +#include "tsdb.h" + #ifdef __cplusplus extern "C" { #endif /* Exposed Handle */ +struct SSttFReader; +struct SSttFReaderConf; /* Exposed APIs */ +int32_t tsdbSttFReaderOpen(const struct SSttFReaderConf *pConf, struct SSttFReader **ppReader); +int32_t tsdbSttFReaderClose(struct SSttFReader *pReader); /* Exposed Structs */ +struct SSttFReaderConf { + // TODO +}; #ifdef __cplusplus }