Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
267e6e0b
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看板
提交
267e6e0b
编写于
9月 08, 2021
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[td-255] avoid memset the allocated memory to improve the query performance.
上级
cc68a141
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
21 addition
and
16 deletion
+21
-16
src/client/inc/tscUtil.h
src/client/inc/tscUtil.h
+3
-1
src/client/src/tscServer.c
src/client/src/tscServer.c
+2
-1
src/client/src/tscUtil.c
src/client/src/tscUtil.c
+16
-14
未找到文件。
src/client/inc/tscUtil.h
浏览文件 @
267e6e0b
...
...
@@ -174,7 +174,9 @@ void tscClearInterpInfo(SQueryInfo* pQueryInfo);
bool
tscIsInsertData
(
char
*
sqlstr
);
int
tscAllocPayload
(
SSqlCmd
*
pCmd
,
int
size
);
// the memory is not reset in case of fast allocate payload function
int32_t
tscAllocPayloadFast
(
SSqlCmd
*
pCmd
,
size_t
size
);
int32_t
tscAllocPayload
(
SSqlCmd
*
pCmd
,
int
size
);
TAOS_FIELD
tscCreateField
(
int8_t
type
,
const
char
*
name
,
int16_t
bytes
);
...
...
src/client/src/tscServer.c
浏览文件 @
267e6e0b
...
...
@@ -887,8 +887,9 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
int32_t
code
=
TSDB_CODE_SUCCESS
;
int32_t
size
=
tscEstimateQueryMsgSize
(
pSql
);
assert
(
size
>
0
);
if
(
TSDB_CODE_SUCCESS
!=
tscAllocPayload
(
pCmd
,
size
))
{
if
(
TSDB_CODE_SUCCESS
!=
tscAllocPayload
Fast
(
pCmd
,
size
))
{
tscError
(
"%p failed to malloc for query msg"
,
pSql
);
return
TSDB_CODE_TSC_INVALID_OPERATION
;
// todo add test for this
}
...
...
src/client/src/tscUtil.c
浏览文件 @
267e6e0b
...
...
@@ -2080,32 +2080,34 @@ bool tscIsInsertData(char* sqlstr) {
}
while
(
1
);
}
int
tscAllocPayload
(
SSqlCmd
*
pCmd
,
in
t
size
)
{
int
32_t
tscAllocPayloadFast
(
SSqlCmd
*
pCmd
,
size_
t
size
)
{
if
(
pCmd
->
payload
==
NULL
)
{
assert
(
pCmd
->
allocSize
==
0
);
pCmd
->
payload
=
(
char
*
)
calloc
(
1
,
size
);
if
(
pCmd
->
payload
==
NULL
)
{
pCmd
->
payload
=
malloc
(
size
);
}
else
if
(
pCmd
->
allocSize
<
size
)
{
char
*
tmp
=
realloc
(
pCmd
->
payload
,
size
);
if
(
tmp
==
NULL
)
{
return
TSDB_CODE_TSC_OUT_OF_MEMORY
;
}
pCmd
->
payload
=
tmp
;
pCmd
->
allocSize
=
size
;
}
else
{
if
(
pCmd
->
allocSize
<
(
uint32_t
)
size
)
{
char
*
b
=
realloc
(
pCmd
->
payload
,
size
);
if
(
b
==
NULL
)
{
return
TSDB_CODE_TSC_OUT_OF_MEMORY
;
}
}
pCmd
->
payload
=
b
;
pCmd
->
allocSize
=
size
;
}
assert
(
pCmd
->
allocSize
>=
size
);
return
TSDB_CODE_SUCCESS
;
}
int32_t
tscAllocPayload
(
SSqlCmd
*
pCmd
,
int
size
)
{
assert
(
size
>
0
);
int32_t
code
=
tscAllocPayloadFast
(
pCmd
,
(
size_t
)
size
);
if
(
code
==
TSDB_CODE_SUCCESS
)
{
memset
(
pCmd
->
payload
,
0
,
pCmd
->
allocSize
);
}
assert
(
pCmd
->
allocSize
>=
(
uint32_t
)
size
&&
size
>
0
);
return
TSDB_CODE_SUCCESS
;
return
code
;
}
TAOS_FIELD
tscCreateField
(
int8_t
type
,
const
char
*
name
,
int16_t
bytes
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录