Julian Feinauer created IOTDB-932:
-------------------------------------
Summary: Timeseries with double ticks (") cannot be created via
CREATE TIMESErIES but only via INSERT INTO implicitly
Key: IOTDB-932
URL: https://issues.apache.org/jira/browse/IOTDB-932
Project: Apache IoTDB
Issue Type: Bug
Components: Server
Reporter: Julian Feinauer
Assignee: Julian Feinauer
The following works (session API):
```
String deviceId =
{color:#6a8759}"root.sg1.{color}{color:#cc7832}\"{color}{color:#6a8759}org.pragmaticminds:my.device{color}{color:#cc7832}\"{color}{color:#6a8759}"{color}{color:#cc7832};
{color}List<String> measurements = {color:#cc7832}new
{color}ArrayList<>(){color:#cc7832};
{color}measurements.add({color:#6a8759}"s1"{color}){color:#cc7832};
{color}measurements.add({color:#6a8759}"s2"{color}){color:#cc7832};
{color}measurements.add({color:#6a8759}"s3"{color}){color:#cc7832};
{color}measurements.add({color:#6a8759}"s4"{color}){color:#cc7832};
{color}{color:#cc7832}
{color}List<String> values = {color:#cc7832}new
{color}ArrayList<>(){color:#cc7832};
{color}values.add({color:#6a8759}"1"{color}){color:#cc7832};
{color}values.add({color:#6a8759}"1.2"{color}){color:#cc7832};
{color}values.add({color:#6a8759}"true"{color}){color:#cc7832};
{color}values.add({color:#6a8759}"dad"{color}){color:#cc7832};
{color}{color:#9876aa}session{color}.insertRecord(deviceId{color:#cc7832},
{color}{color:#6897bb}1L{color}{color:#cc7832},
{color}measurements{color:#cc7832}, {color}values){color:#cc7832};
```
{color}
{color:#cc7832}and the rifht TS is implicitly created.{color}
{color:#cc7832}This however fails:{color}
{color:#cc7832}```{color}
String storageGroup = {color:#6a8759}"root.存储组1"{color}{color:#cc7832};
{color}String[] devices = {color:#cc7832}new {color}String[]{
{color:#6a8759}"设备1.指标1"{color}{color:#cc7832},
{color} {color:#6a8759}"设备1.s2"{color}{color:#cc7832},
{color} {color:#6a8759}"d2.s1"{color}{color:#cc7832},
{color} {color:#6a8759}"d2.指标2"{color}{color:#cc7832},
{color}
{color:#6a8759}"{color}{color:#cc7832}\"{color}{color:#6a8759}org.pragmaticminds:my.device{color}{color:#cc7832}\"{color}{color:#6a8759}.指标2"
{color}}{color:#cc7832};
{color}{color:#9876aa}session{color}.setStorageGroup(storageGroup){color:#cc7832};
{color}{color:#cc7832}for {color}(String path : devices) {
String fullPath = storageGroup + TsFileConstant.{color:#9876aa}PATH_SEPARATOR
{color}+ path{color:#cc7832};
{color} {color:#9876aa}session{color}.createTimeseries(fullPath{color:#cc7832},
{color}TSDataType.{color:#9876aa}INT64{color}{color:#cc7832},
{color}TSEncoding.{color:#9876aa}RLE{color}{color:#cc7832},
{color}CompressionType.{color:#9876aa}SNAPPY{color}){color:#cc7832};
{color}}
{color:#cc7832}```{color}
{color:#cc7832}This is due to the Method
`TSServiceImpl.{color}{color:#ffc66d}checkPathValidity()` which uses a REGEX
that is not in sync with the Parser.
{color}
{color:#ffc66d}I suggest to remove this method and all checks to it as its
simply redundant functionality and we should simply let the parser determine
(as single source of truth) what is allowed syntax and what not.{color}
{color:#ffc66d}WDYT?{color}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)