You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by su...@apache.org on 2015/07/17 21:53:08 UTC

[16/48] hive git commit: HIVE-9152 - Dynamic Partition Pruning [Spark Branch] (Chao Sun, reviewed by Xuefu Zhang and Chengxiang Li)

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MiniStruct.java
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MiniStruct.java b/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MiniStruct.java
index b1d3946..c94819a 100644
--- a/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MiniStruct.java
+++ b/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MiniStruct.java
@@ -1,12 +1,11 @@
 /**
- * Autogenerated by Thrift Compiler (0.9.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.hadoop.hive.serde2.thrift.test;
 
-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;
@@ -16,6 +15,8 @@ import org.apache.thrift.protocol.TTupleProtocol;
 import org.apache.thrift.protocol.TProtocolException;
 import org.apache.thrift.EncodingUtils;
 import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Map;
@@ -28,10 +29,13 @@ import java.util.Collections;
 import java.util.BitSet;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import javax.annotation.Generated;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class MiniStruct implements org.apache.thrift.TBase<MiniStruct, MiniStruct._Fields>, java.io.Serializable, Cloneable {
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+public class MiniStruct implements org.apache.thrift.TBase<MiniStruct, MiniStruct._Fields>, java.io.Serializable, Cloneable, Comparable<MiniStruct> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("MiniStruct");
 
   private static final org.apache.thrift.protocol.TField MY_STRING_FIELD_DESC = new org.apache.thrift.protocol.TField("my_string", org.apache.thrift.protocol.TType.STRING, (short)1);
@@ -112,7 +116,7 @@ public class MiniStruct implements org.apache.thrift.TBase<MiniStruct, MiniStruc
   }
 
   // isset id assignments
-  private _Fields optionals[] = {_Fields.MY_STRING,_Fields.MY_ENUM};
+  private static final _Fields optionals[] = {_Fields.MY_STRING,_Fields.MY_ENUM};
   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);
@@ -287,45 +291,45 @@ public class MiniStruct implements org.apache.thrift.TBase<MiniStruct, MiniStruc
 
   @Override
   public int hashCode() {
-    HashCodeBuilder builder = new HashCodeBuilder();
+    List<Object> list = new ArrayList<Object>();
 
     boolean present_my_string = true && (isSetMy_string());
-    builder.append(present_my_string);
+    list.add(present_my_string);
     if (present_my_string)
-      builder.append(my_string);
+      list.add(my_string);
 
     boolean present_my_enum = true && (isSetMy_enum());
-    builder.append(present_my_enum);
+    list.add(present_my_enum);
     if (present_my_enum)
-      builder.append(my_enum.getValue());
+      list.add(my_enum.getValue());
 
-    return builder.toHashCode();
+    return list.hashCode();
   }
 
+  @Override
   public int compareTo(MiniStruct other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
-    MiniStruct typedOther = (MiniStruct)other;
 
-    lastComparison = Boolean.valueOf(isSetMy_string()).compareTo(typedOther.isSetMy_string());
+    lastComparison = Boolean.valueOf(isSetMy_string()).compareTo(other.isSetMy_string());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetMy_string()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.my_string, typedOther.my_string);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.my_string, other.my_string);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetMy_enum()).compareTo(typedOther.isSetMy_enum());
+    lastComparison = Boolean.valueOf(isSetMy_enum()).compareTo(other.isSetMy_enum());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetMy_enum()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.my_enum, typedOther.my_enum);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.my_enum, other.my_enum);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -422,7 +426,7 @@ public class MiniStruct implements org.apache.thrift.TBase<MiniStruct, MiniStruc
             break;
           case 2: // MY_ENUM
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.my_enum = MyEnum.findByValue(iprot.readI32());
+              struct.my_enum = org.apache.hadoop.hive.serde2.thrift.test.MyEnum.findByValue(iprot.readI32());
               struct.setMy_enumIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -497,7 +501,7 @@ public class MiniStruct implements org.apache.thrift.TBase<MiniStruct, MiniStruc
         struct.setMy_stringIsSet(true);
       }
       if (incoming.get(1)) {
-        struct.my_enum = MyEnum.findByValue(iprot.readI32());
+        struct.my_enum = org.apache.hadoop.hive.serde2.thrift.test.MyEnum.findByValue(iprot.readI32());
         struct.setMy_enumIsSet(true);
       }
     }

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MyEnum.java
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MyEnum.java b/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MyEnum.java
index 5bda9cc..03f88c5 100644
--- a/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MyEnum.java
+++ b/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MyEnum.java
@@ -1,5 +1,5 @@
 /**
- * Autogenerated by Thrift Compiler (0.9.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/PropValueUnion.java
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/PropValueUnion.java b/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/PropValueUnion.java
index a50a508..2a70482 100644
--- a/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/PropValueUnion.java
+++ b/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/PropValueUnion.java
@@ -1,12 +1,11 @@
 /**
- * Autogenerated by Thrift Compiler (0.9.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.hadoop.hive.serde2.thrift.test;
 
-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;
@@ -16,6 +15,8 @@ import org.apache.thrift.protocol.TTupleProtocol;
 import org.apache.thrift.protocol.TProtocolException;
 import org.apache.thrift.EncodingUtils;
 import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Map;
@@ -28,9 +29,11 @@ import java.util.Collections;
 import java.util.BitSet;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import javax.annotation.Generated;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 public class PropValueUnion extends org.apache.thrift.TUnion<PropValueUnion, PropValueUnion._Fields> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PropValueUnion");
   private static final org.apache.thrift.protocol.TField INT_VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("intValue", org.apache.thrift.protocol.TType.I32, (short)1);
@@ -298,11 +301,11 @@ public class PropValueUnion extends org.apache.thrift.TUnion<PropValueUnion, Pro
             {
               org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
               lString = new ArrayList<String>(_list0.size);
-              for (int _i1 = 0; _i1 < _list0.size; ++_i1)
+              String _elem1;
+              for (int _i2 = 0; _i2 < _list0.size; ++_i2)
               {
-                String _elem2; // optional
-                _elem2 = iprot.readString();
-                lString.add(_elem2);
+                _elem1 = iprot.readString();
+                lString.add(_elem1);
               }
               iprot.readListEnd();
             }
@@ -317,13 +320,13 @@ public class PropValueUnion extends org.apache.thrift.TUnion<PropValueUnion, Pro
             {
               org.apache.thrift.protocol.TMap _map3 = iprot.readMapBegin();
               unionMStringString = new HashMap<String,String>(2*_map3.size);
-              for (int _i4 = 0; _i4 < _map3.size; ++_i4)
+              String _key4;
+              String _val5;
+              for (int _i6 = 0; _i6 < _map3.size; ++_i6)
               {
-                String _key5; // required
-                String _val6; // required
-                _key5 = iprot.readString();
-                _val6 = iprot.readString();
-                unionMStringString.put(_key5, _val6);
+                _key4 = iprot.readString();
+                _val5 = iprot.readString();
+                unionMStringString.put(_key4, _val5);
               }
               iprot.readMapEnd();
             }
@@ -336,6 +339,7 @@ public class PropValueUnion extends org.apache.thrift.TUnion<PropValueUnion, Pro
           throw new IllegalStateException("setField wasn't null, but didn't match any of the case statements!");
       }
     } else {
+      org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
       return null;
     }
   }
@@ -421,11 +425,11 @@ public class PropValueUnion extends org.apache.thrift.TUnion<PropValueUnion, Pro
           {
             org.apache.thrift.protocol.TList _list9 = iprot.readListBegin();
             lString = new ArrayList<String>(_list9.size);
-            for (int _i10 = 0; _i10 < _list9.size; ++_i10)
+            String _elem10;
+            for (int _i11 = 0; _i11 < _list9.size; ++_i11)
             {
-              String _elem11; // optional
-              _elem11 = iprot.readString();
-              lString.add(_elem11);
+              _elem10 = iprot.readString();
+              lString.add(_elem10);
             }
             iprot.readListEnd();
           }
@@ -435,13 +439,13 @@ public class PropValueUnion extends org.apache.thrift.TUnion<PropValueUnion, Pro
           {
             org.apache.thrift.protocol.TMap _map12 = iprot.readMapBegin();
             unionMStringString = new HashMap<String,String>(2*_map12.size);
-            for (int _i13 = 0; _i13 < _map12.size; ++_i13)
+            String _key13;
+            String _val14;
+            for (int _i15 = 0; _i15 < _map12.size; ++_i15)
             {
-              String _key14; // required
-              String _val15; // required
-              _key14 = iprot.readString();
-              _val15 = iprot.readString();
-              unionMStringString.put(_key14, _val15);
+              _key13 = iprot.readString();
+              _val14 = iprot.readString();
+              unionMStringString.put(_key13, _val14);
             }
             iprot.readMapEnd();
           }
@@ -695,19 +699,19 @@ public class PropValueUnion extends org.apache.thrift.TUnion<PropValueUnion, Pro
 
   @Override
   public int hashCode() {
-    HashCodeBuilder hcb = new HashCodeBuilder();
-    hcb.append(this.getClass().getName());
+    List<Object> list = new ArrayList<Object>();
+    list.add(this.getClass().getName());
     org.apache.thrift.TFieldIdEnum setField = getSetField();
     if (setField != null) {
-      hcb.append(setField.getThriftFieldId());
+      list.add(setField.getThriftFieldId());
       Object value = getFieldValue();
       if (value instanceof org.apache.thrift.TEnum) {
-        hcb.append(((org.apache.thrift.TEnum)getFieldValue()).getValue());
+        list.add(((org.apache.thrift.TEnum)getFieldValue()).getValue());
       } else {
-        hcb.append(value);
+        list.add(value);
       }
     }
-    return hcb.toHashCode();
+    return list.hashCode();
   }
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
     try {

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/SetIntString.java
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/SetIntString.java b/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/SetIntString.java
index 334d225..e3795af 100644
--- a/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/SetIntString.java
+++ b/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/SetIntString.java
@@ -1,12 +1,11 @@
 /**
- * Autogenerated by Thrift Compiler (0.9.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.hadoop.hive.serde2.thrift.test;
 
-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;
@@ -16,6 +15,8 @@ import org.apache.thrift.protocol.TTupleProtocol;
 import org.apache.thrift.protocol.TProtocolException;
 import org.apache.thrift.EncodingUtils;
 import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Map;
@@ -28,10 +29,13 @@ import java.util.Collections;
 import java.util.BitSet;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import javax.annotation.Generated;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class SetIntString implements org.apache.thrift.TBase<SetIntString, SetIntString._Fields>, java.io.Serializable, Cloneable {
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+public class SetIntString implements org.apache.thrift.TBase<SetIntString, SetIntString._Fields>, java.io.Serializable, Cloneable, Comparable<SetIntString> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SetIntString");
 
   private static final org.apache.thrift.protocol.TField S_INT_STRING_FIELD_DESC = new org.apache.thrift.protocol.TField("sIntString", org.apache.thrift.protocol.TType.SET, (short)1);
@@ -137,7 +141,7 @@ public class SetIntString implements org.apache.thrift.TBase<SetIntString, SetIn
    */
   public SetIntString(SetIntString other) {
     if (other.isSetSIntString()) {
-      Set<IntString> __this__sIntString = new HashSet<IntString>();
+      Set<IntString> __this__sIntString = new HashSet<IntString>(other.sIntString.size());
       for (IntString other_element : other.sIntString) {
         __this__sIntString.add(new IntString(other_element));
       }
@@ -303,45 +307,45 @@ public class SetIntString implements org.apache.thrift.TBase<SetIntString, SetIn
 
   @Override
   public int hashCode() {
-    HashCodeBuilder builder = new HashCodeBuilder();
+    List<Object> list = new ArrayList<Object>();
 
     boolean present_sIntString = true && (isSetSIntString());
-    builder.append(present_sIntString);
+    list.add(present_sIntString);
     if (present_sIntString)
-      builder.append(sIntString);
+      list.add(sIntString);
 
     boolean present_aString = true && (isSetAString());
-    builder.append(present_aString);
+    list.add(present_aString);
     if (present_aString)
-      builder.append(aString);
+      list.add(aString);
 
-    return builder.toHashCode();
+    return list.hashCode();
   }
 
+  @Override
   public int compareTo(SetIntString other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
-    SetIntString typedOther = (SetIntString)other;
 
-    lastComparison = Boolean.valueOf(isSetSIntString()).compareTo(typedOther.isSetSIntString());
+    lastComparison = Boolean.valueOf(isSetSIntString()).compareTo(other.isSetSIntString());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetSIntString()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sIntString, typedOther.sIntString);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sIntString, other.sIntString);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetAString()).compareTo(typedOther.isSetAString());
+    lastComparison = Boolean.valueOf(isSetAString()).compareTo(other.isSetAString());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetAString()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aString, typedOther.aString);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aString, other.aString);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -429,12 +433,12 @@ public class SetIntString implements org.apache.thrift.TBase<SetIntString, SetIn
               {
                 org.apache.thrift.protocol.TSet _set82 = iprot.readSetBegin();
                 struct.sIntString = new HashSet<IntString>(2*_set82.size);
-                for (int _i83 = 0; _i83 < _set82.size; ++_i83)
+                IntString _elem83;
+                for (int _i84 = 0; _i84 < _set82.size; ++_i84)
                 {
-                  IntString _elem84; // optional
-                  _elem84 = new IntString();
-                  _elem84.read(iprot);
-                  struct.sIntString.add(_elem84);
+                  _elem83 = new IntString();
+                  _elem83.read(iprot);
+                  struct.sIntString.add(_elem83);
                 }
                 iprot.readSetEnd();
               }
@@ -528,12 +532,12 @@ public class SetIntString implements org.apache.thrift.TBase<SetIntString, SetIn
         {
           org.apache.thrift.protocol.TSet _set87 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.sIntString = new HashSet<IntString>(2*_set87.size);
-          for (int _i88 = 0; _i88 < _set87.size; ++_i88)
+          IntString _elem88;
+          for (int _i89 = 0; _i89 < _set87.size; ++_i89)
           {
-            IntString _elem89; // optional
-            _elem89 = new IntString();
-            _elem89.read(iprot);
-            struct.sIntString.add(_elem89);
+            _elem88 = new IntString();
+            _elem88.read(iprot);
+            struct.sIntString.add(_elem88);
           }
         }
         struct.setSIntStringIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-php/Types.php
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-php/Types.php b/serde/src/gen/thrift/gen-php/Types.php
index 8c2cea6..8bb2fe3 100644
--- a/serde/src/gen/thrift/gen-php/Types.php
+++ b/serde/src/gen/thrift/gen-php/Types.php
@@ -2,7 +2,7 @@
 namespace ;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -13,12 +13,16 @@ use Thrift\Type\TMessageType;
 use Thrift\Exception\TException;
 use Thrift\Exception\TProtocolException;
 use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
 use Thrift\Exception\TApplicationException;
 
 
 class InnerStruct {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $field0 = null;
 
   public function __construct($vals=null) {
@@ -91,8 +95,17 @@ class InnerStruct {
 class ThriftTestObj {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $field1 = null;
+  /**
+   * @var string
+   */
   public $field2 = null;
+  /**
+   * @var \InnerStruct[]
+   */
   public $field3 = null;
 
   public function __construct($vals=null) {

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php b/serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php
index 653662a..2475cc8 100644
--- a/serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php
+++ b/serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php
@@ -2,7 +2,7 @@
 namespace org\apache\hadoop\hive\serde;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -13,124 +13,263 @@ use Thrift\Type\TMessageType;
 use Thrift\Exception\TException;
 use Thrift\Exception\TProtocolException;
 use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
 use Thrift\Exception\TApplicationException;
 
 
-$GLOBALS['serde_CONSTANTS']['SERIALIZATION_LIB'] = "serialization.lib";
-
-$GLOBALS['serde_CONSTANTS']['SERIALIZATION_CLASS'] = "serialization.class";
-
-$GLOBALS['serde_CONSTANTS']['SERIALIZATION_FORMAT'] = "serialization.format";
-
-$GLOBALS['serde_CONSTANTS']['SERIALIZATION_DDL'] = "serialization.ddl";
-
-$GLOBALS['serde_CONSTANTS']['SERIALIZATION_NULL_FORMAT'] = "serialization.null.format";
-
-$GLOBALS['serde_CONSTANTS']['SERIALIZATION_LAST_COLUMN_TAKES_REST'] = "serialization.last.column.takes.rest";
-
-$GLOBALS['serde_CONSTANTS']['SERIALIZATION_SORT_ORDER'] = "serialization.sort.order";
-
-$GLOBALS['serde_CONSTANTS']['SERIALIZATION_USE_JSON_OBJECTS'] = "serialization.use.json.object";
-
-$GLOBALS['serde_CONSTANTS']['SERIALIZATION_ENCODING'] = "serialization.encoding";
-
-$GLOBALS['serde_CONSTANTS']['FIELD_DELIM'] = "field.delim";
-
-$GLOBALS['serde_CONSTANTS']['COLLECTION_DELIM'] = "colelction.delim";
-
-$GLOBALS['serde_CONSTANTS']['LINE_DELIM'] = "line.delim";
-
-$GLOBALS['serde_CONSTANTS']['MAPKEY_DELIM'] = "mapkey.delim";
-
-$GLOBALS['serde_CONSTANTS']['QUOTE_CHAR'] = "quote.delim";
-
-$GLOBALS['serde_CONSTANTS']['ESCAPE_CHAR'] = "escape.delim";
-
-$GLOBALS['serde_CONSTANTS']['HEADER_COUNT'] = "skip.header.line.count";
-
-$GLOBALS['serde_CONSTANTS']['FOOTER_COUNT'] = "skip.footer.line.count";
-
-$GLOBALS['serde_CONSTANTS']['VOID_TYPE_NAME'] = "void";
-
-$GLOBALS['serde_CONSTANTS']['BOOLEAN_TYPE_NAME'] = "boolean";
-
-$GLOBALS['serde_CONSTANTS']['TINYINT_TYPE_NAME'] = "tinyint";
-
-$GLOBALS['serde_CONSTANTS']['SMALLINT_TYPE_NAME'] = "smallint";
-
-$GLOBALS['serde_CONSTANTS']['INT_TYPE_NAME'] = "int";
-
-$GLOBALS['serde_CONSTANTS']['BIGINT_TYPE_NAME'] = "bigint";
-
-$GLOBALS['serde_CONSTANTS']['FLOAT_TYPE_NAME'] = "float";
-
-$GLOBALS['serde_CONSTANTS']['DOUBLE_TYPE_NAME'] = "double";
-
-$GLOBALS['serde_CONSTANTS']['STRING_TYPE_NAME'] = "string";
-
-$GLOBALS['serde_CONSTANTS']['CHAR_TYPE_NAME'] = "char";
-
-$GLOBALS['serde_CONSTANTS']['VARCHAR_TYPE_NAME'] = "varchar";
-
-$GLOBALS['serde_CONSTANTS']['DATE_TYPE_NAME'] = "date";
-
-$GLOBALS['serde_CONSTANTS']['DATETIME_TYPE_NAME'] = "datetime";
-
-$GLOBALS['serde_CONSTANTS']['TIMESTAMP_TYPE_NAME'] = "timestamp";
-
-$GLOBALS['serde_CONSTANTS']['DECIMAL_TYPE_NAME'] = "decimal";
-
-$GLOBALS['serde_CONSTANTS']['BINARY_TYPE_NAME'] = "binary";
-
-$GLOBALS['serde_CONSTANTS']['INTERVAL_YEAR_MONTH_TYPE_NAME'] = "interval_year_month";
-
-$GLOBALS['serde_CONSTANTS']['INTERVAL_DAY_TIME_TYPE_NAME'] = "interval_day_time";
-
-$GLOBALS['serde_CONSTANTS']['LIST_TYPE_NAME'] = "array";
-
-$GLOBALS['serde_CONSTANTS']['MAP_TYPE_NAME'] = "map";
-
-$GLOBALS['serde_CONSTANTS']['STRUCT_TYPE_NAME'] = "struct";
-
-$GLOBALS['serde_CONSTANTS']['UNION_TYPE_NAME'] = "uniontype";
-
-$GLOBALS['serde_CONSTANTS']['LIST_COLUMNS'] = "columns";
-
-$GLOBALS['serde_CONSTANTS']['LIST_COLUMN_TYPES'] = "columns.types";
-
-$GLOBALS['serde_CONSTANTS']['TIMESTAMP_FORMATS'] = "timestamp.formats";
-
-$GLOBALS['serde_CONSTANTS']['PrimitiveTypes'] = array(
-  "void" => true,
-  "boolean" => true,
-  "tinyint" => true,
-  "smallint" => true,
-  "int" => true,
-  "bigint" => true,
-  "float" => true,
-  "double" => true,
-  "string" => true,
-  "varchar" => true,
-  "char" => true,
-  "date" => true,
-  "datetime" => true,
-  "timestamp" => true,
-  "interval_year_month" => true,
-  "interval_day_time" => true,
-  "decimal" => true,
-  "binary" => true,
-);
-
-$GLOBALS['serde_CONSTANTS']['CollectionTypes'] = array(
-  "array" => true,
-  "map" => true,
-);
-
-$GLOBALS['serde_CONSTANTS']['IntegralTypes'] = array(
-  "tinyint" => true,
-  "smallint" => true,
-  "int" => true,
-  "bigint" => true,
-);
+final class Constant extends \Thrift\Type\TConstant {
+  static protected $SERIALIZATION_LIB;
+  static protected $SERIALIZATION_CLASS;
+  static protected $SERIALIZATION_FORMAT;
+  static protected $SERIALIZATION_DDL;
+  static protected $SERIALIZATION_NULL_FORMAT;
+  static protected $SERIALIZATION_LAST_COLUMN_TAKES_REST;
+  static protected $SERIALIZATION_SORT_ORDER;
+  static protected $SERIALIZATION_USE_JSON_OBJECTS;
+  static protected $SERIALIZATION_ENCODING;
+  static protected $FIELD_DELIM;
+  static protected $COLLECTION_DELIM;
+  static protected $LINE_DELIM;
+  static protected $MAPKEY_DELIM;
+  static protected $QUOTE_CHAR;
+  static protected $ESCAPE_CHAR;
+  static protected $HEADER_COUNT;
+  static protected $FOOTER_COUNT;
+  static protected $VOID_TYPE_NAME;
+  static protected $BOOLEAN_TYPE_NAME;
+  static protected $TINYINT_TYPE_NAME;
+  static protected $SMALLINT_TYPE_NAME;
+  static protected $INT_TYPE_NAME;
+  static protected $BIGINT_TYPE_NAME;
+  static protected $FLOAT_TYPE_NAME;
+  static protected $DOUBLE_TYPE_NAME;
+  static protected $STRING_TYPE_NAME;
+  static protected $CHAR_TYPE_NAME;
+  static protected $VARCHAR_TYPE_NAME;
+  static protected $DATE_TYPE_NAME;
+  static protected $DATETIME_TYPE_NAME;
+  static protected $TIMESTAMP_TYPE_NAME;
+  static protected $DECIMAL_TYPE_NAME;
+  static protected $BINARY_TYPE_NAME;
+  static protected $INTERVAL_YEAR_MONTH_TYPE_NAME;
+  static protected $INTERVAL_DAY_TIME_TYPE_NAME;
+  static protected $LIST_TYPE_NAME;
+  static protected $MAP_TYPE_NAME;
+  static protected $STRUCT_TYPE_NAME;
+  static protected $UNION_TYPE_NAME;
+  static protected $LIST_COLUMNS;
+  static protected $LIST_COLUMN_TYPES;
+  static protected $TIMESTAMP_FORMATS;
+  static protected $PrimitiveTypes;
+  static protected $CollectionTypes;
+  static protected $IntegralTypes;
+
+  static protected function init_SERIALIZATION_LIB() {
+    return "serialization.lib";
+  }
+
+  static protected function init_SERIALIZATION_CLASS() {
+    return "serialization.class";
+  }
+
+  static protected function init_SERIALIZATION_FORMAT() {
+    return "serialization.format";
+  }
+
+  static protected function init_SERIALIZATION_DDL() {
+    return "serialization.ddl";
+  }
+
+  static protected function init_SERIALIZATION_NULL_FORMAT() {
+    return "serialization.null.format";
+  }
+
+  static protected function init_SERIALIZATION_LAST_COLUMN_TAKES_REST() {
+    return "serialization.last.column.takes.rest";
+  }
+
+  static protected function init_SERIALIZATION_SORT_ORDER() {
+    return "serialization.sort.order";
+  }
+
+  static protected function init_SERIALIZATION_USE_JSON_OBJECTS() {
+    return "serialization.use.json.object";
+  }
+
+  static protected function init_SERIALIZATION_ENCODING() {
+    return "serialization.encoding";
+  }
+
+  static protected function init_FIELD_DELIM() {
+    return "field.delim";
+  }
+
+  static protected function init_COLLECTION_DELIM() {
+    return "colelction.delim";
+  }
+
+  static protected function init_LINE_DELIM() {
+    return "line.delim";
+  }
+
+  static protected function init_MAPKEY_DELIM() {
+    return "mapkey.delim";
+  }
+
+  static protected function init_QUOTE_CHAR() {
+    return "quote.delim";
+  }
+
+  static protected function init_ESCAPE_CHAR() {
+    return "escape.delim";
+  }
+
+  static protected function init_HEADER_COUNT() {
+    return "skip.header.line.count";
+  }
+
+  static protected function init_FOOTER_COUNT() {
+    return "skip.footer.line.count";
+  }
+
+  static protected function init_VOID_TYPE_NAME() {
+    return "void";
+  }
+
+  static protected function init_BOOLEAN_TYPE_NAME() {
+    return "boolean";
+  }
+
+  static protected function init_TINYINT_TYPE_NAME() {
+    return "tinyint";
+  }
+
+  static protected function init_SMALLINT_TYPE_NAME() {
+    return "smallint";
+  }
+
+  static protected function init_INT_TYPE_NAME() {
+    return "int";
+  }
+
+  static protected function init_BIGINT_TYPE_NAME() {
+    return "bigint";
+  }
+
+  static protected function init_FLOAT_TYPE_NAME() {
+    return "float";
+  }
+
+  static protected function init_DOUBLE_TYPE_NAME() {
+    return "double";
+  }
+
+  static protected function init_STRING_TYPE_NAME() {
+    return "string";
+  }
+
+  static protected function init_CHAR_TYPE_NAME() {
+    return "char";
+  }
+
+  static protected function init_VARCHAR_TYPE_NAME() {
+    return "varchar";
+  }
+
+  static protected function init_DATE_TYPE_NAME() {
+    return "date";
+  }
+
+  static protected function init_DATETIME_TYPE_NAME() {
+    return "datetime";
+  }
+
+  static protected function init_TIMESTAMP_TYPE_NAME() {
+    return "timestamp";
+  }
+
+  static protected function init_DECIMAL_TYPE_NAME() {
+    return "decimal";
+  }
+
+  static protected function init_BINARY_TYPE_NAME() {
+    return "binary";
+  }
+
+  static protected function init_INTERVAL_YEAR_MONTH_TYPE_NAME() {
+    return "interval_year_month";
+  }
+
+  static protected function init_INTERVAL_DAY_TIME_TYPE_NAME() {
+    return "interval_day_time";
+  }
+
+  static protected function init_LIST_TYPE_NAME() {
+    return "array";
+  }
+
+  static protected function init_MAP_TYPE_NAME() {
+    return "map";
+  }
+
+  static protected function init_STRUCT_TYPE_NAME() {
+    return "struct";
+  }
+
+  static protected function init_UNION_TYPE_NAME() {
+    return "uniontype";
+  }
+
+  static protected function init_LIST_COLUMNS() {
+    return "columns";
+  }
+
+  static protected function init_LIST_COLUMN_TYPES() {
+    return "columns.types";
+  }
+
+  static protected function init_TIMESTAMP_FORMATS() {
+    return "timestamp.formats";
+  }
+
+  static protected function init_PrimitiveTypes() {
+    return array(
+      "void" => true,
+      "boolean" => true,
+      "tinyint" => true,
+      "smallint" => true,
+      "int" => true,
+      "bigint" => true,
+      "float" => true,
+      "double" => true,
+      "string" => true,
+      "varchar" => true,
+      "char" => true,
+      "date" => true,
+      "datetime" => true,
+      "timestamp" => true,
+      "interval_year_month" => true,
+      "interval_day_time" => true,
+      "decimal" => true,
+      "binary" => true,
+    );
+  }
+
+  static protected function init_CollectionTypes() {
+    return array(
+      "array" => true,
+      "map" => true,
+    );
+  }
+
+  static protected function init_IntegralTypes() {
+    return array(
+      "tinyint" => true,
+      "smallint" => true,
+      "int" => true,
+      "bigint" => true,
+    );
+  }
+}
 
 

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-py/complex/constants.py
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-py/complex/constants.py b/serde/src/gen/thrift/gen-py/complex/constants.py
index a236326..99717a9 100644
--- a/serde/src/gen/thrift/gen-py/complex/constants.py
+++ b/serde/src/gen/thrift/gen-py/complex/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-py/complex/ttypes.py
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-py/complex/ttypes.py b/serde/src/gen/thrift/gen-py/complex/ttypes.py
index c2748d0..7f757da 100644
--- a/serde/src/gen/thrift/gen-py/complex/ttypes.py
+++ b/serde/src/gen/thrift/gen-py/complex/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -96,7 +96,7 @@ class PropValueUnion:
       elif fid == 7:
         if ftype == TType.MAP:
           self.unionMStringString = {}
-          (_ktype7, _vtype8, _size6 ) = iprot.readMapBegin() 
+          (_ktype7, _vtype8, _size6 ) = iprot.readMapBegin()
           for _i10 in xrange(_size6):
             _key11 = iprot.readString();
             _val12 = iprot.readString();
@@ -156,6 +156,17 @@ class PropValueUnion:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.intValue)
+    value = (value * 31) ^ hash(self.longValue)
+    value = (value * 31) ^ hash(self.stringValue)
+    value = (value * 31) ^ hash(self.doubleValue)
+    value = (value * 31) ^ hash(self.flag)
+    value = (value * 31) ^ hash(self.lString)
+    value = (value * 31) ^ hash(self.unionMStringString)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -240,6 +251,13 @@ class IntString:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.myint)
+    value = (value * 31) ^ hash(self.myString)
+    value = (value * 31) ^ hash(self.underscore_int)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -345,7 +363,7 @@ class Complex:
       elif fid == 6:
         if ftype == TType.MAP:
           self.mStringString = {}
-          (_ktype35, _vtype36, _size34 ) = iprot.readMapBegin() 
+          (_ktype35, _vtype36, _size34 ) = iprot.readMapBegin()
           for _i38 in xrange(_size34):
             _key39 = iprot.readString();
             _val40 = iprot.readString();
@@ -356,15 +374,15 @@ class Complex:
       elif fid == 7:
         if ftype == TType.MAP:
           self.attributes = {}
-          (_ktype42, _vtype43, _size41 ) = iprot.readMapBegin() 
+          (_ktype42, _vtype43, _size41 ) = iprot.readMapBegin()
           for _i45 in xrange(_size41):
             _key46 = iprot.readString();
             _val47 = {}
-            (_ktype49, _vtype50, _size48 ) = iprot.readMapBegin() 
+            (_ktype49, _vtype50, _size48 ) = iprot.readMapBegin()
             for _i52 in xrange(_size48):
               _key53 = iprot.readString();
               _val54 = {}
-              (_ktype56, _vtype57, _size55 ) = iprot.readMapBegin() 
+              (_ktype56, _vtype57, _size55 ) = iprot.readMapBegin()
               for _i59 in xrange(_size55):
                 _key60 = iprot.readString();
                 _val61 = PropValueUnion()
@@ -477,6 +495,20 @@ class Complex:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.aint)
+    value = (value * 31) ^ hash(self.aString)
+    value = (value * 31) ^ hash(self.lint)
+    value = (value * 31) ^ hash(self.lString)
+    value = (value * 31) ^ hash(self.lintString)
+    value = (value * 31) ^ hash(self.mStringString)
+    value = (value * 31) ^ hash(self.attributes)
+    value = (value * 31) ^ hash(self.unionField1)
+    value = (value * 31) ^ hash(self.unionField2)
+    value = (value * 31) ^ hash(self.unionField3)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -558,6 +590,12 @@ class SetIntString:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.sIntString)
+    value = (value * 31) ^ hash(self.aString)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-py/megastruct/constants.py
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-py/megastruct/constants.py b/serde/src/gen/thrift/gen-py/megastruct/constants.py
index a236326..99717a9 100644
--- a/serde/src/gen/thrift/gen-py/megastruct/constants.py
+++ b/serde/src/gen/thrift/gen-py/megastruct/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-py/megastruct/ttypes.py
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-py/megastruct/ttypes.py b/serde/src/gen/thrift/gen-py/megastruct/ttypes.py
index de516b2..c4c5a7f 100644
--- a/serde/src/gen/thrift/gen-py/megastruct/ttypes.py
+++ b/serde/src/gen/thrift/gen-py/megastruct/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -92,6 +92,12 @@ class MiniStruct:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.my_string)
+    value = (value * 31) ^ hash(self.my_enum)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -226,7 +232,7 @@ class MegaStruct:
       elif fid == 9:
         if ftype == TType.MAP:
           self.my_string_string_map = {}
-          (_ktype1, _vtype2, _size0 ) = iprot.readMapBegin() 
+          (_ktype1, _vtype2, _size0 ) = iprot.readMapBegin()
           for _i4 in xrange(_size0):
             _key5 = iprot.readString();
             _val6 = iprot.readString();
@@ -237,7 +243,7 @@ class MegaStruct:
       elif fid == 10:
         if ftype == TType.MAP:
           self.my_string_enum_map = {}
-          (_ktype8, _vtype9, _size7 ) = iprot.readMapBegin() 
+          (_ktype8, _vtype9, _size7 ) = iprot.readMapBegin()
           for _i11 in xrange(_size7):
             _key12 = iprot.readString();
             _val13 = iprot.readI32();
@@ -248,7 +254,7 @@ class MegaStruct:
       elif fid == 11:
         if ftype == TType.MAP:
           self.my_enum_string_map = {}
-          (_ktype15, _vtype16, _size14 ) = iprot.readMapBegin() 
+          (_ktype15, _vtype16, _size14 ) = iprot.readMapBegin()
           for _i18 in xrange(_size14):
             _key19 = iprot.readI32();
             _val20 = iprot.readString();
@@ -259,7 +265,7 @@ class MegaStruct:
       elif fid == 12:
         if ftype == TType.MAP:
           self.my_enum_struct_map = {}
-          (_ktype22, _vtype23, _size21 ) = iprot.readMapBegin() 
+          (_ktype22, _vtype23, _size21 ) = iprot.readMapBegin()
           for _i25 in xrange(_size21):
             _key26 = iprot.readI32();
             _val27 = MiniStruct()
@@ -271,7 +277,7 @@ class MegaStruct:
       elif fid == 13:
         if ftype == TType.MAP:
           self.my_enum_stringlist_map = {}
-          (_ktype29, _vtype30, _size28 ) = iprot.readMapBegin() 
+          (_ktype29, _vtype30, _size28 ) = iprot.readMapBegin()
           for _i32 in xrange(_size28):
             _key33 = iprot.readI32();
             _val34 = []
@@ -287,7 +293,7 @@ class MegaStruct:
       elif fid == 14:
         if ftype == TType.MAP:
           self.my_enum_structlist_map = {}
-          (_ktype42, _vtype43, _size41 ) = iprot.readMapBegin() 
+          (_ktype42, _vtype43, _size41 ) = iprot.readMapBegin()
           for _i45 in xrange(_size41):
             _key46 = iprot.readI32();
             _val47 = []
@@ -508,6 +514,30 @@ class MegaStruct:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.my_bool)
+    value = (value * 31) ^ hash(self.my_byte)
+    value = (value * 31) ^ hash(self.my_16bit_int)
+    value = (value * 31) ^ hash(self.my_32bit_int)
+    value = (value * 31) ^ hash(self.my_64bit_int)
+    value = (value * 31) ^ hash(self.my_double)
+    value = (value * 31) ^ hash(self.my_string)
+    value = (value * 31) ^ hash(self.my_binary)
+    value = (value * 31) ^ hash(self.my_string_string_map)
+    value = (value * 31) ^ hash(self.my_string_enum_map)
+    value = (value * 31) ^ hash(self.my_enum_string_map)
+    value = (value * 31) ^ hash(self.my_enum_struct_map)
+    value = (value * 31) ^ hash(self.my_enum_stringlist_map)
+    value = (value * 31) ^ hash(self.my_enum_structlist_map)
+    value = (value * 31) ^ hash(self.my_stringlist)
+    value = (value * 31) ^ hash(self.my_structlist)
+    value = (value * 31) ^ hash(self.my_enumlist)
+    value = (value * 31) ^ hash(self.my_stringset)
+    value = (value * 31) ^ hash(self.my_enumset)
+    value = (value * 31) ^ hash(self.my_structset)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py b/serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py
index fa0edc7..27a6cdb 100644
--- a/serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py
+++ b/serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/ttypes.py
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/ttypes.py b/serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/ttypes.py
index ad3e280..daa619e 100644
--- a/serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/ttypes.py
+++ b/serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-py/testthrift/constants.py
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-py/testthrift/constants.py b/serde/src/gen/thrift/gen-py/testthrift/constants.py
index a236326..99717a9 100644
--- a/serde/src/gen/thrift/gen-py/testthrift/constants.py
+++ b/serde/src/gen/thrift/gen-py/testthrift/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-py/testthrift/ttypes.py
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-py/testthrift/ttypes.py b/serde/src/gen/thrift/gen-py/testthrift/ttypes.py
index a8b2224..1b64a7d 100644
--- a/serde/src/gen/thrift/gen-py/testthrift/ttypes.py
+++ b/serde/src/gen/thrift/gen-py/testthrift/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -66,6 +66,11 @@ class InnerStruct:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.field0)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -159,6 +164,13 @@ class ThriftTestObj:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.field1)
+    value = (value * 31) ^ hash(self.field2)
+    value = (value * 31) ^ hash(self.field3)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-rb/complex_constants.rb
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-rb/complex_constants.rb b/serde/src/gen/thrift/gen-rb/complex_constants.rb
index 00ee2e8..3df0b7a 100644
--- a/serde/src/gen/thrift/gen-rb/complex_constants.rb
+++ b/serde/src/gen/thrift/gen-rb/complex_constants.rb
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-rb/complex_types.rb
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-rb/complex_types.rb b/serde/src/gen/thrift/gen-rb/complex_types.rb
index ffbd4d7..13d981f 100644
--- a/serde/src/gen/thrift/gen-rb/complex_types.rb
+++ b/serde/src/gen/thrift/gen-rb/complex_types.rb
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-rb/megastruct_constants.rb
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-rb/megastruct_constants.rb b/serde/src/gen/thrift/gen-rb/megastruct_constants.rb
index 91193eb..6eb3f07 100644
--- a/serde/src/gen/thrift/gen-rb/megastruct_constants.rb
+++ b/serde/src/gen/thrift/gen-rb/megastruct_constants.rb
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-rb/megastruct_types.rb
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-rb/megastruct_types.rb b/serde/src/gen/thrift/gen-rb/megastruct_types.rb
index c299cf3..7d425af 100644
--- a/serde/src/gen/thrift/gen-rb/megastruct_types.rb
+++ b/serde/src/gen/thrift/gen-rb/megastruct_types.rb
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-rb/serde_constants.rb
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-rb/serde_constants.rb b/serde/src/gen/thrift/gen-rb/serde_constants.rb
index 1c893c1..2eb4754 100644
--- a/serde/src/gen/thrift/gen-rb/serde_constants.rb
+++ b/serde/src/gen/thrift/gen-rb/serde_constants.rb
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-rb/serde_types.rb
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-rb/serde_types.rb b/serde/src/gen/thrift/gen-rb/serde_types.rb
index d426047..b3143d1 100644
--- a/serde/src/gen/thrift/gen-rb/serde_types.rb
+++ b/serde/src/gen/thrift/gen-rb/serde_types.rb
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-rb/testthrift_constants.rb
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-rb/testthrift_constants.rb b/serde/src/gen/thrift/gen-rb/testthrift_constants.rb
index 13616ee..1f9473e 100644
--- a/serde/src/gen/thrift/gen-rb/testthrift_constants.rb
+++ b/serde/src/gen/thrift/gen-rb/testthrift_constants.rb
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/serde/src/gen/thrift/gen-rb/testthrift_types.rb
----------------------------------------------------------------------
diff --git a/serde/src/gen/thrift/gen-rb/testthrift_types.rb b/serde/src/gen/thrift/gen-rb/testthrift_types.rb
index 3f76ae6..80d5572 100644
--- a/serde/src/gen/thrift/gen-rb/testthrift_types.rb
+++ b/serde/src/gen/thrift/gen-rb/testthrift_types.rb
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.9.0)
+# Autogenerated by Thrift Compiler (0.9.2)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #