Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
8b1dc39c
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看板
未验证
提交
8b1dc39c
编写于
1月 28, 2021
作者:
H
haojun Liao
提交者:
GitHub
1月 28, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #5049 from taosdata/hotfix/TD-2850
TD-2850
上级
033586cc
647a679f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
21 addition
and
8 deletion
+21
-8
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+1
-0
src/client/src/tscUtil.c
src/client/src/tscUtil.c
+14
-2
tests/script/general/parser/dbtbnameValidate.sim
tests/script/general/parser/dbtbnameValidate.sim
+6
-6
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
8b1dc39c
...
...
@@ -5427,6 +5427,7 @@ int32_t validateColumnName(char* name) {
if
(
token
.
type
==
TK_STRING
)
{
strdequote
(
token
.
z
);
strntolower
(
token
.
z
,
token
.
z
,
token
.
n
);
token
.
n
=
(
uint32_t
)
strtrim
(
token
.
z
);
int32_t
k
=
tSQLGetToken
(
token
.
z
,
&
token
.
type
);
...
...
src/client/src/tscUtil.c
浏览文件 @
8b1dc39c
...
...
@@ -32,6 +32,14 @@
static
void
freeQueryInfoImpl
(
SQueryInfo
*
pQueryInfo
);
static
void
clearAllTableMetaInfo
(
SQueryInfo
*
pQueryInfo
);
static
void
tscStrToLower
(
char
*
str
,
int32_t
n
)
{
if
(
str
==
NULL
||
n
<=
0
)
{
return
;}
for
(
int32_t
i
=
0
;
i
<
n
;
i
++
)
{
if
(
str
[
i
]
>=
'A'
&&
str
[
i
]
<=
'Z'
)
{
str
[
i
]
-=
(
'A'
-
'a'
);
}
}
}
SCond
*
tsGetSTableQueryCond
(
STagCond
*
pTagCond
,
uint64_t
uid
)
{
if
(
pTagCond
->
pCond
==
NULL
)
{
return
NULL
;
...
...
@@ -1413,9 +1421,11 @@ int32_t tscValidateName(SStrToken* pToken) {
char
*
sep
=
strnchr
(
pToken
->
z
,
TS_PATH_DELIMITER
[
0
],
pToken
->
n
,
true
);
if
(
sep
==
NULL
)
{
// single part
if
(
pToken
->
type
==
TK_STRING
)
{
strdequote
(
pToken
->
z
);
tscStrToLower
(
pToken
->
z
,
pToken
->
n
);
pToken
->
n
=
(
uint32_t
)
strtrim
(
pToken
->
z
);
int
len
=
tSQLGetToken
(
pToken
->
z
,
&
pToken
->
type
);
// single token, validate it
...
...
@@ -1467,7 +1477,7 @@ int32_t tscValidateName(SStrToken* pToken) {
if
(
pToken
->
type
==
TK_STRING
&&
validateQuoteToken
(
pToken
)
!=
TSDB_CODE_SUCCESS
)
{
return
TSDB_CODE_TSC_INVALID_SQL
;
}
// re-build the whole name string
if
(
pStr
[
firstPartLen
]
==
TS_PATH_DELIMITER
[
0
])
{
// first part do not have quote do nothing
...
...
@@ -1479,6 +1489,8 @@ int32_t tscValidateName(SStrToken* pToken) {
}
pToken
->
n
+=
(
firstPartLen
+
sizeof
(
TS_PATH_DELIMITER
[
0
]));
pToken
->
z
=
pStr
;
tscStrToLower
(
pToken
->
z
,
pToken
->
n
);
}
return
TSDB_CODE_SUCCESS
;
...
...
tests/script/general/parser/dbtbnameValidate.sim
浏览文件 @
8b1dc39c
...
...
@@ -26,11 +26,11 @@ sql use ' XYZ '
sql drop database 'abc123'
sql drop database '_ab1234'
sql drop database 'ABC123'
sql
_error
drop database 'ABC123'
sql drop database '_ABC123'
sql drop database 'aABb123'
sql drop database ' xyz '
sql drop database ' XYZ '
sql
_error
drop database ' XYZ '
sql use abc
...
...
@@ -67,9 +67,9 @@ sql describe mt
sql describe sub_001
sql describe sub_dy_tbl
sql
_error
describe Dd
sql
_error
describe FF
sql
_error
describe gG
sql describe Dd
sql describe FF
sql describe gG
sql drop table abc.cc
sql drop table 'abc.Dd'
...
...
@@ -119,4 +119,4 @@ if $rows != 4 then
return -1
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode1 -s stop -x SIGINT
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录