[TD-193] authority in account manage
This commit is contained in:
parent
6796a1b355
commit
6a851fde8e
|
@ -884,6 +884,8 @@ void mgmtDropAllDbs(SAcctObj *pAcct) {
|
|||
SDbObj *pDb = NULL;
|
||||
void * pNode = NULL;
|
||||
|
||||
mPrint("acct:%s, all dbs will be dropped from sdb", pAcct->user);
|
||||
|
||||
while (1) {
|
||||
pNode = sdbFetchRow(tsDbSdb, pNode, (void **)&pDb);
|
||||
if (pDb == NULL) break;
|
||||
|
@ -902,5 +904,5 @@ void mgmtDropAllDbs(SAcctObj *pAcct) {
|
|||
mgmtDecDbRef(pDb);
|
||||
}
|
||||
|
||||
mTrace("acct:%s, all dbs is is dropped from sdb", pAcct->user, numOfDbs);
|
||||
mPrint("acct:%s, all dbs:%d is dropped from sdb", pAcct->user, numOfDbs);
|
||||
}
|
||||
|
|
|
@ -260,7 +260,7 @@ void mgmtProcessCfgDnodeMsg(SQueuedMsg *pMsg) {
|
|||
}
|
||||
uint32_t dnodeIp = inet_addr(pCmCfgDnode->ip);
|
||||
|
||||
if (strcmp(pMsg->pUser->pAcct->user, "root") != 0) {
|
||||
if (strcmp(pMsg->pUser->user, "root") != 0) {
|
||||
rpcRsp.code = TSDB_CODE_NO_RIGHTS;
|
||||
} else {
|
||||
SRpcIpSet ipSet = mgmtGetIpSetFromIp(dnodeIp);
|
||||
|
@ -469,7 +469,7 @@ static void mgmtProcessCreateDnodeMsg(SQueuedMsg *pMsg) {
|
|||
|
||||
SCMCreateDnodeMsg *pCreate = pMsg->pCont;
|
||||
|
||||
if (strcmp(pMsg->pUser->pAcct->user, "root") != 0) {
|
||||
if (strcmp(pMsg->pUser->user, "root") != 0) {
|
||||
rpcRsp.code = TSDB_CODE_NO_RIGHTS;
|
||||
} else {
|
||||
uint32_t ip = inet_addr(pCreate->ip);
|
||||
|
@ -489,7 +489,7 @@ static void mgmtProcessDropDnodeMsg(SQueuedMsg *pMsg) {
|
|||
SRpcMsg rpcRsp = {.handle = pMsg->thandle, .pCont = NULL, .contLen = 0, .code = 0, .msgType = 0};
|
||||
|
||||
SCMDropDnodeMsg *pDrop = pMsg->pCont;
|
||||
if (strcmp(pMsg->pUser->pAcct->user, "root") != 0) {
|
||||
if (strcmp(pMsg->pUser->user, "root") != 0) {
|
||||
rpcRsp.code = TSDB_CODE_NO_RIGHTS;
|
||||
} else {
|
||||
uint32_t ip = inet_addr(pDrop->ip);
|
||||
|
|
|
@ -333,7 +333,7 @@ void sdbIncRef(void *handle, void *pRow) {
|
|||
SSdbTable *pTable = handle;
|
||||
int32_t * pRefCount = (int32_t *)(pRow + pTable->refCountPos);
|
||||
atomic_add_fetch_32(pRefCount, 1);
|
||||
if (0 && strcmp(pTable->tableName, "accounts") == 0) {
|
||||
if (1 && strcmp(pTable->tableName, "accounts") == 0) {
|
||||
sdbTrace("table:%s, add ref to record:%s:%s:%d", pTable->tableName, pTable->tableName, sdbGetkeyStr(pTable, pRow),
|
||||
*pRefCount);
|
||||
}
|
||||
|
@ -345,7 +345,7 @@ void sdbDecRef(void *handle, void *pRow) {
|
|||
SSdbTable *pTable = handle;
|
||||
int32_t * pRefCount = (int32_t *)(pRow + pTable->refCountPos);
|
||||
int32_t refCount = atomic_sub_fetch_32(pRefCount, 1);
|
||||
if (0 && strcmp(pTable->tableName, "accounts") == 0) {
|
||||
if (1 && strcmp(pTable->tableName, "accounts") == 0) {
|
||||
sdbTrace("table:%s, def ref of record:%s:%s:%d", pTable->tableName, pTable->tableName, sdbGetkeyStr(pTable, pRow),
|
||||
*pRefCount);
|
||||
}
|
||||
|
@ -400,6 +400,8 @@ static int32_t sdbInsertHash(SSdbTable *pTable, SSdbOper *pOper) {
|
|||
|
||||
if (pTable->keyType == SDB_KEY_AUTO) {
|
||||
pTable->autoIndex = MAX(pTable->autoIndex, *((uint32_t *)pOper->pObj));
|
||||
} else {
|
||||
pTable->autoIndex++;
|
||||
}
|
||||
|
||||
pthread_mutex_unlock(&pTable->mutex);
|
||||
|
|
|
@ -1109,12 +1109,11 @@ void mgmtDropAllSuperTables(SDbObj *pDropDb) {
|
|||
int32_t dbNameLen = strlen(pDropDb->name);
|
||||
SSuperTableObj *pTable = NULL;
|
||||
|
||||
mPrint("db:%s, all super tables will be dropped from sdb", pDropDb->name);
|
||||
|
||||
while (1) {
|
||||
mgmtDecTableRef(pTable);
|
||||
pNode = sdbFetchRow(tsSuperTableSdb, pNode, (void **)&pTable);
|
||||
if (pTable == NULL) {
|
||||
break;
|
||||
}
|
||||
if (pTable == NULL) break;
|
||||
|
||||
if (strncmp(pDropDb->name, pTable->info.tableId, dbNameLen) == 0) {
|
||||
SSdbOper oper = {
|
||||
|
@ -1125,10 +1124,12 @@ void mgmtDropAllSuperTables(SDbObj *pDropDb) {
|
|||
sdbDeleteRow(&oper);
|
||||
pNode = pLastNode;
|
||||
numOfTables ++;
|
||||
continue;
|
||||
}
|
||||
|
||||
mgmtDecTableRef(pTable);
|
||||
}
|
||||
mTrace("db:%s, all super tables:%d is dropped from sdb", pDropDb->name, numOfTables);
|
||||
|
||||
mPrint("db:%s, all super tables:%d is dropped from sdb", pDropDb->name, numOfTables);
|
||||
}
|
||||
|
||||
static int32_t mgmtSetSchemaFromSuperTable(SSchema *pSchema, SSuperTableObj *pTable) {
|
||||
|
@ -1678,12 +1679,11 @@ void mgmtDropAllChildTables(SDbObj *pDropDb) {
|
|||
int32_t dbNameLen = strlen(pDropDb->name);
|
||||
SChildTableObj *pTable = NULL;
|
||||
|
||||
mPrint("db:%s, all child tables will be dropped from sdb", pDropDb->name);
|
||||
|
||||
while (1) {
|
||||
mgmtDecTableRef(pTable);
|
||||
pNode = sdbFetchRow(tsChildTableSdb, pNode, (void **)&pTable);
|
||||
if (pTable == NULL) {
|
||||
break;
|
||||
}
|
||||
if (pTable == NULL) break;
|
||||
|
||||
if (strncmp(pDropDb->name, pTable->info.tableId, dbNameLen) == 0) {
|
||||
SSdbOper oper = {
|
||||
|
@ -1694,11 +1694,11 @@ void mgmtDropAllChildTables(SDbObj *pDropDb) {
|
|||
sdbDeleteRow(&oper);
|
||||
pNode = pLastNode;
|
||||
numOfTables++;
|
||||
continue;
|
||||
}
|
||||
mgmtDecTableRef(pTable);
|
||||
}
|
||||
|
||||
mTrace("db:%s, all child tables:%d is dropped from sdb", pDropDb->name, numOfTables);
|
||||
mPrint("db:%s, all child tables:%d is dropped from sdb", pDropDb->name, numOfTables);
|
||||
}
|
||||
|
||||
static void mgmtDropAllChildTablesInStable(SSuperTableObj *pStable) {
|
||||
|
@ -1707,12 +1707,11 @@ static void mgmtDropAllChildTablesInStable(SSuperTableObj *pStable) {
|
|||
int32_t numOfTables = 0;
|
||||
SChildTableObj *pTable = NULL;
|
||||
|
||||
mPrint("stable:%s, all child tables will dropped from sdb", pStable->info.tableId, numOfTables);
|
||||
|
||||
while (1) {
|
||||
mgmtDecTableRef(pTable);
|
||||
pNode = sdbFetchRow(tsChildTableSdb, pNode, (void **)&pTable);
|
||||
if (pTable == NULL) {
|
||||
break;
|
||||
}
|
||||
if (pTable == NULL) break;
|
||||
|
||||
if (pTable->superTable == pStable) {
|
||||
SSdbOper oper = {
|
||||
|
@ -1723,11 +1722,12 @@ static void mgmtDropAllChildTablesInStable(SSuperTableObj *pStable) {
|
|||
sdbDeleteRow(&oper);
|
||||
pNode = pLastNode;
|
||||
numOfTables++;
|
||||
continue;
|
||||
}
|
||||
|
||||
mgmtDecTableRef(pTable);
|
||||
}
|
||||
|
||||
mTrace("stable:%s, all child tables:%d is dropped from sdb", pStable->info.tableId, numOfTables);
|
||||
mPrint("stable:%s, all child tables:%d is dropped from sdb", pStable->info.tableId, numOfTables);
|
||||
}
|
||||
|
||||
static SChildTableObj* mgmtGetTableByPos(uint32_t dnodeId, int32_t vnode, int32_t sid) {
|
||||
|
|
|
@ -353,6 +353,7 @@ static void mgmtProcessCreateUserMsg(SQueuedMsg *pMsg) {
|
|||
mLPrint("user:%s, is created by %s", pCreate->user, pOperUser->user);
|
||||
}
|
||||
} else {
|
||||
mError("user:%s, no rights to create user", pOperUser->user);
|
||||
code = TSDB_CODE_NO_RIGHTS;
|
||||
}
|
||||
|
||||
|
@ -398,6 +399,7 @@ static void mgmtProcessAlterUserMsg(SQueuedMsg *pMsg) {
|
|||
code = mgmtUpdateUser(pUser);
|
||||
mLPrint("user:%s, password is altered by %s, result:%s", pUser->user, pOperUser->user, tstrerror(code));
|
||||
} else {
|
||||
mError("user:%s, no rights to ater user", pOperUser->user);
|
||||
code = TSDB_CODE_NO_RIGHTS;
|
||||
}
|
||||
|
||||
|
@ -440,11 +442,13 @@ static void mgmtProcessAlterUserMsg(SQueuedMsg *pMsg) {
|
|||
code = mgmtUpdateUser(pUser);
|
||||
mLPrint("user:%s, privilege is altered by %s, result:%s", pUser->user, pOperUser->user, tstrerror(code));
|
||||
} else {
|
||||
mError("user:%s, no rights to ater user", pOperUser->user);
|
||||
code = TSDB_CODE_NO_RIGHTS;
|
||||
}
|
||||
|
||||
mgmtSendSimpleResp(pMsg->thandle, code);
|
||||
} else {
|
||||
mError("user:%s, no rights to ater user", pOperUser->user);
|
||||
mgmtSendSimpleResp(pMsg->thandle, TSDB_CODE_NO_RIGHTS);
|
||||
}
|
||||
|
||||
|
|
|
@ -744,12 +744,13 @@ static void mgmtProcessVnodeCfgMsg(SRpcMsg *rpcMsg) {
|
|||
void mgmtDropAllVgroups(SDbObj *pDropDb) {
|
||||
void *pNode = NULL;
|
||||
void *pLastNode = NULL;
|
||||
int32_t numOfTables = 0;
|
||||
int32_t numOfVgroups = 0;
|
||||
int32_t dbNameLen = strlen(pDropDb->name);
|
||||
SVgObj *pVgroup = NULL;
|
||||
|
||||
mPrint("db:%s, all vgroups will be dropped from sdb", pDropDb->name);
|
||||
|
||||
while (1) {
|
||||
mgmtDecVgroupRef(pVgroup);
|
||||
pNode = sdbFetchRow(tsVgroupSdb, pNode, (void **)&pVgroup);
|
||||
if (pVgroup == NULL) break;
|
||||
|
||||
|
@ -761,12 +762,14 @@ void mgmtDropAllVgroups(SDbObj *pDropDb) {
|
|||
};
|
||||
sdbDeleteRow(&oper);
|
||||
pNode = pLastNode;
|
||||
numOfTables++;
|
||||
continue;
|
||||
numOfVgroups++;
|
||||
}
|
||||
|
||||
mgmtSendDropVgroupMsg(pVgroup, NULL);
|
||||
mgmtDecVgroupRef(pVgroup);
|
||||
}
|
||||
|
||||
mTrace("db:%s, all vgroups is dropped from sdb", pDropDb->name, numOfTables);
|
||||
mPrint("db:%s, all vgroups:%d is dropped from sdb", pDropDb->name, numOfVgroups);
|
||||
}
|
||||
|
||||
void mgmtAlterVgroup(SVgObj *pVgroup, void *ahandle) {
|
||||
|
|
|
@ -93,7 +93,7 @@ echo "privateIp $NODE_IP" >> $TAOS_CFG
|
|||
echo "dDebugFlag 199" >> $TAOS_CFG
|
||||
echo "mDebugFlag 199" >> $TAOS_CFG
|
||||
echo "sdbDebugFlag 199" >> $TAOS_CFG
|
||||
echo "rpcDebugFlag 135" >> $TAOS_CFG
|
||||
echo "rpcDebugFlag 131" >> $TAOS_CFG
|
||||
echo "tmrDebugFlag 131" >> $TAOS_CFG
|
||||
echo "cDebugFlag 135" >> $TAOS_CFG
|
||||
echo "httpDebugFlag 131" >> $TAOS_CFG
|
||||
|
|
|
@ -59,10 +59,17 @@ endi
|
|||
sql drop account oroot
|
||||
|
||||
print ============= step4
|
||||
sleep 2000
|
||||
$x = 0
|
||||
show4:
|
||||
$x = $x + 1
|
||||
sleep 2000
|
||||
if $x == 10 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql show dnodes
|
||||
if $data02 != 0 then
|
||||
return -1
|
||||
if $data03 != 0 then
|
||||
goto show4
|
||||
endi
|
||||
|
||||
print ============= step5
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
system sh/stop_dnodes.sh
|
||||
system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1
|
||||
system sh/exec_up_up.sh -n dnode1 -s start
|
||||
system sh/exec_up.sh -n dnode1 -s start
|
||||
sql connect
|
||||
|
||||
print =============== show accounts
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
system sh/stop_dnodes.sh
|
||||
|
||||
system sh/ip.sh -i 1 -s up
|
||||
system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1
|
||||
system sh/cfg.sh -n dnode1 -c monitor -v 0
|
||||
|
||||
print ========== step1
|
||||
system sh/cfg.sh -n dnode1 -c monitor -v 1
|
||||
system sh/cfg.sh -n dnode1 -c monitorInterval -v 1
|
||||
system sh/exec_up.sh -n dnode1 -s start
|
||||
|
||||
sql connect
|
||||
sleep 3000
|
||||
|
||||
print ========== step2
|
||||
sql drop database log -x step21
|
||||
return -1
|
||||
step21:
|
||||
sql drop table log.cpu -x step22
|
||||
return -1
|
||||
step22:
|
||||
sql drop user log -x step23
|
||||
return -1
|
||||
step23:
|
||||
|
||||
print ========== step3
|
||||
|
||||
sleep 3000
|
||||
sql select * from log.dn
|
||||
if $rows == 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
system sh/stop_dnodes.sh
|
||||
system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1
|
||||
system sh/exec_up_up.sh -n dnode1 -s start
|
||||
system sh/exec_up.sh -n dnode1 -s start
|
||||
sql connect
|
||||
|
||||
print =============== show accounts
|
||||
|
|
|
@ -6,4 +6,7 @@ run unique/account/pass_len.sim
|
|||
run unique/account/user_create.sim
|
||||
run unique/account/user_len.sim
|
||||
run unique/account/authority.sim
|
||||
run unique/account/basic.sim
|
||||
run unique/account/paras.sim
|
||||
run unique/account/usage.sim
|
||||
run unique/account/monitor.sim
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
system sh/stop_dnodes.sh
|
||||
system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1
|
||||
system sh/exec_up_up.sh -n dnode1 -s start
|
||||
system sh/exec_up.sh -n dnode1 -s start
|
||||
sql connect
|
||||
|
||||
print =============== show accounts
|
||||
|
|
Loading…
Reference in New Issue