cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-3647) Support set and map value types in CQL
Date Fri, 15 Jun 2012 18:04:43 GMT

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

Sylvain Lebresne commented on CASSANDRA-3647:
---------------------------------------------

I've rebased and changed the syntax to match what's above. The new branch is at https://github.com/pcmanus/cassandra/commits/3647-2.

To sum up the new syntax:
* lists:
{noformat}
UPDATE L = L + [ 'a' , 'b' ] WHERE ... // Appends to list
UPDATE L = [ 'a' , 'b' ] + L WHERE ... // Prepends to list
UPDATE L[1] = 'c' WHERE ...            // Sets by idx
UPDATE L = L - [ 'a', 'b' ] WHERE ...  // Remove all occurences of value 'a' and 'b' in list
DELETE L[1] WHERE ...                  // Deletes by idx
{noformat}
* sets:
{noformat}
UPDATE S = S + { 'a', 'b' } WHERE ... // Adds to set
UPDATE S = S - { 'a', 'b' } WHERE ... // Remove values 'a' and 'b' from set
{noformat}
* maps:
{noformat}
UPDATE M['a'] = 'c' WHERE ...          // Put key,value
UPDATE M = M + { 'a' : 'c' } WHERE ... // Equivalent to previous
DELETE M['a'] WHERE ...                // Remove value for key 'a'
{noformat}

A few remarks:
* We could rename list -> array. I figured one reason to keep list could be to emphasize
that there is no predefined size. But I'm good with array.
* There is no support, for maps, of
{noformat}
UPDATE M = M - { 'a' : 'c' } WHERE ...
{noformat}
or some other syntax to remove a element of a map by value. The reason is that I don't think
we can implement that correctly due to concurrency.

                
> Support set and map value types in CQL
> --------------------------------------
>
>                 Key: CASSANDRA-3647
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3647
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: API, Core
>            Reporter: Jonathan Ellis
>            Assignee: Sylvain Lebresne
>              Labels: cql
>             Fix For: 1.2
>
>
> Composite columns introduce the ability to have arbitrarily nested data in a Cassandra
row.  We should expose this through CQL.

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

        

Mime
View raw message