diff --git a/source/dnode/mgmt/impl/test/stb/stb.cpp b/source/dnode/mgmt/impl/test/stb/stb.cpp index c55e952a89..ca168fb6d7 100644 --- a/source/dnode/mgmt/impl/test/stb/stb.cpp +++ b/source/dnode/mgmt/impl/test/stb/stb.cpp @@ -68,7 +68,6 @@ TEST_F(DndTestStb, 01_Create_Show_Meta_Drop_Restart_Stb) { { SSchema* pSchema = &pReq->pSchema[0]; - pSchema->colId = htonl(0); pSchema->bytes = htonl(8); pSchema->type = TSDB_DATA_TYPE_TIMESTAMP; strcpy(pSchema->name, "ts"); @@ -76,7 +75,6 @@ TEST_F(DndTestStb, 01_Create_Show_Meta_Drop_Restart_Stb) { { SSchema* pSchema = &pReq->pSchema[1]; - pSchema->colId = htonl(1); pSchema->bytes = htonl(4); pSchema->type = TSDB_DATA_TYPE_INT; strcpy(pSchema->name, "col1"); @@ -84,7 +82,6 @@ TEST_F(DndTestStb, 01_Create_Show_Meta_Drop_Restart_Stb) { { SSchema* pSchema = &pReq->pSchema[2]; - pSchema->colId = htonl(2); pSchema->bytes = htonl(2); pSchema->type = TSDB_DATA_TYPE_TINYINT; strcpy(pSchema->name, "tag1"); @@ -92,7 +89,6 @@ TEST_F(DndTestStb, 01_Create_Show_Meta_Drop_Restart_Stb) { { SSchema* pSchema = &pReq->pSchema[3]; - pSchema->colId = htonl(3); pSchema->bytes = htonl(8); pSchema->type = TSDB_DATA_TYPE_BIGINT; strcpy(pSchema->name, "tag2"); @@ -100,7 +96,6 @@ TEST_F(DndTestStb, 01_Create_Show_Meta_Drop_Restart_Stb) { { SSchema* pSchema = &pReq->pSchema[4]; - pSchema->colId = htonl(4); pSchema->bytes = htonl(16); pSchema->type = TSDB_DATA_TYPE_BINARY; strcpy(pSchema->name, "tag3"); @@ -167,10 +162,42 @@ TEST_F(DndTestStb, 01_Create_Show_Meta_Drop_Restart_Stb) { { SSchema* pSchema = &pRsp->pSchema[0]; EXPECT_EQ(pSchema->type, TSDB_DATA_TYPE_TIMESTAMP); - EXPECT_EQ(pSchema->colId, 0); + EXPECT_EQ(pSchema->colId, 1); EXPECT_EQ(pSchema->bytes, 8); EXPECT_STREQ(pSchema->name, "ts"); } + + { + SSchema* pSchema = &pRsp->pSchema[1]; + EXPECT_EQ(pSchema->type, TSDB_DATA_TYPE_INT); + EXPECT_EQ(pSchema->colId, 2); + EXPECT_EQ(pSchema->bytes, 4); + EXPECT_STREQ(pSchema->name, "col1"); + } + + { + SSchema* pSchema = &pRsp->pSchema[2]; + EXPECT_EQ(pSchema->type, TSDB_DATA_TYPE_TINYINT); + EXPECT_EQ(pSchema->colId, 3); + EXPECT_EQ(pSchema->bytes, 2); + EXPECT_STREQ(pSchema->name, "tag1"); + } + + { + SSchema* pSchema = &pRsp->pSchema[3]; + EXPECT_EQ(pSchema->type, TSDB_DATA_TYPE_BIGINT); + EXPECT_EQ(pSchema->colId, 4); + EXPECT_EQ(pSchema->bytes, 8); + EXPECT_STREQ(pSchema->name, "tag2"); + } + + { + SSchema* pSchema = &pRsp->pSchema[4]; + EXPECT_EQ(pSchema->type, TSDB_DATA_TYPE_BINARY); + EXPECT_EQ(pSchema->colId, 5); + EXPECT_EQ(pSchema->bytes, 16); + EXPECT_STREQ(pSchema->name, "tag3"); + } } // restart diff --git a/source/dnode/mnode/impl/src/mndStb.c b/source/dnode/mnode/impl/src/mndStb.c index 97e91af937..6785b25b5c 100644 --- a/source/dnode/mnode/impl/src/mndStb.c +++ b/source/dnode/mnode/impl/src/mndStb.c @@ -291,7 +291,6 @@ static int32_t mndCheckCreateStbMsg(SCreateStbMsg *pCreate) { int32_t totalCols = pCreate->numOfColumns + pCreate->numOfTags; for (int32_t i = 0; i < totalCols; ++i) { SSchema *pSchema = &pCreate->pSchema[i]; - pSchema->colId = htonl(pSchema->colId); pSchema->bytes = htonl(pSchema->bytes); } @@ -317,10 +316,6 @@ static int32_t mndCheckCreateStbMsg(SCreateStbMsg *pCreate) { terrno = TSDB_CODE_MND_INVALID_STB_OPTION; return -1; } - if (pSchema->colId < 0 || pSchema->colId >= maxColId) { - terrno = TSDB_CODE_MND_INVALID_STB_OPTION; - return -1; - } if (pSchema->bytes <= 0) { terrno = TSDB_CODE_MND_INVALID_STB_OPTION; return -1; @@ -453,6 +448,10 @@ static int32_t mndCreateStb(SMnode *pMnode, SMnodeMsg *pMsg, SCreateStbMsg *pCre } memcpy(stbObj.pSchema, pCreate->pSchema, totalSize); + for (int32_t i = 0; i < totalCols; ++i) { + stbObj.pSchema[i].colId = i + 1; + } + int32_t code = 0; STrans *pTrans = mndTransCreate(pMnode, TRN_POLICY_ROLLBACK, &pMsg->rpcMsg); if (pTrans == NULL) {