You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Eric Evans (JIRA)" <ji...@apache.org> on 2012/04/25 16:48:18 UTC

[jira] [Commented] (CASSANDRA-4184) Make identifier and value grammar for CQL3 stricter

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

Eric Evans commented on CASSANDRA-4184:
---------------------------------------

For what it's worth, allowing IDENT here was done to optimize for user experience in interactive sessions; To avoid having to quote something if it could be unambiguously parsed.  I believe it was Jonathan that championed this.

I wasn't in favor of it initially (like you, I was trying to simplify the grammar), but it's grown on me.


                
> Make identifier and value grammar for CQL3 stricter
> ---------------------------------------------------
>
>                 Key: CASSANDRA-4184
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4184
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: API
>    Affects Versions: 1.1.0
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>              Labels: cql3
>             Fix For: 1.1.1
>
>         Attachments: 0001-Disallow-integer-and-uuid-constants-as-identifier.txt, 0002-Disallow-identifier-as-value.txt
>
>
> The current grammar for CQL3 allows:
> # uuid and integer constants as identifiers
> # identifier as value (aka term in the grammar)
> I think both of those should be removed.
> For 1, mostly because this feels useless and slightly complicates the grammar which is annoying for the documentation of CQL3 for instance (note that this doesn't mean forbidding integer or uuid as identifier, but means they have to be double-quoted when used as such).
> For 2, I think that allowing identifier as value is actually misleading, typically if you write things like {{SELECT foo WHERE foo=foo}}. It suggests we support JOIN when we do not.
> Also, if both are done, then one will always be able to distinguish between identifier and value even without any context, which is a nice property.

--
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