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