http://git-wip-us.apache.org/repos/asf/hive/blob/21a0142f/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py ---------------------------------------------------------------------- diff --git a/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py b/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py index 57a748a..10778f2 100644 --- a/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py +++ b/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py @@ -213,6 +213,15 @@ class Iface(fb303.FacebookService.Iface): """ pass + def get_tables_by_type(self, db_name, pattern, tableType): + """ + Parameters: + - db_name + - pattern + - tableType + """ + pass + def get_table_meta(self, db_patterns, tbl_patterns, tbl_types): """ Parameters: @@ -2106,6 +2115,43 @@ class Client(fb303.FacebookService.Client, Iface): raise result.o1 raise TApplicationException(TApplicationException.MISSING_RESULT, "get_tables failed: unknown result") + def get_tables_by_type(self, db_name, pattern, tableType): + """ + Parameters: + - db_name + - pattern + - tableType + """ + self.send_get_tables_by_type(db_name, pattern, tableType) + return self.recv_get_tables_by_type() + + def send_get_tables_by_type(self, db_name, pattern, tableType): + self._oprot.writeMessageBegin('get_tables_by_type', TMessageType.CALL, self._seqid) + args = get_tables_by_type_args() + args.db_name = db_name + args.pattern = pattern + args.tableType = tableType + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_get_tables_by_type(self): + iprot = self._iprot + (fname, mtype, rseqid) = iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(iprot) + iprot.readMessageEnd() + raise x + result = get_tables_by_type_result() + result.read(iprot) + iprot.readMessageEnd() + if result.success is not None: + return result.success + if result.o1 is not None: + raise result.o1 + raise TApplicationException(TApplicationException.MISSING_RESULT, "get_tables_by_type failed: unknown result") + def get_table_meta(self, db_patterns, tbl_patterns, tbl_types): """ Parameters: @@ -6625,6 +6671,7 @@ class Processor(fb303.FacebookService.Processor, Iface, TProcessor): self._processMap["drop_table"] = Processor.process_drop_table self._processMap["drop_table_with_environment_context"] = Processor.process_drop_table_with_environment_context self._processMap["get_tables"] = Processor.process_get_tables + self._processMap["get_tables_by_type"] = Processor.process_get_tables_by_type self._processMap["get_table_meta"] = Processor.process_get_table_meta self._processMap["get_all_tables"] = Processor.process_get_all_tables self._processMap["get_table"] = Processor.process_get_table @@ -7411,6 +7458,28 @@ class Processor(fb303.FacebookService.Processor, Iface, TProcessor): oprot.writeMessageEnd() oprot.trans.flush() + def process_get_tables_by_type(self, seqid, iprot, oprot): + args = get_tables_by_type_args() + args.read(iprot) + iprot.readMessageEnd() + result = get_tables_by_type_result() + try: + result.success = self._handler.get_tables_by_type(args.db_name, args.pattern, args.tableType) + msg_type = TMessageType.REPLY + except (TTransport.TTransportException, KeyboardInterrupt, SystemExit): + raise + except MetaException as o1: + msg_type = TMessageType.REPLY + result.o1 = o1 + except Exception as ex: + msg_type = TMessageType.EXCEPTION + logging.exception(ex) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + oprot.writeMessageBegin("get_tables_by_type", msg_type, seqid) + result.write(oprot) + oprot.writeMessageEnd() + oprot.trans.flush() + def process_get_table_meta(self, seqid, iprot, oprot): args = get_table_meta_args() args.read(iprot) @@ -14626,6 +14695,183 @@ class get_tables_result: def __ne__(self, other): return not (self == other) +class get_tables_by_type_args: + """ + Attributes: + - db_name + - pattern + - tableType + """ + + thrift_spec = ( + None, # 0 + (1, TType.STRING, 'db_name', None, None, ), # 1 + (2, TType.STRING, 'pattern', None, None, ), # 2 + (3, TType.STRING, 'tableType', None, None, ), # 3 + ) + + def __init__(self, db_name=None, pattern=None, tableType=None,): + self.db_name = db_name + self.pattern = pattern + self.tableType = tableType + + def read(self, iprot): + if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: + fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.db_name = iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.pattern = iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.tableType = iprot.readString() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: + oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('get_tables_by_type_args') + if self.db_name is not None: + oprot.writeFieldBegin('db_name', TType.STRING, 1) + oprot.writeString(self.db_name) + oprot.writeFieldEnd() + if self.pattern is not None: + oprot.writeFieldBegin('pattern', TType.STRING, 2) + oprot.writeString(self.pattern) + oprot.writeFieldEnd() + if self.tableType is not None: + oprot.writeFieldBegin('tableType', TType.STRING, 3) + oprot.writeString(self.tableType) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.db_name) + value = (value * 31) ^ hash(self.pattern) + value = (value * 31) ^ hash(self.tableType) + return value + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.iteritems()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) + +class get_tables_by_type_result: + """ + Attributes: + - success + - o1 + """ + + thrift_spec = ( + (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0 + (1, TType.STRUCT, 'o1', (MetaException, MetaException.thrift_spec), None, ), # 1 + ) + + def __init__(self, success=None, o1=None,): + self.success = success + self.o1 = o1 + + def read(self, iprot): + if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: + fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 0: + if ftype == TType.LIST: + self.success = [] + (_etype641, _size638) = iprot.readListBegin() + for _i642 in xrange(_size638): + _elem643 = iprot.readString() + self.success.append(_elem643) + iprot.readListEnd() + else: + iprot.skip(ftype) + elif fid == 1: + if ftype == TType.STRUCT: + self.o1 = MetaException() + self.o1.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: + oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('get_tables_by_type_result') + if self.success is not None: + oprot.writeFieldBegin('success', TType.LIST, 0) + oprot.writeListBegin(TType.STRING, len(self.success)) + for iter644 in self.success: + oprot.writeString(iter644) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.o1 is not None: + oprot.writeFieldBegin('o1', TType.STRUCT, 1) + self.o1.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.success) + value = (value * 31) ^ hash(self.o1) + return value + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.iteritems()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) + class get_table_meta_args: """ Attributes: @@ -14668,10 +14914,10 @@ class get_table_meta_args: elif fid == 3: if ftype == TType.LIST: self.tbl_types = [] - (_etype641, _size638) = iprot.readListBegin() - for _i642 in xrange(_size638): - _elem643 = iprot.readString() - self.tbl_types.append(_elem643) + (_etype648, _size645) = iprot.readListBegin() + for _i649 in xrange(_size645): + _elem650 = iprot.readString() + self.tbl_types.append(_elem650) iprot.readListEnd() else: iprot.skip(ftype) @@ -14696,8 +14942,8 @@ class get_table_meta_args: if self.tbl_types is not None: oprot.writeFieldBegin('tbl_types', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.tbl_types)) - for iter644 in self.tbl_types: - oprot.writeString(iter644) + for iter651 in self.tbl_types: + oprot.writeString(iter651) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -14753,11 +14999,11 @@ class get_table_meta_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype648, _size645) = iprot.readListBegin() - for _i649 in xrange(_size645): - _elem650 = TableMeta() - _elem650.read(iprot) - self.success.append(_elem650) + (_etype655, _size652) = iprot.readListBegin() + for _i656 in xrange(_size652): + _elem657 = TableMeta() + _elem657.read(iprot) + self.success.append(_elem657) iprot.readListEnd() else: iprot.skip(ftype) @@ -14780,8 +15026,8 @@ class get_table_meta_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter651 in self.success: - iter651.write(oprot) + for iter658 in self.success: + iter658.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -14905,10 +15151,10 @@ class get_all_tables_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype655, _size652) = iprot.readListBegin() - for _i656 in xrange(_size652): - _elem657 = iprot.readString() - self.success.append(_elem657) + (_etype662, _size659) = iprot.readListBegin() + for _i663 in xrange(_size659): + _elem664 = iprot.readString() + self.success.append(_elem664) iprot.readListEnd() else: iprot.skip(ftype) @@ -14931,8 +15177,8 @@ class get_all_tables_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter658 in self.success: - oprot.writeString(iter658) + for iter665 in self.success: + oprot.writeString(iter665) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -15168,10 +15414,10 @@ class get_table_objects_by_name_args: elif fid == 2: if ftype == TType.LIST: self.tbl_names = [] - (_etype662, _size659) = iprot.readListBegin() - for _i663 in xrange(_size659): - _elem664 = iprot.readString() - self.tbl_names.append(_elem664) + (_etype669, _size666) = iprot.readListBegin() + for _i670 in xrange(_size666): + _elem671 = iprot.readString() + self.tbl_names.append(_elem671) iprot.readListEnd() else: iprot.skip(ftype) @@ -15192,8 +15438,8 @@ class get_table_objects_by_name_args: if self.tbl_names is not None: oprot.writeFieldBegin('tbl_names', TType.LIST, 2) oprot.writeListBegin(TType.STRING, len(self.tbl_names)) - for iter665 in self.tbl_names: - oprot.writeString(iter665) + for iter672 in self.tbl_names: + oprot.writeString(iter672) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -15254,11 +15500,11 @@ class get_table_objects_by_name_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype669, _size666) = iprot.readListBegin() - for _i670 in xrange(_size666): - _elem671 = Table() - _elem671.read(iprot) - self.success.append(_elem671) + (_etype676, _size673) = iprot.readListBegin() + for _i677 in xrange(_size673): + _elem678 = Table() + _elem678.read(iprot) + self.success.append(_elem678) iprot.readListEnd() else: iprot.skip(ftype) @@ -15293,8 +15539,8 @@ class get_table_objects_by_name_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter672 in self.success: - iter672.write(oprot) + for iter679 in self.success: + iter679.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -15460,10 +15706,10 @@ class get_table_names_by_filter_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype676, _size673) = iprot.readListBegin() - for _i677 in xrange(_size673): - _elem678 = iprot.readString() - self.success.append(_elem678) + (_etype683, _size680) = iprot.readListBegin() + for _i684 in xrange(_size680): + _elem685 = iprot.readString() + self.success.append(_elem685) iprot.readListEnd() else: iprot.skip(ftype) @@ -15498,8 +15744,8 @@ class get_table_names_by_filter_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter679 in self.success: - oprot.writeString(iter679) + for iter686 in self.success: + oprot.writeString(iter686) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -16469,11 +16715,11 @@ class add_partitions_args: if fid == 1: if ftype == TType.LIST: self.new_parts = [] - (_etype683, _size680) = iprot.readListBegin() - for _i684 in xrange(_size680): - _elem685 = Partition() - _elem685.read(iprot) - self.new_parts.append(_elem685) + (_etype690, _size687) = iprot.readListBegin() + for _i691 in xrange(_size687): + _elem692 = Partition() + _elem692.read(iprot) + self.new_parts.append(_elem692) iprot.readListEnd() else: iprot.skip(ftype) @@ -16490,8 +16736,8 @@ class add_partitions_args: if self.new_parts is not None: oprot.writeFieldBegin('new_parts', TType.LIST, 1) oprot.writeListBegin(TType.STRUCT, len(self.new_parts)) - for iter686 in self.new_parts: - iter686.write(oprot) + for iter693 in self.new_parts: + iter693.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -16649,11 +16895,11 @@ class add_partitions_pspec_args: if fid == 1: if ftype == TType.LIST: self.new_parts = [] - (_etype690, _size687) = iprot.readListBegin() - for _i691 in xrange(_size687): - _elem692 = PartitionSpec() - _elem692.read(iprot) - self.new_parts.append(_elem692) + (_etype697, _size694) = iprot.readListBegin() + for _i698 in xrange(_size694): + _elem699 = PartitionSpec() + _elem699.read(iprot) + self.new_parts.append(_elem699) iprot.readListEnd() else: iprot.skip(ftype) @@ -16670,8 +16916,8 @@ class add_partitions_pspec_args: if self.new_parts is not None: oprot.writeFieldBegin('new_parts', TType.LIST, 1) oprot.writeListBegin(TType.STRUCT, len(self.new_parts)) - for iter693 in self.new_parts: - iter693.write(oprot) + for iter700 in self.new_parts: + iter700.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -16845,10 +17091,10 @@ class append_partition_args: elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype697, _size694) = iprot.readListBegin() - for _i698 in xrange(_size694): - _elem699 = iprot.readString() - self.part_vals.append(_elem699) + (_etype704, _size701) = iprot.readListBegin() + for _i705 in xrange(_size701): + _elem706 = iprot.readString() + self.part_vals.append(_elem706) iprot.readListEnd() else: iprot.skip(ftype) @@ -16873,8 +17119,8 @@ class append_partition_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter700 in self.part_vals: - oprot.writeString(iter700) + for iter707 in self.part_vals: + oprot.writeString(iter707) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -17227,10 +17473,10 @@ class append_partition_with_environment_context_args: elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype704, _size701) = iprot.readListBegin() - for _i705 in xrange(_size701): - _elem706 = iprot.readString() - self.part_vals.append(_elem706) + (_etype711, _size708) = iprot.readListBegin() + for _i712 in xrange(_size708): + _elem713 = iprot.readString() + self.part_vals.append(_elem713) iprot.readListEnd() else: iprot.skip(ftype) @@ -17261,8 +17507,8 @@ class append_partition_with_environment_context_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter707 in self.part_vals: - oprot.writeString(iter707) + for iter714 in self.part_vals: + oprot.writeString(iter714) oprot.writeListEnd() oprot.writeFieldEnd() if self.environment_context is not None: @@ -17857,10 +18103,10 @@ class drop_partition_args: elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype711, _size708) = iprot.readListBegin() - for _i712 in xrange(_size708): - _elem713 = iprot.readString() - self.part_vals.append(_elem713) + (_etype718, _size715) = iprot.readListBegin() + for _i719 in xrange(_size715): + _elem720 = iprot.readString() + self.part_vals.append(_elem720) iprot.readListEnd() else: iprot.skip(ftype) @@ -17890,8 +18136,8 @@ class drop_partition_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter714 in self.part_vals: - oprot.writeString(iter714) + for iter721 in self.part_vals: + oprot.writeString(iter721) oprot.writeListEnd() oprot.writeFieldEnd() if self.deleteData is not None: @@ -18064,10 +18310,10 @@ class drop_partition_with_environment_context_args: elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype718, _size715) = iprot.readListBegin() - for _i719 in xrange(_size715): - _elem720 = iprot.readString() - self.part_vals.append(_elem720) + (_etype725, _size722) = iprot.readListBegin() + for _i726 in xrange(_size722): + _elem727 = iprot.readString() + self.part_vals.append(_elem727) iprot.readListEnd() else: iprot.skip(ftype) @@ -18103,8 +18349,8 @@ class drop_partition_with_environment_context_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter721 in self.part_vals: - oprot.writeString(iter721) + for iter728 in self.part_vals: + oprot.writeString(iter728) oprot.writeListEnd() oprot.writeFieldEnd() if self.deleteData is not None: @@ -18841,10 +19087,10 @@ class get_partition_args: elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype725, _size722) = iprot.readListBegin() - for _i726 in xrange(_size722): - _elem727 = iprot.readString() - self.part_vals.append(_elem727) + (_etype732, _size729) = iprot.readListBegin() + for _i733 in xrange(_size729): + _elem734 = iprot.readString() + self.part_vals.append(_elem734) iprot.readListEnd() else: iprot.skip(ftype) @@ -18869,8 +19115,8 @@ class get_partition_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter728 in self.part_vals: - oprot.writeString(iter728) + for iter735 in self.part_vals: + oprot.writeString(iter735) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -19029,11 +19275,11 @@ class exchange_partition_args: if fid == 1: if ftype == TType.MAP: self.partitionSpecs = {} - (_ktype730, _vtype731, _size729 ) = iprot.readMapBegin() - for _i733 in xrange(_size729): - _key734 = iprot.readString() - _val735 = iprot.readString() - self.partitionSpecs[_key734] = _val735 + (_ktype737, _vtype738, _size736 ) = iprot.readMapBegin() + for _i740 in xrange(_size736): + _key741 = iprot.readString() + _val742 = iprot.readString() + self.partitionSpecs[_key741] = _val742 iprot.readMapEnd() else: iprot.skip(ftype) @@ -19070,9 +19316,9 @@ class exchange_partition_args: if self.partitionSpecs is not None: oprot.writeFieldBegin('partitionSpecs', TType.MAP, 1) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.partitionSpecs)) - for kiter736,viter737 in self.partitionSpecs.items(): - oprot.writeString(kiter736) - oprot.writeString(viter737) + for kiter743,viter744 in self.partitionSpecs.items(): + oprot.writeString(kiter743) + oprot.writeString(viter744) oprot.writeMapEnd() oprot.writeFieldEnd() if self.source_db is not None: @@ -19277,11 +19523,11 @@ class exchange_partitions_args: if fid == 1: if ftype == TType.MAP: self.partitionSpecs = {} - (_ktype739, _vtype740, _size738 ) = iprot.readMapBegin() - for _i742 in xrange(_size738): - _key743 = iprot.readString() - _val744 = iprot.readString() - self.partitionSpecs[_key743] = _val744 + (_ktype746, _vtype747, _size745 ) = iprot.readMapBegin() + for _i749 in xrange(_size745): + _key750 = iprot.readString() + _val751 = iprot.readString() + self.partitionSpecs[_key750] = _val751 iprot.readMapEnd() else: iprot.skip(ftype) @@ -19318,9 +19564,9 @@ class exchange_partitions_args: if self.partitionSpecs is not None: oprot.writeFieldBegin('partitionSpecs', TType.MAP, 1) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.partitionSpecs)) - for kiter745,viter746 in self.partitionSpecs.items(): - oprot.writeString(kiter745) - oprot.writeString(viter746) + for kiter752,viter753 in self.partitionSpecs.items(): + oprot.writeString(kiter752) + oprot.writeString(viter753) oprot.writeMapEnd() oprot.writeFieldEnd() if self.source_db is not None: @@ -19403,11 +19649,11 @@ class exchange_partitions_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype750, _size747) = iprot.readListBegin() - for _i751 in xrange(_size747): - _elem752 = Partition() - _elem752.read(iprot) - self.success.append(_elem752) + (_etype757, _size754) = iprot.readListBegin() + for _i758 in xrange(_size754): + _elem759 = Partition() + _elem759.read(iprot) + self.success.append(_elem759) iprot.readListEnd() else: iprot.skip(ftype) @@ -19448,8 +19694,8 @@ class exchange_partitions_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter753 in self.success: - iter753.write(oprot) + for iter760 in self.success: + iter760.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -19543,10 +19789,10 @@ class get_partition_with_auth_args: elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype757, _size754) = iprot.readListBegin() - for _i758 in xrange(_size754): - _elem759 = iprot.readString() - self.part_vals.append(_elem759) + (_etype764, _size761) = iprot.readListBegin() + for _i765 in xrange(_size761): + _elem766 = iprot.readString() + self.part_vals.append(_elem766) iprot.readListEnd() else: iprot.skip(ftype) @@ -19558,10 +19804,10 @@ class get_partition_with_auth_args: elif fid == 5: if ftype == TType.LIST: self.group_names = [] - (_etype763, _size760) = iprot.readListBegin() - for _i764 in xrange(_size760): - _elem765 = iprot.readString() - self.group_names.append(_elem765) + (_etype770, _size767) = iprot.readListBegin() + for _i771 in xrange(_size767): + _elem772 = iprot.readString() + self.group_names.append(_elem772) iprot.readListEnd() else: iprot.skip(ftype) @@ -19586,8 +19832,8 @@ class get_partition_with_auth_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter766 in self.part_vals: - oprot.writeString(iter766) + for iter773 in self.part_vals: + oprot.writeString(iter773) oprot.writeListEnd() oprot.writeFieldEnd() if self.user_name is not None: @@ -19597,8 +19843,8 @@ class get_partition_with_auth_args: if self.group_names is not None: oprot.writeFieldBegin('group_names', TType.LIST, 5) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter767 in self.group_names: - oprot.writeString(iter767) + for iter774 in self.group_names: + oprot.writeString(iter774) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -20027,11 +20273,11 @@ class get_partitions_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype771, _size768) = iprot.readListBegin() - for _i772 in xrange(_size768): - _elem773 = Partition() - _elem773.read(iprot) - self.success.append(_elem773) + (_etype778, _size775) = iprot.readListBegin() + for _i779 in xrange(_size775): + _elem780 = Partition() + _elem780.read(iprot) + self.success.append(_elem780) iprot.readListEnd() else: iprot.skip(ftype) @@ -20060,8 +20306,8 @@ class get_partitions_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter774 in self.success: - iter774.write(oprot) + for iter781 in self.success: + iter781.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -20155,10 +20401,10 @@ class get_partitions_with_auth_args: elif fid == 5: if ftype == TType.LIST: self.group_names = [] - (_etype778, _size775) = iprot.readListBegin() - for _i779 in xrange(_size775): - _elem780 = iprot.readString() - self.group_names.append(_elem780) + (_etype785, _size782) = iprot.readListBegin() + for _i786 in xrange(_size782): + _elem787 = iprot.readString() + self.group_names.append(_elem787) iprot.readListEnd() else: iprot.skip(ftype) @@ -20191,8 +20437,8 @@ class get_partitions_with_auth_args: if self.group_names is not None: oprot.writeFieldBegin('group_names', TType.LIST, 5) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter781 in self.group_names: - oprot.writeString(iter781) + for iter788 in self.group_names: + oprot.writeString(iter788) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -20253,11 +20499,11 @@ class get_partitions_with_auth_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype785, _size782) = iprot.readListBegin() - for _i786 in xrange(_size782): - _elem787 = Partition() - _elem787.read(iprot) - self.success.append(_elem787) + (_etype792, _size789) = iprot.readListBegin() + for _i793 in xrange(_size789): + _elem794 = Partition() + _elem794.read(iprot) + self.success.append(_elem794) iprot.readListEnd() else: iprot.skip(ftype) @@ -20286,8 +20532,8 @@ class get_partitions_with_auth_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter788 in self.success: - iter788.write(oprot) + for iter795 in self.success: + iter795.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -20445,11 +20691,11 @@ class get_partitions_pspec_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype792, _size789) = iprot.readListBegin() - for _i793 in xrange(_size789): - _elem794 = PartitionSpec() - _elem794.read(iprot) - self.success.append(_elem794) + (_etype799, _size796) = iprot.readListBegin() + for _i800 in xrange(_size796): + _elem801 = PartitionSpec() + _elem801.read(iprot) + self.success.append(_elem801) iprot.readListEnd() else: iprot.skip(ftype) @@ -20478,8 +20724,8 @@ class get_partitions_pspec_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter795 in self.success: - iter795.write(oprot) + for iter802 in self.success: + iter802.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -20634,10 +20880,10 @@ class get_partition_names_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype799, _size796) = iprot.readListBegin() - for _i800 in xrange(_size796): - _elem801 = iprot.readString() - self.success.append(_elem801) + (_etype806, _size803) = iprot.readListBegin() + for _i807 in xrange(_size803): + _elem808 = iprot.readString() + self.success.append(_elem808) iprot.readListEnd() else: iprot.skip(ftype) @@ -20660,8 +20906,8 @@ class get_partition_names_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter802 in self.success: - oprot.writeString(iter802) + for iter809 in self.success: + oprot.writeString(iter809) oprot.writeListEnd() oprot.writeFieldEnd() if self.o2 is not None: @@ -20737,10 +20983,10 @@ class get_partitions_ps_args: elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype806, _size803) = iprot.readListBegin() - for _i807 in xrange(_size803): - _elem808 = iprot.readString() - self.part_vals.append(_elem808) + (_etype813, _size810) = iprot.readListBegin() + for _i814 in xrange(_size810): + _elem815 = iprot.readString() + self.part_vals.append(_elem815) iprot.readListEnd() else: iprot.skip(ftype) @@ -20770,8 +21016,8 @@ class get_partitions_ps_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter809 in self.part_vals: - oprot.writeString(iter809) + for iter816 in self.part_vals: + oprot.writeString(iter816) oprot.writeListEnd() oprot.writeFieldEnd() if self.max_parts is not None: @@ -20835,11 +21081,11 @@ class get_partitions_ps_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype813, _size810) = iprot.readListBegin() - for _i814 in xrange(_size810): - _elem815 = Partition() - _elem815.read(iprot) - self.success.append(_elem815) + (_etype820, _size817) = iprot.readListBegin() + for _i821 in xrange(_size817): + _elem822 = Partition() + _elem822.read(iprot) + self.success.append(_elem822) iprot.readListEnd() else: iprot.skip(ftype) @@ -20868,8 +21114,8 @@ class get_partitions_ps_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter816 in self.success: - iter816.write(oprot) + for iter823 in self.success: + iter823.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -20956,10 +21202,10 @@ class get_partitions_ps_with_auth_args: elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype820, _size817) = iprot.readListBegin() - for _i821 in xrange(_size817): - _elem822 = iprot.readString() - self.part_vals.append(_elem822) + (_etype827, _size824) = iprot.readListBegin() + for _i828 in xrange(_size824): + _elem829 = iprot.readString() + self.part_vals.append(_elem829) iprot.readListEnd() else: iprot.skip(ftype) @@ -20976,10 +21222,10 @@ class get_partitions_ps_with_auth_args: elif fid == 6: if ftype == TType.LIST: self.group_names = [] - (_etype826, _size823) = iprot.readListBegin() - for _i827 in xrange(_size823): - _elem828 = iprot.readString() - self.group_names.append(_elem828) + (_etype833, _size830) = iprot.readListBegin() + for _i834 in xrange(_size830): + _elem835 = iprot.readString() + self.group_names.append(_elem835) iprot.readListEnd() else: iprot.skip(ftype) @@ -21004,8 +21250,8 @@ class get_partitions_ps_with_auth_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter829 in self.part_vals: - oprot.writeString(iter829) + for iter836 in self.part_vals: + oprot.writeString(iter836) oprot.writeListEnd() oprot.writeFieldEnd() if self.max_parts is not None: @@ -21019,8 +21265,8 @@ class get_partitions_ps_with_auth_args: if self.group_names is not None: oprot.writeFieldBegin('group_names', TType.LIST, 6) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter830 in self.group_names: - oprot.writeString(iter830) + for iter837 in self.group_names: + oprot.writeString(iter837) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -21082,11 +21328,11 @@ class get_partitions_ps_with_auth_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype834, _size831) = iprot.readListBegin() - for _i835 in xrange(_size831): - _elem836 = Partition() - _elem836.read(iprot) - self.success.append(_elem836) + (_etype841, _size838) = iprot.readListBegin() + for _i842 in xrange(_size838): + _elem843 = Partition() + _elem843.read(iprot) + self.success.append(_elem843) iprot.readListEnd() else: iprot.skip(ftype) @@ -21115,8 +21361,8 @@ class get_partitions_ps_with_auth_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter837 in self.success: - iter837.write(oprot) + for iter844 in self.success: + iter844.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -21197,10 +21443,10 @@ class get_partition_names_ps_args: elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype841, _size838) = iprot.readListBegin() - for _i842 in xrange(_size838): - _elem843 = iprot.readString() - self.part_vals.append(_elem843) + (_etype848, _size845) = iprot.readListBegin() + for _i849 in xrange(_size845): + _elem850 = iprot.readString() + self.part_vals.append(_elem850) iprot.readListEnd() else: iprot.skip(ftype) @@ -21230,8 +21476,8 @@ class get_partition_names_ps_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter844 in self.part_vals: - oprot.writeString(iter844) + for iter851 in self.part_vals: + oprot.writeString(iter851) oprot.writeListEnd() oprot.writeFieldEnd() if self.max_parts is not None: @@ -21295,10 +21541,10 @@ class get_partition_names_ps_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype848, _size845) = iprot.readListBegin() - for _i849 in xrange(_size845): - _elem850 = iprot.readString() - self.success.append(_elem850) + (_etype855, _size852) = iprot.readListBegin() + for _i856 in xrange(_size852): + _elem857 = iprot.readString() + self.success.append(_elem857) iprot.readListEnd() else: iprot.skip(ftype) @@ -21327,8 +21573,8 @@ class get_partition_names_ps_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter851 in self.success: - oprot.writeString(iter851) + for iter858 in self.success: + oprot.writeString(iter858) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -21499,11 +21745,11 @@ class get_partitions_by_filter_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype855, _size852) = iprot.readListBegin() - for _i856 in xrange(_size852): - _elem857 = Partition() - _elem857.read(iprot) - self.success.append(_elem857) + (_etype862, _size859) = iprot.readListBegin() + for _i863 in xrange(_size859): + _elem864 = Partition() + _elem864.read(iprot) + self.success.append(_elem864) iprot.readListEnd() else: iprot.skip(ftype) @@ -21532,8 +21778,8 @@ class get_partitions_by_filter_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter858 in self.success: - iter858.write(oprot) + for iter865 in self.success: + iter865.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -21704,11 +21950,11 @@ class get_part_specs_by_filter_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype862, _size859) = iprot.readListBegin() - for _i863 in xrange(_size859): - _elem864 = PartitionSpec() - _elem864.read(iprot) - self.success.append(_elem864) + (_etype869, _size866) = iprot.readListBegin() + for _i870 in xrange(_size866): + _elem871 = PartitionSpec() + _elem871.read(iprot) + self.success.append(_elem871) iprot.readListEnd() else: iprot.skip(ftype) @@ -21737,8 +21983,8 @@ class get_part_specs_by_filter_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter865 in self.success: - iter865.write(oprot) + for iter872 in self.success: + iter872.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -22158,10 +22404,10 @@ class get_partitions_by_names_args: elif fid == 3: if ftype == TType.LIST: self.names = [] - (_etype869, _size866) = iprot.readListBegin() - for _i870 in xrange(_size866): - _elem871 = iprot.readString() - self.names.append(_elem871) + (_etype876, _size873) = iprot.readListBegin() + for _i877 in xrange(_size873): + _elem878 = iprot.readString() + self.names.append(_elem878) iprot.readListEnd() else: iprot.skip(ftype) @@ -22186,8 +22432,8 @@ class get_partitions_by_names_args: if self.names is not None: oprot.writeFieldBegin('names', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.names)) - for iter872 in self.names: - oprot.writeString(iter872) + for iter879 in self.names: + oprot.writeString(iter879) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -22246,11 +22492,11 @@ class get_partitions_by_names_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype876, _size873) = iprot.readListBegin() - for _i877 in xrange(_size873): - _elem878 = Partition() - _elem878.read(iprot) - self.success.append(_elem878) + (_etype883, _size880) = iprot.readListBegin() + for _i884 in xrange(_size880): + _elem885 = Partition() + _elem885.read(iprot) + self.success.append(_elem885) iprot.readListEnd() else: iprot.skip(ftype) @@ -22279,8 +22525,8 @@ class get_partitions_by_names_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter879 in self.success: - iter879.write(oprot) + for iter886 in self.success: + iter886.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -22530,11 +22776,11 @@ class alter_partitions_args: elif fid == 3: if ftype == TType.LIST: self.new_parts = [] - (_etype883, _size880) = iprot.readListBegin() - for _i884 in xrange(_size880): - _elem885 = Partition() - _elem885.read(iprot) - self.new_parts.append(_elem885) + (_etype890, _size887) = iprot.readListBegin() + for _i891 in xrange(_size887): + _elem892 = Partition() + _elem892.read(iprot) + self.new_parts.append(_elem892) iprot.readListEnd() else: iprot.skip(ftype) @@ -22559,8 +22805,8 @@ class alter_partitions_args: if self.new_parts is not None: oprot.writeFieldBegin('new_parts', TType.LIST, 3) oprot.writeListBegin(TType.STRUCT, len(self.new_parts)) - for iter886 in self.new_parts: - iter886.write(oprot) + for iter893 in self.new_parts: + iter893.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -22713,11 +22959,11 @@ class alter_partitions_with_environment_context_args: elif fid == 3: if ftype == TType.LIST: self.new_parts = [] - (_etype890, _size887) = iprot.readListBegin() - for _i891 in xrange(_size887): - _elem892 = Partition() - _elem892.read(iprot) - self.new_parts.append(_elem892) + (_etype897, _size894) = iprot.readListBegin() + for _i898 in xrange(_size894): + _elem899 = Partition() + _elem899.read(iprot) + self.new_parts.append(_elem899) iprot.readListEnd() else: iprot.skip(ftype) @@ -22748,8 +22994,8 @@ class alter_partitions_with_environment_context_args: if self.new_parts is not None: oprot.writeFieldBegin('new_parts', TType.LIST, 3) oprot.writeListBegin(TType.STRUCT, len(self.new_parts)) - for iter893 in self.new_parts: - iter893.write(oprot) + for iter900 in self.new_parts: + iter900.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.environment_context is not None: @@ -23093,10 +23339,10 @@ class rename_partition_args: elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype897, _size894) = iprot.readListBegin() - for _i898 in xrange(_size894): - _elem899 = iprot.readString() - self.part_vals.append(_elem899) + (_etype904, _size901) = iprot.readListBegin() + for _i905 in xrange(_size901): + _elem906 = iprot.readString() + self.part_vals.append(_elem906) iprot.readListEnd() else: iprot.skip(ftype) @@ -23127,8 +23373,8 @@ class rename_partition_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter900 in self.part_vals: - oprot.writeString(iter900) + for iter907 in self.part_vals: + oprot.writeString(iter907) oprot.writeListEnd() oprot.writeFieldEnd() if self.new_part is not None: @@ -23270,10 +23516,10 @@ class partition_name_has_valid_characters_args: if fid == 1: if ftype == TType.LIST: self.part_vals = [] - (_etype904, _size901) = iprot.readListBegin() - for _i905 in xrange(_size901): - _elem906 = iprot.readString() - self.part_vals.append(_elem906) + (_etype911, _size908) = iprot.readListBegin() + for _i912 in xrange(_size908): + _elem913 = iprot.readString() + self.part_vals.append(_elem913) iprot.readListEnd() else: iprot.skip(ftype) @@ -23295,8 +23541,8 @@ class partition_name_has_valid_characters_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.LIST, 1) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter907 in self.part_vals: - oprot.writeString(iter907) + for iter914 in self.part_vals: + oprot.writeString(iter914) oprot.writeListEnd() oprot.writeFieldEnd() if self.throw_exception is not None: @@ -23654,10 +23900,10 @@ class partition_name_to_vals_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype911, _size908) = iprot.readListBegin() - for _i912 in xrange(_size908): - _elem913 = iprot.readString() - self.success.append(_elem913) + (_etype918, _size915) = iprot.readListBegin() + for _i919 in xrange(_size915): + _elem920 = iprot.readString() + self.success.append(_elem920) iprot.readListEnd() else: iprot.skip(ftype) @@ -23680,8 +23926,8 @@ class partition_name_to_vals_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter914 in self.success: - oprot.writeString(iter914) + for iter921 in self.success: + oprot.writeString(iter921) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -23805,11 +24051,11 @@ class partition_name_to_spec_result: if fid == 0: if ftype == TType.MAP: self.success = {} - (_ktype916, _vtype917, _size915 ) = iprot.readMapBegin() - for _i919 in xrange(_size915): - _key920 = iprot.readString() - _val921 = iprot.readString() - self.success[_key920] = _val921 + (_ktype923, _vtype924, _size922 ) = iprot.readMapBegin() + for _i926 in xrange(_size922): + _key927 = iprot.readString() + _val928 = iprot.readString() + self.success[_key927] = _val928 iprot.readMapEnd() else: iprot.skip(ftype) @@ -23832,9 +24078,9 @@ class partition_name_to_spec_result: if self.success is not None: oprot.writeFieldBegin('success', TType.MAP, 0) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.success)) - for kiter922,viter923 in self.success.items(): - oprot.writeString(kiter922) - oprot.writeString(viter923) + for kiter929,viter930 in self.success.items(): + oprot.writeString(kiter929) + oprot.writeString(viter930) oprot.writeMapEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -23910,11 +24156,11 @@ class markPartitionForEvent_args: elif fid == 3: if ftype == TType.MAP: self.part_vals = {} - (_ktype925, _vtype926, _size924 ) = iprot.readMapBegin() - for _i928 in xrange(_size924): - _key929 = iprot.readString() - _val930 = iprot.readString() - self.part_vals[_key929] = _val930 + (_ktype932, _vtype933, _size931 ) = iprot.readMapBegin() + for _i935 in xrange(_size931): + _key936 = iprot.readString() + _val937 = iprot.readString() + self.part_vals[_key936] = _val937 iprot.readMapEnd() else: iprot.skip(ftype) @@ -23944,9 +24190,9 @@ class markPartitionForEvent_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.MAP, 3) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.part_vals)) - for kiter931,viter932 in self.part_vals.items(): - oprot.writeString(kiter931) - oprot.writeString(viter932) + for kiter938,viter939 in self.part_vals.items(): + oprot.writeString(kiter938) + oprot.writeString(viter939) oprot.writeMapEnd() oprot.writeFieldEnd() if self.eventType is not None: @@ -24160,11 +24406,11 @@ class isPartitionMarkedForEvent_args: elif fid == 3: if ftype == TType.MAP: self.part_vals = {} - (_ktype934, _vtype935, _size933 ) = iprot.readMapBegin() - for _i937 in xrange(_size933): - _key938 = iprot.readString() - _val939 = iprot.readString() - self.part_vals[_key938] = _val939 + (_ktype941, _vtype942, _size940 ) = iprot.readMapBegin() + for _i944 in xrange(_size940): + _key945 = iprot.readString() + _val946 = iprot.readString() + self.part_vals[_key945] = _val946 iprot.readMapEnd() else: iprot.skip(ftype) @@ -24194,9 +24440,9 @@ class isPartitionMarkedForEvent_args: if self.part_vals is not None: oprot.writeFieldBegin('part_vals', TType.MAP, 3) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.part_vals)) - for kiter940,viter941 in self.part_vals.items(): - oprot.writeString(kiter940) - oprot.writeString(viter941) + for kiter947,viter948 in self.part_vals.items(): + oprot.writeString(kiter947) + oprot.writeString(viter948) oprot.writeMapEnd() oprot.writeFieldEnd() if self.eventType is not None: @@ -25251,11 +25497,11 @@ class get_indexes_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype945, _size942) = iprot.readListBegin() - for _i946 in xrange(_size942): - _elem947 = Index() - _elem947.read(iprot) - self.success.append(_elem947) + (_etype952, _size949) = iprot.readListBegin() + for _i953 in xrange(_size949): + _elem954 = Index() + _elem954.read(iprot) + self.success.append(_elem954) iprot.readListEnd() else: iprot.skip(ftype) @@ -25284,8 +25530,8 @@ class get_indexes_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter948 in self.success: - iter948.write(oprot) + for iter955 in self.success: + iter955.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -25440,10 +25686,10 @@ class get_index_names_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype952, _size949) = iprot.readListBegin() - for _i953 in xrange(_size949): - _elem954 = iprot.readString() - self.success.append(_elem954) + (_etype959, _size956) = iprot.readListBegin() + for _i960 in xrange(_size956): + _elem961 = iprot.readString() + self.success.append(_elem961) iprot.readListEnd() else: iprot.skip(ftype) @@ -25466,8 +25712,8 @@ class get_index_names_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter955 in self.success: - oprot.writeString(iter955) + for iter962 in self.success: + oprot.writeString(iter962) oprot.writeListEnd() oprot.writeFieldEnd() if self.o2 is not None: @@ -28333,10 +28579,10 @@ class get_functions_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype959, _size956) = iprot.readListBegin() - for _i960 in xrange(_size956): - _elem961 = iprot.readString() - self.success.append(_elem961) + (_etype966, _size963) = iprot.readListBegin() + for _i967 in xrange(_size963): + _elem968 = iprot.readString() + self.success.append(_elem968) iprot.readListEnd() else: iprot.skip(ftype) @@ -28359,8 +28605,8 @@ class get_functions_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter962 in self.success: - oprot.writeString(iter962) + for iter969 in self.success: + oprot.writeString(iter969) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -29048,10 +29294,10 @@ class get_role_names_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype966, _size963) = iprot.readListBegin() - for _i967 in xrange(_size963): - _elem968 = iprot.readString() - self.success.append(_elem968) + (_etype973, _size970) = iprot.readListBegin() + for _i974 in xrange(_size970): + _elem975 = iprot.readString() + self.success.append(_elem975) iprot.readListEnd() else: iprot.skip(ftype) @@ -29074,8 +29320,8 @@ class get_role_names_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter969 in self.success: - oprot.writeString(iter969) + for iter976 in self.success: + oprot.writeString(iter976) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -29589,11 +29835,11 @@ class list_roles_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype973, _size970) = iprot.readListBegin() - for _i974 in xrange(_size970): - _elem975 = Role() - _elem975.read(iprot) - self.success.append(_elem975) + (_etype980, _size977) = iprot.readListBegin() + for _i981 in xrange(_size977): + _elem982 = Role() + _elem982.read(iprot) + self.success.append(_elem982) iprot.readListEnd() else: iprot.skip(ftype) @@ -29616,8 +29862,8 @@ class list_roles_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter976 in self.success: - iter976.write(oprot) + for iter983 in self.success: + iter983.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -30126,10 +30372,10 @@ class get_privilege_set_args: elif fid == 3: if ftype == TType.LIST: self.group_names = [] - (_etype980, _size977) = iprot.readListBegin() - for _i981 in xrange(_size977): - _elem982 = iprot.readString() - self.group_names.append(_elem982) + (_etype987, _size984) = iprot.readListBegin() + for _i988 in xrange(_size984): + _elem989 = iprot.readString() + self.group_names.append(_elem989) iprot.readListEnd() else: iprot.skip(ftype) @@ -30154,8 +30400,8 @@ class get_privilege_set_args: if self.group_names is not None: oprot.writeFieldBegin('group_names', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter983 in self.group_names: - oprot.writeString(iter983) + for iter990 in self.group_names: + oprot.writeString(iter990) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -30382,11 +30628,11 @@ class list_privileges_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype987, _size984) = iprot.readListBegin() - for _i988 in xrange(_size984): - _elem989 = HiveObjectPrivilege() - _elem989.read(iprot) - self.success.append(_elem989) + (_etype994, _size991) = iprot.readListBegin() + for _i995 in xrange(_size991): + _elem996 = HiveObjectPrivilege() + _elem996.read(iprot) + self.success.append(_elem996) iprot.readListEnd() else: iprot.skip(ftype) @@ -30409,8 +30655,8 @@ class list_privileges_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter990 in self.success: - iter990.write(oprot) + for iter997 in self.success: + iter997.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -30908,10 +31154,10 @@ class set_ugi_args: elif fid == 2: if ftype == TType.LIST: self.group_names = [] - (_etype994, _size991) = iprot.readListBegin() - for _i995 in xrange(_size991): - _elem996 = iprot.readString() - self.group_names.append(_elem996) + (_etype1001, _size998) = iprot.readListBegin() + for _i1002 in xrange(_size998): + _elem1003 = iprot.readString() + self.group_names.append(_elem1003) iprot.readListEnd() else: iprot.skip(ftype) @@ -30932,8 +31178,8 @@ class set_ugi_args: if self.group_names is not None: oprot.writeFieldBegin('group_names', TType.LIST, 2) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter997 in self.group_names: - oprot.writeString(iter997) + for iter1004 in self.group_names: + oprot.writeString(iter1004) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -30988,10 +31234,10 @@ class set_ugi_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype1001, _size998) = iprot.readListBegin() - for _i1002 in xrange(_size998): - _elem1003 = iprot.readString() - self.success.append(_elem1003) + (_etype1008, _size1005) = iprot.readListBegin() + for _i1009 in xrange(_size1005): + _elem1010 = iprot.readString() + self.success.append(_elem1010) iprot.readListEnd() else: iprot.skip(ftype) @@ -31014,8 +31260,8 @@ class set_ugi_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter1004 in self.success: - oprot.writeString(iter1004) + for iter1011 in self.success: + oprot.writeString(iter1011) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 is not None: @@ -31947,10 +32193,10 @@ class get_all_token_identifiers_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype1008, _size1005) = iprot.readListBegin() - for _i1009 in xrange(_size1005): - _elem1010 = iprot.readString() - self.success.append(_elem1010) + (_etype1015, _size1012) = iprot.readListBegin() + for _i1016 in xrange(_size1012): + _elem1017 = iprot.readString() + self.success.append(_elem1017) iprot.readListEnd() else: iprot.skip(ftype) @@ -31967,8 +32213,8 @@ class get_all_token_identifiers_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter1011 in self.success: - oprot.writeString(iter1011) + for iter1018 in self.success: + oprot.writeString(iter1018) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -32495,10 +32741,10 @@ class get_master_keys_result: if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype1015, _size1012) = iprot.readListBegin() - for _i1016 in xrange(_size1012): - _elem1017 = iprot.readString() - self.success.append(_elem1017) + (_etype1022, _size1019) = iprot.readListBegin() + for _i1023 in xrange(_size1019): + _elem1024 = iprot.readString() + self.success.append(_elem1024) iprot.readListEnd() else: iprot.skip(ftype) @@ -32515,8 +32761,8 @@ class get_master_keys_result: if self.success is not None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter1018 in self.success: - oprot.writeString(iter1018) + for iter1025 in self.success: + oprot.writeString(iter1025) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop()
http://git-wip-us.apache.org/repos/asf/hive/blob/21a0142f/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 51f65c6..76a3339 100644 --- a/metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb +++ b/metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb @@ -432,6 +432,22 @@ module ThriftHiveMetastore raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'get_tables failed: unknown result') end + def get_tables_by_type(db_name, pattern, tableType) + send_get_tables_by_type(db_name, pattern, tableType) + return recv_get_tables_by_type() + end + + def send_get_tables_by_type(db_name, pattern, tableType) + send_message('get_tables_by_type', Get_tables_by_type_args, :db_name => db_name, :pattern => pattern, :tableType => tableType) + end + + def recv_get_tables_by_type() + result = receive_message(Get_tables_by_type_result) + return result.success unless result.success.nil? + raise result.o1 unless result.o1.nil? + raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'get_tables_by_type failed: unknown result') + end + def get_table_meta(db_patterns, tbl_patterns, tbl_types) send_get_table_meta(db_patterns, tbl_patterns, tbl_types) return recv_get_table_meta() @@ -2828,6 +2844,17 @@ module ThriftHiveMetastore write_result(result, oprot, 'get_tables', seqid) end + def process_get_tables_by_type(seqid, iprot, oprot) + args = read_args(iprot, Get_tables_by_type_args) + result = Get_tables_by_type_result.new() + begin + result.success = @handler.get_tables_by_type(args.db_name, args.pattern, args.tableType) + rescue ::MetaException => o1 + result.o1 = o1 + end + write_result(result, oprot, 'get_tables_by_type', seqid) + end + def process_get_table_meta(seqid, iprot, oprot) args = read_args(iprot, Get_table_meta_args) result = Get_table_meta_result.new() @@ -5261,6 +5288,44 @@ module ThriftHiveMetastore ::Thrift::Struct.generate_accessors self end + class Get_tables_by_type_args + include ::Thrift::Struct, ::Thrift::Struct_Union + DB_NAME = 1 + PATTERN = 2 + TABLETYPE = 3 + + FIELDS = { + DB_NAME => {:type => ::Thrift::Types::STRING, :name => 'db_name'}, + PATTERN => {:type => ::Thrift::Types::STRING, :name => 'pattern'}, + TABLETYPE => {:type => ::Thrift::Types::STRING, :name => 'tableType'} + } + + def struct_fields; FIELDS; end + + def validate + end + + ::Thrift::Struct.generate_accessors self + end + + class Get_tables_by_type_result + include ::Thrift::Struct, ::Thrift::Struct_Union + SUCCESS = 0 + O1 = 1 + + FIELDS = { + SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRING}}, + O1 => {:type => ::Thrift::Types::STRUCT, :name => 'o1', :class => ::MetaException} + } + + def struct_fields; FIELDS; end + + def validate + end + + ::Thrift::Struct.generate_accessors self + end + class Get_table_meta_args include ::Thrift::Struct, ::Thrift::Struct_Union DB_PATTERNS = 1 http://git-wip-us.apache.org/repos/asf/hive/blob/21a0142f/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 c4d03eb..530d2f4 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java @@ -47,6 +47,7 @@ import org.apache.hadoop.hive.common.metrics.common.MetricsFactory; import org.apache.hadoop.hive.common.metrics.common.MetricsVariable; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.conf.HiveConf.ConfVars; +import org.apache.hadoop.hive.metastore.TableType; import org.apache.hadoop.hive.metastore.api.*; import org.apache.hadoop.hive.metastore.api.Table; import org.apache.hadoop.hive.metastore.events.AddIndexEvent; @@ -3744,6 +3745,28 @@ public class HiveMetaStore extends ThriftHiveMetastore { } @Override + public List<String> get_tables_by_type(final String dbname, final String pattern, final String tableType) + throws MetaException { + startFunction("get_tables_by_type", ": db=" + dbname + " pat=" + pattern + ",type=" + tableType); + + List<String> ret = null; + Exception ex = null; + try { + ret = getMS().getTables(dbname, pattern, TableType.valueOf(tableType)); + } catch (Exception e) { + ex = e; + if (e instanceof MetaException) { + throw (MetaException) e; + } else { + throw newMetaException(e); + } + } finally { + endFunction("get_tables_by_type", ret != null, ex); + } + return ret; + } + + @Override public List<String> get_all_tables(final String dbname) throws MetaException { startFunction("get_all_tables", ": db=" + dbname); http://git-wip-us.apache.org/repos/asf/hive/blob/21a0142f/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 909d8eb..c32486f 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java @@ -27,6 +27,7 @@ import org.apache.hadoop.hive.common.classification.InterfaceStability.Unstable; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.conf.HiveConf.ConfVars; import org.apache.hadoop.hive.conf.HiveConfUtil; +import org.apache.hadoop.hive.metastore.TableType; import org.apache.hadoop.hive.metastore.api.AbortTxnRequest; import org.apache.hadoop.hive.metastore.api.AbortTxnsRequest; import org.apache.hadoop.hive.metastore.api.AddDynamicPartitions; @@ -1383,6 +1384,17 @@ public class HiveMetaStoreClient implements IMetaStoreClient { return null; } + /** {@inheritDoc} */ + @Override + public List<String> getTables(String dbname, String tablePattern, TableType tableType) throws MetaException { + try { + return filterHook.filterTableNames(dbname, client.get_tables_by_type(dbname, tablePattern, tableType.toString())); + } catch (Exception e) { + MetaStoreUtils.logAndThrowMetaException(e); + } + return null; + } + @Override public List<TableMeta> getTableMeta(String dbPatterns, String tablePatterns, List<String> tableTypes) throws MetaException { http://git-wip-us.apache.org/repos/asf/hive/blob/21a0142f/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 8dc4e28..b770559 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java @@ -25,6 +25,7 @@ import org.apache.hadoop.hive.common.classification.InterfaceAudience; import org.apache.hadoop.hive.common.classification.InterfaceAudience.Public; import org.apache.hadoop.hive.common.classification.InterfaceStability.Evolving; import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.TableType; import org.apache.hadoop.hive.metastore.annotation.NoReconnect; import org.apache.hadoop.hive.metastore.api.AggrStats; import org.apache.hadoop.hive.metastore.api.AlreadyExistsException; @@ -172,6 +173,20 @@ public interface IMetaStoreClient { throws MetaException, TException, UnknownDBException; /** + * Get the names of all tables in the specified database that satisfy the supplied + * table name pattern and table type (MANAGED_TABLE || EXTERNAL_TABLE || VIRTUAL_VIEW) + * @param dbName Name of the database to fetch tables in. + * @param tablePattern pattern to match for table names. + * @param tableType Type of the table in the HMS store. VIRTUAL_VIEW is for views. + * @return List of table names. + * @throws MetaException + * @throws TException + * @throws UnknownDBException + */ + List<String> getTables(String dbName, String tablePattern, TableType tableType) + throws MetaException, TException, UnknownDBException; + + /** * For quick GetTablesOperation */ List<TableMeta> getTableMeta(String dbPatterns, String tablePatterns, List<String> tableTypes) http://git-wip-us.apache.org/repos/asf/hive/blob/21a0142f/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 74bde3d..90ea641 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java @@ -1197,6 +1197,11 @@ public class ObjectStore implements RawStore, Configurable { @Override public List<String> getTables(String dbName, String pattern) throws MetaException { + return getTables(dbName, pattern, null); + } + + @Override + public List<String> getTables(String dbName, String pattern, TableType tableType) throws MetaException { boolean commited = false; Query query = null; List<String> tbls = null; @@ -1219,6 +1224,9 @@ public class ObjectStore implements RawStore, Configurable { first = false; } queryStr = queryStr + ")"; + if (tableType != null) { + queryStr = queryStr + " && tableType.matches(\"" + tableType.toString() + "\")"; + } query = pm.newQuery(queryStr); query.declareParameters("java.lang.String dbName"); query.setResult("tableName"); http://git-wip-us.apache.org/repos/asf/hive/blob/21a0142f/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 bbd47b8..a3dd4e5 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java @@ -28,6 +28,7 @@ import java.util.Map; import org.apache.hadoop.conf.Configurable; import org.apache.hadoop.hive.common.classification.InterfaceStability; +import org.apache.hadoop.hive.metastore.TableType; import org.apache.hadoop.hive.metastore.api.AggrStats; import org.apache.hadoop.hive.metastore.api.ColumnStatistics; import org.apache.hadoop.hive.metastore.api.CurrentNotificationEventId; @@ -155,6 +156,9 @@ public interface RawStore extends Configurable { public List<String> getTables(String dbName, String pattern) throws MetaException; + public List<String> getTables(String dbName, String pattern, TableType tableType) + throws MetaException; + public List<TableMeta> getTableMeta( String dbNames, String tableNames, List<String> tableTypes) throws MetaException; http://git-wip-us.apache.org/repos/asf/hive/blob/21a0142f/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 c65c7a4..f9fad4c 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 @@ -33,6 +33,7 @@ import org.apache.hadoop.hive.metastore.HiveMetaStore; import org.apache.hadoop.hive.metastore.PartFilterExprUtil; import org.apache.hadoop.hive.metastore.PartitionExpressionProxy; import org.apache.hadoop.hive.metastore.RawStore; +import org.apache.hadoop.hive.metastore.TableType; import org.apache.hadoop.hive.metastore.Warehouse; import org.apache.hadoop.hive.metastore.api.AggrStats; import org.apache.hadoop.hive.metastore.api.ColumnStatistics; @@ -530,6 +531,11 @@ public class HBaseStore implements RawStore { } } + @Override + public List<String> getTables(String dbName, String pattern, TableType tableType) throws MetaException { + throw new UnsupportedOperationException(); + } + private List<String> getTableNamesInTx(String dbName, String pattern) throws IOException { List<Table> tables = getHBase().scanTables(HiveStringUtils.normalizeIdentifier(dbName), pattern==null?null:HiveStringUtils.normalizeIdentifier(likeToRegex(pattern))); http://git-wip-us.apache.org/repos/asf/hive/blob/21a0142f/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java ---------------------------------------------------------------------- diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java index 1ea72a0..f64b08d 100644 --- a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java +++ b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java @@ -26,6 +26,7 @@ import java.util.Map; import org.apache.hadoop.conf.Configurable; import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hive.metastore.TableType; import org.apache.hadoop.hive.metastore.api.AggrStats; import org.apache.hadoop.hive.metastore.api.ColumnStatistics; import org.apache.hadoop.hive.metastore.api.CurrentNotificationEventId; @@ -223,6 +224,11 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable { } @Override + public List<String> getTables(String dbName, String pattern, TableType tableType) throws MetaException { + return objectStore.getTables(dbName, pattern, tableType); + } + + @Override public List<TableMeta> getTableMeta(String dbNames, String tableNames, List<String> tableTypes) throws MetaException { return objectStore.getTableMeta(dbNames, tableNames, tableTypes); http://git-wip-us.apache.org/repos/asf/hive/blob/21a0142f/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java ---------------------------------------------------------------------- diff --git a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java index 3e6acc7..2682886 100644 --- a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java +++ b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java @@ -27,6 +27,7 @@ import junit.framework.Assert; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.TableType; import org.apache.hadoop.hive.metastore.api.AggrStats; import org.apache.hadoop.hive.metastore.api.ColumnStatistics; import org.apache.hadoop.hive.metastore.api.CurrentNotificationEventId; @@ -227,6 +228,11 @@ public class DummyRawStoreForJdoConnection implements RawStore { } @Override + public List<String> getTables(String dbName, String pattern, TableType tableType) throws MetaException { + return Collections.emptyList(); + } + + @Override public List<TableMeta> getTableMeta(String dbNames, String tableNames, List<String> tableTypes) throws MetaException { return Collections.emptyList(); http://git-wip-us.apache.org/repos/asf/hive/blob/21a0142f/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java index ec31cf4..cea8ce8 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java @@ -427,7 +427,7 @@ public class DDLTask extends Task<DDLWork> implements Serializable { ShowTablesDesc showTbls = work.getShowTblsDesc(); if (showTbls != null) { - return showTables(db, showTbls); + return showTablesOrViews(db, showTbls); } ShowColumnsDesc showCols = work.getShowColumnsDesc(); @@ -2380,37 +2380,44 @@ public class DDLTask extends Task<DDLWork> implements Serializable { } /** - * Write a list of the tables in the database to a file. + * Write a list of the tables/views in the database to a file. * * @param db - * The database in question. - * @param showTbls - * These are the tables we're interested in. + * The database in context. + * @param showDesc + * A ShowTablesDesc for tables or views we're interested in. * @return Returns 0 when execution succeeds and above 0 if it fails. * @throws HiveException * Throws this exception if an unexpected error occurs. */ - private int showTables(Hive db, ShowTablesDesc showTbls) throws HiveException { - // get the tables for the desired pattern - populate the output stream - List<String> tbls = null; - String dbName = showTbls.getDbName(); + private int showTablesOrViews(Hive db, ShowTablesDesc showDesc) throws HiveException { + // get the tables/views for the desired pattern - populate the output stream + List<String> tablesOrViews = null; + + String dbName = showDesc.getDbName(); + String pattern = showDesc.getPattern(); // if null, all tables/views are returned + String resultsFile = showDesc.getResFile(); + TableType type = showDesc.getType(); // will be null for tables, VIRTUAL_VIEW for views if (!db.databaseExists(dbName)) { throw new HiveException(ErrorMsg.DATABASE_NOT_EXISTS, dbName); } - if (showTbls.getPattern() != null) { - LOG.info("pattern: " + showTbls.getPattern()); - tbls = db.getTablesByPattern(dbName, showTbls.getPattern()); - LOG.info("results : " + tbls.size()); - } else { - tbls = db.getAllTables(dbName); - } + + LOG.debug("pattern: " + pattern); + tablesOrViews = db.getTablesByType(dbName, pattern, type); + LOG.debug("results : " + tablesOrViews.size()); // write the results in the file - DataOutputStream outStream = getOutputStream(showTbls.getResFile()); + DataOutputStream outStream = null; try { - SortedSet<String> sortedTbls = new TreeSet<String>(tbls); - formatter.showTables(outStream, sortedTbls); + Path resFile = new Path(resultsFile); + FileSystem fs = resFile.getFileSystem(conf); + outStream = fs.create(resFile); + + SortedSet<String> sortedSet = new TreeSet<String>(tablesOrViews); + formatter.showTables(outStream, sortedSet); + outStream.close(); + outStream = null; } catch (Exception e) { throw new HiveException(e, ErrorMsg.GENERIC_ERROR, "in database" + dbName); } finally {