Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
260aad80
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看板
提交
260aad80
编写于
3月 11, 2022
作者:
D
dapan1121
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feature/scheduler
上级
7db18925
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
38 addition
and
4 deletion
+38
-4
include/common/tmsg.h
include/common/tmsg.h
+2
-0
source/dnode/vnode/inc/vnode.h
source/dnode/vnode/inc/vnode.h
+1
-1
source/dnode/vnode/src/vnd/vnodeCfg.c
source/dnode/vnode/src/vnd/vnodeCfg.c
+5
-2
source/dnode/vnode/src/vnd/vnodeWrite.c
source/dnode/vnode/src/vnd/vnodeWrite.c
+30
-1
未找到文件。
include/common/tmsg.h
浏览文件 @
260aad80
...
...
@@ -1375,7 +1375,9 @@ typedef struct {
SArray
*
pArray
;
}
SVCreateTbBatchReq
;
typedef
struct
{
SArray
*
rspList
;
// SArray<SVCreateTbRsp>
}
SVCreateTbBatchRsp
;
int32_t
tSerializeSVCreateTbBatchReq
(
void
**
buf
,
SVCreateTbBatchReq
*
pReq
);
...
...
source/dnode/vnode/inc/vnode.h
浏览文件 @
260aad80
...
...
@@ -193,7 +193,7 @@ void vnodeOptionsInit(SVnodeCfg *pOptions);
*/
void
vnodeOptionsClear
(
SVnodeCfg
*
pOptions
);
int
vnodeValidateTableHash
(
SVnodeCfg
*
pVnodeOptions
,
char
*
tableName
);
int
vnodeValidateTableHash
(
SVnodeCfg
*
pVnodeOptions
,
char
*
table
F
Name
);
/* ------------------------ FOR COMPILE ------------------------ */
...
...
source/dnode/vnode/src/vnd/vnodeCfg.c
浏览文件 @
260aad80
...
...
@@ -34,19 +34,22 @@ void vnodeOptionsCopy(SVnodeCfg *pDest, const SVnodeCfg *pSrc) {
memcpy
((
void
*
)
pDest
,
(
void
*
)
pSrc
,
sizeof
(
SVnodeCfg
));
}
int
vnodeValidateTableHash
(
SVnodeCfg
*
pVnodeOptions
,
char
*
tableName
)
{
int
vnodeValidateTableHash
(
SVnodeCfg
*
pVnodeOptions
,
char
*
table
F
Name
)
{
uint32_t
hashValue
=
0
;
switch
(
pVnodeOptions
->
hashMethod
)
{
default:
hashValue
=
MurmurHash3_32
(
table
Name
,
strlen
(
table
Name
));
hashValue
=
MurmurHash3_32
(
table
FName
,
strlen
(
tableF
Name
));
break
;
}
// TODO OPEN THIS !!!!!!!
#if 1
if
(
hashValue
<
pVnodeOptions
->
hashBegin
||
hashValue
>
pVnodeOptions
->
hashEnd
)
{
terrno
=
TSDB_CODE_VND_HASH_MISMATCH
;
return
TSDB_CODE_VND_HASH_MISMATCH
;
}
#endif
return
TSDB_CODE_SUCCESS
;
}
...
...
source/dnode/vnode/src/vnd/vnodeWrite.c
浏览文件 @
260aad80
...
...
@@ -77,9 +77,35 @@ int vnodeApplyWMsg(SVnode *pVnode, SRpcMsg *pMsg, SRpcMsg **pRsp) {
}
case
TDMT_VND_CREATE_TABLE
:
{
SVCreateTbBatchReq
vCreateTbBatchReq
=
{
0
};
SVCreateTbBatchRsp
vCreateTbBatchRsp
=
{
0
};
tDeserializeSVCreateTbBatchReq
(
POINTER_SHIFT
(
pMsg
->
pCont
,
sizeof
(
SMsgHead
)),
&
vCreateTbBatchReq
);
for
(
int
i
=
0
;
i
<
taosArrayGetSize
(
vCreateTbBatchReq
.
pArray
);
i
++
)
{
int
reqNum
=
taosArrayGetSize
(
vCreateTbBatchReq
.
pArray
);
for
(
int
i
=
0
;
i
<
reqNum
;
i
++
)
{
SVCreateTbReq
*
pCreateTbReq
=
taosArrayGet
(
vCreateTbBatchReq
.
pArray
,
i
);
// TODO OPEN THIS
#if 0
char tableFName[TSDB_TABLE_FNAME_LEN];
tNameExtractFullName(&pCreateTbReq->name, tableFName);
#endif
int32_t
code
=
vnodeValidateTableHash
(
&
pVnode
->
config
,
tableFName
);
if
(
code
)
{
SVCreateTbRsp
rsp
;
rsp
.
code
=
code
;
memcpy
(
rsp
.
tableName
,
pCreateTbReq
->
name
,
sizeof
(
rsp
.
tableName
));
if
(
NULL
==
vCreateTbBatchRsp
.
rspList
)
{
vCreateTbBatchRsp
.
rspList
=
taosArrayInit
(
reqNum
-
i
,
sizeof
(
SVCreateTbRsp
));
if
(
NULL
==
vCreateTbBatchRsp
.
rspList
)
{
vError
(
"vgId:%d, failed to init array: %d"
,
reqNum
-
i
);
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
return
-
1
;
}
}
taosArrayPush
(
vCreateTbBatchRsp
.
rspList
,
&
rsp
);
}
if
(
metaCreateTable
(
pVnode
->
pMeta
,
pCreateTbReq
)
<
0
)
{
// TODO: handle error
...
...
@@ -98,6 +124,9 @@ int vnodeApplyWMsg(SVnode *pVnode, SRpcMsg *pMsg, SRpcMsg **pRsp) {
vTrace
(
"vgId:%d process create %"
PRIzu
" tables"
,
pVnode
->
vgId
,
taosArrayGetSize
(
vCreateTbBatchReq
.
pArray
));
taosArrayDestroy
(
vCreateTbBatchReq
.
pArray
);
if
(
vCreateTbBatchRsp
.
rspList
)
{
}
break
;
}
case
TDMT_VND_ALTER_STB
:
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录