Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
2714da26
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1193
Star
22018
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看板
提交
2714da26
编写于
4月 20, 2023
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:[TS-3221] reset max stmt if execute error
上级
8e8a3b26
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
19 addition
and
10 deletion
+19
-10
source/client/src/clientSml.c
source/client/src/clientSml.c
+7
-1
source/client/src/clientSmlLine.c
source/client/src/clientSmlLine.c
+6
-6
utils/test/c/sml_test.c
utils/test/c/sml_test.c
+6
-3
未找到文件。
source/client/src/clientSml.c
浏览文件 @
2714da26
...
@@ -1316,9 +1316,15 @@ static int32_t smlInsertData(SSmlHandle *info) {
...
@@ -1316,9 +1316,15 @@ static int32_t smlInsertData(SSmlHandle *info) {
uDebug
(
"SML:0x%"
PRIx64
" smlInsertData table:%s, uid:%"
PRIu64
", format:%d"
,
info
->
id
,
pName
.
tname
,
uDebug
(
"SML:0x%"
PRIx64
" smlInsertData table:%s, uid:%"
PRIu64
", format:%d"
,
info
->
id
,
pName
.
tname
,
tableData
->
uid
,
info
->
dataFormat
);
tableData
->
uid
,
info
->
dataFormat
);
int
measureLen
=
tableData
->
sTableNameLen
;
char
*
measure
=
(
char
*
)
taosMemoryMalloc
(
tableData
->
sTableNameLen
);
memcpy
(
measure
,
tableData
->
sTableName
,
tableData
->
sTableNameLen
);
PROCESS_SLASH_IN_MEASUREMENT
(
measure
,
measureLen
);
code
=
smlBindData
(
info
->
pQuery
,
info
->
dataFormat
,
tableData
->
tags
,
(
*
pMeta
)
->
cols
,
tableData
->
cols
,
code
=
smlBindData
(
info
->
pQuery
,
info
->
dataFormat
,
tableData
->
tags
,
(
*
pMeta
)
->
cols
,
tableData
->
cols
,
(
*
pMeta
)
->
tableMeta
,
tableData
->
childTableName
,
tableData
->
sTableName
,
tableData
->
sTableNam
eLen
,
(
*
pMeta
)
->
tableMeta
,
tableData
->
childTableName
,
measure
,
measur
eLen
,
info
->
ttl
,
info
->
msgBuf
.
buf
,
info
->
msgBuf
.
len
);
info
->
ttl
,
info
->
msgBuf
.
buf
,
info
->
msgBuf
.
len
);
taosMemoryFree
(
measure
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
uError
(
"SML:0x%"
PRIx64
" smlBindData failed"
,
info
->
id
);
uError
(
"SML:0x%"
PRIx64
" smlBindData failed"
,
info
->
id
);
return
code
;
return
code
;
...
...
source/client/src/clientSmlLine.c
浏览文件 @
2714da26
...
@@ -155,7 +155,7 @@ static int32_t smlParseTagKv(SSmlHandle *info, char **sql, char *sqlEnd, SSmlLin
...
@@ -155,7 +155,7 @@ static int32_t smlParseTagKv(SSmlHandle *info, char **sql, char *sqlEnd, SSmlLin
char
*
measure
=
currElement
->
measure
;
char
*
measure
=
currElement
->
measure
;
int
measureLen
=
currElement
->
measureLen
;
int
measureLen
=
currElement
->
measureLen
;
if
(
currElement
->
measureEscaped
){
if
(
currElement
->
measureEscaped
){
measure
=
taosMemoryMalloc
(
currElement
->
measureLen
);
measure
=
(
char
*
)
taosMemoryMalloc
(
currElement
->
measureLen
);
memcpy
(
measure
,
currElement
->
measure
,
currElement
->
measureLen
);
memcpy
(
measure
,
currElement
->
measure
,
currElement
->
measureLen
);
PROCESS_SLASH_IN_MEASUREMENT
(
measure
,
measureLen
);
PROCESS_SLASH_IN_MEASUREMENT
(
measure
,
measureLen
);
}
}
...
@@ -230,7 +230,7 @@ static int32_t smlParseTagKv(SSmlHandle *info, char **sql, char *sqlEnd, SSmlLin
...
@@ -230,7 +230,7 @@ static int32_t smlParseTagKv(SSmlHandle *info, char **sql, char *sqlEnd, SSmlLin
return
TSDB_CODE_SML_INVALID_DATA
;
return
TSDB_CODE_SML_INVALID_DATA
;
}
}
if
(
IS_SLASH_LETTER_IN_TAG_FIELD_KEY
(
value
))
{
if
(
IS_SLASH_LETTER_IN_TAG_FIELD_KEY
(
*
sql
))
{
valueLenEscaped
++
;
valueLenEscaped
++
;
valueEscaped
=
true
;
valueEscaped
=
true
;
}
}
...
@@ -349,7 +349,7 @@ static int32_t smlParseColKv(SSmlHandle *info, char **sql, char *sqlEnd, SSmlLin
...
@@ -349,7 +349,7 @@ static int32_t smlParseColKv(SSmlHandle *info, char **sql, char *sqlEnd, SSmlLin
char
*
measure
=
currElement
->
measure
;
char
*
measure
=
currElement
->
measure
;
int
measureLen
=
currElement
->
measureLen
;
int
measureLen
=
currElement
->
measureLen
;
if
(
currElement
->
measureEscaped
){
if
(
currElement
->
measureEscaped
){
measure
=
taosMemoryMalloc
(
currElement
->
measureLen
);
measure
=
(
char
*
)
taosMemoryMalloc
(
currElement
->
measureLen
);
memcpy
(
measure
,
currElement
->
measure
,
currElement
->
measureLen
);
memcpy
(
measure
,
currElement
->
measure
,
currElement
->
measureLen
);
PROCESS_SLASH_IN_MEASUREMENT
(
measure
,
measureLen
);
PROCESS_SLASH_IN_MEASUREMENT
(
measure
,
measureLen
);
}
}
...
@@ -460,9 +460,9 @@ static int32_t smlParseColKv(SSmlHandle *info, char **sql, char *sqlEnd, SSmlLin
...
@@ -460,9 +460,9 @@ static int32_t smlParseColKv(SSmlHandle *info, char **sql, char *sqlEnd, SSmlLin
}
}
if
(
keyEscaped
){
if
(
keyEscaped
){
char
*
tmp
=
(
char
*
)
taosMemoryMalloc
(
keyLen
);
char
*
tmp
=
(
char
*
)
taosMemoryMalloc
(
k
v
.
k
eyLen
);
memcpy
(
tmp
,
key
,
keyLen
);
memcpy
(
tmp
,
key
,
k
v
.
k
eyLen
);
PROCESS_SLASH_IN_TAG_FIELD_KEY
(
tmp
,
keyLen
);
PROCESS_SLASH_IN_TAG_FIELD_KEY
(
tmp
,
k
v
.
k
eyLen
);
kv
.
key
=
tmp
;
kv
.
key
=
tmp
;
kv
.
keyEscaped
=
keyEscaped
;
kv
.
keyEscaped
=
keyEscaped
;
}
}
...
...
utils/test/c/sml_test.c
浏览文件 @
2714da26
...
@@ -906,7 +906,7 @@ int sml_escape_Test() {
...
@@ -906,7 +906,7 @@ int sml_escape_Test() {
const
char
*
sql
[]
=
{
const
char
*
sql
[]
=
{
"d
\\
,i=
\\
s
\\
k
\"
,dev
\"
i
\\
,
\\
=
\\
ce=s
\"
i
\\
,
\\
=
\\
dc inode
\"
i
\\
,
\\
=
\\
s_used=176059i,total=1076048383523889174i 1661943960000000000"
,
"d
\\
,i=
\\
s
\\
k
\"
,dev
\"
i
\\
,
\\
=
\\
ce=s
\"
i
\\
,
\\
=
\\
dc inode
\"
i
\\
,
\\
=
\\
s_used=176059i,total=1076048383523889174i 1661943960000000000"
,
"d
\\
,i=
\\
s
\\
k
\"
,dev
\"
i
\\
,
\\
=
\\
ce=s
\"
i
\\
,
\\
=
\\
dc inode
\"
i
\\
,
\\
=
\\
s_free=
\"\\\"
id,= ei
\\\\\\
f
\"
1661943960000000000"
,
"d
\\
,i=
\\
s
\\
k
\"
,dev
\"
i
\\
,
\\
=
\\
ce=s
\"
i
\\
,
\\
=
\\
dc inode
\"
i
\\
,
\\
=
\\
s_f
\\\\
ree=
\"\\\"
id,= ei
\\\\\\
f
\"
1661943960000000000"
,
};
};
pRes
=
taos_schemaless_insert
(
taos
,
(
char
**
)
sql
,
sizeof
(
sql
)
/
sizeof
(
sql
[
0
]),
TSDB_SML_LINE_PROTOCOL
,
0
);
pRes
=
taos_schemaless_insert
(
taos
,
(
char
**
)
sql
,
sizeof
(
sql
)
/
sizeof
(
sql
[
0
]),
TSDB_SML_LINE_PROTOCOL
,
0
);
printf
(
"%s result:%s, rows:%d
\n
"
,
__FUNCTION__
,
taos_errstr
(
pRes
),
taos_affected_rows
(
pRes
));
printf
(
"%s result:%s, rows:%d
\n
"
,
__FUNCTION__
,
taos_errstr
(
pRes
),
taos_affected_rows
(
pRes
));
...
@@ -924,6 +924,9 @@ int sml_escape_Test() {
...
@@ -924,6 +924,9 @@ int sml_escape_Test() {
int
numFields
=
taos_num_fields
(
pRes
);
int
numFields
=
taos_num_fields
(
pRes
);
TAOS_FIELD
*
fields
=
taos_fetch_fields
(
pRes
);
TAOS_FIELD
*
fields
=
taos_fetch_fields
(
pRes
);
ASSERT
(
numFields
==
5
);
ASSERT
(
numFields
==
5
);
ASSERT
(
strcmp
(
fields
[
1
].
name
,
"inode
\"
i,= s_used"
)
==
0
);
ASSERT
(
strcmp
(
fields
[
2
].
name
,
"total"
)
==
0
);
ASSERT
(
strcmp
(
fields
[
3
].
name
,
"inode
\"
i,= s_f
\\\\
ree"
)
==
0
);
ASSERT
(
strcmp
(
fields
[
4
].
name
,
"dev
\"
i,= ce"
)
==
0
);
ASSERT
(
strcmp
(
fields
[
4
].
name
,
"dev
\"
i,= ce"
)
==
0
);
TAOS_ROW
row
=
NULL
;
TAOS_ROW
row
=
NULL
;
...
@@ -932,13 +935,12 @@ int sml_escape_Test() {
...
@@ -932,13 +935,12 @@ int sml_escape_Test() {
int64_t
ts
=
*
(
int64_t
*
)
row
[
0
];
int64_t
ts
=
*
(
int64_t
*
)
row
[
0
];
int64_t
used
=
*
(
int64_t
*
)
row
[
1
];
int64_t
used
=
*
(
int64_t
*
)
row
[
1
];
int64_t
total
=
*
(
int64_t
*
)
row
[
2
];
int64_t
total
=
*
(
int64_t
*
)
row
[
2
];
int64_t
freed
=
*
(
int64_t
*
)
row
[
3
];
if
(
rowIndex
==
0
)
{
if
(
rowIndex
==
0
)
{
ASSERT
(
ts
==
1661943960000
);
ASSERT
(
ts
==
1661943960000
);
ASSERT
(
used
==
176059
);
ASSERT
(
used
==
176059
);
ASSERT
(
total
==
1076048383523889174
);
ASSERT
(
total
==
1076048383523889174
);
ASSERT
(
freed
==
66932805
);
ASSERT
(
strcmp
(
row
[
3
],
"
\"
id,= ei
\\\\
f"
)
==
0
);
ASSERT
(
strcmp
(
row
[
4
],
"s
\"
i,= dc"
)
==
0
);
ASSERT
(
strcmp
(
row
[
4
],
"s
\"
i,= dc"
)
==
0
);
}
}
...
@@ -1300,6 +1302,7 @@ int main(int argc, char *argv[]) {
...
@@ -1300,6 +1302,7 @@ int main(int argc, char *argv[]) {
int
ret
=
0
;
int
ret
=
0
;
ret
=
sml_escape_Test
();
ret
=
sml_escape_Test
();
ASSERT
(
!
ret
);
ret
=
sml_ts3116_Test
();
ret
=
sml_ts3116_Test
();
ASSERT
(
!
ret
);
ASSERT
(
!
ret
);
ret
=
sml_ts2385_Test
();
// this test case need config sml table name using ./sml_test config_file
ret
=
sml_ts2385_Test
();
// this test case need config sml table name using ./sml_test config_file
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录