From 8d7055b12392697f6c99d497a012548890f2a189 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Tue, 11 Apr 2023 17:04:52 +0800 Subject: [PATCH] more code --- source/dnode/vnode/src/tsdb/dev/tsdbFS.c | 26 ++++++++++++++-------- source/dnode/vnode/src/tsdb/dev/tsdbFS.h | 3 ++- source/dnode/vnode/src/tsdb/dev/tsdbFSet.c | 7 ++++++ source/dnode/vnode/src/tsdb/dev/tsdbFSet.h | 1 + 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFS.c b/source/dnode/vnode/src/tsdb/dev/tsdbFS.c index 72dec3b424..637afcf977 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFS.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFS.c @@ -345,25 +345,33 @@ static int32_t close_file_system(struct STFileSystem *pFS) { return 0; } -static int32_t read_fs_from_file(struct STFileSystem *pFS, const char *fname) { +static int32_t apply_edit(struct STFileSystem *pFS) { + int32_t code = 0; ASSERTS(0, "TODO: Not implemented yet"); - return 0; + return code; } static int32_t edit_fs(struct STFileSystem *pFS, const SArray *aFileOp) { + int32_t code = 0; + int32_t lino; + ASSERTS(0, "TODO: Not implemented yet"); + 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); - // if (pOp->op == TSDB_FS_OP_ADD) { - // ASSERTS(0, "TODO: Not implemented yet"); - // } else if (pOp->op == TSDB_FS_OP_DEL) { - // ASSERTS(0, "TODO: Not implemented yet"); - // } else { - // ASSERTS(0, "TODO: Not implemented yet"); - // } + + struct SFileSet *pSet = taosArraySearch(pFS->nState, NULL /* TODO */, NULL /* TODO */, TD_EQ); + TSDB_CHECK_CODE( // + code = tsdbEditFileSet(pSet, pOp), // + lino, // + _exit); } +_exit: return 0; } diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFS.h b/source/dnode/vnode/src/tsdb/dev/tsdbFS.h index e5c689406b..0e9428fdb4 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFS.h +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFS.h @@ -24,7 +24,8 @@ extern "C" { /* Exposed Handle */ struct STFileSystem { - STsdb *pTsdb; + STsdb *pTsdb; + // int32_t state; // TODO tsem_t canEdit; int64_t nextEditId; SArray *aFileSet; // SArray diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c b/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c index 26eef30c57..f2230a0bab 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFSet.c @@ -22,4 +22,11 @@ int32_t tsdbFileSetToJson(SJson *pJson, const struct SFileSet *pSet) { _exit: return code; +} + +int32_t tsdbEditFileSet(struct SFileSet *pFileSet, const struct SFileOp *pOp) { + int32_t code = 0; + ASSERTS(0, "TODO: Not implemented yet"); + // TODO + return code; } \ 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 60cf4e9d62..e57c0e3c91 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbFSet.h +++ b/source/dnode/vnode/src/tsdb/dev/tsdbFSet.h @@ -53,6 +53,7 @@ struct SFileSet { }; int32_t tsdbFileSetToJson(SJson *pJson, const struct SFileSet *pSet); +int32_t tsdbEditFileSet(struct SFileSet *pFileSet, const struct SFileOp *pOp); #ifdef __cplusplus }