未验证 提交 80cafbd0 编写于 作者: D dapan1121 提交者: GitHub

Merge pull request #21074 from taosdata/szhou/fix-td23833

fix: the latest schema may delete columns
...@@ -1218,9 +1218,10 @@ int32_t tBlockDataInit(SBlockData *pBlockData, TABLEID *pId, STSchema *pTSchema, ...@@ -1218,9 +1218,10 @@ int32_t tBlockDataInit(SBlockData *pBlockData, TABLEID *pId, STSchema *pTSchema,
int32_t iColumn = 1; int32_t iColumn = 1;
STColumn *pTColumn = &pTSchema->columns[iColumn]; STColumn *pTColumn = &pTSchema->columns[iColumn];
for (int32_t iCid = 0; iCid < nCid; iCid++) { for (int32_t iCid = 0; iCid < nCid; iCid++) {
if (ASSERTS(pTColumn != NULL, "invalid input param")) {
code = TSDB_CODE_INVALID_PARA; // aCid array (from taos client catalog) contains columns that does not exist in the pTSchema. the pTSchema is newer
goto _exit; if (pTColumn == NULL) {
continue;
} }
while (pTColumn->colId < aCid[iCid]) { while (pTColumn->colId < aCid[iCid]) {
...@@ -1229,9 +1230,8 @@ int32_t tBlockDataInit(SBlockData *pBlockData, TABLEID *pId, STSchema *pTSchema, ...@@ -1229,9 +1230,8 @@ int32_t tBlockDataInit(SBlockData *pBlockData, TABLEID *pId, STSchema *pTSchema,
pTColumn = &pTSchema->columns[iColumn]; pTColumn = &pTSchema->columns[iColumn];
} }
if (ASSERTS(pTColumn->colId == aCid[iCid], "invalid input param")) { if (pTColumn->colId != aCid[iCid]) {
code = TSDB_CODE_INVALID_PARA; continue;
goto _exit;
} }
tColDataInit(&pBlockData->aColData[iCid], pTColumn->colId, pTColumn->type, tColDataInit(&pBlockData->aColData[iCid], pTColumn->colId, pTColumn->type,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册