apache / iotdb

Apache IoTDB
https://iotdb.apache.org/
Apache License 2.0
5.63k stars 1.03k forks source link

[Bug] The naming combination of digits and letters triggers a 701 error. #13729

Open LingweiKuang opened 1 month ago

LingweiKuang commented 1 month ago

Search before asking

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?

CritasWang commented 3 weeks ago

500l does not comply with naming conventions, It means a number of type Long