Author: jbellis
Date: Fri Aug 27 20:06:52 2010
New Revision: 990246

URL: http://svn.apache.org/viewvc?rev=990246&view=rev
Log:
default validation_class to null for compatibility w/ 0.7 beta1.  patch by Jon 
Hermes; reviewed by Stu Hood for CASSANDRA-891

Modified:
    cassandra/trunk/interface/cassandra.genavro
    cassandra/trunk/src/avro/internode.genavro
    cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java

Modified: cassandra/trunk/interface/cassandra.genavro
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/interface/cassandra.genavro?rev=990246&r1=990245&r2=990246&view=diff
==============================================================================
--- cassandra/trunk/interface/cassandra.genavro (original)
+++ cassandra/trunk/interface/cassandra.genavro Fri Aug 27 20:06:52 2010
@@ -111,7 +111,7 @@ protocol Cassandra {
         union { double, null } key_cache_size;
         union { double, null } read_repair_chance;
         union { int, null } gc_grace_seconds;
-        union { string, null } default_validation_class;
+        union { null, string } default_validation_class = null;
         union { int, null } id;
         union { array<ColumnDef>, null } column_metadata;
     }

Modified: cassandra/trunk/src/avro/internode.genavro
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/avro/internode.genavro?rev=990246&r1=990245&r2=990246&view=diff
==============================================================================
--- cassandra/trunk/src/avro/internode.genavro (original)
+++ cassandra/trunk/src/avro/internode.genavro Fri Aug 27 20:06:52 2010
@@ -56,7 +56,7 @@ protocol InterNode {
         union { double, null } key_cache_size;
         union { double, null } read_repair_chance;
         union { int, null } gc_grace_seconds;
-        union { string, null } default_validation_class;
+        union { null, string } default_validation_class = null;
         union { int, null } id;
         union { array<ColumnDef>, null } column_metadata;
     }

Modified: cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java?rev=990246&r1=990245&r2=990246&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java Fri 
Aug 27 20:06:52 2010
@@ -27,6 +27,7 @@ import org.apache.avro.util.Utf8;
 import org.apache.commons.lang.builder.EqualsBuilder;
 import org.apache.commons.lang.builder.HashCodeBuilder;
 
+import org.apache.cassandra.config.avro.ColumnDef;
 import org.apache.cassandra.db.marshal.TimeUUIDType;
 import org.apache.cassandra.db.marshal.UTF8Type;
 import org.apache.cassandra.io.SerDeUtils;
@@ -199,8 +200,7 @@ public final class CFMetaData
     /** clones an existing CFMetaData using the same id. */
     public static CFMetaData rename(CFMetaData cfm, String newName)
     {
-        CFMetaData newCfm = new CFMetaData(cfm.tableName, newName, cfm.cfType, 
cfm.clockType, cfm.comparator, cfm.subcolumnComparator, cfm.reconciler, 
cfm.comment, cfm.rowCacheSize, cfm.preloadRowCache, cfm.keyCacheSize, 
cfm.readRepairChance, cfm.gcGraceSeconds, cfm.defaultValidator, cfm.cfId, 
cfm.column_metadata);
-        return newCfm;
+        return new CFMetaData(cfm.tableName, newName, cfm.cfType, 
cfm.clockType, cfm.comparator, cfm.subcolumnComparator, cfm.reconciler, 
cfm.comment, cfm.rowCacheSize, cfm.preloadRowCache, cfm.keyCacheSize, 
cfm.readRepairChance, cfm.gcGraceSeconds, cfm.defaultValidator, cfm.cfId, 
cfm.column_metadata);
     }
     
     /** clones existing CFMetaData. keeps the id but changes the table name.*/
@@ -262,17 +262,18 @@ public final class CFMetaData
             if (cf.subcomparator_type != null)
                 subcolumnComparator = 
DatabaseDescriptor.getComparator(cf.subcomparator_type.toString());
             reconciler = 
DatabaseDescriptor.getReconciler(cf.reconciler.toString());
-            validator = 
DatabaseDescriptor.getComparator(cf.default_validation_class.toString());
+            validator = cf.default_validation_class == null
+                        ? BytesType.instance
+                        : 
DatabaseDescriptor.getComparator(cf.default_validation_class.toString());
         }
         catch (Exception ex)
         {
             throw new RuntimeException("Could not inflate CFMetaData for " + 
cf, ex);
         }
         Map<byte[], ColumnDefinition> column_metadata = new TreeMap<byte[], 
ColumnDefinition>(FBUtilities.byteArrayComparator);
-        Iterator<org.apache.cassandra.config.avro.ColumnDef> cditer = 
cf.column_metadata.iterator();
-        while (cditer.hasNext())
+        for (ColumnDef aColumn_metadata : cf.column_metadata)
         {
-            ColumnDefinition cd = ColumnDefinition.inflate(cditer.next());
+            ColumnDefinition cd = ColumnDefinition.inflate(aColumn_metadata);
             column_metadata.put(cd.name, cd);
         }
         return new CFMetaData(cf.keyspace.toString(), cf.name.toString(), 
ColumnFamilyType.create(cf.column_type.toString()), 
ClockType.create(cf.clock_type.toString()), comparator, subcolumnComparator, 
reconciler, cf.comment.toString(), cf.row_cache_size, cf.preload_row_cache, 
cf.key_cache_size, cf.read_repair_chance, cf.gc_grace_seconds, validator, 
cf.id, column_metadata);


Reply via email to