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

Edward Capriolo commented on CASSANDRA-6870:
--------------------------------------------

Hang tight on the review. I am going to re-work the storage proxy plumbing to 
multiple transforms like this.

{code}
update table set col1=increment(col1), col2=trim(col2) where rowkey = 5;
{code}

As well as:
{code}
update table set col1=concat(col1, col3), col2=trim(col2) where rowkey = 5;
{code}

This will not work:
{code}
update table set col1=increment(trim(col1)), col2=trim(col2) where rowkey = 5;
{code}

Nor will this:

{code}
trim(trim(column1)) trim (concat(col1,col2)) 
{code}


> Transform operation
> -------------------
>
>                 Key: CASSANDRA-6870
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6870
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Edward Capriolo
>            Assignee: Edward Capriolo
>            Priority: Minor
>
> Compare and swap uses paxos to only update a value only if some criteria is 
> met. If I understand correctly we should be able to use this feature to 
> provide a wider variety of server side operations. 
> For example inside a paxos transaction performing a slice and then using a 
> function to manipulate the slice. You could accomplish features like append 
> and increment this way without user needing to know the current value.
> I took a stab at doing this. I **think** I did it correctly. Comments welcome.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to