fix: cannot modify columns used by topic
This commit is contained in:
parent
aeb4950a28
commit
41d9c89b8e
|
@ -1108,7 +1108,7 @@ static int32_t mndDropSuperTableColumn(SMnode *pMnode, const SStbObj *pOld, SStb
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
col_id_t colId = pOld->pTags[col].colId;
|
col_id_t colId = pOld->pColumns[col].colId;
|
||||||
if (mndCheckColAndTagModifiable(pMnode, pOld->uid, colId) != 0) {
|
if (mndCheckColAndTagModifiable(pMnode, pOld->uid, colId) != 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -1142,7 +1142,7 @@ static int32_t mndAlterStbColumnBytes(SMnode *pMnode, const SStbObj *pOld, SStbO
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
col_id_t colId = pOld->pTags[col].colId;
|
col_id_t colId = pOld->pColumns[col].colId;
|
||||||
if (mndCheckColAndTagModifiable(pMnode, pOld->uid, colId) != 0) {
|
if (mndCheckColAndTagModifiable(pMnode, pOld->uid, colId) != 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,7 +91,7 @@ int32_t mndCheckColAndTagModifiable(SMnode *pMnode, int64_t suid, col_id_t colId
|
||||||
}
|
}
|
||||||
|
|
||||||
SHashObj *pColHash = NULL;
|
SHashObj *pColHash = NULL;
|
||||||
SNodeList *pNodeList;
|
SNodeList *pNodeList = NULL;
|
||||||
nodesCollectColumns((SSelectStmt *)pAst, SQL_CLAUSE_FROM, NULL, COLLECT_COL_TYPE_ALL, &pNodeList);
|
nodesCollectColumns((SSelectStmt *)pAst, SQL_CLAUSE_FROM, NULL, COLLECT_COL_TYPE_ALL, &pNodeList);
|
||||||
SNode *pNode = NULL;
|
SNode *pNode = NULL;
|
||||||
FOREACH(pNode, pNodeList) {
|
FOREACH(pNode, pNodeList) {
|
||||||
|
@ -103,6 +103,7 @@ int32_t mndCheckColAndTagModifiable(SMnode *pMnode, int64_t suid, col_id_t colId
|
||||||
if (pCol->colId > 0) {
|
if (pCol->colId > 0) {
|
||||||
taosHashPut(pColHash, &pCol->colId, sizeof(int16_t), NULL, 0);
|
taosHashPut(pColHash, &pCol->colId, sizeof(int16_t), NULL, 0);
|
||||||
}
|
}
|
||||||
|
mTrace("topic:%s, colId:%d is used", pTopic->name, pCol->colId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (taosHashGet(pColHash, &colId, sizeof(int16_t)) != NULL) {
|
if (taosHashGet(pColHash, &colId, sizeof(int16_t)) != NULL) {
|
||||||
|
|
Loading…
Reference in New Issue