From fea6562a299973197b75ef63a7f8131db59e8377 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Sat, 25 Dec 2021 16:54:28 +0800 Subject: [PATCH] more --- include/dnode/vnode/meta/meta.h | 35 ++---------------------- source/dnode/vnode/impl/CMakeLists.txt | 2 +- source/dnode/vnode/impl/src/vnodeWrite.c | 14 +++++----- source/dnode/vnode/meta/inc/metaTbCfg.h | 8 +++--- source/dnode/vnode/meta/src/metaTable.c | 2 +- source/dnode/vnode/meta/src/metaTbCfg.c | 2 +- 6 files changed, 16 insertions(+), 47 deletions(-) diff --git a/include/dnode/vnode/meta/meta.h b/include/dnode/vnode/meta/meta.h index 3d618862b6..d9f5a3ff09 100644 --- a/include/dnode/vnode/meta/meta.h +++ b/include/dnode/vnode/meta/meta.h @@ -19,6 +19,7 @@ #include "mallocator.h" #include "os.h" #include "trow.h" +#include "tmsg.h" #ifdef __cplusplus extern "C" { @@ -36,39 +37,7 @@ typedef struct SMetaCfg { uint64_t lruSize; } SMetaCfg; -typedef struct STbCfg { - /// name of the table - char *name; - /// time to live of the table - uint32_t ttl; - /// keep time of this table - uint32_t keep; - /// type of table - uint8_t type; - union { - /// super table configurations - struct { - /// super table UID - tb_uid_t suid; - /// row schema - STSchema *pSchema; - /// tag schema - STSchema *pTagSchema; - } stbCfg; - - /// normal table configuration - struct { - /// row schema - STSchema *pSchema; - } ntbCfg; - /// child table configuration - struct { - /// super table UID - tb_uid_t suid; - SKVRow pTag; - } ctbCfg; - }; -} STbCfg; +typedef SVCreateTbReq STbCfg; // SMeta operations SMeta *metaOpen(const char *path, const SMetaCfg *pMetaCfg, SMemAllocatorFactory *pMAF); diff --git a/source/dnode/vnode/impl/CMakeLists.txt b/source/dnode/vnode/impl/CMakeLists.txt index 9e892bc4c4..944a4276db 100644 --- a/source/dnode/vnode/impl/CMakeLists.txt +++ b/source/dnode/vnode/impl/CMakeLists.txt @@ -20,5 +20,5 @@ target_link_libraries( # test if(${BUILD_TEST}) - add_subdirectory(test) +# add_subdirectory(test) endif(${BUILD_TEST}) diff --git a/source/dnode/vnode/impl/src/vnodeWrite.c b/source/dnode/vnode/impl/src/vnodeWrite.c index 5b48a9f274..18a808f955 100644 --- a/source/dnode/vnode/impl/src/vnodeWrite.c +++ b/source/dnode/vnode/impl/src/vnodeWrite.c @@ -51,8 +51,9 @@ int vnodeProcessWMsgs(SVnode *pVnode, SArray *pMsgs) { } int vnodeApplyWMsg(SVnode *pVnode, SRpcMsg *pMsg, SRpcMsg **pRsp) { - SVnodeReq vReq; - void * ptr = vnodeMalloc(pVnode, pMsg->contLen); + SVnodeReq vReq; + SVCreateTbReq vCreateTbReq; + void * ptr = vnodeMalloc(pVnode, pMsg->contLen); if (ptr == NULL) { // TODO: handle error } @@ -62,17 +63,15 @@ int vnodeApplyWMsg(SVnode *pVnode, SRpcMsg *pMsg, SRpcMsg **pRsp) { // todo: change the interface here uint64_t ver; - taosDecodeFixedU64(pMsg->pCont, &ver); + taosDecodeFixedU64(POINTER_SHIFT(pMsg->pCont, sizeof(SMsgHead)), &ver); if (tqPushMsg(pVnode->pTq, ptr, ver) < 0) { // TODO: handle error } - vnodeParseReq(pMsg->pCont, &vReq, pMsg->msgType); - switch (pMsg->msgType) { case TDMT_VND_CREATE_STB: - case TDMT_MND_CREATE_TABLE: - if (metaCreateTable(pVnode->pMeta, &(vReq.ctReq)) < 0) { + tDeserializeSVCreateTbReq(POINTER_SHIFT(pMsg->pCont, sizeof(SMsgHead)), &vCreateTbReq); + if (metaCreateTable(pVnode->pMeta, &(vCreateTbReq)) < 0) { // TODO: handle error } @@ -90,6 +89,7 @@ int vnodeApplyWMsg(SVnode *pVnode, SRpcMsg *pMsg, SRpcMsg **pRsp) { } break; default: + ASSERT(0); break; } diff --git a/source/dnode/vnode/meta/inc/metaTbCfg.h b/source/dnode/vnode/meta/inc/metaTbCfg.h index 68c609d6b4..b4ee095967 100644 --- a/source/dnode/vnode/meta/inc/metaTbCfg.h +++ b/source/dnode/vnode/meta/inc/metaTbCfg.h @@ -22,11 +22,11 @@ extern "C" { #endif -#define META_SUPER_TABLE 0 -#define META_CHILD_TABLE 1 -#define META_NORMAL_TABLE 2 +#define META_SUPER_TABLE TD_SUPER_TABLE +#define META_CHILD_TABLE TD_CHILD_TABLE +#define META_NORMAL_TABLE TD_NORMAL_TABLE -int metaValidateTbOptions(SMeta *pMeta, const STbCfg *); +int metaValidateTbCfg(SMeta *pMeta, const STbCfg *); size_t metaEncodeTbObjFromTbOptions(const STbCfg *, void *pBuf, size_t bsize); #ifdef __cplusplus diff --git a/source/dnode/vnode/meta/src/metaTable.c b/source/dnode/vnode/meta/src/metaTable.c index fc0f19302f..1398639f39 100644 --- a/source/dnode/vnode/meta/src/metaTable.c +++ b/source/dnode/vnode/meta/src/metaTable.c @@ -17,7 +17,7 @@ int metaCreateTable(SMeta *pMeta, STbCfg *pTbCfg) { // Validate the tbOptions - if (metaValidateTbOptions(pMeta, pTbCfg) < 0) { + if (metaValidateTbCfg(pMeta, pTbCfg) < 0) { // TODO: handle error return -1; } diff --git a/source/dnode/vnode/meta/src/metaTbCfg.c b/source/dnode/vnode/meta/src/metaTbCfg.c index da181a68fc..6f8a537966 100644 --- a/source/dnode/vnode/meta/src/metaTbCfg.c +++ b/source/dnode/vnode/meta/src/metaTbCfg.c @@ -16,7 +16,7 @@ #include "metaDef.h" #include "tcoding.h" -int metaValidateTbOptions(SMeta *pMeta, const STbCfg *pTbOptions) { +int metaValidateTbCfg(SMeta *pMeta, const STbCfg *pTbOptions) { // TODO return 0; }