[ 
https://issues.apache.org/jira/browse/CASSANDRA-4241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13273885#comment-13273885
 ] 

Sylvain Lebresne commented on CASSANDRA-4241:
---------------------------------------------

I'll note that in fact the first version of CQL3 didn't had the data types 
hardcoded in the grammar and I added them afterwards. My vague justification 
for that was for documentation purpose of the grammar itself (if someone wants 
to write a CQL tool and wants to check the detailed grammar, the more it can do 
by just looking a Cql.g, the better).

The way this currently works, a type is either a native type, or a string 
litteral (in which case it is a custom type, and custom types *are* supported 
(as they are in CQL2)). I do like the idea to have a syntactic distinction 
between native and custom types (namely whether the name is within quotes). I 
think it makes the syntax slightly more regular. And that part would actually 
be slightly annoying to do with post-parser validation (because currently the 
distinction is enforce by the parser, but after that it's all "Strings", we've 
lost whether it was enclosed in quotes or not).

Anyway, that's minor details but just wanted to mention that I did though of it 
and I have a slight preference for the way it is (the fact that we have to 
update 2 places is imo a non-issue in that specific case, we won't add new 
datatypes every other day).
                
> avoid hardcoding datatypes in CQL3 grammar
> ------------------------------------------
>
>                 Key: CASSANDRA-4241
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4241
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: API
>            Reporter: Jonathan Ellis
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 1.1.1
>
>
> Currently adding a new datatype requires editing Cql.g as well as CFPropDefs. 
>  ISTM we can omit data type knowledge from the parser and just use \w+, and 
> let our post-parser code reject invalid datatypes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to