Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
d070bd9b
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
d070bd9b
编写于
3月 21, 2022
作者:
S
Shengliang Guan
提交者:
GitHub
3月 21, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #10856 from taosdata/feature/shm
TD-14034 assert happen when executing "drop database if exist test"
上级
56e814b3
57f0224f
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
30 addition
and
13 deletion
+30
-13
source/dnode/mnode/impl/src/mndDb.c
source/dnode/mnode/impl/src/mndDb.c
+30
-13
未找到文件。
source/dnode/mnode/impl/src/mndDb.c
浏览文件 @
d070bd9b
...
@@ -802,6 +802,32 @@ static int32_t mndSetDropDbRedoActions(SMnode *pMnode, STrans *pTrans, SDbObj *p
...
@@ -802,6 +802,32 @@ static int32_t mndSetDropDbRedoActions(SMnode *pMnode, STrans *pTrans, SDbObj *p
return
0
;
return
0
;
}
}
static
int32_t
mndBuildDropDbRsp
(
SDbObj
*
pDb
,
int32_t
*
pRspLen
,
void
**
ppRsp
,
bool
useRpcMalloc
)
{
SDropDbRsp
dropRsp
=
{
0
};
if
(
pDb
!=
NULL
)
{
memcpy
(
dropRsp
.
db
,
pDb
->
name
,
TSDB_DB_FNAME_LEN
);
dropRsp
.
uid
=
pDb
->
uid
;
}
int32_t
rspLen
=
tSerializeSDropDbRsp
(
NULL
,
0
,
&
dropRsp
);
void
*
pRsp
=
NULL
;
if
(
useRpcMalloc
)
{
pRsp
=
rpcMallocCont
(
rspLen
);
}
else
{
pRsp
=
malloc
(
rspLen
);
}
if
(
pRsp
==
NULL
)
{
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
return
-
1
;
}
tSerializeSDropDbRsp
(
pRsp
,
rspLen
,
&
dropRsp
);
*
pRspLen
=
rspLen
;
*
ppRsp
=
pRsp
;
return
0
;
}
static
int32_t
mndDropDb
(
SMnode
*
pMnode
,
SNodeMsg
*
pReq
,
SDbObj
*
pDb
)
{
static
int32_t
mndDropDb
(
SMnode
*
pMnode
,
SNodeMsg
*
pReq
,
SDbObj
*
pDb
)
{
int32_t
code
=
-
1
;
int32_t
code
=
-
1
;
STrans
*
pTrans
=
mndTransCreate
(
pMnode
,
TRN_POLICY_RETRY
,
TRN_TYPE_DROP_DB
,
&
pReq
->
rpcMsg
);
STrans
*
pTrans
=
mndTransCreate
(
pMnode
,
TRN_POLICY_RETRY
,
TRN_TYPE_DROP_DB
,
&
pReq
->
rpcMsg
);
...
@@ -814,18 +840,9 @@ static int32_t mndDropDb(SMnode *pMnode, SNodeMsg *pReq, SDbObj *pDb) {
...
@@ -814,18 +840,9 @@ static int32_t mndDropDb(SMnode *pMnode, SNodeMsg *pReq, SDbObj *pDb) {
if
(
mndSetDropDbCommitLogs
(
pMnode
,
pTrans
,
pDb
)
!=
0
)
goto
DROP_DB_OVER
;
if
(
mndSetDropDbCommitLogs
(
pMnode
,
pTrans
,
pDb
)
!=
0
)
goto
DROP_DB_OVER
;
if
(
mndSetDropDbRedoActions
(
pMnode
,
pTrans
,
pDb
)
!=
0
)
goto
DROP_DB_OVER
;
if
(
mndSetDropDbRedoActions
(
pMnode
,
pTrans
,
pDb
)
!=
0
)
goto
DROP_DB_OVER
;
SDropDbRsp
dropRsp
=
{
0
};
int32_t
rspLen
=
0
;
memcpy
(
dropRsp
.
db
,
pDb
->
name
,
TSDB_DB_FNAME_LEN
);
void
*
pRsp
=
NULL
;
dropRsp
.
uid
=
pDb
->
uid
;
if
(
mndBuildDropDbRsp
(
pDb
,
&
rspLen
,
&
pRsp
,
false
)
<
0
)
goto
DROP_DB_OVER
;
int32_t
rspLen
=
tSerializeSDropDbRsp
(
NULL
,
0
,
&
dropRsp
);
void
*
pRsp
=
malloc
(
rspLen
);
if
(
pRsp
==
NULL
)
{
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
goto
DROP_DB_OVER
;
}
tSerializeSDropDbRsp
(
pRsp
,
rspLen
,
&
dropRsp
);
mndTransSetRpcRsp
(
pTrans
,
pRsp
,
rspLen
);
mndTransSetRpcRsp
(
pTrans
,
pRsp
,
rspLen
);
if
(
mndTransPrepare
(
pMnode
,
pTrans
)
!=
0
)
goto
DROP_DB_OVER
;
if
(
mndTransPrepare
(
pMnode
,
pTrans
)
!=
0
)
goto
DROP_DB_OVER
;
...
@@ -854,7 +871,7 @@ static int32_t mndProcessDropDbReq(SNodeMsg *pReq) {
...
@@ -854,7 +871,7 @@ static int32_t mndProcessDropDbReq(SNodeMsg *pReq) {
pDb
=
mndAcquireDb
(
pMnode
,
dropReq
.
db
);
pDb
=
mndAcquireDb
(
pMnode
,
dropReq
.
db
);
if
(
pDb
==
NULL
)
{
if
(
pDb
==
NULL
)
{
if
(
dropReq
.
ignoreNotExists
)
{
if
(
dropReq
.
ignoreNotExists
)
{
code
=
0
;
code
=
mndBuildDropDbRsp
(
pDb
,
&
pReq
->
rspLen
,
&
pReq
->
pRsp
,
true
)
;
goto
DROP_DB_OVER
;
goto
DROP_DB_OVER
;
}
else
{
}
else
{
terrno
=
TSDB_CODE_MND_DB_NOT_EXIST
;
terrno
=
TSDB_CODE_MND_DB_NOT_EXIST
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录