Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
381d378b
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
381d378b
编写于
7月 23, 2022
作者:
C
Cary Xu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: grant check for create table
上级
30f2d0c4
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
40 addition
and
1 deletion
+40
-1
include/common/tgrant.h
include/common/tgrant.h
+1
-0
source/common/src/tgrant.c
source/common/src/tgrant.c
+23
-0
source/dnode/mnode/impl/src/mndFunc.c
source/dnode/mnode/impl/src/mndFunc.c
+4
-0
source/dnode/mnode/impl/src/mndGrant.c
source/dnode/mnode/impl/src/mndGrant.c
+0
-1
source/dnode/vnode/src/vnd/vnodeSvr.c
source/dnode/vnode/src/vnd/vnodeSvr.c
+12
-0
未找到文件。
include/common/tgrant.h
浏览文件 @
381d378b
...
@@ -21,6 +21,7 @@ extern "C" {
...
@@ -21,6 +21,7 @@ extern "C" {
#endif
#endif
#include "os.h"
#include "os.h"
#include "taoserror.h"
typedef
enum
{
typedef
enum
{
TSDB_GRANT_ALL
,
TSDB_GRANT_ALL
,
...
...
source/common/src/tgrant.c
0 → 100644
浏览文件 @
381d378b
/*
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
*
* This program is free software: you can use, redistribute, and/or modify
* it under the terms of the GNU Affero General Public License, version 3
* or later ("AGPL"), as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define _DEFAULT_SOURCE
#include "tgrant.h"
#ifndef _GRANT
int32_t
grantCheck
(
EGrantType
grant
)
{
return
TSDB_CODE_SUCCESS
;
}
#endif
\ No newline at end of file
source/dnode/mnode/impl/src/mndFunc.c
浏览文件 @
381d378b
...
@@ -190,6 +190,10 @@ static int32_t mndCreateFunc(SMnode *pMnode, SRpcMsg *pReq, SCreateFuncReq *pCre
...
@@ -190,6 +190,10 @@ static int32_t mndCreateFunc(SMnode *pMnode, SRpcMsg *pReq, SCreateFuncReq *pCre
int32_t
code
=
-
1
;
int32_t
code
=
-
1
;
STrans
*
pTrans
=
NULL
;
STrans
*
pTrans
=
NULL
;
if
((
terrno
=
grantCheck
(
TSDB_GRANT_USER
))
<
0
)
{
return
code
;
}
SFuncObj
func
=
{
0
};
SFuncObj
func
=
{
0
};
memcpy
(
func
.
name
,
pCreate
->
name
,
TSDB_FUNC_NAME_LEN
);
memcpy
(
func
.
name
,
pCreate
->
name
,
TSDB_FUNC_NAME_LEN
);
func
.
createdTime
=
taosGetTimestampMs
();
func
.
createdTime
=
taosGetTimestampMs
();
...
...
source/dnode/mnode/impl/src/mndGrant.c
浏览文件 @
381d378b
...
@@ -128,7 +128,6 @@ int32_t mndInitGrant(SMnode *pMnode) {
...
@@ -128,7 +128,6 @@ int32_t mndInitGrant(SMnode *pMnode) {
void
mndCleanupGrant
()
{}
void
mndCleanupGrant
()
{}
void
grantParseParameter
()
{
mError
(
"can't parsed parameter k"
);
}
void
grantParseParameter
()
{
mError
(
"can't parsed parameter k"
);
}
int32_t
grantCheck
(
EGrantType
grant
)
{
return
TSDB_CODE_SUCCESS
;
}
void
grantReset
(
SMnode
*
pMnode
,
EGrantType
grant
,
uint64_t
value
)
{}
void
grantReset
(
SMnode
*
pMnode
,
EGrantType
grant
,
uint64_t
value
)
{}
void
grantAdd
(
EGrantType
grant
,
uint64_t
value
)
{}
void
grantAdd
(
EGrantType
grant
,
uint64_t
value
)
{}
void
grantRestore
(
EGrantType
grant
,
uint64_t
value
)
{}
void
grantRestore
(
EGrantType
grant
,
uint64_t
value
)
{}
...
...
source/dnode/vnode/src/vnd/vnodeSvr.c
浏览文件 @
381d378b
...
@@ -477,6 +477,11 @@ static int32_t vnodeProcessCreateTbReq(SVnode *pVnode, int64_t version, void *pR
...
@@ -477,6 +477,11 @@ static int32_t vnodeProcessCreateTbReq(SVnode *pVnode, int64_t version, void *pR
for
(
int32_t
iReq
=
0
;
iReq
<
req
.
nReqs
;
iReq
++
)
{
for
(
int32_t
iReq
=
0
;
iReq
<
req
.
nReqs
;
iReq
++
)
{
pCreateReq
=
req
.
pReqs
+
iReq
;
pCreateReq
=
req
.
pReqs
+
iReq
;
if
((
terrno
=
grantCheck
(
TSDB_GRANT_TIMESERIES
))
<
0
)
{
rcode
=
-
1
;
goto
_exit
;
}
// validate hash
// validate hash
sprintf
(
tbName
,
"%s.%s"
,
pVnode
->
config
.
dbname
,
pCreateReq
->
name
);
sprintf
(
tbName
,
"%s.%s"
,
pVnode
->
config
.
dbname
,
pCreateReq
->
name
);
if
(
vnodeValidateTableHash
(
pVnode
,
tbName
)
<
0
)
{
if
(
vnodeValidateTableHash
(
pVnode
,
tbName
)
<
0
)
{
...
@@ -821,6 +826,13 @@ static int32_t vnodeProcessSubmitReq(SVnode *pVnode, int64_t version, void *pReq
...
@@ -821,6 +826,13 @@ static int32_t vnodeProcessSubmitReq(SVnode *pVnode, int64_t version, void *pReq
goto
_exit
;
goto
_exit
;
}
}
if
((
terrno
=
grantCheck
(
TSDB_GRANT_TIMESERIES
))
<
0
)
{
pRsp
->
code
=
terrno
;
tDecoderClear
(
&
decoder
);
taosArrayDestroy
(
createTbReq
.
ctb
.
tagName
);
goto
_exit
;
}
if
(
metaCreateTable
(
pVnode
->
pMeta
,
version
,
&
createTbReq
)
<
0
)
{
if
(
metaCreateTable
(
pVnode
->
pMeta
,
version
,
&
createTbReq
)
<
0
)
{
if
(
terrno
!=
TSDB_CODE_TDB_TABLE_ALREADY_EXIST
)
{
if
(
terrno
!=
TSDB_CODE_TDB_TABLE_ALREADY_EXIST
)
{
submitBlkRsp
.
code
=
terrno
;
submitBlkRsp
.
code
=
terrno
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录