You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2012/11/08 10:44:29 UTC

svn commit: r1406984 [10/29] - in /hive/trunk: contrib/src/java/org/apache/hadoop/hive/contrib/genericudf/example/ contrib/src/java/org/apache/hadoop/hive/contrib/serde2/ contrib/src/java/org/apache/hadoop/hive/contrib/util/typedbytes/ contrib/src/test...

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java?rev=1406984&r1=1406983&r2=1406984&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java Thu Nov  8 09:44:19 2012
@@ -1,11 +1,21 @@
 /**
- * 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.hadoop.hive.metastore.api;
 
 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;
@@ -28,6 +38,12 @@ public class SkewedInfo implements org.a
   private static final org.apache.thrift.protocol.TField SKEWED_COL_VALUES_FIELD_DESC = new org.apache.thrift.protocol.TField("skewedColValues", org.apache.thrift.protocol.TType.LIST, (short)2);
   private static final org.apache.thrift.protocol.TField SKEWED_COL_VALUE_LOCATION_MAPS_FIELD_DESC = new org.apache.thrift.protocol.TField("skewedColValueLocationMaps", org.apache.thrift.protocol.TType.MAP, (short)3);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new SkewedInfoStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new SkewedInfoTupleSchemeFactory());
+  }
+
   private List<String> skewedColNames; // required
   private List<List<String>> skewedColValues; // required
   private Map<List<String>,String> skewedColValueLocationMaps; // required
@@ -97,7 +113,6 @@ public class SkewedInfo implements org.a
   }
 
   // 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);
@@ -466,154 +481,11 @@ public class SkewedInfo implements org.a
   }
 
   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: // SKEWED_COL_NAMES
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list49 = iprot.readListBegin();
-              this.skewedColNames = new ArrayList<String>(_list49.size);
-              for (int _i50 = 0; _i50 < _list49.size; ++_i50)
-              {
-                String _elem51; // required
-                _elem51 = iprot.readString();
-                this.skewedColNames.add(_elem51);
-              }
-              iprot.readListEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // SKEWED_COL_VALUES
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list52 = iprot.readListBegin();
-              this.skewedColValues = new ArrayList<List<String>>(_list52.size);
-              for (int _i53 = 0; _i53 < _list52.size; ++_i53)
-              {
-                List<String> _elem54; // required
-                {
-                  org.apache.thrift.protocol.TList _list55 = iprot.readListBegin();
-                  _elem54 = new ArrayList<String>(_list55.size);
-                  for (int _i56 = 0; _i56 < _list55.size; ++_i56)
-                  {
-                    String _elem57; // required
-                    _elem57 = iprot.readString();
-                    _elem54.add(_elem57);
-                  }
-                  iprot.readListEnd();
-                }
-                this.skewedColValues.add(_elem54);
-              }
-              iprot.readListEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // SKEWED_COL_VALUE_LOCATION_MAPS
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map58 = iprot.readMapBegin();
-              this.skewedColValueLocationMaps = new HashMap<List<String>,String>(2*_map58.size);
-              for (int _i59 = 0; _i59 < _map58.size; ++_i59)
-              {
-                List<String> _key60; // required
-                String _val61; // required
-                {
-                  org.apache.thrift.protocol.TList _list62 = iprot.readListBegin();
-                  _key60 = new ArrayList<String>(_list62.size);
-                  for (int _i63 = 0; _i63 < _list62.size; ++_i63)
-                  {
-                    String _elem64; // required
-                    _elem64 = iprot.readString();
-                    _key60.add(_elem64);
-                  }
-                  iprot.readListEnd();
-                }
-                _val61 = iprot.readString();
-                this.skewedColValueLocationMaps.put(_key60, _val61);
-              }
-              iprot.readMapEnd();
-            }
-          } 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();
-    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.skewedColNames != null) {
-      oprot.writeFieldBegin(SKEWED_COL_NAMES_FIELD_DESC);
-      {
-        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.skewedColNames.size()));
-        for (String _iter65 : this.skewedColNames)
-        {
-          oprot.writeString(_iter65);
-        }
-        oprot.writeListEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    if (this.skewedColValues != null) {
-      oprot.writeFieldBegin(SKEWED_COL_VALUES_FIELD_DESC);
-      {
-        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.LIST, this.skewedColValues.size()));
-        for (List<String> _iter66 : this.skewedColValues)
-        {
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter66.size()));
-            for (String _iter67 : _iter66)
-            {
-              oprot.writeString(_iter67);
-            }
-            oprot.writeListEnd();
-          }
-        }
-        oprot.writeListEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    if (this.skewedColValueLocationMaps != null) {
-      oprot.writeFieldBegin(SKEWED_COL_VALUE_LOCATION_MAPS_FIELD_DESC);
-      {
-        oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.LIST, org.apache.thrift.protocol.TType.STRING, this.skewedColValueLocationMaps.size()));
-        for (Map.Entry<List<String>, String> _iter68 : this.skewedColValueLocationMaps.entrySet())
-        {
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter68.getKey().size()));
-            for (String _iter69 : _iter68.getKey())
-            {
-              oprot.writeString(_iter69);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeString(_iter68.getValue());
-        }
-        oprot.writeMapEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -650,6 +522,7 @@ public class SkewedInfo implements org.a
 
   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 {
@@ -668,5 +541,299 @@ public class SkewedInfo implements org.a
     }
   }
 
+  private static class SkewedInfoStandardSchemeFactory implements SchemeFactory {
+    public SkewedInfoStandardScheme getScheme() {
+      return new SkewedInfoStandardScheme();
+    }
+  }
+
+  private static class SkewedInfoStandardScheme extends StandardScheme<SkewedInfo> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, SkewedInfo 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: // SKEWED_COL_NAMES
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list98 = iprot.readListBegin();
+                struct.skewedColNames = new ArrayList<String>(_list98.size);
+                for (int _i99 = 0; _i99 < _list98.size; ++_i99)
+                {
+                  String _elem100; // required
+                  _elem100 = iprot.readString();
+                  struct.skewedColNames.add(_elem100);
+                }
+                iprot.readListEnd();
+              }
+              struct.setSkewedColNamesIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // SKEWED_COL_VALUES
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list101 = iprot.readListBegin();
+                struct.skewedColValues = new ArrayList<List<String>>(_list101.size);
+                for (int _i102 = 0; _i102 < _list101.size; ++_i102)
+                {
+                  List<String> _elem103; // required
+                  {
+                    org.apache.thrift.protocol.TList _list104 = iprot.readListBegin();
+                    _elem103 = new ArrayList<String>(_list104.size);
+                    for (int _i105 = 0; _i105 < _list104.size; ++_i105)
+                    {
+                      String _elem106; // required
+                      _elem106 = iprot.readString();
+                      _elem103.add(_elem106);
+                    }
+                    iprot.readListEnd();
+                  }
+                  struct.skewedColValues.add(_elem103);
+                }
+                iprot.readListEnd();
+              }
+              struct.setSkewedColValuesIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // SKEWED_COL_VALUE_LOCATION_MAPS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map107 = iprot.readMapBegin();
+                struct.skewedColValueLocationMaps = new HashMap<List<String>,String>(2*_map107.size);
+                for (int _i108 = 0; _i108 < _map107.size; ++_i108)
+                {
+                  List<String> _key109; // required
+                  String _val110; // required
+                  {
+                    org.apache.thrift.protocol.TList _list111 = iprot.readListBegin();
+                    _key109 = new ArrayList<String>(_list111.size);
+                    for (int _i112 = 0; _i112 < _list111.size; ++_i112)
+                    {
+                      String _elem113; // required
+                      _elem113 = iprot.readString();
+                      _key109.add(_elem113);
+                    }
+                    iprot.readListEnd();
+                  }
+                  _val110 = iprot.readString();
+                  struct.skewedColValueLocationMaps.put(_key109, _val110);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setSkewedColValueLocationMapsIsSet(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();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, SkewedInfo struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.skewedColNames != null) {
+        oprot.writeFieldBegin(SKEWED_COL_NAMES_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.skewedColNames.size()));
+          for (String _iter114 : struct.skewedColNames)
+          {
+            oprot.writeString(_iter114);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.skewedColValues != null) {
+        oprot.writeFieldBegin(SKEWED_COL_VALUES_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.LIST, struct.skewedColValues.size()));
+          for (List<String> _iter115 : struct.skewedColValues)
+          {
+            {
+              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter115.size()));
+              for (String _iter116 : _iter115)
+              {
+                oprot.writeString(_iter116);
+              }
+              oprot.writeListEnd();
+            }
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.skewedColValueLocationMaps != null) {
+        oprot.writeFieldBegin(SKEWED_COL_VALUE_LOCATION_MAPS_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.LIST, org.apache.thrift.protocol.TType.STRING, struct.skewedColValueLocationMaps.size()));
+          for (Map.Entry<List<String>, String> _iter117 : struct.skewedColValueLocationMaps.entrySet())
+          {
+            {
+              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter117.getKey().size()));
+              for (String _iter118 : _iter117.getKey())
+              {
+                oprot.writeString(_iter118);
+              }
+              oprot.writeListEnd();
+            }
+            oprot.writeString(_iter117.getValue());
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class SkewedInfoTupleSchemeFactory implements SchemeFactory {
+    public SkewedInfoTupleScheme getScheme() {
+      return new SkewedInfoTupleScheme();
+    }
+  }
+
+  private static class SkewedInfoTupleScheme extends TupleScheme<SkewedInfo> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, SkewedInfo struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetSkewedColNames()) {
+        optionals.set(0);
+      }
+      if (struct.isSetSkewedColValues()) {
+        optionals.set(1);
+      }
+      if (struct.isSetSkewedColValueLocationMaps()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetSkewedColNames()) {
+        {
+          oprot.writeI32(struct.skewedColNames.size());
+          for (String _iter119 : struct.skewedColNames)
+          {
+            oprot.writeString(_iter119);
+          }
+        }
+      }
+      if (struct.isSetSkewedColValues()) {
+        {
+          oprot.writeI32(struct.skewedColValues.size());
+          for (List<String> _iter120 : struct.skewedColValues)
+          {
+            {
+              oprot.writeI32(_iter120.size());
+              for (String _iter121 : _iter120)
+              {
+                oprot.writeString(_iter121);
+              }
+            }
+          }
+        }
+      }
+      if (struct.isSetSkewedColValueLocationMaps()) {
+        {
+          oprot.writeI32(struct.skewedColValueLocationMaps.size());
+          for (Map.Entry<List<String>, String> _iter122 : struct.skewedColValueLocationMaps.entrySet())
+          {
+            {
+              oprot.writeI32(_iter122.getKey().size());
+              for (String _iter123 : _iter122.getKey())
+              {
+                oprot.writeString(_iter123);
+              }
+            }
+            oprot.writeString(_iter122.getValue());
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, SkewedInfo struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TList _list124 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.skewedColNames = new ArrayList<String>(_list124.size);
+          for (int _i125 = 0; _i125 < _list124.size; ++_i125)
+          {
+            String _elem126; // required
+            _elem126 = iprot.readString();
+            struct.skewedColNames.add(_elem126);
+          }
+        }
+        struct.setSkewedColNamesIsSet(true);
+      }
+      if (incoming.get(1)) {
+        {
+          org.apache.thrift.protocol.TList _list127 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.LIST, iprot.readI32());
+          struct.skewedColValues = new ArrayList<List<String>>(_list127.size);
+          for (int _i128 = 0; _i128 < _list127.size; ++_i128)
+          {
+            List<String> _elem129; // required
+            {
+              org.apache.thrift.protocol.TList _list130 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+              _elem129 = new ArrayList<String>(_list130.size);
+              for (int _i131 = 0; _i131 < _list130.size; ++_i131)
+              {
+                String _elem132; // required
+                _elem132 = iprot.readString();
+                _elem129.add(_elem132);
+              }
+            }
+            struct.skewedColValues.add(_elem129);
+          }
+        }
+        struct.setSkewedColValuesIsSet(true);
+      }
+      if (incoming.get(2)) {
+        {
+          org.apache.thrift.protocol.TMap _map133 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.LIST, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.skewedColValueLocationMaps = new HashMap<List<String>,String>(2*_map133.size);
+          for (int _i134 = 0; _i134 < _map133.size; ++_i134)
+          {
+            List<String> _key135; // required
+            String _val136; // required
+            {
+              org.apache.thrift.protocol.TList _list137 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+              _key135 = new ArrayList<String>(_list137.size);
+              for (int _i138 = 0; _i138 < _list137.size; ++_i138)
+              {
+                String _elem139; // required
+                _elem139 = iprot.readString();
+                _key135.add(_elem139);
+              }
+            }
+            _val136 = iprot.readString();
+            struct.skewedColValueLocationMaps.put(_key135, _val136);
+          }
+        }
+        struct.setSkewedColValueLocationMapsIsSet(true);
+      }
+    }
+  }
+
 }
 

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java?rev=1406984&r1=1406983&r2=1406984&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java Thu Nov  8 09:44:19 2012
@@ -1,11 +1,21 @@
 /**
- * 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.hadoop.hive.metastore.api;
 
 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;
@@ -36,6 +46,12 @@ public class StorageDescriptor implement
   private static final org.apache.thrift.protocol.TField PARAMETERS_FIELD_DESC = new org.apache.thrift.protocol.TField("parameters", org.apache.thrift.protocol.TType.MAP, (short)10);
   private static final org.apache.thrift.protocol.TField SKEWED_INFO_FIELD_DESC = new org.apache.thrift.protocol.TField("skewedInfo", org.apache.thrift.protocol.TType.STRUCT, (short)11);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new StorageDescriptorStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new StorageDescriptorTupleSchemeFactory());
+  }
+
   private List<FieldSchema> cols; // required
   private String location; // required
   private String inputFormat; // required
@@ -46,7 +62,7 @@ public class StorageDescriptor implement
   private List<String> bucketCols; // required
   private List<Order> sortCols; // required
   private Map<String,String> parameters; // required
-  private SkewedInfo skewedInfo; // required
+  private SkewedInfo skewedInfo; // 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 {
@@ -139,8 +155,8 @@ public class StorageDescriptor implement
   // isset id assignments
   private static final int __COMPRESSED_ISSET_ID = 0;
   private static final int __NUMBUCKETS_ISSET_ID = 1;
-  private BitSet __isset_bit_vector = new BitSet(2);
-
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.SKEWED_INFO};
   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);
@@ -209,8 +225,7 @@ public class StorageDescriptor implement
    * Performs a deep copy on <i>other</i>.
    */
   public StorageDescriptor(StorageDescriptor other) {
-    __isset_bit_vector.clear();
-    __isset_bit_vector.or(other.__isset_bit_vector);
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetCols()) {
       List<FieldSchema> __this__cols = new ArrayList<FieldSchema>();
       for (FieldSchema other_element : other.cols) {
@@ -404,16 +419,16 @@ public class StorageDescriptor implement
   }
 
   public void unsetCompressed() {
-    __isset_bit_vector.clear(__COMPRESSED_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __COMPRESSED_ISSET_ID);
   }
 
   /** Returns true if field compressed is set (has been assigned a value) and false otherwise */
   public boolean isSetCompressed() {
-    return __isset_bit_vector.get(__COMPRESSED_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __COMPRESSED_ISSET_ID);
   }
 
   public void setCompressedIsSet(boolean value) {
-    __isset_bit_vector.set(__COMPRESSED_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __COMPRESSED_ISSET_ID, value);
   }
 
   public int getNumBuckets() {
@@ -426,16 +441,16 @@ public class StorageDescriptor implement
   }
 
   public void unsetNumBuckets() {
-    __isset_bit_vector.clear(__NUMBUCKETS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMBUCKETS_ISSET_ID);
   }
 
   /** Returns true if field numBuckets is set (has been assigned a value) and false otherwise */
   public boolean isSetNumBuckets() {
-    return __isset_bit_vector.get(__NUMBUCKETS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __NUMBUCKETS_ISSET_ID);
   }
 
   public void setNumBucketsIsSet(boolean value) {
-    __isset_bit_vector.set(__NUMBUCKETS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMBUCKETS_ISSET_ID, value);
   }
 
   public SerDeInfo getSerdeInfo() {
@@ -1062,237 +1077,11 @@ public class StorageDescriptor implement
   }
 
   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: // COLS
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list70 = iprot.readListBegin();
-              this.cols = new ArrayList<FieldSchema>(_list70.size);
-              for (int _i71 = 0; _i71 < _list70.size; ++_i71)
-              {
-                FieldSchema _elem72; // required
-                _elem72 = new FieldSchema();
-                _elem72.read(iprot);
-                this.cols.add(_elem72);
-              }
-              iprot.readListEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // LOCATION
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.location = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // INPUT_FORMAT
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.inputFormat = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 4: // OUTPUT_FORMAT
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.outputFormat = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 5: // COMPRESSED
-          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
-            this.compressed = iprot.readBool();
-            setCompressedIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 6: // NUM_BUCKETS
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.numBuckets = iprot.readI32();
-            setNumBucketsIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 7: // SERDE_INFO
-          if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
-            this.serdeInfo = new SerDeInfo();
-            this.serdeInfo.read(iprot);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 8: // BUCKET_COLS
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list73 = iprot.readListBegin();
-              this.bucketCols = new ArrayList<String>(_list73.size);
-              for (int _i74 = 0; _i74 < _list73.size; ++_i74)
-              {
-                String _elem75; // required
-                _elem75 = iprot.readString();
-                this.bucketCols.add(_elem75);
-              }
-              iprot.readListEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 9: // SORT_COLS
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list76 = iprot.readListBegin();
-              this.sortCols = new ArrayList<Order>(_list76.size);
-              for (int _i77 = 0; _i77 < _list76.size; ++_i77)
-              {
-                Order _elem78; // required
-                _elem78 = new Order();
-                _elem78.read(iprot);
-                this.sortCols.add(_elem78);
-              }
-              iprot.readListEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 10: // PARAMETERS
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map79 = iprot.readMapBegin();
-              this.parameters = new HashMap<String,String>(2*_map79.size);
-              for (int _i80 = 0; _i80 < _map79.size; ++_i80)
-              {
-                String _key81; // required
-                String _val82; // required
-                _key81 = iprot.readString();
-                _val82 = iprot.readString();
-                this.parameters.put(_key81, _val82);
-              }
-              iprot.readMapEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 11: // SKEWED_INFO
-          if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
-            this.skewedInfo = new SkewedInfo();
-            this.skewedInfo.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();
-    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.cols != null) {
-      oprot.writeFieldBegin(COLS_FIELD_DESC);
-      {
-        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.cols.size()));
-        for (FieldSchema _iter83 : this.cols)
-        {
-          _iter83.write(oprot);
-        }
-        oprot.writeListEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    if (this.location != null) {
-      oprot.writeFieldBegin(LOCATION_FIELD_DESC);
-      oprot.writeString(this.location);
-      oprot.writeFieldEnd();
-    }
-    if (this.inputFormat != null) {
-      oprot.writeFieldBegin(INPUT_FORMAT_FIELD_DESC);
-      oprot.writeString(this.inputFormat);
-      oprot.writeFieldEnd();
-    }
-    if (this.outputFormat != null) {
-      oprot.writeFieldBegin(OUTPUT_FORMAT_FIELD_DESC);
-      oprot.writeString(this.outputFormat);
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldBegin(COMPRESSED_FIELD_DESC);
-    oprot.writeBool(this.compressed);
-    oprot.writeFieldEnd();
-    oprot.writeFieldBegin(NUM_BUCKETS_FIELD_DESC);
-    oprot.writeI32(this.numBuckets);
-    oprot.writeFieldEnd();
-    if (this.serdeInfo != null) {
-      oprot.writeFieldBegin(SERDE_INFO_FIELD_DESC);
-      this.serdeInfo.write(oprot);
-      oprot.writeFieldEnd();
-    }
-    if (this.bucketCols != null) {
-      oprot.writeFieldBegin(BUCKET_COLS_FIELD_DESC);
-      {
-        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.bucketCols.size()));
-        for (String _iter84 : this.bucketCols)
-        {
-          oprot.writeString(_iter84);
-        }
-        oprot.writeListEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    if (this.sortCols != null) {
-      oprot.writeFieldBegin(SORT_COLS_FIELD_DESC);
-      {
-        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.sortCols.size()));
-        for (Order _iter85 : this.sortCols)
-        {
-          _iter85.write(oprot);
-        }
-        oprot.writeListEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    if (this.parameters != null) {
-      oprot.writeFieldBegin(PARAMETERS_FIELD_DESC);
-      {
-        oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.parameters.size()));
-        for (Map.Entry<String, String> _iter86 : this.parameters.entrySet())
-        {
-          oprot.writeString(_iter86.getKey());
-          oprot.writeString(_iter86.getValue());
-        }
-        oprot.writeMapEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    if (this.skewedInfo != null) {
-      if (isSetSkewedInfo()) {
-        oprot.writeFieldBegin(SKEWED_INFO_FIELD_DESC);
-        this.skewedInfo.write(oprot);
-        oprot.writeFieldEnd();
-      }
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -1387,6 +1176,13 @@ public class StorageDescriptor implement
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
+    // check for sub-struct validity
+    if (serdeInfo != null) {
+      serdeInfo.validate();
+    }
+    if (skewedInfo != null) {
+      skewedInfo.validate();
+    }
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -1400,12 +1196,464 @@ public class StorageDescriptor implement
   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 StorageDescriptorStandardSchemeFactory implements SchemeFactory {
+    public StorageDescriptorStandardScheme getScheme() {
+      return new StorageDescriptorStandardScheme();
+    }
+  }
+
+  private static class StorageDescriptorStandardScheme extends StandardScheme<StorageDescriptor> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, StorageDescriptor 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: // COLS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list140 = iprot.readListBegin();
+                struct.cols = new ArrayList<FieldSchema>(_list140.size);
+                for (int _i141 = 0; _i141 < _list140.size; ++_i141)
+                {
+                  FieldSchema _elem142; // required
+                  _elem142 = new FieldSchema();
+                  _elem142.read(iprot);
+                  struct.cols.add(_elem142);
+                }
+                iprot.readListEnd();
+              }
+              struct.setColsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // LOCATION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.location = iprot.readString();
+              struct.setLocationIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // INPUT_FORMAT
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.inputFormat = iprot.readString();
+              struct.setInputFormatIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // OUTPUT_FORMAT
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.outputFormat = iprot.readString();
+              struct.setOutputFormatIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // COMPRESSED
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.compressed = iprot.readBool();
+              struct.setCompressedIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // NUM_BUCKETS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.numBuckets = iprot.readI32();
+              struct.setNumBucketsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // SERDE_INFO
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.serdeInfo = new SerDeInfo();
+              struct.serdeInfo.read(iprot);
+              struct.setSerdeInfoIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // BUCKET_COLS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list143 = iprot.readListBegin();
+                struct.bucketCols = new ArrayList<String>(_list143.size);
+                for (int _i144 = 0; _i144 < _list143.size; ++_i144)
+                {
+                  String _elem145; // required
+                  _elem145 = iprot.readString();
+                  struct.bucketCols.add(_elem145);
+                }
+                iprot.readListEnd();
+              }
+              struct.setBucketColsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // SORT_COLS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list146 = iprot.readListBegin();
+                struct.sortCols = new ArrayList<Order>(_list146.size);
+                for (int _i147 = 0; _i147 < _list146.size; ++_i147)
+                {
+                  Order _elem148; // required
+                  _elem148 = new Order();
+                  _elem148.read(iprot);
+                  struct.sortCols.add(_elem148);
+                }
+                iprot.readListEnd();
+              }
+              struct.setSortColsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // PARAMETERS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map149 = iprot.readMapBegin();
+                struct.parameters = new HashMap<String,String>(2*_map149.size);
+                for (int _i150 = 0; _i150 < _map149.size; ++_i150)
+                {
+                  String _key151; // required
+                  String _val152; // required
+                  _key151 = iprot.readString();
+                  _val152 = iprot.readString();
+                  struct.parameters.put(_key151, _val152);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setParametersIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // SKEWED_INFO
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.skewedInfo = new SkewedInfo();
+              struct.skewedInfo.read(iprot);
+              struct.setSkewedInfoIsSet(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();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, StorageDescriptor struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.cols != null) {
+        oprot.writeFieldBegin(COLS_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.cols.size()));
+          for (FieldSchema _iter153 : struct.cols)
+          {
+            _iter153.write(oprot);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.location != null) {
+        oprot.writeFieldBegin(LOCATION_FIELD_DESC);
+        oprot.writeString(struct.location);
+        oprot.writeFieldEnd();
+      }
+      if (struct.inputFormat != null) {
+        oprot.writeFieldBegin(INPUT_FORMAT_FIELD_DESC);
+        oprot.writeString(struct.inputFormat);
+        oprot.writeFieldEnd();
+      }
+      if (struct.outputFormat != null) {
+        oprot.writeFieldBegin(OUTPUT_FORMAT_FIELD_DESC);
+        oprot.writeString(struct.outputFormat);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(COMPRESSED_FIELD_DESC);
+      oprot.writeBool(struct.compressed);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(NUM_BUCKETS_FIELD_DESC);
+      oprot.writeI32(struct.numBuckets);
+      oprot.writeFieldEnd();
+      if (struct.serdeInfo != null) {
+        oprot.writeFieldBegin(SERDE_INFO_FIELD_DESC);
+        struct.serdeInfo.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      if (struct.bucketCols != null) {
+        oprot.writeFieldBegin(BUCKET_COLS_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.bucketCols.size()));
+          for (String _iter154 : struct.bucketCols)
+          {
+            oprot.writeString(_iter154);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.sortCols != null) {
+        oprot.writeFieldBegin(SORT_COLS_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.sortCols.size()));
+          for (Order _iter155 : struct.sortCols)
+          {
+            _iter155.write(oprot);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.parameters != null) {
+        oprot.writeFieldBegin(PARAMETERS_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.parameters.size()));
+          for (Map.Entry<String, String> _iter156 : struct.parameters.entrySet())
+          {
+            oprot.writeString(_iter156.getKey());
+            oprot.writeString(_iter156.getValue());
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.skewedInfo != null) {
+        if (struct.isSetSkewedInfo()) {
+          oprot.writeFieldBegin(SKEWED_INFO_FIELD_DESC);
+          struct.skewedInfo.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class StorageDescriptorTupleSchemeFactory implements SchemeFactory {
+    public StorageDescriptorTupleScheme getScheme() {
+      return new StorageDescriptorTupleScheme();
+    }
+  }
+
+  private static class StorageDescriptorTupleScheme extends TupleScheme<StorageDescriptor> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, StorageDescriptor struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetCols()) {
+        optionals.set(0);
+      }
+      if (struct.isSetLocation()) {
+        optionals.set(1);
+      }
+      if (struct.isSetInputFormat()) {
+        optionals.set(2);
+      }
+      if (struct.isSetOutputFormat()) {
+        optionals.set(3);
+      }
+      if (struct.isSetCompressed()) {
+        optionals.set(4);
+      }
+      if (struct.isSetNumBuckets()) {
+        optionals.set(5);
+      }
+      if (struct.isSetSerdeInfo()) {
+        optionals.set(6);
+      }
+      if (struct.isSetBucketCols()) {
+        optionals.set(7);
+      }
+      if (struct.isSetSortCols()) {
+        optionals.set(8);
+      }
+      if (struct.isSetParameters()) {
+        optionals.set(9);
+      }
+      if (struct.isSetSkewedInfo()) {
+        optionals.set(10);
+      }
+      oprot.writeBitSet(optionals, 11);
+      if (struct.isSetCols()) {
+        {
+          oprot.writeI32(struct.cols.size());
+          for (FieldSchema _iter157 : struct.cols)
+          {
+            _iter157.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetLocation()) {
+        oprot.writeString(struct.location);
+      }
+      if (struct.isSetInputFormat()) {
+        oprot.writeString(struct.inputFormat);
+      }
+      if (struct.isSetOutputFormat()) {
+        oprot.writeString(struct.outputFormat);
+      }
+      if (struct.isSetCompressed()) {
+        oprot.writeBool(struct.compressed);
+      }
+      if (struct.isSetNumBuckets()) {
+        oprot.writeI32(struct.numBuckets);
+      }
+      if (struct.isSetSerdeInfo()) {
+        struct.serdeInfo.write(oprot);
+      }
+      if (struct.isSetBucketCols()) {
+        {
+          oprot.writeI32(struct.bucketCols.size());
+          for (String _iter158 : struct.bucketCols)
+          {
+            oprot.writeString(_iter158);
+          }
+        }
+      }
+      if (struct.isSetSortCols()) {
+        {
+          oprot.writeI32(struct.sortCols.size());
+          for (Order _iter159 : struct.sortCols)
+          {
+            _iter159.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetParameters()) {
+        {
+          oprot.writeI32(struct.parameters.size());
+          for (Map.Entry<String, String> _iter160 : struct.parameters.entrySet())
+          {
+            oprot.writeString(_iter160.getKey());
+            oprot.writeString(_iter160.getValue());
+          }
+        }
+      }
+      if (struct.isSetSkewedInfo()) {
+        struct.skewedInfo.write(oprot);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, StorageDescriptor struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(11);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TList _list161 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.cols = new ArrayList<FieldSchema>(_list161.size);
+          for (int _i162 = 0; _i162 < _list161.size; ++_i162)
+          {
+            FieldSchema _elem163; // required
+            _elem163 = new FieldSchema();
+            _elem163.read(iprot);
+            struct.cols.add(_elem163);
+          }
+        }
+        struct.setColsIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.location = iprot.readString();
+        struct.setLocationIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.inputFormat = iprot.readString();
+        struct.setInputFormatIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.outputFormat = iprot.readString();
+        struct.setOutputFormatIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.compressed = iprot.readBool();
+        struct.setCompressedIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.numBuckets = iprot.readI32();
+        struct.setNumBucketsIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.serdeInfo = new SerDeInfo();
+        struct.serdeInfo.read(iprot);
+        struct.setSerdeInfoIsSet(true);
+      }
+      if (incoming.get(7)) {
+        {
+          org.apache.thrift.protocol.TList _list164 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.bucketCols = new ArrayList<String>(_list164.size);
+          for (int _i165 = 0; _i165 < _list164.size; ++_i165)
+          {
+            String _elem166; // required
+            _elem166 = iprot.readString();
+            struct.bucketCols.add(_elem166);
+          }
+        }
+        struct.setBucketColsIsSet(true);
+      }
+      if (incoming.get(8)) {
+        {
+          org.apache.thrift.protocol.TList _list167 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.sortCols = new ArrayList<Order>(_list167.size);
+          for (int _i168 = 0; _i168 < _list167.size; ++_i168)
+          {
+            Order _elem169; // required
+            _elem169 = new Order();
+            _elem169.read(iprot);
+            struct.sortCols.add(_elem169);
+          }
+        }
+        struct.setSortColsIsSet(true);
+      }
+      if (incoming.get(9)) {
+        {
+          org.apache.thrift.protocol.TMap _map170 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.parameters = new HashMap<String,String>(2*_map170.size);
+          for (int _i171 = 0; _i171 < _map170.size; ++_i171)
+          {
+            String _key172; // required
+            String _val173; // required
+            _key172 = iprot.readString();
+            _val173 = iprot.readString();
+            struct.parameters.put(_key172, _val173);
+          }
+        }
+        struct.setParametersIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.skewedInfo = new SkewedInfo();
+        struct.skewedInfo.read(iprot);
+        struct.setSkewedInfoIsSet(true);
+      }
+    }
+  }
+
 }
 

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StringColumnStatsData.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StringColumnStatsData.java?rev=1406984&r1=1406983&r2=1406984&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StringColumnStatsData.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StringColumnStatsData.java Thu Nov  8 09:44:19 2012
@@ -1,11 +1,21 @@
 /**
- * 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.hadoop.hive.metastore.api;
 
 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;
@@ -29,6 +39,12 @@ public class StringColumnStatsData imple
   private static final org.apache.thrift.protocol.TField NUM_NULLS_FIELD_DESC = new org.apache.thrift.protocol.TField("numNulls", org.apache.thrift.protocol.TType.I64, (short)3);
   private static final org.apache.thrift.protocol.TField NUM_DVS_FIELD_DESC = new org.apache.thrift.protocol.TField("numDVs", org.apache.thrift.protocol.TType.I64, (short)4);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new StringColumnStatsDataStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new StringColumnStatsDataTupleSchemeFactory());
+  }
+
   private long maxColLen; // required
   private double avgColLen; // required
   private long numNulls; // required
@@ -106,8 +122,7 @@ public class StringColumnStatsData imple
   private static final int __AVGCOLLEN_ISSET_ID = 1;
   private static final int __NUMNULLS_ISSET_ID = 2;
   private static final int __NUMDVS_ISSET_ID = 3;
-  private BitSet __isset_bit_vector = new BitSet(4);
-
+  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);
@@ -147,8 +162,7 @@ public class StringColumnStatsData imple
    * Performs a deep copy on <i>other</i>.
    */
   public StringColumnStatsData(StringColumnStatsData other) {
-    __isset_bit_vector.clear();
-    __isset_bit_vector.or(other.__isset_bit_vector);
+    __isset_bitfield = other.__isset_bitfield;
     this.maxColLen = other.maxColLen;
     this.avgColLen = other.avgColLen;
     this.numNulls = other.numNulls;
@@ -181,16 +195,16 @@ public class StringColumnStatsData imple
   }
 
   public void unsetMaxColLen() {
-    __isset_bit_vector.clear(__MAXCOLLEN_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXCOLLEN_ISSET_ID);
   }
 
   /** Returns true if field maxColLen is set (has been assigned a value) and false otherwise */
   public boolean isSetMaxColLen() {
-    return __isset_bit_vector.get(__MAXCOLLEN_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __MAXCOLLEN_ISSET_ID);
   }
 
   public void setMaxColLenIsSet(boolean value) {
-    __isset_bit_vector.set(__MAXCOLLEN_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXCOLLEN_ISSET_ID, value);
   }
 
   public double getAvgColLen() {
@@ -203,16 +217,16 @@ public class StringColumnStatsData imple
   }
 
   public void unsetAvgColLen() {
-    __isset_bit_vector.clear(__AVGCOLLEN_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __AVGCOLLEN_ISSET_ID);
   }
 
   /** Returns true if field avgColLen is set (has been assigned a value) and false otherwise */
   public boolean isSetAvgColLen() {
-    return __isset_bit_vector.get(__AVGCOLLEN_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __AVGCOLLEN_ISSET_ID);
   }
 
   public void setAvgColLenIsSet(boolean value) {
-    __isset_bit_vector.set(__AVGCOLLEN_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __AVGCOLLEN_ISSET_ID, value);
   }
 
   public long getNumNulls() {
@@ -225,16 +239,16 @@ public class StringColumnStatsData imple
   }
 
   public void unsetNumNulls() {
-    __isset_bit_vector.clear(__NUMNULLS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMNULLS_ISSET_ID);
   }
 
   /** Returns true if field numNulls is set (has been assigned a value) and false otherwise */
   public boolean isSetNumNulls() {
-    return __isset_bit_vector.get(__NUMNULLS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __NUMNULLS_ISSET_ID);
   }
 
   public void setNumNullsIsSet(boolean value) {
-    __isset_bit_vector.set(__NUMNULLS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMNULLS_ISSET_ID, value);
   }
 
   public long getNumDVs() {
@@ -247,16 +261,16 @@ public class StringColumnStatsData imple
   }
 
   public void unsetNumDVs() {
-    __isset_bit_vector.clear(__NUMDVS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMDVS_ISSET_ID);
   }
 
   /** Returns true if field numDVs is set (has been assigned a value) and false otherwise */
   public boolean isSetNumDVs() {
-    return __isset_bit_vector.get(__NUMDVS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __NUMDVS_ISSET_ID);
   }
 
   public void setNumDVsIsSet(boolean value) {
-    __isset_bit_vector.set(__NUMDVS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMDVS_ISSET_ID, value);
   }
 
   public void setFieldValue(_Fields field, Object value) {
@@ -468,74 +482,11 @@ public class StringColumnStatsData imple
   }
 
   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: // MAX_COL_LEN
-          if (field.type == org.apache.thrift.protocol.TType.I64) {
-            this.maxColLen = iprot.readI64();
-            setMaxColLenIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // AVG_COL_LEN
-          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
-            this.avgColLen = iprot.readDouble();
-            setAvgColLenIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // NUM_NULLS
-          if (field.type == org.apache.thrift.protocol.TType.I64) {
-            this.numNulls = iprot.readI64();
-            setNumNullsIsSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 4: // NUM_DVS
-          if (field.type == org.apache.thrift.protocol.TType.I64) {
-            this.numDVs = iprot.readI64();
-            setNumDVsIsSet(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();
-    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);
-    oprot.writeFieldBegin(MAX_COL_LEN_FIELD_DESC);
-    oprot.writeI64(this.maxColLen);
-    oprot.writeFieldEnd();
-    oprot.writeFieldBegin(AVG_COL_LEN_FIELD_DESC);
-    oprot.writeDouble(this.avgColLen);
-    oprot.writeFieldEnd();
-    oprot.writeFieldBegin(NUM_NULLS_FIELD_DESC);
-    oprot.writeI64(this.numNulls);
-    oprot.writeFieldEnd();
-    oprot.writeFieldBegin(NUM_DVS_FIELD_DESC);
-    oprot.writeI64(this.numDVs);
-    oprot.writeFieldEnd();
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -580,6 +531,7 @@ public class StringColumnStatsData imple
       throw new org.apache.thrift.protocol.TProtocolException("Required field 'numDVs' is unset! Struct:" + toString());
     }
 
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -593,12 +545,124 @@ public class StringColumnStatsData imple
   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 StringColumnStatsDataStandardSchemeFactory implements SchemeFactory {
+    public StringColumnStatsDataStandardScheme getScheme() {
+      return new StringColumnStatsDataStandardScheme();
+    }
+  }
+
+  private static class StringColumnStatsDataStandardScheme extends StandardScheme<StringColumnStatsData> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, StringColumnStatsData 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: // MAX_COL_LEN
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.maxColLen = iprot.readI64();
+              struct.setMaxColLenIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // AVG_COL_LEN
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.avgColLen = iprot.readDouble();
+              struct.setAvgColLenIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // NUM_NULLS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.numNulls = iprot.readI64();
+              struct.setNumNullsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // NUM_DVS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.numDVs = iprot.readI64();
+              struct.setNumDVsIsSet(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();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, StringColumnStatsData struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      oprot.writeFieldBegin(MAX_COL_LEN_FIELD_DESC);
+      oprot.writeI64(struct.maxColLen);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(AVG_COL_LEN_FIELD_DESC);
+      oprot.writeDouble(struct.avgColLen);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(NUM_NULLS_FIELD_DESC);
+      oprot.writeI64(struct.numNulls);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(NUM_DVS_FIELD_DESC);
+      oprot.writeI64(struct.numDVs);
+      oprot.writeFieldEnd();
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class StringColumnStatsDataTupleSchemeFactory implements SchemeFactory {
+    public StringColumnStatsDataTupleScheme getScheme() {
+      return new StringColumnStatsDataTupleScheme();
+    }
+  }
+
+  private static class StringColumnStatsDataTupleScheme extends TupleScheme<StringColumnStatsData> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, StringColumnStatsData struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeI64(struct.maxColLen);
+      oprot.writeDouble(struct.avgColLen);
+      oprot.writeI64(struct.numNulls);
+      oprot.writeI64(struct.numDVs);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, StringColumnStatsData struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.maxColLen = iprot.readI64();
+      struct.setMaxColLenIsSet(true);
+      struct.avgColLen = iprot.readDouble();
+      struct.setAvgColLenIsSet(true);
+      struct.numNulls = iprot.readI64();
+      struct.setNumNullsIsSet(true);
+      struct.numDVs = iprot.readI64();
+      struct.setNumDVsIsSet(true);
+    }
+  }
+
 }