Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
51ab64d9
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
提交
51ab64d9
编写于
9月 13, 2022
作者:
A
Alex Duan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
<feat>(mnode): add limit user for query
上级
88f79701
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
1 deletion
+31
-1
src/inc/taosdef.h
src/inc/taosdef.h
+3
-0
src/mnode/inc/mnodeDef.h
src/mnode/inc/mnodeDef.h
+15
-0
src/mnode/src/mnodeUser.c
src/mnode/src/mnodeUser.c
+13
-1
未找到文件。
src/inc/taosdef.h
浏览文件 @
51ab64d9
...
...
@@ -89,6 +89,9 @@ extern const int32_t TYPE_BYTES[16];
#define TSDB_PASS_LEN 16
#define SHELL_MAX_PASSWORD_LEN 20
// user set query tags max len
#define TSDB_TAGS_LEN 256
#define TSDB_TRUE 1
#define TSDB_FALSE 0
#define TSDB_OK 0
...
...
src/mnode/inc/mnodeDef.h
浏览文件 @
51ab64d9
...
...
@@ -202,6 +202,20 @@ typedef struct SDbObj {
pthread_mutex_t
mutex
;
}
SDbObj
;
// old tags
typedef
struct
SUserObjOld
{
char
user
[
TSDB_USER_LEN
];
char
pass
[
TSDB_KEY_LEN
];
char
acct
[
TSDB_USER_LEN
];
int64_t
createdTime
;
int8_t
superAuth
;
int8_t
writeAuth
;
int8_t
reserved
[
10
];
int8_t
updateEnd
[
4
];
int32_t
refCount
;
struct
SAcctObj
*
pAcct
;
}
SUserObjOld
;
typedef
struct
SUserObj
{
char
user
[
TSDB_USER_LEN
];
char
pass
[
TSDB_KEY_LEN
];
...
...
@@ -210,6 +224,7 @@ typedef struct SUserObj {
int8_t
superAuth
;
int8_t
writeAuth
;
int8_t
reserved
[
10
];
char
tags
[
TSDB_TAGS_LEN
];
int8_t
updateEnd
[
4
];
int32_t
refCount
;
struct
SAcctObj
*
pAcct
;
...
...
src/mnode/src/mnodeUser.c
浏览文件 @
51ab64d9
...
...
@@ -93,11 +93,23 @@ static int32_t mnodeUserActionEncode(SSdbRow *pRow) {
return
TSDB_CODE_SUCCESS
;
}
static
int32_t
tsUserUpdateSizeOld
=
0
;
static
int32_t
mnodeUserActionDecode
(
SSdbRow
*
pRow
)
{
SUserObj
*
pUser
=
(
SUserObj
*
)
calloc
(
1
,
sizeof
(
SUserObj
));
if
(
pUser
==
NULL
)
return
TSDB_CODE_MND_OUT_OF_MEMORY
;
memcpy
(
pUser
,
pRow
->
rowData
,
tsUserUpdateSize
);
// check old format
if
(
tsUserUpdateSizeOld
==
0
)
{
//int32_t nUpdateSizeOld = (int32_t)((int8_t *)old.updateEnd - (int8_t *)&old);
tsUserUpdateSizeOld
=
(
int32_t
)((
SUserObjOld
*
)
0
)
->
updateEnd
;
}
if
(
pRow
->
rowSize
==
tsUserUpdateSizeOld
)
{
memcpy
(
pUser
,
pRow
->
rowData
,
tsUserUpdateSizeOld
);
}
else
{
memcpy
(
pUser
,
pRow
->
rowData
,
tsUserUpdateSize
);
}
pRow
->
pObj
=
pUser
;
return
TSDB_CODE_SUCCESS
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录