提交 87924986 编写于 作者: S Shengliang Guan

Merge branch 'main' into fix/TD-21424_TD-21389_TD-21420

...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# taosadapter # taosadapter
ExternalProject_Add(taosadapter ExternalProject_Add(taosadapter
GIT_REPOSITORY https://github.com/taosdata/taosadapter.git GIT_REPOSITORY https://github.com/taosdata/taosadapter.git
GIT_TAG 4dfc4d1 GIT_TAG f0c1753
SOURCE_DIR "${TD_SOURCE_DIR}/tools/taosadapter" SOURCE_DIR "${TD_SOURCE_DIR}/tools/taosadapter"
BINARY_DIR "" BINARY_DIR ""
#BUILD_IN_SOURCE TRUE #BUILD_IN_SOURCE TRUE
......
...@@ -633,6 +633,7 @@ static int32_t mndRetrieveMnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB ...@@ -633,6 +633,7 @@ static int32_t mndRetrieveMnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
const char *status = "ready"; const char *status = "ready";
if (objStatus == SDB_STATUS_CREATING) status = "creating"; if (objStatus == SDB_STATUS_CREATING) status = "creating";
if (objStatus == SDB_STATUS_DROPPING) status = "dropping"; if (objStatus == SDB_STATUS_DROPPING) status = "dropping";
if (!mndIsDnodeOnline(pObj->pDnode, curMs)) status = "offline";
char b3[9 + VARSTR_HEADER_SIZE] = {0}; char b3[9 + VARSTR_HEADER_SIZE] = {0};
STR_WITH_MAXSIZE_TO_VARSTR(b3, status, pShow->pMeta->pSchemas[cols].bytes); STR_WITH_MAXSIZE_TO_VARSTR(b3, status, pShow->pMeta->pSchemas[cols].bytes);
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++); pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
......
...@@ -434,7 +434,7 @@ static int32_t collectMetaKeyFromShowStables(SCollectMetaKeyCxt* pCxt, SShowStmt ...@@ -434,7 +434,7 @@ static int32_t collectMetaKeyFromShowStables(SCollectMetaKeyCxt* pCxt, SShowStmt
pCxt->pMetaCache); pCxt->pMetaCache);
if (TSDB_CODE_SUCCESS == code) { if (TSDB_CODE_SUCCESS == code) {
code = reserveUserAuthInCache(pCxt->pParseCxt->acctId, pCxt->pParseCxt->pUser, code = reserveUserAuthInCache(pCxt->pParseCxt->acctId, pCxt->pParseCxt->pUser,
((SValueNode*)pStmt->pDbName)->literal, AUTH_TYPE_READ, pCxt->pMetaCache); ((SValueNode*)pStmt->pDbName)->literal, AUTH_TYPE_READ_OR_WRITE, pCxt->pMetaCache);
} }
return code; return code;
} }
...@@ -452,7 +452,7 @@ static int32_t collectMetaKeyFromShowTables(SCollectMetaKeyCxt* pCxt, SShowStmt* ...@@ -452,7 +452,7 @@ static int32_t collectMetaKeyFromShowTables(SCollectMetaKeyCxt* pCxt, SShowStmt*
} }
if (TSDB_CODE_SUCCESS == code) { if (TSDB_CODE_SUCCESS == code) {
code = reserveUserAuthInCache(pCxt->pParseCxt->acctId, pCxt->pParseCxt->pUser, code = reserveUserAuthInCache(pCxt->pParseCxt->acctId, pCxt->pParseCxt->pUser,
((SValueNode*)pStmt->pDbName)->literal, AUTH_TYPE_READ, pCxt->pMetaCache); ((SValueNode*)pStmt->pDbName)->literal, AUTH_TYPE_READ_OR_WRITE, pCxt->pMetaCache);
} }
return code; return code;
} }
......
...@@ -97,7 +97,7 @@ static int32_t authInsert(SAuthCxt* pCxt, SInsertStmt* pInsert) { ...@@ -97,7 +97,7 @@ static int32_t authInsert(SAuthCxt* pCxt, SInsertStmt* pInsert) {
} }
static int32_t authShowTables(SAuthCxt* pCxt, SShowStmt* pStmt) { static int32_t authShowTables(SAuthCxt* pCxt, SShowStmt* pStmt) {
return checkAuth(pCxt, ((SValueNode*)pStmt->pDbName)->literal, AUTH_TYPE_READ); return checkAuth(pCxt, ((SValueNode*)pStmt->pDbName)->literal, AUTH_TYPE_READ_OR_WRITE);
} }
static int32_t authShowCreateTable(SAuthCxt* pCxt, SShowCreateTableStmt* pStmt) { static int32_t authShowCreateTable(SAuthCxt* pCxt, SShowCreateTableStmt* pStmt) {
......
...@@ -283,7 +283,7 @@ class TDTestCase: ...@@ -283,7 +283,7 @@ class TDTestCase:
use.error(f"insert into {DBNAME}.{CTBNAME} (ts) values (now())") use.error(f"insert into {DBNAME}.{CTBNAME} (ts) values (now())")
elif check_priv == PRIVILEGES_WRITE: elif check_priv == PRIVILEGES_WRITE:
use.query(f"use {DBNAME}") use.query(f"use {DBNAME}")
use.error(f"show {DBNAME}.tables") use.query(f"show {DBNAME}.tables")
use.error(f"select * from {DBNAME}.{CTBNAME}") use.error(f"select * from {DBNAME}.{CTBNAME}")
use.query(f"insert into {DBNAME}.{CTBNAME} (ts) values (now())") use.query(f"insert into {DBNAME}.{CTBNAME} (ts) values (now())")
elif check_priv is None: elif check_priv is None:
......
...@@ -174,34 +174,34 @@ class ClusterComCheck: ...@@ -174,34 +174,34 @@ class ClusterComCheck:
tdLog.exit("mnode number is correct") tdLog.exit("mnode number is correct")
if offlineDnodeNo == 1: if offlineDnodeNo == 1:
if tdSql.queryResult[0][2]=='offline' : if tdSql.queryResult[0][2]=='offline' :
if tdSql.queryResult[1][2]=='leader' and tdSql.queryResult[1][3]== 'ready' : if tdSql.queryResult[1][2]=='leader':
if tdSql.queryResult[2][2]=='follower' and tdSql.queryResult[2][3]== 'ready' : if tdSql.queryResult[2][2]=='follower':
tdLog.success("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.success("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
elif tdSql.queryResult[1][2]=='follower' and tdSql.queryResult[1][3]== 'ready' : elif tdSql.queryResult[1][2]=='follower':
if tdSql.queryResult[2][2]=='leader' and tdSql.queryResult[2][3]== 'ready' : if tdSql.queryResult[2][2]=='leader':
tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
count+=1 count+=1
elif offlineDnodeNo == 2: elif offlineDnodeNo == 2:
if tdSql.queryResult[1][2]=='offline' : if tdSql.queryResult[1][2]=='offline' :
if tdSql.queryResult[0][2]=='leader' and tdSql.queryResult[0][3]== 'ready' : if tdSql.queryResult[0][2]=='leader':
if tdSql.queryResult[2][2]=='follower' and tdSql.queryResult[2][3]== 'ready' : if tdSql.queryResult[2][2]=='follower':
tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
elif tdSql.queryResult[0][2]=='follower' and tdSql.queryResult[0][3]== 'ready' : elif tdSql.queryResult[0][2]=='follower':
if tdSql.queryResult[2][2]=='leader' and tdSql.queryResult[2][3]== 'ready' : if tdSql.queryResult[2][2]=='leader':
tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
count+=1 count+=1
elif offlineDnodeNo == 3: elif offlineDnodeNo == 3:
if tdSql.queryResult[2][2]=='offline' : if tdSql.queryResult[2][2]=='offline' :
if tdSql.queryResult[0][2]=='leader' and tdSql.queryResult[0][3]== 'ready' : if tdSql.queryResult[0][2]=='leader':
if tdSql.queryResult[1][2]=='follower' and tdSql.queryResult[1][3]== 'ready' : if tdSql.queryResult[1][2]=='follower':
tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
elif tdSql.queryResult[0][2]=='follower' and tdSql.queryResult[0][3]== 'ready' : elif tdSql.queryResult[0][2]=='follower':
if tdSql.queryResult[1][2]=='leader' and tdSql.queryResult[1][3]== 'ready' : if tdSql.queryResult[1][2]=='leader':
tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo) tdLog.debug("stop mnodes on dnode %d successfully in 10s" %offlineDnodeNo)
return True return True
count+=1 count+=1
...@@ -219,8 +219,8 @@ class ClusterComCheck: ...@@ -219,8 +219,8 @@ class ClusterComCheck:
else: else:
tdLog.exit("mnode number is correct") tdLog.exit("mnode number is correct")
if tdSql.queryResult[0][2]=='leader' : if tdSql.queryResult[0][2]=='leader' :
if tdSql.queryResult[1][2]=='offline' and tdSql.queryResult[1][3]== 'ready' : if tdSql.queryResult[1][2]=='offline':
if tdSql.queryResult[2][2]=='offline' and tdSql.queryResult[2][3]== 'ready' : if tdSql.queryResult[2][2]=='offline':
tdLog.success("stop mnodes of follower on dnode successfully in 10s") tdLog.success("stop mnodes of follower on dnode successfully in 10s")
return True return True
count+=1 count+=1
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册