From 11fb843de33a9feb6d2381a0958d84c142020255 Mon Sep 17 00:00:00 2001 From: Cary Xu Date: Sun, 12 Sep 2021 23:04:51 +0800 Subject: [PATCH] load data and aggrData --- src/tsdb/inc/tsdbReadImpl.h | 3 ++- src/tsdb/src/tsdbReadImpl.c | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/tsdb/inc/tsdbReadImpl.h b/src/tsdb/inc/tsdbReadImpl.h index baa0c6c81b..5ea96a2428 100644 --- a/src/tsdb/inc/tsdbReadImpl.h +++ b/src/tsdb/inc/tsdbReadImpl.h @@ -165,7 +165,7 @@ typedef struct { int32_t delimiter; // For recovery usage int32_t numOfCols; // For recovery usage uint64_t uid; // For recovery usage - SBlockCol cols[]; // latest definition + SBlockCol cols[]; } SBlockData; typedef struct { // int32_t delimiter; // For recovery usage @@ -239,6 +239,7 @@ int tsdbLoadBlockInfo(SReadH *pReadh, void **pTarget, int32_t *extendedLen); int tsdbLoadBlockData(SReadH *pReadh, SBlock *pBlock, SBlockInfo *pBlockInfo); int tsdbLoadBlockDataCols(SReadH *pReadh, SBlock *pBlock, SBlockInfo *pBlkInfo, int16_t *colIds, int numOfColsIds); int tsdbLoadBlockStatis(SReadH *pReadh, SBlock *pBlock); +// int tsdbLoadBlockHead(SReadH *pReadh, SBlock *pBlock); int tsdbEncodeSBlockIdx(void **buf, SBlockIdx *pIdx); void *tsdbDecodeSBlockIdx(void *buf, SBlockIdx *pIdx); void tsdbGetBlockStatis(SReadH *pReadh, SDataStatis *pStatis, int numOfCols, SBlock *pBlock); diff --git a/src/tsdb/src/tsdbReadImpl.c b/src/tsdb/src/tsdbReadImpl.c index 1c9d67bc41..3b09d7183f 100644 --- a/src/tsdb/src/tsdbReadImpl.c +++ b/src/tsdb/src/tsdbReadImpl.c @@ -417,7 +417,7 @@ int tsdbLoadBlockDataCols(SReadH *pReadh, SBlock *pBlock, SBlockInfo *pBlkInfo, return 0; } -static int tsdbLoadBlockStatisFromData(SReadH *pReadh, SBlock *pBlock) { +static int tsdbLoadBlockStatisFromDFile(SReadH *pReadh, SBlock *pBlock) { SDFile *pDFile = (pBlock->last) ? TSDB_READ_LAST_FILE(pReadh) : TSDB_READ_DATA_FILE(pReadh); if (tsdbSeekDFile(pDFile, pBlock->offset, SEEK_SET) < 0) { tsdbError("vgId:%d failed to load block statis part while seek file %s to offset %" PRId64 " since %s", @@ -498,11 +498,23 @@ int tsdbLoadBlockStatis(SReadH *pReadh, SBlock *pBlock) { ASSERT(pBlock->numOfSubBlocks <= 1); if (pBlock->blkVer == TSDB_SBLK_VER_0) { - return tsdbLoadBlockStatisFromData(pReadh, pBlock); + return tsdbLoadBlockStatisFromDFile(pReadh, pBlock); + } + if (tsdbLoadBlockStatisFromDFile(pReadh, pBlock) < 0) { + return -1; } return tsdbLoadBlockStatisFromAggr(pReadh, pBlock); } +// int tsdbLoadBlockHead(SReadH *pReadh, SBlock *pBlock) { +// ASSERT(pBlock->numOfSubBlocks <= 1); + +// if (pBlock->blkVer >= TSDB_SBLK_VER_1) { +// return tsdbLoadBlockStatisFromDFile(pReadh, pBlock); +// } +// return 0; +// } + int tsdbEncodeSBlockIdx(void **buf, SBlockIdx *pIdx) { int tlen = 0; -- GitLab