http://git-wip-us.apache.org/repos/asf/hive/blob/ccb30e3e/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 d1c07a5..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.3) +# 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/ccb30e3e/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 fbeab5e..877a7e4 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.3) +# Autogenerated by Thrift Compiler (0.9.2) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # @@ -253,12 +253,12 @@ class Version: break if fid == 1: if ftype == TType.STRING: - self.version = iprot.readString() + self.version = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.comments = iprot.readString() + self.comments = iprot.readString(); else: iprot.skip(ftype) else: @@ -334,17 +334,17 @@ class FieldSchema: break if fid == 1: if ftype == TType.STRING: - self.name = iprot.readString() + self.name = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.type = iprot.readString() + self.type = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.comment = iprot.readString() + self.comment = iprot.readString(); else: iprot.skip(ftype) else: @@ -428,17 +428,17 @@ class Type: break if fid == 1: if ftype == TType.STRING: - self.name = iprot.readString() + self.name = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.type1 = iprot.readString() + self.type1 = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.type2 = iprot.readString() + self.type2 = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: @@ -544,17 +544,17 @@ class HiveObjectRef: break if fid == 1: if ftype == TType.I32: - self.objectType = iprot.readI32() + self.objectType = iprot.readI32(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.objectName = iprot.readString() + self.objectName = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: @@ -562,14 +562,14 @@ class HiveObjectRef: self.partValues = [] (_etype10, _size7) = iprot.readListBegin() for _i11 in xrange(_size7): - _elem12 = iprot.readString() + _elem12 = iprot.readString(); self.partValues.append(_elem12) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.columnName = iprot.readString() + self.columnName = iprot.readString(); else: iprot.skip(ftype) else: @@ -669,27 +669,27 @@ class PrivilegeGrantInfo: break if fid == 1: if ftype == TType.STRING: - self.privilege = iprot.readString() + self.privilege = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I32: - self.createTime = iprot.readI32() + self.createTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.grantor = iprot.readString() + self.grantor = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I32: - self.grantorType = iprot.readI32() + self.grantorType = iprot.readI32(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.BOOL: - self.grantOption = iprot.readBool() + self.grantOption = iprot.readBool(); else: iprot.skip(ftype) else: @@ -789,12 +789,12 @@ class HiveObjectPrivilege: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.principalName = iprot.readString() + self.principalName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.I32: - self.principalType = iprot.readI32() + self.principalType = iprot.readI32(); else: iprot.skip(ftype) elif fid == 4: @@ -963,7 +963,7 @@ class PrincipalPrivilegeSet: self.userPrivileges = {} (_ktype22, _vtype23, _size21 ) = iprot.readMapBegin() for _i25 in xrange(_size21): - _key26 = iprot.readString() + _key26 = iprot.readString(); _val27 = [] (_etype31, _size28) = iprot.readListBegin() for _i32 in xrange(_size28): @@ -980,7 +980,7 @@ class PrincipalPrivilegeSet: self.groupPrivileges = {} (_ktype35, _vtype36, _size34 ) = iprot.readMapBegin() for _i38 in xrange(_size34): - _key39 = iprot.readString() + _key39 = iprot.readString(); _val40 = [] (_etype44, _size41) = iprot.readListBegin() for _i45 in xrange(_size41): @@ -997,7 +997,7 @@ class PrincipalPrivilegeSet: self.rolePrivileges = {} (_ktype48, _vtype49, _size47 ) = iprot.readMapBegin() for _i51 in xrange(_size47): - _key52 = iprot.readString() + _key52 = iprot.readString(); _val53 = [] (_etype57, _size54) = iprot.readListBegin() for _i58 in xrange(_size54): @@ -1108,7 +1108,7 @@ class GrantRevokePrivilegeRequest: break if fid == 1: if ftype == TType.I32: - self.requestType = iprot.readI32() + self.requestType = iprot.readI32(); else: iprot.skip(ftype) elif fid == 2: @@ -1119,7 +1119,7 @@ class GrantRevokePrivilegeRequest: iprot.skip(ftype) elif fid == 3: if ftype == TType.BOOL: - self.revokeGrantOption = iprot.readBool() + self.revokeGrantOption = iprot.readBool(); else: iprot.skip(ftype) else: @@ -1194,7 +1194,7 @@ class GrantRevokePrivilegeResponse: break if fid == 1: if ftype == TType.BOOL: - self.success = iprot.readBool() + self.success = iprot.readBool(); else: iprot.skip(ftype) else: @@ -1265,17 +1265,17 @@ class Role: break if fid == 1: if ftype == TType.STRING: - self.roleName = iprot.readString() + self.roleName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I32: - self.createTime = iprot.readI32() + self.createTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.ownerName = iprot.readString() + self.ownerName = iprot.readString(); else: iprot.skip(ftype) else: @@ -1368,37 +1368,37 @@ class RolePrincipalGrant: break if fid == 1: if ftype == TType.STRING: - self.roleName = iprot.readString() + self.roleName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.principalName = iprot.readString() + self.principalName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.I32: - self.principalType = iprot.readI32() + self.principalType = iprot.readI32(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.BOOL: - self.grantOption = iprot.readBool() + self.grantOption = iprot.readBool(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I32: - self.grantTime = iprot.readI32() + self.grantTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 6: if ftype == TType.STRING: - self.grantorName = iprot.readString() + self.grantorName = iprot.readString(); else: iprot.skip(ftype) elif fid == 7: if ftype == TType.I32: - self.grantorPrincipalType = iprot.readI32() + self.grantorPrincipalType = iprot.readI32(); else: iprot.skip(ftype) else: @@ -1496,12 +1496,12 @@ class GetRoleGrantsForPrincipalRequest: break if fid == 1: if ftype == TType.STRING: - self.principal_name = iprot.readString() + self.principal_name = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I32: - self.principal_type = iprot.readI32() + self.principal_type = iprot.readI32(); else: iprot.skip(ftype) else: @@ -1651,7 +1651,7 @@ class GetPrincipalsInRoleRequest: break if fid == 1: if ftype == TType.STRING: - self.roleName = iprot.readString() + self.roleName = iprot.readString(); else: iprot.skip(ftype) else: @@ -1812,37 +1812,37 @@ class GrantRevokeRoleRequest: break if fid == 1: if ftype == TType.I32: - self.requestType = iprot.readI32() + self.requestType = iprot.readI32(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.roleName = iprot.readString() + self.roleName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.principalName = iprot.readString() + self.principalName = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I32: - self.principalType = iprot.readI32() + self.principalType = iprot.readI32(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.grantor = iprot.readString() + self.grantor = iprot.readString(); else: iprot.skip(ftype) elif fid == 6: if ftype == TType.I32: - self.grantorType = iprot.readI32() + self.grantorType = iprot.readI32(); else: iprot.skip(ftype) elif fid == 7: if ftype == TType.BOOL: - self.grantOption = iprot.readBool() + self.grantOption = iprot.readBool(); else: iprot.skip(ftype) else: @@ -1937,7 +1937,7 @@ class GrantRevokeRoleResponse: break if fid == 1: if ftype == TType.BOOL: - self.success = iprot.readBool() + self.success = iprot.readBool(); else: iprot.skip(ftype) else: @@ -2020,17 +2020,17 @@ class Database: break if fid == 1: if ftype == TType.STRING: - self.name = iprot.readString() + self.name = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.description = iprot.readString() + self.description = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.locationUri = iprot.readString() + self.locationUri = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: @@ -2038,8 +2038,8 @@ class Database: self.parameters = {} (_ktype84, _vtype85, _size83 ) = iprot.readMapBegin() for _i87 in xrange(_size83): - _key88 = iprot.readString() - _val89 = iprot.readString() + _key88 = iprot.readString(); + _val89 = iprot.readString(); self.parameters[_key88] = _val89 iprot.readMapEnd() else: @@ -2052,12 +2052,12 @@ class Database: iprot.skip(ftype) elif fid == 6: if ftype == TType.STRING: - self.ownerName = iprot.readString() + self.ownerName = iprot.readString(); else: iprot.skip(ftype) elif fid == 7: if ftype == TType.I32: - self.ownerType = iprot.readI32() + self.ownerType = iprot.readI32(); else: iprot.skip(ftype) else: @@ -2162,12 +2162,12 @@ class SerDeInfo: break if fid == 1: if ftype == TType.STRING: - self.name = iprot.readString() + self.name = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.serializationLib = iprot.readString() + self.serializationLib = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: @@ -2175,8 +2175,8 @@ class SerDeInfo: self.parameters = {} (_ktype93, _vtype94, _size92 ) = iprot.readMapBegin() for _i96 in xrange(_size92): - _key97 = iprot.readString() - _val98 = iprot.readString() + _key97 = iprot.readString(); + _val98 = iprot.readString(); self.parameters[_key97] = _val98 iprot.readMapEnd() else: @@ -2260,12 +2260,12 @@ class Order: break if fid == 1: if ftype == TType.STRING: - self.col = iprot.readString() + self.col = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I32: - self.order = iprot.readI32() + self.order = iprot.readI32(); else: iprot.skip(ftype) else: @@ -2344,7 +2344,7 @@ class SkewedInfo: self.skewedColNames = [] (_etype104, _size101) = iprot.readListBegin() for _i105 in xrange(_size101): - _elem106 = iprot.readString() + _elem106 = iprot.readString(); self.skewedColNames.append(_elem106) iprot.readListEnd() else: @@ -2357,7 +2357,7 @@ class SkewedInfo: _elem112 = [] (_etype116, _size113) = iprot.readListBegin() for _i117 in xrange(_size113): - _elem118 = iprot.readString() + _elem118 = iprot.readString(); _elem112.append(_elem118) iprot.readListEnd() self.skewedColValues.append(_elem112) @@ -2372,10 +2372,10 @@ class SkewedInfo: _key124 = [] (_etype129, _size126) = iprot.readListBegin() for _i130 in xrange(_size126): - _elem131 = iprot.readString() + _elem131 = iprot.readString(); _key124.append(_elem131) iprot.readListEnd() - _val125 = iprot.readString() + _val125 = iprot.readString(); self.skewedColValueLocationMaps[_key124] = _val125 iprot.readMapEnd() else: @@ -2512,27 +2512,27 @@ class StorageDescriptor: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.location = iprot.readString() + self.location = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.inputFormat = iprot.readString() + self.inputFormat = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.outputFormat = iprot.readString() + self.outputFormat = iprot.readString(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.BOOL: - self.compressed = iprot.readBool() + self.compressed = iprot.readBool(); else: iprot.skip(ftype) elif fid == 6: if ftype == TType.I32: - self.numBuckets = iprot.readI32() + self.numBuckets = iprot.readI32(); else: iprot.skip(ftype) elif fid == 7: @@ -2546,7 +2546,7 @@ class StorageDescriptor: self.bucketCols = [] (_etype147, _size144) = iprot.readListBegin() for _i148 in xrange(_size144): - _elem149 = iprot.readString() + _elem149 = iprot.readString(); self.bucketCols.append(_elem149) iprot.readListEnd() else: @@ -2567,8 +2567,8 @@ class StorageDescriptor: self.parameters = {} (_ktype157, _vtype158, _size156 ) = iprot.readMapBegin() for _i160 in xrange(_size156): - _key161 = iprot.readString() - _val162 = iprot.readString() + _key161 = iprot.readString(); + _val162 = iprot.readString(); self.parameters[_key161] = _val162 iprot.readMapEnd() else: @@ -2581,7 +2581,7 @@ class StorageDescriptor: iprot.skip(ftype) elif fid == 12: if ftype == TType.BOOL: - self.storedAsSubDirectories = iprot.readBool() + self.storedAsSubDirectories = iprot.readBool(); else: iprot.skip(ftype) else: @@ -2753,32 +2753,32 @@ class Table: break if fid == 1: if ftype == TType.STRING: - self.tableName = iprot.readString() + self.tableName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.owner = iprot.readString() + self.owner = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I32: - self.createTime = iprot.readI32() + self.createTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I32: - self.lastAccessTime = iprot.readI32() + self.lastAccessTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 6: if ftype == TType.I32: - self.retention = iprot.readI32() + self.retention = iprot.readI32(); else: iprot.skip(ftype) elif fid == 7: @@ -2803,25 +2803,25 @@ class Table: self.parameters = {} (_ktype175, _vtype176, _size174 ) = iprot.readMapBegin() for _i178 in xrange(_size174): - _key179 = iprot.readString() - _val180 = iprot.readString() + _key179 = iprot.readString(); + _val180 = iprot.readString(); self.parameters[_key179] = _val180 iprot.readMapEnd() else: iprot.skip(ftype) elif fid == 10: if ftype == TType.STRING: - self.viewOriginalText = iprot.readString() + self.viewOriginalText = iprot.readString(); else: iprot.skip(ftype) elif fid == 11: if ftype == TType.STRING: - self.viewExpandedText = iprot.readString() + self.viewExpandedText = iprot.readString(); else: iprot.skip(ftype) elif fid == 12: if ftype == TType.STRING: - self.tableType = iprot.readString() + self.tableType = iprot.readString(); else: iprot.skip(ftype) elif fid == 13: @@ -2832,7 +2832,7 @@ class Table: iprot.skip(ftype) elif fid == 14: if ftype == TType.BOOL: - self.temporary = iprot.readBool() + self.temporary = iprot.readBool(); else: iprot.skip(ftype) else: @@ -2993,29 +2993,29 @@ class Partition: self.values = [] (_etype187, _size184) = iprot.readListBegin() for _i188 in xrange(_size184): - _elem189 = iprot.readString() + _elem189 = iprot.readString(); self.values.append(_elem189) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.tableName = iprot.readString() + self.tableName = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I32: - self.createTime = iprot.readI32() + self.createTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I32: - self.lastAccessTime = iprot.readI32() + self.lastAccessTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 6: @@ -3029,8 +3029,8 @@ class Partition: self.parameters = {} (_ktype191, _vtype192, _size190 ) = iprot.readMapBegin() for _i194 in xrange(_size190): - _key195 = iprot.readString() - _val196 = iprot.readString() + _key195 = iprot.readString(); + _val196 = iprot.readString(); self.parameters[_key195] = _val196 iprot.readMapEnd() else: @@ -3163,24 +3163,24 @@ class PartitionWithoutSD: self.values = [] (_etype203, _size200) = iprot.readListBegin() for _i204 in xrange(_size200): - _elem205 = iprot.readString() + _elem205 = iprot.readString(); self.values.append(_elem205) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I32: - self.createTime = iprot.readI32() + self.createTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.I32: - self.lastAccessTime = iprot.readI32() + self.lastAccessTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.relativePath = iprot.readString() + self.relativePath = iprot.readString(); else: iprot.skip(ftype) elif fid == 5: @@ -3188,8 +3188,8 @@ class PartitionWithoutSD: self.parameters = {} (_ktype207, _vtype208, _size206 ) = iprot.readMapBegin() for _i210 in xrange(_size206): - _key211 = iprot.readString() - _val212 = iprot.readString() + _key211 = iprot.readString(); + _val212 = iprot.readString(); self.parameters[_key211] = _val212 iprot.readMapEnd() else: @@ -3468,17 +3468,17 @@ class PartitionSpec: break if fid == 1: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.tableName = iprot.readString() + self.tableName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.rootPath = iprot.readString() + self.rootPath = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: @@ -3602,37 +3602,37 @@ class Index: break if fid == 1: if ftype == TType.STRING: - self.indexName = iprot.readString() + self.indexName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.indexHandlerClass = iprot.readString() + self.indexHandlerClass = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.origTableName = iprot.readString() + self.origTableName = iprot.readString(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I32: - self.createTime = iprot.readI32() + self.createTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 6: if ftype == TType.I32: - self.lastAccessTime = iprot.readI32() + self.lastAccessTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 7: if ftype == TType.STRING: - self.indexTableName = iprot.readString() + self.indexTableName = iprot.readString(); else: iprot.skip(ftype) elif fid == 8: @@ -3646,15 +3646,15 @@ class Index: self.parameters = {} (_ktype231, _vtype232, _size230 ) = iprot.readMapBegin() for _i234 in xrange(_size230): - _key235 = iprot.readString() - _val236 = iprot.readString() + _key235 = iprot.readString(); + _val236 = iprot.readString(); self.parameters[_key235] = _val236 iprot.readMapEnd() else: iprot.skip(ftype) elif fid == 10: if ftype == TType.BOOL: - self.deferredRebuild = iprot.readBool() + self.deferredRebuild = iprot.readBool(); else: iprot.skip(ftype) else: @@ -3774,17 +3774,17 @@ class BooleanColumnStatsData: break if fid == 1: if ftype == TType.I64: - self.numTrues = iprot.readI64() + self.numTrues = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I64: - self.numFalses = iprot.readI64() + self.numFalses = iprot.readI64(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.I64: - self.numNulls = iprot.readI64() + self.numNulls = iprot.readI64(); else: iprot.skip(ftype) else: @@ -3874,22 +3874,22 @@ class DoubleColumnStatsData: break if fid == 1: if ftype == TType.DOUBLE: - self.lowValue = iprot.readDouble() + self.lowValue = iprot.readDouble(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.DOUBLE: - self.highValue = iprot.readDouble() + self.highValue = iprot.readDouble(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.I64: - self.numNulls = iprot.readI64() + self.numNulls = iprot.readI64(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I64: - self.numDVs = iprot.readI64() + self.numDVs = iprot.readI64(); else: iprot.skip(ftype) else: @@ -3982,22 +3982,22 @@ class LongColumnStatsData: break if fid == 1: if ftype == TType.I64: - self.lowValue = iprot.readI64() + self.lowValue = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I64: - self.highValue = iprot.readI64() + self.highValue = iprot.readI64(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.I64: - self.numNulls = iprot.readI64() + self.numNulls = iprot.readI64(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I64: - self.numDVs = iprot.readI64() + self.numDVs = iprot.readI64(); else: iprot.skip(ftype) else: @@ -4090,22 +4090,22 @@ class StringColumnStatsData: break if fid == 1: if ftype == TType.I64: - self.maxColLen = iprot.readI64() + self.maxColLen = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.DOUBLE: - self.avgColLen = iprot.readDouble() + self.avgColLen = iprot.readDouble(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.I64: - self.numNulls = iprot.readI64() + self.numNulls = iprot.readI64(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I64: - self.numDVs = iprot.readI64() + self.numDVs = iprot.readI64(); else: iprot.skip(ftype) else: @@ -4199,17 +4199,17 @@ class BinaryColumnStatsData: break if fid == 1: if ftype == TType.I64: - self.maxColLen = iprot.readI64() + self.maxColLen = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.DOUBLE: - self.avgColLen = iprot.readDouble() + self.avgColLen = iprot.readDouble(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.I64: - self.numNulls = iprot.readI64() + self.numNulls = iprot.readI64(); else: iprot.skip(ftype) else: @@ -4294,12 +4294,12 @@ class Decimal: break if fid == 1: if ftype == TType.STRING: - self.unscaled = iprot.readString() + self.unscaled = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.I16: - self.scale = iprot.readI16() + self.scale = iprot.readI16(); else: iprot.skip(ftype) else: @@ -4394,12 +4394,12 @@ class DecimalColumnStatsData: iprot.skip(ftype) elif fid == 3: if ftype == TType.I64: - self.numNulls = iprot.readI64() + self.numNulls = iprot.readI64(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I64: - self.numDVs = iprot.readI64() + self.numDVs = iprot.readI64(); else: iprot.skip(ftype) else: @@ -4483,7 +4483,7 @@ class Date: break if fid == 1: if ftype == TType.I64: - self.daysSinceEpoch = iprot.readI64() + self.daysSinceEpoch = iprot.readI64(); else: iprot.skip(ftype) else: @@ -4571,12 +4571,12 @@ class DateColumnStatsData: iprot.skip(ftype) elif fid == 3: if ftype == TType.I64: - self.numNulls = iprot.readI64() + self.numNulls = iprot.readI64(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I64: - self.numDVs = iprot.readI64() + self.numDVs = iprot.readI64(); else: iprot.skip(ftype) else: @@ -4816,12 +4816,12 @@ class ColumnStatisticsObj: break if fid == 1: if ftype == TType.STRING: - self.colName = iprot.readString() + self.colName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.colType = iprot.readString() + self.colType = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: @@ -4920,27 +4920,27 @@ class ColumnStatisticsDesc: break if fid == 1: if ftype == TType.BOOL: - self.isTblLevel = iprot.readBool() + self.isTblLevel = iprot.readBool(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.tableName = iprot.readString() + self.tableName = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.partName = iprot.readString() + self.partName = iprot.readString(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I64: - self.lastAnalyzed = iprot.readI64() + self.lastAnalyzed = iprot.readI64(); else: iprot.skip(ftype) else: @@ -5137,7 +5137,7 @@ class AggrStats: iprot.skip(ftype) elif fid == 2: if ftype == TType.I64: - self.partsFound = iprot.readI64() + self.partsFound = iprot.readI64(); else: iprot.skip(ftype) else: @@ -5307,8 +5307,8 @@ class Schema: self.properties = {} (_ktype267, _vtype268, _size266 ) = iprot.readMapBegin() for _i270 in xrange(_size266): - _key271 = iprot.readString() - _val272 = iprot.readString() + _key271 = iprot.readString(); + _val272 = iprot.readString(); self.properties[_key271] = _val272 iprot.readMapEnd() else: @@ -5390,8 +5390,8 @@ class EnvironmentContext: self.properties = {} (_ktype277, _vtype278, _size276 ) = iprot.readMapBegin() for _i280 in xrange(_size276): - _key281 = iprot.readString() - _val282 = iprot.readString() + _key281 = iprot.readString(); + _val282 = iprot.readString(); self.properties[_key281] = _val282 iprot.readMapEnd() else: @@ -5476,7 +5476,7 @@ class PartitionsByExprResult: iprot.skip(ftype) elif fid == 2: if ftype == TType.BOOL: - self.hasUnknownPartitions = iprot.readBool() + self.hasUnknownPartitions = iprot.readBool(); else: iprot.skip(ftype) else: @@ -5565,27 +5565,27 @@ class PartitionsByExprRequest: break if fid == 1: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.tblName = iprot.readString() + self.tblName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.expr = iprot.readString() + self.expr = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.defaultPartitionName = iprot.readString() + self.defaultPartitionName = iprot.readString(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I16: - self.maxParts = iprot.readI16() + self.maxParts = iprot.readI16(); else: iprot.skip(ftype) else: @@ -5755,7 +5755,7 @@ class PartitionsStatsResult: self.partStats = {} (_ktype300, _vtype301, _size299 ) = iprot.readMapBegin() for _i303 in xrange(_size299): - _key304 = iprot.readString() + _key304 = iprot.readString(); _val305 = [] (_etype309, _size306) = iprot.readListBegin() for _i310 in xrange(_size306): @@ -5844,12 +5844,12 @@ class TableStatsRequest: break if fid == 1: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.tblName = iprot.readString() + self.tblName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: @@ -5857,7 +5857,7 @@ class TableStatsRequest: self.colNames = [] (_etype318, _size315) = iprot.readListBegin() for _i319 in xrange(_size315): - _elem320 = iprot.readString() + _elem320 = iprot.readString(); self.colNames.append(_elem320) iprot.readListEnd() else: @@ -5952,12 +5952,12 @@ class PartitionsStatsRequest: break if fid == 1: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.tblName = iprot.readString() + self.tblName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: @@ -5965,7 +5965,7 @@ class PartitionsStatsRequest: self.colNames = [] (_etype325, _size322) = iprot.readListBegin() for _i326 in xrange(_size322): - _elem327 = iprot.readString() + _elem327 = iprot.readString(); self.colNames.append(_elem327) iprot.readListEnd() else: @@ -5975,7 +5975,7 @@ class PartitionsStatsRequest: self.partNames = [] (_etype331, _size328) = iprot.readListBegin() for _i332 in xrange(_size328): - _elem333 = iprot.readString() + _elem333 = iprot.readString(); self.partNames.append(_elem333) iprot.readListEnd() else: @@ -6157,12 +6157,12 @@ class AddPartitionsRequest: break if fid == 1: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.tblName = iprot.readString() + self.tblName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: @@ -6178,12 +6178,12 @@ class AddPartitionsRequest: iprot.skip(ftype) elif fid == 4: if ftype == TType.BOOL: - self.ifNotExists = iprot.readBool() + self.ifNotExists = iprot.readBool(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.BOOL: - self.needResult = iprot.readBool() + self.needResult = iprot.readBool(); else: iprot.skip(ftype) else: @@ -6356,12 +6356,12 @@ class DropPartitionsExpr: break if fid == 1: if ftype == TType.STRING: - self.expr = iprot.readString() + self.expr = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I32: - self.partArchiveLevel = iprot.readI32() + self.partArchiveLevel = iprot.readI32(); else: iprot.skip(ftype) else: @@ -6439,7 +6439,7 @@ class RequestPartsSpec: self.names = [] (_etype360, _size357) = iprot.readListBegin() for _i361 in xrange(_size357): - _elem362 = iprot.readString() + _elem362 = iprot.readString(); self.names.append(_elem362) iprot.readListEnd() else: @@ -6549,12 +6549,12 @@ class DropPartitionsRequest: break if fid == 1: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.tblName = iprot.readString() + self.tblName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: @@ -6565,17 +6565,17 @@ class DropPartitionsRequest: iprot.skip(ftype) elif fid == 4: if ftype == TType.BOOL: - self.deleteData = iprot.readBool() + self.deleteData = iprot.readBool(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.BOOL: - self.ifExists = iprot.readBool() + self.ifExists = iprot.readBool(); else: iprot.skip(ftype) elif fid == 6: if ftype == TType.BOOL: - self.ignoreProtection = iprot.readBool() + self.ignoreProtection = iprot.readBool(); else: iprot.skip(ftype) elif fid == 7: @@ -6586,7 +6586,7 @@ class DropPartitionsRequest: iprot.skip(ftype) elif fid == 8: if ftype == TType.BOOL: - self.needResult = iprot.readBool() + self.needResult = iprot.readBool(); else: iprot.skip(ftype) else: @@ -6695,12 +6695,12 @@ class ResourceUri: break if fid == 1: if ftype == TType.I32: - self.resourceType = iprot.readI32() + self.resourceType = iprot.readI32(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.uri = iprot.readString() + self.uri = iprot.readString(); else: iprot.skip(ftype) else: @@ -6791,37 +6791,37 @@ class Function: break if fid == 1: if ftype == TType.STRING: - self.functionName = iprot.readString() + self.functionName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.className = iprot.readString() + self.className = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.ownerName = iprot.readString() + self.ownerName = iprot.readString(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I32: - self.ownerType = iprot.readI32() + self.ownerType = iprot.readI32(); else: iprot.skip(ftype) elif fid == 6: if ftype == TType.I32: - self.createTime = iprot.readI32() + self.createTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 7: if ftype == TType.I32: - self.functionType = iprot.readI32() + self.functionType = iprot.readI32(); else: iprot.skip(ftype) elif fid == 8: @@ -6944,22 +6944,22 @@ class TxnInfo: break if fid == 1: if ftype == TType.I64: - self.id = iprot.readI64() + self.id = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I32: - self.state = iprot.readI32() + self.state = iprot.readI32(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.user = iprot.readString() + self.user = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.hostname = iprot.readString() + self.hostname = iprot.readString(); else: iprot.skip(ftype) else: @@ -7050,7 +7050,7 @@ class GetOpenTxnsInfoResponse: break if fid == 1: if ftype == TType.I64: - self.txn_high_water_mark = iprot.readI64() + self.txn_high_water_mark = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: @@ -7141,7 +7141,7 @@ class GetOpenTxnsResponse: break if fid == 1: if ftype == TType.I64: - self.txn_high_water_mark = iprot.readI64() + self.txn_high_water_mark = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: @@ -7149,7 +7149,7 @@ class GetOpenTxnsResponse: self.open_txns = set() (_etype388, _size385) = iprot.readSetBegin() for _i389 in xrange(_size385): - _elem390 = iprot.readI64() + _elem390 = iprot.readI64(); self.open_txns.add(_elem390) iprot.readSetEnd() else: @@ -7234,17 +7234,17 @@ class OpenTxnRequest: break if fid == 1: if ftype == TType.I32: - self.num_txns = iprot.readI32() + self.num_txns = iprot.readI32(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.user = iprot.readString() + self.user = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.hostname = iprot.readString() + self.hostname = iprot.readString(); else: iprot.skip(ftype) else: @@ -7328,7 +7328,7 @@ class OpenTxnsResponse: self.txn_ids = [] (_etype395, _size392) = iprot.readListBegin() for _i396 in xrange(_size392): - _elem397 = iprot.readI64() + _elem397 = iprot.readI64(); self.txn_ids.append(_elem397) iprot.readListEnd() else: @@ -7400,7 +7400,7 @@ class AbortTxnRequest: break if fid == 1: if ftype == TType.I64: - self.txnid = iprot.readI64() + self.txnid = iprot.readI64(); else: iprot.skip(ftype) else: @@ -7467,7 +7467,7 @@ class CommitTxnRequest: break if fid == 1: if ftype == TType.I64: - self.txnid = iprot.readI64() + self.txnid = iprot.readI64(); else: iprot.skip(ftype) else: @@ -7546,27 +7546,27 @@ class LockComponent: break if fid == 1: if ftype == TType.I32: - self.type = iprot.readI32() + self.type = iprot.readI32(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I32: - self.level = iprot.readI32() + self.level = iprot.readI32(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.dbname = iprot.readString() + self.dbname = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.tablename = iprot.readString() + self.tablename = iprot.readString(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.partitionname = iprot.readString() + self.partitionname = iprot.readString(); else: iprot.skip(ftype) else: @@ -7677,17 +7677,17 @@ class LockRequest: iprot.skip(ftype) elif fid == 2: if ftype == TType.I64: - self.txnid = iprot.readI64() + self.txnid = iprot.readI64(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.user = iprot.readString() + self.user = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.hostname = iprot.readString() + self.hostname = iprot.readString(); else: iprot.skip(ftype) else: @@ -7779,12 +7779,12 @@ class LockResponse: break if fid == 1: if ftype == TType.I64: - self.lockid = iprot.readI64() + self.lockid = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I32: - self.state = iprot.readI32() + self.state = iprot.readI32(); else: iprot.skip(ftype) else: @@ -7858,7 +7858,7 @@ class CheckLockRequest: break if fid == 1: if ftype == TType.I64: - self.lockid = iprot.readI64() + self.lockid = iprot.readI64(); else: iprot.skip(ftype) else: @@ -7925,7 +7925,7 @@ class UnlockRequest: break if fid == 1: if ftype == TType.I64: - self.lockid = iprot.readI64() + self.lockid = iprot.readI64(); else: iprot.skip(ftype) else: @@ -8068,57 +8068,57 @@ class ShowLocksResponseElement: break if fid == 1: if ftype == TType.I64: - self.lockid = iprot.readI64() + self.lockid = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.dbname = iprot.readString() + self.dbname = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.tablename = iprot.readString() + self.tablename = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.partname = iprot.readString() + self.partname = iprot.readString(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.I32: - self.state = iprot.readI32() + self.state = iprot.readI32(); else: iprot.skip(ftype) elif fid == 6: if ftype == TType.I32: - self.type = iprot.readI32() + self.type = iprot.readI32(); else: iprot.skip(ftype) elif fid == 7: if ftype == TType.I64: - self.txnid = iprot.readI64() + self.txnid = iprot.readI64(); else: iprot.skip(ftype) elif fid == 8: if ftype == TType.I64: - self.lastheartbeat = iprot.readI64() + self.lastheartbeat = iprot.readI64(); else: iprot.skip(ftype) elif fid == 9: if ftype == TType.I64: - self.acquiredat = iprot.readI64() + self.acquiredat = iprot.readI64(); else: iprot.skip(ftype) elif fid == 10: if ftype == TType.STRING: - self.user = iprot.readString() + self.user = iprot.readString(); else: iprot.skip(ftype) elif fid == 11: if ftype == TType.STRING: - self.hostname = iprot.readString() + self.hostname = iprot.readString(); else: iprot.skip(ftype) else: @@ -8324,12 +8324,12 @@ class HeartbeatRequest: break if fid == 1: if ftype == TType.I64: - self.lockid = iprot.readI64() + self.lockid = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I64: - self.txnid = iprot.readI64() + self.txnid = iprot.readI64(); else: iprot.skip(ftype) else: @@ -8402,12 +8402,12 @@ class HeartbeatTxnRangeRequest: break if fid == 1: if ftype == TType.I64: - self.min = iprot.readI64() + self.min = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I64: - self.max = iprot.readI64() + self.max = iprot.readI64(); else: iprot.skip(ftype) else: @@ -8487,7 +8487,7 @@ class HeartbeatTxnRangeResponse: self.aborted = set() (_etype416, _size413) = iprot.readSetBegin() for _i417 in xrange(_size413): - _elem418 = iprot.readI64() + _elem418 = iprot.readI64(); self.aborted.add(_elem418) iprot.readSetEnd() else: @@ -8497,7 +8497,7 @@ class HeartbeatTxnRangeResponse: self.nosuch = set() (_etype422, _size419) = iprot.readSetBegin() for _i423 in xrange(_size419): - _elem424 = iprot.readI64() + _elem424 = iprot.readI64(); self.nosuch.add(_elem424) iprot.readSetEnd() else: @@ -8591,27 +8591,27 @@ class CompactionRequest: break if fid == 1: if ftype == TType.STRING: - self.dbname = iprot.readString() + self.dbname = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.tablename = iprot.readString() + self.tablename = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.partitionname = iprot.readString() + self.partitionname = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I32: - self.type = iprot.readI32() + self.type = iprot.readI32(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.runas = iprot.readString() + self.runas = iprot.readString(); else: iprot.skip(ftype) else: @@ -8769,42 +8769,42 @@ class ShowCompactResponseElement: break if fid == 1: if ftype == TType.STRING: - self.dbname = iprot.readString() + self.dbname = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.tablename = iprot.readString() + self.tablename = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.partitionname = iprot.readString() + self.partitionname = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I32: - self.type = iprot.readI32() + self.type = iprot.readI32(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.state = iprot.readString() + self.state = iprot.readString(); else: iprot.skip(ftype) elif fid == 6: if ftype == TType.STRING: - self.workerid = iprot.readString() + self.workerid = iprot.readString(); else: iprot.skip(ftype) elif fid == 7: if ftype == TType.I64: - self.start = iprot.readI64() + self.start = iprot.readI64(); else: iprot.skip(ftype) elif fid == 8: if ftype == TType.STRING: - self.runAs = iprot.readString() + self.runAs = iprot.readString(); else: iprot.skip(ftype) else: @@ -8997,17 +8997,17 @@ class AddDynamicPartitions: break if fid == 1: if ftype == TType.I64: - self.txnid = iprot.readI64() + self.txnid = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.dbname = iprot.readString() + self.dbname = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.tablename = iprot.readString() + self.tablename = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: @@ -9015,7 +9015,7 @@ class AddDynamicPartitions: self.partitionnames = [] (_etype437, _size434) = iprot.readListBegin() for _i438 in xrange(_size434): - _elem439 = iprot.readString() + _elem439 = iprot.readString(); self.partitionnames.append(_elem439) iprot.readListEnd() else: @@ -9111,12 +9111,12 @@ class NotificationEventRequest: break if fid == 1: if ftype == TType.I64: - self.lastEvent = iprot.readI64() + self.lastEvent = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I32: - self.maxEvents = iprot.readI32() + self.maxEvents = iprot.readI32(); else: iprot.skip(ftype) else: @@ -9203,32 +9203,32 @@ class NotificationEvent: break if fid == 1: if ftype == TType.I64: - self.eventId = iprot.readI64() + self.eventId = iprot.readI64(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.I32: - self.eventTime = iprot.readI32() + self.eventTime = iprot.readI32(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.eventType = iprot.readString() + self.eventType = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 5: if ftype == TType.STRING: - self.tableName = iprot.readString() + self.tableName = iprot.readString(); else: iprot.skip(ftype) elif fid == 6: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -9402,7 +9402,7 @@ class CurrentNotificationEventId: break if fid == 1: if ftype == TType.I64: - self.eventId = iprot.readI64() + self.eventId = iprot.readI64(); else: iprot.skip(ftype) else: @@ -9472,7 +9472,7 @@ class InsertEventRequestData: self.filesAdded = [] (_etype451, _size448) = iprot.readListBegin() for _i452 in xrange(_size448): - _elem453 = iprot.readString() + _elem453 = iprot.readString(); self.filesAdded.append(_elem453) iprot.readListEnd() else: @@ -9622,7 +9622,7 @@ class FireEventRequest: break if fid == 1: if ftype == TType.BOOL: - self.successful = iprot.readBool() + self.successful = iprot.readBool(); else: iprot.skip(ftype) elif fid == 2: @@ -9633,12 +9633,12 @@ class FireEventRequest: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.tableName = iprot.readString() + self.tableName = iprot.readString(); else: iprot.skip(ftype) elif fid == 5: @@ -9646,7 +9646,7 @@ class FireEventRequest: self.partitionVals = [] (_etype458, _size455) = iprot.readListBegin() for _i459 in xrange(_size455): - _elem460 = iprot.readString() + _elem460 = iprot.readString(); self.partitionVals.append(_elem460) iprot.readListEnd() else: @@ -9789,12 +9789,12 @@ class MetadataPpdResult: break if fid == 1: if ftype == TType.STRING: - self.metadata = iprot.readString() + self.metadata = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.includeBitset = iprot.readString() + self.includeBitset = iprot.readString(); else: iprot.skip(ftype) else: @@ -9870,7 +9870,7 @@ class GetFileMetadataByExprResult: self.metadata = {} (_ktype463, _vtype464, _size462 ) = iprot.readMapBegin() for _i466 in xrange(_size462): - _key467 = iprot.readI64() + _key467 = iprot.readI64(); _val468 = MetadataPpdResult() _val468.read(iprot) self.metadata[_key467] = _val468 @@ -9879,7 +9879,7 @@ class GetFileMetadataByExprResult: iprot.skip(ftype) elif fid == 2: if ftype == TType.BOOL: - self.isSupported = iprot.readBool() + self.isSupported = iprot.readBool(); else: iprot.skip(ftype) else: @@ -9969,24 +9969,24 @@ class GetFileMetadataByExprRequest: self.fileIds = [] (_etype474, _size471) = iprot.readListBegin() for _i475 in xrange(_size471): - _elem476 = iprot.readI64() + _elem476 = iprot.readI64(); self.fileIds.append(_elem476) iprot.readListEnd() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.expr = iprot.readString() + self.expr = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.BOOL: - self.doGetFooters = iprot.readBool() + self.doGetFooters = iprot.readBool(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.I32: - self.type = iprot.readI32() + self.type = iprot.readI32(); else: iprot.skip(ftype) else: @@ -10079,15 +10079,15 @@ class GetFileMetadataResult: self.metadata = {} (_ktype479, _vtype480, _size478 ) = iprot.readMapBegin() for _i482 in xrange(_size478): - _key483 = iprot.readI64() - _val484 = iprot.readString() + _key483 = iprot.readI64(); + _val484 = iprot.readString(); self.metadata[_key483] = _val484 iprot.readMapEnd() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.BOOL: - self.isSupported = iprot.readBool() + self.isSupported = iprot.readBool(); else: iprot.skip(ftype) else: @@ -10168,7 +10168,7 @@ class GetFileMetadataRequest: self.fileIds = [] (_etype490, _size487) = iprot.readListBegin() for _i491 in xrange(_size487): - _elem492 = iprot.readI64() + _elem492 = iprot.readI64(); self.fileIds.append(_elem492) iprot.readListEnd() else: @@ -10295,7 +10295,7 @@ class PutFileMetadataRequest: self.fileIds = [] (_etype497, _size494) = iprot.readListBegin() for _i498 in xrange(_size494): - _elem499 = iprot.readI64() + _elem499 = iprot.readI64(); self.fileIds.append(_elem499) iprot.readListEnd() else: @@ -10305,7 +10305,7 @@ class PutFileMetadataRequest: self.metadata = [] (_etype503, _size500) = iprot.readListBegin() for _i504 in xrange(_size500): - _elem505 = iprot.readString() + _elem505 = iprot.readString(); self.metadata.append(_elem505) iprot.readListEnd() else: @@ -10446,7 +10446,7 @@ class ClearFileMetadataRequest: self.fileIds = [] (_etype511, _size508) = iprot.readListBegin() for _i512 in xrange(_size508): - _elem513 = iprot.readI64() + _elem513 = iprot.readI64(); self.fileIds.append(_elem513) iprot.readListEnd() else: @@ -10776,22 +10776,22 @@ class TableMeta: break if fid == 1: if ftype == TType.STRING: - self.dbName = iprot.readString() + self.dbName = iprot.readString(); else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRING: - self.tableName = iprot.readString() + self.tableName = iprot.readString(); else: iprot.skip(ftype) elif fid == 3: if ftype == TType.STRING: - self.tableType = iprot.readString() + self.tableType = iprot.readString(); else: iprot.skip(ftype) elif fid == 4: if ftype == TType.STRING: - self.comments = iprot.readString() + self.comments = iprot.readString(); else: iprot.skip(ftype) else: @@ -10877,7 +10877,7 @@ class MetaException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -10945,7 +10945,7 @@ class UnknownTableException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11013,7 +11013,7 @@ class UnknownDBException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11081,7 +11081,7 @@ class AlreadyExistsException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11149,7 +11149,7 @@ class InvalidPartitionException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11217,7 +11217,7 @@ class UnknownPartitionException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11285,7 +11285,7 @@ class InvalidObjectException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11353,7 +11353,7 @@ class NoSuchObjectException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11421,7 +11421,7 @@ class IndexAlreadyExistsException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11489,7 +11489,7 @@ class InvalidOperationException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11557,7 +11557,7 @@ class ConfigValSecurityException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11625,7 +11625,7 @@ class InvalidInputException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11693,7 +11693,7 @@ class NoSuchTxnException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11761,7 +11761,7 @@ class TxnAbortedException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11829,7 +11829,7 @@ class TxnOpenException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: @@ -11897,7 +11897,7 @@ class NoSuchLockException(TException): break if fid == 1: if ftype == TType.STRING: - self.message = iprot.readString() + self.message = iprot.readString(); else: iprot.skip(ftype) else: http://git-wip-us.apache.org/repos/asf/hive/blob/ccb30e3e/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 eeccc84..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.3) +# 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/ccb30e3e/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 a7b1e86..f545de6 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.3) +# 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/ccb30e3e/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 a90a180..be83a98 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.3) +# Autogenerated by Thrift Compiler (0.9.2) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # @@ -1004,6 +1004,23 @@ module ThriftHiveMetastore raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'get_partitions_by_expr failed: unknown result') end + def get_num_partitions_by_filter(db_name, tbl_name, filter) + send_get_num_partitions_by_filter(db_name, tbl_name, filter) + return recv_get_num_partitions_by_filter() + end + + def send_get_num_partitions_by_filter(db_name, tbl_name, filter) + send_message('get_num_partitions_by_filter', Get_num_partitions_by_filter_args, :db_name => db_name, :tbl_name => tbl_name, :filter => filter) + end + + def recv_get_num_partitions_by_filter() + result = receive_message(Get_num_partitions_by_filter_result) + return result.success unless result.success.nil? + raise result.o1 unless result.o1.nil? + raise result.o2 unless result.o2.nil? + raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'get_num_partitions_by_filter failed: unknown result') + end + def get_partitions_by_names(db_name, tbl_name, names) send_get_partitions_by_names(db_name, tbl_name, names) return recv_get_partitions_by_names() @@ -3007,6 +3024,19 @@ module ThriftHiveMetastore write_result(result, oprot, 'get_partitions_by_expr', seqid) end + def process_get_num_partitions_by_filter(seqid, iprot, oprot) + args = read_args(iprot, Get_num_partitions_by_filter_args) + result = Get_num_partitions_by_filter_result.new() + begin + result.success = @handler.get_num_partitions_by_filter(args.db_name, args.tbl_name, args.filter) + rescue ::MetaException => o1 + result.o1 = o1 + rescue ::NoSuchObjectException => o2 + result.o2 = o2 + end + write_result(result, oprot, 'get_num_partitions_by_filter', seqid) + end + def process_get_partitions_by_names(seqid, iprot, oprot) args = read_args(iprot, Get_partitions_by_names_args) result = Get_partitions_by_names_result.new() @@ -6176,6 +6206,46 @@ module ThriftHiveMetastore ::Thrift::Struct.generate_accessors self end + class Get_num_partitions_by_filter_args + include ::Thrift::Struct, ::Thrift::Struct_Union + DB_NAME = 1 + TBL_NAME = 2 + FILTER = 3 + + FIELDS = { + DB_NAME => {:type => ::Thrift::Types::STRING, :name => 'db_name'}, + TBL_NAME => {:type => ::Thrift::Types::STRING, :name => 'tbl_name'}, + FILTER => {:type => ::Thrift::Types::STRING, :name => 'filter'} + } + + def struct_fields; FIELDS; end + + def validate + end + + ::Thrift::Struct.generate_accessors self + end + + class Get_num_partitions_by_filter_result + include ::Thrift::Struct, ::Thrift::Struct_Union + SUCCESS = 0 + O1 = 1 + O2 = 2 + + FIELDS = { + SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'}, + O1 => {:type => ::Thrift::Types::STRUCT, :name => 'o1', :class => ::MetaException}, + O2 => {:type => ::Thrift::Types::STRUCT, :name => 'o2', :class => ::NoSuchObjectException} + } + + def struct_fields; FIELDS; end + + def validate + end + + ::Thrift::Struct.generate_accessors self + end + class Get_partitions_by_names_args include ::Thrift::Struct, ::Thrift::Struct_Union DB_NAME = 1 http://git-wip-us.apache.org/repos/asf/hive/blob/ccb30e3e/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java ---------------------------------------------------------------------- diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java index 81d7128..ace644b 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java @@ -4559,6 +4559,25 @@ public class HiveMetaStore extends ThriftHiveMetastore { } @Override + public int get_num_partitions_by_filter(final String dbName, + final String tblName, final String filter) + throws MetaException, NoSuchObjectException, TException { + startTableFunction("get_num_partitions_by_filter", dbName, tblName); + + int ret = -1; + Exception ex = null; + try { + ret = getMS().getNumPartitionsByFilter(dbName, tblName, filter); + } catch (Exception e) { + ex = e; + rethrowException(e); + } finally { + endFunction("get_num_partitions_by_filter", ret != -1, ex, tblName); + } + return ret; + } + + @Override public List<Partition> get_partitions_by_names(final String dbName, final String tblName, final List<String> partNames) throws MetaException, NoSuchObjectException, TException { http://git-wip-us.apache.org/repos/asf/hive/blob/ccb30e3e/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java ---------------------------------------------------------------------- diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java index a17c6d8..09a6aea 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java @@ -1204,7 +1204,6 @@ public class HiveMetaStoreClient implements IMetaStoreClient { return !r.isSetHasUnknownPartitions() || r.isHasUnknownPartitions(); // Assume the worst. } - /** * @param name * @return the database @@ -1395,6 +1394,24 @@ public class HiveMetaStoreClient implements IMetaStoreClient { client.get_partition_names_ps(db_name, tbl_name, part_vals, max_parts)); } + /** + * Get number of partitions matching specified filter + * @param db_name the database name + * @param tbl_name the table name + * @param filter the filter string, + * for example "part1 = \"p1_abc\" and part2 <= "\p2_test\"". Filtering can + * be done only on string partition keys. + * @return number of partitions + * @throws MetaException + * @throws NoSuchObjectException + * @throws TException + */ + public int getNumPartitionsByFilter(String db_name, String tbl_name, + String filter) throws MetaException, + NoSuchObjectException, TException { + return client.get_num_partitions_by_filter(db_name, tbl_name, filter); + } + @Override public void alter_partition(String dbName, String tblName, Partition newPart) throws InvalidOperationException, MetaException, TException { http://git-wip-us.apache.org/repos/asf/hive/blob/ccb30e3e/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java ---------------------------------------------------------------------- diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java b/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java index 25e0d38..4284d54 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java @@ -530,6 +530,22 @@ public interface IMetaStoreClient { throws MetaException, TException, NoSuchObjectException; /** + * Get number of partitions matching specified filter + * @param dbName the database name + * @param tableName the table name + * @param filter the filter string, + * for example "part1 = \"p1_abc\" and part2 <= "\p2_test\"". Filtering can + * be done only on string partition keys. + * @return number of partitions + * @throws MetaException + * @throws NoSuchObjectException + * @throws TException + */ + public int getNumPartitionsByFilter(String dbName, String tableName, + String filter) throws MetaException, NoSuchObjectException, TException; + + + /** * Get list of partitions matching specified filter * @param db_name the database name * @param tbl_name the table name http://git-wip-us.apache.org/repos/asf/hive/blob/ccb30e3e/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java ---------------------------------------------------------------------- diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java b/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java index 36b316a..be54b9c 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java @@ -385,6 +385,20 @@ class MetaStoreDirectSql { isViewTable, sqlFilter, params, joins, max); } + public int getNumPartitionsViaSqlFilter(Table table, ExpressionTree tree) throws MetaException { + List<Object> params = new ArrayList<Object>(); + List<String>joins = new ArrayList<String>(); + // Derby and Oracle do not interpret filters ANSI-properly in some cases and need a workaround. + boolean dbHasJoinCastBug = (dbType == DB.DERBY || dbType == DB.ORACLE); + String sqlFilter = PartitionFilterGenerator.generateSqlFilter( + table, tree, params, joins, dbHasJoinCastBug, defaultPartName); + if (sqlFilter == null) { + return 0; // Cannot make SQL filter to push down. + } + return getNumPartitionsViaSqlFilterInternal(table.getDbName(), table.getTableName(), sqlFilter, params, joins); + } + + /** * Gets all partitions of a table by using direct SQL queries. * @param dbName Metastore db name. @@ -807,6 +821,39 @@ class MetaStoreDirectSql { return orderedResult; } + private int getNumPartitionsViaSqlFilterInternal(String dbName, String tblName, + String sqlFilter, List<Object> paramsForFilter, + List<String> joinsForFilter) throws MetaException { + boolean doTrace = LOG.isDebugEnabled(); + dbName = dbName.toLowerCase(); + tblName = tblName.toLowerCase(); + + // Get number of partitions by doing count on PART_ID. + String queryText = "select count(\"PARTITIONS\".\"PART_ID\") from \"PARTITIONS\"" + + " inner join \"TBLS\" on \"PARTITIONS\".\"TBL_ID\" = \"TBLS\".\"TBL_ID\" " + + " and \"TBLS\".\"TBL_NAME\" = ? " + + " inner join \"DBS\" on \"TBLS\".\"DB_ID\" = \"DBS\".\"DB_ID\" " + + " and \"DBS\".\"NAME\" = ? " + + join(joinsForFilter, ' ') + + (sqlFilter == null ? "" : (" where " + sqlFilter)); + + Object[] params = new Object[paramsForFilter.size() + 2]; + params[0] = tblName; + params[1] = dbName; + for (int i = 0; i < paramsForFilter.size(); ++i) { + params[i + 2] = paramsForFilter.get(i); + } + + long start = doTrace ? System.nanoTime() : 0; + Query query = pm.newQuery("javax.jdo.query.SQL", queryText); + @SuppressWarnings("unchecked") + int sqlResult = extractSqlInt(query.executeWithArray(params)); + long queryTime = doTrace ? System.nanoTime() : 0; + timingTrace(doTrace, queryText, start, queryTime); + return sqlResult; + } + + private void timingTrace(boolean doTrace, String queryText, long start, long queryTime) { if (!doTrace) return; LOG.debug("Direct SQL query in " + (queryTime - start) / 1000000.0 + "ms + " + http://git-wip-us.apache.org/repos/asf/hive/blob/ccb30e3e/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java ---------------------------------------------------------------------- diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java index 05d5b57..e1b8b6c 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java @@ -2279,6 +2279,7 @@ public class ObjectStore implements RawStore, Configurable { } return result; } + @Override protected List<Partition> getJdoResult( GetHelper<List<Partition>> ctx) throws MetaException, NoSuchObjectException { @@ -2365,6 +2366,12 @@ public class ObjectStore implements RawStore, Configurable { return results; } + + private Integer getNumPartitionsViaOrmFilter(Table table, ExpressionTree tree, boolean isValidatedFilter) + throws MetaException { + return getPartitionsViaOrmFilter(table, tree, (short) -1, isValidatedFilter).size(); + } + /** * Gets partition names from the table via ORM (JDOQL) name filter. * @param dbName Database name. @@ -2646,6 +2653,36 @@ public class ObjectStore implements RawStore, Configurable { } } + @Override + public int getNumPartitionsByFilter(String dbName, String tblName, + String filter) throws MetaException, NoSuchObjectException { + return getNumPartitionsByFilterInternal(dbName, tblName, filter, + true, true); + } + + protected int getNumPartitionsByFilterInternal(String dbName, String tblName, + String filter, boolean allowSql, boolean allowJdo) + throws MetaException, NoSuchObjectException { + final ExpressionTree tree = (filter != null && !filter.isEmpty()) + ? PartFilterExprUtil.getFilterParser(filter).tree : ExpressionTree.EMPTY_TREE; + return new GetHelper<Integer>(dbName, tblName, allowSql, allowJdo) { + @Override + protected String describeResult() { + return null; + } + + @Override + protected Integer getSqlResult(GetHelper<Integer> ctx) throws MetaException { + return directSql.getNumPartitionsViaSqlFilter(ctx.getTable(), tree); + } + @Override + protected Integer getJdoResult( + GetHelper<Integer> ctx) throws MetaException, NoSuchObjectException { + return getNumPartitionsViaOrmFilter(ctx.getTable(), tree, true); + } + }.run(true); + } + protected List<Partition> getPartitionsByFilterInternal(String dbName, String tblName, String filter, final short maxParts, boolean allowSql, boolean allowJdo) throws MetaException, NoSuchObjectException { http://git-wip-us.apache.org/repos/asf/hive/blob/ccb30e3e/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java ---------------------------------------------------------------------- diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java b/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java index d228f24..cbd5957 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java @@ -223,6 +223,9 @@ public interface RawStore extends Configurable { byte[] expr, String defaultPartitionName, short maxParts, List<Partition> result) throws TException; + public abstract int getNumPartitionsByFilter(String dbName, String tblName, String filter) + throws MetaException, NoSuchObjectException; + public abstract List<Partition> getPartitionsByNames( String dbName, String tblName, List<String> partNames) throws MetaException, NoSuchObjectException; http://git-wip-us.apache.org/repos/asf/hive/blob/ccb30e3e/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseStore.java ---------------------------------------------------------------------- diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseStore.java b/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseStore.java index fcf983f..0ffdbe0 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseStore.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseStore.java @@ -758,6 +758,21 @@ public class HBaseStore implements RawStore { } } + @Override + public int getNumPartitionsByFilter(String dbName, String tblName, String filter) + throws MetaException, NoSuchObjectException { + final ExpressionTree exprTree = (filter != null && !filter.isEmpty()) ? PartFilterExprUtil + .getFilterParser(filter).tree : ExpressionTree.EMPTY_TREE; + List<Partition> result = new ArrayList<Partition>(); + boolean commit = false; + openTransaction(); + try { + return getPartitionsByFilter(dbName, tblName, filter, Short.MAX_VALUE).size(); + } finally { + commitOrRoleBack(commit); + } + } + /** * Gets the partition names from a table, pruned using an expression. * @param table Table.
