提交 24d7dc58 编写于 作者: T Tao Liu

[TD-424] modify the tscGetmetadata

上级 0462bb1b
......@@ -307,6 +307,7 @@ typedef struct _tsc_obj {
char sversion[TSDB_VERSION_LEN];
char writeAuth : 1;
char superAuth : 1;
char auditAuth : 1;
struct _sql_obj *pSql;
struct _sql_obj *pHb;
struct _sql_obj *sqlList;
......
......@@ -3353,6 +3353,7 @@ int tscProcessConnectRsp(SSqlObj *pSql) {
strcpy(pObj->sversion, pConnect->version);
pObj->writeAuth = pConnect->writeAuth;
pObj->superAuth = pConnect->superAuth;
pObj->auditAuth = pConnect->auditAuth;
taosTmrReset(tscProcessActivityTimer, tsShellActivityTimer * 500, pObj, tscTmr, &pObj->pTimer);
return 0;
......@@ -3576,6 +3577,15 @@ static int32_t doGetMeterMetaFromServer(SSqlObj *pSql, SMeterMetaInfo *pMeterMet
int tscGetMeterMeta(SSqlObj *pSql, SMeterMetaInfo *pMeterMetaInfo) {
assert(strlen(pMeterMetaInfo->name) != 0);
char db[TSDB_DB_NAME_LEN + 1] = {0};
extractDBName(pMeterMetaInfo->name, db);
if(strncasecmp(db,"audit",5) == 0 && pSql->pTscObj->auditAuth == 0 && strncasecmp(pSql->pTscObj->user,"monitor",7) != 0) {
return TSDB_CODE_NOT_AUDIT_USER;
}
if(strncasecmp(db,"audit",5) != 0 && pSql->pTscObj->auditAuth != 0 && pSql->pTscObj->writeAuth == 0 ){
return TSDB_CODE_NO_RIGHTS;
}
// If this SMeterMetaInfo owns a metermeta, release it first
if (pMeterMetaInfo->pMeterMeta != NULL) {
taosRemoveDataFromCache(tscCacheHandle, (void **)&(pMeterMetaInfo->pMeterMeta), false);
......
......@@ -391,6 +391,7 @@ typedef struct {
char version[TSDB_VERSION_LEN];
char writeAuth;
char superAuth;
char auditAuth;
} SConnectRsp;
typedef struct {
......
......@@ -1416,6 +1416,7 @@ _rsp:
strcpy(pConnectRsp->version, version);
pConnectRsp->writeAuth = pConn->writeAuth;
pConnectRsp->superAuth = pConn->superAuth;
pConnectRsp->auditAuth = pConn->auditAuth;
pMsg += sizeof(SConnectRsp);
int size;
......@@ -1441,6 +1442,7 @@ _rsp:
} else {
pConnectRsp->writeAuth = 0;
pConnectRsp->superAuth = 0;
pConnectRsp->auditAuth = 0;
pConn->pAcct = NULL;
pConn->pUser = NULL;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册