You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2016/07/19 08:50:20 UTC

[jira] [Updated] (CASSANDRA-12232) Add +=/-= shortcut syntax

     [ https://issues.apache.org/jira/browse/CASSANDRA-12232?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sylvain Lebresne updated CASSANDRA-12232:
-----------------------------------------
    Assignee: Alex Petrov

> Add +=/-= shortcut syntax
> -------------------------
>
>                 Key: CASSANDRA-12232
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12232
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL
>            Reporter: Sylvain Lebresne
>            Assignee: Alex Petrov
>            Priority: Minor
>
> For collections and counters, the current syntax to add/remove elements is:
> {noformat}
> UPDATE foo SET myCollection = myCollection + ...;
> {noformat}
> which is fine, though it's already tad annoying to have to repeat {{myCollection}}. 
> But moving forward, with tickets CASSANDRA-7826, we'll start being able to add to nested collections and we'll end up with queries like:
> {noformat}
> UPDATE foo SET myCollection['someElement']['otherElemnt'] = myCollection['someElement']['otherElemnt'] + ...;
> {noformat}
> where the repetition is starting to be really annoying and it makes the query less readable.
> It's trivial however to add a {{+=}}/{{-=}} shortcut syntax which would read instead:
> {noformat}
> UPDATE foo SET myCollection['someElement']['otherElemnt'] += ...;
> {noformat}
> As this would just be syntactic sugar, it only requires a few minor addition to the grammar and this would be completely optional: if some users prefer the verbose syntax, that's fine.
> Also note that while this will be even more useful after things like CASSANDRA-7826, it's already a nice to have today so it's not dependent on that latter ticket in any way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)