Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
76fc259b
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看板
提交
76fc259b
编写于
7月 16, 2021
作者:
S
shenglian zhou
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
increase memory allocation by 1.5 during parse sml kv pairs
上级
83a66e1e
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
21 addition
and
10 deletion
+21
-10
src/client/src/tscParseLineProtocol.c
src/client/src/tscParseLineProtocol.c
+21
-10
未找到文件。
src/client/src/tscParseLineProtocol.c
浏览文件 @
76fc259b
...
@@ -1400,7 +1400,7 @@ static int32_t convertSmlTimeStamp(TAOS_SML_KV *pVal, char *value,
...
@@ -1400,7 +1400,7 @@ static int32_t convertSmlTimeStamp(TAOS_SML_KV *pVal, char *value,
if
(
ret
)
{
if
(
ret
)
{
return
ret
;
return
ret
;
}
}
tscDebug
(
"Timestamp after conversion:%"
PRId64
"
\n
"
,
tsVal
);
tscDebug
(
"Timestamp after conversion:%"
PRId64
,
tsVal
);
pVal
->
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
pVal
->
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
pVal
->
length
=
(
int16_t
)
tDataTypes
[
pVal
->
type
].
bytes
;
pVal
->
length
=
(
int16_t
)
tDataTypes
[
pVal
->
type
].
bytes
;
...
@@ -1582,14 +1582,16 @@ static int32_t parseSmlKvPairs(TAOS_SML_KV **pKVs, int *num_kvs,
...
@@ -1582,14 +1582,16 @@ static int32_t parseSmlKvPairs(TAOS_SML_KV **pKVs, int *num_kvs,
TAOS_SML_KV
*
pkv
;
TAOS_SML_KV
*
pkv
;
bool
is_last_kv
=
false
;
bool
is_last_kv
=
false
;
int32_t
capacity
=
0
;
if
(
isField
)
{
if
(
isField
)
{
//leave space for timestamp
capacity
=
64
;
*
pKVs
=
calloc
(
2
,
sizeof
(
TAOS_SML_KV
));
*
pKVs
=
calloc
(
capacity
,
sizeof
(
TAOS_SML_KV
));
// leave space for timestamp;
pkv
=
*
pKVs
;
pkv
=
*
pKVs
;
pkv
++
;
pkv
++
;
}
}
else
{
else
{
capacity
=
8
;
*
pKVs
=
calloc
(
1
,
sizeof
(
TAOS_SML_KV
));
*
pKVs
=
calloc
(
capacity
,
sizeof
(
TAOS_SML_KV
));
pkv
=
*
pKVs
;
pkv
=
*
pKVs
;
}
}
...
@@ -1613,11 +1615,19 @@ static int32_t parseSmlKvPairs(TAOS_SML_KV **pKVs, int *num_kvs,
...
@@ -1613,11 +1615,19 @@ static int32_t parseSmlKvPairs(TAOS_SML_KV **pKVs, int *num_kvs,
//reallocate addtional memory for more kvs
//reallocate addtional memory for more kvs
TAOS_SML_KV
*
more_kvs
=
NULL
;
TAOS_SML_KV
*
more_kvs
=
NULL
;
if
(
isField
)
{
if
(
isField
)
{
more_kvs
=
realloc
(
*
pKVs
,
(
*
num_kvs
+
2
)
*
sizeof
(
TAOS_SML_KV
));
if
((
*
num_kvs
+
2
)
>
capacity
)
{
capacity
*=
3
;
capacity
/=
2
;
}
more_kvs
=
realloc
(
*
pKVs
,
capacity
*
sizeof
(
TAOS_SML_KV
));
}
else
{
}
else
{
more_kvs
=
realloc
(
*
pKVs
,
(
*
num_kvs
+
1
)
*
sizeof
(
TAOS_SML_KV
));
if
((
*
num_kvs
+
1
)
>
capacity
)
{
capacity
*=
3
;
capacity
/=
2
;
}
}
more_kvs
=
realloc
(
*
pKVs
,
capacity
*
sizeof
(
TAOS_SML_KV
));
}
if
(
!
more_kvs
)
{
if
(
!
more_kvs
)
{
goto
error
;
goto
error
;
}
}
...
@@ -1631,10 +1641,10 @@ static int32_t parseSmlKvPairs(TAOS_SML_KV **pKVs, int *num_kvs,
...
@@ -1631,10 +1641,10 @@ static int32_t parseSmlKvPairs(TAOS_SML_KV **pKVs, int *num_kvs,
}
}
goto
done
;
goto
done
;
error:
error:
free
(
*
pKVs
);
free
(
*
pKVs
);
return
ret
;
return
ret
;
done:
done:
*
index
=
cur
;
*
index
=
cur
;
return
ret
;
return
ret
;
}
}
...
@@ -1707,6 +1717,7 @@ int32_t tscParseLine(const char* sql, TAOS_SML_DATA_POINT* smlData) {
...
@@ -1707,6 +1717,7 @@ int32_t tscParseLine(const char* sql, TAOS_SML_DATA_POINT* smlData) {
tscDebug
(
"No child table name in tags"
);
tscDebug
(
"No child table name in tags"
);
}
}
removeChildTableNameFromTags
(
&
smlData
);
removeChildTableNameFromTags
(
&
smlData
);
}
}
tscDebug
(
"Parse tags finished, num of tags:%d"
,
smlData
->
tagNum
);
tscDebug
(
"Parse tags finished, num of tags:%d"
,
smlData
->
tagNum
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录