incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [10/25] Regenerated thrift code.
Date Tue, 30 Oct 2012 00:15:29 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1befa5f5/interface/gen-java/org/apache/blur/thrift/generated/QueryArgs.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/QueryArgs.java b/interface/gen-java/org/apache/blur/thrift/generated/QueryArgs.java
index 92f8e68..598d764 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/QueryArgs.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/QueryArgs.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.blur.thrift.generated;
 
@@ -24,6 +25,15 @@ package org.apache.blur.thrift.generated;
 
 
 
+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;
@@ -51,6 +61,12 @@ public class QueryArgs implements org.apache.thrift.TBase<QueryArgs, QueryArgs._
   private static final org.apache.thrift.protocol.TField DO_MAX_SCORE_FIELD_DESC = new org.apache.thrift.protocol.TField("doMaxScore", org.apache.thrift.protocol.TType.BOOL, (short)7);
   private static final org.apache.thrift.protocol.TField SHARD_INDEXES_FIELD_DESC = new org.apache.thrift.protocol.TField("shardIndexes", org.apache.thrift.protocol.TType.LIST, (short)8);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new QueryArgsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new QueryArgsTupleSchemeFactory());
+  }
+
   public ScoreDoc after; // required
   public ByteBuffer query; // required
   public ByteBuffer filter; // required
@@ -143,8 +159,7 @@ public class QueryArgs implements org.apache.thrift.TBase<QueryArgs, QueryArgs._
   private static final int __NUMBERTOFETCH_ISSET_ID = 0;
   private static final int __DODOCSCORES_ISSET_ID = 1;
   private static final int __DOMAXSCORE_ISSET_ID = 2;
-  private BitSet __isset_bit_vector = new BitSet(3);
-
+  private byte __isset_bitfield = 0;
   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);
@@ -200,8 +215,7 @@ public class QueryArgs implements org.apache.thrift.TBase<QueryArgs, QueryArgs._
    * Performs a deep copy on <i>other</i>.
    */
   public QueryArgs(QueryArgs other) {
-    __isset_bit_vector.clear();
-    __isset_bit_vector.or(other.__isset_bit_vector);
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetAfter()) {
       this.after = new ScoreDoc(other.after);
     }
@@ -350,16 +364,16 @@ public class QueryArgs implements org.apache.thrift.TBase<QueryArgs, QueryArgs._
   }
 
   public void unsetNumberToFetch() {
-    __isset_bit_vector.clear(__NUMBERTOFETCH_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMBERTOFETCH_ISSET_ID);
   }
 
   /** Returns true if field numberToFetch is set (has been assigned a value) and false otherwise */
   public boolean isSetNumberToFetch() {
-    return __isset_bit_vector.get(__NUMBERTOFETCH_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __NUMBERTOFETCH_ISSET_ID);
   }
 
   public void setNumberToFetchIsSet(boolean value) {
-    __isset_bit_vector.set(__NUMBERTOFETCH_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMBERTOFETCH_ISSET_ID, value);
   }
 
   public Sort getSort() {
@@ -397,16 +411,16 @@ public class QueryArgs implements org.apache.thrift.TBase<QueryArgs, QueryArgs._
   }
 
   public void unsetDoDocScores() {
-    __isset_bit_vector.clear(__DODOCSCORES_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DODOCSCORES_ISSET_ID);
   }
 
   /** Returns true if field doDocScores is set (has been assigned a value) and false otherwise */
   public boolean isSetDoDocScores() {
-    return __isset_bit_vector.get(__DODOCSCORES_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __DODOCSCORES_ISSET_ID);
   }
 
   public void setDoDocScoresIsSet(boolean value) {
-    __isset_bit_vector.set(__DODOCSCORES_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DODOCSCORES_ISSET_ID, value);
   }
 
   public boolean isDoMaxScore() {
@@ -420,16 +434,16 @@ public class QueryArgs implements org.apache.thrift.TBase<QueryArgs, QueryArgs._
   }
 
   public void unsetDoMaxScore() {
-    __isset_bit_vector.clear(__DOMAXSCORE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DOMAXSCORE_ISSET_ID);
   }
 
   /** Returns true if field doMaxScore is set (has been assigned a value) and false otherwise */
   public boolean isSetDoMaxScore() {
-    return __isset_bit_vector.get(__DOMAXSCORE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __DOMAXSCORE_ISSET_ID);
   }
 
   public void setDoMaxScoreIsSet(boolean value) {
-    __isset_bit_vector.set(__DOMAXSCORE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DOMAXSCORE_ISSET_ID, value);
   }
 
   public int getShardIndexesSize() {
@@ -786,144 +800,11 @@ public class QueryArgs implements org.apache.thrift.TBase<QueryArgs, QueryArgs._
   }
 
   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: // AFTER
-          if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
-            this.after = new ScoreDoc();
-            this.after.read(iprot);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // QUERY
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.query = iprot.readBinary();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // FILTER
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.filter = iprot.readBinary();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 4: // NUMBER_TO_FETCH
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.numberToFetch = iprot.readI32();
-            setNumberToFetchIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 5: // SORT
-          if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
-            this.sort = new Sort();
-            this.sort.read(iprot);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 6: // DO_DOC_SCORES
-          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
-            this.doDocScores = iprot.readBool();
-            setDoDocScoresIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 7: // DO_MAX_SCORE
-          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
-            this.doMaxScore = iprot.readBool();
-            setDoMaxScoreIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 8: // SHARD_INDEXES
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list96 = iprot.readListBegin();
-              this.shardIndexes = new ArrayList<Integer>(_list96.size);
-              for (int _i97 = 0; _i97 < _list96.size; ++_i97)
-              {
-                int _elem98; // required
-                _elem98 = iprot.readI32();
-                this.shardIndexes.add(_elem98);
-              }
-              iprot.readListEnd();
-            }
-          } 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.after != null) {
-      oprot.writeFieldBegin(AFTER_FIELD_DESC);
-      this.after.write(oprot);
-      oprot.writeFieldEnd();
-    }
-    if (this.query != null) {
-      oprot.writeFieldBegin(QUERY_FIELD_DESC);
-      oprot.writeBinary(this.query);
-      oprot.writeFieldEnd();
-    }
-    if (this.filter != null) {
-      oprot.writeFieldBegin(FILTER_FIELD_DESC);
-      oprot.writeBinary(this.filter);
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldBegin(NUMBER_TO_FETCH_FIELD_DESC);
-    oprot.writeI32(this.numberToFetch);
-    oprot.writeFieldEnd();
-    if (this.sort != null) {
-      oprot.writeFieldBegin(SORT_FIELD_DESC);
-      this.sort.write(oprot);
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldBegin(DO_DOC_SCORES_FIELD_DESC);
-    oprot.writeBool(this.doDocScores);
-    oprot.writeFieldEnd();
-    oprot.writeFieldBegin(DO_MAX_SCORE_FIELD_DESC);
-    oprot.writeBool(this.doMaxScore);
-    oprot.writeFieldEnd();
-    if (this.shardIndexes != null) {
-      oprot.writeFieldBegin(SHARD_INDEXES_FIELD_DESC);
-      {
-        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, this.shardIndexes.size()));
-        for (int _iter99 : this.shardIndexes)
-        {
-          oprot.writeI32(_iter99);
-        }
-        oprot.writeListEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -988,6 +869,13 @@ public class QueryArgs implements org.apache.thrift.TBase<QueryArgs, QueryArgs._
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
+    // check for sub-struct validity
+    if (after != null) {
+      after.validate();
+    }
+    if (sort != null) {
+      sort.validate();
+    }
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -1001,12 +889,287 @@ public class QueryArgs implements org.apache.thrift.TBase<QueryArgs, QueryArgs._
   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 QueryArgsStandardSchemeFactory implements SchemeFactory {
+    public QueryArgsStandardScheme getScheme() {
+      return new QueryArgsStandardScheme();
+    }
+  }
+
+  private static class QueryArgsStandardScheme extends StandardScheme<QueryArgs> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, QueryArgs 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: // AFTER
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.after = new ScoreDoc();
+              struct.after.read(iprot);
+              struct.setAfterIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // QUERY
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.query = iprot.readBinary();
+              struct.setQueryIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // FILTER
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.filter = iprot.readBinary();
+              struct.setFilterIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // NUMBER_TO_FETCH
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.numberToFetch = iprot.readI32();
+              struct.setNumberToFetchIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // SORT
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.sort = new Sort();
+              struct.sort.read(iprot);
+              struct.setSortIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // DO_DOC_SCORES
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.doDocScores = iprot.readBool();
+              struct.setDoDocScoresIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // DO_MAX_SCORE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.doMaxScore = iprot.readBool();
+              struct.setDoMaxScoreIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // SHARD_INDEXES
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list192 = iprot.readListBegin();
+                struct.shardIndexes = new ArrayList<Integer>(_list192.size);
+                for (int _i193 = 0; _i193 < _list192.size; ++_i193)
+                {
+                  int _elem194; // required
+                  _elem194 = iprot.readI32();
+                  struct.shardIndexes.add(_elem194);
+                }
+                iprot.readListEnd();
+              }
+              struct.setShardIndexesIsSet(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, QueryArgs struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.after != null) {
+        oprot.writeFieldBegin(AFTER_FIELD_DESC);
+        struct.after.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      if (struct.query != null) {
+        oprot.writeFieldBegin(QUERY_FIELD_DESC);
+        oprot.writeBinary(struct.query);
+        oprot.writeFieldEnd();
+      }
+      if (struct.filter != null) {
+        oprot.writeFieldBegin(FILTER_FIELD_DESC);
+        oprot.writeBinary(struct.filter);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(NUMBER_TO_FETCH_FIELD_DESC);
+      oprot.writeI32(struct.numberToFetch);
+      oprot.writeFieldEnd();
+      if (struct.sort != null) {
+        oprot.writeFieldBegin(SORT_FIELD_DESC);
+        struct.sort.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(DO_DOC_SCORES_FIELD_DESC);
+      oprot.writeBool(struct.doDocScores);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(DO_MAX_SCORE_FIELD_DESC);
+      oprot.writeBool(struct.doMaxScore);
+      oprot.writeFieldEnd();
+      if (struct.shardIndexes != null) {
+        oprot.writeFieldBegin(SHARD_INDEXES_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, struct.shardIndexes.size()));
+          for (int _iter195 : struct.shardIndexes)
+          {
+            oprot.writeI32(_iter195);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class QueryArgsTupleSchemeFactory implements SchemeFactory {
+    public QueryArgsTupleScheme getScheme() {
+      return new QueryArgsTupleScheme();
+    }
+  }
+
+  private static class QueryArgsTupleScheme extends TupleScheme<QueryArgs> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, QueryArgs struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetAfter()) {
+        optionals.set(0);
+      }
+      if (struct.isSetQuery()) {
+        optionals.set(1);
+      }
+      if (struct.isSetFilter()) {
+        optionals.set(2);
+      }
+      if (struct.isSetNumberToFetch()) {
+        optionals.set(3);
+      }
+      if (struct.isSetSort()) {
+        optionals.set(4);
+      }
+      if (struct.isSetDoDocScores()) {
+        optionals.set(5);
+      }
+      if (struct.isSetDoMaxScore()) {
+        optionals.set(6);
+      }
+      if (struct.isSetShardIndexes()) {
+        optionals.set(7);
+      }
+      oprot.writeBitSet(optionals, 8);
+      if (struct.isSetAfter()) {
+        struct.after.write(oprot);
+      }
+      if (struct.isSetQuery()) {
+        oprot.writeBinary(struct.query);
+      }
+      if (struct.isSetFilter()) {
+        oprot.writeBinary(struct.filter);
+      }
+      if (struct.isSetNumberToFetch()) {
+        oprot.writeI32(struct.numberToFetch);
+      }
+      if (struct.isSetSort()) {
+        struct.sort.write(oprot);
+      }
+      if (struct.isSetDoDocScores()) {
+        oprot.writeBool(struct.doDocScores);
+      }
+      if (struct.isSetDoMaxScore()) {
+        oprot.writeBool(struct.doMaxScore);
+      }
+      if (struct.isSetShardIndexes()) {
+        {
+          oprot.writeI32(struct.shardIndexes.size());
+          for (int _iter196 : struct.shardIndexes)
+          {
+            oprot.writeI32(_iter196);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, QueryArgs struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(8);
+      if (incoming.get(0)) {
+        struct.after = new ScoreDoc();
+        struct.after.read(iprot);
+        struct.setAfterIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.query = iprot.readBinary();
+        struct.setQueryIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.filter = iprot.readBinary();
+        struct.setFilterIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.numberToFetch = iprot.readI32();
+        struct.setNumberToFetchIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.sort = new Sort();
+        struct.sort.read(iprot);
+        struct.setSortIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.doDocScores = iprot.readBool();
+        struct.setDoDocScoresIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.doMaxScore = iprot.readBool();
+        struct.setDoMaxScoreIsSet(true);
+      }
+      if (incoming.get(7)) {
+        {
+          org.apache.thrift.protocol.TList _list197 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32());
+          struct.shardIndexes = new ArrayList<Integer>(_list197.size);
+          for (int _i198 = 0; _i198 < _list197.size; ++_i198)
+          {
+            int _elem199; // required
+            _elem199 = iprot.readI32();
+            struct.shardIndexes.add(_elem199);
+          }
+        }
+        struct.setShardIndexesIsSet(true);
+      }
+    }
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1befa5f5/interface/gen-java/org/apache/blur/thrift/generated/QuerySession.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/QuerySession.java b/interface/gen-java/org/apache/blur/thrift/generated/QuerySession.java
index 75e8ab9..87a11d8 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/QuerySession.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/QuerySession.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.blur.thrift.generated;
 
@@ -24,6 +25,15 @@ package org.apache.blur.thrift.generated;
 
 
 
+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;
@@ -45,6 +55,12 @@ public class QuerySession implements org.apache.thrift.TBase<QuerySession, Query
   private static final org.apache.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.thrift.protocol.TField("session", org.apache.thrift.protocol.TType.STRUCT, (short)1);
   private static final org.apache.thrift.protocol.TField QUERY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("queryId", org.apache.thrift.protocol.TType.STRING, (short)2);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new QuerySessionStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new QuerySessionTupleSchemeFactory());
+  }
+
   public Session session; // required
   public String queryId; // required
 
@@ -110,7 +126,6 @@ public class QuerySession implements org.apache.thrift.TBase<QuerySession, Query
   }
 
   // isset id assignments
-
   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);
@@ -327,57 +342,11 @@ public class QuerySession implements org.apache.thrift.TBase<QuerySession, Query
   }
 
   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: // SESSION
-          if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
-            this.session = new Session();
-            this.session.read(iprot);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // QUERY_ID
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.queryId = iprot.readString();
-          } 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.session != null) {
-      oprot.writeFieldBegin(SESSION_FIELD_DESC);
-      this.session.write(oprot);
-      oprot.writeFieldEnd();
-    }
-    if (this.queryId != null) {
-      oprot.writeFieldBegin(QUERY_ID_FIELD_DESC);
-      oprot.writeString(this.queryId);
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -406,6 +375,10 @@ public class QuerySession implements org.apache.thrift.TBase<QuerySession, Query
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
+    // check for sub-struct validity
+    if (session != null) {
+      session.validate();
+    }
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -424,5 +397,114 @@ public class QuerySession implements org.apache.thrift.TBase<QuerySession, Query
     }
   }
 
+  private static class QuerySessionStandardSchemeFactory implements SchemeFactory {
+    public QuerySessionStandardScheme getScheme() {
+      return new QuerySessionStandardScheme();
+    }
+  }
+
+  private static class QuerySessionStandardScheme extends StandardScheme<QuerySession> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, QuerySession 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: // SESSION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.session = new Session();
+              struct.session.read(iprot);
+              struct.setSessionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // QUERY_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.queryId = iprot.readString();
+              struct.setQueryIdIsSet(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, QuerySession struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.session != null) {
+        oprot.writeFieldBegin(SESSION_FIELD_DESC);
+        struct.session.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      if (struct.queryId != null) {
+        oprot.writeFieldBegin(QUERY_ID_FIELD_DESC);
+        oprot.writeString(struct.queryId);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class QuerySessionTupleSchemeFactory implements SchemeFactory {
+    public QuerySessionTupleScheme getScheme() {
+      return new QuerySessionTupleScheme();
+    }
+  }
+
+  private static class QuerySessionTupleScheme extends TupleScheme<QuerySession> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, QuerySession struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetSession()) {
+        optionals.set(0);
+      }
+      if (struct.isSetQueryId()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
+      if (struct.isSetSession()) {
+        struct.session.write(oprot);
+      }
+      if (struct.isSetQueryId()) {
+        oprot.writeString(struct.queryId);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, QuerySession struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(2);
+      if (incoming.get(0)) {
+        struct.session = new Session();
+        struct.session.read(iprot);
+        struct.setSessionIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.queryId = iprot.readString();
+        struct.setQueryIdIsSet(true);
+      }
+    }
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1befa5f5/interface/gen-java/org/apache/blur/thrift/generated/QueryState.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/QueryState.java b/interface/gen-java/org/apache/blur/thrift/generated/QueryState.java
index 2ec19e1..8e1dc2b 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/QueryState.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/QueryState.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.blur.thrift.generated;
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1befa5f5/interface/gen-java/org/apache/blur/thrift/generated/Record.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/Record.java b/interface/gen-java/org/apache/blur/thrift/generated/Record.java
index 4e0e512..0ba063d 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/Record.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/Record.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.blur.thrift.generated;
 
@@ -24,6 +25,15 @@ package org.apache.blur.thrift.generated;
 
 
 
+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;
@@ -49,6 +59,12 @@ public class Record implements org.apache.thrift.TBase<Record, Record._Fields>,
   private static final org.apache.thrift.protocol.TField FAMILY_FIELD_DESC = new org.apache.thrift.protocol.TField("family", org.apache.thrift.protocol.TType.STRING, (short)2);
   private static final org.apache.thrift.protocol.TField COLUMNS_FIELD_DESC = new org.apache.thrift.protocol.TField("columns", org.apache.thrift.protocol.TType.LIST, (short)3);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new RecordStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new RecordTupleSchemeFactory());
+  }
+
   /**
    * Record id uniquely identifies a record within a single row.
    */
@@ -136,7 +152,6 @@ public class Record implements org.apache.thrift.TBase<Record, Record._Fields>,
   }
 
   // isset id assignments
-
   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);
@@ -455,86 +470,11 @@ public class Record implements org.apache.thrift.TBase<Record, Record._Fields>,
   }
 
   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: // RECORD_ID
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.recordId = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // FAMILY
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.family = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // COLUMNS
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
-              this.columns = new ArrayList<Column>(_list0.size);
-              for (int _i1 = 0; _i1 < _list0.size; ++_i1)
-              {
-                Column _elem2; // required
-                _elem2 = new Column();
-                _elem2.read(iprot);
-                this.columns.add(_elem2);
-              }
-              iprot.readListEnd();
-            }
-          } 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.recordId != null) {
-      oprot.writeFieldBegin(RECORD_ID_FIELD_DESC);
-      oprot.writeString(this.recordId);
-      oprot.writeFieldEnd();
-    }
-    if (this.family != null) {
-      oprot.writeFieldBegin(FAMILY_FIELD_DESC);
-      oprot.writeString(this.family);
-      oprot.writeFieldEnd();
-    }
-    if (this.columns != null) {
-      oprot.writeFieldBegin(COLUMNS_FIELD_DESC);
-      {
-        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.columns.size()));
-        for (Column _iter3 : this.columns)
-        {
-          _iter3.write(oprot);
-        }
-        oprot.writeListEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -571,6 +511,7 @@ public class Record implements org.apache.thrift.TBase<Record, Record._Fields>,
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -589,5 +530,169 @@ public class Record implements org.apache.thrift.TBase<Record, Record._Fields>,
     }
   }
 
+  private static class RecordStandardSchemeFactory implements SchemeFactory {
+    public RecordStandardScheme getScheme() {
+      return new RecordStandardScheme();
+    }
+  }
+
+  private static class RecordStandardScheme extends StandardScheme<Record> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Record 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: // RECORD_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.recordId = iprot.readString();
+              struct.setRecordIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // FAMILY
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.family = iprot.readString();
+              struct.setFamilyIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // COLUMNS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
+                struct.columns = new ArrayList<Column>(_list0.size);
+                for (int _i1 = 0; _i1 < _list0.size; ++_i1)
+                {
+                  Column _elem2; // required
+                  _elem2 = new Column();
+                  _elem2.read(iprot);
+                  struct.columns.add(_elem2);
+                }
+                iprot.readListEnd();
+              }
+              struct.setColumnsIsSet(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, Record struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.recordId != null) {
+        oprot.writeFieldBegin(RECORD_ID_FIELD_DESC);
+        oprot.writeString(struct.recordId);
+        oprot.writeFieldEnd();
+      }
+      if (struct.family != null) {
+        oprot.writeFieldBegin(FAMILY_FIELD_DESC);
+        oprot.writeString(struct.family);
+        oprot.writeFieldEnd();
+      }
+      if (struct.columns != null) {
+        oprot.writeFieldBegin(COLUMNS_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.columns.size()));
+          for (Column _iter3 : struct.columns)
+          {
+            _iter3.write(oprot);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class RecordTupleSchemeFactory implements SchemeFactory {
+    public RecordTupleScheme getScheme() {
+      return new RecordTupleScheme();
+    }
+  }
+
+  private static class RecordTupleScheme extends TupleScheme<Record> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Record struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetRecordId()) {
+        optionals.set(0);
+      }
+      if (struct.isSetFamily()) {
+        optionals.set(1);
+      }
+      if (struct.isSetColumns()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetRecordId()) {
+        oprot.writeString(struct.recordId);
+      }
+      if (struct.isSetFamily()) {
+        oprot.writeString(struct.family);
+      }
+      if (struct.isSetColumns()) {
+        {
+          oprot.writeI32(struct.columns.size());
+          for (Column _iter4 : struct.columns)
+          {
+            _iter4.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Record struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        struct.recordId = iprot.readString();
+        struct.setRecordIdIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.family = iprot.readString();
+        struct.setFamilyIsSet(true);
+      }
+      if (incoming.get(2)) {
+        {
+          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.columns = new ArrayList<Column>(_list5.size);
+          for (int _i6 = 0; _i6 < _list5.size; ++_i6)
+          {
+            Column _elem7; // required
+            _elem7 = new Column();
+            _elem7.read(iprot);
+            struct.columns.add(_elem7);
+          }
+        }
+        struct.setColumnsIsSet(true);
+      }
+    }
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1befa5f5/interface/gen-java/org/apache/blur/thrift/generated/RecordMutation.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/RecordMutation.java b/interface/gen-java/org/apache/blur/thrift/generated/RecordMutation.java
index c075570..3074c75 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/RecordMutation.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/RecordMutation.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.blur.thrift.generated;
 
@@ -24,6 +25,15 @@ package org.apache.blur.thrift.generated;
 
 
 
+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;
@@ -48,6 +58,12 @@ public class RecordMutation implements org.apache.thrift.TBase<RecordMutation, R
   private static final org.apache.thrift.protocol.TField RECORD_MUTATION_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("recordMutationType", org.apache.thrift.protocol.TType.I32, (short)1);
   private static final org.apache.thrift.protocol.TField RECORD_FIELD_DESC = new org.apache.thrift.protocol.TField("record", org.apache.thrift.protocol.TType.STRUCT, (short)2);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new RecordMutationStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new RecordMutationTupleSchemeFactory());
+  }
+
   /**
    * 
    * 
@@ -129,7 +145,6 @@ public class RecordMutation implements org.apache.thrift.TBase<RecordMutation, R
   }
 
   // isset id assignments
-
   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);
@@ -362,57 +377,11 @@ public class RecordMutation implements org.apache.thrift.TBase<RecordMutation, R
   }
 
   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: // RECORD_MUTATION_TYPE
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.recordMutationType = RecordMutationType.findByValue(iprot.readI32());
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // RECORD
-          if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
-            this.record = new Record();
-            this.record.read(iprot);
-          } 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.recordMutationType != null) {
-      oprot.writeFieldBegin(RECORD_MUTATION_TYPE_FIELD_DESC);
-      oprot.writeI32(this.recordMutationType.getValue());
-      oprot.writeFieldEnd();
-    }
-    if (this.record != null) {
-      oprot.writeFieldBegin(RECORD_FIELD_DESC);
-      this.record.write(oprot);
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -441,6 +410,10 @@ public class RecordMutation implements org.apache.thrift.TBase<RecordMutation, R
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
+    // check for sub-struct validity
+    if (record != null) {
+      record.validate();
+    }
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -459,5 +432,114 @@ public class RecordMutation implements org.apache.thrift.TBase<RecordMutation, R
     }
   }
 
+  private static class RecordMutationStandardSchemeFactory implements SchemeFactory {
+    public RecordMutationStandardScheme getScheme() {
+      return new RecordMutationStandardScheme();
+    }
+  }
+
+  private static class RecordMutationStandardScheme extends StandardScheme<RecordMutation> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, RecordMutation 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: // RECORD_MUTATION_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.recordMutationType = RecordMutationType.findByValue(iprot.readI32());
+              struct.setRecordMutationTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // RECORD
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.record = new Record();
+              struct.record.read(iprot);
+              struct.setRecordIsSet(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, RecordMutation struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.recordMutationType != null) {
+        oprot.writeFieldBegin(RECORD_MUTATION_TYPE_FIELD_DESC);
+        oprot.writeI32(struct.recordMutationType.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.record != null) {
+        oprot.writeFieldBegin(RECORD_FIELD_DESC);
+        struct.record.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class RecordMutationTupleSchemeFactory implements SchemeFactory {
+    public RecordMutationTupleScheme getScheme() {
+      return new RecordMutationTupleScheme();
+    }
+  }
+
+  private static class RecordMutationTupleScheme extends TupleScheme<RecordMutation> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, RecordMutation struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetRecordMutationType()) {
+        optionals.set(0);
+      }
+      if (struct.isSetRecord()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
+      if (struct.isSetRecordMutationType()) {
+        oprot.writeI32(struct.recordMutationType.getValue());
+      }
+      if (struct.isSetRecord()) {
+        struct.record.write(oprot);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, RecordMutation struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(2);
+      if (incoming.get(0)) {
+        struct.recordMutationType = RecordMutationType.findByValue(iprot.readI32());
+        struct.setRecordMutationTypeIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.record = new Record();
+        struct.record.read(iprot);
+        struct.setRecordIsSet(true);
+      }
+    }
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1befa5f5/interface/gen-java/org/apache/blur/thrift/generated/RecordMutationType.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/RecordMutationType.java b/interface/gen-java/org/apache/blur/thrift/generated/RecordMutationType.java
index 27f7a6f..25eb44b 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/RecordMutationType.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/RecordMutationType.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.blur.thrift.generated;
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1befa5f5/interface/gen-java/org/apache/blur/thrift/generated/Row.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/Row.java b/interface/gen-java/org/apache/blur/thrift/generated/Row.java
index 784ad35..b450cb8 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/Row.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/Row.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.blur.thrift.generated;
 
@@ -24,6 +25,15 @@ package org.apache.blur.thrift.generated;
 
 
 
+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;
@@ -49,6 +59,12 @@ public class Row implements org.apache.thrift.TBase<Row, Row._Fields>, java.io.S
   private static final org.apache.thrift.protocol.TField RECORDS_FIELD_DESC = new org.apache.thrift.protocol.TField("records", org.apache.thrift.protocol.TType.LIST, (short)2);
   private static final org.apache.thrift.protocol.TField RECORD_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("recordCount", org.apache.thrift.protocol.TType.I32, (short)3);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new RowStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new RowTupleSchemeFactory());
+  }
+
   /**
    * The row id.
    */
@@ -141,8 +157,7 @@ public class Row implements org.apache.thrift.TBase<Row, Row._Fields>, java.io.S
 
   // isset id assignments
   private static final int __RECORDCOUNT_ISSET_ID = 0;
-  private BitSet __isset_bit_vector = new BitSet(1);
-
+  private byte __isset_bitfield = 0;
   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);
@@ -176,8 +191,7 @@ public class Row implements org.apache.thrift.TBase<Row, Row._Fields>, java.io.S
    * Performs a deep copy on <i>other</i>.
    */
   public Row(Row other) {
-    __isset_bit_vector.clear();
-    __isset_bit_vector.or(other.__isset_bit_vector);
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetId()) {
       this.id = other.id;
     }
@@ -299,16 +313,16 @@ public class Row implements org.apache.thrift.TBase<Row, Row._Fields>, java.io.S
   }
 
   public void unsetRecordCount() {
-    __isset_bit_vector.clear(__RECORDCOUNT_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __RECORDCOUNT_ISSET_ID);
   }
 
   /** Returns true if field recordCount is set (has been assigned a value) and false otherwise */
   public boolean isSetRecordCount() {
-    return __isset_bit_vector.get(__RECORDCOUNT_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __RECORDCOUNT_ISSET_ID);
   }
 
   public void setRecordCountIsSet(boolean value) {
-    __isset_bit_vector.set(__RECORDCOUNT_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __RECORDCOUNT_ISSET_ID, value);
   }
 
   public void setFieldValue(_Fields field, Object value) {
@@ -466,85 +480,11 @@ public class Row implements org.apache.thrift.TBase<Row, Row._Fields>, java.io.S
   }
 
   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: // ID
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.id = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // RECORDS
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list4 = iprot.readListBegin();
-              this.records = new ArrayList<Record>(_list4.size);
-              for (int _i5 = 0; _i5 < _list4.size; ++_i5)
-              {
-                Record _elem6; // required
-                _elem6 = new Record();
-                _elem6.read(iprot);
-                this.records.add(_elem6);
-              }
-              iprot.readListEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // RECORD_COUNT
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.recordCount = iprot.readI32();
-            setRecordCountIsSet(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.id != null) {
-      oprot.writeFieldBegin(ID_FIELD_DESC);
-      oprot.writeString(this.id);
-      oprot.writeFieldEnd();
-    }
-    if (this.records != null) {
-      oprot.writeFieldBegin(RECORDS_FIELD_DESC);
-      {
-        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.records.size()));
-        for (Record _iter7 : this.records)
-        {
-          _iter7.write(oprot);
-        }
-        oprot.writeListEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldBegin(RECORD_COUNT_FIELD_DESC);
-    oprot.writeI32(this.recordCount);
-    oprot.writeFieldEnd();
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -577,6 +517,7 @@ public class Row implements org.apache.thrift.TBase<Row, Row._Fields>, java.io.S
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -590,12 +531,174 @@ public class Row implements org.apache.thrift.TBase<Row, Row._Fields>, java.io.S
   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 RowStandardSchemeFactory implements SchemeFactory {
+    public RowStandardScheme getScheme() {
+      return new RowStandardScheme();
+    }
+  }
+
+  private static class RowStandardScheme extends StandardScheme<Row> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Row 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: // ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.id = iprot.readString();
+              struct.setIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // RECORDS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
+                struct.records = new ArrayList<Record>(_list8.size);
+                for (int _i9 = 0; _i9 < _list8.size; ++_i9)
+                {
+                  Record _elem10; // required
+                  _elem10 = new Record();
+                  _elem10.read(iprot);
+                  struct.records.add(_elem10);
+                }
+                iprot.readListEnd();
+              }
+              struct.setRecordsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // RECORD_COUNT
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.recordCount = iprot.readI32();
+              struct.setRecordCountIsSet(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, Row struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.id != null) {
+        oprot.writeFieldBegin(ID_FIELD_DESC);
+        oprot.writeString(struct.id);
+        oprot.writeFieldEnd();
+      }
+      if (struct.records != null) {
+        oprot.writeFieldBegin(RECORDS_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.records.size()));
+          for (Record _iter11 : struct.records)
+          {
+            _iter11.write(oprot);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(RECORD_COUNT_FIELD_DESC);
+      oprot.writeI32(struct.recordCount);
+      oprot.writeFieldEnd();
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class RowTupleSchemeFactory implements SchemeFactory {
+    public RowTupleScheme getScheme() {
+      return new RowTupleScheme();
+    }
+  }
+
+  private static class RowTupleScheme extends TupleScheme<Row> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Row struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetId()) {
+        optionals.set(0);
+      }
+      if (struct.isSetRecords()) {
+        optionals.set(1);
+      }
+      if (struct.isSetRecordCount()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetId()) {
+        oprot.writeString(struct.id);
+      }
+      if (struct.isSetRecords()) {
+        {
+          oprot.writeI32(struct.records.size());
+          for (Record _iter12 : struct.records)
+          {
+            _iter12.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetRecordCount()) {
+        oprot.writeI32(struct.recordCount);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Row struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        struct.id = iprot.readString();
+        struct.setIdIsSet(true);
+      }
+      if (incoming.get(1)) {
+        {
+          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.records = new ArrayList<Record>(_list13.size);
+          for (int _i14 = 0; _i14 < _list13.size; ++_i14)
+          {
+            Record _elem15; // required
+            _elem15 = new Record();
+            _elem15.read(iprot);
+            struct.records.add(_elem15);
+          }
+        }
+        struct.setRecordsIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.recordCount = iprot.readI32();
+        struct.setRecordCountIsSet(true);
+      }
+    }
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1befa5f5/interface/gen-java/org/apache/blur/thrift/generated/RowMutation.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/RowMutation.java b/interface/gen-java/org/apache/blur/thrift/generated/RowMutation.java
index 49e4ee2..33a5530 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/RowMutation.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/RowMutation.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.blur.thrift.generated;
 
@@ -24,6 +25,15 @@ package org.apache.blur.thrift.generated;
 
 
 
+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;
@@ -52,6 +62,12 @@ public class RowMutation implements org.apache.thrift.TBase<RowMutation, RowMuta
   private static final org.apache.thrift.protocol.TField RECORD_MUTATIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("recordMutations", org.apache.thrift.protocol.TType.LIST, (short)5);
   private static final org.apache.thrift.protocol.TField WAIT_TO_BE_VISIBLE_FIELD_DESC = new org.apache.thrift.protocol.TField("waitToBeVisible", org.apache.thrift.protocol.TType.BOOL, (short)6);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new RowMutationStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new RowMutationTupleSchemeFactory());
+  }
+
   /**
    * The that that the row mutation is to act upon.
    */
@@ -167,8 +183,7 @@ public class RowMutation implements org.apache.thrift.TBase<RowMutation, RowMuta
   // isset id assignments
   private static final int __WAL_ISSET_ID = 0;
   private static final int __WAITTOBEVISIBLE_ISSET_ID = 1;
-  private BitSet __isset_bit_vector = new BitSet(2);
-
+  private byte __isset_bitfield = 0;
   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);
@@ -219,8 +234,7 @@ public class RowMutation implements org.apache.thrift.TBase<RowMutation, RowMuta
    * Performs a deep copy on <i>other</i>.
    */
   public RowMutation(RowMutation other) {
-    __isset_bit_vector.clear();
-    __isset_bit_vector.or(other.__isset_bit_vector);
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetTable()) {
       this.table = other.table;
     }
@@ -334,16 +348,16 @@ public class RowMutation implements org.apache.thrift.TBase<RowMutation, RowMuta
   }
 
   public void unsetWal() {
-    __isset_bit_vector.clear(__WAL_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __WAL_ISSET_ID);
   }
 
   /** Returns true if field wal is set (has been assigned a value) and false otherwise */
   public boolean isSetWal() {
-    return __isset_bit_vector.get(__WAL_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __WAL_ISSET_ID);
   }
 
   public void setWalIsSet(boolean value) {
-    __isset_bit_vector.set(__WAL_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __WAL_ISSET_ID, value);
   }
 
   /**
@@ -434,16 +448,16 @@ public class RowMutation implements org.apache.thrift.TBase<RowMutation, RowMuta
   }
 
   public void unsetWaitToBeVisible() {
-    __isset_bit_vector.clear(__WAITTOBEVISIBLE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __WAITTOBEVISIBLE_ISSET_ID);
   }
 
   /** Returns true if field waitToBeVisible is set (has been assigned a value) and false otherwise */
   public boolean isSetWaitToBeVisible() {
-    return __isset_bit_vector.get(__WAITTOBEVISIBLE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __WAITTOBEVISIBLE_ISSET_ID);
   }
 
   public void setWaitToBeVisibleIsSet(boolean value) {
-    __isset_bit_vector.set(__WAITTOBEVISIBLE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __WAITTOBEVISIBLE_ISSET_ID, value);
   }
 
   public void setFieldValue(_Fields field, Object value) {
@@ -697,120 +711,11 @@ public class RowMutation implements org.apache.thrift.TBase<RowMutation, RowMuta
   }
 
   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: // TABLE
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.table = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // ROW_ID
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.rowId = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // WAL
-          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
-            this.wal = iprot.readBool();
-            setWalIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 4: // ROW_MUTATION_TYPE
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.rowMutationType = RowMutationType.findByValue(iprot.readI32());
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 5: // RECORD_MUTATIONS
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list42 = iprot.readListBegin();
-              this.recordMutations = new ArrayList<RecordMutation>(_list42.size);
-              for (int _i43 = 0; _i43 < _list42.size; ++_i43)
-              {
-                RecordMutation _elem44; // required
-                _elem44 = new RecordMutation();
-                _elem44.read(iprot);
-                this.recordMutations.add(_elem44);
-              }
-              iprot.readListEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 6: // WAIT_TO_BE_VISIBLE
-          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
-            this.waitToBeVisible = iprot.readBool();
-            setWaitToBeVisibleIsSet(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.table != null) {
-      oprot.writeFieldBegin(TABLE_FIELD_DESC);
-      oprot.writeString(this.table);
-      oprot.writeFieldEnd();
-    }
-    if (this.rowId != null) {
-      oprot.writeFieldBegin(ROW_ID_FIELD_DESC);
-      oprot.writeString(this.rowId);
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldBegin(WAL_FIELD_DESC);
-    oprot.writeBool(this.wal);
-    oprot.writeFieldEnd();
-    if (this.rowMutationType != null) {
-      oprot.writeFieldBegin(ROW_MUTATION_TYPE_FIELD_DESC);
-      oprot.writeI32(this.rowMutationType.getValue());
-      oprot.writeFieldEnd();
-    }
-    if (this.recordMutations != null) {
-      oprot.writeFieldBegin(RECORD_MUTATIONS_FIELD_DESC);
-      {
-        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.recordMutations.size()));
-        for (RecordMutation _iter45 : this.recordMutations)
-        {
-          _iter45.write(oprot);
-        }
-        oprot.writeListEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldBegin(WAIT_TO_BE_VISIBLE_FIELD_DESC);
-    oprot.writeBool(this.waitToBeVisible);
-    oprot.writeFieldEnd();
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -863,6 +768,7 @@ public class RowMutation implements org.apache.thrift.TBase<RowMutation, RowMuta
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -876,12 +782,241 @@ public class RowMutation implements org.apache.thrift.TBase<RowMutation, RowMuta
   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 RowMutationStandardSchemeFactory implements SchemeFactory {
+    public RowMutationStandardScheme getScheme() {
+      return new RowMutationStandardScheme();
+    }
+  }
+
+  private static class RowMutationStandardScheme extends StandardScheme<RowMutation> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, RowMutation 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: // TABLE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.table = iprot.readString();
+              struct.setTableIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // ROW_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.rowId = iprot.readString();
+              struct.setRowIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // WAL
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.wal = iprot.readBool();
+              struct.setWalIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // ROW_MUTATION_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.rowMutationType = RowMutationType.findByValue(iprot.readI32());
+              struct.setRowMutationTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // RECORD_MUTATIONS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list84 = iprot.readListBegin();
+                struct.recordMutations = new ArrayList<RecordMutation>(_list84.size);
+                for (int _i85 = 0; _i85 < _list84.size; ++_i85)
+                {
+                  RecordMutation _elem86; // required
+                  _elem86 = new RecordMutation();
+                  _elem86.read(iprot);
+                  struct.recordMutations.add(_elem86);
+                }
+                iprot.readListEnd();
+              }
+              struct.setRecordMutationsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // WAIT_TO_BE_VISIBLE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.waitToBeVisible = iprot.readBool();
+              struct.setWaitToBeVisibleIsSet(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, RowMutation struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.table != null) {
+        oprot.writeFieldBegin(TABLE_FIELD_DESC);
+        oprot.writeString(struct.table);
+        oprot.writeFieldEnd();
+      }
+      if (struct.rowId != null) {
+        oprot.writeFieldBegin(ROW_ID_FIELD_DESC);
+        oprot.writeString(struct.rowId);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(WAL_FIELD_DESC);
+      oprot.writeBool(struct.wal);
+      oprot.writeFieldEnd();
+      if (struct.rowMutationType != null) {
+        oprot.writeFieldBegin(ROW_MUTATION_TYPE_FIELD_DESC);
+        oprot.writeI32(struct.rowMutationType.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.recordMutations != null) {
+        oprot.writeFieldBegin(RECORD_MUTATIONS_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.recordMutations.size()));
+          for (RecordMutation _iter87 : struct.recordMutations)
+          {
+            _iter87.write(oprot);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(WAIT_TO_BE_VISIBLE_FIELD_DESC);
+      oprot.writeBool(struct.waitToBeVisible);
+      oprot.writeFieldEnd();
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class RowMutationTupleSchemeFactory implements SchemeFactory {
+    public RowMutationTupleScheme getScheme() {
+      return new RowMutationTupleScheme();
+    }
+  }
+
+  private static class RowMutationTupleScheme extends TupleScheme<RowMutation> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, RowMutation struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetTable()) {
+        optionals.set(0);
+      }
+      if (struct.isSetRowId()) {
+        optionals.set(1);
+      }
+      if (struct.isSetWal()) {
+        optionals.set(2);
+      }
+      if (struct.isSetRowMutationType()) {
+        optionals.set(3);
+      }
+      if (struct.isSetRecordMutations()) {
+        optionals.set(4);
+      }
+      if (struct.isSetWaitToBeVisible()) {
+        optionals.set(5);
+      }
+      oprot.writeBitSet(optionals, 6);
+      if (struct.isSetTable()) {
+        oprot.writeString(struct.table);
+      }
+      if (struct.isSetRowId()) {
+        oprot.writeString(struct.rowId);
+      }
+      if (struct.isSetWal()) {
+        oprot.writeBool(struct.wal);
+      }
+      if (struct.isSetRowMutationType()) {
+        oprot.writeI32(struct.rowMutationType.getValue());
+      }
+      if (struct.isSetRecordMutations()) {
+        {
+          oprot.writeI32(struct.recordMutations.size());
+          for (RecordMutation _iter88 : struct.recordMutations)
+          {
+            _iter88.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetWaitToBeVisible()) {
+        oprot.writeBool(struct.waitToBeVisible);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, RowMutation struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(6);
+      if (incoming.get(0)) {
+        struct.table = iprot.readString();
+        struct.setTableIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.rowId = iprot.readString();
+        struct.setRowIdIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.wal = iprot.readBool();
+        struct.setWalIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.rowMutationType = RowMutationType.findByValue(iprot.readI32());
+        struct.setRowMutationTypeIsSet(true);
+      }
+      if (incoming.get(4)) {
+        {
+          org.apache.thrift.protocol.TList _list89 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.recordMutations = new ArrayList<RecordMutation>(_list89.size);
+          for (int _i90 = 0; _i90 < _list89.size; ++_i90)
+          {
+            RecordMutation _elem91; // required
+            _elem91 = new RecordMutation();
+            _elem91.read(iprot);
+            struct.recordMutations.add(_elem91);
+          }
+        }
+        struct.setRecordMutationsIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.waitToBeVisible = iprot.readBool();
+        struct.setWaitToBeVisibleIsSet(true);
+      }
+    }
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1befa5f5/interface/gen-java/org/apache/blur/thrift/generated/RowMutationType.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/RowMutationType.java b/interface/gen-java/org/apache/blur/thrift/generated/RowMutationType.java
index 74e3f5c..a052094 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/RowMutationType.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/RowMutationType.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.blur.thrift.generated;
 


Mime
View raw message