From 0404810252b575cb9a3d34b7491636be29eafe0e Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Wed, 29 Mar 2023 17:34:36 +0800 Subject: [PATCH] more code --- .../dnode/vnode/src/tsdb/dev/tsdbSttFWriter.c | 23 ++++++++++++++----- source/dnode/vnode/src/tsdb/dev/tsdbUtil.h | 19 +++++++++++++-- 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbSttFWriter.c b/source/dnode/vnode/src/tsdb/dev/tsdbSttFWriter.c index 1fbb5c6f36..379d29d2b1 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbSttFWriter.c +++ b/source/dnode/vnode/src/tsdb/dev/tsdbSttFWriter.c @@ -21,14 +21,25 @@ extern int32_t tsdbWriteFile(STsdbFD *pFD, int64_t offset, const uint8_t *pBuf, extern int32_t tsdbReadFile(STsdbFD *pFD, int64_t offset, uint8_t *pBuf, int64_t size); extern int32_t tsdbFsyncFile(STsdbFD *pFD); +typedef struct { + struct { + int64_t offset; + int64_t size; + } dict[4]; // 0:bloom filter, 1:SSttBlk, 2:SDelBlk, 3:STbStatisBlk + uint8_t reserved[32]; +} SFSttFooter; + struct SSttFWriter { struct SSttFWriterConf config; - // time-series data - SBlockData bData; - SArray *aSttBlk; // SArray - // tombstone data - SDelBlock dData; - SArray *aDelBlk; // SArray + // data + SBlockData bData; + SDelBlock dData; + STbStatisBlock sData; + SArray *aSttBlk; // SArray + SArray *aDelBlk; // SArray + SArray *aStatisBlk; // SArray + void *bloomFilter; + SFSttFooter footer; // helper data SSkmInfo skmTb; SSkmInfo skmRow; diff --git a/source/dnode/vnode/src/tsdb/dev/tsdbUtil.h b/source/dnode/vnode/src/tsdb/dev/tsdbUtil.h index b05dc74666..dbdb7b7463 100644 --- a/source/dnode/vnode/src/tsdb/dev/tsdbUtil.h +++ b/source/dnode/vnode/src/tsdb/dev/tsdbUtil.h @@ -23,8 +23,10 @@ extern "C" { #endif /* Exposed Handle */ -typedef struct SDelBlock SDelBlock; -typedef struct SDelBlk SDelBlk; +typedef struct SDelBlock SDelBlock; +typedef struct SDelBlk SDelBlk; +typedef struct STbStatisBlock STbStatisBlock; +typedef struct STbStatisBlk STbStatisBlk; /* Exposed APIs */ int32_t tDelBlockCreate(SDelBlock *pDelBlock, int32_t capacity); @@ -51,6 +53,19 @@ struct SDelBlk { int64_t verMax; int64_t verMin; }; +struct STbStatisBlock { + int32_t capacity; + int32_t nRow; + int64_t *aData[7]; // [suid, uid, skey, sver, ekey, ever, count] +}; +struct STbStatisBlk { + int64_t suidMax; + int64_t suidMin; + int64_t uidMax; + int64_t uidMin; + int64_t offset; + int64_t size; +}; #ifdef __cplusplus }