From 81efe36d3058b945ab7b490aad2cb10ccd262cf9 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Sun, 23 Apr 2023 16:18:18 +0800 Subject: [PATCH] more code --- source/dnode/vnode/src/tsdb/dev/inc/tsdbDef.h | 19 ++++--- source/dnode/vnode/src/tsdb/dev/inc/tsdbFS.h | 2 +- .../dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h | 10 ++-- .../dnode/vnode/src/tsdb/dev/inc/tsdbFile.h | 2 +- .../src/tsdb/dev/inc/tsdbSttFReaderWriter.h | 49 +++++++++++++------ source/dnode/vnode/src/tsdb/dev/tsdbCommit.c | 2 +- .../src/tsdb/dev/tsdbDataFReaderWriter.c | 14 +++--- .../vnode/src/tsdb/dev/tsdbSttFReaderWriter.c | 18 +++---- 8 files changed, 69 insertions(+), 47 deletions(-) diff --git a/source/dnode/vnode/src/tsdb/dev/inc/tsdbDef.h b/source/dnode/vnode/src/tsdb/dev/inc/tsdbDef.h index f17dbcc605..2a6f826315 100644 --- a/source/dnode/vnode/src/tsdb/dev/inc/tsdbDef.h +++ b/source/dnode/vnode/src/tsdb/dev/inc/tsdbDef.h @@ -21,16 +21,19 @@ #ifdef __cplusplus extern "C" { #endif -typedef struct SFDataPtr { + +typedef struct SFDataPtr SFDataPtr; + +extern int32_t tsdbOpenFile(const char *path, int32_t szPage, int32_t flag, STsdbFD **ppFD); +extern void tsdbCloseFile(STsdbFD **ppFD); +extern int32_t tsdbWriteFile(STsdbFD *pFD, int64_t offset, const uint8_t *pBuf, int64_t size); +extern int32_t tsdbReadFile(STsdbFD *pFD, int64_t offset, uint8_t *pBuf, int64_t size); +extern int32_t tsdbFsyncFile(STsdbFD *pFD); + +struct SFDataPtr { int64_t offset; int64_t size; -} SFDataPtr; - -typedef struct { - int64_t prevFooter; - SFDataPtr dict[4]; // 0:bloom filter, 1:SSttBlk, 2:STbStatisBlk, 3:SDelBlk - uint8_t reserved[24]; -} SFSttFooter; +}; #ifdef __cplusplus } diff --git a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFS.h b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFS.h index 3584cf7e0e..f18109331e 100644 --- a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFS.h +++ b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFS.h @@ -16,7 +16,7 @@ #ifndef _TSDB_FILE_SYSTEM_H #define _TSDB_FILE_SYSTEM_H -#include "tsdbDef.h" +#include "tsdbFSet.h" #ifdef __cplusplus extern "C" { diff --git a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h index 6fb973635c..b51f341a50 100644 --- a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h +++ b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFSet.h @@ -16,7 +16,7 @@ #ifndef _TSDB_FILE_SET_H #define _TSDB_FILE_SET_H -#include "tsdbDef.h" +#include "tsdbFile.h" #ifdef __cplusplus extern "C" { @@ -33,10 +33,10 @@ typedef enum { } tsdb_fop_t; struct SFileOp { - tsdb_fop_t op; - int32_t fid; - struct STFile oState; // old file state - struct STFile nState; // new file state + tsdb_fop_t op; + int32_t fid; + STFile oState; // old file state + STFile nState; // new file state }; struct SSttLvl { diff --git a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFile.h b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFile.h index 2ccce655e9..dadfb59ded 100644 --- a/source/dnode/vnode/src/tsdb/dev/inc/tsdbFile.h +++ b/source/dnode/vnode/src/tsdb/dev/inc/tsdbFile.h @@ -66,7 +66,7 @@ struct STFile { } tomb; }; - LISTD(struct STFile) listNode; + LISTD(STFile) listNode; }; #ifdef __cplusplus diff --git a/source/dnode/vnode/src/tsdb/dev/inc/tsdbSttFReaderWriter.h b/source/dnode/vnode/src/tsdb/dev/inc/tsdbSttFReaderWriter.h index 01009d54b6..25a9e4de74 100644 --- a/source/dnode/vnode/src/tsdb/dev/inc/tsdbSttFReaderWriter.h +++ b/source/dnode/vnode/src/tsdb/dev/inc/tsdbSttFReaderWriter.h @@ -16,28 +16,47 @@ #ifndef _TSDB_STT_FILE_WRITER_H #define _TSDB_STT_FILE_WRITER_H -#include "tsdbDef.h" +#include "tsdbFS.h" #ifdef __cplusplus extern "C" { #endif -struct SSttFWriter; -struct SSttFWriterConf { - STsdb *pTsdb; - struct STFile file; - int32_t maxRow; - int32_t szPage; - int8_t cmprAlg; - SSkmInfo *pSkmTb; - SSkmInfo *pSkmRow; - uint8_t **aBuf; +// SSttFReader ========================================== +typedef struct SSttFReader SSttFReader; +typedef struct SSttFReaderConfig SSttFReaderConfig; + +int32_t tsdbSttFReaderOpen(const SSttFReaderConfig *config, SSttFReader **ppReader); +int32_t tsdbSttFReaderClose(SSttFReader **ppReader); + +// SSttFWriter ========================================== +typedef struct SSttFWriter SSttFWriter; +typedef struct SSttFWriterConfig SSttFWriterConfig; + +int32_t tsdbSttFWriterOpen(const SSttFWriterConfig *config, SSttFWriter **ppWriter); +int32_t tsdbSttFWriterClose(SSttFWriter **ppWriter, int8_t abort, struct SFileOp *op); +int32_t tsdbSttFWriteTSData(SSttFWriter *pWriter, TABLEID *tbid, TSDBROW *pRow); +int32_t tsdbSttFWriteDLData(SSttFWriter *pWriter, TABLEID *tbid, SDelData *pDelData); + +/* ------------------------------------------------- */ +struct SSttFWriterConfig { + STsdb *pTsdb; + STFile file; + int32_t maxRow; + int32_t szPage; + int8_t cmprAlg; + SSkmInfo *pSkmTb; + SSkmInfo *pSkmRow; + uint8_t **aBuf; }; -int32_t tsdbSttFWriterOpen(const struct SSttFWriterConf *pConf, struct SSttFWriter **ppWriter); -int32_t tsdbSttFWriterClose(struct SSttFWriter **ppWriter, int8_t abort, struct SFileOp *op); -int32_t tsdbSttFWriteTSData(struct SSttFWriter *pWriter, TABLEID *tbid, TSDBROW *pRow); -int32_t tsdbSttFWriteDLData(struct SSttFWriter *pWriter, TABLEID *tbid, SDelData *pDelData); +struct SSttFReaderConfig { + STsdb *pTsdb; + SSkmInfo *pSkmTb; + SSkmInfo *pSkmRow; + uint8_t **aBuf; + // TODO +}; #ifdef __cplusplus } diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c b/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c index e8bac47ae8..e0465db140 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbCommit.c @@ -44,7 +44,7 @@ static int32_t open_committer_writer(SCommitter *pCommitter) { STsdb *pTsdb = pCommitter->pTsdb; - struct SSttFWriterConf conf = { + struct SSttFWriterConfig conf = { .pTsdb = pCommitter->pTsdb, .maxRow = pCommitter->maxRow, .szPage = pCommitter->pTsdb->pVnode->config.tsdbPageSize, diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbDataFReaderWriter.c b/source/dnode/vnode/src/tsdb/dev/tsdbDataFReaderWriter.c index 433da91948..0e10d9735b 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbDataFReaderWriter.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbDataFReaderWriter.c @@ -15,11 +15,11 @@ #include "dev.h" -struct SDataFReader { - STsdb *pTsdb; - // TODO -}; +// struct SDataFReader { +// STsdb *pTsdb; +// // TODO +// }; -struct SDataFWriter { - STsdb *pTsdb; -}; \ No newline at end of file +// struct SDataFWriter { +// STsdb *pTsdb; +// }; \ No newline at end of file diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbSttFReaderWriter.c b/source/dnode/vnode/src/tsdb/dev/tsdbSttFReaderWriter.c index 5407130d9c..22a74de4cb 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbSttFReaderWriter.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbSttFReaderWriter.c @@ -15,16 +15,16 @@ #include "dev.h" -extern int32_t tsdbOpenFile(const char *path, int32_t szPage, int32_t flag, STsdbFD **ppFD); -extern void tsdbCloseFile(STsdbFD **ppFD); -extern int32_t tsdbWriteFile(STsdbFD *pFD, int64_t offset, const uint8_t *pBuf, int64_t size); -extern int32_t tsdbReadFile(STsdbFD *pFD, int64_t offset, uint8_t *pBuf, int64_t size); -extern int32_t tsdbFsyncFile(STsdbFD *pFD); +typedef struct { + int64_t prevFooter; + SFDataPtr dict[4]; // 0:bloom filter, 1:SSttBlk, 2:STbStatisBlk, 3:SDelBlk + uint8_t reserved[24]; +} SFSttFooter; struct SSttFWriter { - struct SSttFWriterConf config; + SSttFWriterConfig config; // file - struct STFile tFile; + STFile tFile; // data SFSttFooter footer; SBlockData bData; @@ -325,7 +325,7 @@ static int32_t write_file_header(struct SSttFWriter *pWriter) { return 0; } -static int32_t create_stt_fwriter(const struct SSttFWriterConf *pConf, struct SSttFWriter **ppWriter) { +static int32_t create_stt_fwriter(const SSttFWriterConfig *pConf, struct SSttFWriter **ppWriter) { int32_t code = 0; // alloc @@ -449,7 +449,7 @@ static int32_t close_stt_fwriter(struct SSttFWriter *pWriter) { return 0; } -int32_t tsdbSttFWriterOpen(const struct SSttFWriterConf *pConf, struct SSttFWriter **ppWriter) { +int32_t tsdbSttFWriterOpen(const SSttFWriterConfig *pConf, struct SSttFWriter **ppWriter) { int32_t code = 0; int32_t lino;