Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
c4ad7a8b
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看板
提交
c4ad7a8b
编写于
10月 26, 2021
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix not remove escape character in insert into table
上级
4fcf6b18
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
21 deletion
+18
-21
src/client/src/tscParseInsert.c
src/client/src/tscParseInsert.c
+18
-21
未找到文件。
src/client/src/tscParseInsert.c
浏览文件 @
c4ad7a8b
...
...
@@ -1065,6 +1065,7 @@ static int32_t tscCheckIfCreateTable(char **sqlstr, SSqlObj *pSql, char** boundC
// Remove quotation marks
if
(
TK_STRING
==
sToken
.
type
)
{
sToken
.
z
=
strndup
(
sToken
.
z
,
sToken
.
n
);
sToken
.
n
=
strRmquote
(
sToken
.
z
,
sToken
.
n
);
}
...
...
@@ -1073,33 +1074,29 @@ static int32_t tscCheckIfCreateTable(char **sqlstr, SSqlObj *pSql, char** boundC
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
tscDestroyBoundColumnInfo
(
&
spd
);
if
(
TK_STRING
==
sToken
.
type
)
free
(
sToken
.
z
);
return
code
;
}
tdAddColToKVRow
(
&
kvRowBuilder
,
pSchema
->
colId
,
pSchema
->
type
,
tagVal
,
false
);
}
// encode json tag string
if
(
spd
.
numOfBound
==
1
&&
pTagSchema
[
spd
.
boundedColumns
[
0
]].
type
==
TSDB_DATA_TYPE_JSON
){
char
tmp
=
sToken
.
z
[
sToken
.
n
];
sToken
.
z
[
sToken
.
n
]
=
0
;
// if(sToken.type != TK_STRING) {
// tdDestroyKVRowBuilder(&kvRowBuilder);
// tscDestroyBoundColumnInfo(&spd);
// return tscSQLSyntaxErrMsg(pInsertParam->msg, "json type error, should be string", NULL);
// }
if
(
sToken
.
n
>
TSDB_MAX_TAGS_LEN
/
TSDB_NCHAR_SIZE
){
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
tscDestroyBoundColumnInfo
(
&
spd
);
return
tscSQLSyntaxErrMsg
(
pInsertParam
->
msg
,
"json tag too long"
,
NULL
);
}
code
=
parseJsontoTagData
(
sToken
.
z
,
&
kvRowBuilder
,
pInsertParam
->
msg
,
pTagSchema
[
spd
.
boundedColumns
[
0
]].
colId
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
tscDestroyBoundColumnInfo
(
&
spd
);
return
code
;
if
(
pSchema
->
type
==
TSDB_DATA_TYPE_JSON
){
assert
(
spd
.
numOfBound
==
1
);
if
(
sToken
.
n
>
TSDB_MAX_TAGS_LEN
/
TSDB_NCHAR_SIZE
){
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
tscDestroyBoundColumnInfo
(
&
spd
);
if
(
TK_STRING
==
sToken
.
type
)
free
(
sToken
.
z
);
return
tscSQLSyntaxErrMsg
(
pInsertParam
->
msg
,
"json tag too long"
,
NULL
);
}
code
=
parseJsontoTagData
(
sToken
.
z
,
&
kvRowBuilder
,
pInsertParam
->
msg
,
pTagSchema
[
spd
.
boundedColumns
[
0
]].
colId
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
tscDestroyBoundColumnInfo
(
&
spd
);
if
(
TK_STRING
==
sToken
.
type
)
free
(
sToken
.
z
);
return
code
;
}
if
(
TK_STRING
==
sToken
.
type
)
free
(
sToken
.
z
);
}
sToken
.
z
[
sToken
.
n
]
=
tmp
;
}
SKVRow
row
=
tdGetKVRowFromBuilder
(
&
kvRowBuilder
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录