diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c b/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c index 5b7a083d2b..1f11062514 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c @@ -42,7 +42,6 @@ static int32_t tsdbCommitOpenWriter(SCommitter *pCommitter) { struct SSttFWriterConf conf = { .pTsdb = pCommitter->pTsdb, - .file = {0}, .pSkmTb = NULL, .pSkmRow = NULL, .maxRow = pCommitter->maxRow, @@ -51,7 +50,21 @@ static int32_t tsdbCommitOpenWriter(SCommitter *pCommitter) { .aBuf = NULL, }; - // taosArraySearch(pCommitter->pTsdb); + // pCommitter->pTsdb->pFS = NULL; + // taosbsearch(pCommitter->pTsdb->pFS->aFileSet, &pCommitter->fid, tsdbCompareFid, &lino); + struct SFileSet *pSet = NULL; + if (pSet == NULL) { + conf.file = (struct STFile){ + .cid = 1, + .fid = pCommitter->fid, + .diskId = (SDiskID){0}, + .type = TSDB_FTYPE_STT, + }; + tsdbTFileInit(pCommitter->pTsdb, &conf.file); + } else { + // TODO + ASSERT(0); + } code = tsdbSttFWriterOpen(&conf, &pCommitter->pWriter); TSDB_CHECK_CODE(code, lino, _exit); diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFS.c b/source/dnode/vnode/src/tsdb/dev/tsdbFS.c index 6b0d2f69ea..f56ed94081 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFS.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFS.c @@ -15,12 +15,6 @@ #include "dev.h" -struct STFileSystem { - STsdb *pTsdb; - int32_t nFileSet; - struct SFileSet *aFileSet; -}; - static int32_t create_file_system(STsdb *pTsdb, struct STFileSystem **ppFS) { ppFS[0] = taosMemoryCalloc(1, sizeof(*ppFS[0])); if (ppFS[0] == NULL) return TSDB_CODE_OUT_OF_MEMORY; diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFS.h b/source/dnode/vnode/src/tsdb/dev/tsdbFS.h index d12b5be33e..eb9dcc6dab 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFS.h +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFS.h @@ -30,6 +30,11 @@ int32_t tsdbOpenFileSystem(STsdb *pTsdb, struct STFileSystem **ppFS, int8_t roll int32_t tsdbCloseFileSystem(struct STFileSystem **ppFS); /* Exposed Structs */ +struct STFileSystem { + STsdb *pTsdb; + int32_t nFileSet; + struct SFileSet *aFileSet; +}; #ifdef __cplusplus } diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c b/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c index ca64d92cc3..39c65c8585 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c @@ -14,8 +14,3 @@ */ #include "dev.h" - -struct SFileSet { - struct STFile *files[TSDB_FTYPE_MAX]; - SRBTree fsttTree; -}; \ No newline at end of file diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFSet.h b/source/dnode/vnode/src/tsdb/dev/tsdbFSet.h index c64407a1ed..57cbd22609 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFSet.h +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFSet.h @@ -16,6 +16,8 @@ #ifndef _TSDB_FILE_SET_H #define _TSDB_FILE_SET_H +#include "tsdb.h" + #ifdef __cplusplus extern "C" { #endif @@ -26,6 +28,12 @@ struct SFileSet; /* Exposed APIs */ /* Exposed Structs */ +struct SFileSet { + int32_t fid; + int64_t nextid; + struct STFile *files[TSDB_FTYPE_MAX]; + SRBTree fsttTree; +}; #ifdef __cplusplus } diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFile.c b/source/dnode/vnode/src/tsdb/dev/tsdbFile.c index 08d5841e87..553eddc49d 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFile.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFile.c @@ -34,4 +34,15 @@ struct SFileOp { struct { } create; }; -}; \ No newline at end of file +}; + +int32_t tsdbTFileInit(STsdb *pTsdb, struct STFile *pFile) { + snprintf(pFile->fname, TSDB_FILENAME_LEN, "%s", pTsdb->path); + return 0; +} + +int32_t tsdbTFileClear(struct STFile *pFile) { + int32_t code = 0; + // TODO + return code; +} \ No newline at end of file diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFile.h b/source/dnode/vnode/src/tsdb/dev/tsdbFile.h index 32f91f8f39..74509ec169 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFile.h +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFile.h @@ -36,6 +36,8 @@ typedef enum { } tsdb_ftype_t; /* Exposed APIs */ +int32_t tsdbTFileInit(STsdb *pTsdb, struct STFile *pFile); +int32_t tsdbTFileClear(struct STFile *pFile); /* Exposed Structs */ struct FStt {