[Bug] The naming combination of digits and letters triggers a 701 error.
- 主要言語
- Java
- スター
- 6.4k
- フォーク
- 1.2k
- 平均マージ
- 1日 23時間
- マージ済み PR(30日)
- 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 にある3つの CREATE TIMESERIES 文を再現し、属性値がどのように解析されるかを追跡します。引用符で囲まれていない値 500l に重点を置いてください。完了条件は、文 3 が文 1 および文 2 と同様に成功し、数字と文字で構成された値を対象とする回帰テストがあることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- databases
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100