[Bug] The naming combination of digits and letters triggers a 701 error.
- 主要语言
- Java
- 星标
- 6.4k
- 派生
- 1.2k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 115
描述
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar.
### Version
1.3.2
### Describe the bug and provide the minimal reproduce step
```
DROP DATABASE root.db0
CREATE DATABASE root.db0
# statement 1
CREATE TIMESERIES root.db0.t1 WITH datatype=INT32 attributes(K8SlZ=500)
# statement 2
CREATE TIMESERIES root.db0.t2 WITH datatype=INT32 attributes(K8SlZ='500l')
# statement 3
CREATE TIMESERIES root.db0.t3 WITH datatype=INT32 attributes(K8SlZ=500l)
```
### What did you expect to see?
The above three statements should all execute successfully.
### What did you see instead?
Statement 1 and Statement 2 executed successfully, but Statement 3 returns the **error**: Msg: 701: 500l is illegal, identifier not enclosed with backticks can only consist of digits, characters, and underscore.
### Anything else?
Dear IoTDB team, upon reviewing the IoTDB software documentation, `500l` should not be a keyword and meets the identifier naming rules, as it is a combination of digits and letters. However, in the attributes as a value, it requires backticks for successful creation. If it is a bug, please mark this issue as "bug". Thank you!
### Are you willing to submit a PR?
- [x] I'm willing to submit a PR!
贡献指南
调研方向
首先复现 issue 中的三条 CREATE TIMESERIES 语句,并跟踪属性值的解析方式,重点关注未加引号的值 500l。完成标准是语句 3 像语句 1 和 2 一样成功,并包含一个覆盖数字和字母值的回归测试。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- databases
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100