You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2014/01/03 23:52:57 UTC

git commit: Fix dropping columns in trunk

Updated Branches:
  refs/heads/trunk b65481b1d -> 15963c80f


Fix dropping columns in trunk

patch by Mikhail Stepura; reviewed by Aleksey Yeschenko for
CASSANDRA-6520


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

Branch: refs/heads/trunk
Commit: 15963c80fffa2f4a158e1ec3c3fe3c5427c41365
Parents: b65481b
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Sat Jan 4 01:51:46 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Sat Jan 4 01:51:46 2014 +0300

----------------------------------------------------------------------
 CHANGES.txt                                      |  3 ++-
 src/java/org/apache/cassandra/db/CFRowAdder.java | 10 +++++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/15963c80/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 7cc2929..79957e5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -16,7 +16,8 @@
  * Batch read from OTC's queue and cleanup (CASSANDRA-1632)
  * Secondary index support for collections (CASSANDRA-4511)
  * SSTable metadata(Stats.db) format change (CASSANDRA-6356)
- * Push composites support in the storage engine (CASSANDRA-5417)
+ * Push composites support in the storage engine
+   (CASSANDRA-5417, CASSANDRA-6520)
  * Add snapshot space used to cfstats (CASSANDRA-6231)
  * Add cardinality estimator for key count estimation (CASSANDRA-5906)
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/15963c80/src/java/org/apache/cassandra/db/CFRowAdder.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/CFRowAdder.java b/src/java/org/apache/cassandra/db/CFRowAdder.java
index 4247822..097f6aa 100644
--- a/src/java/org/apache/cassandra/db/CFRowAdder.java
+++ b/src/java/org/apache/cassandra/db/CFRowAdder.java
@@ -22,6 +22,7 @@ import org.apache.cassandra.config.ColumnDefinition;
 import org.apache.cassandra.db.composites.CellName;
 import org.apache.cassandra.db.composites.Composite;
 import org.apache.cassandra.db.marshal.AbstractType;
+import org.apache.cassandra.db.marshal.CollectionType;
 import org.apache.cassandra.db.marshal.MapType;
 import org.apache.cassandra.utils.ByteBufferUtil;
 
@@ -73,9 +74,16 @@ public class CFRowAdder
     private CFRowAdder add(CellName name, ColumnDefinition def, Object value)
     {
         if (value == null)
+        {
             cf.addColumn(new DeletedCell(name, ldt, timestamp));
+        }
         else
-            cf.addColumn(new Cell(name, ((AbstractType)def.type).decompose(value), timestamp));
+        {
+            AbstractType valueType = def.type.isCollection()
+                                   ? ((CollectionType) def.type).valueComparator()
+                                   : def.type;
+            cf.addColumn(new Cell(name, valueType.decompose(value), timestamp));
+        }
         return this;
     }
 }