From 671f613c02ad5df7bb5ad145f3c1db17a3a58071 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Tue, 31 May 2022 10:20:58 +0000 Subject: [PATCH] feat: tsdb multi-version --- source/dnode/vnode/src/inc/tsdb.h | 4 ++-- source/dnode/vnode/src/tsdb/tsdbMemTable2.c | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/source/dnode/vnode/src/inc/tsdb.h b/source/dnode/vnode/src/inc/tsdb.h index fe6ecdcbb1..4f22ce768f 100644 --- a/source/dnode/vnode/src/inc/tsdb.h +++ b/source/dnode/vnode/src/inc/tsdb.h @@ -857,8 +857,8 @@ static FORCE_INLINE int tsdbUnLockFS(STsdbFS *pFs) { } struct TSDBROW { - int64_t version; - STSRow2 *pRow; + int64_t version; + STSRow2 tsRow; }; struct TSDBKEY { diff --git a/source/dnode/vnode/src/tsdb/tsdbMemTable2.c b/source/dnode/vnode/src/tsdb/tsdbMemTable2.c index 049364e9d7..aab190b0bb 100644 --- a/source/dnode/vnode/src/tsdb/tsdbMemTable2.c +++ b/source/dnode/vnode/src/tsdb/tsdbMemTable2.c @@ -81,6 +81,7 @@ int32_t tsdbInsertTableData2(STsdb *pTsdb, int64_t version, SVSubmitBlk *pSubmit int32_t code = 0; SMemTable *pMemTable = (SMemTable *)pTsdb->mem; // TODO SMemData *pMemData; + TSDBROW row = {.version = version}; ASSERT(pMemTable); @@ -95,6 +96,15 @@ int32_t tsdbInsertTableData2(STsdb *pTsdb, int64_t version, SVSubmitBlk *pSubmit } // do insert + uint32_t n = 0; + uint8_t *p = pSubmitBlk->pData; + while (n < pSubmitBlk->nData) { + n += tGetTSRow(p + n, &row.tsRow); + + ASSERT(n <= pSubmitBlk->nData); + + // TODO + } return code;