You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2012/03/22 16:55:10 UTC

[2/2] git commit: Fix #4037 commit

Fix #4037 commit


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

Branch: refs/heads/trunk
Commit: 11bdcd6d7f78709fdf069fbd03ffe1418c76980f
Parents: df10325
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Mar 22 16:53:40 2012 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Mar 22 16:53:40 2012 +0100

----------------------------------------------------------------------
 .../org/apache/cassandra/config/CFMetaData.java    |   11 ++++++++++-
 .../apache/cassandra/config/ColumnDefinition.java  |    5 +++++
 2 files changed, 15 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/11bdcd6d/src/java/org/apache/cassandra/config/CFMetaData.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java
index 22b16d7..b3e3a8b 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -353,6 +353,12 @@ public final class CFMetaData
 
     static CFMetaData copyOpts(CFMetaData newCFMD, CFMetaData oldCFMD)
     {
+        Map<ByteBuffer, ColumnDefinition> clonedColumns = new HashMap<ByteBuffer, ColumnDefinition>();
+        for (ColumnDefinition cd : oldCFMD.column_metadata.values())
+        {
+            ColumnDefinition cloned = cd.clone();
+            clonedColumns.put(cloned.name, cloned);
+        }
         return newCFMD.comment(oldCFMD.comment)
                       .readRepairChance(oldCFMD.readRepairChance)
                       .dcLocalReadRepairChance(oldCFMD.dcLocalReadRepairChance)
@@ -362,7 +368,10 @@ public final class CFMetaData
                       .keyValidator(oldCFMD.keyValidator)
                       .minCompactionThreshold(oldCFMD.minCompactionThreshold)
                       .maxCompactionThreshold(oldCFMD.maxCompactionThreshold)
-                      .columnMetadata(oldCFMD.column_metadata)
+                      .keyAlias(oldCFMD.keyAlias)
+                      .columnAliases(new ArrayList<ByteBuffer>(oldCFMD.columnAliases))
+                      .valueAlias(oldCFMD.valueAlias)
+                      .columnMetadata(clonedColumns)
                       .compactionStrategyClass(oldCFMD.compactionStrategyClass)
                       .compactionStrategyOptions(oldCFMD.compactionStrategyOptions)
                       .compressionParameters(oldCFMD.compressionParameters)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/11bdcd6d/src/java/org/apache/cassandra/config/ColumnDefinition.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/ColumnDefinition.java b/src/java/org/apache/cassandra/config/ColumnDefinition.java
index f6d8209..795f1d2 100644
--- a/src/java/org/apache/cassandra/config/ColumnDefinition.java
+++ b/src/java/org/apache/cassandra/config/ColumnDefinition.java
@@ -83,6 +83,11 @@ public class ColumnDefinition
         return new ColumnDefinition(ByteBufferUtil.bytes(name), DoubleType.instance, null, null, null);
     }
 
+    public ColumnDefinition clone()
+    {
+        return new ColumnDefinition(name, validator, index_type, index_options, index_name);
+    }
+
     @Override
     public boolean equals(Object o)
     {