diff --git a/source/dnode/mnode/impl/inc/mndDef.h b/source/dnode/mnode/impl/inc/mndDef.h index c9228ae78552b3c8ebd663629fe8ee981bf4c1e8..b91dc03e48bc1a278b5d330422d872d473284bf6 100644 --- a/source/dnode/mnode/impl/inc/mndDef.h +++ b/source/dnode/mnode/impl/inc/mndDef.h @@ -304,8 +304,8 @@ typedef struct { int32_t nextColId; int32_t numOfColumns; int32_t numOfTags; - SSchema* pTags; SSchema* pColumns; + SSchema* pTags; SRWLatch lock; } SStbObj; diff --git a/source/dnode/mnode/impl/src/mndStb.c b/source/dnode/mnode/impl/src/mndStb.c index 7b21f33702889d96986f83a507d9c26c5b17ebe8..b5222ab3fc8c07d93e843001a5e6c8b68c406a96 100644 --- a/source/dnode/mnode/impl/src/mndStb.c +++ b/source/dnode/mnode/impl/src/mndStb.c @@ -262,7 +262,7 @@ static SDbObj *mndAcquireDbByStb(SMnode *pMnode, const char *stbName) { return mndAcquireDb(pMnode, db); } -static void *mndBuildCreateStbReq(SMnode *pMnode, SVgObj *pVgroup, SStbObj *pStb, int32_t *pContLen) { +static void *mndBuildVCreateStbReq(SMnode *pMnode, SVgObj *pVgroup, SStbObj *pStb, int32_t *pContLen) { SName name = {0}; tNameFromString(&name, pStb->name, T_NAME_ACCT | T_NAME_DB | T_NAME_TABLE); @@ -295,7 +295,7 @@ static void *mndBuildCreateStbReq(SMnode *pMnode, SVgObj *pVgroup, SStbObj *pStb return pHead; } -static void *mndBuildDropStbReq(SMnode *pMnode, SVgObj *pVgroup, SStbObj *pStb, int32_t *pContLen) { +static void *mndBuildVDropStbReq(SMnode *pMnode, SVgObj *pVgroup, SStbObj *pStb, int32_t *pContLen) { SName name = {0}; tNameFromString(&name, pStb->name, T_NAME_ACCT | T_NAME_DB | T_NAME_TABLE); @@ -346,7 +346,12 @@ static int32_t mndCheckCreateStbReq(SMCreateStbReq *pCreate) { return -1; } - int32_t maxColId = (TSDB_MAX_COLUMNS + TSDB_MAX_TAGS); + SSchema *pSchema = &pCreate->pSchemas[0]; + if (pSchema->type != TSDB_DATA_TYPE_TIMESTAMP) { + terrno = TSDB_CODE_MND_INVALID_STB_OPTION; + return -1; + } + for (int32_t i = 0; i < totalCols; ++i) { SSchema *pSchema = &pCreate->pSchemas[i]; if (pSchema->type < 0) { @@ -404,7 +409,7 @@ static int32_t mndSetCreateStbRedoActions(SMnode *pMnode, STrans *pTrans, SDbObj if (pIter == NULL) break; if (pVgroup->dbUid != pDb->uid) continue; - void *pReq = mndBuildCreateStbReq(pMnode, pVgroup, pStb, &contLen); + void *pReq = mndBuildVCreateStbReq(pMnode, pVgroup, pStb, &contLen); if (pReq == NULL) { sdbCancelFetch(pSdb, pIter); sdbRelease(pSdb, pVgroup); @@ -440,7 +445,7 @@ static int32_t mndSetCreateStbUndoActions(SMnode *pMnode, STrans *pTrans, SDbObj if (pVgroup->dbUid != pDb->uid) continue; int32_t contLen = 0; - void *pReq = mndBuildDropStbReq(pMnode, pVgroup, pStb, &contLen); + void *pReq = mndBuildVDropStbReq(pMnode, pVgroup, pStb, &contLen); if (pReq == NULL) { sdbCancelFetch(pSdb, pIter); sdbRelease(pSdb, pVgroup); @@ -891,7 +896,7 @@ static int32_t mndSetAlterStbRedoActions(SMnode *pMnode, STrans *pTrans, SDbObj if (pIter == NULL) break; if (pVgroup->dbUid != pDb->uid) continue; - void *pReq = mndBuildCreateStbReq(pMnode, pVgroup, pStb, &contLen); + void *pReq = mndBuildVCreateStbReq(pMnode, pVgroup, pStb, &contLen); if (pReq == NULL) { sdbCancelFetch(pSdb, pIter); sdbRelease(pSdb, pVgroup); @@ -1049,7 +1054,7 @@ static int32_t mndSetDropStbRedoActions(SMnode *pMnode, STrans *pTrans, SDbObj * if (pVgroup->dbUid != pDb->uid) continue; int32_t contLen = 0; - void *pReq = mndBuildDropStbReq(pMnode, pVgroup, pStb, &contLen); + void *pReq = mndBuildVDropStbReq(pMnode, pVgroup, pStb, &contLen); if (pReq == NULL) { sdbCancelFetch(pSdb, pIter); sdbRelease(pSdb, pVgroup);