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:19 UTC

[27/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/metastore/src/gen/thrift/gen-py/hive_metastore/constants.py
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-py/hive_metastore/constants.py b/metastore/src/gen/thrift/gen-py/hive_metastore/constants.py
index 81f70eb..f86fda9 100644
--- a/metastore/src/gen/thrift/gen-py/hive_metastore/constants.py
+++ b/metastore/src/gen/thrift/gen-py/hive_metastore/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/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py b/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
index 6afa506..64cd4a0 100644
--- a/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
+++ b/metastore/src/gen/thrift/gen-py/hive_metastore/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
 #
@@ -275,6 +275,12 @@ class Version:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.version)
+    value = (value * 31) ^ hash(self.comments)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -359,6 +365,13 @@ class FieldSchema:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.type)
+    value = (value * 31) ^ hash(self.comment)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -464,6 +477,14 @@ class Type:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.type1)
+    value = (value * 31) ^ hash(self.type2)
+    value = (value * 31) ^ hash(self.fields)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -580,6 +601,15 @@ class HiveObjectRef:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.objectType)
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.objectName)
+    value = (value * 31) ^ hash(self.partValues)
+    value = (value * 31) ^ hash(self.columnName)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -688,6 +718,15 @@ class PrivilegeGrantInfo:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.privilege)
+    value = (value * 31) ^ hash(self.createTime)
+    value = (value * 31) ^ hash(self.grantor)
+    value = (value * 31) ^ hash(self.grantorType)
+    value = (value * 31) ^ hash(self.grantOption)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -786,6 +825,14 @@ class HiveObjectPrivilege:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.hiveObject)
+    value = (value * 31) ^ hash(self.principalName)
+    value = (value * 31) ^ hash(self.principalType)
+    value = (value * 31) ^ hash(self.grantInfo)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -855,6 +902,11 @@ class PrivilegeBag:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.privileges)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -898,7 +950,7 @@ class PrincipalPrivilegeSet:
       if fid == 1:
         if ftype == TType.MAP:
           self.userPrivileges = {}
-          (_ktype22, _vtype23, _size21 ) = iprot.readMapBegin() 
+          (_ktype22, _vtype23, _size21 ) = iprot.readMapBegin()
           for _i25 in xrange(_size21):
             _key26 = iprot.readString();
             _val27 = []
@@ -915,7 +967,7 @@ class PrincipalPrivilegeSet:
       elif fid == 2:
         if ftype == TType.MAP:
           self.groupPrivileges = {}
-          (_ktype35, _vtype36, _size34 ) = iprot.readMapBegin() 
+          (_ktype35, _vtype36, _size34 ) = iprot.readMapBegin()
           for _i38 in xrange(_size34):
             _key39 = iprot.readString();
             _val40 = []
@@ -932,7 +984,7 @@ class PrincipalPrivilegeSet:
       elif fid == 3:
         if ftype == TType.MAP:
           self.rolePrivileges = {}
-          (_ktype48, _vtype49, _size47 ) = iprot.readMapBegin() 
+          (_ktype48, _vtype49, _size47 ) = iprot.readMapBegin()
           for _i51 in xrange(_size47):
             _key52 = iprot.readString();
             _val53 = []
@@ -996,6 +1048,13 @@ class PrincipalPrivilegeSet:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.userPrivileges)
+    value = (value * 31) ^ hash(self.groupPrivileges)
+    value = (value * 31) ^ hash(self.rolePrivileges)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1081,6 +1140,13 @@ class GrantRevokePrivilegeRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.requestType)
+    value = (value * 31) ^ hash(self.privileges)
+    value = (value * 31) ^ hash(self.revokeGrantOption)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1141,6 +1207,11 @@ class GrantRevokePrivilegeResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1225,6 +1296,13 @@ class Role:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.roleName)
+    value = (value * 31) ^ hash(self.createTime)
+    value = (value * 31) ^ hash(self.ownerName)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1357,6 +1435,17 @@ class RolePrincipalGrant:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.roleName)
+    value = (value * 31) ^ hash(self.principalName)
+    value = (value * 31) ^ hash(self.principalType)
+    value = (value * 31) ^ hash(self.grantOption)
+    value = (value * 31) ^ hash(self.grantTime)
+    value = (value * 31) ^ hash(self.grantorName)
+    value = (value * 31) ^ hash(self.grantorPrincipalType)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1433,6 +1522,12 @@ class GetRoleGrantsForPrincipalRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.principal_name)
+    value = (value * 31) ^ hash(self.principal_type)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1504,6 +1599,11 @@ class GetRoleGrantsForPrincipalResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.principalGrants)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1566,6 +1666,11 @@ class GetPrincipalsInRoleRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.roleName)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1637,6 +1742,11 @@ class GetPrincipalsInRoleResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.principalGrants)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1769,6 +1879,17 @@ class GrantRevokeRoleRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.requestType)
+    value = (value * 31) ^ hash(self.roleName)
+    value = (value * 31) ^ hash(self.principalName)
+    value = (value * 31) ^ hash(self.principalType)
+    value = (value * 31) ^ hash(self.grantor)
+    value = (value * 31) ^ hash(self.grantorType)
+    value = (value * 31) ^ hash(self.grantOption)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1829,6 +1950,11 @@ class GrantRevokeRoleResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1899,7 +2025,7 @@ class Database:
       elif fid == 4:
         if ftype == TType.MAP:
           self.parameters = {}
-          (_ktype84, _vtype85, _size83 ) = iprot.readMapBegin() 
+          (_ktype84, _vtype85, _size83 ) = iprot.readMapBegin()
           for _i87 in xrange(_size83):
             _key88 = iprot.readString();
             _val89 = iprot.readString();
@@ -1972,6 +2098,17 @@ class Database:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.description)
+    value = (value * 31) ^ hash(self.locationUri)
+    value = (value * 31) ^ hash(self.parameters)
+    value = (value * 31) ^ hash(self.privileges)
+    value = (value * 31) ^ hash(self.ownerName)
+    value = (value * 31) ^ hash(self.ownerType)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2025,7 +2162,7 @@ class SerDeInfo:
       elif fid == 3:
         if ftype == TType.MAP:
           self.parameters = {}
-          (_ktype93, _vtype94, _size92 ) = iprot.readMapBegin() 
+          (_ktype93, _vtype94, _size92 ) = iprot.readMapBegin()
           for _i96 in xrange(_size92):
             _key97 = iprot.readString();
             _val98 = iprot.readString();
@@ -2066,6 +2203,13 @@ class SerDeInfo:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.serializationLib)
+    value = (value * 31) ^ hash(self.parameters)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2138,6 +2282,12 @@ class Order:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.col)
+    value = (value * 31) ^ hash(self.order)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2206,7 +2356,7 @@ class SkewedInfo:
       elif fid == 3:
         if ftype == TType.MAP:
           self.skewedColValueLocationMaps = {}
-          (_ktype120, _vtype121, _size119 ) = iprot.readMapBegin() 
+          (_ktype120, _vtype121, _size119 ) = iprot.readMapBegin()
           for _i123 in xrange(_size119):
             _key124 = []
             (_etype129, _size126) = iprot.readListBegin()
@@ -2264,6 +2414,13 @@ class SkewedInfo:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.skewedColNames)
+    value = (value * 31) ^ hash(self.skewedColValues)
+    value = (value * 31) ^ hash(self.skewedColValueLocationMaps)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2397,7 +2554,7 @@ class StorageDescriptor:
       elif fid == 10:
         if ftype == TType.MAP:
           self.parameters = {}
-          (_ktype157, _vtype158, _size156 ) = iprot.readMapBegin() 
+          (_ktype157, _vtype158, _size156 ) = iprot.readMapBegin()
           for _i160 in xrange(_size156):
             _key161 = iprot.readString();
             _val162 = iprot.readString();
@@ -2494,6 +2651,22 @@ class StorageDescriptor:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.cols)
+    value = (value * 31) ^ hash(self.location)
+    value = (value * 31) ^ hash(self.inputFormat)
+    value = (value * 31) ^ hash(self.outputFormat)
+    value = (value * 31) ^ hash(self.compressed)
+    value = (value * 31) ^ hash(self.numBuckets)
+    value = (value * 31) ^ hash(self.serdeInfo)
+    value = (value * 31) ^ hash(self.bucketCols)
+    value = (value * 31) ^ hash(self.sortCols)
+    value = (value * 31) ^ hash(self.parameters)
+    value = (value * 31) ^ hash(self.skewedInfo)
+    value = (value * 31) ^ hash(self.storedAsSubDirectories)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2617,7 +2790,7 @@ class Table:
       elif fid == 9:
         if ftype == TType.MAP:
           self.parameters = {}
-          (_ktype175, _vtype176, _size174 ) = iprot.readMapBegin() 
+          (_ktype175, _vtype176, _size174 ) = iprot.readMapBegin()
           for _i178 in xrange(_size174):
             _key179 = iprot.readString();
             _val180 = iprot.readString();
@@ -2731,6 +2904,24 @@ class Table:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.tableName)
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.owner)
+    value = (value * 31) ^ hash(self.createTime)
+    value = (value * 31) ^ hash(self.lastAccessTime)
+    value = (value * 31) ^ hash(self.retention)
+    value = (value * 31) ^ hash(self.sd)
+    value = (value * 31) ^ hash(self.partitionKeys)
+    value = (value * 31) ^ hash(self.parameters)
+    value = (value * 31) ^ hash(self.viewOriginalText)
+    value = (value * 31) ^ hash(self.viewExpandedText)
+    value = (value * 31) ^ hash(self.tableType)
+    value = (value * 31) ^ hash(self.privileges)
+    value = (value * 31) ^ hash(self.temporary)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2825,7 +3016,7 @@ class Partition:
       elif fid == 7:
         if ftype == TType.MAP:
           self.parameters = {}
-          (_ktype191, _vtype192, _size190 ) = iprot.readMapBegin() 
+          (_ktype191, _vtype192, _size190 ) = iprot.readMapBegin()
           for _i194 in xrange(_size190):
             _key195 = iprot.readString();
             _val196 = iprot.readString();
@@ -2895,6 +3086,18 @@ class Partition:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.values)
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.tableName)
+    value = (value * 31) ^ hash(self.createTime)
+    value = (value * 31) ^ hash(self.lastAccessTime)
+    value = (value * 31) ^ hash(self.sd)
+    value = (value * 31) ^ hash(self.parameters)
+    value = (value * 31) ^ hash(self.privileges)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2972,7 +3175,7 @@ class PartitionWithoutSD:
       elif fid == 5:
         if ftype == TType.MAP:
           self.parameters = {}
-          (_ktype207, _vtype208, _size206 ) = iprot.readMapBegin() 
+          (_ktype207, _vtype208, _size206 ) = iprot.readMapBegin()
           for _i210 in xrange(_size206):
             _key211 = iprot.readString();
             _val212 = iprot.readString();
@@ -3034,6 +3237,16 @@ class PartitionWithoutSD:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.values)
+    value = (value * 31) ^ hash(self.createTime)
+    value = (value * 31) ^ hash(self.lastAccessTime)
+    value = (value * 31) ^ hash(self.relativePath)
+    value = (value * 31) ^ hash(self.parameters)
+    value = (value * 31) ^ hash(self.privileges)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3116,6 +3329,12 @@ class PartitionSpecWithSharedSD:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.partitions)
+    value = (value * 31) ^ hash(self.sd)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3185,6 +3404,11 @@ class PartitionListComposingSpec:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.partitions)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3295,6 +3519,15 @@ class PartitionSpec:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.tableName)
+    value = (value * 31) ^ hash(self.rootPath)
+    value = (value * 31) ^ hash(self.sharedSDPartitionSpec)
+    value = (value * 31) ^ hash(self.partitionList)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3400,7 +3633,7 @@ class Index:
       elif fid == 9:
         if ftype == TType.MAP:
           self.parameters = {}
-          (_ktype231, _vtype232, _size230 ) = iprot.readMapBegin() 
+          (_ktype231, _vtype232, _size230 ) = iprot.readMapBegin()
           for _i234 in xrange(_size230):
             _key235 = iprot.readString();
             _val236 = iprot.readString();
@@ -3474,6 +3707,20 @@ class Index:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.indexName)
+    value = (value * 31) ^ hash(self.indexHandlerClass)
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.origTableName)
+    value = (value * 31) ^ hash(self.createTime)
+    value = (value * 31) ^ hash(self.lastAccessTime)
+    value = (value * 31) ^ hash(self.indexTableName)
+    value = (value * 31) ^ hash(self.sd)
+    value = (value * 31) ^ hash(self.parameters)
+    value = (value * 31) ^ hash(self.deferredRebuild)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3564,6 +3811,13 @@ class BooleanColumnStatsData:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.numTrues)
+    value = (value * 31) ^ hash(self.numFalses)
+    value = (value * 31) ^ hash(self.numNulls)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3664,6 +3918,14 @@ class DoubleColumnStatsData:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.lowValue)
+    value = (value * 31) ^ hash(self.highValue)
+    value = (value * 31) ^ hash(self.numNulls)
+    value = (value * 31) ^ hash(self.numDVs)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3764,6 +4026,14 @@ class LongColumnStatsData:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.lowValue)
+    value = (value * 31) ^ hash(self.highValue)
+    value = (value * 31) ^ hash(self.numNulls)
+    value = (value * 31) ^ hash(self.numDVs)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3868,6 +4138,14 @@ class StringColumnStatsData:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.maxColLen)
+    value = (value * 31) ^ hash(self.avgColLen)
+    value = (value * 31) ^ hash(self.numNulls)
+    value = (value * 31) ^ hash(self.numDVs)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3958,6 +4236,13 @@ class BinaryColumnStatsData:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.maxColLen)
+    value = (value * 31) ^ hash(self.avgColLen)
+    value = (value * 31) ^ hash(self.numNulls)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4035,6 +4320,12 @@ class Decimal:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.unscaled)
+    value = (value * 31) ^ hash(self.scale)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4137,6 +4428,14 @@ class DecimalColumnStatsData:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.lowValue)
+    value = (value * 31) ^ hash(self.highValue)
+    value = (value * 31) ^ hash(self.numNulls)
+    value = (value * 31) ^ hash(self.numDVs)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4199,6 +4498,11 @@ class Date:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.daysSinceEpoch)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4301,6 +4605,14 @@ class DateColumnStatsData:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.lowValue)
+    value = (value * 31) ^ hash(self.highValue)
+    value = (value * 31) ^ hash(self.numNulls)
+    value = (value * 31) ^ hash(self.numDVs)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4440,6 +4752,17 @@ class ColumnStatisticsData:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.booleanStats)
+    value = (value * 31) ^ hash(self.longStats)
+    value = (value * 31) ^ hash(self.doubleStats)
+    value = (value * 31) ^ hash(self.stringStats)
+    value = (value * 31) ^ hash(self.binaryStats)
+    value = (value * 31) ^ hash(self.decimalStats)
+    value = (value * 31) ^ hash(self.dateStats)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4531,6 +4854,13 @@ class ColumnStatisticsObj:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.colName)
+    value = (value * 31) ^ hash(self.colType)
+    value = (value * 31) ^ hash(self.statsData)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4645,6 +4975,15 @@ class ColumnStatisticsDesc:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.isTblLevel)
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.tableName)
+    value = (value * 31) ^ hash(self.partName)
+    value = (value * 31) ^ hash(self.lastAnalyzed)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4731,6 +5070,12 @@ class ColumnStatistics:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.statsDesc)
+    value = (value * 31) ^ hash(self.statsObj)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4816,6 +5161,12 @@ class AggrStats:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.colStats)
+    value = (value * 31) ^ hash(self.partsFound)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4887,6 +5238,11 @@ class SetPartitionsStatsRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.colStats)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4938,7 +5294,7 @@ class Schema:
       elif fid == 2:
         if ftype == TType.MAP:
           self.properties = {}
-          (_ktype267, _vtype268, _size266 ) = iprot.readMapBegin() 
+          (_ktype267, _vtype268, _size266 ) = iprot.readMapBegin()
           for _i270 in xrange(_size266):
             _key271 = iprot.readString();
             _val272 = iprot.readString();
@@ -4978,6 +5334,12 @@ class Schema:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.fieldSchemas)
+    value = (value * 31) ^ hash(self.properties)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -5015,7 +5377,7 @@ class EnvironmentContext:
       if fid == 1:
         if ftype == TType.MAP:
           self.properties = {}
-          (_ktype277, _vtype278, _size276 ) = iprot.readMapBegin() 
+          (_ktype277, _vtype278, _size276 ) = iprot.readMapBegin()
           for _i280 in xrange(_size276):
             _key281 = iprot.readString();
             _val282 = iprot.readString();
@@ -5048,6 +5410,11 @@ class EnvironmentContext:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.properties)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -5133,6 +5500,12 @@ class PartitionsByExprResult:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.partitions)
+    value = (value * 31) ^ hash(self.hasUnknownPartitions)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -5247,6 +5620,15 @@ class PartitionsByExprRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.tblName)
+    value = (value * 31) ^ hash(self.expr)
+    value = (value * 31) ^ hash(self.defaultPartitionName)
+    value = (value * 31) ^ hash(self.maxParts)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -5318,6 +5700,11 @@ class TableStatsResult:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.tableStats)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -5355,7 +5742,7 @@ class PartitionsStatsResult:
       if fid == 1:
         if ftype == TType.MAP:
           self.partStats = {}
-          (_ktype300, _vtype301, _size299 ) = iprot.readMapBegin() 
+          (_ktype300, _vtype301, _size299 ) = iprot.readMapBegin()
           for _i303 in xrange(_size299):
             _key304 = iprot.readString();
             _val305 = []
@@ -5399,6 +5786,11 @@ class PartitionsStatsResult:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.partStats)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -5497,6 +5889,13 @@ class TableStatsRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.tblName)
+    value = (value * 31) ^ hash(self.colNames)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -5617,6 +6016,14 @@ class PartitionsStatsRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.tblName)
+    value = (value * 31) ^ hash(self.colNames)
+    value = (value * 31) ^ hash(self.partNames)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -5686,6 +6093,11 @@ class AddPartitionsResult:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.partitions)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -5811,6 +6223,15 @@ class AddPartitionsRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.tblName)
+    value = (value * 31) ^ hash(self.parts)
+    value = (value * 31) ^ hash(self.ifNotExists)
+    value = (value * 31) ^ hash(self.needResult)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -5880,6 +6301,11 @@ class DropPartitionsResult:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.partitions)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -5954,6 +6380,12 @@ class DropPartitionsExpr:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.expr)
+    value = (value * 31) ^ hash(self.partArchiveLevel)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -6043,6 +6475,12 @@ class RequestPartsSpec:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.names)
+    value = (value * 31) ^ hash(self.exprs)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -6195,6 +6633,18 @@ class DropPartitionsRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.tblName)
+    value = (value * 31) ^ hash(self.parts)
+    value = (value * 31) ^ hash(self.deleteData)
+    value = (value * 31) ^ hash(self.ifExists)
+    value = (value * 31) ^ hash(self.ignoreProtection)
+    value = (value * 31) ^ hash(self.environmentContext)
+    value = (value * 31) ^ hash(self.needResult)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -6267,6 +6717,12 @@ class ResourceUri:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.resourceType)
+    value = (value * 31) ^ hash(self.uri)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -6420,6 +6876,18 @@ class Function:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.functionName)
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.className)
+    value = (value * 31) ^ hash(self.ownerName)
+    value = (value * 31) ^ hash(self.ownerType)
+    value = (value * 31) ^ hash(self.createTime)
+    value = (value * 31) ^ hash(self.functionType)
+    value = (value * 31) ^ hash(self.resourceUris)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -6524,6 +6992,14 @@ class TxnInfo:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.id)
+    value = (value * 31) ^ hash(self.state)
+    value = (value * 31) ^ hash(self.user)
+    value = (value * 31) ^ hash(self.hostname)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -6609,6 +7085,12 @@ class GetOpenTxnsInfoResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.txn_high_water_mark)
+    value = (value * 31) ^ hash(self.open_txns)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -6693,6 +7175,12 @@ class GetOpenTxnsResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.txn_high_water_mark)
+    value = (value * 31) ^ hash(self.open_txns)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -6783,6 +7271,13 @@ class OpenTxnRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.num_txns)
+    value = (value * 31) ^ hash(self.user)
+    value = (value * 31) ^ hash(self.hostname)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -6853,6 +7348,11 @@ class OpenTxnsResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.txn_ids)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -6915,6 +7415,11 @@ class AbortTxnRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.txnid)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -6977,6 +7482,11 @@ class CommitTxnRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.txnid)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -7091,6 +7601,15 @@ class LockComponent:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.type)
+    value = (value * 31) ^ hash(self.level)
+    value = (value * 31) ^ hash(self.dbname)
+    value = (value * 31) ^ hash(self.tablename)
+    value = (value * 31) ^ hash(self.partitionname)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -7202,6 +7721,14 @@ class LockRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.component)
+    value = (value * 31) ^ hash(self.txnid)
+    value = (value * 31) ^ hash(self.user)
+    value = (value * 31) ^ hash(self.hostname)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -7278,6 +7805,12 @@ class LockResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.lockid)
+    value = (value * 31) ^ hash(self.state)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -7340,6 +7873,11 @@ class CheckLockRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.lockid)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -7402,6 +7940,11 @@ class UnlockRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.lockid)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -7444,6 +7987,10 @@ class ShowLocksRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -7638,6 +8185,21 @@ class ShowLocksResponseElement:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.lockid)
+    value = (value * 31) ^ hash(self.dbname)
+    value = (value * 31) ^ hash(self.tablename)
+    value = (value * 31) ^ hash(self.partname)
+    value = (value * 31) ^ hash(self.state)
+    value = (value * 31) ^ hash(self.type)
+    value = (value * 31) ^ hash(self.txnid)
+    value = (value * 31) ^ hash(self.lastheartbeat)
+    value = (value * 31) ^ hash(self.acquiredat)
+    value = (value * 31) ^ hash(self.user)
+    value = (value * 31) ^ hash(self.hostname)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -7707,6 +8269,11 @@ class ShowLocksResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.locks)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -7779,6 +8346,12 @@ class HeartbeatRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.lockid)
+    value = (value * 31) ^ hash(self.txnid)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -7855,6 +8428,12 @@ class HeartbeatTxnRangeRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.min)
+    value = (value * 31) ^ hash(self.max)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -7947,6 +8526,12 @@ class HeartbeatTxnRangeResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.aborted)
+    value = (value * 31) ^ hash(self.nosuch)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -8061,6 +8646,15 @@ class CompactionRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.dbname)
+    value = (value * 31) ^ hash(self.tablename)
+    value = (value * 31) ^ hash(self.partitionname)
+    value = (value * 31) ^ hash(self.type)
+    value = (value * 31) ^ hash(self.runas)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -8103,6 +8697,10 @@ class ShowCompactRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -8255,6 +8853,18 @@ class ShowCompactResponseElement:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.dbname)
+    value = (value * 31) ^ hash(self.tablename)
+    value = (value * 31) ^ hash(self.partitionname)
+    value = (value * 31) ^ hash(self.type)
+    value = (value * 31) ^ hash(self.state)
+    value = (value * 31) ^ hash(self.workerid)
+    value = (value * 31) ^ hash(self.start)
+    value = (value * 31) ^ hash(self.runAs)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -8326,6 +8936,11 @@ class ShowCompactResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.compacts)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -8438,6 +9053,14 @@ class AddDynamicPartitions:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.txnid)
+    value = (value * 31) ^ hash(self.dbname)
+    value = (value * 31) ^ hash(self.tablename)
+    value = (value * 31) ^ hash(self.partitionnames)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -8512,6 +9135,12 @@ class NotificationEventRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.lastEvent)
+    value = (value * 31) ^ hash(self.maxEvents)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -8640,6 +9269,16 @@ class NotificationEvent:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.eventId)
+    value = (value * 31) ^ hash(self.eventTime)
+    value = (value * 31) ^ hash(self.eventType)
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.tableName)
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -8711,6 +9350,11 @@ class NotificationEventResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.events)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -8773,6 +9417,11 @@ class CurrentNotificationEventId:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.eventId)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -8843,6 +9492,11 @@ class InsertEventRequestData:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.filesAdded)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -8904,6 +9558,11 @@ class FireEventRequestData:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.insertData)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9025,6 +9684,15 @@ class FireEventRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.successful)
+    value = (value * 31) ^ hash(self.data)
+    value = (value * 31) ^ hash(self.dbName)
+    value = (value * 31) ^ hash(self.tableName)
+    value = (value * 31) ^ hash(self.partitionVals)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9067,6 +9735,10 @@ class FireEventResponse:
     return
 
 
+  def __hash__(self):
+    value = 17
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9130,6 +9802,11 @@ class MetaException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9193,6 +9870,11 @@ class UnknownTableException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9256,6 +9938,11 @@ class UnknownDBException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9319,6 +10006,11 @@ class AlreadyExistsException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9382,6 +10074,11 @@ class InvalidPartitionException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9445,6 +10142,11 @@ class UnknownPartitionException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9508,6 +10210,11 @@ class InvalidObjectException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9571,6 +10278,11 @@ class NoSuchObjectException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9634,6 +10346,11 @@ class IndexAlreadyExistsException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9697,6 +10414,11 @@ class InvalidOperationException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9760,6 +10482,11 @@ class ConfigValSecurityException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9823,6 +10550,11 @@ class InvalidInputException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9886,6 +10618,11 @@ class NoSuchTxnException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -9949,6 +10686,11 @@ class TxnAbortedException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -10012,6 +10754,11 @@ class TxnOpenException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -10075,6 +10822,11 @@ class NoSuchLockException(TException):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    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/metastore/src/gen/thrift/gen-rb/hive_metastore_constants.rb
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-rb/hive_metastore_constants.rb b/metastore/src/gen/thrift/gen-rb/hive_metastore_constants.rb
index 3208ecd..7ef6f43 100644
--- a/metastore/src/gen/thrift/gen-rb/hive_metastore_constants.rb
+++ b/metastore/src/gen/thrift/gen-rb/hive_metastore_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/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb b/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
index 4ae5d53..a1622ae 100644
--- a/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
+++ b/metastore/src/gen/thrift/gen-rb/hive_metastore_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/metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb b/metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
index edc00d3..5645fe2 100644
--- a/metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
+++ b/metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.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/ql/if/queryplan.thrift
----------------------------------------------------------------------
diff --git a/ql/if/queryplan.thrift b/ql/if/queryplan.thrift
index c8dfa35..cc9af94 100644
--- a/ql/if/queryplan.thrift
+++ b/ql/if/queryplan.thrift
@@ -60,6 +60,7 @@ enum OperatorType {
   ORCFILEMERGE,
   RCFILEMERGE,
   MERGEJOIN,
+  SPARKPRUNINGSINK,
 }
 
 struct Operator {

http://git-wip-us.apache.org/repos/asf/hive/blob/42216997/ql/src/gen/thrift/gen-cpp/queryplan_constants.cpp
----------------------------------------------------------------------
diff --git a/ql/src/gen/thrift/gen-cpp/queryplan_constants.cpp b/ql/src/gen/thrift/gen-cpp/queryplan_constants.cpp
index 4f9aeaf..280edbe 100644
--- a/ql/src/gen/thrift/gen-cpp/queryplan_constants.cpp
+++ b/ql/src/gen/thrift/gen-cpp/queryplan_constants.cpp
@@ -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/ql/src/gen/thrift/gen-cpp/queryplan_constants.h
----------------------------------------------------------------------
diff --git a/ql/src/gen/thrift/gen-cpp/queryplan_constants.h b/ql/src/gen/thrift/gen-cpp/queryplan_constants.h
index 5dce5dd..6bee48d 100644
--- a/ql/src/gen/thrift/gen-cpp/queryplan_constants.h
+++ b/ql/src/gen/thrift/gen-cpp/queryplan_constants.h
@@ -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