Is your feature request related to a problem?
I'm looking at potentially migrating to QuestDB from InfluxDB though I'm having a problem when trying to create columns with .. Dots are normally supported by InfluxDB (and the official line protocol syntax spec so I expected them to be supported here.
They are very useful since I am logging structured data and 'flattening' it to shove into a single row
For example, if I have an object in the form:
{
"key1": 0.1,
"key2": "stringValue",
"key3": { "nested": [0, 1, 2] }
}
This will be serialized into line protocol with something like
table key1=0.1,key2="stringValue",key3.nested[0]=0,key3.nested[1]=1,key3.nested[2]=2 TIMESTAMP
This allows me to reconstitute the object from a query without attaching additional metadata to describe to objects structure.
Describe the solution you'd like.
I'd like QuestDB to accept . as a valid column character. I know this character is explicitly not allowed at the moment #412, #2216 (comment) but it's unclear to me why that is necessary as there shouldn't be ambiguity in the line protocol syntax.
Describe alternatives you've considered.
Simply renaming the . to another special character that is supported like & seems to work though this is not optimal seeing as my schema will change and therefore other points that expect serialized nested paths to be named a certain way.
Full Name:
Andrei Tumbar
Affiliation:
NASA Jet Propulsion Laboratory
Additional context
Error for reference:
{"code":"invalid","message":"failed to parse line protocol:errors encountered on line(s):\nerror in line 1: table: TABLE; invalid column name: value.ARRAY_NAME[0]","line":1,"errorId":"21a903fbc762-7"}%
Is your feature request related to a problem?
I'm looking at potentially migrating to QuestDB from InfluxDB though I'm having a problem when trying to create columns with
.. Dots are normally supported by InfluxDB (and the official line protocol syntax spec so I expected them to be supported here.They are very useful since I am logging structured data and 'flattening' it to shove into a single row
For example, if I have an object in the form:
{ "key1": 0.1, "key2": "stringValue", "key3": { "nested": [0, 1, 2] } }This will be serialized into line protocol with something like
This allows me to reconstitute the object from a query without attaching additional metadata to describe to objects structure.
Describe the solution you'd like.
I'd like QuestDB to accept
.as a valid column character. I know this character is explicitly not allowed at the moment #412, #2216 (comment) but it's unclear to me why that is necessary as there shouldn't be ambiguity in the line protocol syntax.Describe alternatives you've considered.
Simply renaming the
.to another special character that is supported like&seems to work though this is not optimal seeing as my schema will change and therefore other points that expect serialized nested paths to be named a certain way.Full Name:
Andrei Tumbar
Affiliation:
NASA Jet Propulsion Laboratory
Additional context
Error for reference: