Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
4d51273a
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
4d51273a
编写于
8月 01, 2022
作者:
X
Xiaoyu Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: database name cannot contain '.'
上级
5b34e4ef
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
9 addition
and
19 deletion
+9
-19
source/common/src/tname.c
source/common/src/tname.c
+4
-18
source/libs/parser/src/parTranslater.c
source/libs/parser/src/parTranslater.c
+4
-0
source/libs/parser/src/parUtil.c
source/libs/parser/src/parUtil.c
+1
-1
未找到文件。
source/common/src/tname.c
浏览文件 @
4d51273a
...
...
@@ -262,21 +262,11 @@ int32_t tNameFromString(SName* dst, const char* str, uint32_t type) {
char
*
start
=
(
char
*
)((
p
==
NULL
)
?
str
:
(
p
+
1
));
int32_t
len
=
0
;
if
(
TS_ESCAPE_CHAR
==
*
start
)
{
++
start
;
char
*
end
=
start
;
while
(
'`'
!=
*
end
)
{
++
end
;
}
len
=
end
-
start
;
p
=
++
end
;
p
=
strstr
(
start
,
TS_PATH_DELIMITER
);
if
(
p
==
NULL
)
{
len
=
(
int32_t
)
strlen
(
start
);
}
else
{
p
=
strstr
(
start
,
TS_PATH_DELIMITER
);
if
(
p
==
NULL
)
{
len
=
(
int32_t
)
strlen
(
start
);
}
else
{
len
=
(
int32_t
)(
p
-
start
);
}
len
=
(
int32_t
)(
p
-
start
);
}
// too long account id or too long db name
...
...
@@ -294,10 +284,6 @@ int32_t tNameFromString(SName* dst, const char* str, uint32_t type) {
// too long account id or too long db name
int32_t
len
=
(
int32_t
)
strlen
(
start
);
if
(
TS_ESCAPE_CHAR
==
*
start
)
{
len
-=
2
;
++
start
;
}
if
((
len
>=
tListLen
(
dst
->
tname
))
||
(
len
<=
0
))
{
return
-
1
;
}
...
...
source/libs/parser/src/parTranslater.c
浏览文件 @
4d51273a
...
...
@@ -3344,6 +3344,10 @@ static int32_t checkDatabaseOptions(STranslateContext* pCxt, const char* pDbName
}
static
int32_t
checkCreateDatabase
(
STranslateContext
*
pCxt
,
SCreateDatabaseStmt
*
pStmt
)
{
if
(
NULL
!=
strchr
(
pStmt
->
dbName
,
'.'
))
{
return
generateSyntaxErrMsgExt
(
&
pCxt
->
msgBuf
,
TSDB_CODE_PAR_INVALID_IDENTIFIER_NAME
,
"The database name cannot contain '.'"
);
}
return
checkDatabaseOptions
(
pCxt
,
pStmt
->
dbName
,
pStmt
->
pOptions
);
}
...
...
source/libs/parser/src/parUtil.c
浏览文件 @
4d51273a
...
...
@@ -653,7 +653,7 @@ static int32_t reserveTableReqInCacheImpl(const char* pTbFName, int32_t len, SHa
static
int32_t
reserveTableReqInCache
(
int32_t
acctId
,
const
char
*
pDb
,
const
char
*
pTable
,
SHashObj
**
pTables
)
{
char
fullName
[
TSDB_TABLE_FNAME_LEN
];
int32_t
len
=
snprintf
(
fullName
,
sizeof
(
fullName
),
"%d.
`%s`.`%s`
"
,
acctId
,
pDb
,
pTable
);
int32_t
len
=
snprintf
(
fullName
,
sizeof
(
fullName
),
"%d.
%s.%s
"
,
acctId
,
pDb
,
pTable
);
return
reserveTableReqInCacheImpl
(
fullName
,
len
,
pTables
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录