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 <[email protected]> Authored: Sat Jan 4 01:51:46 2014 +0300 Committer: Aleksey Yeschenko <[email protected]> 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; } }
