cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edward Capriolo (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-6870) Transform operation
Date Tue, 18 Mar 2014 22:22:53 GMT

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

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

To make this more effective it could be generalized

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

Then instead of a function that can transform a ColumnFamily named source. You could supply
a map of functions to apply to columns to happen inside the paxos transaction. This is where
it starts getting 3rd dimensional, are the source columns simply columns in from the storage
engine, or can the functions be nested? 

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



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

Mime
View raw message