From c9dc9b317029282789b1f73bee6d8e6af4f491ca Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Mon, 8 May 2023 10:27:55 +0800 Subject: [PATCH] more code --- source/dnode/vnode/src/tsdb/dev/inc/tsdbDef.h | 4 +- source/dnode/vnode/src/tsdb/dev/inc/tsdbFS.h | 14 +- .../dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h | 31 +++-- .../dnode/vnode/src/tsdb/dev/inc/tsdbFile.h | 14 +- source/dnode/vnode/src/tsdb/dev/tsdbCommit.c | 12 +- source/dnode/vnode/src/tsdb/dev/tsdbFS.c | 120 +++++++++--------- source/dnode/vnode/src/tsdb/dev/tsdbFSet.c | 60 +-------- source/dnode/vnode/src/tsdb/dev/tsdbFile.c | 43 ++----- source/dnode/vnode/src/tsdb/dev/tsdbMerge.c | 12 +- source/util/src/tarray.c | 2 +- 10 files changed, 122 insertions(+), 190 deletions(-) diff --git a/source/dnode/vnode/src/tsdb/dev/inc/tsdbDef.h b/source/dnode/vnode/src/tsdb/dev/inc/tsdbDef.h index 2a6f826315..d9529a241d 100644 --- a/source/dnode/vnode/src/tsdb/dev/inc/tsdbDef.h +++ b/source/dnode/vnode/src/tsdb/dev/inc/tsdbDef.h @@ -13,11 +13,11 @@ * along with this program. If not, see . */ +#include "tsdb.h" + #ifndef _TD_TSDB_DEF_H_ #define _TD_TSDB_DEF_H_ -#include "tsdb.h" - #ifdef __cplusplus extern "C" { #endif diff --git a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFS.h b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFS.h index f52098944e..8cf98b1424 100644 --- a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFS.h +++ b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFS.h @@ -13,11 +13,11 @@ * along with this program. If not, see . */ +#include "tsdbFSet.h" + #ifndef _TSDB_FILE_SYSTEM_H #define _TSDB_FILE_SYSTEM_H -#include "tsdbFSet.h" - #ifdef __cplusplus extern "C" { #endif @@ -26,10 +26,8 @@ extern "C" { typedef struct STFileSystem STFileSystem; typedef enum { - TSDB_FS_EDIT_NONE = 0, - TSDB_FS_EDIT_COMMIT, - TSDB_FS_EDIT_MERGE, - TSDB_FS_EDIT_MAX, + TSDB_FS_EDIT_COMMIT = 1, // + TSDB_FS_EDIT_MERGE } tsdb_fs_edit_t; /* Exposed APIs */ @@ -47,8 +45,8 @@ struct STFileSystem { int32_t state; tsem_t canEdit; int64_t nextEditId; - SArray *aFileSet; // SArray - SArray *nState; // SArray + SArray *cstate; // current state + SArray *nstate; // next state }; #ifdef __cplusplus diff --git a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h index 9a88d207fe..ec6a0c8ba9 100644 --- a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h +++ b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h @@ -13,18 +13,17 @@ * along with this program. If not, see . */ +#include "tsdbFile.h" + #ifndef _TSDB_FILE_SET_H #define _TSDB_FILE_SET_H -#include "tsdbFile.h" - #ifdef __cplusplus extern "C" { #endif -typedef struct SFileSet SFileSet; -typedef struct SFileOp SFileOp; -typedef struct SSttLvl SSttLvl; +typedef struct STFileSet STFileSet; +typedef struct SFileOp SFileOp; typedef enum { TSDB_FOP_NONE = 0, @@ -34,10 +33,10 @@ typedef enum { TSDB_FOP_TRUNCATE, } tsdb_fop_t; -int32_t tsdbFileSetCreate(int32_t fid, SFileSet **ppSet); -int32_t tsdbFileSetEdit(SFileSet *pSet, SFileOp *pOp); -int32_t tsdbFileSetToJson(SJson *pJson, const SFileSet *pSet); -int32_t tsdbEditFileSet(SFileSet *pFileSet, const SFileOp *pOp); +int32_t tsdbFileSetCreate(int32_t fid, STFileSet **ppSet); +int32_t tsdbFileSetEdit(STFileSet *pSet, SFileOp *pOp); +int32_t tsdbFileSetToJson(SJson *pJson, const STFileSet *pSet); +int32_t tsdbEditFileSet(STFileSet *pFileSet, const SFileOp *pOp); struct SFileOp { tsdb_fop_t op; @@ -46,14 +45,14 @@ struct SFileOp { STFile nState; // new file state }; -struct SSttLvl { - int32_t level; - int32_t nStt; - STFile *fSttList; - LISTD(SSttLvl) listNode; -}; +typedef struct SSttLvl { + LISTD(struct SSttLvl) listNode; + int32_t lvl; // level + int32_t nStt; // number of .stt files on this level + STFile *fStt; // .stt files +} SSttLvl; -struct SFileSet { +struct STFileSet { int32_t fid; int64_t nextid; STFile *farr[TSDB_FTYPE_MAX]; // file array diff --git a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFile.h b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFile.h index 328d55f019..eae980befe 100644 --- a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFile.h +++ b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFile.h @@ -13,11 +13,11 @@ * along with this program. If not, see . */ +#include "tsdbDef.h" + #ifndef _TSDB_FILE_H #define _TSDB_FILE_H -#include "tsdbDef.h" - #ifdef __cplusplus extern "C" { #endif @@ -33,12 +33,12 @@ typedef enum { TSDB_FTYPE_STT, // .stt } tsdb_ftype_t; -int32_t tsdbTFileCreate(const struct STFile *config, struct STFile **ppFile); -int32_t tsdbTFileDestroy(struct STFile *pFile); -int32_t tsdbTFileInit(STsdb *pTsdb, struct STFile *pFile); -int32_t tsdbTFileClear(struct STFile *pFile); +int32_t tsdbTFileInit(STsdb *pTsdb, STFile *pFile); +int32_t tsdbTFileClear(STFile *pFile); struct STFile { + LISTD(STFile) listNode; + char fname[TSDB_FILENAME_LEN]; int32_t ref; int32_t state; @@ -53,8 +53,6 @@ struct STFile { int32_t nSeg; } stt; }; - - LISTD(STFile) listNode; }; #ifdef __cplusplus diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c b/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c index b711cb8bc0..0a627b394c 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c @@ -27,12 +27,12 @@ typedef struct { int8_t sttTrigger; SArray *aTbDataP; // context - TSKEY nextKey; - int32_t fid; - int32_t expLevel; - TSKEY minKey; - TSKEY maxKey; - SFileSet *pFileSet; + TSKEY nextKey; + int32_t fid; + int32_t expLevel; + TSKEY minKey; + TSKEY maxKey; + STFileSet *pFileSet; // writer SArray *aFileOp; SSttFileWriter *pWriter; diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFS.c b/source/dnode/vnode/src/tsdb/dev/tsdbFS.c index 275fb1bd47..12f7607272 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFS.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFS.c @@ -13,30 +13,45 @@ * along with this program. If not, see . */ -#include "dev.h" +#include "inc/tsdbFS.h" -static int32_t create_file_system(STsdb *pTsdb, struct STFileSystem **ppFS) { - if ((ppFS[0] = taosMemoryCalloc(1, sizeof(*ppFS[0]))) == NULL) { +#define TSDB_FS_EDIT_MIN TSDB_FS_EDIT_COMMIT +#define TSDB_FS_EDIT_MAX (TSDB_FS_EDIT_MERGE + 1) + +enum { + TSDB_FS_STATE_NONE = 0, + TSDB_FS_STATE_OPEN, + TSDB_FS_STATE_EDIT, + TSDB_FS_STATE_CLOSE, +}; + +static int32_t create_file_system(STsdb *pTsdb, STFileSystem **ppFS) { + ppFS[0] = taosMemoryCalloc(1, sizeof(*ppFS[0])); + if (ppFS[0] == NULL) { return TSDB_CODE_OUT_OF_MEMORY; } - if ((ppFS[0]->aFileSet = taosArrayInit(16, sizeof(struct SFileSet))) == NULL || - (ppFS[0]->nState = taosArrayInit(16, sizeof(struct SFileSet))) == NULL) { - taosArrayDestroy(ppFS[0]->nState); - taosArrayDestroy(ppFS[0]->aFileSet); + ppFS[0]->cstate = taosArrayInit(16, sizeof(STFileSet)); + ppFS[0]->nstate = taosArrayInit(16, sizeof(STFileSet)); + if (ppFS[0]->cstate == NULL || ppFS[0]->nstate == NULL) { + taosArrayDestroy(ppFS[0]->nstate); + taosArrayDestroy(ppFS[0]->cstate); taosMemoryFree(ppFS[0]); return TSDB_CODE_OUT_OF_MEMORY; } ppFS[0]->pTsdb = pTsdb; + ppFS[0]->state = TSDB_FS_STATE_NONE; tsem_init(&ppFS[0]->canEdit, 0, 1); + ppFS[0]->nextEditId = 0; return 0; } -static int32_t destroy_file_system(struct STFileSystem **ppFS) { +static int32_t destroy_file_system(STFileSystem **ppFS) { if (ppFS[0]) { - taosArrayDestroy(ppFS[0]->aFileSet); + taosArrayDestroy(ppFS[0]->nstate); + taosArrayDestroy(ppFS[0]->cstate); tsem_destroy(&ppFS[0]->canEdit); taosMemoryFree(ppFS[0]); ppFS[0] = NULL; @@ -110,7 +125,7 @@ static int32_t get_current_temp(STsdb *pTsdb, char fname[], tsdb_fs_edit_t etype return 0; } -static int32_t fs_to_json_str(struct STFileSystem *pFS, char **ppData) { +static int32_t fs_to_json_str(STFileSystem *pFS, char **ppData) { int32_t code = 0; int32_t lino; @@ -148,8 +163,8 @@ static int32_t fs_to_json_str(struct STFileSystem *pFS, char **ppData) { _exit, // TSDB_CODE_OUT_OF_MEMORY); - for (int32_t i = 0; i < taosArrayGetSize(pFS->nState); i++) { - struct SFileSet *pFileSet = taosArrayGet(pFS->nState, i); + for (int32_t i = 0; i < taosArrayGetSize(pFS->nstate); i++) { + struct STFileSet *pFileSet = taosArrayGet(pFS->nstate, i); code = tsdbFileSetToJson(aFileSetJson, pFileSet); TSDB_CHECK_CODE(code, lino, _exit); @@ -173,7 +188,7 @@ _exit: return code; } -static int32_t fs_from_json_str(const char *pData, struct STFileSystem *pFS) { +static int32_t fs_from_json_str(const char *pData, STFileSystem *pFS) { int32_t code = 0; int32_t lino; @@ -183,7 +198,7 @@ _exit: return code; } -static int32_t save_fs_to_file(struct STFileSystem *pFS, const char *fname) { +static int32_t save_fs_to_file(STFileSystem *pFS, const char *fname) { int32_t code = 0; int32_t lino; char *pData = NULL; @@ -234,12 +249,12 @@ _exit: return code; } -static int32_t load_fs_from_file(const char *fname, struct STFileSystem *pFS) { +static int32_t load_fs_from_file(const char *fname, STFileSystem *pFS) { ASSERTS(0, "TODO: Not implemented yet"); return 0; } -static int32_t commit_edit(struct STFileSystem *pFS, tsdb_fs_edit_t etype) { +static int32_t commit_edit(STFileSystem *pFS, tsdb_fs_edit_t etype) { int32_t code; char ofname[TSDB_FILENAME_LEN]; char nfname[TSDB_FILENAME_LEN]; @@ -258,7 +273,7 @@ static int32_t commit_edit(struct STFileSystem *pFS, tsdb_fs_edit_t etype) { return 0; } -static int32_t abort_edit(struct STFileSystem *pFS, tsdb_fs_edit_t etype) { +static int32_t abort_edit(STFileSystem *pFS, tsdb_fs_edit_t etype) { int32_t code; char fname[TSDB_FILENAME_LEN]; @@ -270,23 +285,24 @@ static int32_t abort_edit(struct STFileSystem *pFS, tsdb_fs_edit_t etype) { return code; } -static int32_t scan_file_system(struct STFileSystem *pFS) { +static int32_t scan_file_system(STFileSystem *pFS) { // ASSERTS(0, "TODO: Not implemented yet"); return 0; } -static int32_t scan_and_schedule_merge(struct STFileSystem *pFS) { +static int32_t scan_and_schedule_merge(STFileSystem *pFS) { // ASSERTS(0, "TODO: Not implemented yet"); return 0; } -static int32_t open_file_system(struct STFileSystem *pFS, int8_t rollback) { +static int32_t open_file_system(STFileSystem *pFS, int8_t rollback) { int32_t code = 0; - int32_t lino; + int32_t lino = 0; STsdb *pTsdb = pFS->pTsdb; - if (0) { - ASSERTS(0, "Not implemented yet"); + bool update = false; // TODO + if (update) { + // TODO } else { char current_json[TSDB_FILENAME_LEN]; char current_json_commit[TSDB_FILENAME_LEN]; @@ -330,31 +346,25 @@ static int32_t open_file_system(struct STFileSystem *pFS, int8_t rollback) { _exit: if (code) { - tsdbError("vgId:%d %s failed at line %d since %s", // - TD_VID(pTsdb->pVnode), // - __func__, // - lino, // - tstrerror(code)); + tsdbError("vgId:%d %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code)); } else { - tsdbInfo("vgId:%d %s success", // - TD_VID(pTsdb->pVnode), // - __func__); + tsdbInfo("vgId:%d %s success", TD_VID(pTsdb->pVnode), __func__); } return 0; } -static int32_t close_file_system(struct STFileSystem *pFS) { +static int32_t close_file_system(STFileSystem *pFS) { ASSERTS(0, "TODO: Not implemented yet"); return 0; } -static int32_t apply_edit(struct STFileSystem *pFS) { +static int32_t apply_edit(STFileSystem *pFS) { int32_t code = 0; ASSERTS(0, "TODO: Not implemented yet"); return code; } -static int32_t fset_cmpr_fn(const struct SFileSet *pSet1, const struct SFileSet *pSet2) { +static int32_t fset_cmpr_fn(const struct STFileSet *pSet1, const struct STFileSet *pSet2) { if (pSet1->fid < pSet2->fid) { return -1; } else if (pSet1->fid > pSet2->fid) { @@ -363,31 +373,31 @@ static int32_t fset_cmpr_fn(const struct SFileSet *pSet1, const struct SFileSet return 0; } -static int32_t edit_fs(struct STFileSystem *pFS, const SArray *aFileOp) { +static int32_t edit_fs(STFileSystem *pFS, const SArray *aFileOp) { int32_t code = 0; int32_t lino; - taosArrayClearEx(pFS->nState, NULL /* TODO */); + taosArrayClearEx(pFS->nstate, NULL /* TODO */); // TODO: copy current state to new state for (int32_t iop = 0; iop < taosArrayGetSize(aFileOp); iop++) { struct SFileOp *pOp = taosArrayGet(aFileOp, iop); - struct SFileSet tmpSet = {.fid = pOp->fid}; + struct STFileSet tmpSet = {.fid = pOp->fid}; int32_t idx = taosArraySearchIdx( // - pFS->nState, // + pFS->nstate, // &tmpSet, // (__compar_fn_t)fset_cmpr_fn, // TD_GE); - struct SFileSet *pSet; + struct STFileSet *pSet; if (idx < 0) { pSet = NULL; - idx = taosArrayGetSize(pFS->nState); + idx = taosArrayGetSize(pFS->nstate); } else { - pSet = taosArrayGet(pFS->nState, idx); + pSet = taosArrayGet(pFS->nstate, idx); } if (pSet == NULL || pSet->fid != pOp->fid) { @@ -397,7 +407,7 @@ static int32_t edit_fs(struct STFileSystem *pFS, const SArray *aFileOp) { lino, // _exit); - if (taosArrayInsert(pFS->nState, idx, pSet) == NULL) { + if (taosArrayInsert(pFS->nstate, idx, pSet) == NULL) { code = TSDB_CODE_OUT_OF_MEMORY; TSDB_CHECK_CODE(code, lino, _exit); } @@ -416,7 +426,7 @@ _exit: return 0; } -int32_t tsdbOpenFileSystem(STsdb *pTsdb, struct STFileSystem **ppFS, int8_t rollback) { +int32_t tsdbOpenFileSystem(STsdb *pTsdb, STFileSystem **ppFS, int8_t rollback) { int32_t code; int32_t lino; @@ -424,34 +434,26 @@ int32_t tsdbOpenFileSystem(STsdb *pTsdb, struct STFileSystem **ppFS, int8_t roll TSDB_CHECK_CODE(code, lino, _exit); code = open_file_system(ppFS[0], rollback); - if (code) { - destroy_file_system(ppFS); - TSDB_CHECK_CODE(code, lino, _exit); - } + 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)); + tsdbError("vgId:%d %s failed at line %d since %s", TD_VID(pTsdb->pVnode), __func__, lino, tstrerror(code)); + destroy_file_system(ppFS); } else { - tsdbInfo("vgId:%d %s success", // - TD_VID(pTsdb->pVnode), // - __func__); + tsdbInfo("vgId:%d %s success", TD_VID(pTsdb->pVnode), __func__); } return 0; } -int32_t tsdbCloseFileSystem(struct STFileSystem **ppFS) { +int32_t tsdbCloseFileSystem(STFileSystem **ppFS) { if (ppFS[0] == NULL) return 0; close_file_system(ppFS[0]); destroy_file_system(ppFS); return 0; } -int32_t tsdbFileSystemEditBegin(struct STFileSystem *pFS, const SArray *aFileOp, tsdb_fs_edit_t etype) { +int32_t tsdbFileSystemEditBegin(STFileSystem *pFS, const SArray *aFileOp, tsdb_fs_edit_t etype) { int32_t code = 0; int32_t lino; char fname[TSDB_FILENAME_LEN]; @@ -486,7 +488,7 @@ _exit: return code; } -int32_t tsdbFileSystemEditCommit(struct STFileSystem *pFS, tsdb_fs_edit_t etype) { +int32_t tsdbFileSystemEditCommit(STFileSystem *pFS, tsdb_fs_edit_t etype) { int32_t code = commit_edit(pFS, etype); tsem_post(&pFS->canEdit); if (code) { @@ -503,7 +505,7 @@ int32_t tsdbFileSystemEditCommit(struct STFileSystem *pFS, tsdb_fs_edit_t etype) return code; } -int32_t tsdbFileSystemEditAbort(struct STFileSystem *pFS, tsdb_fs_edit_t etype) { +int32_t tsdbFileSystemEditAbort(STFileSystem *pFS, tsdb_fs_edit_t etype) { int32_t code = abort_edit(pFS, etype); if (code) { tsdbError("vgId:%d %s failed since %s, etype:%d", // diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c b/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c index 1fd245ee80..d438ce2995 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c @@ -13,12 +13,12 @@ * along with this program. If not, see . */ -#include "dev.h" +#include "inc/tsdbFSet.h" -int32_t tsdbFileSetCreate(int32_t fid, struct SFileSet **ppSet) { +int32_t tsdbFileSetCreate(int32_t fid, struct STFileSet **ppSet) { int32_t code = 0; - ppSet[0] = taosMemoryCalloc(1, sizeof(struct SFileSet)); + ppSet[0] = taosMemoryCalloc(1, sizeof(struct STFileSet)); if (ppSet[0] == NULL) { code = TSDB_CODE_OUT_OF_MEMORY; goto _exit; @@ -30,59 +30,13 @@ _exit: return code; } -int32_t tsdbFileSetEdit(struct SFileSet *pSet, struct SFileOp *pOp) { +int32_t tsdbFileSetEdit(struct STFileSet *pSet, struct SFileOp *pOp) { int32_t code = 0; - int32_t lino; - - // switch (pOp->op) { - // case TSDB_FOP_CREATE: { - // struct STFile **ppFile; - // switch (pOp->nState.type) { - // case TSDB_FTYPE_HEAD: { - // ppFile = &pSet->fHead; - // } break; - // case TSDB_FTYPE_DATA: { - // ppFile = &pSet->fData; - // } break; - // case TSDB_FTYPE_SMA: { - // ppFile = &pSet->fSma; - // } break; - // case TSDB_FTYPE_TOMB: { - // ppFile = &pSet->fTomb; - // } break; - // case TSDB_FTYPE_STT: { - // // ppFile = &pSet->lStt[0].fStt; - // } break; - // default: { - // ASSERTS(0, "Invalid file type"); - // } break; - // } - - // TSDB_CHECK_CODE( // - // code = tsdbTFileCreate(&pOp->nState, ppFile), // - // lino, // - // _exit); - // } break; - - // case TSDB_FOP_DELETE: { - // ASSERTS(0, "TODO: Not implemented yet"); - // } break; - // case TSDB_FOP_TRUNCATE: { - // ASSERTS(0, "TODO: Not implemented yet"); - // } break; - // case TSDB_FOP_EXTEND: { - // ASSERTS(0, "TODO: Not implemented yet"); - // } break; - // default: { - // ASSERTS(0, "Invalid file operation"); - // } break; - // } - -_exit: + // TODO return code; } -int32_t tsdbFileSetToJson(SJson *pJson, const struct SFileSet *pSet) { +int32_t tsdbFileSetToJson(SJson *pJson, const struct STFileSet *pSet) { int32_t code = 0; ASSERTS(0, "TODO: Not implemented yet"); @@ -91,7 +45,7 @@ _exit: return code; } -int32_t tsdbEditFileSet(struct SFileSet *pFileSet, const struct SFileOp *pOp) { +int32_t tsdbEditFileSet(struct STFileSet *pFileSet, const struct SFileOp *pOp) { int32_t code = 0; ASSERTS(0, "TODO: Not implemented yet"); // TODO diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFile.c b/source/dnode/vnode/src/tsdb/dev/tsdbFile.c index 4d6a7322e5..3667bfce89 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFile.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFile.c @@ -13,40 +13,18 @@ * along with this program. If not, see . */ -#include "dev.h" +#include "inc/tsdbFile.h" const char *tsdb_ftype_suffix[] = { - ".head", // TSDB_FTYPE_HEAD - ".data", // TSDB_FTYPE_DATA - ".sma", // TSDB_FTYPE_SMA - ".tomb", // TSDB_FTYPE_TOMB - NULL, // TSDB_FTYPE_MAX - ".stt", // TSDB_FTYPE_STT + [TSDB_FTYPE_HEAD] = ".head", // + [TSDB_FTYPE_DATA] = ".data", // + [TSDB_FTYPE_SMA] = ".sma", // + [TSDB_FTYPE_TOMB] = ".tomb", // + [TSDB_FTYPE_MAX] = NULL, // + [TSDB_FTYPE_STT] = ".stt", }; -int32_t tsdbTFileCreate(const struct STFile *config, struct STFile **ppFile) { - int32_t code = 0; - int32_t lino; - - ppFile[0] = (struct STFile *)taosMemoryCalloc(1, sizeof(struct STFile)); - if (ppFile[0] == NULL) { - code = TSDB_CODE_OUT_OF_MEMORY; - goto _exit; - } - - ppFile[0][0] = config[0]; - -_exit: - return code; -} - -int32_t tsdbTFileDestroy(struct STFile *pFile) { - int32_t code = 0; - // TODO - return code; -} - -int32_t tsdbTFileInit(STsdb *pTsdb, struct STFile *pFile) { +int32_t tsdbTFileInit(STsdb *pTsdb, STFile *pFile) { SVnode *pVnode = pTsdb->pVnode; STfs *pTfs = pVnode->pTfs; @@ -77,4 +55,7 @@ int32_t tsdbTFileInit(STsdb *pTsdb, struct STFile *pFile) { return 0; } -int32_t tsdbTFileClear(struct STFile *pFile) { return 0; } \ No newline at end of file +int32_t tsdbTFileClear(STFile *pFile) { + // TODO + return 0; +} \ No newline at end of file diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbMerge.c b/source/dnode/vnode/src/tsdb/dev/tsdbMerge.c index 6f6a989e42..8bc892ef12 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbMerge.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbMerge.c @@ -16,8 +16,8 @@ #include "dev.h" typedef struct { - STsdb *pTsdb; - SFileSet *pSet; + STsdb *pTsdb; + STFileSet *pSet; SBlockData bData; @@ -39,13 +39,13 @@ static int32_t tsdbFileSystemShouldMerge(STsdb *pTsdb) { return 0; } -static int32_t tsdbFileSetShouldMerge(struct SFileSet *pSet) { +static int32_t tsdbFileSetShouldMerge(struct STFileSet *pSet) { ASSERTS(0, "TODO: not implemented yet"); // TODO return 0; } -static int32_t tsdbFileSetMerge(struct SFileSet *pFileSet) { +static int32_t tsdbFileSetMerge(struct STFileSet *pFileSet) { ASSERTS(0, "TODO: not implemented yet"); // TODO return 0; @@ -94,8 +94,8 @@ int32_t tsdbMerge(STsdb *pTsdb) { code = tsdbOpenMerger(pTsdb, &pMerger); TSDB_CHECK_CODE(code, lino, _exit) - for (int32_t i = 0; i < taosArrayGetSize(pTsdb->pFS->aFileSet); i++) { - struct SFileSet *pFileSet = taosArrayGet(pTsdb->pFS->aFileSet, i); + for (int32_t i = 0; i < taosArrayGetSize(pTsdb->pFS->cstate); i++) { + struct STFileSet *pFileSet = taosArrayGet(pTsdb->pFS->cstate, i); if (!tsdbFileSetShouldMerge(pFileSet)) { continue; } diff --git a/source/util/src/tarray.c b/source/util/src/tarray.c index b15bb519e7..ae2fb4d763 100644 --- a/source/util/src/tarray.c +++ b/source/util/src/tarray.c @@ -193,7 +193,7 @@ void* taosArrayGet(const SArray* pArray, size_t index) { } if (index >= pArray->size) { - uError("index is out of range, current:%"PRIzu" max:%d", index, pArray->capacity); + uError("index is out of range, current:%" PRIzu " max:%d", index, pArray->capacity); return NULL; }