You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ja...@apache.org on 2013/01/14 21:30:11 UTC

[7/9] Upgrade thrift version to 0.9.0

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b153d456/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
----------------------------------------------------------------------
diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
index e2c32cc..602e9df 100644
--- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
+++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
@@ -1,7 +1,8 @@
 /**
- * Autogenerated by Thrift Compiler (0.7.0)
+ * Autogenerated by Thrift Compiler (0.9.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
  */
 package org.apache.cassandra.thrift;
 /*
@@ -27,6 +28,15 @@ package org.apache.cassandra.thrift;
 
 
 import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Map;
@@ -81,71 +91,77 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   private static final org.apache.thrift.protocol.TField ROW_CACHE_PROVIDER_FIELD_DESC = new org.apache.thrift.protocol.TField("row_cache_provider", org.apache.thrift.protocol.TType.STRING, (short)27);
   private static final org.apache.thrift.protocol.TField ROW_CACHE_KEYS_TO_SAVE_FIELD_DESC = new org.apache.thrift.protocol.TField("row_cache_keys_to_save", org.apache.thrift.protocol.TType.I32, (short)31);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new CfDefStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new CfDefTupleSchemeFactory());
+  }
+
   public String keyspace; // required
   public String name; // required
-  public String column_type; // required
-  public String comparator_type; // required
-  public String subcomparator_type; // required
-  public String comment; // required
-  public double read_repair_chance; // required
-  public List<ColumnDef> column_metadata; // required
-  public int gc_grace_seconds; // required
-  public String default_validation_class; // required
-  public int id; // required
-  public int min_compaction_threshold; // required
-  public int max_compaction_threshold; // required
-  public boolean replicate_on_write; // required
-  public String key_validation_class; // required
-  public ByteBuffer key_alias; // required
-  public String compaction_strategy; // required
-  public Map<String,String> compaction_strategy_options; // required
-  public Map<String,String> compression_options; // required
-  public double bloom_filter_fp_chance; // required
-  public String caching; // required
-  public double dclocal_read_repair_chance; // required
-  public int memtable_flush_period_in_ms; // required
-  public int default_time_to_live; // required
-  public int index_interval; // required
+  public String column_type; // optional
+  public String comparator_type; // optional
+  public String subcomparator_type; // optional
+  public String comment; // optional
+  public double read_repair_chance; // optional
+  public List<ColumnDef> column_metadata; // optional
+  public int gc_grace_seconds; // optional
+  public String default_validation_class; // optional
+  public int id; // optional
+  public int min_compaction_threshold; // optional
+  public int max_compaction_threshold; // optional
+  public boolean replicate_on_write; // optional
+  public String key_validation_class; // optional
+  public ByteBuffer key_alias; // optional
+  public String compaction_strategy; // optional
+  public Map<String,String> compaction_strategy_options; // optional
+  public Map<String,String> compression_options; // optional
+  public double bloom_filter_fp_chance; // optional
+  public String caching; // optional
+  public double dclocal_read_repair_chance; // optional
+  public int memtable_flush_period_in_ms; // optional
+  public int default_time_to_live; // optional
+  public int index_interval; // optional
   /**
    * @deprecated
    */
-  public double row_cache_size; // required
+  public double row_cache_size; // optional
   /**
    * @deprecated
    */
-  public double key_cache_size; // required
+  public double key_cache_size; // optional
   /**
    * @deprecated
    */
-  public int row_cache_save_period_in_seconds; // required
+  public int row_cache_save_period_in_seconds; // optional
   /**
    * @deprecated
    */
-  public int key_cache_save_period_in_seconds; // required
+  public int key_cache_save_period_in_seconds; // optional
   /**
    * @deprecated
    */
-  public int memtable_flush_after_mins; // required
+  public int memtable_flush_after_mins; // optional
   /**
    * @deprecated
    */
-  public int memtable_throughput_in_mb; // required
+  public int memtable_throughput_in_mb; // optional
   /**
    * @deprecated
    */
-  public double memtable_operations_in_millions; // required
+  public double memtable_operations_in_millions; // optional
   /**
    * @deprecated
    */
-  public double merge_shards_chance; // required
+  public double merge_shards_chance; // optional
   /**
    * @deprecated
    */
-  public String row_cache_provider; // required
+  public String row_cache_provider; // optional
   /**
    * @deprecated
    */
-  public int row_cache_keys_to_save; // required
+  public int row_cache_keys_to_save; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -358,8 +374,8 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   private static final int __MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID = 17;
   private static final int __MERGE_SHARDS_CHANCE_ISSET_ID = 18;
   private static final int __ROW_CACHE_KEYS_TO_SAVE_ISSET_ID = 19;
-  private BitSet __isset_bit_vector = new BitSet(20);
-
+  private int __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.COLUMN_TYPE,_Fields.COMPARATOR_TYPE,_Fields.SUBCOMPARATOR_TYPE,_Fields.COMMENT,_Fields.READ_REPAIR_CHANCE,_Fields.COLUMN_METADATA,_Fields.GC_GRACE_SECONDS,_Fields.DEFAULT_VALIDATION_CLASS,_Fields.ID,_Fields.MIN_COMPACTION_THRESHOLD,_Fields.MAX_COMPACTION_THRESHOLD,_Fields.REPLICATE_ON_WRITE,_Fields.KEY_VALIDATION_CLASS,_Fields.KEY_ALIAS,_Fields.COMPACTION_STRATEGY,_Fields.COMPACTION_STRATEGY_OPTIONS,_Fields.COMPRESSION_OPTIONS,_Fields.BLOOM_FILTER_FP_CHANCE,_Fields.CACHING,_Fields.DCLOCAL_READ_REPAIR_CHANCE,_Fields.MEMTABLE_FLUSH_PERIOD_IN_MS,_Fields.DEFAULT_TIME_TO_LIVE,_Fields.INDEX_INTERVAL,_Fields.ROW_CACHE_SIZE,_Fields.KEY_CACHE_SIZE,_Fields.ROW_CACHE_SAVE_PERIOD_IN_SECONDS,_Fields.KEY_CACHE_SAVE_PERIOD_IN_SECONDS,_Fields.MEMTABLE_FLUSH_AFTER_MINS,_Fields.MEMTABLE_THROUGHPUT_IN_MB,_Fields.MEMTABLE_OPERATIONS_IN_MILLIONS,_Fields.MERGE_SHARDS_CHANCE,_Fields.ROW_CACHE_PROVIDER,_Fields.ROW_CACHE_KEYS_TO_SAVE};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -466,8 +482,7 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
    * Performs a deep copy on <i>other</i>.
    */
   public CfDef(CfDef other) {
-    __isset_bit_vector.clear();
-    __isset_bit_vector.or(other.__isset_bit_vector);
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetKeyspace()) {
       this.keyspace = other.keyspace;
     }
@@ -785,16 +800,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetRead_repair_chance() {
-    __isset_bit_vector.clear(__READ_REPAIR_CHANCE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __READ_REPAIR_CHANCE_ISSET_ID);
   }
 
   /** Returns true if field read_repair_chance is set (has been assigned a value) and false otherwise */
   public boolean isSetRead_repair_chance() {
-    return __isset_bit_vector.get(__READ_REPAIR_CHANCE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __READ_REPAIR_CHANCE_ISSET_ID);
   }
 
   public void setRead_repair_chanceIsSet(boolean value) {
-    __isset_bit_vector.set(__READ_REPAIR_CHANCE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __READ_REPAIR_CHANCE_ISSET_ID, value);
   }
 
   public int getColumn_metadataSize() {
@@ -847,16 +862,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetGc_grace_seconds() {
-    __isset_bit_vector.clear(__GC_GRACE_SECONDS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __GC_GRACE_SECONDS_ISSET_ID);
   }
 
   /** Returns true if field gc_grace_seconds is set (has been assigned a value) and false otherwise */
   public boolean isSetGc_grace_seconds() {
-    return __isset_bit_vector.get(__GC_GRACE_SECONDS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __GC_GRACE_SECONDS_ISSET_ID);
   }
 
   public void setGc_grace_secondsIsSet(boolean value) {
-    __isset_bit_vector.set(__GC_GRACE_SECONDS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __GC_GRACE_SECONDS_ISSET_ID, value);
   }
 
   public String getDefault_validation_class() {
@@ -894,16 +909,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetId() {
-    __isset_bit_vector.clear(__ID_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ID_ISSET_ID);
   }
 
   /** Returns true if field id is set (has been assigned a value) and false otherwise */
   public boolean isSetId() {
-    return __isset_bit_vector.get(__ID_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __ID_ISSET_ID);
   }
 
   public void setIdIsSet(boolean value) {
-    __isset_bit_vector.set(__ID_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ID_ISSET_ID, value);
   }
 
   public int getMin_compaction_threshold() {
@@ -917,16 +932,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetMin_compaction_threshold() {
-    __isset_bit_vector.clear(__MIN_COMPACTION_THRESHOLD_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MIN_COMPACTION_THRESHOLD_ISSET_ID);
   }
 
   /** Returns true if field min_compaction_threshold is set (has been assigned a value) and false otherwise */
   public boolean isSetMin_compaction_threshold() {
-    return __isset_bit_vector.get(__MIN_COMPACTION_THRESHOLD_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __MIN_COMPACTION_THRESHOLD_ISSET_ID);
   }
 
   public void setMin_compaction_thresholdIsSet(boolean value) {
-    __isset_bit_vector.set(__MIN_COMPACTION_THRESHOLD_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MIN_COMPACTION_THRESHOLD_ISSET_ID, value);
   }
 
   public int getMax_compaction_threshold() {
@@ -940,16 +955,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetMax_compaction_threshold() {
-    __isset_bit_vector.clear(__MAX_COMPACTION_THRESHOLD_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAX_COMPACTION_THRESHOLD_ISSET_ID);
   }
 
   /** Returns true if field max_compaction_threshold is set (has been assigned a value) and false otherwise */
   public boolean isSetMax_compaction_threshold() {
-    return __isset_bit_vector.get(__MAX_COMPACTION_THRESHOLD_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __MAX_COMPACTION_THRESHOLD_ISSET_ID);
   }
 
   public void setMax_compaction_thresholdIsSet(boolean value) {
-    __isset_bit_vector.set(__MAX_COMPACTION_THRESHOLD_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAX_COMPACTION_THRESHOLD_ISSET_ID, value);
   }
 
   public boolean isReplicate_on_write() {
@@ -963,16 +978,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetReplicate_on_write() {
-    __isset_bit_vector.clear(__REPLICATE_ON_WRITE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __REPLICATE_ON_WRITE_ISSET_ID);
   }
 
   /** Returns true if field replicate_on_write is set (has been assigned a value) and false otherwise */
   public boolean isSetReplicate_on_write() {
-    return __isset_bit_vector.get(__REPLICATE_ON_WRITE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __REPLICATE_ON_WRITE_ISSET_ID);
   }
 
   public void setReplicate_on_writeIsSet(boolean value) {
-    __isset_bit_vector.set(__REPLICATE_ON_WRITE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __REPLICATE_ON_WRITE_ISSET_ID, value);
   }
 
   public String getKey_validation_class() {
@@ -1138,16 +1153,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetBloom_filter_fp_chance() {
-    __isset_bit_vector.clear(__BLOOM_FILTER_FP_CHANCE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __BLOOM_FILTER_FP_CHANCE_ISSET_ID);
   }
 
   /** Returns true if field bloom_filter_fp_chance is set (has been assigned a value) and false otherwise */
   public boolean isSetBloom_filter_fp_chance() {
-    return __isset_bit_vector.get(__BLOOM_FILTER_FP_CHANCE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __BLOOM_FILTER_FP_CHANCE_ISSET_ID);
   }
 
   public void setBloom_filter_fp_chanceIsSet(boolean value) {
-    __isset_bit_vector.set(__BLOOM_FILTER_FP_CHANCE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BLOOM_FILTER_FP_CHANCE_ISSET_ID, value);
   }
 
   public String getCaching() {
@@ -1185,16 +1200,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetDclocal_read_repair_chance() {
-    __isset_bit_vector.clear(__DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID);
   }
 
   /** Returns true if field dclocal_read_repair_chance is set (has been assigned a value) and false otherwise */
   public boolean isSetDclocal_read_repair_chance() {
-    return __isset_bit_vector.get(__DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID);
   }
 
   public void setDclocal_read_repair_chanceIsSet(boolean value) {
-    __isset_bit_vector.set(__DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID, value);
   }
 
   public int getMemtable_flush_period_in_ms() {
@@ -1208,16 +1223,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetMemtable_flush_period_in_ms() {
-    __isset_bit_vector.clear(__MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID);
   }
 
   /** Returns true if field memtable_flush_period_in_ms is set (has been assigned a value) and false otherwise */
   public boolean isSetMemtable_flush_period_in_ms() {
-    return __isset_bit_vector.get(__MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID);
   }
 
   public void setMemtable_flush_period_in_msIsSet(boolean value) {
-    __isset_bit_vector.set(__MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID, value);
   }
 
   public int getDefault_time_to_live() {
@@ -1231,16 +1246,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetDefault_time_to_live() {
-    __isset_bit_vector.clear(__DEFAULT_TIME_TO_LIVE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULT_TIME_TO_LIVE_ISSET_ID);
   }
 
   /** Returns true if field default_time_to_live is set (has been assigned a value) and false otherwise */
   public boolean isSetDefault_time_to_live() {
-    return __isset_bit_vector.get(__DEFAULT_TIME_TO_LIVE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULT_TIME_TO_LIVE_ISSET_ID);
   }
 
   public void setDefault_time_to_liveIsSet(boolean value) {
-    __isset_bit_vector.set(__DEFAULT_TIME_TO_LIVE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULT_TIME_TO_LIVE_ISSET_ID, value);
   }
 
   public int getIndex_interval() {
@@ -1254,16 +1269,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetIndex_interval() {
-    __isset_bit_vector.clear(__INDEX_INTERVAL_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __INDEX_INTERVAL_ISSET_ID);
   }
 
   /** Returns true if field index_interval is set (has been assigned a value) and false otherwise */
   public boolean isSetIndex_interval() {
-    return __isset_bit_vector.get(__INDEX_INTERVAL_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __INDEX_INTERVAL_ISSET_ID);
   }
 
   public void setIndex_intervalIsSet(boolean value) {
-    __isset_bit_vector.set(__INDEX_INTERVAL_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __INDEX_INTERVAL_ISSET_ID, value);
   }
 
   /**
@@ -1283,16 +1298,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetRow_cache_size() {
-    __isset_bit_vector.clear(__ROW_CACHE_SIZE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ROW_CACHE_SIZE_ISSET_ID);
   }
 
   /** Returns true if field row_cache_size is set (has been assigned a value) and false otherwise */
   public boolean isSetRow_cache_size() {
-    return __isset_bit_vector.get(__ROW_CACHE_SIZE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __ROW_CACHE_SIZE_ISSET_ID);
   }
 
   public void setRow_cache_sizeIsSet(boolean value) {
-    __isset_bit_vector.set(__ROW_CACHE_SIZE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ROW_CACHE_SIZE_ISSET_ID, value);
   }
 
   /**
@@ -1312,16 +1327,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetKey_cache_size() {
-    __isset_bit_vector.clear(__KEY_CACHE_SIZE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __KEY_CACHE_SIZE_ISSET_ID);
   }
 
   /** Returns true if field key_cache_size is set (has been assigned a value) and false otherwise */
   public boolean isSetKey_cache_size() {
-    return __isset_bit_vector.get(__KEY_CACHE_SIZE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __KEY_CACHE_SIZE_ISSET_ID);
   }
 
   public void setKey_cache_sizeIsSet(boolean value) {
-    __isset_bit_vector.set(__KEY_CACHE_SIZE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __KEY_CACHE_SIZE_ISSET_ID, value);
   }
 
   /**
@@ -1341,16 +1356,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetRow_cache_save_period_in_seconds() {
-    __isset_bit_vector.clear(__ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID);
   }
 
   /** Returns true if field row_cache_save_period_in_seconds is set (has been assigned a value) and false otherwise */
   public boolean isSetRow_cache_save_period_in_seconds() {
-    return __isset_bit_vector.get(__ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID);
   }
 
   public void setRow_cache_save_period_in_secondsIsSet(boolean value) {
-    __isset_bit_vector.set(__ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID, value);
   }
 
   /**
@@ -1370,16 +1385,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetKey_cache_save_period_in_seconds() {
-    __isset_bit_vector.clear(__KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID);
   }
 
   /** Returns true if field key_cache_save_period_in_seconds is set (has been assigned a value) and false otherwise */
   public boolean isSetKey_cache_save_period_in_seconds() {
-    return __isset_bit_vector.get(__KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID);
   }
 
   public void setKey_cache_save_period_in_secondsIsSet(boolean value) {
-    __isset_bit_vector.set(__KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID, value);
   }
 
   /**
@@ -1399,16 +1414,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetMemtable_flush_after_mins() {
-    __isset_bit_vector.clear(__MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID);
   }
 
   /** Returns true if field memtable_flush_after_mins is set (has been assigned a value) and false otherwise */
   public boolean isSetMemtable_flush_after_mins() {
-    return __isset_bit_vector.get(__MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID);
   }
 
   public void setMemtable_flush_after_minsIsSet(boolean value) {
-    __isset_bit_vector.set(__MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID, value);
   }
 
   /**
@@ -1428,16 +1443,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetMemtable_throughput_in_mb() {
-    __isset_bit_vector.clear(__MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID);
   }
 
   /** Returns true if field memtable_throughput_in_mb is set (has been assigned a value) and false otherwise */
   public boolean isSetMemtable_throughput_in_mb() {
-    return __isset_bit_vector.get(__MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID);
   }
 
   public void setMemtable_throughput_in_mbIsSet(boolean value) {
-    __isset_bit_vector.set(__MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID, value);
   }
 
   /**
@@ -1457,16 +1472,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetMemtable_operations_in_millions() {
-    __isset_bit_vector.clear(__MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID);
   }
 
   /** Returns true if field memtable_operations_in_millions is set (has been assigned a value) and false otherwise */
   public boolean isSetMemtable_operations_in_millions() {
-    return __isset_bit_vector.get(__MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID);
   }
 
   public void setMemtable_operations_in_millionsIsSet(boolean value) {
-    __isset_bit_vector.set(__MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID, value);
   }
 
   /**
@@ -1486,16 +1501,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetMerge_shards_chance() {
-    __isset_bit_vector.clear(__MERGE_SHARDS_CHANCE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MERGE_SHARDS_CHANCE_ISSET_ID);
   }
 
   /** Returns true if field merge_shards_chance is set (has been assigned a value) and false otherwise */
   public boolean isSetMerge_shards_chance() {
-    return __isset_bit_vector.get(__MERGE_SHARDS_CHANCE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __MERGE_SHARDS_CHANCE_ISSET_ID);
   }
 
   public void setMerge_shards_chanceIsSet(boolean value) {
-    __isset_bit_vector.set(__MERGE_SHARDS_CHANCE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MERGE_SHARDS_CHANCE_ISSET_ID, value);
   }
 
   /**
@@ -1545,16 +1560,16 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void unsetRow_cache_keys_to_save() {
-    __isset_bit_vector.clear(__ROW_CACHE_KEYS_TO_SAVE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ROW_CACHE_KEYS_TO_SAVE_ISSET_ID);
   }
 
   /** Returns true if field row_cache_keys_to_save is set (has been assigned a value) and false otherwise */
   public boolean isSetRow_cache_keys_to_save() {
-    return __isset_bit_vector.get(__ROW_CACHE_KEYS_TO_SAVE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __ROW_CACHE_KEYS_TO_SAVE_ISSET_ID);
   }
 
   public void setRow_cache_keys_to_saveIsSet(boolean value) {
-    __isset_bit_vector.set(__ROW_CACHE_KEYS_TO_SAVE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ROW_CACHE_KEYS_TO_SAVE_ISSET_ID, value);
   }
 
   public void setFieldValue(_Fields field, Object value) {
@@ -2913,556 +2928,11 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   }
 
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    org.apache.thrift.protocol.TField field;
-    iprot.readStructBegin();
-    while (true)
-    {
-      field = iprot.readFieldBegin();
-      if (field.type == org.apache.thrift.protocol.TType.STOP) { 
-        break;
-      }
-      switch (field.id) {
-        case 1: // KEYSPACE
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.keyspace = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // NAME
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.name = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // COLUMN_TYPE
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.column_type = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 5: // COMPARATOR_TYPE
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.comparator_type = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 6: // SUBCOMPARATOR_TYPE
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.subcomparator_type = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 8: // COMMENT
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.comment = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 12: // READ_REPAIR_CHANCE
-          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
-            this.read_repair_chance = iprot.readDouble();
-            setRead_repair_chanceIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 13: // COLUMN_METADATA
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list46 = iprot.readListBegin();
-              this.column_metadata = new ArrayList<ColumnDef>(_list46.size);
-              for (int _i47 = 0; _i47 < _list46.size; ++_i47)
-              {
-                ColumnDef _elem48; // required
-                _elem48 = new ColumnDef();
-                _elem48.read(iprot);
-                this.column_metadata.add(_elem48);
-              }
-              iprot.readListEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 14: // GC_GRACE_SECONDS
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.gc_grace_seconds = iprot.readI32();
-            setGc_grace_secondsIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 15: // DEFAULT_VALIDATION_CLASS
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.default_validation_class = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 16: // ID
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.id = iprot.readI32();
-            setIdIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 17: // MIN_COMPACTION_THRESHOLD
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.min_compaction_threshold = iprot.readI32();
-            setMin_compaction_thresholdIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 18: // MAX_COMPACTION_THRESHOLD
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.max_compaction_threshold = iprot.readI32();
-            setMax_compaction_thresholdIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 24: // REPLICATE_ON_WRITE
-          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
-            this.replicate_on_write = iprot.readBool();
-            setReplicate_on_writeIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 26: // KEY_VALIDATION_CLASS
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.key_validation_class = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 28: // KEY_ALIAS
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.key_alias = iprot.readBinary();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 29: // COMPACTION_STRATEGY
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.compaction_strategy = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 30: // COMPACTION_STRATEGY_OPTIONS
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map49 = iprot.readMapBegin();
-              this.compaction_strategy_options = new HashMap<String,String>(2*_map49.size);
-              for (int _i50 = 0; _i50 < _map49.size; ++_i50)
-              {
-                String _key51; // required
-                String _val52; // required
-                _key51 = iprot.readString();
-                _val52 = iprot.readString();
-                this.compaction_strategy_options.put(_key51, _val52);
-              }
-              iprot.readMapEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 32: // COMPRESSION_OPTIONS
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map53 = iprot.readMapBegin();
-              this.compression_options = new HashMap<String,String>(2*_map53.size);
-              for (int _i54 = 0; _i54 < _map53.size; ++_i54)
-              {
-                String _key55; // required
-                String _val56; // required
-                _key55 = iprot.readString();
-                _val56 = iprot.readString();
-                this.compression_options.put(_key55, _val56);
-              }
-              iprot.readMapEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 33: // BLOOM_FILTER_FP_CHANCE
-          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
-            this.bloom_filter_fp_chance = iprot.readDouble();
-            setBloom_filter_fp_chanceIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 34: // CACHING
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.caching = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 37: // DCLOCAL_READ_REPAIR_CHANCE
-          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
-            this.dclocal_read_repair_chance = iprot.readDouble();
-            setDclocal_read_repair_chanceIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 38: // MEMTABLE_FLUSH_PERIOD_IN_MS
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.memtable_flush_period_in_ms = iprot.readI32();
-            setMemtable_flush_period_in_msIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 39: // DEFAULT_TIME_TO_LIVE
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.default_time_to_live = iprot.readI32();
-            setDefault_time_to_liveIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 40: // INDEX_INTERVAL
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.index_interval = iprot.readI32();
-            setIndex_intervalIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 9: // ROW_CACHE_SIZE
-          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
-            this.row_cache_size = iprot.readDouble();
-            setRow_cache_sizeIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 11: // KEY_CACHE_SIZE
-          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
-            this.key_cache_size = iprot.readDouble();
-            setKey_cache_sizeIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 19: // ROW_CACHE_SAVE_PERIOD_IN_SECONDS
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.row_cache_save_period_in_seconds = iprot.readI32();
-            setRow_cache_save_period_in_secondsIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 20: // KEY_CACHE_SAVE_PERIOD_IN_SECONDS
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.key_cache_save_period_in_seconds = iprot.readI32();
-            setKey_cache_save_period_in_secondsIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 21: // MEMTABLE_FLUSH_AFTER_MINS
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.memtable_flush_after_mins = iprot.readI32();
-            setMemtable_flush_after_minsIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 22: // MEMTABLE_THROUGHPUT_IN_MB
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.memtable_throughput_in_mb = iprot.readI32();
-            setMemtable_throughput_in_mbIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 23: // MEMTABLE_OPERATIONS_IN_MILLIONS
-          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
-            this.memtable_operations_in_millions = iprot.readDouble();
-            setMemtable_operations_in_millionsIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 25: // MERGE_SHARDS_CHANCE
-          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
-            this.merge_shards_chance = iprot.readDouble();
-            setMerge_shards_chanceIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 27: // ROW_CACHE_PROVIDER
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.row_cache_provider = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 31: // ROW_CACHE_KEYS_TO_SAVE
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.row_cache_keys_to_save = iprot.readI32();
-            setRow_cache_keys_to_saveIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        default:
-          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-      }
-      iprot.readFieldEnd();
-    }
-    iprot.readStructEnd();
-
-    // check for required fields of primitive type, which can't be checked in the validate method
-    validate();
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
   }
 
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    validate();
-
-    oprot.writeStructBegin(STRUCT_DESC);
-    if (this.keyspace != null) {
-      oprot.writeFieldBegin(KEYSPACE_FIELD_DESC);
-      oprot.writeString(this.keyspace);
-      oprot.writeFieldEnd();
-    }
-    if (this.name != null) {
-      oprot.writeFieldBegin(NAME_FIELD_DESC);
-      oprot.writeString(this.name);
-      oprot.writeFieldEnd();
-    }
-    if (this.column_type != null) {
-      if (isSetColumn_type()) {
-        oprot.writeFieldBegin(COLUMN_TYPE_FIELD_DESC);
-        oprot.writeString(this.column_type);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.comparator_type != null) {
-      if (isSetComparator_type()) {
-        oprot.writeFieldBegin(COMPARATOR_TYPE_FIELD_DESC);
-        oprot.writeString(this.comparator_type);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.subcomparator_type != null) {
-      if (isSetSubcomparator_type()) {
-        oprot.writeFieldBegin(SUBCOMPARATOR_TYPE_FIELD_DESC);
-        oprot.writeString(this.subcomparator_type);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.comment != null) {
-      if (isSetComment()) {
-        oprot.writeFieldBegin(COMMENT_FIELD_DESC);
-        oprot.writeString(this.comment);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (isSetRow_cache_size()) {
-      oprot.writeFieldBegin(ROW_CACHE_SIZE_FIELD_DESC);
-      oprot.writeDouble(this.row_cache_size);
-      oprot.writeFieldEnd();
-    }
-    if (isSetKey_cache_size()) {
-      oprot.writeFieldBegin(KEY_CACHE_SIZE_FIELD_DESC);
-      oprot.writeDouble(this.key_cache_size);
-      oprot.writeFieldEnd();
-    }
-    if (isSetRead_repair_chance()) {
-      oprot.writeFieldBegin(READ_REPAIR_CHANCE_FIELD_DESC);
-      oprot.writeDouble(this.read_repair_chance);
-      oprot.writeFieldEnd();
-    }
-    if (this.column_metadata != null) {
-      if (isSetColumn_metadata()) {
-        oprot.writeFieldBegin(COLUMN_METADATA_FIELD_DESC);
-        {
-          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.column_metadata.size()));
-          for (ColumnDef _iter57 : this.column_metadata)
-          {
-            _iter57.write(oprot);
-          }
-          oprot.writeListEnd();
-        }
-        oprot.writeFieldEnd();
-      }
-    }
-    if (isSetGc_grace_seconds()) {
-      oprot.writeFieldBegin(GC_GRACE_SECONDS_FIELD_DESC);
-      oprot.writeI32(this.gc_grace_seconds);
-      oprot.writeFieldEnd();
-    }
-    if (this.default_validation_class != null) {
-      if (isSetDefault_validation_class()) {
-        oprot.writeFieldBegin(DEFAULT_VALIDATION_CLASS_FIELD_DESC);
-        oprot.writeString(this.default_validation_class);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (isSetId()) {
-      oprot.writeFieldBegin(ID_FIELD_DESC);
-      oprot.writeI32(this.id);
-      oprot.writeFieldEnd();
-    }
-    if (isSetMin_compaction_threshold()) {
-      oprot.writeFieldBegin(MIN_COMPACTION_THRESHOLD_FIELD_DESC);
-      oprot.writeI32(this.min_compaction_threshold);
-      oprot.writeFieldEnd();
-    }
-    if (isSetMax_compaction_threshold()) {
-      oprot.writeFieldBegin(MAX_COMPACTION_THRESHOLD_FIELD_DESC);
-      oprot.writeI32(this.max_compaction_threshold);
-      oprot.writeFieldEnd();
-    }
-    if (isSetRow_cache_save_period_in_seconds()) {
-      oprot.writeFieldBegin(ROW_CACHE_SAVE_PERIOD_IN_SECONDS_FIELD_DESC);
-      oprot.writeI32(this.row_cache_save_period_in_seconds);
-      oprot.writeFieldEnd();
-    }
-    if (isSetKey_cache_save_period_in_seconds()) {
-      oprot.writeFieldBegin(KEY_CACHE_SAVE_PERIOD_IN_SECONDS_FIELD_DESC);
-      oprot.writeI32(this.key_cache_save_period_in_seconds);
-      oprot.writeFieldEnd();
-    }
-    if (isSetMemtable_flush_after_mins()) {
-      oprot.writeFieldBegin(MEMTABLE_FLUSH_AFTER_MINS_FIELD_DESC);
-      oprot.writeI32(this.memtable_flush_after_mins);
-      oprot.writeFieldEnd();
-    }
-    if (isSetMemtable_throughput_in_mb()) {
-      oprot.writeFieldBegin(MEMTABLE_THROUGHPUT_IN_MB_FIELD_DESC);
-      oprot.writeI32(this.memtable_throughput_in_mb);
-      oprot.writeFieldEnd();
-    }
-    if (isSetMemtable_operations_in_millions()) {
-      oprot.writeFieldBegin(MEMTABLE_OPERATIONS_IN_MILLIONS_FIELD_DESC);
-      oprot.writeDouble(this.memtable_operations_in_millions);
-      oprot.writeFieldEnd();
-    }
-    if (isSetReplicate_on_write()) {
-      oprot.writeFieldBegin(REPLICATE_ON_WRITE_FIELD_DESC);
-      oprot.writeBool(this.replicate_on_write);
-      oprot.writeFieldEnd();
-    }
-    if (isSetMerge_shards_chance()) {
-      oprot.writeFieldBegin(MERGE_SHARDS_CHANCE_FIELD_DESC);
-      oprot.writeDouble(this.merge_shards_chance);
-      oprot.writeFieldEnd();
-    }
-    if (this.key_validation_class != null) {
-      if (isSetKey_validation_class()) {
-        oprot.writeFieldBegin(KEY_VALIDATION_CLASS_FIELD_DESC);
-        oprot.writeString(this.key_validation_class);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.row_cache_provider != null) {
-      if (isSetRow_cache_provider()) {
-        oprot.writeFieldBegin(ROW_CACHE_PROVIDER_FIELD_DESC);
-        oprot.writeString(this.row_cache_provider);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.key_alias != null) {
-      if (isSetKey_alias()) {
-        oprot.writeFieldBegin(KEY_ALIAS_FIELD_DESC);
-        oprot.writeBinary(this.key_alias);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.compaction_strategy != null) {
-      if (isSetCompaction_strategy()) {
-        oprot.writeFieldBegin(COMPACTION_STRATEGY_FIELD_DESC);
-        oprot.writeString(this.compaction_strategy);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.compaction_strategy_options != null) {
-      if (isSetCompaction_strategy_options()) {
-        oprot.writeFieldBegin(COMPACTION_STRATEGY_OPTIONS_FIELD_DESC);
-        {
-          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.compaction_strategy_options.size()));
-          for (Map.Entry<String, String> _iter58 : this.compaction_strategy_options.entrySet())
-          {
-            oprot.writeString(_iter58.getKey());
-            oprot.writeString(_iter58.getValue());
-          }
-          oprot.writeMapEnd();
-        }
-        oprot.writeFieldEnd();
-      }
-    }
-    if (isSetRow_cache_keys_to_save()) {
-      oprot.writeFieldBegin(ROW_CACHE_KEYS_TO_SAVE_FIELD_DESC);
-      oprot.writeI32(this.row_cache_keys_to_save);
-      oprot.writeFieldEnd();
-    }
-    if (this.compression_options != null) {
-      if (isSetCompression_options()) {
-        oprot.writeFieldBegin(COMPRESSION_OPTIONS_FIELD_DESC);
-        {
-          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.compression_options.size()));
-          for (Map.Entry<String, String> _iter59 : this.compression_options.entrySet())
-          {
-            oprot.writeString(_iter59.getKey());
-            oprot.writeString(_iter59.getValue());
-          }
-          oprot.writeMapEnd();
-        }
-        oprot.writeFieldEnd();
-      }
-    }
-    if (isSetBloom_filter_fp_chance()) {
-      oprot.writeFieldBegin(BLOOM_FILTER_FP_CHANCE_FIELD_DESC);
-      oprot.writeDouble(this.bloom_filter_fp_chance);
-      oprot.writeFieldEnd();
-    }
-    if (this.caching != null) {
-      if (isSetCaching()) {
-        oprot.writeFieldBegin(CACHING_FIELD_DESC);
-        oprot.writeString(this.caching);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (isSetDclocal_read_repair_chance()) {
-      oprot.writeFieldBegin(DCLOCAL_READ_REPAIR_CHANCE_FIELD_DESC);
-      oprot.writeDouble(this.dclocal_read_repair_chance);
-      oprot.writeFieldEnd();
-    }
-    if (isSetMemtable_flush_period_in_ms()) {
-      oprot.writeFieldBegin(MEMTABLE_FLUSH_PERIOD_IN_MS_FIELD_DESC);
-      oprot.writeI32(this.memtable_flush_period_in_ms);
-      oprot.writeFieldEnd();
-    }
-    if (isSetDefault_time_to_live()) {
-      oprot.writeFieldBegin(DEFAULT_TIME_TO_LIVE_FIELD_DESC);
-      oprot.writeI32(this.default_time_to_live);
-      oprot.writeFieldEnd();
-    }
-    if (isSetIndex_interval()) {
-      oprot.writeFieldBegin(INDEX_INTERVAL_FIELD_DESC);
-      oprot.writeI32(this.index_interval);
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -3747,6 +3217,7 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
     if (name == null) {
       throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' was not present! Struct: " + toString());
     }
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -3760,12 +3231,1000 @@ public class CfDef implements org.apache.thrift.TBase<CfDef, CfDef._Fields>, jav
   private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
     try {
       // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-      __isset_bit_vector = new BitSet(1);
+      __isset_bitfield = 0;
       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
     } catch (org.apache.thrift.TException te) {
       throw new java.io.IOException(te);
     }
   }
 
+  private static class CfDefStandardSchemeFactory implements SchemeFactory {
+    public CfDefStandardScheme getScheme() {
+      return new CfDefStandardScheme();
+    }
+  }
+
+  private static class CfDefStandardScheme extends StandardScheme<CfDef> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, CfDef struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // KEYSPACE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.keyspace = iprot.readString();
+              struct.setKeyspaceIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.name = iprot.readString();
+              struct.setNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // COLUMN_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.column_type = iprot.readString();
+              struct.setColumn_typeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // COMPARATOR_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.comparator_type = iprot.readString();
+              struct.setComparator_typeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // SUBCOMPARATOR_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.subcomparator_type = iprot.readString();
+              struct.setSubcomparator_typeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // COMMENT
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.comment = iprot.readString();
+              struct.setCommentIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 12: // READ_REPAIR_CHANCE
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.read_repair_chance = iprot.readDouble();
+              struct.setRead_repair_chanceIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // COLUMN_METADATA
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list92 = iprot.readListBegin();
+                struct.column_metadata = new ArrayList<ColumnDef>(_list92.size);
+                for (int _i93 = 0; _i93 < _list92.size; ++_i93)
+                {
+                  ColumnDef _elem94; // required
+                  _elem94 = new ColumnDef();
+                  _elem94.read(iprot);
+                  struct.column_metadata.add(_elem94);
+                }
+                iprot.readListEnd();
+              }
+              struct.setColumn_metadataIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 14: // GC_GRACE_SECONDS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.gc_grace_seconds = iprot.readI32();
+              struct.setGc_grace_secondsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 15: // DEFAULT_VALIDATION_CLASS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.default_validation_class = iprot.readString();
+              struct.setDefault_validation_classIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 16: // ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.id = iprot.readI32();
+              struct.setIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 17: // MIN_COMPACTION_THRESHOLD
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.min_compaction_threshold = iprot.readI32();
+              struct.setMin_compaction_thresholdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 18: // MAX_COMPACTION_THRESHOLD
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.max_compaction_threshold = iprot.readI32();
+              struct.setMax_compaction_thresholdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 24: // REPLICATE_ON_WRITE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.replicate_on_write = iprot.readBool();
+              struct.setReplicate_on_writeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 26: // KEY_VALIDATION_CLASS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.key_validation_class = iprot.readString();
+              struct.setKey_validation_classIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 28: // KEY_ALIAS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.key_alias = iprot.readBinary();
+              struct.setKey_aliasIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 29: // COMPACTION_STRATEGY
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.compaction_strategy = iprot.readString();
+              struct.setCompaction_strategyIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 30: // COMPACTION_STRATEGY_OPTIONS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map95 = iprot.readMapBegin();
+                struct.compaction_strategy_options = new HashMap<String,String>(2*_map95.size);
+                for (int _i96 = 0; _i96 < _map95.size; ++_i96)
+                {
+                  String _key97; // required
+                  String _val98; // required
+                  _key97 = iprot.readString();
+                  _val98 = iprot.readString();
+                  struct.compaction_strategy_options.put(_key97, _val98);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setCompaction_strategy_optionsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 32: // COMPRESSION_OPTIONS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map99 = iprot.readMapBegin();
+                struct.compression_options = new HashMap<String,String>(2*_map99.size);
+                for (int _i100 = 0; _i100 < _map99.size; ++_i100)
+                {
+                  String _key101; // required
+                  String _val102; // required
+                  _key101 = iprot.readString();
+                  _val102 = iprot.readString();
+                  struct.compression_options.put(_key101, _val102);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setCompression_optionsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 33: // BLOOM_FILTER_FP_CHANCE
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.bloom_filter_fp_chance = iprot.readDouble();
+              struct.setBloom_filter_fp_chanceIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 34: // CACHING
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.caching = iprot.readString();
+              struct.setCachingIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 37: // DCLOCAL_READ_REPAIR_CHANCE
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.dclocal_read_repair_chance = iprot.readDouble();
+              struct.setDclocal_read_repair_chanceIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 38: // MEMTABLE_FLUSH_PERIOD_IN_MS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.memtable_flush_period_in_ms = iprot.readI32();
+              struct.setMemtable_flush_period_in_msIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 39: // DEFAULT_TIME_TO_LIVE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.default_time_to_live = iprot.readI32();
+              struct.setDefault_time_to_liveIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 40: // INDEX_INTERVAL
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.index_interval = iprot.readI32();
+              struct.setIndex_intervalIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // ROW_CACHE_SIZE
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.row_cache_size = iprot.readDouble();
+              struct.setRow_cache_sizeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // KEY_CACHE_SIZE
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.key_cache_size = iprot.readDouble();
+              struct.setKey_cache_sizeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 19: // ROW_CACHE_SAVE_PERIOD_IN_SECONDS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.row_cache_save_period_in_seconds = iprot.readI32();
+              struct.setRow_cache_save_period_in_secondsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 20: // KEY_CACHE_SAVE_PERIOD_IN_SECONDS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.key_cache_save_period_in_seconds = iprot.readI32();
+              struct.setKey_cache_save_period_in_secondsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 21: // MEMTABLE_FLUSH_AFTER_MINS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.memtable_flush_after_mins = iprot.readI32();
+              struct.setMemtable_flush_after_minsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 22: // MEMTABLE_THROUGHPUT_IN_MB
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.memtable_throughput_in_mb = iprot.readI32();
+              struct.setMemtable_throughput_in_mbIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 23: // MEMTABLE_OPERATIONS_IN_MILLIONS
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.memtable_operations_in_millions = iprot.readDouble();
+              struct.setMemtable_operations_in_millionsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 25: // MERGE_SHARDS_CHANCE
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.merge_shards_chance = iprot.readDouble();
+              struct.setMerge_shards_chanceIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 27: // ROW_CACHE_PROVIDER
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.row_cache_provider = iprot.readString();
+              struct.setRow_cache_providerIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 31: // ROW_CACHE_KEYS_TO_SAVE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.row_cache_keys_to_save = iprot.readI32();
+              struct.setRow_cache_keys_to_saveIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, CfDef struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.keyspace != null) {
+        oprot.writeFieldBegin(KEYSPACE_FIELD_DESC);
+        oprot.writeString(struct.keyspace);
+        oprot.writeFieldEnd();
+      }
+      if (struct.name != null) {
+        oprot.writeFieldBegin(NAME_FIELD_DESC);
+        oprot.writeString(struct.name);
+        oprot.writeFieldEnd();
+      }
+      if (struct.column_type != null) {
+        if (struct.isSetColumn_type()) {
+          oprot.writeFieldBegin(COLUMN_TYPE_FIELD_DESC);
+          oprot.writeString(struct.column_type);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.comparator_type != null) {
+        if (struct.isSetComparator_type()) {
+          oprot.writeFieldBegin(COMPARATOR_TYPE_FIELD_DESC);
+          oprot.writeString(struct.comparator_type);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.subcomparator_type != null) {
+        if (struct.isSetSubcomparator_type()) {
+          oprot.writeFieldBegin(SUBCOMPARATOR_TYPE_FIELD_DESC);
+          oprot.writeString(struct.subcomparator_type);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.comment != null) {
+        if (struct.isSetComment()) {
+          oprot.writeFieldBegin(COMMENT_FIELD_DESC);
+          oprot.writeString(struct.comment);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetRow_cache_size()) {
+        oprot.writeFieldBegin(ROW_CACHE_SIZE_FIELD_DESC);
+        oprot.writeDouble(struct.row_cache_size);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetKey_cache_size()) {
+        oprot.writeFieldBegin(KEY_CACHE_SIZE_FIELD_DESC);
+        oprot.writeDouble(struct.key_cache_size);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetRead_repair_chance()) {
+        oprot.writeFieldBegin(READ_REPAIR_CHANCE_FIELD_DESC);
+        oprot.writeDouble(struct.read_repair_chance);
+        oprot.writeFieldEnd();
+      }
+      if (struct.column_metadata != null) {
+        if (struct.isSetColumn_metadata()) {
+          oprot.writeFieldBegin(COLUMN_METADATA_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.column_metadata.size()));
+            for (ColumnDef _iter103 : struct.column_metadata)
+            {
+              _iter103.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetGc_grace_seconds()) {
+        oprot.writeFieldBegin(GC_GRACE_SECONDS_FIELD_DESC);
+        oprot.writeI32(struct.gc_grace_seconds);
+        oprot.writeFieldEnd();
+      }
+      if (struct.default_validation_class != null) {
+        if (struct.isSetDefault_validation_class()) {
+          oprot.writeFieldBegin(DEFAULT_VALIDATION_CLASS_FIELD_DESC);
+          oprot.writeString(struct.default_validation_class);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetId()) {
+        oprot.writeFieldBegin(ID_FIELD_DESC);
+        oprot.writeI32(struct.id);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetMin_compaction_threshold()) {
+        oprot.writeFieldBegin(MIN_COMPACTION_THRESHOLD_FIELD_DESC);
+        oprot.writeI32(struct.min_compaction_threshold);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetMax_compaction_threshold()) {
+        oprot.writeFieldBegin(MAX_COMPACTION_THRESHOLD_FIELD_DESC);
+        oprot.writeI32(struct.max_compaction_threshold);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetRow_cache_save_period_in_seconds()) {
+        oprot.writeFieldBegin(ROW_CACHE_SAVE_PERIOD_IN_SECONDS_FIELD_DESC);
+        oprot.writeI32(struct.row_cache_save_period_in_seconds);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetKey_cache_save_period_in_seconds()) {
+        oprot.writeFieldBegin(KEY_CACHE_SAVE_PERIOD_IN_SECONDS_FIELD_DESC);
+        oprot.writeI32(struct.key_cache_save_period_in_seconds);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetMemtable_flush_after_mins()) {
+        oprot.writeFieldBegin(MEMTABLE_FLUSH_AFTER_MINS_FIELD_DESC);
+        oprot.writeI32(struct.memtable_flush_after_mins);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetMemtable_throughput_in_mb()) {
+        oprot.writeFieldBegin(MEMTABLE_THROUGHPUT_IN_MB_FIELD_DESC);
+        oprot.writeI32(struct.memtable_throughput_in_mb);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetMemtable_operations_in_millions()) {
+        oprot.writeFieldBegin(MEMTABLE_OPERATIONS_IN_MILLIONS_FIELD_DESC);
+        oprot.writeDouble(struct.memtable_operations_in_millions);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetReplicate_on_write()) {
+        oprot.writeFieldBegin(REPLICATE_ON_WRITE_FIELD_DESC);
+        oprot.writeBool(struct.replicate_on_write);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetMerge_shards_chance()) {
+        oprot.writeFieldBegin(MERGE_SHARDS_CHANCE_FIELD_DESC);
+        oprot.writeDouble(struct.merge_shards_chance);
+        oprot.writeFieldEnd();
+      }
+      if (struct.key_validation_class != null) {
+        if (struct.isSetKey_validation_class()) {
+          oprot.writeFieldBegin(KEY_VALIDATION_CLASS_FIELD_DESC);
+          oprot.writeString(struct.key_validation_class);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.row_cache_provider != null) {
+        if (struct.isSetRow_cache_provider()) {
+          oprot.writeFieldBegin(ROW_CACHE_PROVIDER_FIELD_DESC);
+          oprot.writeString(struct.row_cache_provider);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.key_alias != null) {
+        if (struct.isSetKey_alias()) {
+          oprot.writeFieldBegin(KEY_ALIAS_FIELD_DESC);
+          oprot.writeBinary(struct.key_alias);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.compaction_strategy != null) {
+        if (struct.isSetCompaction_strategy()) {
+          oprot.writeFieldBegin(COMPACTION_STRATEGY_FIELD_DESC);
+          oprot.writeString(struct.compaction_strategy);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.compaction_strategy_options != null) {
+        if (struct.isSetCompaction_strategy_options()) {
+          oprot.writeFieldBegin(COMPACTION_STRATEGY_OPTIONS_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.compaction_strategy_options.size()));
+            for (Map.Entry<String, String> _iter104 : struct.compaction_strategy_options.entrySet())
+            {
+              oprot.writeString(_iter104.getKey());
+              oprot.writeString(_iter104.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetRow_cache_keys_to_save()) {
+        oprot.writeFieldBegin(ROW_CACHE_KEYS_TO_SAVE_FIELD_DESC);
+        oprot.writeI32(struct.row_cache_keys_to_save);
+        oprot.writeFieldEnd();
+      }
+      if (struct.compression_options != null) {
+        if (struct.isSetCompression_options()) {
+          oprot.writeFieldBegin(COMPRESSION_OPTIONS_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.compression_options.size()));
+            for (Map.Entry<String, String> _iter105 : struct.compression_options.entrySet())
+            {
+              oprot.writeString(_iter105.getKey());
+              oprot.writeString(_iter105.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetBloom_filter_fp_chance()) {
+        oprot.writeFieldBegin(BLOOM_FILTER_FP_CHANCE_FIELD_DESC);
+        oprot.writeDouble(struct.bloom_filter_fp_chance);
+        oprot.writeFieldEnd();
+      }
+      if (struct.caching != null) {
+        if (struct.isSetCaching()) {
+          oprot.writeFieldBegin(CACHING_FIELD_DESC);
+          oprot.writeString(struct.caching);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetDclocal_read_repair_chance()) {
+        oprot.writeFieldBegin(DCLOCAL_READ_REPAIR_CHANCE_FIELD_DESC);
+        oprot.writeDouble(struct.dclocal_read_repair_chance);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetMemtable_flush_period_in_ms()) {
+        oprot.writeFieldBegin(MEMTABLE_FLUSH_PERIOD_IN_MS_FIELD_DESC);
+        oprot.writeI32(struct.memtable_flush_period_in_ms);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetDefault_time_to_live()) {
+        oprot.writeFieldBegin(DEFAULT_TIME_TO_LIVE_FIELD_DESC);
+        oprot.writeI32(struct.default_time_to_live);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetIndex_interval()) {
+        oprot.writeFieldBegin(INDEX_INTERVAL_FIELD_DESC);
+        oprot.writeI32(struct.index_interval);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class CfDefTupleSchemeFactory implements SchemeFactory {
+    public CfDefTupleScheme getScheme() {
+      return new CfDefTupleScheme();
+    }
+  }
+
+  private static class CfDefTupleScheme extends TupleScheme<CfDef> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, CfDef struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.keyspace);
+      oprot.writeString(struct.name);
+      BitSet optionals = new BitSet();
+      if (struct.isSetColumn_type()) {
+        optionals.set(0);
+      }
+      if (struct.isSetComparator_type()) {
+        optionals.set(1);
+      }
+      if (struct.isSetSubcomparator_type()) {
+        optionals.set(2);
+      }
+      if (struct.isSetComment()) {
+        optionals.set(3);
+      }
+      if (struct.isSetRead_repair_chance()) {
+        optionals.set(4);
+      }
+      if (struct.isSetColumn_metadata()) {
+        optionals.set(5);
+      }
+      if (struct.isSetGc_grace_seconds()) {
+        optionals.set(6);
+      }
+      if (struct.isSetDefault_validation_class()) {
+        optionals.set(7);
+      }
+      if (struct.isSetId()) {
+        optionals.set(8);
+      }
+      if (struct.isSetMin_compaction_threshold()) {
+        optionals.set(9);
+      }
+      if (struct.isSetMax_compaction_threshold()) {
+        optionals.set(10);
+      }
+      if (struct.isSetReplicate_on_write()) {
+        optionals.set(11);
+      }
+      if (struct.isSetKey_validation_class()) {
+        optionals.set(12);
+      }
+      if (struct.isSetKey_alias()) {
+        optionals.set(13);
+      }
+      if (struct.isSetCompaction_strategy()) {
+        optionals.set(14);
+      }
+      if (struct.isSetCompaction_strategy_options()) {
+        optionals.set(15);
+      }
+      if (struct.isSetCompression_options()) {
+        optionals.set(16);
+      }
+      if (struct.isSetBloom_filter_fp_chance()) {
+        optionals.set(17);
+      }
+      if (struct.isSetCaching()) {
+        optionals.set(18);
+      }
+      if (struct.isSetDclocal_read_repair_chance()) {
+        optionals.set(19);
+      }
+      if (struct.isSetMemtable_flush_period_in_ms()) {
+        optionals.set(20);
+      }
+      if (struct.isSetDefault_time_to_live()) {
+        optionals.set(21);
+      }
+      if (struct.isSetIndex_interval()) {
+        optionals.set(22);
+      }
+      if (struct.isSetRow_cache_size()) {
+        optionals.set(23);
+      }
+      if (struct.isSetKey_cache_size()) {
+        optionals.set(24);
+      }
+      if (struct.isSetRow_cache_save_period_in_seconds()) {
+        optionals.set(25);
+      }
+      if (struct.isSetKey_cache_save_period_in_seconds()) {
+        optionals.set(26);
+      }
+      if (struct.isSetMemtable_flush_after_mins()) {
+        optionals.set(27);
+      }
+      if (struct.isSetMemtable_throughput_in_mb()) {
+        optionals.set(28);
+      }
+      if (struct.isSetMemtable_operations_in_millions()) {
+        optionals.set(29);
+      }
+      if (struct.isSetMerge_shards_chance()) {
+        optionals.set(30);
+      }
+      if (struct.isSetRow_cache_provider()) {
+        optionals.set(31);
+      }
+      if (struct.isSetRow_cache_keys_to_save()) {
+        optionals.set(32);
+      }
+      oprot.writeBitSet(optionals, 33);
+      if (struct.isSetColumn_type()) {
+        oprot.writeString(struct.column_type);
+      }
+      if (struct.isSetComparator_type()) {
+        oprot.writeString(struct.comparator_type);
+      }
+      if (struct.isSetSubcomparator_type()) {
+        oprot.writeString(struct.subcomparator_type);
+      }
+      if (struct.isSetComment()) {
+        oprot.writeString(struct.comment);
+      }
+      if (struct.isSetRead_repair_chance()) {
+        oprot.writeDouble(struct.read_repair_chance);
+      }
+      if (struct.isSetColumn_metadata()) {
+        {
+          oprot.writeI32(struct.column_metadata.size());
+          for (ColumnDef _iter106 : struct.column_metadata)
+          {
+            _iter106.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetGc_grace_seconds()) {
+        oprot.writeI32(struct.gc_grace_seconds);
+      }
+      if (struct.isSetDefault_validation_class()) {
+        oprot.writeString(struct.default_validation_class);
+      }
+      if (struct.isSetId()) {
+        oprot.writeI32(struct.id);
+      }
+      if (struct.isSetMin_compaction_threshold()) {
+        oprot.writeI32(struct.min_compaction_threshold);
+      }
+      if (struct.isSetMax_compaction_threshold()) {
+        oprot.writeI32(struct.max_compaction_threshold);
+      }
+      if (struct.isSetReplicate_on_write()) {
+        oprot.writeBool(struct.replicate_on_write);
+      }
+      if (struct.isSetKey_validation_class()) {
+        oprot.writeString(struct.key_validation_class);
+      }
+      if (struct.isSetKey_alias()) {
+        oprot.writeBinary(struct.key_alias);
+      }
+      if (struct.isSetCompaction_strategy()) {
+        oprot.writeString(struct.compaction_strategy);
+      }
+      if (struct.isSetCompaction_strategy_options()) {
+        {
+          oprot.writeI32(struct.compaction_strategy_options.size());
+          for (Map.Entry<String, String> _iter107 : struct.compaction_strategy_options.entrySet())
+          {
+            oprot.writeString(_iter107.getKey());
+            oprot.writeString(_iter107.getValue());
+          }
+        }
+      }
+      if (struct.isSetCompression_options()) {
+        {
+          oprot.writeI32(struct.compression_options.size());
+          for (Map.Entry<String, String> _iter108 : struct.compression_options.entrySet())
+          {
+            oprot.writeString(_iter108.getKey());
+            oprot.writeString(_iter108.getValue());
+          }
+        }
+      }
+      if (struct.isSetBloom_filter_fp_chance()) {
+        oprot.writeDouble(struct.bloom_filter_fp_chance);
+      }
+      if (struct.isSetCaching()) {
+        oprot.writeString(struct.caching);
+      }
+      if (struct.isSetDclocal_read_repair_chance()) {
+        oprot.writeDouble(struct.dclocal_read_repair_chance);
+      }
+      if (struct.isSetMemtable_flush_period_in_ms()) {
+        oprot.writeI32(struct.memtable_flush_period_in_ms);
+      }
+      if (struct.isSetDefault_time_to_live()) {
+        oprot.writeI32(struct.default_time_to_live);
+      }
+      if (struct.isSetIndex_interval()) {
+        oprot.writeI32(struct.index_interval);
+      }
+      if (struct.isSetRow_cache_size()) {
+        oprot.writeDouble(struct.row_cache_size);
+      }
+      if (struct.isSetKey_cache_size()) {
+        oprot.writeDouble(struct.key_cache_size);
+      }
+      if (struct.isSetRow_cache_save_period_in_seconds()) {
+        oprot.writeI32(struct.row_cache_save_period_in_seconds);
+      }
+      if (struct.isSetKey_cache_save_period_in_seconds()) {
+        oprot.writeI32(struct.key_cache_save_period_in_seconds);
+      }
+      if (struct.isSetMemtable_flush_after_mins()) {
+        oprot.writeI32(struct.memtable_flush_after_mins);
+      }
+      if (struct.isSetMemtable_throughput_in_mb()) {
+        oprot.writeI32(struct.memtable_throughput_in_mb);
+      }
+      if (struct.isSetMemtable_operations_in_millions()) {
+        oprot.writeDouble(struct.memtable_operations_in_millions);
+      }
+      if (struct.isSetMerge_shards_chance()) {
+        oprot.writeDouble(struct.merge_shards_chance);
+      }
+      if (struct.isSetRow_cache_provider()) {
+        oprot.writeString(struct.row_cache_provider);
+      }
+      if (struct.isSetRow_cache_keys_to_save()) {
+        oprot.writeI32(struct.row_cache_keys_to_save);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, CfDef struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.keyspace = iprot.readString();
+      struct.setKeyspaceIsSet(true);
+      struct.name = iprot.readString();
+      struct.setNameIsSet(true);
+      BitSet incoming = iprot.readBitSet(33);
+      if (incoming.get(0)) {
+        struct.column_type = iprot.readString();
+        struct.setColumn_typeIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.comparator_type = iprot.readString();
+        struct.setComparator_typeIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.subcomparator_type = iprot.readString();
+        struct.setSubcomparator_typeIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.comment = iprot.readString();
+        struct.setCommentIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.read_repair_chance = iprot.readDouble();
+        struct.setRead_repair_chanceIsSet(true);
+      }
+      if (incoming.get(5)) {
+        {
+          org.apache.thrift.protocol.TList _list109 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.column_metadata = new ArrayList<ColumnDef>(_list109.size);
+          for (int _i110 = 0; _i110 < _list109.size; ++_i110)
+          {
+            ColumnDef _elem111; // required
+            _elem111 = new ColumnDef();
+            _elem111.read(iprot);
+            struct.column_metadata.add(_elem111);
+          }
+        }
+        struct.setColumn_metadataIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.gc_grace_seconds = iprot.readI32();
+        struct.setGc_grace_secondsIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.default_validation_class = iprot.readString();
+        struct.setDefault_validation_classIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.id = iprot.readI32();
+        struct.setIdIsSet(true);
+      }
+      if (incoming.get(9)) {
+        struct.min_compaction_threshold = iprot.readI32();
+        struct.setMin_compaction_thresholdIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.max_compaction_threshold = iprot.readI32();
+        struct.setMax_compaction_thresholdIsSet(true);
+      }
+      if (incoming.get(11)) {
+        struct.replicate_on_write = iprot.readBool();
+        struct.setReplicate_on_writeIsSet(true);
+      }
+      if (incoming.get(12)) {
+        struct.key_validation_class = iprot.readString();
+        struct.setKey_validation_classIsSet(true);
+      }
+      if (incoming.get(13)) {
+        struct.key_alias = iprot.readBinary();
+        struct.setKey_aliasIsSet(true);
+      }
+      if (incoming.get(14)) {
+        struct.compaction_strategy = iprot.readString();
+        struct.setCompaction_strategyIsSet(true);
+      }
+      if (incoming.get(15)) {
+        {
+          org.apache.thrift.protocol.TMap _map112 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.compaction_strategy_options = new HashMap<String,String>(2*_map112.size);
+          for (int _i113 = 0; _i113 < _map112.size; ++_i113)
+          {
+            String _key114; // required
+            String _val115; // required
+            _key114 = iprot.readString();
+            _val115 = iprot.readString();
+            struct.compaction_strategy_options.put(_key114, _val115);
+          }
+        }
+        struct.setCompaction_strategy_optionsIsSet(true);
+      }
+      if (incoming.get(16)) {
+        {
+          org.apache.thrift.protocol.TMap _map116 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.compression_options = new HashMap<String,String>(2*_map116.size);
+          for (int _i117 = 0; _i117 < _map116.size; ++_i117)
+          {
+            String _key118; // required
+            String _val119; // required
+            _key118 = iprot.readString();
+            _val119 = iprot.readString();
+            struct.compression_options.put(_key118, _val119);
+          }
+        }
+        struct.setCompression_optionsIsSet(true);
+      }
+      if (incoming.get(17)) {
+        struct.bloom_filter_fp_chance = iprot.readDouble();
+        struct.setBloom_filter_fp_chanceIsSet(true);
+      }
+      if (incoming.get(18)) {
+        struct.caching = iprot.readString();
+        struct.setCachingIsSet(true);
+      }
+      if (incoming.get(19)) {
+        struct.dclocal_read_repair_chance = iprot.readDouble();
+        struct.setDclocal_read_repair_chanceIsSet(true);
+      }
+      if (incoming.get(20)) {
+        struct.memtable_flush_period_in_ms = iprot.readI32();
+        struct.setMemtable_flush_period_in_msIsSet(true);
+      }
+      if (incoming.get(21)) {
+        struct.default_time_to_live = iprot.readI32();
+        struct.setDefault_time_to_liveIsSet(true);
+      }
+      if (incoming.get(22)) {
+        struct.index_interval = iprot.readI32();
+        struct.setIndex_intervalIsSet(true);
+      }
+      if (incoming.get(23)) {
+        struct.row_cache_size = iprot.readDouble();
+        struct.setRow_cache_sizeIsSet(true);
+      }
+      if (incoming.get(24)) {
+        struct.key_cache_size = iprot.readDouble();
+        struct.setKey_cache_sizeIsSet(true);
+      }
+      if (incoming.get(25)) {
+        struct.row_cache_save_period_in_seconds = iprot.readI32();
+        struct.setRow_cache_save_period_in_secondsIsSet(true);
+      }
+      if (incoming.get(26)) {
+        struct.key_cache_save_period_in_seconds = iprot.readI32();
+        struct.setKey_cache_save_period_in_secondsIsSet(true);
+      }
+      if (incoming.get(27)) {
+        struct.memtable_flush_after_mins = iprot.readI32();
+        struct.setMemtable_flush_after_minsIsSet(true);
+  

<TRUNCATED>