merge from 1.2

Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/19047b89
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/19047b89
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/19047b89

Branch: refs/heads/trunk
Commit: 19047b8943ed4b4ea5925c7c8d94025d26f076f3
Parents: 66aadda 44c462c
Author: Jonathan Ellis <[email protected]>
Authored: Thu May 23 11:05:53 2013 -0500
Committer: Jonathan Ellis <[email protected]>
Committed: Thu May 23 11:05:53 2013 -0500

----------------------------------------------------------------------
 src/java/org/apache/cassandra/db/RowMutation.java |    9 +++++++++
 src/java/org/apache/cassandra/db/SystemTable.java |    2 +-
 2 files changed, 10 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/19047b89/src/java/org/apache/cassandra/db/RowMutation.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/RowMutation.java
index d78247b,b85cfcd..64069c8
--- a/src/java/org/apache/cassandra/db/RowMutation.java
+++ b/src/java/org/apache/cassandra/db/RowMutation.java
@@@ -238,23 -311,65 +238,32 @@@ public class RowMutation implements IMu
          return buff.append("])").toString();
      }
  
 -    public void addColumnOrSuperColumn(String cfName, ColumnOrSuperColumn 
cosc)
 -    {
 -        if (cosc.super_column != null)
 -        {
 -            for (org.apache.cassandra.thrift.Column column : 
cosc.super_column.columns)
 -            {
 -                add(new QueryPath(cfName, cosc.super_column.name, 
column.name), column.value, column.timestamp, column.ttl);
 -            }
 -        }
 -        else if (cosc.column != null)
 -        {
 -            add(new QueryPath(cfName, null, cosc.column.name), 
cosc.column.value, cosc.column.timestamp, cosc.column.ttl);
 -        }
 -        else if (cosc.counter_super_column != null)
 -        {
 -            for (org.apache.cassandra.thrift.CounterColumn column : 
cosc.counter_super_column.columns)
 -            {
 -                addCounter(new QueryPath(cfName, 
cosc.counter_super_column.name, column.name), column.value);
 -            }
 -        }
 -        else // cosc.counter_column != null
 -        {
 -            addCounter(new QueryPath(cfName, null, cosc.counter_column.name), 
cosc.counter_column.value);
 -        }
 -    }
 -
 -    public void deleteColumnOrSuperColumn(String cfName, Deletion del)
 +    public RowMutation without(UUID cfId)
      {
 -        if (del.predicate != null && del.predicate.column_names != null)
 -        {
 -            for(ByteBuffer c : del.predicate.column_names)
 -            {
 -                if (del.super_column == null && 
Schema.instance.getColumnFamilyType(table, cfName) == ColumnFamilyType.Super)
 -                    delete(new QueryPath(cfName, c), del.timestamp);
 -                else
 -                    delete(new QueryPath(cfName, del.super_column, c), 
del.timestamp);
 -            }
 -        }
 -        else
 -        {
 -            delete(new QueryPath(cfName, del.super_column), del.timestamp);
 -        }
 +        RowMutation rm = new RowMutation(table, key);
 +        for (Map.Entry<UUID, ColumnFamily> entry : modifications.entrySet())
 +            if (!entry.getKey().equals(cfId))
 +                rm.add(entry.getValue());
 +        return rm;
      }
  
+     public RowMutation without(UUID cfId)
+     {
+         RowMutation rm = new RowMutation(table, key);
+         for (Map.Entry<UUID, ColumnFamily> entry : modifications.entrySet())
+             if (!entry.getKey().equals(cfId))
+                 rm.add(entry.getValue());
+         return rm;
+     }
+ 
      public static class RowMutationSerializer implements 
IVersionedSerializer<RowMutation>
      {
 -        public void serialize(RowMutation rm, DataOutput dos, int version) 
throws IOException
 +        public void serialize(RowMutation rm, DataOutput out, int version) 
throws IOException
          {
 -            dos.writeUTF(rm.getTable());
 -            ByteBufferUtil.writeWithShortLength(rm.key(), dos);
 +            if (version < MessagingService.VERSION_20)
 +                out.writeUTF(rm.getTable());
 +
 +            ByteBufferUtil.writeWithShortLength(rm.key(), out);
  
              /* serialize the modifications in the mutation */
              int size = rm.modifications.size();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/19047b89/src/java/org/apache/cassandra/db/SystemTable.java
----------------------------------------------------------------------

Reply via email to