Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
5d398eb8
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1185
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看板
提交
5d398eb8
编写于
1月 11, 2020
作者:
weixin_48148422
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
check memory allocation failure
上级
244cfe21
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
9 deletion
+15
-9
src/client/src/tscSub.c
src/client/src/tscSub.c
+15
-9
未找到文件。
src/client/src/tscSub.c
浏览文件 @
5d398eb8
...
...
@@ -164,9 +164,6 @@ int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
return
0
;
}
int
numOfMeters
=
0
;
SSubscriptionProgress
*
progress
=
NULL
;
SSqlCmd
*
pCmd
=
&
pSub
->
pSql
->
cmd
;
if
(
pCmd
->
command
!=
TSDB_SQL_SELECT
)
{
tscError
(
"only 'select' statement is allowed in subscription: %s"
,
pSub
->
topic
);
...
...
@@ -174,19 +171,28 @@ int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
}
SMeterMetaInfo
*
pMeterMetaInfo
=
tscGetMeterMetaInfo
(
pCmd
,
0
);
int
numOfMeters
=
0
;
if
(
!
UTIL_METER_IS_NOMRAL_METER
(
pMeterMetaInfo
))
{
SMetricMeta
*
pMetricMeta
=
pMeterMetaInfo
->
pMetricMeta
;
for
(
int32_t
i
=
0
;
i
<
pMetricMeta
->
numOfVnodes
;
i
++
)
{
SVnodeSidList
*
pVnodeSidList
=
tscGetVnodeSidList
(
pMetricMeta
,
pMeterMetaInfo
->
vnodeIndex
);
numOfMeters
+=
pVnodeSidList
->
numOfSids
;
}
}
SSubscriptionProgress
*
progress
=
(
SSubscriptionProgress
*
)
calloc
(
numOfMeters
,
sizeof
(
SSubscriptionProgress
));
if
(
progress
==
NULL
)
{
tscError
(
"failed to allocate memory for progress: %s"
,
pSub
->
topic
);
return
0
;
}
if
(
UTIL_METER_IS_NOMRAL_METER
(
pMeterMetaInfo
))
{
numOfMeters
=
1
;
progress
=
calloc
(
1
,
sizeof
(
SSubscriptionProgress
));
int64_t
uid
=
pMeterMetaInfo
->
pMeterMeta
->
uid
;
progress
[
0
].
uid
=
uid
;
progress
[
0
].
key
=
tscGetSubscriptionProgress
(
pSub
,
uid
);
}
else
{
SMetricMeta
*
pMetricMeta
=
pMeterMetaInfo
->
pMetricMeta
;
for
(
int32_t
i
=
0
;
i
<
pMetricMeta
->
numOfVnodes
;
i
++
)
{
SVnodeSidList
*
pVnodeSidList
=
tscGetVnodeSidList
(
pMetricMeta
,
pMeterMetaInfo
->
vnodeIndex
);
numOfMeters
+=
pVnodeSidList
->
numOfSids
;
}
progress
=
calloc
(
numOfMeters
,
sizeof
(
SSubscriptionProgress
));
numOfMeters
=
0
;
for
(
int32_t
i
=
0
;
i
<
pMetricMeta
->
numOfVnodes
;
i
++
)
{
SVnodeSidList
*
pVnodeSidList
=
tscGetVnodeSidList
(
pMetricMeta
,
pMeterMetaInfo
->
vnodeIndex
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录