From 0db6b12a47e16d16d1768cd9de5e24e1d0d5869a Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Thu, 13 Jan 2022 01:40:33 +0000 Subject: [PATCH 1/6] more tkv --- .../tkv/src/inc/tkvBtree.h} | 19 ++++++++++++++++++- source/libs/tkv/src/inc/tkvDB.h | 16 +++++++++++++++- .../tkv/src/inc/tkvHash.h} | 13 ++++++++----- 3 files changed, 41 insertions(+), 7 deletions(-) rename source/{dnode/vnode/src/vnd/vnodeRead.c => libs/tkv/src/inc/tkvBtree.h} (72%) rename source/{dnode/vnode/src/inc/vnodeRead.h => libs/tkv/src/inc/tkvHash.h} (81%) diff --git a/source/dnode/vnode/src/vnd/vnodeRead.c b/source/libs/tkv/src/inc/tkvBtree.h similarity index 72% rename from source/dnode/vnode/src/vnd/vnodeRead.c rename to source/libs/tkv/src/inc/tkvBtree.h index 5e9f89ccd5..6360e62c79 100644 --- a/source/dnode/vnode/src/vnd/vnodeRead.c +++ b/source/libs/tkv/src/inc/tkvBtree.h @@ -13,4 +13,21 @@ * along with this program. If not, see . */ -#include "vnodeDef.h" \ No newline at end of file +#ifndef _TD_TKV_BTREE_H_ +#define _TD_TKV_BTREE_H_ + +#include "tkvDef.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + pgid_t root; // root page number +} STkvBtree; + +#ifdef __cplusplus +} +#endif + +#endif /*_TD_TKV_BTREE_H_*/ \ No newline at end of file diff --git a/source/libs/tkv/src/inc/tkvDB.h b/source/libs/tkv/src/inc/tkvDB.h index 1a45702540..fc8219db3f 100644 --- a/source/libs/tkv/src/inc/tkvDB.h +++ b/source/libs/tkv/src/inc/tkvDB.h @@ -16,12 +16,26 @@ #ifndef _TD_TKV_DB_H_ #define _TD_TKV_DB_H_ +#include "tkvBtree.h" + #ifdef __cplusplus extern "C" { #endif +typedef enum { + TDB_BTREE = 0, + TDB_HASH, + TDB_HEAP, +} tdb_db_t; + struct TDB { - // TODO + pgsize_t pageSize; + + tdb_db_t type; // DB type + + union { + STkvBtree btree; + } dbimpl; }; #ifdef __cplusplus diff --git a/source/dnode/vnode/src/inc/vnodeRead.h b/source/libs/tkv/src/inc/tkvHash.h similarity index 81% rename from source/dnode/vnode/src/inc/vnodeRead.h rename to source/libs/tkv/src/inc/tkvHash.h index 5ce84b2ebf..06343b7ac9 100644 --- a/source/dnode/vnode/src/inc/vnodeRead.h +++ b/source/libs/tkv/src/inc/tkvHash.h @@ -13,18 +13,21 @@ * along with this program. If not, see . */ -#ifndef _TD_VNODE_READ_H_ -#define _TD_VNODE_READ_H_ +#ifndef _TD_TKV_HAHS_H_ +#define _TD_TKV_HAHS_H_ + +#include "tkvDef.h" #ifdef __cplusplus extern "C" { #endif -#include "vnodeInt.h" -void vnodeProcessReadMsg(SVnode *pVnode, SVnodeMsg *pMsg); +typedef struct STkvHash { + // TODO +} STkvHash; #ifdef __cplusplus } #endif -#endif /*_TD_VNODE_READ_H_*/ +#endif /*_TD_TKV_HAHS_H_*/ \ No newline at end of file From c31134216c9da4c07898b8bda25e9ff14419b1d4 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Thu, 13 Jan 2022 01:50:42 +0000 Subject: [PATCH 2/6] more --- source/libs/tkv/src/inc/tkvDB.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/libs/tkv/src/inc/tkvDB.h b/source/libs/tkv/src/inc/tkvDB.h index fc8219db3f..6fe9dabf05 100644 --- a/source/libs/tkv/src/inc/tkvDB.h +++ b/source/libs/tkv/src/inc/tkvDB.h @@ -17,6 +17,7 @@ #define _TD_TKV_DB_H_ #include "tkvBtree.h" +#include "tkvHash.h" #ifdef __cplusplus extern "C" { @@ -30,11 +31,10 @@ typedef enum { struct TDB { pgsize_t pageSize; - - tdb_db_t type; // DB type - + tdb_db_t type; union { STkvBtree btree; + STkvhash hash; } dbimpl; }; From c8c09c8a8cbee993c3c944a62f47fa96d64067aa Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Thu, 13 Jan 2022 02:12:24 +0000 Subject: [PATCH 3/6] refact --- source/libs/CMakeLists.txt | 2 +- source/libs/{tkv => tdb}/CMakeLists.txt | 8 ++++---- source/libs/{tkv/inc/tkv.h => tdb/inc/tdb.h} | 8 ++++---- .../src/inc/tkvBtree.h => tdb/src/inc/tdbBtree.h} | 8 ++++---- .../inc/tkvBufPool.h => tdb/src/inc/tdbBufPool.h} | 12 ++++++------ .../{tkv/src/inc/tkvDB.h => tdb/src/inc/tdbDB.h} | 10 +++++----- .../{tkv/src/inc/tkvDef.h => tdb/src/inc/tdbDef.h} | 6 +++--- .../inc/tkvDiskMgr.h => tdb/src/inc/tdbDiskMgr.h} | 2 +- .../{tkv/src/inc/tkvEnv.h => tdb/src/inc/tdbEnv.h} | 6 +++--- .../src/inc/tkvHash.h => tdb/src/inc/tdbHash.h} | 6 +++--- .../src/inc/tkvPage.h => tdb/src/inc/tdbPage.h} | 14 ++++---------- .../{tkv/src/tkvBufPool.c => tdb/src/tdbBufPool.c} | 2 +- .../{tkv/src/tDiskMgr.c => tdb/src/tdbDiskMgr.c} | 2 +- source/libs/{tkv => tdb}/test/tDiskMgrTest.cpp | 0 source/libs/{tkv => tdb}/test/tkvTests.cpp | 0 15 files changed, 40 insertions(+), 46 deletions(-) rename source/libs/{tkv => tdb}/CMakeLists.txt (79%) rename source/libs/{tkv/inc/tkv.h => tdb/inc/tdb.h} (91%) rename source/libs/{tkv/src/inc/tkvBtree.h => tdb/src/inc/tdbBtree.h} (89%) rename source/libs/{tkv/src/inc/tkvBufPool.h => tdb/src/inc/tdbBufPool.h} (82%) rename source/libs/{tkv/src/inc/tkvDB.h => tdb/src/inc/tdbDB.h} (88%) rename source/libs/{tkv/src/inc/tkvDef.h => tdb/src/inc/tdbDef.h} (93%) rename source/libs/{tkv/src/inc/tkvDiskMgr.h => tdb/src/inc/tdbDiskMgr.h} (98%) rename source/libs/{tkv/src/inc/tkvEnv.h => tdb/src/inc/tdbEnv.h} (91%) rename source/libs/{tkv/src/inc/tkvHash.h => tdb/src/inc/tdbHash.h} (93%) rename source/libs/{tkv/src/inc/tkvPage.h => tdb/src/inc/tdbPage.h} (77%) rename source/libs/{tkv/src/tkvBufPool.c => tdb/src/tdbBufPool.c} (98%) rename source/libs/{tkv/src/tDiskMgr.c => tdb/src/tdbDiskMgr.c} (98%) rename source/libs/{tkv => tdb}/test/tDiskMgrTest.cpp (100%) rename source/libs/{tkv => tdb}/test/tkvTests.cpp (100%) diff --git a/source/libs/CMakeLists.txt b/source/libs/CMakeLists.txt index 1dc16c74f7..1d23f333b2 100644 --- a/source/libs/CMakeLists.txt +++ b/source/libs/CMakeLists.txt @@ -1,6 +1,6 @@ add_subdirectory(transport) add_subdirectory(sync) -add_subdirectory(tkv) +add_subdirectory(tdb) add_subdirectory(index) add_subdirectory(wal) add_subdirectory(parser) diff --git a/source/libs/tkv/CMakeLists.txt b/source/libs/tdb/CMakeLists.txt similarity index 79% rename from source/libs/tkv/CMakeLists.txt rename to source/libs/tdb/CMakeLists.txt index fec3f37cd5..1832ea0b5d 100644 --- a/source/libs/tkv/CMakeLists.txt +++ b/source/libs/tdb/CMakeLists.txt @@ -1,17 +1,17 @@ -aux_source_directory(src TKV_SRC) -add_library(tkv STATIC ${TKV_SRC}) +aux_source_directory(src TDB_SRC) +add_library(tdb STATIC ${TDB_SRC}) # target_include_directories( # tkv # PUBLIC "${CMAKE_SOURCE_DIR}/include/libs/tkv" # PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/inc" # ) target_include_directories( - tkv + tdb PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/inc" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/src/inc" ) target_link_libraries( - tkv + tdb PUBLIC os PUBLIC util ) \ No newline at end of file diff --git a/source/libs/tkv/inc/tkv.h b/source/libs/tdb/inc/tdb.h similarity index 91% rename from source/libs/tkv/inc/tkv.h rename to source/libs/tdb/inc/tdb.h index 00534d2827..2f47f545b1 100644 --- a/source/libs/tkv/inc/tkv.h +++ b/source/libs/tdb/inc/tdb.h @@ -13,8 +13,8 @@ * along with this program. If not, see . */ -#ifndef _TD_TKV_H_ -#define _TD_TKV_H_ +#ifndef _TD_TDB_H_ +#define _TD_TDB_H_ #include "os.h" @@ -28,7 +28,7 @@ typedef struct TDB_ENV TDB_ENV; // SKey typedef struct { - void * bdata; + void* bdata; uint32_t size; } TDB_KEY, TDB_VALUE; @@ -36,4 +36,4 @@ typedef struct { } #endif -#endif /*_TD_TKV_H_*/ \ No newline at end of file +#endif /*_TD_TDB_H_*/ \ No newline at end of file diff --git a/source/libs/tkv/src/inc/tkvBtree.h b/source/libs/tdb/src/inc/tdbBtree.h similarity index 89% rename from source/libs/tkv/src/inc/tkvBtree.h rename to source/libs/tdb/src/inc/tdbBtree.h index 6360e62c79..c68f94bb48 100644 --- a/source/libs/tkv/src/inc/tkvBtree.h +++ b/source/libs/tdb/src/inc/tdbBtree.h @@ -13,8 +13,8 @@ * along with this program. If not, see . */ -#ifndef _TD_TKV_BTREE_H_ -#define _TD_TKV_BTREE_H_ +#ifndef _TD_TDB_BTREE_H_ +#define _TD_TDB_BTREE_H_ #include "tkvDef.h" @@ -24,10 +24,10 @@ extern "C" { typedef struct { pgid_t root; // root page number -} STkvBtree; +} TDB_BTREE; #ifdef __cplusplus } #endif -#endif /*_TD_TKV_BTREE_H_*/ \ No newline at end of file +#endif /*_TD_TDB_BTREE_H_*/ \ No newline at end of file diff --git a/source/libs/tkv/src/inc/tkvBufPool.h b/source/libs/tdb/src/inc/tdbBufPool.h similarity index 82% rename from source/libs/tkv/src/inc/tkvBufPool.h rename to source/libs/tdb/src/inc/tdbBufPool.h index ec8d177a9a..7fda5bf2e6 100644 --- a/source/libs/tkv/src/inc/tkvBufPool.h +++ b/source/libs/tdb/src/inc/tdbBufPool.h @@ -13,10 +13,10 @@ * along with this program. If not, see . */ -#ifndef _TD_TKV_BUF_POOL_H_ -#define _TD_TKV_BUF_POOL_H_ +#ifndef _TD_TDB_BUF_POOL_H_ +#define _TD_TDB_BUF_POOL_H_ -#include "tkvPage.h" +#include "tdbPage.h" #ifdef __cplusplus extern "C" { @@ -26,9 +26,9 @@ typedef struct STkvBufPool STkvBufPool; int tbpOpen(STkvBufPool **ppTkvBufPool); int tbpClose(STkvBufPool *pTkvBufPool); -STkvPage *tbpNewPage(STkvBufPool *pTkvBufPool); +STdbPage *tbpNewPage(STkvBufPool *pTkvBufPool); int tbpDelPage(STkvBufPool *pTkvBufPool); -STkvPage *tbpFetchPage(STkvBufPool *pTkvBufPool, pgid_t pgid); +STdbPage *tbpFetchPage(STkvBufPool *pTkvBufPool, pgid_t pgid); int tbpUnpinPage(STkvBufPool *pTkvBufPool, pgid_t pgid); void tbpFlushPages(STkvBufPool *pTkvBufPool); @@ -36,4 +36,4 @@ void tbpFlushPages(STkvBufPool *pTkvBufPool); } #endif -#endif /*_TD_TKV_BUF_POOL_H_*/ \ No newline at end of file +#endif /*_TD_TDB_BUF_POOL_H_*/ \ No newline at end of file diff --git a/source/libs/tkv/src/inc/tkvDB.h b/source/libs/tdb/src/inc/tdbDB.h similarity index 88% rename from source/libs/tkv/src/inc/tkvDB.h rename to source/libs/tdb/src/inc/tdbDB.h index 6fe9dabf05..40ddb1eb31 100644 --- a/source/libs/tkv/src/inc/tkvDB.h +++ b/source/libs/tdb/src/inc/tdbDB.h @@ -13,11 +13,11 @@ * along with this program. If not, see . */ -#ifndef _TD_TKV_DB_H_ -#define _TD_TKV_DB_H_ +#ifndef _TD_TDB_DB_H_ +#define _TD_TDB_DB_H_ -#include "tkvBtree.h" -#include "tkvHash.h" +#include "tdbBtree.h" +#include "tdbHash.h" #ifdef __cplusplus extern "C" { @@ -42,4 +42,4 @@ struct TDB { } #endif -#endif /*_TD_TKV_DB_H_*/ \ No newline at end of file +#endif /*_TD_TDB_DB_H_*/ \ No newline at end of file diff --git a/source/libs/tkv/src/inc/tkvDef.h b/source/libs/tdb/src/inc/tdbDef.h similarity index 93% rename from source/libs/tkv/src/inc/tkvDef.h rename to source/libs/tdb/src/inc/tdbDef.h index cd418019be..a04b8cc402 100644 --- a/source/libs/tkv/src/inc/tkvDef.h +++ b/source/libs/tdb/src/inc/tdbDef.h @@ -13,8 +13,8 @@ * along with this program. If not, see . */ -#ifndef _TD_TKV_DEF_H_ -#define _TD_TKV_DEF_H_ +#ifndef _TD_TDB_DEF_H_ +#define _TD_TDB_DEF_H_ #include "os.h" @@ -39,4 +39,4 @@ typedef int32_t pgsize_t; } #endif -#endif /*_TD_TKV_DEF_H_*/ \ No newline at end of file +#endif /*_TD_TDB_DEF_H_*/ \ No newline at end of file diff --git a/source/libs/tkv/src/inc/tkvDiskMgr.h b/source/libs/tdb/src/inc/tdbDiskMgr.h similarity index 98% rename from source/libs/tkv/src/inc/tkvDiskMgr.h rename to source/libs/tdb/src/inc/tdbDiskMgr.h index 2ebe98ace2..b83a147437 100644 --- a/source/libs/tkv/src/inc/tkvDiskMgr.h +++ b/source/libs/tdb/src/inc/tdbDiskMgr.h @@ -22,7 +22,7 @@ extern "C" { #include "os.h" -#include "tkvDef.h" +#include "tdbDef.h" typedef struct STkvDiskMgr STkvDiskMgr; diff --git a/source/libs/tkv/src/inc/tkvEnv.h b/source/libs/tdb/src/inc/tdbEnv.h similarity index 91% rename from source/libs/tkv/src/inc/tkvEnv.h rename to source/libs/tdb/src/inc/tdbEnv.h index eba442e5a5..f3e4ef5888 100644 --- a/source/libs/tkv/src/inc/tkvEnv.h +++ b/source/libs/tdb/src/inc/tdbEnv.h @@ -13,8 +13,8 @@ * along with this program. If not, see . */ -#ifndef _TD_TKV_ENV_H_ -#define _TD_TKV_ENV_H_ +#ifndef _TD_TDB_ENV_H_ +#define _TD_TDB_ENV_H_ #ifdef __cplusplus extern "C" { @@ -28,4 +28,4 @@ struct TDB_ENV { } #endif -#endif /*_TD_TKV_ENV_H_*/ \ No newline at end of file +#endif /*_TD_TDB_ENV_H_*/ \ No newline at end of file diff --git a/source/libs/tkv/src/inc/tkvHash.h b/source/libs/tdb/src/inc/tdbHash.h similarity index 93% rename from source/libs/tkv/src/inc/tkvHash.h rename to source/libs/tdb/src/inc/tdbHash.h index 06343b7ac9..fca19035f1 100644 --- a/source/libs/tkv/src/inc/tkvHash.h +++ b/source/libs/tdb/src/inc/tdbHash.h @@ -16,15 +16,15 @@ #ifndef _TD_TKV_HAHS_H_ #define _TD_TKV_HAHS_H_ -#include "tkvDef.h" +#include "tdbDef.h" #ifdef __cplusplus extern "C" { #endif -typedef struct STkvHash { +typedef struct { // TODO -} STkvHash; +} TDB_HASH; #ifdef __cplusplus } diff --git a/source/libs/tkv/src/inc/tkvPage.h b/source/libs/tdb/src/inc/tdbPage.h similarity index 77% rename from source/libs/tkv/src/inc/tkvPage.h rename to source/libs/tdb/src/inc/tdbPage.h index d596d215cd..e7245b6c39 100644 --- a/source/libs/tkv/src/inc/tkvPage.h +++ b/source/libs/tdb/src/inc/tdbPage.h @@ -17,30 +17,24 @@ #define _TD_TKV_PAGE_H_ #include "os.h" -#include "tkvDef.h" +#include "tdbDef.h" #ifdef __cplusplus extern "C" { #endif -typedef struct STkvPage { +typedef struct { pgid_t pgid; int32_t pinCount; bool idDirty; char* pData; -} STkvPage; +} STdbPage; typedef struct { uint16_t dbver; uint16_t pgsize; uint32_t cksm; -} STkvPgHdr; - -// typedef struct { -// SPgHdr chdr; -// uint16_t used; // number of used slots -// uint16_t loffset; // the offset of the starting location of the last slot used -// } SSlottedPgHdr; +} STdbPgHdr; #ifdef __cplusplus } diff --git a/source/libs/tkv/src/tkvBufPool.c b/source/libs/tdb/src/tdbBufPool.c similarity index 98% rename from source/libs/tkv/src/tkvBufPool.c rename to source/libs/tdb/src/tdbBufPool.c index 86bfa0ba3e..6ae3499064 100644 --- a/source/libs/tkv/src/tkvBufPool.c +++ b/source/libs/tdb/src/tdbBufPool.c @@ -26,7 +26,7 @@ struct SFrameIdWrapper { }; struct STkvBufPool { - STkvPage* pages; + STdbPage* pages; STkvDiskMgr* pDiskMgr; SHashObj* pgTb; // page_id_t --> frame_id_t TD_SLIST(SFrameIdWrapper) freeList; diff --git a/source/libs/tkv/src/tDiskMgr.c b/source/libs/tdb/src/tdbDiskMgr.c similarity index 98% rename from source/libs/tkv/src/tDiskMgr.c rename to source/libs/tdb/src/tdbDiskMgr.c index fa8f6062d8..71ab5f2589 100644 --- a/source/libs/tkv/src/tDiskMgr.c +++ b/source/libs/tdb/src/tdbDiskMgr.c @@ -13,7 +13,7 @@ * along with this program. If not, see . */ -#include "tkvDiskMgr.h" +#include "tdbDiskMgr.h" struct STkvDiskMgr { char * fname; diff --git a/source/libs/tkv/test/tDiskMgrTest.cpp b/source/libs/tdb/test/tDiskMgrTest.cpp similarity index 100% rename from source/libs/tkv/test/tDiskMgrTest.cpp rename to source/libs/tdb/test/tDiskMgrTest.cpp diff --git a/source/libs/tkv/test/tkvTests.cpp b/source/libs/tdb/test/tkvTests.cpp similarity index 100% rename from source/libs/tkv/test/tkvTests.cpp rename to source/libs/tdb/test/tkvTests.cpp From 3aae62f5dc55153df9081b01e54b9dfef3670294 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Thu, 13 Jan 2022 02:39:12 +0000 Subject: [PATCH 4/6] more --- source/libs/tdb/src/inc/tdbBufPool.h | 16 ++++++++-------- source/libs/tdb/src/tdbBufPool.c | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/source/libs/tdb/src/inc/tdbBufPool.h b/source/libs/tdb/src/inc/tdbBufPool.h index 7fda5bf2e6..5200d22faa 100644 --- a/source/libs/tdb/src/inc/tdbBufPool.h +++ b/source/libs/tdb/src/inc/tdbBufPool.h @@ -22,15 +22,15 @@ extern "C" { #endif -typedef struct STkvBufPool STkvBufPool; +typedef struct STdbBufPool STdbBufPool; -int tbpOpen(STkvBufPool **ppTkvBufPool); -int tbpClose(STkvBufPool *pTkvBufPool); -STdbPage *tbpNewPage(STkvBufPool *pTkvBufPool); -int tbpDelPage(STkvBufPool *pTkvBufPool); -STdbPage *tbpFetchPage(STkvBufPool *pTkvBufPool, pgid_t pgid); -int tbpUnpinPage(STkvBufPool *pTkvBufPool, pgid_t pgid); -void tbpFlushPages(STkvBufPool *pTkvBufPool); +int tbpOpen(STdbBufPool **ppTkvBufPool); +int tbpClose(STdbBufPool *pTkvBufPool); +STdbPage *tbpNewPage(STdbBufPool *pTkvBufPool); +int tbpDelPage(STdbBufPool *pTkvBufPool); +STdbPage *tbpFetchPage(STdbBufPool *pTkvBufPool, pgid_t pgid); +int tbpUnpinPage(STdbBufPool *pTkvBufPool, pgid_t pgid); +void tbpFlushPages(STdbBufPool *pTkvBufPool); #ifdef __cplusplus } diff --git a/source/libs/tdb/src/tdbBufPool.c b/source/libs/tdb/src/tdbBufPool.c index 6ae3499064..3eed100566 100644 --- a/source/libs/tdb/src/tdbBufPool.c +++ b/source/libs/tdb/src/tdbBufPool.c @@ -25,7 +25,7 @@ struct SFrameIdWrapper { frame_id_t id; }; -struct STkvBufPool { +struct STdbBufPool { STdbPage* pages; STkvDiskMgr* pDiskMgr; SHashObj* pgTb; // page_id_t --> frame_id_t From f1df5eaabfe8df2f9e527f39a9d14c537f46409f Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Thu, 13 Jan 2022 05:37:12 +0000 Subject: [PATCH 5/6] more refact --- source/dnode/vnode/src/inc/vnodeDef.h | 13 ++- source/dnode/vnode/src/inc/vnodeMAF.h | 32 ------ source/dnode/vnode/src/inc/vnodeRequest.h | 33 ------ source/dnode/vnode/src/inc/vnodeSync.h | 33 ------ source/dnode/vnode/src/meta/CMakeLists.txt | 46 -------- source/dnode/vnode/src/tq/CMakeLists.txt | 20 ---- source/dnode/vnode/src/tsdb/CMakeLists.txt | 34 ------ source/dnode/vnode/src/vnd/CMakeLists.txt | 24 ----- source/dnode/vnode/src/vnd/vnodeMgr.c | 2 +- source/dnode/vnode/src/vnd/vnodeRequest.c | 119 --------------------- source/dnode/vnode/src/vnd/vnodeSync.c | 14 --- 11 files changed, 11 insertions(+), 359 deletions(-) delete mode 100644 source/dnode/vnode/src/inc/vnodeMAF.h delete mode 100644 source/dnode/vnode/src/inc/vnodeRequest.h delete mode 100644 source/dnode/vnode/src/inc/vnodeSync.h delete mode 100644 source/dnode/vnode/src/meta/CMakeLists.txt delete mode 100644 source/dnode/vnode/src/tq/CMakeLists.txt delete mode 100644 source/dnode/vnode/src/tsdb/CMakeLists.txt delete mode 100644 source/dnode/vnode/src/vnd/CMakeLists.txt delete mode 100644 source/dnode/vnode/src/vnd/vnodeRequest.c delete mode 100644 source/dnode/vnode/src/vnd/vnodeSync.c diff --git a/source/dnode/vnode/src/inc/vnodeDef.h b/source/dnode/vnode/src/inc/vnodeDef.h index 1c534a8aeb..7054d5bc11 100644 --- a/source/dnode/vnode/src/inc/vnodeDef.h +++ b/source/dnode/vnode/src/inc/vnodeDef.h @@ -33,9 +33,7 @@ #include "vnodeFS.h" #include "vnodeMemAllocator.h" #include "vnodeQuery.h" -#include "vnodeRequest.h" #include "vnodeStateMgr.h" -#include "vnodeSync.h" #ifdef __cplusplus extern "C" { @@ -73,7 +71,6 @@ struct SVnode { STsdb* pTsdb; STQ* pTq; SWal* pWal; - SVnodeSync* pSync; SVnodeFS* pFs; tsem_t canCommit; SQHandle* pQuery; @@ -84,6 +81,16 @@ int vnodeScheduleTask(SVnodeTask* task); int32_t vnodePutReqToVQueryQ(SVnode *pVnode, struct SRpcMsg *pReq); +// For Log +extern int32_t vDebugFlag; + +#define vFatal(...) do { if (vDebugFlag & DEBUG_FATAL) { taosPrintLog("TDB FATAL ", 255, __VA_ARGS__); }} while(0) +#define vError(...) do { if (vDebugFlag & DEBUG_ERROR) { taosPrintLog("TDB ERROR ", 255, __VA_ARGS__); }} while(0) +#define vWarn(...) do { if (vDebugFlag & DEBUG_WARN) { taosPrintLog("TDB WARN ", 255, __VA_ARGS__); }} while(0) +#define vInfo(...) do { if (vDebugFlag & DEBUG_INFO) { taosPrintLog("TDB ", 255, __VA_ARGS__); }} while(0) +#define vDebug(...) do { if (vDebugFlag & DEBUG_DEBUG) { taosPrintLog("TDB ", tsdbDebugFlag, __VA_ARGS__); }} while(0) +#define vTrace(...) do { if (vDebugFlag & DEBUG_TRACE) { taosPrintLog("TDB ", tsdbDebugFlag, __VA_ARGS__); }} while(0) + #ifdef __cplusplus } #endif diff --git a/source/dnode/vnode/src/inc/vnodeMAF.h b/source/dnode/vnode/src/inc/vnodeMAF.h deleted file mode 100644 index 7aa405103c..0000000000 --- a/source/dnode/vnode/src/inc/vnodeMAF.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2019 TAOS Data, Inc. - * - * This program is free software: you can use, redistribute, and/or modify - * it under the terms of the GNU Affero General Public License, version 3 - * or later ("AGPL"), as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#ifndef _TD_VNODE_MAF_H_ -#define _TD_VNODE_MAF_H_ - -#include "vnode.h" - -#ifdef __cplusplus -extern "C" { -#endif - -int vnodeOpenMAF(SVnode *pVnode); -void vnodeCloseMAF(SVnode *pVnode); - -#ifdef __cplusplus -} -#endif - -#endif /*_TD_VNODE_MAF_H_*/ \ No newline at end of file diff --git a/source/dnode/vnode/src/inc/vnodeRequest.h b/source/dnode/vnode/src/inc/vnodeRequest.h deleted file mode 100644 index 52f4281eea..0000000000 --- a/source/dnode/vnode/src/inc/vnodeRequest.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2019 TAOS Data, Inc. - * - * This program is free software: you can use, redistribute, and/or modify - * it under the terms of the GNU Affero General Public License, version 3 - * or later ("AGPL"), as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#ifndef _TD_VNODE_REQUEST_H_ -#define _TD_VNODE_REQUEST_H_ - -#include "vnode.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// SVDropTbReq -// int vnodeBuildDropTableReq(void **buf, const SVDropTbReq *pReq); -// void *vnodeParseDropTableReq(void *buf, SVDropTbReq *pReq); - -#ifdef __cplusplus -} -#endif - -#endif /*_TD_VNODE_REQUEST_H_*/ \ No newline at end of file diff --git a/source/dnode/vnode/src/inc/vnodeSync.h b/source/dnode/vnode/src/inc/vnodeSync.h deleted file mode 100644 index e82979551d..0000000000 --- a/source/dnode/vnode/src/inc/vnodeSync.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2019 TAOS Data, Inc. - * - * This program is free software: you can use, redistribute, and/or modify - * it under the terms of the GNU Affero General Public License, version 3 - * or later ("AGPL"), as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#ifndef _TD_VNODE_SYNC_H_ -#define _TD_VNODE_SYNC_H_ - -// #include "sync.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { - /* data */ -} SVnodeSync; - -#ifdef __cplusplus -} -#endif - -#endif /*_TD_VNODE_SYNC_H_*/ \ No newline at end of file diff --git a/source/dnode/vnode/src/meta/CMakeLists.txt b/source/dnode/vnode/src/meta/CMakeLists.txt deleted file mode 100644 index 7041811617..0000000000 --- a/source/dnode/vnode/src/meta/CMakeLists.txt +++ /dev/null @@ -1,46 +0,0 @@ -set(META_DB_IMPL_LIST "BDB" "SQLITE") -set(META_DB_IMPL "BDB" CACHE STRING "Use BDB as the default META implementation") -set_property(CACHE META_DB_IMPL PROPERTY STRINGS ${META_DB_IMPL_LIST}) - -if(META_DB_IMPL IN_LIST META_DB_IMPL_LIST) - message(STATUS "META DB Impl: ${META_DB_IMPL}==============") -else() - message(FATAL_ERROR "Invalid META DB IMPL: ${META_DB_IMPL}==============") -endif() - -aux_source_directory(src META_SRC) -if(${META_DB_IMPL} STREQUAL "BDB") - list(REMOVE_ITEM META_SRC "src/metaSQLiteImpl.c") -elseif(${META_DB_IMPL} STREQUAL "SQLITE") - list(REMOVE_ITEM META_SRC "src/metaBDBImpl.c") -endif() - -add_library(meta STATIC ${META_SRC}) -target_include_directories( - meta - PUBLIC "${CMAKE_SOURCE_DIR}/include/dnode/vnode/meta" - PUBLIC "${CMAKE_SOURCE_DIR}/include/libs/index" - PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/inc" -) -target_link_libraries( - meta - PUBLIC common - PUBLIC index -) - -if(${META_DB_IMPL} STREQUAL "BDB") - target_link_libraries( - meta - PUBLIC bdb - ) -elseif(${META_DB_IMPL} STREQUAL "SQLITE") - target_link_libraries( - meta - PUBLIC sqlite - ) -endif() - - -if(${BUILD_TEST}) - add_subdirectory(test) -endif(${BUILD_TEST}) diff --git a/source/dnode/vnode/src/tq/CMakeLists.txt b/source/dnode/vnode/src/tq/CMakeLists.txt deleted file mode 100644 index 7cb7499d64..0000000000 --- a/source/dnode/vnode/src/tq/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -aux_source_directory(src TQ_SRC) -add_library(tq ${TQ_SRC}) -target_include_directories( - tq - PUBLIC "${CMAKE_SOURCE_DIR}/include/dnode/vnode/tq" - PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/inc" -) - -target_link_libraries( - tq - PUBLIC wal - PUBLIC os - PUBLIC util - PUBLIC common - PUBLIC transport -) - -if(${BUILD_TEST}) - add_subdirectory(test) -endif(${BUILD_TEST}) diff --git a/source/dnode/vnode/src/tsdb/CMakeLists.txt b/source/dnode/vnode/src/tsdb/CMakeLists.txt deleted file mode 100644 index e38ba1c466..0000000000 --- a/source/dnode/vnode/src/tsdb/CMakeLists.txt +++ /dev/null @@ -1,34 +0,0 @@ -aux_source_directory(src TSDB_SRC) -if(0) - add_library(tsdb ${TSDB_SRC}) -else(0) - add_library(tsdb STATIC "") - target_sources(tsdb - PRIVATE - "src/tsdbCommit.c" - "src/tsdbMain.c" - "src/tsdbMemTable.c" - "src/tsdbOptions.c" - "src/tsdbWrite.c" - "src/tsdbReadImpl.c" - "src/tsdbFile.c" - "src/tsdbFS.c" - "src/tsdbRead.c" - ) -endif(0) - -target_include_directories( - tsdb - PUBLIC "${CMAKE_SOURCE_DIR}/include/dnode/vnode/tsdb" - PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/inc" -) - -target_link_libraries( - tsdb - PUBLIC os - PUBLIC util - PUBLIC common - PUBLIC tkv - PUBLIC tfs - PUBLIC meta -) \ No newline at end of file diff --git a/source/dnode/vnode/src/vnd/CMakeLists.txt b/source/dnode/vnode/src/vnd/CMakeLists.txt deleted file mode 100644 index 944a4276db..0000000000 --- a/source/dnode/vnode/src/vnd/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -aux_source_directory(src VNODE_SRC) -add_library(vnode STATIC ${VNODE_SRC}) -target_include_directories( - vnode - PUBLIC "${CMAKE_SOURCE_DIR}/include/dnode/vnode" - private "${CMAKE_CURRENT_SOURCE_DIR}/inc" -) -target_link_libraries( - vnode - PUBLIC os - PUBLIC transport - PUBLIC meta - PUBLIC tq - PUBLIC tsdb - PUBLIC wal - PUBLIC sync - PUBLIC cjson - PUBLIC qworker -) - -# test -if(${BUILD_TEST}) -# add_subdirectory(test) -endif(${BUILD_TEST}) diff --git a/source/dnode/vnode/src/vnd/vnodeMgr.c b/source/dnode/vnode/src/vnd/vnodeMgr.c index fdb96e52e2..ce9e487076 100644 --- a/source/dnode/vnode/src/vnd/vnodeMgr.c +++ b/source/dnode/vnode/src/vnd/vnodeMgr.c @@ -41,7 +41,7 @@ int vnodeInit(const SVnodeOpt *pOption) { for (uint16_t i = 0; i < pOption->nthreads; i++) { pthread_create(&(vnodeMgr.threads[i]), NULL, loop, NULL); - pthread_setname_np(vnodeMgr.threads[i], "VND Commit Thread"); + // pthread_setname_np(vnodeMgr.threads[i], "VND Commit Thread"); } } else { // TODO: if no commit thread is set, then another mechanism should be diff --git a/source/dnode/vnode/src/vnd/vnodeRequest.c b/source/dnode/vnode/src/vnd/vnodeRequest.c deleted file mode 100644 index 5367c9e091..0000000000 --- a/source/dnode/vnode/src/vnd/vnodeRequest.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (c) 2019 TAOS Data, Inc. - * - * This program is free software: you can use, redistribute, and/or modify - * it under the terms of the GNU Affero General Public License, version 3 - * or later ("AGPL"), as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#include "vnodeDef.h" - -#if 0 - -static int vnodeBuildCreateTableReq(void **buf, const SVCreateTableReq *pReq); -static void *vnodeParseCreateTableReq(void *buf, SVCreateTableReq *pReq); - -int vnodeBuildReq(void **buf, const SVnodeReq *pReq, tmsg_t type) { - int tsize = 0; - - tsize += taosEncodeFixedU64(buf, pReq->ver); - switch (type) { - case TDMT_VND_CREATE_STB: - tsize += vnodeBuildCreateTableReq(buf, &(pReq->ctReq)); - break; - case TDMT_VND_SUBMIT: - /* code */ - break; - default: - break; - } - /* TODO */ - return tsize; -} - -void *vnodeParseReq(void *buf, SVnodeReq *pReq, tmsg_t type) { - buf = taosDecodeFixedU64(buf, &(pReq->ver)); - - switch (type) { - case TDMT_VND_CREATE_STB: - buf = vnodeParseCreateTableReq(buf, &(pReq->ctReq)); - break; - - default: - break; - } - - // TODO - return buf; -} - -static int vnodeBuildCreateTableReq(void **buf, const SVCreateTableReq *pReq) { - int tsize = 0; - - tsize += taosEncodeString(buf, pReq->name); - tsize += taosEncodeFixedU32(buf, pReq->ttl); - tsize += taosEncodeFixedU32(buf, pReq->keep); - tsize += taosEncodeFixedU8(buf, pReq->type); - - switch (pReq->type) { - case META_SUPER_TABLE: - tsize += taosEncodeFixedU64(buf, pReq->stbCfg.suid); - tsize += tdEncodeSchema(buf, pReq->stbCfg.pSchema); - tsize += tdEncodeSchema(buf, pReq->stbCfg.pTagSchema); - break; - case META_CHILD_TABLE: - tsize += taosEncodeFixedU64(buf, pReq->ctbCfg.suid); - tsize += tdEncodeKVRow(buf, pReq->ctbCfg.pTag); - break; - case META_NORMAL_TABLE: - tsize += tdEncodeSchema(buf, pReq->ntbCfg.pSchema); - break; - default: - break; - } - - return tsize; -} - -static void *vnodeParseCreateTableReq(void *buf, SVCreateTableReq *pReq) { - buf = taosDecodeString(buf, &(pReq->name)); - buf = taosDecodeFixedU32(buf, &(pReq->ttl)); - buf = taosDecodeFixedU32(buf, &(pReq->keep)); - buf = taosDecodeFixedU8(buf, &(pReq->type)); - - switch (pReq->type) { - case META_SUPER_TABLE: - buf = taosDecodeFixedU64(buf, &(pReq->stbCfg.suid)); - buf = tdDecodeSchema(buf, &(pReq->stbCfg.pSchema)); - buf = tdDecodeSchema(buf, &(pReq->stbCfg.pTagSchema)); - break; - case META_CHILD_TABLE: - buf = taosDecodeFixedU64(buf, &(pReq->ctbCfg.suid)); - buf = tdDecodeKVRow(buf, &(pReq->ctbCfg.pTag)); - break; - case META_NORMAL_TABLE: - buf = tdDecodeSchema(buf, &(pReq->ntbCfg.pSchema)); - break; - default: - break; - } - - return buf; -} - -int vnodeBuildDropTableReq(void **buf, const SVDropTbReq *pReq) { - // TODO - return 0; -} - -void *vnodeParseDropTableReq(void *buf, SVDropTbReq *pReq) { - // TODO -} -#endif \ No newline at end of file diff --git a/source/dnode/vnode/src/vnd/vnodeSync.c b/source/dnode/vnode/src/vnd/vnodeSync.c deleted file mode 100644 index 6dea4a4e57..0000000000 --- a/source/dnode/vnode/src/vnd/vnodeSync.c +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright (c) 2019 TAOS Data, Inc. - * - * This program is free software: you can use, redistribute, and/or modify - * it under the terms of the GNU Affero General Public License, version 3 - * or later ("AGPL"), as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ \ No newline at end of file From 093b982fa01b4d13349ed2315118f115de6b2550 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Thu, 13 Jan 2022 05:45:03 +0000 Subject: [PATCH 6/6] more refact --- source/dnode/vnode/src/inc/vnodeDef.h | 2 -- source/dnode/vnode/src/inc/vnodeFS.h | 47 ------------------------- source/dnode/vnode/src/inc/vnodeQuery.h | 3 +- source/dnode/vnode/src/vnd/vnodeFS.c | 16 --------- source/libs/tdb/src/tdbBufPool.c | 6 ++-- 5 files changed, 4 insertions(+), 70 deletions(-) delete mode 100644 source/dnode/vnode/src/inc/vnodeFS.h delete mode 100644 source/dnode/vnode/src/vnd/vnodeFS.c diff --git a/source/dnode/vnode/src/inc/vnodeDef.h b/source/dnode/vnode/src/inc/vnodeDef.h index 7054d5bc11..85563890fa 100644 --- a/source/dnode/vnode/src/inc/vnodeDef.h +++ b/source/dnode/vnode/src/inc/vnodeDef.h @@ -30,7 +30,6 @@ #include "vnodeBufferPool.h" #include "vnodeCfg.h" #include "vnodeCommit.h" -#include "vnodeFS.h" #include "vnodeMemAllocator.h" #include "vnodeQuery.h" #include "vnodeStateMgr.h" @@ -71,7 +70,6 @@ struct SVnode { STsdb* pTsdb; STQ* pTq; SWal* pWal; - SVnodeFS* pFs; tsem_t canCommit; SQHandle* pQuery; SDnode* pDnode; diff --git a/source/dnode/vnode/src/inc/vnodeFS.h b/source/dnode/vnode/src/inc/vnodeFS.h deleted file mode 100644 index dbec985695..0000000000 --- a/source/dnode/vnode/src/inc/vnodeFS.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2019 TAOS Data, Inc. - * - * This program is free software: you can use, redistribute, and/or modify - * it under the terms of the GNU Affero General Public License, version 3 - * or later ("AGPL"), as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#ifndef _TD_VNODE_FS_H_ -#define _TD_VNODE_FS_H_ - -#include "vnode.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { -} SDir; - -typedef struct { -} SFile; - -typedef struct SFS { - void *pImpl; - int (*startEdit)(struct SFS *); - int (*endEdit)(struct SFS *); -} SFS; - -typedef struct { -} SVnodeFS; - -int vnodeOpenFS(SVnode *pVnode); -void vnodeCloseFS(SVnode *pVnode); - -#ifdef __cplusplus -} -#endif - -#endif /*_TD_VNODE_FS_H_*/ \ No newline at end of file diff --git a/source/dnode/vnode/src/inc/vnodeQuery.h b/source/dnode/vnode/src/inc/vnodeQuery.h index d43f5b1cf1..9d40c34f00 100644 --- a/source/dnode/vnode/src/inc/vnodeQuery.h +++ b/source/dnode/vnode/src/inc/vnodeQuery.h @@ -19,12 +19,11 @@ #ifdef __cplusplus extern "C" { #endif -#include "vnodeInt.h" #include "qworker.h" +#include "vnode.h" typedef struct SQWorkerMgmt SQHandle; - int vnodeQueryOpen(SVnode *pVnode); #ifdef __cplusplus diff --git a/source/dnode/vnode/src/vnd/vnodeFS.c b/source/dnode/vnode/src/vnd/vnodeFS.c deleted file mode 100644 index 5e9f89ccd5..0000000000 --- a/source/dnode/vnode/src/vnd/vnodeFS.c +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2019 TAOS Data, Inc. - * - * This program is free software: you can use, redistribute, and/or modify - * it under the terms of the GNU Affero General Public License, version 3 - * or later ("AGPL"), as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#include "vnodeDef.h" \ No newline at end of file diff --git a/source/libs/tdb/src/tdbBufPool.c b/source/libs/tdb/src/tdbBufPool.c index 3eed100566..bc3c386b0f 100644 --- a/source/libs/tdb/src/tdbBufPool.c +++ b/source/libs/tdb/src/tdbBufPool.c @@ -16,9 +16,9 @@ #include "thash.h" #include "tlist.h" -#include "tkvBufPool.h" -#include "tkvDiskMgr.h" -#include "tkvPage.h" +#include "tdbBufPool.h" +#include "tdbDiskMgr.h" +#include "tdbPage.h" struct SFrameIdWrapper { TD_SLIST_NODE(SFrameIdWrapper);