FAQ
Repository: hive
Updated Branches:
   refs/heads/branch-1 fd22de06c -> 96c9ee64f


http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/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 9e460f0..0829c52 100644
--- a/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
+++ b/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
@@ -386,6 +386,17 @@ class Iface(fb303.FacebookService.Iface):
      """
      pass

+ def exchange_partitions(self, partitionSpecs, source_db, source_table_name, dest_db, dest_table_name):
+ """
+ Parameters:
+ - partitionSpecs
+ - source_db
+ - source_table_name
+ - dest_db
+ - dest_table_name
+ """
+ pass
+
    def get_partition_with_auth(self, db_name, tbl_name, part_vals, user_name, group_names):
      """
      Parameters:
@@ -2696,6 +2707,53 @@ class Client(fb303.FacebookService.Client, Iface):
        raise result.o4
      raise TApplicationException(TApplicationException.MISSING_RESULT, "exchange_partition failed: unknown result");

+ def exchange_partitions(self, partitionSpecs, source_db, source_table_name, dest_db, dest_table_name):
+ """
+ Parameters:
+ - partitionSpecs
+ - source_db
+ - source_table_name
+ - dest_db
+ - dest_table_name
+ """
+ self.send_exchange_partitions(partitionSpecs, source_db, source_table_name, dest_db, dest_table_name)
+ return self.recv_exchange_partitions()
+
+ def send_exchange_partitions(self, partitionSpecs, source_db, source_table_name, dest_db, dest_table_name):
+ self._oprot.writeMessageBegin('exchange_partitions', TMessageType.CALL, self._seqid)
+ args = exchange_partitions_args()
+ args.partitionSpecs = partitionSpecs
+ args.source_db = source_db
+ args.source_table_name = source_table_name
+ args.dest_db = dest_db
+ args.dest_table_name = dest_table_name
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_exchange_partitions(self):
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = exchange_partitions_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.success is not None:
+ return result.success
+ if result.o1 is not None:
+ raise result.o1
+ if result.o2 is not None:
+ raise result.o2
+ if result.o3 is not None:
+ raise result.o3
+ if result.o4 is not None:
+ raise result.o4
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "exchange_partitions failed: unknown result");
+
    def get_partition_with_auth(self, db_name, tbl_name, part_vals, user_name, group_names):
      """
      Parameters:
@@ -5637,6 +5695,7 @@ class Processor(fb303.FacebookService.Processor, Iface, TProcessor):
      self._processMap["drop_partitions_req"] = Processor.process_drop_partitions_req
      self._processMap["get_partition"] = Processor.process_get_partition
      self._processMap["exchange_partition"] = Processor.process_exchange_partition
+ self._processMap["exchange_partitions"] = Processor.process_exchange_partitions
      self._processMap["get_partition_with_auth"] = Processor.process_get_partition_with_auth
      self._processMap["get_partition_by_name"] = Processor.process_get_partition_by_name
      self._processMap["get_partitions"] = Processor.process_get_partitions
@@ -6471,6 +6530,26 @@ class Processor(fb303.FacebookService.Processor, Iface, TProcessor):
      oprot.writeMessageEnd()
      oprot.trans.flush()

+ def process_exchange_partitions(self, seqid, iprot, oprot):
+ args = exchange_partitions_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = exchange_partitions_result()
+ try:
+ result.success = self._handler.exchange_partitions(args.partitionSpecs, args.source_db, args.source_table_name, args.dest_db, args.dest_table_name)
+ except MetaException, o1:
+ result.o1 = o1
+ except NoSuchObjectException, o2:
+ result.o2 = o2
+ except InvalidObjectException, o3:
+ result.o3 = o3
+ except InvalidInputException, o4:
+ result.o4 = o4
+ oprot.writeMessageBegin("exchange_partitions", TMessageType.REPLY, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
    def process_get_partition_with_auth(self, seqid, iprot, oprot):
      args = get_partition_with_auth_args()
      args.read(iprot)
@@ -15686,6 +15765,262 @@ class exchange_partition_result:
    def __ne__(self, other):
      return not (self == other)

+class exchange_partitions_args:
+ """
+ Attributes:
+ - partitionSpecs
+ - source_db
+ - source_table_name
+ - dest_db
+ - dest_table_name
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.MAP, 'partitionSpecs', (TType.STRING,None,TType.STRING,None), None, ), # 1
+ (2, TType.STRING, 'source_db', None, None, ), # 2
+ (3, TType.STRING, 'source_table_name', None, None, ), # 3
+ (4, TType.STRING, 'dest_db', None, None, ), # 4
+ (5, TType.STRING, 'dest_table_name', None, None, ), # 5
+ )
+
+ def __init__(self, partitionSpecs=None, source_db=None, source_table_name=None, dest_db=None, dest_table_name=None,):
+ self.partitionSpecs = partitionSpecs
+ self.source_db = source_db
+ self.source_table_name = source_table_name
+ self.dest_db = dest_db
+ self.dest_table_name = dest_table_name
+
+ 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.MAP:
+ self.partitionSpecs = {}
+ (_ktype614, _vtype615, _size613 ) = iprot.readMapBegin()
+ for _i617 in xrange(_size613):
+ _key618 = iprot.readString();
+ _val619 = iprot.readString();
+ self.partitionSpecs[_key618] = _val619
+ iprot.readMapEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.source_db = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.source_table_name = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.dest_db = iprot.readString();
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRING:
+ self.dest_table_name = 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('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 kiter620,viter621 in self.partitionSpecs.items():
+ oprot.writeString(kiter620)
+ oprot.writeString(viter621)
+ oprot.writeMapEnd()
+ oprot.writeFieldEnd()
+ if self.source_db is not None:
+ oprot.writeFieldBegin('source_db', TType.STRING, 2)
+ oprot.writeString(self.source_db)
+ oprot.writeFieldEnd()
+ if self.source_table_name is not None:
+ oprot.writeFieldBegin('source_table_name', TType.STRING, 3)
+ oprot.writeString(self.source_table_name)
+ oprot.writeFieldEnd()
+ if self.dest_db is not None:
+ oprot.writeFieldBegin('dest_db', TType.STRING, 4)
+ oprot.writeString(self.dest_db)
+ oprot.writeFieldEnd()
+ if self.dest_table_name is not None:
+ oprot.writeFieldBegin('dest_table_name', TType.STRING, 5)
+ oprot.writeString(self.dest_table_name)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.partitionSpecs)
+ value = (value * 31) ^ hash(self.source_db)
+ value = (value * 31) ^ hash(self.source_table_name)
+ value = (value * 31) ^ hash(self.dest_db)
+ value = (value * 31) ^ hash(self.dest_table_name)
+ 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 exchange_partitions_result:
+ """
+ Attributes:
+ - success
+ - o1
+ - o2
+ - o3
+ - o4
+ """
+
+ thrift_spec = (
+ (0, TType.LIST, 'success', (TType.STRUCT,(Partition, Partition.thrift_spec)), None, ), # 0
+ (1, TType.STRUCT, 'o1', (MetaException, MetaException.thrift_spec), None, ), # 1
+ (2, TType.STRUCT, 'o2', (NoSuchObjectException, NoSuchObjectException.thrift_spec), None, ), # 2
+ (3, TType.STRUCT, 'o3', (InvalidObjectException, InvalidObjectException.thrift_spec), None, ), # 3
+ (4, TType.STRUCT, 'o4', (InvalidInputException, InvalidInputException.thrift_spec), None, ), # 4
+ )
+
+ def __init__(self, success=None, o1=None, o2=None, o3=None, o4=None,):
+ self.success = success
+ self.o1 = o1
+ self.o2 = o2
+ self.o3 = o3
+ self.o4 = o4
+
+ 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 = []
+ (_etype625, _size622) = iprot.readListBegin()
+ for _i626 in xrange(_size622):
+ _elem627 = Partition()
+ _elem627.read(iprot)
+ self.success.append(_elem627)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
+ elif fid == 1:
+ if ftype == TType.STRUCT:
+ self.o1 = MetaException()
+ self.o1.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRUCT:
+ self.o2 = NoSuchObjectException()
+ self.o2.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.o3 = InvalidObjectException()
+ self.o3.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRUCT:
+ self.o4 = InvalidInputException()
+ self.o4.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('exchange_partitions_result')
+ if self.success is not None:
+ oprot.writeFieldBegin('success', TType.LIST, 0)
+ oprot.writeListBegin(TType.STRUCT, len(self.success))
+ for iter628 in self.success:
+ iter628.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.o1 is not None:
+ oprot.writeFieldBegin('o1', TType.STRUCT, 1)
+ self.o1.write(oprot)
+ oprot.writeFieldEnd()
+ if self.o2 is not None:
+ oprot.writeFieldBegin('o2', TType.STRUCT, 2)
+ self.o2.write(oprot)
+ oprot.writeFieldEnd()
+ if self.o3 is not None:
+ oprot.writeFieldBegin('o3', TType.STRUCT, 3)
+ self.o3.write(oprot)
+ oprot.writeFieldEnd()
+ if self.o4 is not None:
+ oprot.writeFieldBegin('o4', TType.STRUCT, 4)
+ self.o4.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)
+ value = (value * 31) ^ hash(self.o2)
+ value = (value * 31) ^ hash(self.o3)
+ value = (value * 31) ^ hash(self.o4)
+ 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_partition_with_auth_args:
    """
    Attributes:
@@ -15734,10 +16069,10 @@ class get_partition_with_auth_args:
        elif fid == 3:
          if ftype == TType.LIST:
            self.part_vals = []
- (_etype616, _size613) = iprot.readListBegin()
- for _i617 in xrange(_size613):
- _elem618 = iprot.readString();
- self.part_vals.append(_elem618)
+ (_etype632, _size629) = iprot.readListBegin()
+ for _i633 in xrange(_size629):
+ _elem634 = iprot.readString();
+ self.part_vals.append(_elem634)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -15749,10 +16084,10 @@ class get_partition_with_auth_args:
        elif fid == 5:
          if ftype == TType.LIST:
            self.group_names = []
- (_etype622, _size619) = iprot.readListBegin()
- for _i623 in xrange(_size619):
- _elem624 = iprot.readString();
- self.group_names.append(_elem624)
+ (_etype638, _size635) = iprot.readListBegin()
+ for _i639 in xrange(_size635):
+ _elem640 = iprot.readString();
+ self.group_names.append(_elem640)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -15777,8 +16112,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 iter625 in self.part_vals:
- oprot.writeString(iter625)
+ for iter641 in self.part_vals:
+ oprot.writeString(iter641)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.user_name is not None:
@@ -15788,8 +16123,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 iter626 in self.group_names:
- oprot.writeString(iter626)
+ for iter642 in self.group_names:
+ oprot.writeString(iter642)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@ -16218,11 +16553,11 @@ class get_partitions_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype630, _size627) = iprot.readListBegin()
- for _i631 in xrange(_size627):
- _elem632 = Partition()
- _elem632.read(iprot)
- self.success.append(_elem632)
+ (_etype646, _size643) = iprot.readListBegin()
+ for _i647 in xrange(_size643):
+ _elem648 = Partition()
+ _elem648.read(iprot)
+ self.success.append(_elem648)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -16251,8 +16586,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 iter633 in self.success:
- iter633.write(oprot)
+ for iter649 in self.success:
+ iter649.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -16346,10 +16681,10 @@ class get_partitions_with_auth_args:
        elif fid == 5:
          if ftype == TType.LIST:
            self.group_names = []
- (_etype637, _size634) = iprot.readListBegin()
- for _i638 in xrange(_size634):
- _elem639 = iprot.readString();
- self.group_names.append(_elem639)
+ (_etype653, _size650) = iprot.readListBegin()
+ for _i654 in xrange(_size650):
+ _elem655 = iprot.readString();
+ self.group_names.append(_elem655)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -16382,8 +16717,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 iter640 in self.group_names:
- oprot.writeString(iter640)
+ for iter656 in self.group_names:
+ oprot.writeString(iter656)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@ -16444,11 +16779,11 @@ class get_partitions_with_auth_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype644, _size641) = iprot.readListBegin()
- for _i645 in xrange(_size641):
- _elem646 = Partition()
- _elem646.read(iprot)
- self.success.append(_elem646)
+ (_etype660, _size657) = iprot.readListBegin()
+ for _i661 in xrange(_size657):
+ _elem662 = Partition()
+ _elem662.read(iprot)
+ self.success.append(_elem662)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -16477,8 +16812,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 iter647 in self.success:
- iter647.write(oprot)
+ for iter663 in self.success:
+ iter663.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -16636,11 +16971,11 @@ class get_partitions_pspec_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype651, _size648) = iprot.readListBegin()
- for _i652 in xrange(_size648):
- _elem653 = PartitionSpec()
- _elem653.read(iprot)
- self.success.append(_elem653)
+ (_etype667, _size664) = iprot.readListBegin()
+ for _i668 in xrange(_size664):
+ _elem669 = PartitionSpec()
+ _elem669.read(iprot)
+ self.success.append(_elem669)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -16669,8 +17004,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 iter654 in self.success:
- iter654.write(oprot)
+ for iter670 in self.success:
+ iter670.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -16825,10 +17160,10 @@ class get_partition_names_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype658, _size655) = iprot.readListBegin()
- for _i659 in xrange(_size655):
- _elem660 = iprot.readString();
- self.success.append(_elem660)
+ (_etype674, _size671) = iprot.readListBegin()
+ for _i675 in xrange(_size671):
+ _elem676 = iprot.readString();
+ self.success.append(_elem676)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -16851,8 +17186,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 iter661 in self.success:
- oprot.writeString(iter661)
+ for iter677 in self.success:
+ oprot.writeString(iter677)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o2 is not None:
@@ -16928,10 +17263,10 @@ class get_partitions_ps_args:
        elif fid == 3:
          if ftype == TType.LIST:
            self.part_vals = []
- (_etype665, _size662) = iprot.readListBegin()
- for _i666 in xrange(_size662):
- _elem667 = iprot.readString();
- self.part_vals.append(_elem667)
+ (_etype681, _size678) = iprot.readListBegin()
+ for _i682 in xrange(_size678):
+ _elem683 = iprot.readString();
+ self.part_vals.append(_elem683)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -16961,8 +17296,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 iter668 in self.part_vals:
- oprot.writeString(iter668)
+ for iter684 in self.part_vals:
+ oprot.writeString(iter684)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.max_parts is not None:
@@ -17026,11 +17361,11 @@ class get_partitions_ps_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype672, _size669) = iprot.readListBegin()
- for _i673 in xrange(_size669):
- _elem674 = Partition()
- _elem674.read(iprot)
- self.success.append(_elem674)
+ (_etype688, _size685) = iprot.readListBegin()
+ for _i689 in xrange(_size685):
+ _elem690 = Partition()
+ _elem690.read(iprot)
+ self.success.append(_elem690)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -17059,8 +17394,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 iter675 in self.success:
- iter675.write(oprot)
+ for iter691 in self.success:
+ iter691.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -17147,10 +17482,10 @@ class get_partitions_ps_with_auth_args:
        elif fid == 3:
          if ftype == TType.LIST:
            self.part_vals = []
- (_etype679, _size676) = iprot.readListBegin()
- for _i680 in xrange(_size676):
- _elem681 = iprot.readString();
- self.part_vals.append(_elem681)
+ (_etype695, _size692) = iprot.readListBegin()
+ for _i696 in xrange(_size692):
+ _elem697 = iprot.readString();
+ self.part_vals.append(_elem697)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -17167,10 +17502,10 @@ class get_partitions_ps_with_auth_args:
        elif fid == 6:
          if ftype == TType.LIST:
            self.group_names = []
- (_etype685, _size682) = iprot.readListBegin()
- for _i686 in xrange(_size682):
- _elem687 = iprot.readString();
- self.group_names.append(_elem687)
+ (_etype701, _size698) = iprot.readListBegin()
+ for _i702 in xrange(_size698):
+ _elem703 = iprot.readString();
+ self.group_names.append(_elem703)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -17195,8 +17530,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 iter688 in self.part_vals:
- oprot.writeString(iter688)
+ for iter704 in self.part_vals:
+ oprot.writeString(iter704)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.max_parts is not None:
@@ -17210,8 +17545,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 iter689 in self.group_names:
- oprot.writeString(iter689)
+ for iter705 in self.group_names:
+ oprot.writeString(iter705)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@ -17273,11 +17608,11 @@ class get_partitions_ps_with_auth_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype693, _size690) = iprot.readListBegin()
- for _i694 in xrange(_size690):
- _elem695 = Partition()
- _elem695.read(iprot)
- self.success.append(_elem695)
+ (_etype709, _size706) = iprot.readListBegin()
+ for _i710 in xrange(_size706):
+ _elem711 = Partition()
+ _elem711.read(iprot)
+ self.success.append(_elem711)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -17306,8 +17641,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 iter696 in self.success:
- iter696.write(oprot)
+ for iter712 in self.success:
+ iter712.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -17388,10 +17723,10 @@ class get_partition_names_ps_args:
        elif fid == 3:
          if ftype == TType.LIST:
            self.part_vals = []
- (_etype700, _size697) = iprot.readListBegin()
- for _i701 in xrange(_size697):
- _elem702 = iprot.readString();
- self.part_vals.append(_elem702)
+ (_etype716, _size713) = iprot.readListBegin()
+ for _i717 in xrange(_size713):
+ _elem718 = iprot.readString();
+ self.part_vals.append(_elem718)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -17421,8 +17756,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 iter703 in self.part_vals:
- oprot.writeString(iter703)
+ for iter719 in self.part_vals:
+ oprot.writeString(iter719)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.max_parts is not None:
@@ -17486,10 +17821,10 @@ class get_partition_names_ps_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype707, _size704) = iprot.readListBegin()
- for _i708 in xrange(_size704):
- _elem709 = iprot.readString();
- self.success.append(_elem709)
+ (_etype723, _size720) = iprot.readListBegin()
+ for _i724 in xrange(_size720):
+ _elem725 = iprot.readString();
+ self.success.append(_elem725)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -17518,8 +17853,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 iter710 in self.success:
- oprot.writeString(iter710)
+ for iter726 in self.success:
+ oprot.writeString(iter726)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -17690,11 +18025,11 @@ class get_partitions_by_filter_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype714, _size711) = iprot.readListBegin()
- for _i715 in xrange(_size711):
- _elem716 = Partition()
- _elem716.read(iprot)
- self.success.append(_elem716)
+ (_etype730, _size727) = iprot.readListBegin()
+ for _i731 in xrange(_size727):
+ _elem732 = Partition()
+ _elem732.read(iprot)
+ self.success.append(_elem732)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -17723,8 +18058,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 iter717 in self.success:
- iter717.write(oprot)
+ for iter733 in self.success:
+ iter733.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -17895,11 +18230,11 @@ class get_part_specs_by_filter_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype721, _size718) = iprot.readListBegin()
- for _i722 in xrange(_size718):
- _elem723 = PartitionSpec()
- _elem723.read(iprot)
- self.success.append(_elem723)
+ (_etype737, _size734) = iprot.readListBegin()
+ for _i738 in xrange(_size734):
+ _elem739 = PartitionSpec()
+ _elem739.read(iprot)
+ self.success.append(_elem739)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -17928,8 +18263,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 iter724 in self.success:
- iter724.write(oprot)
+ for iter740 in self.success:
+ iter740.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -18166,10 +18501,10 @@ class get_partitions_by_names_args:
        elif fid == 3:
          if ftype == TType.LIST:
            self.names = []
- (_etype728, _size725) = iprot.readListBegin()
- for _i729 in xrange(_size725):
- _elem730 = iprot.readString();
- self.names.append(_elem730)
+ (_etype744, _size741) = iprot.readListBegin()
+ for _i745 in xrange(_size741):
+ _elem746 = iprot.readString();
+ self.names.append(_elem746)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -18194,8 +18529,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 iter731 in self.names:
- oprot.writeString(iter731)
+ for iter747 in self.names:
+ oprot.writeString(iter747)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@ -18254,11 +18589,11 @@ class get_partitions_by_names_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype735, _size732) = iprot.readListBegin()
- for _i736 in xrange(_size732):
- _elem737 = Partition()
- _elem737.read(iprot)
- self.success.append(_elem737)
+ (_etype751, _size748) = iprot.readListBegin()
+ for _i752 in xrange(_size748):
+ _elem753 = Partition()
+ _elem753.read(iprot)
+ self.success.append(_elem753)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -18287,8 +18622,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 iter738 in self.success:
- iter738.write(oprot)
+ for iter754 in self.success:
+ iter754.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -18538,11 +18873,11 @@ class alter_partitions_args:
        elif fid == 3:
          if ftype == TType.LIST:
            self.new_parts = []
- (_etype742, _size739) = iprot.readListBegin()
- for _i743 in xrange(_size739):
- _elem744 = Partition()
- _elem744.read(iprot)
- self.new_parts.append(_elem744)
+ (_etype758, _size755) = iprot.readListBegin()
+ for _i759 in xrange(_size755):
+ _elem760 = Partition()
+ _elem760.read(iprot)
+ self.new_parts.append(_elem760)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -18567,8 +18902,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 iter745 in self.new_parts:
- iter745.write(oprot)
+ for iter761 in self.new_parts:
+ iter761.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@ -18907,10 +19242,10 @@ class rename_partition_args:
        elif fid == 3:
          if ftype == TType.LIST:
            self.part_vals = []
- (_etype749, _size746) = iprot.readListBegin()
- for _i750 in xrange(_size746):
- _elem751 = iprot.readString();
- self.part_vals.append(_elem751)
+ (_etype765, _size762) = iprot.readListBegin()
+ for _i766 in xrange(_size762):
+ _elem767 = iprot.readString();
+ self.part_vals.append(_elem767)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -18941,8 +19276,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 iter752 in self.part_vals:
- oprot.writeString(iter752)
+ for iter768 in self.part_vals:
+ oprot.writeString(iter768)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.new_part is not None:
@@ -19084,10 +19419,10 @@ class partition_name_has_valid_characters_args:
        if fid == 1:
          if ftype == TType.LIST:
            self.part_vals = []
- (_etype756, _size753) = iprot.readListBegin()
- for _i757 in xrange(_size753):
- _elem758 = iprot.readString();
- self.part_vals.append(_elem758)
+ (_etype772, _size769) = iprot.readListBegin()
+ for _i773 in xrange(_size769):
+ _elem774 = iprot.readString();
+ self.part_vals.append(_elem774)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -19109,8 +19444,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 iter759 in self.part_vals:
- oprot.writeString(iter759)
+ for iter775 in self.part_vals:
+ oprot.writeString(iter775)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.throw_exception is not None:
@@ -19468,10 +19803,10 @@ class partition_name_to_vals_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype763, _size760) = iprot.readListBegin()
- for _i764 in xrange(_size760):
- _elem765 = iprot.readString();
- self.success.append(_elem765)
+ (_etype779, _size776) = iprot.readListBegin()
+ for _i780 in xrange(_size776):
+ _elem781 = iprot.readString();
+ self.success.append(_elem781)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -19494,8 +19829,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 iter766 in self.success:
- oprot.writeString(iter766)
+ for iter782 in self.success:
+ oprot.writeString(iter782)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -19619,11 +19954,11 @@ class partition_name_to_spec_result:
        if fid == 0:
          if ftype == TType.MAP:
            self.success = {}
- (_ktype768, _vtype769, _size767 ) = iprot.readMapBegin()
- for _i771 in xrange(_size767):
- _key772 = iprot.readString();
- _val773 = iprot.readString();
- self.success[_key772] = _val773
+ (_ktype784, _vtype785, _size783 ) = iprot.readMapBegin()
+ for _i787 in xrange(_size783):
+ _key788 = iprot.readString();
+ _val789 = iprot.readString();
+ self.success[_key788] = _val789
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@ -19646,9 +19981,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 kiter774,viter775 in self.success.items():
- oprot.writeString(kiter774)
- oprot.writeString(viter775)
+ for kiter790,viter791 in self.success.items():
+ oprot.writeString(kiter790)
+ oprot.writeString(viter791)
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -19724,11 +20059,11 @@ class markPartitionForEvent_args:
        elif fid == 3:
          if ftype == TType.MAP:
            self.part_vals = {}
- (_ktype777, _vtype778, _size776 ) = iprot.readMapBegin()
- for _i780 in xrange(_size776):
- _key781 = iprot.readString();
- _val782 = iprot.readString();
- self.part_vals[_key781] = _val782
+ (_ktype793, _vtype794, _size792 ) = iprot.readMapBegin()
+ for _i796 in xrange(_size792):
+ _key797 = iprot.readString();
+ _val798 = iprot.readString();
+ self.part_vals[_key797] = _val798
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@ -19758,9 +20093,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 kiter783,viter784 in self.part_vals.items():
- oprot.writeString(kiter783)
- oprot.writeString(viter784)
+ for kiter799,viter800 in self.part_vals.items():
+ oprot.writeString(kiter799)
+ oprot.writeString(viter800)
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      if self.eventType is not None:
@@ -19974,11 +20309,11 @@ class isPartitionMarkedForEvent_args:
        elif fid == 3:
          if ftype == TType.MAP:
            self.part_vals = {}
- (_ktype786, _vtype787, _size785 ) = iprot.readMapBegin()
- for _i789 in xrange(_size785):
- _key790 = iprot.readString();
- _val791 = iprot.readString();
- self.part_vals[_key790] = _val791
+ (_ktype802, _vtype803, _size801 ) = iprot.readMapBegin()
+ for _i805 in xrange(_size801):
+ _key806 = iprot.readString();
+ _val807 = iprot.readString();
+ self.part_vals[_key806] = _val807
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@ -20008,9 +20343,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 kiter792,viter793 in self.part_vals.items():
- oprot.writeString(kiter792)
- oprot.writeString(viter793)
+ for kiter808,viter809 in self.part_vals.items():
+ oprot.writeString(kiter808)
+ oprot.writeString(viter809)
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      if self.eventType is not None:
@@ -21065,11 +21400,11 @@ class get_indexes_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype797, _size794) = iprot.readListBegin()
- for _i798 in xrange(_size794):
- _elem799 = Index()
- _elem799.read(iprot)
- self.success.append(_elem799)
+ (_etype813, _size810) = iprot.readListBegin()
+ for _i814 in xrange(_size810):
+ _elem815 = Index()
+ _elem815.read(iprot)
+ self.success.append(_elem815)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -21098,8 +21433,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 iter800 in self.success:
- iter800.write(oprot)
+ for iter816 in self.success:
+ iter816.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -21254,10 +21589,10 @@ class get_index_names_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype804, _size801) = iprot.readListBegin()
- for _i805 in xrange(_size801):
- _elem806 = iprot.readString();
- self.success.append(_elem806)
+ (_etype820, _size817) = iprot.readListBegin()
+ for _i821 in xrange(_size817):
+ _elem822 = iprot.readString();
+ self.success.append(_elem822)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -21280,8 +21615,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 iter807 in self.success:
- oprot.writeString(iter807)
+ for iter823 in self.success:
+ oprot.writeString(iter823)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o2 is not None:
@@ -23829,10 +24164,10 @@ class get_functions_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype811, _size808) = iprot.readListBegin()
- for _i812 in xrange(_size808):
- _elem813 = iprot.readString();
- self.success.append(_elem813)
+ (_etype827, _size824) = iprot.readListBegin()
+ for _i828 in xrange(_size824):
+ _elem829 = iprot.readString();
+ self.success.append(_elem829)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -23855,8 +24190,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 iter814 in self.success:
- oprot.writeString(iter814)
+ for iter830 in self.success:
+ oprot.writeString(iter830)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -24544,10 +24879,10 @@ class get_role_names_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype818, _size815) = iprot.readListBegin()
- for _i819 in xrange(_size815):
- _elem820 = iprot.readString();
- self.success.append(_elem820)
+ (_etype834, _size831) = iprot.readListBegin()
+ for _i835 in xrange(_size831):
+ _elem836 = iprot.readString();
+ self.success.append(_elem836)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -24570,8 +24905,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 iter821 in self.success:
- oprot.writeString(iter821)
+ for iter837 in self.success:
+ oprot.writeString(iter837)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -25085,11 +25420,11 @@ class list_roles_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype825, _size822) = iprot.readListBegin()
- for _i826 in xrange(_size822):
- _elem827 = Role()
- _elem827.read(iprot)
- self.success.append(_elem827)
+ (_etype841, _size838) = iprot.readListBegin()
+ for _i842 in xrange(_size838):
+ _elem843 = Role()
+ _elem843.read(iprot)
+ self.success.append(_elem843)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -25112,8 +25447,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 iter828 in self.success:
- iter828.write(oprot)
+ for iter844 in self.success:
+ iter844.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -25622,10 +25957,10 @@ class get_privilege_set_args:
        elif fid == 3:
          if ftype == TType.LIST:
            self.group_names = []
- (_etype832, _size829) = iprot.readListBegin()
- for _i833 in xrange(_size829):
- _elem834 = iprot.readString();
- self.group_names.append(_elem834)
+ (_etype848, _size845) = iprot.readListBegin()
+ for _i849 in xrange(_size845):
+ _elem850 = iprot.readString();
+ self.group_names.append(_elem850)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -25650,8 +25985,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 iter835 in self.group_names:
- oprot.writeString(iter835)
+ for iter851 in self.group_names:
+ oprot.writeString(iter851)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@ -25878,11 +26213,11 @@ class list_privileges_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype839, _size836) = iprot.readListBegin()
- for _i840 in xrange(_size836):
- _elem841 = HiveObjectPrivilege()
- _elem841.read(iprot)
- self.success.append(_elem841)
+ (_etype855, _size852) = iprot.readListBegin()
+ for _i856 in xrange(_size852):
+ _elem857 = HiveObjectPrivilege()
+ _elem857.read(iprot)
+ self.success.append(_elem857)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -25905,8 +26240,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 iter842 in self.success:
- iter842.write(oprot)
+ for iter858 in self.success:
+ iter858.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:
@@ -26404,10 +26739,10 @@ class set_ugi_args:
        elif fid == 2:
          if ftype == TType.LIST:
            self.group_names = []
- (_etype846, _size843) = iprot.readListBegin()
- for _i847 in xrange(_size843):
- _elem848 = iprot.readString();
- self.group_names.append(_elem848)
+ (_etype862, _size859) = iprot.readListBegin()
+ for _i863 in xrange(_size859):
+ _elem864 = iprot.readString();
+ self.group_names.append(_elem864)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -26428,8 +26763,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 iter849 in self.group_names:
- oprot.writeString(iter849)
+ for iter865 in self.group_names:
+ oprot.writeString(iter865)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@ -26484,10 +26819,10 @@ class set_ugi_result:
        if fid == 0:
          if ftype == TType.LIST:
            self.success = []
- (_etype853, _size850) = iprot.readListBegin()
- for _i854 in xrange(_size850):
- _elem855 = iprot.readString();
- self.success.append(_elem855)
+ (_etype869, _size866) = iprot.readListBegin()
+ for _i870 in xrange(_size866):
+ _elem871 = iprot.readString();
+ self.success.append(_elem871)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@ -26510,8 +26845,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 iter856 in self.success:
- oprot.writeString(iter856)
+ for iter872 in self.success:
+ oprot.writeString(iter872)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.o1 is not None:

http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/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 73a1d20..4e0d4c7 100644
--- a/metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
+++ b/metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
@@ -766,6 +766,25 @@ module ThriftHiveMetastore
        raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'exchange_partition failed: unknown result')
      end

+ def exchange_partitions(partitionSpecs, source_db, source_table_name, dest_db, dest_table_name)
+ send_exchange_partitions(partitionSpecs, source_db, source_table_name, dest_db, dest_table_name)
+ return recv_exchange_partitions()
+ end
+
+ def send_exchange_partitions(partitionSpecs, source_db, source_table_name, dest_db, dest_table_name)
+ send_message('exchange_partitions', Exchange_partitions_args, :partitionSpecs => partitionSpecs, :source_db => source_db, :source_table_name => source_table_name, :dest_db => dest_db, :dest_table_name => dest_table_name)
+ end
+
+ def recv_exchange_partitions()
+ result = receive_message(Exchange_partitions_result)
+ return result.success unless result.success.nil?
+ raise result.o1 unless result.o1.nil?
+ raise result.o2 unless result.o2.nil?
+ raise result.o3 unless result.o3.nil?
+ raise result.o4 unless result.o4.nil?
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'exchange_partitions failed: unknown result')
+ end
+
      def get_partition_with_auth(db_name, tbl_name, part_vals, user_name, group_names)
        send_get_partition_with_auth(db_name, tbl_name, part_vals, user_name, group_names)
        return recv_get_partition_with_auth()
@@ -2701,6 +2720,23 @@ module ThriftHiveMetastore
        write_result(result, oprot, 'exchange_partition', seqid)
      end

+ def process_exchange_partitions(seqid, iprot, oprot)
+ args = read_args(iprot, Exchange_partitions_args)
+ result = Exchange_partitions_result.new()
+ begin
+ result.success = @handler.exchange_partitions(args.partitionSpecs, args.source_db, args.source_table_name, args.dest_db, args.dest_table_name)
+ rescue ::MetaException => o1
+ result.o1 = o1
+ rescue ::NoSuchObjectException => o2
+ result.o2 = o2
+ rescue ::InvalidObjectException => o3
+ result.o3 = o3
+ rescue ::InvalidInputException => o4
+ result.o4 = o4
+ end
+ write_result(result, oprot, 'exchange_partitions', seqid)
+ end
+
      def process_get_partition_with_auth(seqid, iprot, oprot)
        args = read_args(iprot, Get_partition_with_auth_args)
        result = Get_partition_with_auth_result.new()
@@ -5400,6 +5436,54 @@ module ThriftHiveMetastore
      ::Thrift::Struct.generate_accessors self
    end

+ class Exchange_partitions_args
+ include ::Thrift::Struct, ::Thrift::Struct_Union
+ PARTITIONSPECS = 1
+ SOURCE_DB = 2
+ SOURCE_TABLE_NAME = 3
+ DEST_DB = 4
+ DEST_TABLE_NAME = 5
+
+ FIELDS = {
+ PARTITIONSPECS => {:type => ::Thrift::Types::MAP, :name => 'partitionSpecs', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRING}},
+ SOURCE_DB => {:type => ::Thrift::Types::STRING, :name => 'source_db'},
+ SOURCE_TABLE_NAME => {:type => ::Thrift::Types::STRING, :name => 'source_table_name'},
+ DEST_DB => {:type => ::Thrift::Types::STRING, :name => 'dest_db'},
+ DEST_TABLE_NAME => {:type => ::Thrift::Types::STRING, :name => 'dest_table_name'}
+ }
+
+ def struct_fields; FIELDS; end
+
+ def validate
+ end
+
+ ::Thrift::Struct.generate_accessors self
+ end
+
+ class Exchange_partitions_result
+ include ::Thrift::Struct, ::Thrift::Struct_Union
+ SUCCESS = 0
+ O1 = 1
+ O2 = 2
+ O3 = 3
+ O4 = 4
+
+ FIELDS = {
+ SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Partition}},
+ O1 => {:type => ::Thrift::Types::STRUCT, :name => 'o1', :class => ::MetaException},
+ O2 => {:type => ::Thrift::Types::STRUCT, :name => 'o2', :class => ::NoSuchObjectException},
+ O3 => {:type => ::Thrift::Types::STRUCT, :name => 'o3', :class => ::InvalidObjectException},
+ O4 => {:type => ::Thrift::Types::STRUCT, :name => 'o4', :class => ::InvalidInputException}
+ }
+
+ def struct_fields; FIELDS; end
+
+ def validate
+ end
+
+ ::Thrift::Struct.generate_accessors self
+ end
+
    class Get_partition_with_auth_args
      include ::Thrift::Struct, ::Thrift::Struct_Union
      DB_NAME = 1

http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/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 0ffc838..7f97b6e 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
@@ -2549,6 +2549,15 @@ public class HiveMetaStore extends ThriftHiveMetastore {
          String sourceDbName, String sourceTableName, String destDbName,
          String destTableName) throws MetaException, NoSuchObjectException,
          InvalidObjectException, InvalidInputException, TException {
+ exchange_partitions(partitionSpecs, sourceDbName, sourceTableName, destDbName, destTableName);
+ return new Partition();
+ }
+
+ @Override
+ public List<Partition> exchange_partitions(Map<String, String> partitionSpecs,
+ String sourceDbName, String sourceTableName, String destDbName,
+ String destTableName) throws MetaException, NoSuchObjectException,
+ InvalidObjectException, InvalidInputException, TException {
        boolean success = false;
        boolean pathCreated = false;
        RawStore ms = getMS();
@@ -2583,6 +2592,7 @@ public class HiveMetaStore extends ThriftHiveMetastore {
        Path destPath = new Path(destinationTable.getSd().getLocation(),
            Warehouse.makePartName(partitionKeysPresent, partValsPresent));
        try {
+ List<Partition> destPartitions = new ArrayList<Partition>();
          for (Partition partition: partitionsToExchange) {
            Partition destPartition = new Partition(partition);
            destPartition.setDbName(destDbName);
@@ -2591,6 +2601,7 @@ public class HiveMetaStore extends ThriftHiveMetastore {
                Warehouse.makePartName(destinationTable.getPartitionKeys(), partition.getValues()));
            destPartition.getSd().setLocation(destPartitionPath.toString());
            ms.addPartition(destPartition);
+ destPartitions.add(destPartition);
            ms.dropPartition(partition.getDbName(), sourceTable.getTableName(),
              partition.getValues());
          }
@@ -2606,6 +2617,7 @@ public class HiveMetaStore extends ThriftHiveMetastore {
           */
          pathCreated = wh.renameDir(sourcePath, destPath);
          success = ms.commitTransaction();
+ return destPartitions;
        } finally {
          if (!success || !pathCreated) {
            ms.rollbackTransaction();
@@ -2614,7 +2626,6 @@ public class HiveMetaStore extends ThriftHiveMetastore {
            }
          }
        }
- return new Partition();
      }

      private boolean drop_partition_common(RawStore ms, String db_name, String tbl_name,

http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/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 6ee48c6..393ef3b 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
@@ -638,6 +638,22 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
          destDb, destinationTableName);
    }

+ /**
+ * Exchange the partitions between two tables
+ * @param partitionSpecs partitions specs of the parent partition to be exchanged
+ * @param destDb the db of the destination table
+ * @param destinationTableName the destination table name
+ @ @return new partitions after exchanging
+ */
+ @Override
+ public List<Partition> exchange_partitions(Map<String, String> partitionSpecs,
+ String sourceDb, String sourceTable, String destDb,
+ String destinationTableName) throws MetaException,
+ NoSuchObjectException, InvalidObjectException, TException {
+ return client.exchange_partitions(partitionSpecs, sourceDb, sourceTable,
+ destDb, destinationTableName);
+ }
+
    @Override
    public void validatePartitionNameCharacters(List<String> partVals)
        throws TException, MetaException {

http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/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 23b1716..2de2cdb 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
@@ -455,6 +455,22 @@ public interface IMetaStoreClient {
        InvalidObjectException, TException;

    /**
+ * With the one partitionSpecs to exchange, multiple partitions could be exchanged.
+ * e.g., year=2015/month/day, exchanging partition year=2015 results to all the partitions
+ * belonging to it exchanged. This function returns the list of affected partitions.
+ * @param partitionSpecs
+ * @param sourceDb
+ * @param sourceTable
+ * @param destdb
+ * @param destTableName
+ * @return the list of the new partitions
+ */
+ List<Partition> exchange_partitions(Map<String, String> partitionSpecs,
+ String sourceDb, String sourceTable, String destdb,
+ String destTableName) throws MetaException, NoSuchObjectException,
+ InvalidObjectException, TException;
+
+ /**
     * @param dbName
     * @param tblName
     * @param name - partition name i.e. 'ds=2010-02-03/ts=2010-02-03 18%3A16%3A01'

http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/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 56a0a4e..3d8ca92 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
@@ -4369,9 +4369,20 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
      Map<String, String> partitionSpecs = exchangePartition.getPartitionSpecs();
      Table destTable = exchangePartition.getDestinationTable();
      Table sourceTable = exchangePartition.getSourceTable();
- db.exchangeTablePartitions(partitionSpecs, sourceTable.getDbName(),
+ List<Partition> partitions =
+ db.exchangeTablePartitions(partitionSpecs, sourceTable.getDbName(),
          sourceTable.getTableName(),destTable.getDbName(),
          destTable.getTableName());
+
+ for(Partition partition : partitions) {
+ // Reuse the partition specs from dest partition since they should be the same
+ work.getOutputs().add(new WriteEntity(new Partition(sourceTable, partition.getSpec(), null),
+ WriteEntity.WriteType.DELETE));
+
+ work.getOutputs().add(new WriteEntity(new Partition(destTable, partition.getSpec(), null),
+ WriteEntity.WriteType.INSERT));
+ }
+
      return 0;
    }


http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
index 5d46b07..2467520 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
@@ -2012,7 +2012,7 @@ private void constructOneLBLocationMap(FileStatus fSta,
        }
        List<org.apache.hadoop.hive.metastore.api.Partition> tParts = getMSC().dropPartitions(
            dbName, tblName, partExprs, dropOptions);
- return convertFromMetastore(tbl, tParts, null);
+ return convertFromMetastore(tbl, tParts);
      } catch (NoSuchObjectException e) {
        throw new HiveException("Partition or table doesn't exist.", e);
      } catch (Exception e) {
@@ -2256,22 +2256,20 @@ private void constructOneLBLocationMap(FileStatus fSta,

      List<org.apache.hadoop.hive.metastore.api.Partition> tParts = getMSC().listPartitionsByFilter(
          tbl.getDbName(), tbl.getTableName(), filter, (short)-1);
- return convertFromMetastore(tbl, tParts, null);
+ return convertFromMetastore(tbl, tParts);
    }

    private static List<Partition> convertFromMetastore(Table tbl,
- List<org.apache.hadoop.hive.metastore.api.Partition> src,
- List<Partition> dest) throws HiveException {
- if (src == null) {
- return dest;
+ List<org.apache.hadoop.hive.metastore.api.Partition> partitions) throws HiveException {
+ if (partitions == null) {
+ return new ArrayList<Partition>();
      }
- if (dest == null) {
- dest = new ArrayList<Partition>(src.size());
- }
- for (org.apache.hadoop.hive.metastore.api.Partition tPart : src) {
- dest.add(new Partition(tbl, tPart));
+
+ List<Partition> results = new ArrayList<Partition>(partitions.size());
+ for (org.apache.hadoop.hive.metastore.api.Partition tPart : partitions) {
+ results.add(new Partition(tbl, tPart));
      }
- return dest;
+ return results;
    }

    /**
@@ -2291,7 +2289,7 @@ private void constructOneLBLocationMap(FileStatus fSta,
          new ArrayList<org.apache.hadoop.hive.metastore.api.Partition>();
      boolean hasUnknownParts = getMSC().listPartitionsByExpr(tbl.getDbName(),
          tbl.getTableName(), exprBytes, defaultPartitionName, (short)-1, msParts);
- convertFromMetastore(tbl, msParts, result);
+ result.addAll(convertFromMetastore(tbl, msParts));
      return hasUnknownParts;
    }

@@ -3017,12 +3015,15 @@ private void constructOneLBLocationMap(FileStatus fSta,
      return ShimLoader.getMajorVersion().startsWith("0.20");
    }

- public void exchangeTablePartitions(Map<String, String> partitionSpecs,
+ public List<Partition> exchangeTablePartitions(Map<String, String> partitionSpecs,
        String sourceDb, String sourceTable, String destDb,
        String destinationTableName) throws HiveException {
      try {
- getMSC().exchange_partition(partitionSpecs, sourceDb, sourceTable, destDb,
+ List<org.apache.hadoop.hive.metastore.api.Partition> partitions =
+ getMSC().exchange_partitions(partitionSpecs, sourceDb, sourceTable, destDb,
          destinationTableName);
+
+ return convertFromMetastore(getTable(destDb, destinationTableName), partitions);
      } catch (Exception ex) {
        LOG.error(StringUtils.stringifyException(ex));
        throw new HiveException(ex);

http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
index f0e776e..731bdf2 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
@@ -71,6 +71,7 @@ import org.apache.hadoop.hive.ql.exec.TaskFactory;
  import org.apache.hadoop.hive.ql.exec.Utilities;
  import org.apache.hadoop.hive.ql.hooks.ReadEntity;
  import org.apache.hadoop.hive.ql.hooks.WriteEntity;
+import org.apache.hadoop.hive.ql.hooks.WriteEntity.WriteType;
  import org.apache.hadoop.hive.ql.index.HiveIndex;
  import org.apache.hadoop.hive.ql.index.HiveIndex.IndexType;
  import org.apache.hadoop.hive.ql.index.HiveIndexHandler;
@@ -716,6 +717,9 @@ public class DDLSemanticAnalyzer extends BaseSemanticAnalyzer {
        new AlterTableExchangePartition(sourceTable, destTable, partSpecs);
      rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(),
        alterTableExchangePartition), conf));
+
+ outputs.add(new WriteEntity(sourceTable, WriteType.DDL_SHARED));
+ outputs.add(new WriteEntity(destTable, WriteType.DDL_SHARED));
    }

    /**

http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/ql/src/test/results/clientnegative/exchange_partition.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/exchange_partition.q.out b/ql/src/test/results/clientnegative/exchange_partition.q.out
index 8622615..f5e332a 100644
--- a/ql/src/test/results/clientnegative/exchange_partition.q.out
+++ b/ql/src/test/results/clientnegative/exchange_partition.q.out
@@ -51,4 +51,6 @@ POSTHOOK: Input: default@ex_table2
  part=part1
  PREHOOK: query: ALTER TABLE ex_table1 EXCHANGE PARTITION (part='part1') WITH TABLE ex_table2
  PREHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+PREHOOK: Output: default@ex_table1
+PREHOOK: Output: default@ex_table2
  FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: java.io.IOException Cannot rename the source path. The destination path already exists.)

http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/ql/src/test/results/clientpositive/exchange_partition.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/exchange_partition.q.out b/ql/src/test/results/clientpositive/exchange_partition.q.out
index 5b21eaf..9316341 100644
--- a/ql/src/test/results/clientpositive/exchange_partition.q.out
+++ b/ql/src/test/results/clientpositive/exchange_partition.q.out
@@ -60,8 +60,14 @@ POSTHOOK: Input: ex2@exchange_part_test2
  ds=2013-04-05
  PREHOOK: query: ALTER TABLE ex1.exchange_part_test1 EXCHANGE PARTITION (ds='2013-04-05') WITH TABLE ex2.exchange_part_test2
  PREHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+PREHOOK: Output: ex1@exchange_part_test1
+PREHOOK: Output: ex2@exchange_part_test2
  POSTHOOK: query: ALTER TABLE ex1.exchange_part_test1 EXCHANGE PARTITION (ds='2013-04-05') WITH TABLE ex2.exchange_part_test2
  POSTHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+POSTHOOK: Output: ex1@exchange_part_test1
+POSTHOOK: Output: ex1@exchange_part_test1@ds=2013-04-05
+POSTHOOK: Output: ex2@exchange_part_test2
+POSTHOOK: Output: ex2@exchange_part_test2@ds=2013-04-05
  PREHOOK: query: SHOW PARTITIONS ex1.exchange_part_test1
  PREHOOK: type: SHOWPARTITIONS
  PREHOOK: Input: ex1@exchange_part_test1

http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/ql/src/test/results/clientpositive/exchange_partition2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/exchange_partition2.q.out b/ql/src/test/results/clientpositive/exchange_partition2.q.out
index 8c7c583..05121d8 100644
--- a/ql/src/test/results/clientpositive/exchange_partition2.q.out
+++ b/ql/src/test/results/clientpositive/exchange_partition2.q.out
@@ -48,8 +48,14 @@ POSTHOOK: Input: default@exchange_part_test2
  ds=2013-04-05/hr=1
  PREHOOK: query: ALTER TABLE exchange_part_test1 EXCHANGE PARTITION (ds='2013-04-05', hr='1') WITH TABLE exchange_part_test2
  PREHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+PREHOOK: Output: default@exchange_part_test1
+PREHOOK: Output: default@exchange_part_test2
  POSTHOOK: query: ALTER TABLE exchange_part_test1 EXCHANGE PARTITION (ds='2013-04-05', hr='1') WITH TABLE exchange_part_test2
  POSTHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+POSTHOOK: Output: default@exchange_part_test1
+POSTHOOK: Output: default@exchange_part_test1@ds=2013-04-05/hr=1
+POSTHOOK: Output: default@exchange_part_test2
+POSTHOOK: Output: default@exchange_part_test2@ds=2013-04-05/hr=1
  PREHOOK: query: SHOW PARTITIONS exchange_part_test1
  PREHOOK: type: SHOWPARTITIONS
  PREHOOK: Input: default@exchange_part_test1

http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/ql/src/test/results/clientpositive/exchange_partition3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/exchange_partition3.q.out b/ql/src/test/results/clientpositive/exchange_partition3.q.out
index 3815861..014be7c 100644
--- a/ql/src/test/results/clientpositive/exchange_partition3.q.out
+++ b/ql/src/test/results/clientpositive/exchange_partition3.q.out
@@ -65,9 +65,17 @@ ds=2013-04-05/hr=2
  PREHOOK: query: -- This will exchange both partitions hr=1 and hr=2
  ALTER TABLE exchange_part_test1 EXCHANGE PARTITION (ds='2013-04-05') WITH TABLE exchange_part_test2
  PREHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+PREHOOK: Output: default@exchange_part_test1
+PREHOOK: Output: default@exchange_part_test2
  POSTHOOK: query: -- This will exchange both partitions hr=1 and hr=2
  ALTER TABLE exchange_part_test1 EXCHANGE PARTITION (ds='2013-04-05') WITH TABLE exchange_part_test2
  POSTHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+POSTHOOK: Output: default@exchange_part_test1
+POSTHOOK: Output: default@exchange_part_test1@ds=2013-04-05/hr=1
+POSTHOOK: Output: default@exchange_part_test1@ds=2013-04-05/hr=2
+POSTHOOK: Output: default@exchange_part_test2
+POSTHOOK: Output: default@exchange_part_test2@ds=2013-04-05/hr=1
+POSTHOOK: Output: default@exchange_part_test2@ds=2013-04-05/hr=2
  PREHOOK: query: SHOW PARTITIONS exchange_part_test1
  PREHOOK: type: SHOWPARTITIONS
  PREHOOK: Input: default@exchange_part_test1

http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/ql/src/test/results/clientpositive/exchgpartition2lel.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/exchgpartition2lel.q.out b/ql/src/test/results/clientpositive/exchgpartition2lel.q.out
index 5997d6b..3fd996a 100644
--- a/ql/src/test/results/clientpositive/exchgpartition2lel.q.out
+++ b/ql/src/test/results/clientpositive/exchgpartition2lel.q.out
@@ -113,8 +113,14 @@ POSTHOOK: Input: default@t3@d1=1/d2=1
  100 1 1
  PREHOOK: query: ALTER TABLE t2 EXCHANGE PARTITION (d1 = 1) WITH TABLE t1
  PREHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+PREHOOK: Output: default@t1
+PREHOOK: Output: default@t2
  POSTHOOK: query: ALTER TABLE t2 EXCHANGE PARTITION (d1 = 1) WITH TABLE t1
  POSTHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+POSTHOOK: Output: default@t1
+POSTHOOK: Output: default@t1@d1=1
+POSTHOOK: Output: default@t2
+POSTHOOK: Output: default@t2@d1=1
  PREHOOK: query: SELECT * FROM t1
  PREHOOK: type: QUERY
  PREHOOK: Input: default@t1
@@ -136,8 +142,14 @@ POSTHOOK: Input: default@t2@d1=1
  100 1
  PREHOOK: query: ALTER TABLE t4 EXCHANGE PARTITION (d1 = 1, d2 = 1) WITH TABLE t3
  PREHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+PREHOOK: Output: default@t3
+PREHOOK: Output: default@t4
  POSTHOOK: query: ALTER TABLE t4 EXCHANGE PARTITION (d1 = 1, d2 = 1) WITH TABLE t3
  POSTHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+POSTHOOK: Output: default@t3
+POSTHOOK: Output: default@t3@d1=1/d2=1
+POSTHOOK: Output: default@t4
+POSTHOOK: Output: default@t4@d1=1/d2=1
  PREHOOK: query: SELECT * FROM t3
  PREHOOK: type: QUERY
  PREHOOK: Input: default@t3
@@ -159,8 +171,14 @@ POSTHOOK: Input: default@t4@d1=1/d2=1
  100 1 1
  PREHOOK: query: ALTER TABLE t6 EXCHANGE PARTITION (d1 = 1, d2 = 1, d3 = 1) WITH TABLE t5
  PREHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+PREHOOK: Output: default@t5
+PREHOOK: Output: default@t6
  POSTHOOK: query: ALTER TABLE t6 EXCHANGE PARTITION (d1 = 1, d2 = 1, d3 = 1) WITH TABLE t5
  POSTHOOK: type: ALTERTABLE_EXCHANGEPARTITION
+POSTHOOK: Output: default@t5
+POSTHOOK: Output: default@t5@d1=1/d2=1/d3=1
+POSTHOOK: Output: default@t6
+POSTHOOK: Output: default@t6@d1=1/d2=1/d3=1
  PREHOOK: query: SELECT * FROM t5
  PREHOOK: type: QUERY
  PREHOOK: Input: default@t5

Search Discussions

  • Aihuaxu at Jan 13, 2016 at 3:03 pm
    http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
    ----------------------------------------------------------------------
    diff --git a/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h b/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
    index 520c6e3..ed3ce0f 100644
    --- a/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
    +++ b/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
    @@ -60,6 +60,7 @@ class ThriftHiveMetastoreIf : virtual public ::facebook::fb303::FacebookService
        virtual void drop_partitions_req(DropPartitionsResult& _return, const DropPartitionsRequest& req) = 0;
        virtual void get_partition(Partition& _return, const std::string& db_name, const std::string& tbl_name, const std::vector<std::string> & part_vals) = 0;
        virtual void exchange_partition(Partition& _return, const std::map<std::string, std::string> & partitionSpecs, const std::string& source_db, const std::string& source_table_name, const std::string& dest_db, const std::string& dest_table_name) = 0;
    + virtual void exchange_partitions(std::vector<Partition> & _return, const std::map<std::string, std::string> & partitionSpecs, const std::string& source_db, const std::string& source_table_name, const std::string& dest_db, const std::string& dest_table_name) = 0;
        virtual void get_partition_with_auth(Partition& _return, const std::string& db_name, const std::string& tbl_name, const std::vector<std::string> & part_vals, const std::string& user_name, const std::vector<std::string> & group_names) = 0;
        virtual void get_partition_by_name(Partition& _return, const std::string& db_name, const std::string& tbl_name, const std::string& part_name) = 0;
        virtual void get_partitions(std::vector<Partition> & _return, const std::string& db_name, const std::string& tbl_name, const int16_t max_parts) = 0;
    @@ -309,6 +310,9 @@ class ThriftHiveMetastoreNull : virtual public ThriftHiveMetastoreIf , virtual p
        void exchange_partition(Partition& /* _return */, const std::map<std::string, std::string> & /* partitionSpecs */, const std::string& /* source_db */, const std::string& /* source_table_name */, const std::string& /* dest_db */, const std::string& /* dest_table_name */) {
          return;
        }
    + void exchange_partitions(std::vector<Partition> & /* _return */, const std::map<std::string, std::string> & /* partitionSpecs */, const std::string& /* source_db */, const std::string& /* source_table_name */, const std::string& /* dest_db */, const std::string& /* dest_table_name */) {
    + return;
    + }
        void get_partition_with_auth(Partition& /* _return */, const std::string& /* db_name */, const std::string& /* tbl_name */, const std::vector<std::string> & /* part_vals */, const std::string& /* user_name */, const std::vector<std::string> & /* group_names */) {
          return;
        }
    @@ -7006,6 +7010,186 @@ class ThriftHiveMetastore_exchange_partition_presult {
        friend std::ostream& operator<<(std::ostream& out, const ThriftHiveMetastore_exchange_partition_presult& obj);
      };

    +typedef struct _ThriftHiveMetastore_exchange_partitions_args__isset {
    + _ThriftHiveMetastore_exchange_partitions_args__isset() : partitionSpecs(false), source_db(false), source_table_name(false), dest_db(false), dest_table_name(false) {}
    + bool partitionSpecs :1;
    + bool source_db :1;
    + bool source_table_name :1;
    + bool dest_db :1;
    + bool dest_table_name :1;
    +} _ThriftHiveMetastore_exchange_partitions_args__isset;
    +
    +class ThriftHiveMetastore_exchange_partitions_args {
    + public:
    +
    + static const char* ascii_fingerprint; // = "14D07CC2D6D857D1A741287E7A6EBF6E";
    + static const uint8_t binary_fingerprint[16]; // = {0x14,0xD0,0x7C,0xC2,0xD6,0xD8,0x57,0xD1,0xA7,0x41,0x28,0x7E,0x7A,0x6E,0xBF,0x6E};
    +
    + ThriftHiveMetastore_exchange_partitions_args(const ThriftHiveMetastore_exchange_partitions_args&);
    + ThriftHiveMetastore_exchange_partitions_args& operator=(const ThriftHiveMetastore_exchange_partitions_args&);
    + ThriftHiveMetastore_exchange_partitions_args() : source_db(), source_table_name(), dest_db(), dest_table_name() {
    + }
    +
    + virtual ~ThriftHiveMetastore_exchange_partitions_args() throw();
    + std::map<std::string, std::string> partitionSpecs;
    + std::string source_db;
    + std::string source_table_name;
    + std::string dest_db;
    + std::string dest_table_name;
    +
    + _ThriftHiveMetastore_exchange_partitions_args__isset __isset;
    +
    + void __set_partitionSpecs(const std::map<std::string, std::string> & val);
    +
    + void __set_source_db(const std::string& val);
    +
    + void __set_source_table_name(const std::string& val);
    +
    + void __set_dest_db(const std::string& val);
    +
    + void __set_dest_table_name(const std::string& val);
    +
    + bool operator == (const ThriftHiveMetastore_exchange_partitions_args & rhs) const
    + {
    + if (!(partitionSpecs == rhs.partitionSpecs))
    + return false;
    + if (!(source_db == rhs.source_db))
    + return false;
    + if (!(source_table_name == rhs.source_table_name))
    + return false;
    + if (!(dest_db == rhs.dest_db))
    + return false;
    + if (!(dest_table_name == rhs.dest_table_name))
    + return false;
    + return true;
    + }
    + bool operator != (const ThriftHiveMetastore_exchange_partitions_args &rhs) const {
    + return !(*this == rhs);
    + }
    +
    + bool operator < (const ThriftHiveMetastore_exchange_partitions_args & ) const;
    +
    + uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
    + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
    +
    + friend std::ostream& operator<<(std::ostream& out, const ThriftHiveMetastore_exchange_partitions_args& obj);
    +};
    +
    +
    +class ThriftHiveMetastore_exchange_partitions_pargs {
    + public:
    +
    + static const char* ascii_fingerprint; // = "14D07CC2D6D857D1A741287E7A6EBF6E";
    + static const uint8_t binary_fingerprint[16]; // = {0x14,0xD0,0x7C,0xC2,0xD6,0xD8,0x57,0xD1,0xA7,0x41,0x28,0x7E,0x7A,0x6E,0xBF,0x6E};
    +
    +
    + virtual ~ThriftHiveMetastore_exchange_partitions_pargs() throw();
    + const std::map<std::string, std::string> * partitionSpecs;
    + const std::string* source_db;
    + const std::string* source_table_name;
    + const std::string* dest_db;
    + const std::string* dest_table_name;
    +
    + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
    +
    + friend std::ostream& operator<<(std::ostream& out, const ThriftHiveMetastore_exchange_partitions_pargs& obj);
    +};
    +
    +typedef struct _ThriftHiveMetastore_exchange_partitions_result__isset {
    + _ThriftHiveMetastore_exchange_partitions_result__isset() : success(false), o1(false), o2(false), o3(false), o4(false) {}
    + bool success :1;
    + bool o1 :1;
    + bool o2 :1;
    + bool o3 :1;
    + bool o4 :1;
    +} _ThriftHiveMetastore_exchange_partitions_result__isset;
    +
    +class ThriftHiveMetastore_exchange_partitions_result {
    + public:
    +
    + static const char* ascii_fingerprint; // = "6DC72289D4DE76AA1484E58C41EBF31F";
    + static const uint8_t binary_fingerprint[16]; // = {0x6D,0xC7,0x22,0x89,0xD4,0xDE,0x76,0xAA,0x14,0x84,0xE5,0x8C,0x41,0xEB,0xF3,0x1F};
    +
    + ThriftHiveMetastore_exchange_partitions_result(const ThriftHiveMetastore_exchange_partitions_result&);
    + ThriftHiveMetastore_exchange_partitions_result& operator=(const ThriftHiveMetastore_exchange_partitions_result&);
    + ThriftHiveMetastore_exchange_partitions_result() {
    + }
    +
    + virtual ~ThriftHiveMetastore_exchange_partitions_result() throw();
    + std::vector<Partition> success;
    + MetaException o1;
    + NoSuchObjectException o2;
    + InvalidObjectException o3;
    + InvalidInputException o4;
    +
    + _ThriftHiveMetastore_exchange_partitions_result__isset __isset;
    +
    + void __set_success(const std::vector<Partition> & val);
    +
    + void __set_o1(const MetaException& val);
    +
    + void __set_o2(const NoSuchObjectException& val);
    +
    + void __set_o3(const InvalidObjectException& val);
    +
    + void __set_o4(const InvalidInputException& val);
    +
    + bool operator == (const ThriftHiveMetastore_exchange_partitions_result & rhs) const
    + {
    + if (!(success == rhs.success))
    + return false;
    + if (!(o1 == rhs.o1))
    + return false;
    + if (!(o2 == rhs.o2))
    + return false;
    + if (!(o3 == rhs.o3))
    + return false;
    + if (!(o4 == rhs.o4))
    + return false;
    + return true;
    + }
    + bool operator != (const ThriftHiveMetastore_exchange_partitions_result &rhs) const {
    + return !(*this == rhs);
    + }
    +
    + bool operator < (const ThriftHiveMetastore_exchange_partitions_result & ) const;
    +
    + uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
    + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
    +
    + friend std::ostream& operator<<(std::ostream& out, const ThriftHiveMetastore_exchange_partitions_result& obj);
    +};
    +
    +typedef struct _ThriftHiveMetastore_exchange_partitions_presult__isset {
    + _ThriftHiveMetastore_exchange_partitions_presult__isset() : success(false), o1(false), o2(false), o3(false), o4(false) {}
    + bool success :1;
    + bool o1 :1;
    + bool o2 :1;
    + bool o3 :1;
    + bool o4 :1;
    +} _ThriftHiveMetastore_exchange_partitions_presult__isset;
    +
    +class ThriftHiveMetastore_exchange_partitions_presult {
    + public:
    +
    + static const char* ascii_fingerprint; // = "6DC72289D4DE76AA1484E58C41EBF31F";
    + static const uint8_t binary_fingerprint[16]; // = {0x6D,0xC7,0x22,0x89,0xD4,0xDE,0x76,0xAA,0x14,0x84,0xE5,0x8C,0x41,0xEB,0xF3,0x1F};
    +
    +
    + virtual ~ThriftHiveMetastore_exchange_partitions_presult() throw();
    + std::vector<Partition> * success;
    + MetaException o1;
    + NoSuchObjectException o2;
    + InvalidObjectException o3;
    + InvalidInputException o4;
    +
    + _ThriftHiveMetastore_exchange_partitions_presult__isset __isset;
    +
    + uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
    +
    + friend std::ostream& operator<<(std::ostream& out, const ThriftHiveMetastore_exchange_partitions_presult& obj);
    +};
    +
      typedef struct _ThriftHiveMetastore_get_partition_with_auth_args__isset {
        _ThriftHiveMetastore_get_partition_with_auth_args__isset() : db_name(false), tbl_name(false), part_vals(false), user_name(false), group_names(false) {}
        bool db_name :1;
    @@ -18336,6 +18520,9 @@ class ThriftHiveMetastoreClient : virtual public ThriftHiveMetastoreIf, public
        void exchange_partition(Partition& _return, const std::map<std::string, std::string> & partitionSpecs, const std::string& source_db, const std::string& source_table_name, const std::string& dest_db, const std::string& dest_table_name);
        void send_exchange_partition(const std::map<std::string, std::string> & partitionSpecs, const std::string& source_db, const std::string& source_table_name, const std::string& dest_db, const std::string& dest_table_name);
        void recv_exchange_partition(Partition& _return);
    + void exchange_partitions(std::vector<Partition> & _return, const std::map<std::string, std::string> & partitionSpecs, const std::string& source_db, const std::string& source_table_name, const std::string& dest_db, const std::string& dest_table_name);
    + void send_exchange_partitions(const std::map<std::string, std::string> & partitionSpecs, const std::string& source_db, const std::string& source_table_name, const std::string& dest_db, const std::string& dest_table_name);
    + void recv_exchange_partitions(std::vector<Partition> & _return);
        void get_partition_with_auth(Partition& _return, const std::string& db_name, const std::string& tbl_name, const std::vector<std::string> & part_vals, const std::string& user_name, const std::vector<std::string> & group_names);
        void send_get_partition_with_auth(const std::string& db_name, const std::string& tbl_name, const std::vector<std::string> & part_vals, const std::string& user_name, const std::vector<std::string> & group_names);
        void recv_get_partition_with_auth(Partition& _return);
    @@ -18630,6 +18817,7 @@ class ThriftHiveMetastoreProcessor : public ::facebook::fb303::FacebookServiceP
        void process_drop_partitions_req(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
        void process_get_partition(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
        void process_exchange_partition(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
    + void process_exchange_partitions(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
        void process_get_partition_with_auth(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
        void process_get_partition_by_name(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
        void process_get_partitions(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
    @@ -18758,6 +18946,7 @@ class ThriftHiveMetastoreProcessor : public ::facebook::fb303::FacebookServiceP
          processMap_["drop_partitions_req"] = &ThriftHiveMetastoreProcessor::process_drop_partitions_req;
          processMap_["get_partition"] = &ThriftHiveMetastoreProcessor::process_get_partition;
          processMap_["exchange_partition"] = &ThriftHiveMetastoreProcessor::process_exchange_partition;
    + processMap_["exchange_partitions"] = &ThriftHiveMetastoreProcessor::process_exchange_partitions;
          processMap_["get_partition_with_auth"] = &ThriftHiveMetastoreProcessor::process_get_partition_with_auth;
          processMap_["get_partition_by_name"] = &ThriftHiveMetastoreProcessor::process_get_partition_by_name;
          processMap_["get_partitions"] = &ThriftHiveMetastoreProcessor::process_get_partitions;
    @@ -19292,6 +19481,16 @@ class ThriftHiveMetastoreMultiface : virtual public ThriftHiveMetastoreIf, publi
          return;
        }

    + void exchange_partitions(std::vector<Partition> & _return, const std::map<std::string, std::string> & partitionSpecs, const std::string& source_db, const std::string& source_table_name, const std::string& dest_db, const std::string& dest_table_name) {
    + size_t sz = ifaces_.size();
    + size_t i = 0;
    + for (; i < (sz - 1); ++i) {
    + ifaces_[i]->exchange_partitions(_return, partitionSpecs, source_db, source_table_name, dest_db, dest_table_name);
    + }
    + ifaces_[i]->exchange_partitions(_return, partitionSpecs, source_db, source_table_name, dest_db, dest_table_name);
    + return;
    + }
    +
        void get_partition_with_auth(Partition& _return, const std::string& db_name, const std::string& tbl_name, const std::vector<std::string> & part_vals, const std::string& user_name, const std::vector<std::string> & group_names) {
          size_t sz = ifaces_.size();
          size_t i = 0;

    http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
    ----------------------------------------------------------------------
    diff --git a/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp b/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
    index 0afcf8c..32cf67c 100644
    --- a/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
    +++ b/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
    @@ -242,6 +242,11 @@ class ThriftHiveMetastoreHandler : virtual public ThriftHiveMetastoreIf {
          printf("exchange_partition\n");
        }

    + void exchange_partitions(std::vector<Partition> & _return, const std::map<std::string, std::string> & partitionSpecs, const std::string& source_db, const std::string& source_table_name, const std::string& dest_db, const std::string& dest_table_name) {
    + // Your implementation goes here
    + printf("exchange_partitions\n");
    + }
    +
        void get_partition_with_auth(Partition& _return, const std::string& db_name, const std::string& tbl_name, const std::vector<std::string> & part_vals, const std::string& user_name, const std::vector<std::string> & group_names) {
          // Your implementation goes here
          printf("get_partition_with_auth\n");
  • Aihuaxu at Jan 13, 2016 at 3:03 pm
    http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
    ----------------------------------------------------------------------
    diff --git a/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java b/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
    index cdbae95..0c4db9d 100644
    --- a/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
    +++ b/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
    @@ -34,7 +34,7 @@ import org.slf4j.Logger;
      import org.slf4j.LoggerFactory;

      @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
    -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-8-3")
    +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-1-13")
      public class ThriftHiveMetastore {

        /**
    @@ -130,6 +130,8 @@ public class ThriftHiveMetastore {

          public Partition exchange_partition(Map<String,String> partitionSpecs, String source_db, String source_table_name, String dest_db, String dest_table_name) throws MetaException, NoSuchObjectException, InvalidObjectException, InvalidInputException, org.apache.thrift.TException;

    + public List<Partition> exchange_partitions(Map<String,String> partitionSpecs, String source_db, String source_table_name, String dest_db, String dest_table_name) throws MetaException, NoSuchObjectException, InvalidObjectException, InvalidInputException, org.apache.thrift.TException;
    +
          public Partition get_partition_with_auth(String db_name, String tbl_name, List<String> part_vals, String user_name, List<String> group_names) throws MetaException, NoSuchObjectException, org.apache.thrift.TException;

          public Partition get_partition_by_name(String db_name, String tbl_name, String part_name) throws MetaException, NoSuchObjectException, org.apache.thrift.TException;
    @@ -382,6 +384,8 @@ public class ThriftHiveMetastore {

          public void exchange_partition(Map<String,String> partitionSpecs, String source_db, String source_table_name, String dest_db, String dest_table_name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    + public void exchange_partitions(Map<String,String> partitionSpecs, String source_db, String source_table_name, String dest_db, String dest_table_name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
    +
          public void get_partition_with_auth(String db_name, String tbl_name, List<String> part_vals, String user_name, List<String> group_names, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

          public void get_partition_by_name(String db_name, String tbl_name, String part_name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
    @@ -1917,6 +1921,45 @@ public class ThriftHiveMetastore {
            throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "exchange_partition failed: unknown result");
          }

    + public List<Partition> exchange_partitions(Map<String,String> partitionSpecs, String source_db, String source_table_name, String dest_db, String dest_table_name) throws MetaException, NoSuchObjectException, InvalidObjectException, InvalidInputException, org.apache.thrift.TException
    + {
    + send_exchange_partitions(partitionSpecs, source_db, source_table_name, dest_db, dest_table_name);
    + return recv_exchange_partitions();
    + }
    +
    + public void send_exchange_partitions(Map<String,String> partitionSpecs, String source_db, String source_table_name, String dest_db, String dest_table_name) throws org.apache.thrift.TException
    + {
    + exchange_partitions_args args = new exchange_partitions_args();
    + args.setPartitionSpecs(partitionSpecs);
    + args.setSource_db(source_db);
    + args.setSource_table_name(source_table_name);
    + args.setDest_db(dest_db);
    + args.setDest_table_name(dest_table_name);
    + sendBase("exchange_partitions", args);
    + }
    +
    + public List<Partition> recv_exchange_partitions() throws MetaException, NoSuchObjectException, InvalidObjectException, InvalidInputException, org.apache.thrift.TException
    + {
    + exchange_partitions_result result = new exchange_partitions_result();
    + receiveBase(result, "exchange_partitions");
    + if (result.isSetSuccess()) {
    + return result.success;
    + }
    + if (result.o1 != null) {
    + throw result.o1;
    + }
    + if (result.o2 != null) {
    + throw result.o2;
    + }
    + if (result.o3 != null) {
    + throw result.o3;
    + }
    + if (result.o4 != null) {
    + throw result.o4;
    + }
    + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "exchange_partitions failed: unknown result");
    + }
    +
          public Partition get_partition_with_auth(String db_name, String tbl_name, List<String> part_vals, String user_name, List<String> group_names) throws MetaException, NoSuchObjectException, org.apache.thrift.TException
          {
            send_get_partition_with_auth(db_name, tbl_name, part_vals, user_name, group_names);
    @@ -5822,6 +5865,50 @@ public class ThriftHiveMetastore {
            }
          }

    + public void exchange_partitions(Map<String,String> partitionSpecs, String source_db, String source_table_name, String dest_db, String dest_table_name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
    + checkReady();
    + exchange_partitions_call method_call = new exchange_partitions_call(partitionSpecs, source_db, source_table_name, dest_db, dest_table_name, resultHandler, this, ___protocolFactory, ___transport);
    + this.___currentMethod = method_call;
    + ___manager.call(method_call);
    + }
    +
    + public static class exchange_partitions_call extends org.apache.thrift.async.TAsyncMethodCall {
    + private Map<String,String> partitionSpecs;
    + private String source_db;
    + private String source_table_name;
    + private String dest_db;
    + private String dest_table_name;
    + public exchange_partitions_call(Map<String,String> partitionSpecs, String source_db, String source_table_name, String dest_db, String dest_table_name, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
    + super(client, protocolFactory, transport, resultHandler, false);
    + this.partitionSpecs = partitionSpecs;
    + this.source_db = source_db;
    + this.source_table_name = source_table_name;
    + this.dest_db = dest_db;
    + this.dest_table_name = dest_table_name;
    + }
    +
    + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
    + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("exchange_partitions", org.apache.thrift.protocol.TMessageType.CALL, 0));
    + exchange_partitions_args args = new exchange_partitions_args();
    + args.setPartitionSpecs(partitionSpecs);
    + args.setSource_db(source_db);
    + args.setSource_table_name(source_table_name);
    + args.setDest_db(dest_db);
    + args.setDest_table_name(dest_table_name);
    + args.write(prot);
    + prot.writeMessageEnd();
    + }
    +
    + public List<Partition> getResult() throws MetaException, NoSuchObjectException, InvalidObjectException, InvalidInputException, org.apache.thrift.TException {
    + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
    + throw new IllegalStateException("Method call not finished!");
    + }
    + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
    + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
    + return (new Client(prot)).recv_exchange_partitions();
    + }
    + }
    +
          public void get_partition_with_auth(String db_name, String tbl_name, List<String> part_vals, String user_name, List<String> group_names, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
            checkReady();
            get_partition_with_auth_call method_call = new get_partition_with_auth_call(db_name, tbl_name, part_vals, user_name, group_names, resultHandler, this, ___protocolFactory, ___transport);
    @@ -8709,6 +8796,7 @@ public class ThriftHiveMetastore {
            processMap.put("drop_partitions_req", new drop_partitions_req());
            processMap.put("get_partition", new get_partition());
            processMap.put("exchange_partition", new exchange_partition());
    + processMap.put("exchange_partitions", new exchange_partitions());
            processMap.put("get_partition_with_auth", new get_partition_with_auth());
            processMap.put("get_partition_by_name", new get_partition_by_name());
            processMap.put("get_partitions", new get_partitions());
    @@ -9978,6 +10066,36 @@ public class ThriftHiveMetastore {
            }
          }

    + public static class exchange_partitions<I extends Iface> extends org.apache.thrift.ProcessFunction<I, exchange_partitions_args> {
    + public exchange_partitions() {
    + super("exchange_partitions");
    + }
    +
    + public exchange_partitions_args getEmptyArgsInstance() {
    + return new exchange_partitions_args();
    + }
    +
    + protected boolean isOneway() {
    + return false;
    + }
    +
    + public exchange_partitions_result getResult(I iface, exchange_partitions_args args) throws org.apache.thrift.TException {
    + exchange_partitions_result result = new exchange_partitions_result();
    + try {
    + result.success = iface.exchange_partitions(args.partitionSpecs, args.source_db, args.source_table_name, args.dest_db, args.dest_table_name);
    + } catch (MetaException o1) {
    + result.o1 = o1;
    + } catch (NoSuchObjectException o2) {
    + result.o2 = o2;
    + } catch (InvalidObjectException o3) {
    + result.o3 = o3;
    + } catch (InvalidInputException o4) {
    + result.o4 = o4;
    + }
    + return result;
    + }
    + }
    +
          public static class get_partition_with_auth<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_partition_with_auth_args> {
            public get_partition_with_auth() {
              super("get_partition_with_auth");
    @@ -12070,6 +12188,7 @@ public class ThriftHiveMetastore {
            processMap.put("drop_partitions_req", new drop_partitions_req());
            processMap.put("get_partition", new get_partition());
            processMap.put("exchange_partition", new exchange_partition());
    + processMap.put("exchange_partitions", new exchange_partitions());
            processMap.put("get_partition_with_auth", new get_partition_with_auth());
            processMap.put("get_partition_by_name", new get_partition_by_name());
            processMap.put("get_partitions", new get_partitions());
    @@ -14963,20 +15082,20 @@ public class ThriftHiveMetastore {
            }
          }

    - public static class get_partition_with_auth<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partition_with_auth_args, Partition> {
    - public get_partition_with_auth() {
    - super("get_partition_with_auth");
    + public static class exchange_partitions<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, exchange_partitions_args, List<Partition>> {
    + public exchange_partitions() {
    + super("exchange_partitions");
            }

    - public get_partition_with_auth_args getEmptyArgsInstance() {
    - return new get_partition_with_auth_args();
    + public exchange_partitions_args getEmptyArgsInstance() {
    + return new exchange_partitions_args();
            }

    - public AsyncMethodCallback<Partition> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + public AsyncMethodCallback<List<Partition>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<Partition>() {
    - public void onComplete(Partition o) {
    - get_partition_with_auth_result result = new get_partition_with_auth_result();
    + return new AsyncMethodCallback<List<Partition>>() {
    + public void onComplete(List<Partition> o) {
    + exchange_partitions_result result = new exchange_partitions_result();
                  result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    @@ -14989,7 +15108,7 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - get_partition_with_auth_result result = new get_partition_with_auth_result();
    + exchange_partitions_result result = new exchange_partitions_result();
                  if (e instanceof MetaException) {
                              result.o1 = (MetaException) e;
                              result.setO1IsSet(true);
    @@ -15000,6 +15119,16 @@ public class ThriftHiveMetastore {
                              result.setO2IsSet(true);
                              msg = result;
                  }
    + else if (e instanceof InvalidObjectException) {
    + result.o3 = (InvalidObjectException) e;
    + result.setO3IsSet(true);
    + msg = result;
    + }
    + else if (e instanceof InvalidInputException) {
    + result.o4 = (InvalidInputException) e;
    + result.setO4IsSet(true);
    + msg = result;
    + }
                   else
                  {
                    msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
    @@ -15020,25 +15149,25 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, get_partition_with_auth_args args, org.apache.thrift.async.AsyncMethodCallback<Partition> resultHandler) throws TException {
    - iface.get_partition_with_auth(args.db_name, args.tbl_name, args.part_vals, args.user_name, args.group_names,resultHandler);
    + public void start(I iface, exchange_partitions_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    + iface.exchange_partitions(args.partitionSpecs, args.source_db, args.source_table_name, args.dest_db, args.dest_table_name,resultHandler);
            }
          }

    - public static class get_partition_by_name<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partition_by_name_args, Partition> {
    - public get_partition_by_name() {
    - super("get_partition_by_name");
    + public static class get_partition_with_auth<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partition_with_auth_args, Partition> {
    + public get_partition_with_auth() {
    + super("get_partition_with_auth");
            }

    - public get_partition_by_name_args getEmptyArgsInstance() {
    - return new get_partition_by_name_args();
    + public get_partition_with_auth_args getEmptyArgsInstance() {
    + return new get_partition_with_auth_args();
            }

            public AsyncMethodCallback<Partition> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
              return new AsyncMethodCallback<Partition>() {
                public void onComplete(Partition o) {
    - get_partition_by_name_result result = new get_partition_by_name_result();
    + get_partition_with_auth_result result = new get_partition_with_auth_result();
                  result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    @@ -15051,7 +15180,7 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - get_partition_by_name_result result = new get_partition_by_name_result();
    + get_partition_with_auth_result result = new get_partition_with_auth_result();
                  if (e instanceof MetaException) {
                              result.o1 = (MetaException) e;
                              result.setO1IsSet(true);
    @@ -15082,25 +15211,25 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, get_partition_by_name_args args, org.apache.thrift.async.AsyncMethodCallback<Partition> resultHandler) throws TException {
    - iface.get_partition_by_name(args.db_name, args.tbl_name, args.part_name,resultHandler);
    + public void start(I iface, get_partition_with_auth_args args, org.apache.thrift.async.AsyncMethodCallback<Partition> resultHandler) throws TException {
    + iface.get_partition_with_auth(args.db_name, args.tbl_name, args.part_vals, args.user_name, args.group_names,resultHandler);
            }
          }

    - public static class get_partitions<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_args, List<Partition>> {
    - public get_partitions() {
    - super("get_partitions");
    + public static class get_partition_by_name<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partition_by_name_args, Partition> {
    + public get_partition_by_name() {
    + super("get_partition_by_name");
            }

    - public get_partitions_args getEmptyArgsInstance() {
    - return new get_partitions_args();
    + public get_partition_by_name_args getEmptyArgsInstance() {
    + return new get_partition_by_name_args();
            }

    - public AsyncMethodCallback<List<Partition>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + public AsyncMethodCallback<Partition> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<List<Partition>>() {
    - public void onComplete(List<Partition> o) {
    - get_partitions_result result = new get_partitions_result();
    + return new AsyncMethodCallback<Partition>() {
    + public void onComplete(Partition o) {
    + get_partition_by_name_result result = new get_partition_by_name_result();
                  result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    @@ -15113,14 +15242,14 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - get_partitions_result result = new get_partitions_result();
    - if (e instanceof NoSuchObjectException) {
    - result.o1 = (NoSuchObjectException) e;
    + get_partition_by_name_result result = new get_partition_by_name_result();
    + if (e instanceof MetaException) {
    + result.o1 = (MetaException) e;
                              result.setO1IsSet(true);
                              msg = result;
                  }
    - else if (e instanceof MetaException) {
    - result.o2 = (MetaException) e;
    + else if (e instanceof NoSuchObjectException) {
    + result.o2 = (NoSuchObjectException) e;
                              result.setO2IsSet(true);
                              msg = result;
                  }
    @@ -15144,87 +15273,25 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, get_partitions_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    - iface.get_partitions(args.db_name, args.tbl_name, args.max_parts,resultHandler);
    + public void start(I iface, get_partition_by_name_args args, org.apache.thrift.async.AsyncMethodCallback<Partition> resultHandler) throws TException {
    + iface.get_partition_by_name(args.db_name, args.tbl_name, args.part_name,resultHandler);
            }
          }

    - public static class get_partitions_with_auth<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_with_auth_args, List<Partition>> {
    - public get_partitions_with_auth() {
    - super("get_partitions_with_auth");
    + public static class get_partitions<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_args, List<Partition>> {
    + public get_partitions() {
    + super("get_partitions");
            }

    - public get_partitions_with_auth_args getEmptyArgsInstance() {
    - return new get_partitions_with_auth_args();
    + public get_partitions_args getEmptyArgsInstance() {
    + return new get_partitions_args();
            }

            public AsyncMethodCallback<List<Partition>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
              return new AsyncMethodCallback<List<Partition>>() {
                public void onComplete(List<Partition> o) {
    - get_partitions_with_auth_result result = new get_partitions_with_auth_result();
    - result.success = o;
    - try {
    - fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    - return;
    - } catch (Exception e) {
    - LOGGER.error("Exception writing to internal frame buffer", e);
    - }
    - fb.close();
    - }
    - public void onError(Exception e) {
    - byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
    - org.apache.thrift.TBase msg;
    - get_partitions_with_auth_result result = new get_partitions_with_auth_result();
    - if (e instanceof NoSuchObjectException) {
    - result.o1 = (NoSuchObjectException) e;
    - result.setO1IsSet(true);
    - msg = result;
    - }
    - else if (e instanceof MetaException) {
    - result.o2 = (MetaException) e;
    - result.setO2IsSet(true);
    - msg = result;
    - }
    - else
    - {
    - msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
    - msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
    - }
    - try {
    - fcall.sendResponse(fb,msg,msgType,seqid);
    - return;
    - } catch (Exception ex) {
    - LOGGER.error("Exception writing to internal frame buffer", ex);
    - }
    - fb.close();
    - }
    - };
    - }
    -
    - protected boolean isOneway() {
    - return false;
    - }
    -
    - public void start(I iface, get_partitions_with_auth_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    - iface.get_partitions_with_auth(args.db_name, args.tbl_name, args.max_parts, args.user_name, args.group_names,resultHandler);
    - }
    - }
    -
    - public static class get_partitions_pspec<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_pspec_args, List<PartitionSpec>> {
    - public get_partitions_pspec() {
    - super("get_partitions_pspec");
    - }
    -
    - public get_partitions_pspec_args getEmptyArgsInstance() {
    - return new get_partitions_pspec_args();
    - }
    -
    - public AsyncMethodCallback<List<PartitionSpec>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    - final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<List<PartitionSpec>>() {
    - public void onComplete(List<PartitionSpec> o) {
    - get_partitions_pspec_result result = new get_partitions_pspec_result();
    + get_partitions_result result = new get_partitions_result();
                  result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    @@ -15237,7 +15304,7 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - get_partitions_pspec_result result = new get_partitions_pspec_result();
    + get_partitions_result result = new get_partitions_result();
                  if (e instanceof NoSuchObjectException) {
                              result.o1 = (NoSuchObjectException) e;
                              result.setO1IsSet(true);
    @@ -15268,144 +15335,25 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, get_partitions_pspec_args args, org.apache.thrift.async.AsyncMethodCallback<List<PartitionSpec>> resultHandler) throws TException {
    - iface.get_partitions_pspec(args.db_name, args.tbl_name, args.max_parts,resultHandler);
    - }
    - }
    -
    - public static class get_partition_names<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partition_names_args, List<String>> {
    - public get_partition_names() {
    - super("get_partition_names");
    - }
    -
    - public get_partition_names_args getEmptyArgsInstance() {
    - return new get_partition_names_args();
    - }
    -
    - public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    - final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<List<String>>() {
    - public void onComplete(List<String> o) {
    - get_partition_names_result result = new get_partition_names_result();
    - result.success = o;
    - try {
    - fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    - return;
    - } catch (Exception e) {
    - LOGGER.error("Exception writing to internal frame buffer", e);
    - }
    - fb.close();
    - }
    - public void onError(Exception e) {
    - byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
    - org.apache.thrift.TBase msg;
    - get_partition_names_result result = new get_partition_names_result();
    - if (e instanceof MetaException) {
    - result.o2 = (MetaException) e;
    - result.setO2IsSet(true);
    - msg = result;
    - }
    - else
    - {
    - msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
    - msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
    - }
    - try {
    - fcall.sendResponse(fb,msg,msgType,seqid);
    - return;
    - } catch (Exception ex) {
    - LOGGER.error("Exception writing to internal frame buffer", ex);
    - }
    - fb.close();
    - }
    - };
    - }
    -
    - protected boolean isOneway() {
    - return false;
    - }
    -
    - public void start(I iface, get_partition_names_args args, org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws TException {
    - iface.get_partition_names(args.db_name, args.tbl_name, args.max_parts,resultHandler);
    - }
    - }
    -
    - public static class get_partitions_ps<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_ps_args, List<Partition>> {
    - public get_partitions_ps() {
    - super("get_partitions_ps");
    - }
    -
    - public get_partitions_ps_args getEmptyArgsInstance() {
    - return new get_partitions_ps_args();
    - }
    -
    - public AsyncMethodCallback<List<Partition>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    - final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<List<Partition>>() {
    - public void onComplete(List<Partition> o) {
    - get_partitions_ps_result result = new get_partitions_ps_result();
    - result.success = o;
    - try {
    - fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    - return;
    - } catch (Exception e) {
    - LOGGER.error("Exception writing to internal frame buffer", e);
    - }
    - fb.close();
    - }
    - public void onError(Exception e) {
    - byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
    - org.apache.thrift.TBase msg;
    - get_partitions_ps_result result = new get_partitions_ps_result();
    - if (e instanceof MetaException) {
    - result.o1 = (MetaException) e;
    - result.setO1IsSet(true);
    - msg = result;
    - }
    - else if (e instanceof NoSuchObjectException) {
    - result.o2 = (NoSuchObjectException) e;
    - result.setO2IsSet(true);
    - msg = result;
    - }
    - else
    - {
    - msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
    - msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
    - }
    - try {
    - fcall.sendResponse(fb,msg,msgType,seqid);
    - return;
    - } catch (Exception ex) {
    - LOGGER.error("Exception writing to internal frame buffer", ex);
    - }
    - fb.close();
    - }
    - };
    - }
    -
    - protected boolean isOneway() {
    - return false;
    - }
    -
    - public void start(I iface, get_partitions_ps_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    - iface.get_partitions_ps(args.db_name, args.tbl_name, args.part_vals, args.max_parts,resultHandler);
    + public void start(I iface, get_partitions_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    + iface.get_partitions(args.db_name, args.tbl_name, args.max_parts,resultHandler);
            }
          }

    - public static class get_partitions_ps_with_auth<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_ps_with_auth_args, List<Partition>> {
    - public get_partitions_ps_with_auth() {
    - super("get_partitions_ps_with_auth");
    + public static class get_partitions_with_auth<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_with_auth_args, List<Partition>> {
    + public get_partitions_with_auth() {
    + super("get_partitions_with_auth");
            }

    - public get_partitions_ps_with_auth_args getEmptyArgsInstance() {
    - return new get_partitions_ps_with_auth_args();
    + public get_partitions_with_auth_args getEmptyArgsInstance() {
    + return new get_partitions_with_auth_args();
            }

            public AsyncMethodCallback<List<Partition>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
              return new AsyncMethodCallback<List<Partition>>() {
                public void onComplete(List<Partition> o) {
    - get_partitions_ps_with_auth_result result = new get_partitions_ps_with_auth_result();
    + get_partitions_with_auth_result result = new get_partitions_with_auth_result();
                  result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    @@ -15418,7 +15366,7 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - get_partitions_ps_with_auth_result result = new get_partitions_ps_with_auth_result();
    + get_partitions_with_auth_result result = new get_partitions_with_auth_result();
                  if (e instanceof NoSuchObjectException) {
                              result.o1 = (NoSuchObjectException) e;
                              result.setO1IsSet(true);
    @@ -15449,25 +15397,25 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, get_partitions_ps_with_auth_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    - iface.get_partitions_ps_with_auth(args.db_name, args.tbl_name, args.part_vals, args.max_parts, args.user_name, args.group_names,resultHandler);
    + public void start(I iface, get_partitions_with_auth_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    + iface.get_partitions_with_auth(args.db_name, args.tbl_name, args.max_parts, args.user_name, args.group_names,resultHandler);
            }
          }

    - public static class get_partition_names_ps<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partition_names_ps_args, List<String>> {
    - public get_partition_names_ps() {
    - super("get_partition_names_ps");
    + public static class get_partitions_pspec<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_pspec_args, List<PartitionSpec>> {
    + public get_partitions_pspec() {
    + super("get_partitions_pspec");
            }

    - public get_partition_names_ps_args getEmptyArgsInstance() {
    - return new get_partition_names_ps_args();
    + public get_partitions_pspec_args getEmptyArgsInstance() {
    + return new get_partitions_pspec_args();
            }

    - public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + public AsyncMethodCallback<List<PartitionSpec>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<List<String>>() {
    - public void onComplete(List<String> o) {
    - get_partition_names_ps_result result = new get_partition_names_ps_result();
    + return new AsyncMethodCallback<List<PartitionSpec>>() {
    + public void onComplete(List<PartitionSpec> o) {
    + get_partitions_pspec_result result = new get_partitions_pspec_result();
                  result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    @@ -15480,14 +15428,14 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - get_partition_names_ps_result result = new get_partition_names_ps_result();
    - if (e instanceof MetaException) {
    - result.o1 = (MetaException) e;
    + get_partitions_pspec_result result = new get_partitions_pspec_result();
    + if (e instanceof NoSuchObjectException) {
    + result.o1 = (NoSuchObjectException) e;
                              result.setO1IsSet(true);
                              msg = result;
                  }
    - else if (e instanceof NoSuchObjectException) {
    - result.o2 = (NoSuchObjectException) e;
    + else if (e instanceof MetaException) {
    + result.o2 = (MetaException) e;
                              result.setO2IsSet(true);
                              msg = result;
                  }
    @@ -15511,25 +15459,25 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, get_partition_names_ps_args args, org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws TException {
    - iface.get_partition_names_ps(args.db_name, args.tbl_name, args.part_vals, args.max_parts,resultHandler);
    + public void start(I iface, get_partitions_pspec_args args, org.apache.thrift.async.AsyncMethodCallback<List<PartitionSpec>> resultHandler) throws TException {
    + iface.get_partitions_pspec(args.db_name, args.tbl_name, args.max_parts,resultHandler);
            }
          }

    - public static class get_partitions_by_filter<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_filter_args, List<Partition>> {
    - public get_partitions_by_filter() {
    - super("get_partitions_by_filter");
    + public static class get_partition_names<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partition_names_args, List<String>> {
    + public get_partition_names() {
    + super("get_partition_names");
            }

    - public get_partitions_by_filter_args getEmptyArgsInstance() {
    - return new get_partitions_by_filter_args();
    + public get_partition_names_args getEmptyArgsInstance() {
    + return new get_partition_names_args();
            }

    - public AsyncMethodCallback<List<Partition>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<List<Partition>>() {
    - public void onComplete(List<Partition> o) {
    - get_partitions_by_filter_result result = new get_partitions_by_filter_result();
    + return new AsyncMethodCallback<List<String>>() {
    + public void onComplete(List<String> o) {
    + get_partition_names_result result = new get_partition_names_result();
                  result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    @@ -15542,14 +15490,9 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - get_partitions_by_filter_result result = new get_partitions_by_filter_result();
    + get_partition_names_result result = new get_partition_names_result();
                  if (e instanceof MetaException) {
    - result.o1 = (MetaException) e;
    - result.setO1IsSet(true);
    - msg = result;
    - }
    - else if (e instanceof NoSuchObjectException) {
    - result.o2 = (NoSuchObjectException) e;
    + result.o2 = (MetaException) e;
                              result.setO2IsSet(true);
                              msg = result;
                  }
    @@ -15573,25 +15516,25 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, get_partitions_by_filter_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    - iface.get_partitions_by_filter(args.db_name, args.tbl_name, args.filter, args.max_parts,resultHandler);
    + public void start(I iface, get_partition_names_args args, org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws TException {
    + iface.get_partition_names(args.db_name, args.tbl_name, args.max_parts,resultHandler);
            }
          }

    - public static class get_part_specs_by_filter<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_part_specs_by_filter_args, List<PartitionSpec>> {
    - public get_part_specs_by_filter() {
    - super("get_part_specs_by_filter");
    + public static class get_partitions_ps<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_ps_args, List<Partition>> {
    + public get_partitions_ps() {
    + super("get_partitions_ps");
            }

    - public get_part_specs_by_filter_args getEmptyArgsInstance() {
    - return new get_part_specs_by_filter_args();
    + public get_partitions_ps_args getEmptyArgsInstance() {
    + return new get_partitions_ps_args();
            }

    - public AsyncMethodCallback<List<PartitionSpec>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + public AsyncMethodCallback<List<Partition>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<List<PartitionSpec>>() {
    - public void onComplete(List<PartitionSpec> o) {
    - get_part_specs_by_filter_result result = new get_part_specs_by_filter_result();
    + return new AsyncMethodCallback<List<Partition>>() {
    + public void onComplete(List<Partition> o) {
    + get_partitions_ps_result result = new get_partitions_ps_result();
                  result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    @@ -15604,7 +15547,7 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - get_part_specs_by_filter_result result = new get_part_specs_by_filter_result();
    + get_partitions_ps_result result = new get_partitions_ps_result();
                  if (e instanceof MetaException) {
                              result.o1 = (MetaException) e;
                              result.setO1IsSet(true);
    @@ -15635,25 +15578,25 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, get_part_specs_by_filter_args args, org.apache.thrift.async.AsyncMethodCallback<List<PartitionSpec>> resultHandler) throws TException {
    - iface.get_part_specs_by_filter(args.db_name, args.tbl_name, args.filter, args.max_parts,resultHandler);
    + public void start(I iface, get_partitions_ps_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    + iface.get_partitions_ps(args.db_name, args.tbl_name, args.part_vals, args.max_parts,resultHandler);
            }
          }

    - public static class get_partitions_by_expr<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_expr_args, PartitionsByExprResult> {
    - public get_partitions_by_expr() {
    - super("get_partitions_by_expr");
    + public static class get_partitions_ps_with_auth<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_ps_with_auth_args, List<Partition>> {
    + public get_partitions_ps_with_auth() {
    + super("get_partitions_ps_with_auth");
            }

    - public get_partitions_by_expr_args getEmptyArgsInstance() {
    - return new get_partitions_by_expr_args();
    + public get_partitions_ps_with_auth_args getEmptyArgsInstance() {
    + return new get_partitions_ps_with_auth_args();
            }

    - public AsyncMethodCallback<PartitionsByExprResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + public AsyncMethodCallback<List<Partition>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<PartitionsByExprResult>() {
    - public void onComplete(PartitionsByExprResult o) {
    - get_partitions_by_expr_result result = new get_partitions_by_expr_result();
    + return new AsyncMethodCallback<List<Partition>>() {
    + public void onComplete(List<Partition> o) {
    + get_partitions_ps_with_auth_result result = new get_partitions_ps_with_auth_result();
                  result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    @@ -15666,14 +15609,14 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - get_partitions_by_expr_result result = new get_partitions_by_expr_result();
    - if (e instanceof MetaException) {
    - result.o1 = (MetaException) e;
    + get_partitions_ps_with_auth_result result = new get_partitions_ps_with_auth_result();
    + if (e instanceof NoSuchObjectException) {
    + result.o1 = (NoSuchObjectException) e;
                              result.setO1IsSet(true);
                              msg = result;
                  }
    - else if (e instanceof NoSuchObjectException) {
    - result.o2 = (NoSuchObjectException) e;
    + else if (e instanceof MetaException) {
    + result.o2 = (MetaException) e;
                              result.setO2IsSet(true);
                              msg = result;
                  }
    @@ -15697,25 +15640,25 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, get_partitions_by_expr_args args, org.apache.thrift.async.AsyncMethodCallback<PartitionsByExprResult> resultHandler) throws TException {
    - iface.get_partitions_by_expr(args.req,resultHandler);
    + public void start(I iface, get_partitions_ps_with_auth_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    + iface.get_partitions_ps_with_auth(args.db_name, args.tbl_name, args.part_vals, args.max_parts, args.user_name, args.group_names,resultHandler);
            }
          }

    - public static class get_partitions_by_names<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_names_args, List<Partition>> {
    - public get_partitions_by_names() {
    - super("get_partitions_by_names");
    + public static class get_partition_names_ps<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partition_names_ps_args, List<String>> {
    + public get_partition_names_ps() {
    + super("get_partition_names_ps");
            }

    - public get_partitions_by_names_args getEmptyArgsInstance() {
    - return new get_partitions_by_names_args();
    + public get_partition_names_ps_args getEmptyArgsInstance() {
    + return new get_partition_names_ps_args();
            }

    - public AsyncMethodCallback<List<Partition>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<List<Partition>>() {
    - public void onComplete(List<Partition> o) {
    - get_partitions_by_names_result result = new get_partitions_by_names_result();
    + return new AsyncMethodCallback<List<String>>() {
    + public void onComplete(List<String> o) {
    + get_partition_names_ps_result result = new get_partition_names_ps_result();
                  result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    @@ -15728,7 +15671,7 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - get_partitions_by_names_result result = new get_partitions_by_names_result();
    + get_partition_names_ps_result result = new get_partition_names_ps_result();
                  if (e instanceof MetaException) {
                              result.o1 = (MetaException) e;
                              result.setO1IsSet(true);
    @@ -15759,25 +15702,26 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, get_partitions_by_names_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    - iface.get_partitions_by_names(args.db_name, args.tbl_name, args.names,resultHandler);
    + public void start(I iface, get_partition_names_ps_args args, org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws TException {
    + iface.get_partition_names_ps(args.db_name, args.tbl_name, args.part_vals, args.max_parts,resultHandler);
            }
          }

    - public static class alter_partition<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, alter_partition_args, Void> {
    - public alter_partition() {
    - super("alter_partition");
    + public static class get_partitions_by_filter<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_filter_args, List<Partition>> {
    + public get_partitions_by_filter() {
    + super("get_partitions_by_filter");
            }

    - public alter_partition_args getEmptyArgsInstance() {
    - return new alter_partition_args();
    + public get_partitions_by_filter_args getEmptyArgsInstance() {
    + return new get_partitions_by_filter_args();
            }

    - public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + public AsyncMethodCallback<List<Partition>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<Void>() {
    - public void onComplete(Void o) {
    - alter_partition_result result = new alter_partition_result();
    + return new AsyncMethodCallback<List<Partition>>() {
    + public void onComplete(List<Partition> o) {
    + get_partitions_by_filter_result result = new get_partitions_by_filter_result();
    + result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                    return;
    @@ -15789,14 +15733,14 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - alter_partition_result result = new alter_partition_result();
    - if (e instanceof InvalidOperationException) {
    - result.o1 = (InvalidOperationException) e;
    + get_partitions_by_filter_result result = new get_partitions_by_filter_result();
    + if (e instanceof MetaException) {
    + result.o1 = (MetaException) e;
                              result.setO1IsSet(true);
                              msg = result;
                  }
    - else if (e instanceof MetaException) {
    - result.o2 = (MetaException) e;
    + else if (e instanceof NoSuchObjectException) {
    + result.o2 = (NoSuchObjectException) e;
                              result.setO2IsSet(true);
                              msg = result;
                  }
    @@ -15820,25 +15764,26 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, alter_partition_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
    - iface.alter_partition(args.db_name, args.tbl_name, args.new_part,resultHandler);
    + public void start(I iface, get_partitions_by_filter_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    + iface.get_partitions_by_filter(args.db_name, args.tbl_name, args.filter, args.max_parts,resultHandler);
            }
          }

    - public static class alter_partitions<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, alter_partitions_args, Void> {
    - public alter_partitions() {
    - super("alter_partitions");
    + public static class get_part_specs_by_filter<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_part_specs_by_filter_args, List<PartitionSpec>> {
    + public get_part_specs_by_filter() {
    + super("get_part_specs_by_filter");
            }

    - public alter_partitions_args getEmptyArgsInstance() {
    - return new alter_partitions_args();
    + public get_part_specs_by_filter_args getEmptyArgsInstance() {
    + return new get_part_specs_by_filter_args();
            }

    - public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + public AsyncMethodCallback<List<PartitionSpec>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<Void>() {
    - public void onComplete(Void o) {
    - alter_partitions_result result = new alter_partitions_result();
    + return new AsyncMethodCallback<List<PartitionSpec>>() {
    + public void onComplete(List<PartitionSpec> o) {
    + get_part_specs_by_filter_result result = new get_part_specs_by_filter_result();
    + result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                    return;
    @@ -15850,14 +15795,14 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - alter_partitions_result result = new alter_partitions_result();
    - if (e instanceof InvalidOperationException) {
    - result.o1 = (InvalidOperationException) e;
    + get_part_specs_by_filter_result result = new get_part_specs_by_filter_result();
    + if (e instanceof MetaException) {
    + result.o1 = (MetaException) e;
                              result.setO1IsSet(true);
                              msg = result;
                  }
    - else if (e instanceof MetaException) {
    - result.o2 = (MetaException) e;
    + else if (e instanceof NoSuchObjectException) {
    + result.o2 = (NoSuchObjectException) e;
                              result.setO2IsSet(true);
                              msg = result;
                  }
    @@ -15881,25 +15826,26 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, alter_partitions_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
    - iface.alter_partitions(args.db_name, args.tbl_name, args.new_parts,resultHandler);
    + public void start(I iface, get_part_specs_by_filter_args args, org.apache.thrift.async.AsyncMethodCallback<List<PartitionSpec>> resultHandler) throws TException {
    + iface.get_part_specs_by_filter(args.db_name, args.tbl_name, args.filter, args.max_parts,resultHandler);
            }
          }

    - public static class alter_partition_with_environment_context<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, alter_partition_with_environment_context_args, Void> {
    - public alter_partition_with_environment_context() {
    - super("alter_partition_with_environment_context");
    + public static class get_partitions_by_expr<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_expr_args, PartitionsByExprResult> {
    + public get_partitions_by_expr() {
    + super("get_partitions_by_expr");
            }

    - public alter_partition_with_environment_context_args getEmptyArgsInstance() {
    - return new alter_partition_with_environment_context_args();
    + public get_partitions_by_expr_args getEmptyArgsInstance() {
    + return new get_partitions_by_expr_args();
            }

    - public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + public AsyncMethodCallback<PartitionsByExprResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<Void>() {
    - public void onComplete(Void o) {
    - alter_partition_with_environment_context_result result = new alter_partition_with_environment_context_result();
    + return new AsyncMethodCallback<PartitionsByExprResult>() {
    + public void onComplete(PartitionsByExprResult o) {
    + get_partitions_by_expr_result result = new get_partitions_by_expr_result();
    + result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                    return;
    @@ -15911,14 +15857,14 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - alter_partition_with_environment_context_result result = new alter_partition_with_environment_context_result();
    - if (e instanceof InvalidOperationException) {
    - result.o1 = (InvalidOperationException) e;
    + get_partitions_by_expr_result result = new get_partitions_by_expr_result();
    + if (e instanceof MetaException) {
    + result.o1 = (MetaException) e;
                              result.setO1IsSet(true);
                              msg = result;
                  }
    - else if (e instanceof MetaException) {
    - result.o2 = (MetaException) e;
    + else if (e instanceof NoSuchObjectException) {
    + result.o2 = (NoSuchObjectException) e;
                              result.setO2IsSet(true);
                              msg = result;
                  }
    @@ -15942,25 +15888,26 @@ public class ThriftHiveMetastore {
              return false;
            }

    - public void start(I iface, alter_partition_with_environment_context_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
    - iface.alter_partition_with_environment_context(args.db_name, args.tbl_name, args.new_part, args.environment_context,resultHandler);
    + public void start(I iface, get_partitions_by_expr_args args, org.apache.thrift.async.AsyncMethodCallback<PartitionsByExprResult> resultHandler) throws TException {
    + iface.get_partitions_by_expr(args.req,resultHandler);
            }
          }

    - public static class rename_partition<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, rename_partition_args, Void> {
    - public rename_partition() {
    - super("rename_partition");
    + public static class get_partitions_by_names<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_names_args, List<Partition>> {
    + public get_partitions_by_names() {
    + super("get_partitions_by_names");
            }

    - public rename_partition_args getEmptyArgsInstance() {
    - return new rename_partition_args();
    + public get_partitions_by_names_args getEmptyArgsInstance() {
    + return new get_partitions_by_names_args();
            }

    - public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + public AsyncMethodCallback<List<Partition>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
              final org.apache.thrift.AsyncProcessFunction fcall = this;
    - return new AsyncMethodCallback<Void>() {
    - public void onComplete(Void o) {
    - rename_partition_result result = new rename_partition_result();
    + return new AsyncMethodCallback<List<Partition>>() {
    + public void onComplete(List<Partition> o) {
    + get_partitions_by_names_result result = new get_partitions_by_names_result();
    + result.success = o;
                  try {
                    fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                    return;
    @@ -15972,14 +15919,258 @@ public class ThriftHiveMetastore {
                public void onError(Exception e) {
                  byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
                  org.apache.thrift.TBase msg;
    - rename_partition_result result = new rename_partition_result();
    - if (e instanceof InvalidOperationException) {
    - result.o1 = (InvalidOperationException) e;
    + get_partitions_by_names_result result = new get_partitions_by_names_result();
    + if (e instanceof MetaException) {
    + result.o1 = (MetaException) e;
                              result.setO1IsSet(true);
                              msg = result;
                  }
    - else if (e instanceof MetaException) {
    - result.o2 = (MetaException) e;
    + else if (e instanceof NoSuchObjectException) {
    + result.o2 = (NoSuchObjectException) e;
    + result.setO2IsSet(true);
    + msg = result;
    + }
    + else
    + {
    + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
    + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
    + }
    + try {
    + fcall.sendResponse(fb,msg,msgType,seqid);
    + return;
    + } catch (Exception ex) {
    + LOGGER.error("Exception writing to internal frame buffer", ex);
    + }
    + fb.close();
    + }
    + };
    + }
    +
    + protected boolean isOneway() {
    + return false;
    + }
    +
    + public void start(I iface, get_partitions_by_names_args args, org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) throws TException {
    + iface.get_partitions_by_names(args.db_name, args.tbl_name, args.names,resultHandler);
    + }
    + }
    +
    + public static class alter_partition<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, alter_partition_args, Void> {
    + public alter_partition() {
    + super("alter_partition");
    + }
    +
    + public alter_partition_args getEmptyArgsInstance() {
    + return new alter_partition_args();
    + }
    +
    + public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + final org.apache.thrift.AsyncProcessFunction fcall = this;
    + return new AsyncMethodCallback<Void>() {
    + public void onComplete(Void o) {
    + alter_partition_result result = new alter_partition_result();
    + try {
    + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    + return;
    + } catch (Exception e) {
    + LOGGER.error("Exception writing to internal frame buffer", e);
    + }
    + fb.close();
    + }
    + public void onError(Exception e) {
    + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
    + org.apache.thrift.TBase msg;
    + alter_partition_result result = new alter_partition_result();
    + if (e instanceof InvalidOperationException) {
    + result.o1 = (InvalidOperationException) e;
    + result.setO1IsSet(true);
    + msg = result;
    + }
    + else if (e instanceof MetaException) {
    + result.o2 = (MetaException) e;
    + result.setO2IsSet(true);
    + msg = result;
    + }
    + else
    + {
    + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
    + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
    + }
    + try {
    + fcall.sendResponse(fb,msg,msgType,seqid);
    + return;
    + } catch (Exception ex) {
    + LOGGER.error("Exception writing to internal frame buffer", ex);
    + }
    + fb.close();
    + }
    + };
    + }
    +
    + protected boolean isOneway() {
    + return false;
    + }
    +
    + public void start(I iface, alter_partition_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
    + iface.alter_partition(args.db_name, args.tbl_name, args.new_part,resultHandler);
    + }
    + }
    +
    + public static class alter_partitions<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, alter_partitions_args, Void> {
    + public alter_partitions() {
    + super("alter_partitions");
    + }
    +
    + public alter_partitions_args getEmptyArgsInstance() {
    + return new alter_partitions_args();
    + }
    +
    + public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + final org.apache.thrift.AsyncProcessFunction fcall = this;
    + return new AsyncMethodCallback<Void>() {
    + public void onComplete(Void o) {
    + alter_partitions_result result = new alter_partitions_result();
    + try {
    + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    + return;
    + } catch (Exception e) {
    + LOGGER.error("Exception writing to internal frame buffer", e);
    + }
    + fb.close();
    + }
    + public void onError(Exception e) {
    + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
    + org.apache.thrift.TBase msg;
    + alter_partitions_result result = new alter_partitions_result();
    + if (e instanceof InvalidOperationException) {
    + result.o1 = (InvalidOperationException) e;
    + result.setO1IsSet(true);
    + msg = result;
    + }
    + else if (e instanceof MetaException) {
    + result.o2 = (MetaException) e;
    + result.setO2IsSet(true);
    + msg = result;
    + }
    + else
    + {
    + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
    + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
    + }
    + try {
    + fcall.sendResponse(fb,msg,msgType,seqid);
    + return;
    + } catch (Exception ex) {
    + LOGGER.error("Exception writing to internal frame buffer", ex);
    + }
    + fb.close();
    + }
    + };
    + }
    +
    + protected boolean isOneway() {
    + return false;
    + }
    +
    + public void start(I iface, alter_partitions_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
    + iface.alter_partitions(args.db_name, args.tbl_name, args.new_parts,resultHandler);
    + }
    + }
    +
    + public static class alter_partition_with_environment_context<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, alter_partition_with_environment_context_args, Void> {
    + public alter_partition_with_environment_context() {
    + super("alter_partition_with_environment_context");
    + }
    +
    + public alter_partition_with_environment_context_args getEmptyArgsInstance() {
    + return new alter_partition_with_environment_context_args();
    + }
    +
    + public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + final org.apache.thrift.AsyncProcessFunction fcall = this;
    + return new AsyncMethodCallback<Void>() {
    + public void onComplete(Void o) {
    + alter_partition_with_environment_context_result result = new alter_partition_with_environment_context_result();
    + try {
    + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    + return;
    + } catch (Exception e) {
    + LOGGER.error("Exception writing to internal frame buffer", e);
    + }
    + fb.close();
    + }
    + public void onError(Exception e) {
    + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
    + org.apache.thrift.TBase msg;
    + alter_partition_with_environment_context_result result = new alter_partition_with_environment_context_result();
    + if (e instanceof InvalidOperationException) {
    + result.o1 = (InvalidOperationException) e;
    + result.setO1IsSet(true);
    + msg = result;
    + }
    + else if (e instanceof MetaException) {
    + result.o2 = (MetaException) e;
    + result.setO2IsSet(true);
    + msg = result;
    + }
    + else
    + {
    + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
    + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
    + }
    + try {
    + fcall.sendResponse(fb,msg,msgType,seqid);
    + return;
    + } catch (Exception ex) {
    + LOGGER.error("Exception writing to internal frame buffer", ex);
    + }
    + fb.close();
    + }
    + };
    + }
    +
    + protected boolean isOneway() {
    + return false;
    + }
    +
    + public void start(I iface, alter_partition_with_environment_context_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
    + iface.alter_partition_with_environment_context(args.db_name, args.tbl_name, args.new_part, args.environment_context,resultHandler);
    + }
    + }
    +
    + public static class rename_partition<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, rename_partition_args, Void> {
    + public rename_partition() {
    + super("rename_partition");
    + }
    +
    + public rename_partition_args getEmptyArgsInstance() {
    + return new rename_partition_args();
    + }
    +
    + public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
    + final org.apache.thrift.AsyncProcessFunction fcall = this;
    + return new AsyncMethodCallback<Void>() {
    + public void onComplete(Void o) {
    + rename_partition_result result = new rename_partition_result();
    + try {
    + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
    + return;
    + } catch (Exception e) {
    + LOGGER.error("Exception writing to internal frame buffer", e);
    + }
    + fb.close();
    + }
    + public void onError(Exception e) {
    + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
    + org.apache.thrift.TBase msg;
    + rename_partition_result result = new rename_partition_result();
    + if (e instanceof InvalidOperationException) {
    + result.o1 = (InvalidOperationException) e;
    + result.setO1IsSet(true);
    + msg = result;
    + }
    + else if (e instanceof MetaException) {
    + result.o2 = (MetaException) e;
                              result.setO2IsSet(true);
                              msg = result;
                  }
    @@ -66816,7 +67007,1554 @@ public class ThriftHiveMetastore {

          @Override
          public String toString() {
    - StringBuilder sb = new StringBuilder("get_partition_result(");
    + StringBuilder sb = new StringBuilder("get_partition_result(");
    + boolean first = true;
    +
    + sb.append("success:");
    + if (this.success == null) {
    + sb.append("null");
    + } else {
    + sb.append(this.success);
    + }
    + first = false;
    + if (!first) sb.append(", ");
    + sb.append("o1:");
    + if (this.o1 == null) {
    + sb.append("null");
    + } else {
    + sb.append(this.o1);
    + }
    + first = false;
    + if (!first) sb.append(", ");
    + sb.append("o2:");
    + if (this.o2 == null) {
    + sb.append("null");
    + } else {
    + sb.append(this.o2);
    + }
    + first = false;
    + sb.append(")");
    + return sb.toString();
    + }
    +
    + public void validate() throws org.apache.thrift.TException {
    + // check for required fields
    + // check for sub-struct validity
    + if (success != null) {
    + success.validate();
    + }
    + }
    +
    + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
    + try {
    + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
    + } catch (org.apache.thrift.TException te) {
    + throw new java.io.IOException(te);
    + }
    + }
    +
    + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
    + try {
    + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
    + } catch (org.apache.thrift.TException te) {
    + throw new java.io.IOException(te);
    + }
    + }
    +
    + private static class get_partition_resultStandardSchemeFactory implements SchemeFactory {
    + public get_partition_resultStandardScheme getScheme() {
    + return new get_partition_resultStandardScheme();
    + }
    + }
    +
    + private static class get_partition_resultStandardScheme extends StandardScheme<get_partition_result> {
    +
    + public void read(org.apache.thrift.protocol.TProtocol iprot, get_partition_result struct) throws org.apache.thrift.TException {
    + org.apache.thrift.protocol.TField schemeField;
    + iprot.readStructBegin();
    + while (true)
    + {
    + schemeField = iprot.readFieldBegin();
    + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
    + break;
    + }
    + switch (schemeField.id) {
    + case 0: // SUCCESS
    + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
    + struct.success = new Partition();
    + struct.success.read(iprot);
    + struct.setSuccessIsSet(true);
    + } else {
    + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
    + }
    + break;
    + case 1: // O1
    + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
    + struct.o1 = new MetaException();
    + struct.o1.read(iprot);
    + struct.setO1IsSet(true);
    + } else {
    + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
    + }
    + break;
    + case 2: // O2
    + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
    + struct.o2 = new NoSuchObjectException();
    + struct.o2.read(iprot);
    + struct.setO2IsSet(true);
    + } else {
    + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
    + }
    + break;
    + default:
    + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
    + }
    + iprot.readFieldEnd();
    + }
    + iprot.readStructEnd();
    + struct.validate();
    + }
    +
    + public void write(org.apache.thrift.protocol.TProtocol oprot, get_partition_result struct) throws org.apache.thrift.TException {
    + struct.validate();
    +
    + oprot.writeStructBegin(STRUCT_DESC);
    + if (struct.success != null) {
    + oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
    + struct.success.write(oprot);
    + oprot.writeFieldEnd();
    + }
    + if (struct.o1 != null) {
    + oprot.writeFieldBegin(O1_FIELD_DESC);
    + struct.o1.write(oprot);
    + oprot.writeFieldEnd();
    + }
    + if (struct.o2 != null) {
    + oprot.writeFieldBegin(O2_FIELD_DESC);
    + struct.o2.write(oprot);
    + oprot.writeFieldEnd();
    + }
    + oprot.writeFieldStop();
    + oprot.writeStructEnd();
    + }
    +
    + }
    +
    + private static class get_partition_resultTupleSchemeFactory implements SchemeFactory {
    + public get_partition_resultTupleScheme getScheme() {
    + return new get_partition_resultTupleScheme();
    + }
    + }
    +
    + private static class get_partition_resultTupleScheme extends TupleScheme<get_partition_result> {
    +
    + @Override
    + public void write(org.apache.thrift.protocol.TProtocol prot, get_partition_result struct) throws org.apache.thrift.TException {
    + TTupleProtocol oprot = (TTupleProtocol) prot;
    + BitSet optionals = new BitSet();
    + if (struct.isSetSuccess()) {
    + optionals.set(0);
    + }
    + if (struct.isSetO1()) {
    + optionals.set(1);
    + }
    + if (struct.isSetO2()) {
    + optionals.set(2);
    + }
    + oprot.writeBitSet(optionals, 3);
    + if (struct.isSetSuccess()) {
    + struct.success.write(oprot);
    + }
    + if (struct.isSetO1()) {
    + struct.o1.write(oprot);
    + }
    + if (struct.isSetO2()) {
    + struct.o2.write(oprot);
    + }
    + }
    +
    + @Override
    + public void read(org.apache.thrift.protocol.TProtocol prot, get_partition_result struct) throws org.apache.thrift.TException {
    + TTupleProtocol iprot = (TTupleProtocol) prot;
    + BitSet incoming = iprot.readBitSet(3);
    + if (incoming.get(0)) {
    + struct.success = new Partition();
    + struct.success.read(iprot);
    + struct.setSuccessIsSet(true);
    + }
    + if (incoming.get(1)) {
    + struct.o1 = new MetaException();
    + struct.o1.read(iprot);
    + struct.setO1IsSet(true);
    + }
    + if (incoming.get(2)) {
    + struct.o2 = new NoSuchObjectException();
    + struct.o2.read(iprot);
    + struct.setO2IsSet(true);
    + }
    + }
    + }
    +
    + }
    +
    + public static class exchange_partition_args implements org.apache.thrift.TBase<exchange_partition_args, exchange_partition_args._Fields>, java.io.Serializable, Cloneable, Comparable<exchange_partition_args> {
    + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("exchange_partition_args");
    +
    + private static final org.apache.thrift.protocol.TField PARTITION_SPECS_FIELD_DESC = new org.apache.thrift.protocol.TField("partitionSpecs", org.apache.thrift.protocol.TType.MAP, (short)1);
    + private static final org.apache.thrift.protocol.TField SOURCE_DB_FIELD_DESC = new org.apache.thrift.protocol.TField("source_db", org.apache.thrift.protocol.TType.STRING, (short)2);
    + private static final org.apache.thrift.protocol.TField SOURCE_TABLE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("source_table_name", org.apache.thrift.protocol.TType.STRING, (short)3);
    + private static final org.apache.thrift.protocol.TField DEST_DB_FIELD_DESC = new org.apache.thrift.protocol.TField("dest_db", org.apache.thrift.protocol.TType.STRING, (short)4);
    + private static final org.apache.thrift.protocol.TField DEST_TABLE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("dest_table_name", org.apache.thrift.protocol.TType.STRING, (short)5);
    +
    + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    + static {
    + schemes.put(StandardScheme.class, new exchange_partition_argsStandardSchemeFactory());
    + schemes.put(TupleScheme.class, new exchange_partition_argsTupleSchemeFactory());
    + }
    +
    + private Map<String,String> partitionSpecs; // required
    + private String source_db; // required
    + private String source_table_name; // required
    + private String dest_db; // required
    + private String dest_table_name; // required
    +
    + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    + public enum _Fields implements org.apache.thrift.TFieldIdEnum {
    + PARTITION_SPECS((short)1, "partitionSpecs"),
    + SOURCE_DB((short)2, "source_db"),
    + SOURCE_TABLE_NAME((short)3, "source_table_name"),
    + DEST_DB((short)4, "dest_db"),
    + DEST_TABLE_NAME((short)5, "dest_table_name");
    +
    + private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
    +
    + static {
    + for (_Fields field : EnumSet.allOf(_Fields.class)) {
    + byName.put(field.getFieldName(), field);
    + }
    + }
    +
    + /**
    + * Find the _Fields constant that matches fieldId, or null if its not found.
    + */
    + public static _Fields findByThriftId(int fieldId) {
    + switch(fieldId) {
    + case 1: // PARTITION_SPECS
    + return PARTITION_SPECS;
    + case 2: // SOURCE_DB
    + return SOURCE_DB;
    + case 3: // SOURCE_TABLE_NAME
    + return SOURCE_TABLE_NAME;
    + case 4: // DEST_DB
    + return DEST_DB;
    + case 5: // DEST_TABLE_NAME
    + return DEST_TABLE_NAME;
    + default:
    + return null;
    + }
    + }
    +
    + /**
    + * Find the _Fields constant that matches fieldId, throwing an exception
    + * if it is not found.
    + */
    + public static _Fields findByThriftIdOrThrow(int fieldId) {
    + _Fields fields = findByThriftId(fieldId);
    + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
    + return fields;
    + }
    +
    + /**
    + * Find the _Fields constant that matches name, or null if its not found.
    + */
    + public static _Fields findByName(String name) {
    + return byName.get(name);
    + }
    +
    + private final short _thriftId;
    + private final String _fieldName;
    +
    + _Fields(short thriftId, String fieldName) {
    + _thriftId = thriftId;
    + _fieldName = fieldName;
    + }
    +
    + public short getThriftFieldId() {
    + return _thriftId;
    + }
    +
    + public String getFieldName() {
    + return _fieldName;
    + }
    + }
    +
    + // isset id assignments
    + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    + static {
    + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
    + tmpMap.put(_Fields.PARTITION_SPECS, new org.apache.thrift.meta_data.FieldMetaData("partitionSpecs", org.apache.thrift.TFieldRequirementType.DEFAULT,
    + new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP,
    + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING),
    + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
    + tmpMap.put(_Fields.SOURCE_DB, new org.apache.thrift.meta_data.FieldMetaData("source_db", org.apache.thrift.TFieldRequirementType.DEFAULT,
    + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    + tmpMap.put(_Fields.SOURCE_TABLE_NAME, new org.apache.thrift.meta_data.FieldMetaData("source_table_name", org.apache.thrift.TFieldRequirementType.DEFAULT,
    + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    + tmpMap.put(_Fields.DEST_DB, new org.apache.thrift.meta_data.FieldMetaData("dest_db", org.apache.thrift.TFieldRequirementType.DEFAULT,
    + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    + tmpMap.put(_Fields.DEST_TABLE_NAME, new org.apache.thrift.meta_data.FieldMetaData("dest_table_name", org.apache.thrift.TFieldRequirementType.DEFAULT,
    + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    + metaDataMap = Collections.unmodifiableMap(tmpMap);
    + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(exchange_partition_args.class, metaDataMap);
    + }
    +
    + public exchange_partition_args() {
    + }
    +
    + public exchange_partition_args(
    + Map<String,String> partitionSpecs,
    + String source_db,
    + String source_table_name,
    + String dest_db,
    + String dest_table_name)
    + {
    + this();
    + this.partitionSpecs = partitionSpecs;
    + this.source_db = source_db;
    + this.source_table_name = source_table_name;
    + this.dest_db = dest_db;
    + this.dest_table_name = dest_table_name;
    + }
    +
    + /**
    + * Performs a deep copy on <i>other</i>.
    + */
    + public exchange_partition_args(exchange_partition_args other) {
    + if (other.isSetPartitionSpecs()) {
    + Map<String,String> __this__partitionSpecs = new HashMap<String,String>(other.partitionSpecs);
    + this.partitionSpecs = __this__partitionSpecs;
    + }
    + if (other.isSetSource_db()) {
    + this.source_db = other.source_db;
    + }
    + if (other.isSetSource_table_name()) {
    + this.source_table_name = other.source_table_name;
    + }
    + if (other.isSetDest_db()) {
    + this.dest_db = other.dest_db;
    + }
    + if (other.isSetDest_table_name()) {
    + this.dest_table_name = other.dest_table_name;
    + }
    + }
    +
    + public exchange_partition_args deepCopy() {
    + return new exchange_partition_args(this);
    + }
    +
    + @Override
    + public void clear() {
    + this.partitionSpecs = null;
    + this.source_db = null;
    + this.source_table_name = null;
    + this.dest_db = null;
    + this.dest_table_name = null;
    + }
    +
    + public int getPartitionSpecsSize() {
    + return (this.partitionSpecs == null) ? 0 : this.partitionSpecs.size();
    + }
    +
    + public void putToPartitionSpecs(String key, String val) {
    + if (this.partitionSpecs == null) {
    + this.partitionSpecs = new HashMap<String,String>();
    + }
    + this.partitionSpecs.put(key, val);
    + }
    +
    + public Map<String,String> getPartitionSpecs() {
    + return this.partitionSpecs;
    + }
    +
    + public void setPartitionSpecs(Map<String,String> partitionSpecs) {
    + this.partitionSpecs = partitionSpecs;
    + }
    +
    + public void unsetPartitionSpecs() {
    + this.partitionSpecs = null;
    + }
    +
    + /** Returns true if field partitionSpecs is set (has been assigned a value) and false otherwise */
    + public boolean isSetPartitionSpecs() {
    + return this.partitionSpecs != null;
    + }
    +
    + public void setPartitionSpecsIsSet(boolean value) {
    + if (!value) {
    + this.partitionSpecs = null;
    + }
    + }
    +
    + public String getSource_db() {
    + return this.source_db;
    + }
    +
    + public void setSource_db(String source_db) {
    + this.source_db = source_db;
    + }
    +
    + public void unsetSource_db() {
    + this.source_db = null;
    + }
    +
    + /** Returns true if field source_db is set (has been assigned a value) and false otherwise */
    + public boolean isSetSource_db() {
    + return this.source_db != null;
    + }
    +
    + public void setSource_dbIsSet(boolean value) {
    + if (!value) {
    + this.source_db = null;
    + }
    + }
    +
    + public String getSource_table_name() {
    + return this.source_table_name;
    + }
    +
    + public void setSource_table_name(String source_table_name) {
    + this.source_table_name = source_table_name;
    + }
    +
    + public void unsetSource_table_name() {
    + this.source_table_name = null;
    + }
    +
    + /** Returns true if

    <TRUNCATED>
  • Aihuaxu at Jan 13, 2016 at 3:03 pm
    HIVE-12215: Exchange partition does not show outputs field for post/pre execute hooks (Aihua Xu, reviewed by Xuefu Zhang)


    Project: http://git-wip-us.apache.org/repos/asf/hive/repo
    Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/96c9ee64
    Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/96c9ee64
    Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/96c9ee64

    Branch: refs/heads/branch-1
    Commit: 96c9ee64fc4a5101ccdf664b12de9d4be1da465e
    Parents: fd22de0
    Author: Aihua Xu <aihuaxu@gmail.com>
    Authored: Mon Nov 2 09:21:38 2015 -0800
    Committer: Aihua Xu <aihuaxu@apache.org>
    Committed: Wed Jan 13 09:49:22 2016 -0500

    ----------------------------------------------------------------------
      metastore/if/hive_metastore.thrift | 5 +
      .../gen/thrift/gen-cpp/ThriftHiveMetastore.cpp | 1647 +++++---
      .../gen/thrift/gen-cpp/ThriftHiveMetastore.h | 199 +
      .../ThriftHiveMetastore_server.skeleton.cpp | 5 +
      .../hive/metastore/api/ThriftHiveMetastore.java | 3989 +++++++++++++-----
      .../gen-php/metastore/ThriftHiveMetastore.php | 1144 +++--
      .../hive_metastore/ThriftHiveMetastore-remote | 7 +
      .../hive_metastore/ThriftHiveMetastore.py | 779 +++-
      .../gen/thrift/gen-rb/thrift_hive_metastore.rb | 84 +
      .../hadoop/hive/metastore/HiveMetaStore.java | 13 +-
      .../hive/metastore/HiveMetaStoreClient.java | 16 +
      .../hadoop/hive/metastore/IMetaStoreClient.java | 16 +
      .../org/apache/hadoop/hive/ql/exec/DDLTask.java | 13 +-
      .../apache/hadoop/hive/ql/metadata/Hive.java | 31 +-
      .../hive/ql/parse/DDLSemanticAnalyzer.java | 4 +
      .../clientnegative/exchange_partition.q.out | 2 +
      .../clientpositive/exchange_partition.q.out | 6 +
      .../clientpositive/exchange_partition2.q.out | 6 +
      .../clientpositive/exchange_partition3.q.out | 8 +
      .../clientpositive/exchgpartition2lel.q.out | 18 +
      20 files changed, 5799 insertions(+), 2193 deletions(-)
    ----------------------------------------------------------------------


    http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/metastore/if/hive_metastore.thrift
    ----------------------------------------------------------------------
    diff --git a/metastore/if/hive_metastore.thrift b/metastore/if/hive_metastore.thrift
    index d651195..c58c3a8 100755
    --- a/metastore/if/hive_metastore.thrift
    +++ b/metastore/if/hive_metastore.thrift
    @@ -935,6 +935,11 @@ service ThriftHiveMetastore extends fb303.FacebookService
            throws(1:MetaException o1, 2:NoSuchObjectException o2, 3:InvalidObjectException o3,
            4:InvalidInputException o4)

    + list<Partition> exchange_partitions(1:map<string, string> partitionSpecs, 2:string source_db,
    + 3:string source_table_name, 4:string dest_db, 5:string dest_table_name)
    + throws(1:MetaException o1, 2:NoSuchObjectException o2, 3:InvalidObjectException o3,
    + 4:InvalidInputException o4)
    +
        Partition get_partition_with_auth(1:string db_name, 2:string tbl_name, 3:list<string> part_vals,
            4: string user_name, 5: list<string> group_names) throws(1:MetaException o1, 2:NoSuchObjectException o2)
  • Aihuaxu at Jan 13, 2016 at 3:03 pm
    http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
    ----------------------------------------------------------------------
    diff --git a/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp b/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
    index 0354fe1..9a0ab8b 100644
    --- a/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
    +++ b/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
    @@ -11628,6 +11628,401 @@ uint32_t ThriftHiveMetastore_exchange_partition_presult::read(::apache::thrift::
      }


    +ThriftHiveMetastore_exchange_partitions_args::~ThriftHiveMetastore_exchange_partitions_args() throw() {
    +}
    +
    +
    +uint32_t ThriftHiveMetastore_exchange_partitions_args::read(::apache::thrift::protocol::TProtocol* iprot) {
    +
    + uint32_t xfer = 0;
    + std::string fname;
    + ::apache::thrift::protocol::TType ftype;
    + int16_t fid;
    +
    + xfer += iprot->readStructBegin(fname);
    +
    + using ::apache::thrift::protocol::TProtocolException;
    +
    +
    + while (true)
    + {
    + xfer += iprot->readFieldBegin(fname, ftype, fid);
    + if (ftype == ::apache::thrift::protocol::T_STOP) {
    + break;
    + }
    + switch (fid)
    + {
    + case 1:
    + if (ftype == ::apache::thrift::protocol::T_MAP) {
    + {
    + this->partitionSpecs.clear();
    + uint32_t _size839;
    + ::apache::thrift::protocol::TType _ktype840;
    + ::apache::thrift::protocol::TType _vtype841;
    + xfer += iprot->readMapBegin(_ktype840, _vtype841, _size839);
    + uint32_t _i843;
    + for (_i843 = 0; _i843 < _size839; ++_i843)
    + {
    + std::string _key844;
    + xfer += iprot->readString(_key844);
    + std::string& _val845 = this->partitionSpecs[_key844];
    + xfer += iprot->readString(_val845);
    + }
    + xfer += iprot->readMapEnd();
    + }
    + this->__isset.partitionSpecs = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 2:
    + if (ftype == ::apache::thrift::protocol::T_STRING) {
    + xfer += iprot->readString(this->source_db);
    + this->__isset.source_db = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 3:
    + if (ftype == ::apache::thrift::protocol::T_STRING) {
    + xfer += iprot->readString(this->source_table_name);
    + this->__isset.source_table_name = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 4:
    + if (ftype == ::apache::thrift::protocol::T_STRING) {
    + xfer += iprot->readString(this->dest_db);
    + this->__isset.dest_db = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 5:
    + if (ftype == ::apache::thrift::protocol::T_STRING) {
    + xfer += iprot->readString(this->dest_table_name);
    + this->__isset.dest_table_name = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + default:
    + xfer += iprot->skip(ftype);
    + break;
    + }
    + xfer += iprot->readFieldEnd();
    + }
    +
    + xfer += iprot->readStructEnd();
    +
    + return xfer;
    +}
    +
    +uint32_t ThriftHiveMetastore_exchange_partitions_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
    + uint32_t xfer = 0;
    + oprot->incrementRecursionDepth();
    + xfer += oprot->writeStructBegin("ThriftHiveMetastore_exchange_partitions_args");
    +
    + xfer += oprot->writeFieldBegin("partitionSpecs", ::apache::thrift::protocol::T_MAP, 1);
    + {
    + xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->partitionSpecs.size()));
    + std::map<std::string, std::string> ::const_iterator _iter846;
    + for (_iter846 = this->partitionSpecs.begin(); _iter846 != this->partitionSpecs.end(); ++_iter846)
    + {
    + xfer += oprot->writeString(_iter846->first);
    + xfer += oprot->writeString(_iter846->second);
    + }
    + xfer += oprot->writeMapEnd();
    + }
    + xfer += oprot->writeFieldEnd();
    +
    + xfer += oprot->writeFieldBegin("source_db", ::apache::thrift::protocol::T_STRING, 2);
    + xfer += oprot->writeString(this->source_db);
    + xfer += oprot->writeFieldEnd();
    +
    + xfer += oprot->writeFieldBegin("source_table_name", ::apache::thrift::protocol::T_STRING, 3);
    + xfer += oprot->writeString(this->source_table_name);
    + xfer += oprot->writeFieldEnd();
    +
    + xfer += oprot->writeFieldBegin("dest_db", ::apache::thrift::protocol::T_STRING, 4);
    + xfer += oprot->writeString(this->dest_db);
    + xfer += oprot->writeFieldEnd();
    +
    + xfer += oprot->writeFieldBegin("dest_table_name", ::apache::thrift::protocol::T_STRING, 5);
    + xfer += oprot->writeString(this->dest_table_name);
    + xfer += oprot->writeFieldEnd();
    +
    + xfer += oprot->writeFieldStop();
    + xfer += oprot->writeStructEnd();
    + oprot->decrementRecursionDepth();
    + return xfer;
    +}
    +
    +
    +ThriftHiveMetastore_exchange_partitions_pargs::~ThriftHiveMetastore_exchange_partitions_pargs() throw() {
    +}
    +
    +
    +uint32_t ThriftHiveMetastore_exchange_partitions_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
    + uint32_t xfer = 0;
    + oprot->incrementRecursionDepth();
    + xfer += oprot->writeStructBegin("ThriftHiveMetastore_exchange_partitions_pargs");
    +
    + xfer += oprot->writeFieldBegin("partitionSpecs", ::apache::thrift::protocol::T_MAP, 1);
    + {
    + xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->partitionSpecs)).size()));
    + std::map<std::string, std::string> ::const_iterator _iter847;
    + for (_iter847 = (*(this->partitionSpecs)).begin(); _iter847 != (*(this->partitionSpecs)).end(); ++_iter847)
    + {
    + xfer += oprot->writeString(_iter847->first);
    + xfer += oprot->writeString(_iter847->second);
    + }
    + xfer += oprot->writeMapEnd();
    + }
    + xfer += oprot->writeFieldEnd();
    +
    + xfer += oprot->writeFieldBegin("source_db", ::apache::thrift::protocol::T_STRING, 2);
    + xfer += oprot->writeString((*(this->source_db)));
    + xfer += oprot->writeFieldEnd();
    +
    + xfer += oprot->writeFieldBegin("source_table_name", ::apache::thrift::protocol::T_STRING, 3);
    + xfer += oprot->writeString((*(this->source_table_name)));
    + xfer += oprot->writeFieldEnd();
    +
    + xfer += oprot->writeFieldBegin("dest_db", ::apache::thrift::protocol::T_STRING, 4);
    + xfer += oprot->writeString((*(this->dest_db)));
    + xfer += oprot->writeFieldEnd();
    +
    + xfer += oprot->writeFieldBegin("dest_table_name", ::apache::thrift::protocol::T_STRING, 5);
    + xfer += oprot->writeString((*(this->dest_table_name)));
    + xfer += oprot->writeFieldEnd();
    +
    + xfer += oprot->writeFieldStop();
    + xfer += oprot->writeStructEnd();
    + oprot->decrementRecursionDepth();
    + return xfer;
    +}
    +
    +
    +ThriftHiveMetastore_exchange_partitions_result::~ThriftHiveMetastore_exchange_partitions_result() throw() {
    +}
    +
    +
    +uint32_t ThriftHiveMetastore_exchange_partitions_result::read(::apache::thrift::protocol::TProtocol* iprot) {
    +
    + uint32_t xfer = 0;
    + std::string fname;
    + ::apache::thrift::protocol::TType ftype;
    + int16_t fid;
    +
    + xfer += iprot->readStructBegin(fname);
    +
    + using ::apache::thrift::protocol::TProtocolException;
    +
    +
    + while (true)
    + {
    + xfer += iprot->readFieldBegin(fname, ftype, fid);
    + if (ftype == ::apache::thrift::protocol::T_STOP) {
    + break;
    + }
    + switch (fid)
    + {
    + case 0:
    + if (ftype == ::apache::thrift::protocol::T_LIST) {
    + {
    + this->success.clear();
    + uint32_t _size848;
    + ::apache::thrift::protocol::TType _etype851;
    + xfer += iprot->readListBegin(_etype851, _size848);
    + this->success.resize(_size848);
    + uint32_t _i852;
    + for (_i852 = 0; _i852 < _size848; ++_i852)
    + {
    + xfer += this->success[_i852].read(iprot);
    + }
    + xfer += iprot->readListEnd();
    + }
    + this->__isset.success = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 1:
    + if (ftype == ::apache::thrift::protocol::T_STRUCT) {
    + xfer += this->o1.read(iprot);
    + this->__isset.o1 = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 2:
    + if (ftype == ::apache::thrift::protocol::T_STRUCT) {
    + xfer += this->o2.read(iprot);
    + this->__isset.o2 = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 3:
    + if (ftype == ::apache::thrift::protocol::T_STRUCT) {
    + xfer += this->o3.read(iprot);
    + this->__isset.o3 = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 4:
    + if (ftype == ::apache::thrift::protocol::T_STRUCT) {
    + xfer += this->o4.read(iprot);
    + this->__isset.o4 = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + default:
    + xfer += iprot->skip(ftype);
    + break;
    + }
    + xfer += iprot->readFieldEnd();
    + }
    +
    + xfer += iprot->readStructEnd();
    +
    + return xfer;
    +}
    +
    +uint32_t ThriftHiveMetastore_exchange_partitions_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
    +
    + uint32_t xfer = 0;
    +
    + xfer += oprot->writeStructBegin("ThriftHiveMetastore_exchange_partitions_result");
    +
    + if (this->__isset.success) {
    + xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
    + {
    + xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
    + std::vector<Partition> ::const_iterator _iter853;
    + for (_iter853 = this->success.begin(); _iter853 != this->success.end(); ++_iter853)
    + {
    + xfer += (*_iter853).write(oprot);
    + }
    + xfer += oprot->writeListEnd();
    + }
    + xfer += oprot->writeFieldEnd();
    + } else if (this->__isset.o1) {
    + xfer += oprot->writeFieldBegin("o1", ::apache::thrift::protocol::T_STRUCT, 1);
    + xfer += this->o1.write(oprot);
    + xfer += oprot->writeFieldEnd();
    + } else if (this->__isset.o2) {
    + xfer += oprot->writeFieldBegin("o2", ::apache::thrift::protocol::T_STRUCT, 2);
    + xfer += this->o2.write(oprot);
    + xfer += oprot->writeFieldEnd();
    + } else if (this->__isset.o3) {
    + xfer += oprot->writeFieldBegin("o3", ::apache::thrift::protocol::T_STRUCT, 3);
    + xfer += this->o3.write(oprot);
    + xfer += oprot->writeFieldEnd();
    + } else if (this->__isset.o4) {
    + xfer += oprot->writeFieldBegin("o4", ::apache::thrift::protocol::T_STRUCT, 4);
    + xfer += this->o4.write(oprot);
    + xfer += oprot->writeFieldEnd();
    + }
    + xfer += oprot->writeFieldStop();
    + xfer += oprot->writeStructEnd();
    + return xfer;
    +}
    +
    +
    +ThriftHiveMetastore_exchange_partitions_presult::~ThriftHiveMetastore_exchange_partitions_presult() throw() {
    +}
    +
    +
    +uint32_t ThriftHiveMetastore_exchange_partitions_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
    +
    + uint32_t xfer = 0;
    + std::string fname;
    + ::apache::thrift::protocol::TType ftype;
    + int16_t fid;
    +
    + xfer += iprot->readStructBegin(fname);
    +
    + using ::apache::thrift::protocol::TProtocolException;
    +
    +
    + while (true)
    + {
    + xfer += iprot->readFieldBegin(fname, ftype, fid);
    + if (ftype == ::apache::thrift::protocol::T_STOP) {
    + break;
    + }
    + switch (fid)
    + {
    + case 0:
    + if (ftype == ::apache::thrift::protocol::T_LIST) {
    + {
    + (*(this->success)).clear();
    + uint32_t _size854;
    + ::apache::thrift::protocol::TType _etype857;
    + xfer += iprot->readListBegin(_etype857, _size854);
    + (*(this->success)).resize(_size854);
    + uint32_t _i858;
    + for (_i858 = 0; _i858 < _size854; ++_i858)
    + {
    + xfer += (*(this->success))[_i858].read(iprot);
    + }
    + xfer += iprot->readListEnd();
    + }
    + this->__isset.success = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 1:
    + if (ftype == ::apache::thrift::protocol::T_STRUCT) {
    + xfer += this->o1.read(iprot);
    + this->__isset.o1 = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 2:
    + if (ftype == ::apache::thrift::protocol::T_STRUCT) {
    + xfer += this->o2.read(iprot);
    + this->__isset.o2 = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 3:
    + if (ftype == ::apache::thrift::protocol::T_STRUCT) {
    + xfer += this->o3.read(iprot);
    + this->__isset.o3 = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + case 4:
    + if (ftype == ::apache::thrift::protocol::T_STRUCT) {
    + xfer += this->o4.read(iprot);
    + this->__isset.o4 = true;
    + } else {
    + xfer += iprot->skip(ftype);
    + }
    + break;
    + default:
    + xfer += iprot->skip(ftype);
    + break;
    + }
    + xfer += iprot->readFieldEnd();
    + }
    +
    + xfer += iprot->readStructEnd();
    +
    + return xfer;
    +}
    +
    +
      ThriftHiveMetastore_get_partition_with_auth_args::~ThriftHiveMetastore_get_partition_with_auth_args() throw() {
      }

    @@ -11672,14 +12067,14 @@ uint32_t ThriftHiveMetastore_get_partition_with_auth_args::read(::apache::thrift
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->part_vals.clear();
    - uint32_t _size839;
    - ::apache::thrift::protocol::TType _etype842;
    - xfer += iprot->readListBegin(_etype842, _size839);
    - this->part_vals.resize(_size839);
    - uint32_t _i843;
    - for (_i843 = 0; _i843 < _size839; ++_i843)
    + uint32_t _size859;
    + ::apache::thrift::protocol::TType _etype862;
    + xfer += iprot->readListBegin(_etype862, _size859);
    + this->part_vals.resize(_size859);
    + uint32_t _i863;
    + for (_i863 = 0; _i863 < _size859; ++_i863)
                  {
    - xfer += iprot->readString(this->part_vals[_i843]);
    + xfer += iprot->readString(this->part_vals[_i863]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -11700,14 +12095,14 @@ uint32_t ThriftHiveMetastore_get_partition_with_auth_args::read(::apache::thrift
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->group_names.clear();
    - uint32_t _size844;
    - ::apache::thrift::protocol::TType _etype847;
    - xfer += iprot->readListBegin(_etype847, _size844);
    - this->group_names.resize(_size844);
    - uint32_t _i848;
    - for (_i848 = 0; _i848 < _size844; ++_i848)
    + uint32_t _size864;
    + ::apache::thrift::protocol::TType _etype867;
    + xfer += iprot->readListBegin(_etype867, _size864);
    + this->group_names.resize(_size864);
    + uint32_t _i868;
    + for (_i868 = 0; _i868 < _size864; ++_i868)
                  {
    - xfer += iprot->readString(this->group_names[_i848]);
    + xfer += iprot->readString(this->group_names[_i868]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -11744,10 +12139,10 @@ uint32_t ThriftHiveMetastore_get_partition_with_auth_args::write(::apache::thrif
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
    - std::vector<std::string> ::const_iterator _iter849;
    - for (_iter849 = this->part_vals.begin(); _iter849 != this->part_vals.end(); ++_iter849)
    + std::vector<std::string> ::const_iterator _iter869;
    + for (_iter869 = this->part_vals.begin(); _iter869 != this->part_vals.end(); ++_iter869)
          {
    - xfer += oprot->writeString((*_iter849));
    + xfer += oprot->writeString((*_iter869));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -11760,10 +12155,10 @@ uint32_t ThriftHiveMetastore_get_partition_with_auth_args::write(::apache::thrif
        xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->group_names.size()));
    - std::vector<std::string> ::const_iterator _iter850;
    - for (_iter850 = this->group_names.begin(); _iter850 != this->group_names.end(); ++_iter850)
    + std::vector<std::string> ::const_iterator _iter870;
    + for (_iter870 = this->group_names.begin(); _iter870 != this->group_names.end(); ++_iter870)
          {
    - xfer += oprot->writeString((*_iter850));
    + xfer += oprot->writeString((*_iter870));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -11796,10 +12191,10 @@ uint32_t ThriftHiveMetastore_get_partition_with_auth_pargs::write(::apache::thri
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
    - std::vector<std::string> ::const_iterator _iter851;
    - for (_iter851 = (*(this->part_vals)).begin(); _iter851 != (*(this->part_vals)).end(); ++_iter851)
    + std::vector<std::string> ::const_iterator _iter871;
    + for (_iter871 = (*(this->part_vals)).begin(); _iter871 != (*(this->part_vals)).end(); ++_iter871)
          {
    - xfer += oprot->writeString((*_iter851));
    + xfer += oprot->writeString((*_iter871));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -11812,10 +12207,10 @@ uint32_t ThriftHiveMetastore_get_partition_with_auth_pargs::write(::apache::thri
        xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->group_names)).size()));
    - std::vector<std::string> ::const_iterator _iter852;
    - for (_iter852 = (*(this->group_names)).begin(); _iter852 != (*(this->group_names)).end(); ++_iter852)
    + std::vector<std::string> ::const_iterator _iter872;
    + for (_iter872 = (*(this->group_names)).begin(); _iter872 != (*(this->group_names)).end(); ++_iter872)
          {
    - xfer += oprot->writeString((*_iter852));
    + xfer += oprot->writeString((*_iter872));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -12372,14 +12767,14 @@ uint32_t ThriftHiveMetastore_get_partitions_result::read(::apache::thrift::proto
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size853;
    - ::apache::thrift::protocol::TType _etype856;
    - xfer += iprot->readListBegin(_etype856, _size853);
    - this->success.resize(_size853);
    - uint32_t _i857;
    - for (_i857 = 0; _i857 < _size853; ++_i857)
    + uint32_t _size873;
    + ::apache::thrift::protocol::TType _etype876;
    + xfer += iprot->readListBegin(_etype876, _size873);
    + this->success.resize(_size873);
    + uint32_t _i877;
    + for (_i877 = 0; _i877 < _size873; ++_i877)
                  {
    - xfer += this->success[_i857].read(iprot);
    + xfer += this->success[_i877].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -12426,10 +12821,10 @@ uint32_t ThriftHiveMetastore_get_partitions_result::write(::apache::thrift::prot
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
    - std::vector<Partition> ::const_iterator _iter858;
    - for (_iter858 = this->success.begin(); _iter858 != this->success.end(); ++_iter858)
    + std::vector<Partition> ::const_iterator _iter878;
    + for (_iter878 = this->success.begin(); _iter878 != this->success.end(); ++_iter878)
            {
    - xfer += (*_iter858).write(oprot);
    + xfer += (*_iter878).write(oprot);
            }
            xfer += oprot->writeListEnd();
          }
    @@ -12477,14 +12872,14 @@ uint32_t ThriftHiveMetastore_get_partitions_presult::read(::apache::thrift::prot
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size859;
    - ::apache::thrift::protocol::TType _etype862;
    - xfer += iprot->readListBegin(_etype862, _size859);
    - (*(this->success)).resize(_size859);
    - uint32_t _i863;
    - for (_i863 = 0; _i863 < _size859; ++_i863)
    + uint32_t _size879;
    + ::apache::thrift::protocol::TType _etype882;
    + xfer += iprot->readListBegin(_etype882, _size879);
    + (*(this->success)).resize(_size879);
    + uint32_t _i883;
    + for (_i883 = 0; _i883 < _size879; ++_i883)
                  {
    - xfer += (*(this->success))[_i863].read(iprot);
    + xfer += (*(this->success))[_i883].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -12582,14 +12977,14 @@ uint32_t ThriftHiveMetastore_get_partitions_with_auth_args::read(::apache::thrif
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->group_names.clear();
    - uint32_t _size864;
    - ::apache::thrift::protocol::TType _etype867;
    - xfer += iprot->readListBegin(_etype867, _size864);
    - this->group_names.resize(_size864);
    - uint32_t _i868;
    - for (_i868 = 0; _i868 < _size864; ++_i868)
    + uint32_t _size884;
    + ::apache::thrift::protocol::TType _etype887;
    + xfer += iprot->readListBegin(_etype887, _size884);
    + this->group_names.resize(_size884);
    + uint32_t _i888;
    + for (_i888 = 0; _i888 < _size884; ++_i888)
                  {
    - xfer += iprot->readString(this->group_names[_i868]);
    + xfer += iprot->readString(this->group_names[_i888]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -12634,10 +13029,10 @@ uint32_t ThriftHiveMetastore_get_partitions_with_auth_args::write(::apache::thri
        xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->group_names.size()));
    - std::vector<std::string> ::const_iterator _iter869;
    - for (_iter869 = this->group_names.begin(); _iter869 != this->group_names.end(); ++_iter869)
    + std::vector<std::string> ::const_iterator _iter889;
    + for (_iter889 = this->group_names.begin(); _iter889 != this->group_names.end(); ++_iter889)
          {
    - xfer += oprot->writeString((*_iter869));
    + xfer += oprot->writeString((*_iter889));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -12678,10 +13073,10 @@ uint32_t ThriftHiveMetastore_get_partitions_with_auth_pargs::write(::apache::thr
        xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->group_names)).size()));
    - std::vector<std::string> ::const_iterator _iter870;
    - for (_iter870 = (*(this->group_names)).begin(); _iter870 != (*(this->group_names)).end(); ++_iter870)
    + std::vector<std::string> ::const_iterator _iter890;
    + for (_iter890 = (*(this->group_names)).begin(); _iter890 != (*(this->group_names)).end(); ++_iter890)
          {
    - xfer += oprot->writeString((*_iter870));
    + xfer += oprot->writeString((*_iter890));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -12722,14 +13117,14 @@ uint32_t ThriftHiveMetastore_get_partitions_with_auth_result::read(::apache::thr
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size871;
    - ::apache::thrift::protocol::TType _etype874;
    - xfer += iprot->readListBegin(_etype874, _size871);
    - this->success.resize(_size871);
    - uint32_t _i875;
    - for (_i875 = 0; _i875 < _size871; ++_i875)
    + uint32_t _size891;
    + ::apache::thrift::protocol::TType _etype894;
    + xfer += iprot->readListBegin(_etype894, _size891);
    + this->success.resize(_size891);
    + uint32_t _i895;
    + for (_i895 = 0; _i895 < _size891; ++_i895)
                  {
    - xfer += this->success[_i875].read(iprot);
    + xfer += this->success[_i895].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -12776,10 +13171,10 @@ uint32_t ThriftHiveMetastore_get_partitions_with_auth_result::write(::apache::th
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
    - std::vector<Partition> ::const_iterator _iter876;
    - for (_iter876 = this->success.begin(); _iter876 != this->success.end(); ++_iter876)
    + std::vector<Partition> ::const_iterator _iter896;
    + for (_iter896 = this->success.begin(); _iter896 != this->success.end(); ++_iter896)
            {
    - xfer += (*_iter876).write(oprot);
    + xfer += (*_iter896).write(oprot);
            }
            xfer += oprot->writeListEnd();
          }
    @@ -12827,14 +13222,14 @@ uint32_t ThriftHiveMetastore_get_partitions_with_auth_presult::read(::apache::th
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size877;
    - ::apache::thrift::protocol::TType _etype880;
    - xfer += iprot->readListBegin(_etype880, _size877);
    - (*(this->success)).resize(_size877);
    - uint32_t _i881;
    - for (_i881 = 0; _i881 < _size877; ++_i881)
    + uint32_t _size897;
    + ::apache::thrift::protocol::TType _etype900;
    + xfer += iprot->readListBegin(_etype900, _size897);
    + (*(this->success)).resize(_size897);
    + uint32_t _i901;
    + for (_i901 = 0; _i901 < _size897; ++_i901)
                  {
    - xfer += (*(this->success))[_i881].read(iprot);
    + xfer += (*(this->success))[_i901].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -13012,14 +13407,14 @@ uint32_t ThriftHiveMetastore_get_partitions_pspec_result::read(::apache::thrift:
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size882;
    - ::apache::thrift::protocol::TType _etype885;
    - xfer += iprot->readListBegin(_etype885, _size882);
    - this->success.resize(_size882);
    - uint32_t _i886;
    - for (_i886 = 0; _i886 < _size882; ++_i886)
    + uint32_t _size902;
    + ::apache::thrift::protocol::TType _etype905;
    + xfer += iprot->readListBegin(_etype905, _size902);
    + this->success.resize(_size902);
    + uint32_t _i906;
    + for (_i906 = 0; _i906 < _size902; ++_i906)
                  {
    - xfer += this->success[_i886].read(iprot);
    + xfer += this->success[_i906].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -13066,10 +13461,10 @@ uint32_t ThriftHiveMetastore_get_partitions_pspec_result::write(::apache::thrift
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
    - std::vector<PartitionSpec> ::const_iterator _iter887;
    - for (_iter887 = this->success.begin(); _iter887 != this->success.end(); ++_iter887)
    + std::vector<PartitionSpec> ::const_iterator _iter907;
    + for (_iter907 = this->success.begin(); _iter907 != this->success.end(); ++_iter907)
            {
    - xfer += (*_iter887).write(oprot);
    + xfer += (*_iter907).write(oprot);
            }
            xfer += oprot->writeListEnd();
          }
    @@ -13117,14 +13512,14 @@ uint32_t ThriftHiveMetastore_get_partitions_pspec_presult::read(::apache::thrift
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size888;
    - ::apache::thrift::protocol::TType _etype891;
    - xfer += iprot->readListBegin(_etype891, _size888);
    - (*(this->success)).resize(_size888);
    - uint32_t _i892;
    - for (_i892 = 0; _i892 < _size888; ++_i892)
    + uint32_t _size908;
    + ::apache::thrift::protocol::TType _etype911;
    + xfer += iprot->readListBegin(_etype911, _size908);
    + (*(this->success)).resize(_size908);
    + uint32_t _i912;
    + for (_i912 = 0; _i912 < _size908; ++_i912)
                  {
    - xfer += (*(this->success))[_i892].read(iprot);
    + xfer += (*(this->success))[_i912].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -13302,14 +13697,14 @@ uint32_t ThriftHiveMetastore_get_partition_names_result::read(::apache::thrift::
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size893;
    - ::apache::thrift::protocol::TType _etype896;
    - xfer += iprot->readListBegin(_etype896, _size893);
    - this->success.resize(_size893);
    - uint32_t _i897;
    - for (_i897 = 0; _i897 < _size893; ++_i897)
    + uint32_t _size913;
    + ::apache::thrift::protocol::TType _etype916;
    + xfer += iprot->readListBegin(_etype916, _size913);
    + this->success.resize(_size913);
    + uint32_t _i917;
    + for (_i917 = 0; _i917 < _size913; ++_i917)
                  {
    - xfer += iprot->readString(this->success[_i897]);
    + xfer += iprot->readString(this->success[_i917]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -13348,10 +13743,10 @@ uint32_t ThriftHiveMetastore_get_partition_names_result::write(::apache::thrift:
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
    - std::vector<std::string> ::const_iterator _iter898;
    - for (_iter898 = this->success.begin(); _iter898 != this->success.end(); ++_iter898)
    + std::vector<std::string> ::const_iterator _iter918;
    + for (_iter918 = this->success.begin(); _iter918 != this->success.end(); ++_iter918)
            {
    - xfer += oprot->writeString((*_iter898));
    + xfer += oprot->writeString((*_iter918));
            }
            xfer += oprot->writeListEnd();
          }
    @@ -13395,14 +13790,14 @@ uint32_t ThriftHiveMetastore_get_partition_names_presult::read(::apache::thrift:
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size899;
    - ::apache::thrift::protocol::TType _etype902;
    - xfer += iprot->readListBegin(_etype902, _size899);
    - (*(this->success)).resize(_size899);
    - uint32_t _i903;
    - for (_i903 = 0; _i903 < _size899; ++_i903)
    + uint32_t _size919;
    + ::apache::thrift::protocol::TType _etype922;
    + xfer += iprot->readListBegin(_etype922, _size919);
    + (*(this->success)).resize(_size919);
    + uint32_t _i923;
    + for (_i923 = 0; _i923 < _size919; ++_i923)
                  {
    - xfer += iprot->readString((*(this->success))[_i903]);
    + xfer += iprot->readString((*(this->success))[_i923]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -13476,14 +13871,14 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_args::read(::apache::thrift::prot
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->part_vals.clear();
    - uint32_t _size904;
    - ::apache::thrift::protocol::TType _etype907;
    - xfer += iprot->readListBegin(_etype907, _size904);
    - this->part_vals.resize(_size904);
    - uint32_t _i908;
    - for (_i908 = 0; _i908 < _size904; ++_i908)
    + uint32_t _size924;
    + ::apache::thrift::protocol::TType _etype927;
    + xfer += iprot->readListBegin(_etype927, _size924);
    + this->part_vals.resize(_size924);
    + uint32_t _i928;
    + for (_i928 = 0; _i928 < _size924; ++_i928)
                  {
    - xfer += iprot->readString(this->part_vals[_i908]);
    + xfer += iprot->readString(this->part_vals[_i928]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -13528,10 +13923,10 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_args::write(::apache::thrift::pro
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
    - std::vector<std::string> ::const_iterator _iter909;
    - for (_iter909 = this->part_vals.begin(); _iter909 != this->part_vals.end(); ++_iter909)
    + std::vector<std::string> ::const_iterator _iter929;
    + for (_iter929 = this->part_vals.begin(); _iter929 != this->part_vals.end(); ++_iter929)
          {
    - xfer += oprot->writeString((*_iter909));
    + xfer += oprot->writeString((*_iter929));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -13568,10 +13963,10 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_pargs::write(::apache::thrift::pr
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
    - std::vector<std::string> ::const_iterator _iter910;
    - for (_iter910 = (*(this->part_vals)).begin(); _iter910 != (*(this->part_vals)).end(); ++_iter910)
    + std::vector<std::string> ::const_iterator _iter930;
    + for (_iter930 = (*(this->part_vals)).begin(); _iter930 != (*(this->part_vals)).end(); ++_iter930)
          {
    - xfer += oprot->writeString((*_iter910));
    + xfer += oprot->writeString((*_iter930));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -13616,14 +14011,14 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_result::read(::apache::thrift::pr
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size911;
    - ::apache::thrift::protocol::TType _etype914;
    - xfer += iprot->readListBegin(_etype914, _size911);
    - this->success.resize(_size911);
    - uint32_t _i915;
    - for (_i915 = 0; _i915 < _size911; ++_i915)
    + uint32_t _size931;
    + ::apache::thrift::protocol::TType _etype934;
    + xfer += iprot->readListBegin(_etype934, _size931);
    + this->success.resize(_size931);
    + uint32_t _i935;
    + for (_i935 = 0; _i935 < _size931; ++_i935)
                  {
    - xfer += this->success[_i915].read(iprot);
    + xfer += this->success[_i935].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -13670,10 +14065,10 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_result::write(::apache::thrift::p
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
    - std::vector<Partition> ::const_iterator _iter916;
    - for (_iter916 = this->success.begin(); _iter916 != this->success.end(); ++_iter916)
    + std::vector<Partition> ::const_iterator _iter936;
    + for (_iter936 = this->success.begin(); _iter936 != this->success.end(); ++_iter936)
            {
    - xfer += (*_iter916).write(oprot);
    + xfer += (*_iter936).write(oprot);
            }
            xfer += oprot->writeListEnd();
          }
    @@ -13721,14 +14116,14 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_presult::read(::apache::thrift::p
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size917;
    - ::apache::thrift::protocol::TType _etype920;
    - xfer += iprot->readListBegin(_etype920, _size917);
    - (*(this->success)).resize(_size917);
    - uint32_t _i921;
    - for (_i921 = 0; _i921 < _size917; ++_i921)
    + uint32_t _size937;
    + ::apache::thrift::protocol::TType _etype940;
    + xfer += iprot->readListBegin(_etype940, _size937);
    + (*(this->success)).resize(_size937);
    + uint32_t _i941;
    + for (_i941 = 0; _i941 < _size937; ++_i941)
                  {
    - xfer += (*(this->success))[_i921].read(iprot);
    + xfer += (*(this->success))[_i941].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -13810,14 +14205,14 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_with_auth_args::read(::apache::th
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->part_vals.clear();
    - uint32_t _size922;
    - ::apache::thrift::protocol::TType _etype925;
    - xfer += iprot->readListBegin(_etype925, _size922);
    - this->part_vals.resize(_size922);
    - uint32_t _i926;
    - for (_i926 = 0; _i926 < _size922; ++_i926)
    + uint32_t _size942;
    + ::apache::thrift::protocol::TType _etype945;
    + xfer += iprot->readListBegin(_etype945, _size942);
    + this->part_vals.resize(_size942);
    + uint32_t _i946;
    + for (_i946 = 0; _i946 < _size942; ++_i946)
                  {
    - xfer += iprot->readString(this->part_vals[_i926]);
    + xfer += iprot->readString(this->part_vals[_i946]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -13846,14 +14241,14 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_with_auth_args::read(::apache::th
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->group_names.clear();
    - uint32_t _size927;
    - ::apache::thrift::protocol::TType _etype930;
    - xfer += iprot->readListBegin(_etype930, _size927);
    - this->group_names.resize(_size927);
    - uint32_t _i931;
    - for (_i931 = 0; _i931 < _size927; ++_i931)
    + uint32_t _size947;
    + ::apache::thrift::protocol::TType _etype950;
    + xfer += iprot->readListBegin(_etype950, _size947);
    + this->group_names.resize(_size947);
    + uint32_t _i951;
    + for (_i951 = 0; _i951 < _size947; ++_i951)
                  {
    - xfer += iprot->readString(this->group_names[_i931]);
    + xfer += iprot->readString(this->group_names[_i951]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -13890,10 +14285,10 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_with_auth_args::write(::apache::t
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
    - std::vector<std::string> ::const_iterator _iter932;
    - for (_iter932 = this->part_vals.begin(); _iter932 != this->part_vals.end(); ++_iter932)
    + std::vector<std::string> ::const_iterator _iter952;
    + for (_iter952 = this->part_vals.begin(); _iter952 != this->part_vals.end(); ++_iter952)
          {
    - xfer += oprot->writeString((*_iter932));
    + xfer += oprot->writeString((*_iter952));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -13910,10 +14305,10 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_with_auth_args::write(::apache::t
        xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 6);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->group_names.size()));
    - std::vector<std::string> ::const_iterator _iter933;
    - for (_iter933 = this->group_names.begin(); _iter933 != this->group_names.end(); ++_iter933)
    + std::vector<std::string> ::const_iterator _iter953;
    + for (_iter953 = this->group_names.begin(); _iter953 != this->group_names.end(); ++_iter953)
          {
    - xfer += oprot->writeString((*_iter933));
    + xfer += oprot->writeString((*_iter953));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -13946,10 +14341,10 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_with_auth_pargs::write(::apache::
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
    - std::vector<std::string> ::const_iterator _iter934;
    - for (_iter934 = (*(this->part_vals)).begin(); _iter934 != (*(this->part_vals)).end(); ++_iter934)
    + std::vector<std::string> ::const_iterator _iter954;
    + for (_iter954 = (*(this->part_vals)).begin(); _iter954 != (*(this->part_vals)).end(); ++_iter954)
          {
    - xfer += oprot->writeString((*_iter934));
    + xfer += oprot->writeString((*_iter954));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -13966,10 +14361,10 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_with_auth_pargs::write(::apache::
        xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 6);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->group_names)).size()));
    - std::vector<std::string> ::const_iterator _iter935;
    - for (_iter935 = (*(this->group_names)).begin(); _iter935 != (*(this->group_names)).end(); ++_iter935)
    + std::vector<std::string> ::const_iterator _iter955;
    + for (_iter955 = (*(this->group_names)).begin(); _iter955 != (*(this->group_names)).end(); ++_iter955)
          {
    - xfer += oprot->writeString((*_iter935));
    + xfer += oprot->writeString((*_iter955));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -14010,14 +14405,14 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_with_auth_result::read(::apache::
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size936;
    - ::apache::thrift::protocol::TType _etype939;
    - xfer += iprot->readListBegin(_etype939, _size936);
    - this->success.resize(_size936);
    - uint32_t _i940;
    - for (_i940 = 0; _i940 < _size936; ++_i940)
    + uint32_t _size956;
    + ::apache::thrift::protocol::TType _etype959;
    + xfer += iprot->readListBegin(_etype959, _size956);
    + this->success.resize(_size956);
    + uint32_t _i960;
    + for (_i960 = 0; _i960 < _size956; ++_i960)
                  {
    - xfer += this->success[_i940].read(iprot);
    + xfer += this->success[_i960].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -14064,10 +14459,10 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_with_auth_result::write(::apache:
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
    - std::vector<Partition> ::const_iterator _iter941;
    - for (_iter941 = this->success.begin(); _iter941 != this->success.end(); ++_iter941)
    + std::vector<Partition> ::const_iterator _iter961;
    + for (_iter961 = this->success.begin(); _iter961 != this->success.end(); ++_iter961)
            {
    - xfer += (*_iter941).write(oprot);
    + xfer += (*_iter961).write(oprot);
            }
            xfer += oprot->writeListEnd();
          }
    @@ -14115,14 +14510,14 @@ uint32_t ThriftHiveMetastore_get_partitions_ps_with_auth_presult::read(::apache:
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size942;
    - ::apache::thrift::protocol::TType _etype945;
    - xfer += iprot->readListBegin(_etype945, _size942);
    - (*(this->success)).resize(_size942);
    - uint32_t _i946;
    - for (_i946 = 0; _i946 < _size942; ++_i946)
    + uint32_t _size962;
    + ::apache::thrift::protocol::TType _etype965;
    + xfer += iprot->readListBegin(_etype965, _size962);
    + (*(this->success)).resize(_size962);
    + uint32_t _i966;
    + for (_i966 = 0; _i966 < _size962; ++_i966)
                  {
    - xfer += (*(this->success))[_i946].read(iprot);
    + xfer += (*(this->success))[_i966].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -14204,14 +14599,14 @@ uint32_t ThriftHiveMetastore_get_partition_names_ps_args::read(::apache::thrift:
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->part_vals.clear();
    - uint32_t _size947;
    - ::apache::thrift::protocol::TType _etype950;
    - xfer += iprot->readListBegin(_etype950, _size947);
    - this->part_vals.resize(_size947);
    - uint32_t _i951;
    - for (_i951 = 0; _i951 < _size947; ++_i951)
    + uint32_t _size967;
    + ::apache::thrift::protocol::TType _etype970;
    + xfer += iprot->readListBegin(_etype970, _size967);
    + this->part_vals.resize(_size967);
    + uint32_t _i971;
    + for (_i971 = 0; _i971 < _size967; ++_i971)
                  {
    - xfer += iprot->readString(this->part_vals[_i951]);
    + xfer += iprot->readString(this->part_vals[_i971]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -14256,10 +14651,10 @@ uint32_t ThriftHiveMetastore_get_partition_names_ps_args::write(::apache::thrift
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
    - std::vector<std::string> ::const_iterator _iter952;
    - for (_iter952 = this->part_vals.begin(); _iter952 != this->part_vals.end(); ++_iter952)
    + std::vector<std::string> ::const_iterator _iter972;
    + for (_iter972 = this->part_vals.begin(); _iter972 != this->part_vals.end(); ++_iter972)
          {
    - xfer += oprot->writeString((*_iter952));
    + xfer += oprot->writeString((*_iter972));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -14296,10 +14691,10 @@ uint32_t ThriftHiveMetastore_get_partition_names_ps_pargs::write(::apache::thrif
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
    - std::vector<std::string> ::const_iterator _iter953;
    - for (_iter953 = (*(this->part_vals)).begin(); _iter953 != (*(this->part_vals)).end(); ++_iter953)
    + std::vector<std::string> ::const_iterator _iter973;
    + for (_iter973 = (*(this->part_vals)).begin(); _iter973 != (*(this->part_vals)).end(); ++_iter973)
          {
    - xfer += oprot->writeString((*_iter953));
    + xfer += oprot->writeString((*_iter973));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -14344,14 +14739,14 @@ uint32_t ThriftHiveMetastore_get_partition_names_ps_result::read(::apache::thrif
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size954;
    - ::apache::thrift::protocol::TType _etype957;
    - xfer += iprot->readListBegin(_etype957, _size954);
    - this->success.resize(_size954);
    - uint32_t _i958;
    - for (_i958 = 0; _i958 < _size954; ++_i958)
    + uint32_t _size974;
    + ::apache::thrift::protocol::TType _etype977;
    + xfer += iprot->readListBegin(_etype977, _size974);
    + this->success.resize(_size974);
    + uint32_t _i978;
    + for (_i978 = 0; _i978 < _size974; ++_i978)
                  {
    - xfer += iprot->readString(this->success[_i958]);
    + xfer += iprot->readString(this->success[_i978]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -14398,10 +14793,10 @@ uint32_t ThriftHiveMetastore_get_partition_names_ps_result::write(::apache::thri
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
    - std::vector<std::string> ::const_iterator _iter959;
    - for (_iter959 = this->success.begin(); _iter959 != this->success.end(); ++_iter959)
    + std::vector<std::string> ::const_iterator _iter979;
    + for (_iter979 = this->success.begin(); _iter979 != this->success.end(); ++_iter979)
            {
    - xfer += oprot->writeString((*_iter959));
    + xfer += oprot->writeString((*_iter979));
            }
            xfer += oprot->writeListEnd();
          }
    @@ -14449,14 +14844,14 @@ uint32_t ThriftHiveMetastore_get_partition_names_ps_presult::read(::apache::thri
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size960;
    - ::apache::thrift::protocol::TType _etype963;
    - xfer += iprot->readListBegin(_etype963, _size960);
    - (*(this->success)).resize(_size960);
    - uint32_t _i964;
    - for (_i964 = 0; _i964 < _size960; ++_i964)
    + uint32_t _size980;
    + ::apache::thrift::protocol::TType _etype983;
    + xfer += iprot->readListBegin(_etype983, _size980);
    + (*(this->success)).resize(_size980);
    + uint32_t _i984;
    + for (_i984 = 0; _i984 < _size980; ++_i984)
                  {
    - xfer += iprot->readString((*(this->success))[_i964]);
    + xfer += iprot->readString((*(this->success))[_i984]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -14650,14 +15045,14 @@ uint32_t ThriftHiveMetastore_get_partitions_by_filter_result::read(::apache::thr
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size965;
    - ::apache::thrift::protocol::TType _etype968;
    - xfer += iprot->readListBegin(_etype968, _size965);
    - this->success.resize(_size965);
    - uint32_t _i969;
    - for (_i969 = 0; _i969 < _size965; ++_i969)
    + uint32_t _size985;
    + ::apache::thrift::protocol::TType _etype988;
    + xfer += iprot->readListBegin(_etype988, _size985);
    + this->success.resize(_size985);
    + uint32_t _i989;
    + for (_i989 = 0; _i989 < _size985; ++_i989)
                  {
    - xfer += this->success[_i969].read(iprot);
    + xfer += this->success[_i989].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -14704,10 +15099,10 @@ uint32_t ThriftHiveMetastore_get_partitions_by_filter_result::write(::apache::th
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
    - std::vector<Partition> ::const_iterator _iter970;
    - for (_iter970 = this->success.begin(); _iter970 != this->success.end(); ++_iter970)
    + std::vector<Partition> ::const_iterator _iter990;
    + for (_iter990 = this->success.begin(); _iter990 != this->success.end(); ++_iter990)
            {
    - xfer += (*_iter970).write(oprot);
    + xfer += (*_iter990).write(oprot);
            }
            xfer += oprot->writeListEnd();
          }
    @@ -14755,14 +15150,14 @@ uint32_t ThriftHiveMetastore_get_partitions_by_filter_presult::read(::apache::th
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size971;
    - ::apache::thrift::protocol::TType _etype974;
    - xfer += iprot->readListBegin(_etype974, _size971);
    - (*(this->success)).resize(_size971);
    - uint32_t _i975;
    - for (_i975 = 0; _i975 < _size971; ++_i975)
    + uint32_t _size991;
    + ::apache::thrift::protocol::TType _etype994;
    + xfer += iprot->readListBegin(_etype994, _size991);
    + (*(this->success)).resize(_size991);
    + uint32_t _i995;
    + for (_i995 = 0; _i995 < _size991; ++_i995)
                  {
    - xfer += (*(this->success))[_i975].read(iprot);
    + xfer += (*(this->success))[_i995].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -14956,14 +15351,14 @@ uint32_t ThriftHiveMetastore_get_part_specs_by_filter_result::read(::apache::thr
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size976;
    - ::apache::thrift::protocol::TType _etype979;
    - xfer += iprot->readListBegin(_etype979, _size976);
    - this->success.resize(_size976);
    - uint32_t _i980;
    - for (_i980 = 0; _i980 < _size976; ++_i980)
    + uint32_t _size996;
    + ::apache::thrift::protocol::TType _etype999;
    + xfer += iprot->readListBegin(_etype999, _size996);
    + this->success.resize(_size996);
    + uint32_t _i1000;
    + for (_i1000 = 0; _i1000 < _size996; ++_i1000)
                  {
    - xfer += this->success[_i980].read(iprot);
    + xfer += this->success[_i1000].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -15010,10 +15405,10 @@ uint32_t ThriftHiveMetastore_get_part_specs_by_filter_result::write(::apache::th
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
    - std::vector<PartitionSpec> ::const_iterator _iter981;
    - for (_iter981 = this->success.begin(); _iter981 != this->success.end(); ++_iter981)
    + std::vector<PartitionSpec> ::const_iterator _iter1001;
    + for (_iter1001 = this->success.begin(); _iter1001 != this->success.end(); ++_iter1001)
            {
    - xfer += (*_iter981).write(oprot);
    + xfer += (*_iter1001).write(oprot);
            }
            xfer += oprot->writeListEnd();
          }
    @@ -15061,14 +15456,14 @@ uint32_t ThriftHiveMetastore_get_part_specs_by_filter_presult::read(::apache::th
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size982;
    - ::apache::thrift::protocol::TType _etype985;
    - xfer += iprot->readListBegin(_etype985, _size982);
    - (*(this->success)).resize(_size982);
    - uint32_t _i986;
    - for (_i986 = 0; _i986 < _size982; ++_i986)
    + uint32_t _size1002;
    + ::apache::thrift::protocol::TType _etype1005;
    + xfer += iprot->readListBegin(_etype1005, _size1002);
    + (*(this->success)).resize(_size1002);
    + uint32_t _i1006;
    + for (_i1006 = 0; _i1006 < _size1002; ++_i1006)
                  {
    - xfer += (*(this->success))[_i986].read(iprot);
    + xfer += (*(this->success))[_i1006].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -15376,14 +15771,14 @@ uint32_t ThriftHiveMetastore_get_partitions_by_names_args::read(::apache::thrift
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->names.clear();
    - uint32_t _size987;
    - ::apache::thrift::protocol::TType _etype990;
    - xfer += iprot->readListBegin(_etype990, _size987);
    - this->names.resize(_size987);
    - uint32_t _i991;
    - for (_i991 = 0; _i991 < _size987; ++_i991)
    + uint32_t _size1007;
    + ::apache::thrift::protocol::TType _etype1010;
    + xfer += iprot->readListBegin(_etype1010, _size1007);
    + this->names.resize(_size1007);
    + uint32_t _i1011;
    + for (_i1011 = 0; _i1011 < _size1007; ++_i1011)
                  {
    - xfer += iprot->readString(this->names[_i991]);
    + xfer += iprot->readString(this->names[_i1011]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -15420,10 +15815,10 @@ uint32_t ThriftHiveMetastore_get_partitions_by_names_args::write(::apache::thrif
        xfer += oprot->writeFieldBegin("names", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->names.size()));
    - std::vector<std::string> ::const_iterator _iter992;
    - for (_iter992 = this->names.begin(); _iter992 != this->names.end(); ++_iter992)
    + std::vector<std::string> ::const_iterator _iter1012;
    + for (_iter1012 = this->names.begin(); _iter1012 != this->names.end(); ++_iter1012)
          {
    - xfer += oprot->writeString((*_iter992));
    + xfer += oprot->writeString((*_iter1012));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -15456,10 +15851,10 @@ uint32_t ThriftHiveMetastore_get_partitions_by_names_pargs::write(::apache::thri
        xfer += oprot->writeFieldBegin("names", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->names)).size()));
    - std::vector<std::string> ::const_iterator _iter993;
    - for (_iter993 = (*(this->names)).begin(); _iter993 != (*(this->names)).end(); ++_iter993)
    + std::vector<std::string> ::const_iterator _iter1013;
    + for (_iter1013 = (*(this->names)).begin(); _iter1013 != (*(this->names)).end(); ++_iter1013)
          {
    - xfer += oprot->writeString((*_iter993));
    + xfer += oprot->writeString((*_iter1013));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -15500,14 +15895,14 @@ uint32_t ThriftHiveMetastore_get_partitions_by_names_result::read(::apache::thri
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size994;
    - ::apache::thrift::protocol::TType _etype997;
    - xfer += iprot->readListBegin(_etype997, _size994);
    - this->success.resize(_size994);
    - uint32_t _i998;
    - for (_i998 = 0; _i998 < _size994; ++_i998)
    + uint32_t _size1014;
    + ::apache::thrift::protocol::TType _etype1017;
    + xfer += iprot->readListBegin(_etype1017, _size1014);
    + this->success.resize(_size1014);
    + uint32_t _i1018;
    + for (_i1018 = 0; _i1018 < _size1014; ++_i1018)
                  {
    - xfer += this->success[_i998].read(iprot);
    + xfer += this->success[_i1018].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -15554,10 +15949,10 @@ uint32_t ThriftHiveMetastore_get_partitions_by_names_result::write(::apache::thr
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
    - std::vector<Partition> ::const_iterator _iter999;
    - for (_iter999 = this->success.begin(); _iter999 != this->success.end(); ++_iter999)
    + std::vector<Partition> ::const_iterator _iter1019;
    + for (_iter1019 = this->success.begin(); _iter1019 != this->success.end(); ++_iter1019)
            {
    - xfer += (*_iter999).write(oprot);
    + xfer += (*_iter1019).write(oprot);
            }
            xfer += oprot->writeListEnd();
          }
    @@ -15605,14 +16000,14 @@ uint32_t ThriftHiveMetastore_get_partitions_by_names_presult::read(::apache::thr
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size1000;
    - ::apache::thrift::protocol::TType _etype1003;
    - xfer += iprot->readListBegin(_etype1003, _size1000);
    - (*(this->success)).resize(_size1000);
    - uint32_t _i1004;
    - for (_i1004 = 0; _i1004 < _size1000; ++_i1004)
    + uint32_t _size1020;
    + ::apache::thrift::protocol::TType _etype1023;
    + xfer += iprot->readListBegin(_etype1023, _size1020);
    + (*(this->success)).resize(_size1020);
    + uint32_t _i1024;
    + for (_i1024 = 0; _i1024 < _size1020; ++_i1024)
                  {
    - xfer += (*(this->success))[_i1004].read(iprot);
    + xfer += (*(this->success))[_i1024].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -15932,14 +16327,14 @@ uint32_t ThriftHiveMetastore_alter_partitions_args::read(::apache::thrift::proto
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->new_parts.clear();
    - uint32_t _size1005;
    - ::apache::thrift::protocol::TType _etype1008;
    - xfer += iprot->readListBegin(_etype1008, _size1005);
    - this->new_parts.resize(_size1005);
    - uint32_t _i1009;
    - for (_i1009 = 0; _i1009 < _size1005; ++_i1009)
    + uint32_t _size1025;
    + ::apache::thrift::protocol::TType _etype1028;
    + xfer += iprot->readListBegin(_etype1028, _size1025);
    + this->new_parts.resize(_size1025);
    + uint32_t _i1029;
    + for (_i1029 = 0; _i1029 < _size1025; ++_i1029)
                  {
    - xfer += this->new_parts[_i1009].read(iprot);
    + xfer += this->new_parts[_i1029].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -15976,10 +16371,10 @@ uint32_t ThriftHiveMetastore_alter_partitions_args::write(::apache::thrift::prot
        xfer += oprot->writeFieldBegin("new_parts", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->new_parts.size()));
    - std::vector<Partition> ::const_iterator _iter1010;
    - for (_iter1010 = this->new_parts.begin(); _iter1010 != this->new_parts.end(); ++_iter1010)
    + std::vector<Partition> ::const_iterator _iter1030;
    + for (_iter1030 = this->new_parts.begin(); _iter1030 != this->new_parts.end(); ++_iter1030)
          {
    - xfer += (*_iter1010).write(oprot);
    + xfer += (*_iter1030).write(oprot);
          }
          xfer += oprot->writeListEnd();
        }
    @@ -16012,10 +16407,10 @@ uint32_t ThriftHiveMetastore_alter_partitions_pargs::write(::apache::thrift::pro
        xfer += oprot->writeFieldBegin("new_parts", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>((*(this->new_parts)).size()));
    - std::vector<Partition> ::const_iterator _iter1011;
    - for (_iter1011 = (*(this->new_parts)).begin(); _iter1011 != (*(this->new_parts)).end(); ++_iter1011)
    + std::vector<Partition> ::const_iterator _iter1031;
    + for (_iter1031 = (*(this->new_parts)).begin(); _iter1031 != (*(this->new_parts)).end(); ++_iter1031)
          {
    - xfer += (*_iter1011).write(oprot);
    + xfer += (*_iter1031).write(oprot);
          }
          xfer += oprot->writeListEnd();
        }
    @@ -16452,14 +16847,14 @@ uint32_t ThriftHiveMetastore_rename_partition_args::read(::apache::thrift::proto
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->part_vals.clear();
    - uint32_t _size1012;
    - ::apache::thrift::protocol::TType _etype1015;
    - xfer += iprot->readListBegin(_etype1015, _size1012);
    - this->part_vals.resize(_size1012);
    - uint32_t _i1016;
    - for (_i1016 = 0; _i1016 < _size1012; ++_i1016)
    + uint32_t _size1032;
    + ::apache::thrift::protocol::TType _etype1035;
    + xfer += iprot->readListBegin(_etype1035, _size1032);
    + this->part_vals.resize(_size1032);
    + uint32_t _i1036;
    + for (_i1036 = 0; _i1036 < _size1032; ++_i1036)
                  {
    - xfer += iprot->readString(this->part_vals[_i1016]);
    + xfer += iprot->readString(this->part_vals[_i1036]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -16504,10 +16899,10 @@ uint32_t ThriftHiveMetastore_rename_partition_args::write(::apache::thrift::prot
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
    - std::vector<std::string> ::const_iterator _iter1017;
    - for (_iter1017 = this->part_vals.begin(); _iter1017 != this->part_vals.end(); ++_iter1017)
    + std::vector<std::string> ::const_iterator _iter1037;
    + for (_iter1037 = this->part_vals.begin(); _iter1037 != this->part_vals.end(); ++_iter1037)
          {
    - xfer += oprot->writeString((*_iter1017));
    + xfer += oprot->writeString((*_iter1037));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -16544,10 +16939,10 @@ uint32_t ThriftHiveMetastore_rename_partition_pargs::write(::apache::thrift::pro
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
    - std::vector<std::string> ::const_iterator _iter1018;
    - for (_iter1018 = (*(this->part_vals)).begin(); _iter1018 != (*(this->part_vals)).end(); ++_iter1018)
    + std::vector<std::string> ::const_iterator _iter1038;
    + for (_iter1038 = (*(this->part_vals)).begin(); _iter1038 != (*(this->part_vals)).end(); ++_iter1038)
          {
    - xfer += oprot->writeString((*_iter1018));
    + xfer += oprot->writeString((*_iter1038));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -16718,14 +17113,14 @@ uint32_t ThriftHiveMetastore_partition_name_has_valid_characters_args::read(::ap
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->part_vals.clear();
    - uint32_t _size1019;
    - ::apache::thrift::protocol::TType _etype1022;
    - xfer += iprot->readListBegin(_etype1022, _size1019);
    - this->part_vals.resize(_size1019);
    - uint32_t _i1023;
    - for (_i1023 = 0; _i1023 < _size1019; ++_i1023)
    + uint32_t _size1039;
    + ::apache::thrift::protocol::TType _etype1042;
    + xfer += iprot->readListBegin(_etype1042, _size1039);
    + this->part_vals.resize(_size1039);
    + uint32_t _i1043;
    + for (_i1043 = 0; _i1043 < _size1039; ++_i1043)
                  {
    - xfer += iprot->readString(this->part_vals[_i1023]);
    + xfer += iprot->readString(this->part_vals[_i1043]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -16762,10 +17157,10 @@ uint32_t ThriftHiveMetastore_partition_name_has_valid_characters_args::write(::a
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 1);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
    - std::vector<std::string> ::const_iterator _iter1024;
    - for (_iter1024 = this->part_vals.begin(); _iter1024 != this->part_vals.end(); ++_iter1024)
    + std::vector<std::string> ::const_iterator _iter1044;
    + for (_iter1044 = this->part_vals.begin(); _iter1044 != this->part_vals.end(); ++_iter1044)
          {
    - xfer += oprot->writeString((*_iter1024));
    + xfer += oprot->writeString((*_iter1044));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -16794,10 +17189,10 @@ uint32_t ThriftHiveMetastore_partition_name_has_valid_characters_pargs::write(::
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 1);
        {
          xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
    - std::vector<std::string> ::const_iterator _iter1025;
    - for (_iter1025 = (*(this->part_vals)).begin(); _iter1025 != (*(this->part_vals)).end(); ++_iter1025)
    + std::vector<std::string> ::const_iterator _iter1045;
    + for (_iter1045 = (*(this->part_vals)).begin(); _iter1045 != (*(this->part_vals)).end(); ++_iter1045)
          {
    - xfer += oprot->writeString((*_iter1025));
    + xfer += oprot->writeString((*_iter1045));
          }
          xfer += oprot->writeListEnd();
        }
    @@ -17270,14 +17665,14 @@ uint32_t ThriftHiveMetastore_partition_name_to_vals_result::read(::apache::thrif
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size1026;
    - ::apache::thrift::protocol::TType _etype1029;
    - xfer += iprot->readListBegin(_etype1029, _size1026);
    - this->success.resize(_size1026);
    - uint32_t _i1030;
    - for (_i1030 = 0; _i1030 < _size1026; ++_i1030)
    + uint32_t _size1046;
    + ::apache::thrift::protocol::TType _etype1049;
    + xfer += iprot->readListBegin(_etype1049, _size1046);
    + this->success.resize(_size1046);
    + uint32_t _i1050;
    + for (_i1050 = 0; _i1050 < _size1046; ++_i1050)
                  {
    - xfer += iprot->readString(this->success[_i1030]);
    + xfer += iprot->readString(this->success[_i1050]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -17316,10 +17711,10 @@ uint32_t ThriftHiveMetastore_partition_name_to_vals_result::write(::apache::thri
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
    - std::vector<std::string> ::const_iterator _iter1031;
    - for (_iter1031 = this->success.begin(); _iter1031 != this->success.end(); ++_iter1031)
    + std::vector<std::string> ::const_iterator _iter1051;
    + for (_iter1051 = this->success.begin(); _iter1051 != this->success.end(); ++_iter1051)
            {
    - xfer += oprot->writeString((*_iter1031));
    + xfer += oprot->writeString((*_iter1051));
            }
            xfer += oprot->writeListEnd();
          }
    @@ -17363,14 +17758,14 @@ uint32_t ThriftHiveMetastore_partition_name_to_vals_presult::read(::apache::thri
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size1032;
    - ::apache::thrift::protocol::TType _etype1035;
    - xfer += iprot->readListBegin(_etype1035, _size1032);
    - (*(this->success)).resize(_size1032);
    - uint32_t _i1036;
    - for (_i1036 = 0; _i1036 < _size1032; ++_i1036)
    + uint32_t _size1052;
    + ::apache::thrift::protocol::TType _etype1055;
    + xfer += iprot->readListBegin(_etype1055, _size1052);
    + (*(this->success)).resize(_size1052);
    + uint32_t _i1056;
    + for (_i1056 = 0; _i1056 < _size1052; ++_i1056)
                  {
    - xfer += iprot->readString((*(this->success))[_i1036]);
    + xfer += iprot->readString((*(this->success))[_i1056]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -17508,17 +17903,17 @@ uint32_t ThriftHiveMetastore_partition_name_to_spec_result::read(::apache::thrif
              if (ftype == ::apache::thrift::protocol::T_MAP) {
                {
                  this->success.clear();
    - uint32_t _size1037;
    - ::apache::thrift::protocol::TType _ktype1038;
    - ::apache::thrift::protocol::TType _vtype1039;
    - xfer += iprot->readMapBegin(_ktype1038, _vtype1039, _size1037);
    - uint32_t _i1041;
    - for (_i1041 = 0; _i1041 < _size1037; ++_i1041)
    + uint32_t _size1057;
    + ::apache::thrift::protocol::TType _ktype1058;
    + ::apache::thrift::protocol::TType _vtype1059;
    + xfer += iprot->readMapBegin(_ktype1058, _vtype1059, _size1057);
    + uint32_t _i1061;
    + for (_i1061 = 0; _i1061 < _size1057; ++_i1061)
                  {
    - std::string _key1042;
    - xfer += iprot->readString(_key1042);
    - std::string& _val1043 = this->success[_key1042];
    - xfer += iprot->readString(_val1043);
    + std::string _key1062;
    + xfer += iprot->readString(_key1062);
    + std::string& _val1063 = this->success[_key1062];
    + xfer += iprot->readString(_val1063);
                  }
                  xfer += iprot->readMapEnd();
                }
    @@ -17557,11 +17952,11 @@ uint32_t ThriftHiveMetastore_partition_name_to_spec_result::write(::apache::thri
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0);
          {
            xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
    - std::map<std::string, std::string> ::const_iterator _iter1044;
    - for (_iter1044 = this->success.begin(); _iter1044 != this->success.end(); ++_iter1044)
    + std::map<std::string, std::string> ::const_iterator _iter1064;
    + for (_iter1064 = this->success.begin(); _iter1064 != this->success.end(); ++_iter1064)
            {
    - xfer += oprot->writeString(_iter1044->first);
    - xfer += oprot->writeString(_iter1044->second);
    + xfer += oprot->writeString(_iter1064->first);
    + xfer += oprot->writeString(_iter1064->second);
            }
            xfer += oprot->writeMapEnd();
          }
    @@ -17605,17 +18000,17 @@ uint32_t ThriftHiveMetastore_partition_name_to_spec_presult::read(::apache::thri
              if (ftype == ::apache::thrift::protocol::T_MAP) {
                {
                  (*(this->success)).clear();
    - uint32_t _size1045;
    - ::apache::thrift::protocol::TType _ktype1046;
    - ::apache::thrift::protocol::TType _vtype1047;
    - xfer += iprot->readMapBegin(_ktype1046, _vtype1047, _size1045);
    - uint32_t _i1049;
    - for (_i1049 = 0; _i1049 < _size1045; ++_i1049)
    + uint32_t _size1065;
    + ::apache::thrift::protocol::TType _ktype1066;
    + ::apache::thrift::protocol::TType _vtype1067;
    + xfer += iprot->readMapBegin(_ktype1066, _vtype1067, _size1065);
    + uint32_t _i1069;
    + for (_i1069 = 0; _i1069 < _size1065; ++_i1069)
                  {
    - std::string _key1050;
    - xfer += iprot->readString(_key1050);
    - std::string& _val1051 = (*(this->success))[_key1050];
    - xfer += iprot->readString(_val1051);
    + std::string _key1070;
    + xfer += iprot->readString(_key1070);
    + std::string& _val1071 = (*(this->success))[_key1070];
    + xfer += iprot->readString(_val1071);
                  }
                  xfer += iprot->readMapEnd();
                }
    @@ -17689,17 +18084,17 @@ uint32_t ThriftHiveMetastore_markPartitionForEvent_args::read(::apache::thrift::
              if (ftype == ::apache::thrift::protocol::T_MAP) {
                {
                  this->part_vals.clear();
    - uint32_t _size1052;
    - ::apache::thrift::protocol::TType _ktype1053;
    - ::apache::thrift::protocol::TType _vtype1054;
    - xfer += iprot->readMapBegin(_ktype1053, _vtype1054, _size1052);
    - uint32_t _i1056;
    - for (_i1056 = 0; _i1056 < _size1052; ++_i1056)
    + uint32_t _size1072;
    + ::apache::thrift::protocol::TType _ktype1073;
    + ::apache::thrift::protocol::TType _vtype1074;
    + xfer += iprot->readMapBegin(_ktype1073, _vtype1074, _size1072);
    + uint32_t _i1076;
    + for (_i1076 = 0; _i1076 < _size1072; ++_i1076)
                  {
    - std::string _key1057;
    - xfer += iprot->readString(_key1057);
    - std::string& _val1058 = this->part_vals[_key1057];
    - xfer += iprot->readString(_val1058);
    + std::string _key1077;
    + xfer += iprot->readString(_key1077);
    + std::string& _val1078 = this->part_vals[_key1077];
    + xfer += iprot->readString(_val1078);
                  }
                  xfer += iprot->readMapEnd();
                }
    @@ -17710,9 +18105,9 @@ uint32_t ThriftHiveMetastore_markPartitionForEvent_args::read(::apache::thrift::
              break;
            case 4:
              if (ftype == ::apache::thrift::protocol::T_I32) {
    - int32_t ecast1059;
    - xfer += iprot->readI32(ecast1059);
    - this->eventType = (PartitionEventType::type)ecast1059;
    + int32_t ecast1079;
    + xfer += iprot->readI32(ecast1079);
    + this->eventType = (PartitionEventType::type)ecast1079;
                this->__isset.eventType = true;
              } else {
                xfer += iprot->skip(ftype);
    @@ -17746,11 +18141,11 @@ uint32_t ThriftHiveMetastore_markPartitionForEvent_args::write(::apache::thrift:
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_MAP, 3);
        {
          xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
    - std::map<std::string, std::string> ::const_iterator _iter1060;
    - for (_iter1060 = this->part_vals.begin(); _iter1060 != this->part_vals.end(); ++_iter1060)
    + std::map<std::string, std::string> ::const_iterator _iter1080;
    + for (_iter1080 = this->part_vals.begin(); _iter1080 != this->part_vals.end(); ++_iter1080)
          {
    - xfer += oprot->writeString(_iter1060->first);
    - xfer += oprot->writeString(_iter1060->second);
    + xfer += oprot->writeString(_iter1080->first);
    + xfer += oprot->writeString(_iter1080->second);
          }
          xfer += oprot->writeMapEnd();
        }
    @@ -17787,11 +18182,11 @@ uint32_t ThriftHiveMetastore_markPartitionForEvent_pargs::write(::apache::thrift
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_MAP, 3);
        {
          xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
    - std::map<std::string, std::string> ::const_iterator _iter1061;
    - for (_iter1061 = (*(this->part_vals)).begin(); _iter1061 != (*(this->part_vals)).end(); ++_iter1061)
    + std::map<std::string, std::string> ::const_iterator _iter1081;
    + for (_iter1081 = (*(this->part_vals)).begin(); _iter1081 != (*(this->part_vals)).end(); ++_iter1081)
          {
    - xfer += oprot->writeString(_iter1061->first);
    - xfer += oprot->writeString(_iter1061->second);
    + xfer += oprot->writeString(_iter1081->first);
    + xfer += oprot->writeString(_iter1081->second);
          }
          xfer += oprot->writeMapEnd();
        }
    @@ -18058,17 +18453,17 @@ uint32_t ThriftHiveMetastore_isPartitionMarkedForEvent_args::read(::apache::thri
              if (ftype == ::apache::thrift::protocol::T_MAP) {
                {
                  this->part_vals.clear();
    - uint32_t _size1062;
    - ::apache::thrift::protocol::TType _ktype1063;
    - ::apache::thrift::protocol::TType _vtype1064;
    - xfer += iprot->readMapBegin(_ktype1063, _vtype1064, _size1062);
    - uint32_t _i1066;
    - for (_i1066 = 0; _i1066 < _size1062; ++_i1066)
    + uint32_t _size1082;
    + ::apache::thrift::protocol::TType _ktype1083;
    + ::apache::thrift::protocol::TType _vtype1084;
    + xfer += iprot->readMapBegin(_ktype1083, _vtype1084, _size1082);
    + uint32_t _i1086;
    + for (_i1086 = 0; _i1086 < _size1082; ++_i1086)
                  {
    - std::string _key1067;
    - xfer += iprot->readString(_key1067);
    - std::string& _val1068 = this->part_vals[_key1067];
    - xfer += iprot->readString(_val1068);
    + std::string _key1087;
    + xfer += iprot->readString(_key1087);
    + std::string& _val1088 = this->part_vals[_key1087];
    + xfer += iprot->readString(_val1088);
                  }
                  xfer += iprot->readMapEnd();
                }
    @@ -18079,9 +18474,9 @@ uint32_t ThriftHiveMetastore_isPartitionMarkedForEvent_args::read(::apache::thri
              break;
            case 4:
              if (ftype == ::apache::thrift::protocol::T_I32) {
    - int32_t ecast1069;
    - xfer += iprot->readI32(ecast1069);
    - this->eventType = (PartitionEventType::type)ecast1069;
    + int32_t ecast1089;
    + xfer += iprot->readI32(ecast1089);
    + this->eventType = (PartitionEventType::type)ecast1089;
                this->__isset.eventType = true;
              } else {
                xfer += iprot->skip(ftype);
    @@ -18115,11 +18510,11 @@ uint32_t ThriftHiveMetastore_isPartitionMarkedForEvent_args::write(::apache::thr
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_MAP, 3);
        {
          xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
    - std::map<std::string, std::string> ::const_iterator _iter1070;
    - for (_iter1070 = this->part_vals.begin(); _iter1070 != this->part_vals.end(); ++_iter1070)
    + std::map<std::string, std::string> ::const_iterator _iter1090;
    + for (_iter1090 = this->part_vals.begin(); _iter1090 != this->part_vals.end(); ++_iter1090)
          {
    - xfer += oprot->writeString(_iter1070->first);
    - xfer += oprot->writeString(_iter1070->second);
    + xfer += oprot->writeString(_iter1090->first);
    + xfer += oprot->writeString(_iter1090->second);
          }
          xfer += oprot->writeMapEnd();
        }
    @@ -18156,11 +18551,11 @@ uint32_t ThriftHiveMetastore_isPartitionMarkedForEvent_pargs::write(::apache::th
        xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_MAP, 3);
        {
          xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
    - std::map<std::string, std::string> ::const_iterator _iter1071;
    - for (_iter1071 = (*(this->part_vals)).begin(); _iter1071 != (*(this->part_vals)).end(); ++_iter1071)
    + std::map<std::string, std::string> ::const_iterator _iter1091;
    + for (_iter1091 = (*(this->part_vals)).begin(); _iter1091 != (*(this->part_vals)).end(); ++_iter1091)
          {
    - xfer += oprot->writeString(_iter1071->first);
    - xfer += oprot->writeString(_iter1071->second);
    + xfer += oprot->writeString(_iter1091->first);
    + xfer += oprot->writeString(_iter1091->second);
          }
          xfer += oprot->writeMapEnd();
        }
    @@ -19591,14 +19986,14 @@ uint32_t ThriftHiveMetastore_get_indexes_result::read(::apache::thrift::protocol
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size1072;
    - ::apache::thrift::protocol::TType _etype1075;
    - xfer += iprot->readListBegin(_etype1075, _size1072);
    - this->success.resize(_size1072);
    - uint32_t _i1076;
    - for (_i1076 = 0; _i1076 < _size1072; ++_i1076)
    + uint32_t _size1092;
    + ::apache::thrift::protocol::TType _etype1095;
    + xfer += iprot->readListBegin(_etype1095, _size1092);
    + this->success.resize(_size1092);
    + uint32_t _i1096;
    + for (_i1096 = 0; _i1096 < _size1092; ++_i1096)
                  {
    - xfer += this->success[_i1076].read(iprot);
    + xfer += this->success[_i1096].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -19645,10 +20040,10 @@ uint32_t ThriftHiveMetastore_get_indexes_result::write(::apache::thrift::protoco
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
    - std::vector<Index> ::const_iterator _iter1077;
    - for (_iter1077 = this->success.begin(); _iter1077 != this->success.end(); ++_iter1077)
    + std::vector<Index> ::const_iterator _iter1097;
    + for (_iter1097 = this->success.begin(); _iter1097 != this->success.end(); ++_iter1097)
            {
    - xfer += (*_iter1077).write(oprot);
    + xfer += (*_iter1097).write(oprot);
            }
            xfer += oprot->writeListEnd();
          }
    @@ -19696,14 +20091,14 @@ uint32_t ThriftHiveMetastore_get_indexes_presult::read(::apache::thrift::protoco
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size1078;
    - ::apache::thrift::protocol::TType _etype1081;
    - xfer += iprot->readListBegin(_etype1081, _size1078);
    - (*(this->success)).resize(_size1078);
    - uint32_t _i1082;
    - for (_i1082 = 0; _i1082 < _size1078; ++_i1082)
    + uint32_t _size1098;
    + ::apache::thrift::protocol::TType _etype1101;
    + xfer += iprot->readListBegin(_etype1101, _size1098);
    + (*(this->success)).resize(_size1098);
    + uint32_t _i1102;
    + for (_i1102 = 0; _i1102 < _size1098; ++_i1102)
                  {
    - xfer += (*(this->success))[_i1082].read(iprot);
    + xfer += (*(this->success))[_i1102].read(iprot);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -19881,14 +20276,14 @@ uint32_t ThriftHiveMetastore_get_index_names_result::read(::apache::thrift::prot
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  this->success.clear();
    - uint32_t _size1083;
    - ::apache::thrift::protocol::TType _etype1086;
    - xfer += iprot->readListBegin(_etype1086, _size1083);
    - this->success.resize(_size1083);
    - uint32_t _i1087;
    - for (_i1087 = 0; _i1087 < _size1083; ++_i1087)
    + uint32_t _size1103;
    + ::apache::thrift::protocol::TType _etype1106;
    + xfer += iprot->readListBegin(_etype1106, _size1103);
    + this->success.resize(_size1103);
    + uint32_t _i1107;
    + for (_i1107 = 0; _i1107 < _size1103; ++_i1107)
                  {
    - xfer += iprot->readString(this->success[_i1087]);
    + xfer += iprot->readString(this->success[_i1107]);
                  }
                  xfer += iprot->readListEnd();
                }
    @@ -19927,10 +20322,10 @@ uint32_t ThriftHiveMetastore_get_index_names_result::write(::apache::thrift::pro
          xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
          {
            xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
    - std::vector<std::string> ::const_iterator _iter1088;
    - for (_iter1088 = this->success.begin(); _iter1088 != this->success.end(); ++_iter1088)
    + std::vector<std::string> ::const_iterator _iter1108;
    + for (_iter1108 = this->success.begin(); _iter1108 != this->success.end(); ++_iter1108)
            {
    - xfer += oprot->writeString((*_iter1088));
    + xfer += oprot->writeString((*_iter1108));
            }
            xfer += oprot->writeListEnd();
          }
    @@ -19974,14 +20369,14 @@ uint32_t ThriftHiveMetastore_get_index_names_presult::read(::apache::thrift::pro
              if (ftype == ::apache::thrift::protocol::T_LIST) {
                {
                  (*(this->success)).clear();
    - uint32_t _size1089;
    - ::apache::thrift::protocol::TType _etype1092;
    - xfer += iprot->readListBegin(_etype1092, _size1089);
    - (*(this->success)).resize(_size1089);
    - uint32_t _i1093;
    - for (_i1093 = 0; _i1093 < _size1089; ++_i1093)
    + uint32_t _size1109;
    + ::apache::thrift::protocol::TType _etype1112;
    + xfer += iprot->readListBegin(_etype1112, _size1109);
    + (*(this->success)).resize(_size1109);
    + uint32_t _i1113;
    + for (_i1113 = 0; _i1113 < _size1109; ++_i1113)
                  {
    -

    <TRUNCATED>
  • Aihuaxu at Jan 13, 2016 at 3:03 pm
    http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
    ----------------------------------------------------------------------
    diff --git a/metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php b/metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
    index ae47cb5..a2e5b05 100644
    --- a/metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
    +++ b/metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
    @@ -394,6 +394,19 @@ interface ThriftHiveMetastoreIf extends \FacebookServiceIf {
         */
        public function exchange_partition(array $partitionSpecs, $source_db, $source_table_name, $dest_db, $dest_table_name);
        /**
    + * @param array $partitionSpecs
    + * @param string $source_db
    + * @param string $source_table_name
    + * @param string $dest_db
    + * @param string $dest_table_name
    + * @return \metastore\Partition[]
    + * @throws \metastore\MetaException
    + * @throws \metastore\NoSuchObjectException
    + * @throws \metastore\InvalidObjectException
    + * @throws \metastore\InvalidInputException
    + */
    + public function exchange_partitions(array $partitionSpecs, $source_db, $source_table_name, $dest_db, $dest_table_name);
    + /**
         * @param string $db_name
         * @param string $tbl_name
         * @param string[] $part_vals
    @@ -3599,6 +3612,73 @@ class ThriftHiveMetastoreClient extends \FacebookServiceClient implements \metas
          throw new \Exception("exchange_partition failed: unknown result");
        }

    + public function exchange_partitions(array $partitionSpecs, $source_db, $source_table_name, $dest_db, $dest_table_name)
    + {
    + $this->send_exchange_partitions($partitionSpecs, $source_db, $source_table_name, $dest_db, $dest_table_name);
    + return $this->recv_exchange_partitions();
    + }
    +
    + public function send_exchange_partitions(array $partitionSpecs, $source_db, $source_table_name, $dest_db, $dest_table_name)
    + {
    + $args = new \metastore\ThriftHiveMetastore_exchange_partitions_args();
    + $args->partitionSpecs = $partitionSpecs;
    + $args->source_db = $source_db;
    + $args->source_table_name = $source_table_name;
    + $args->dest_db = $dest_db;
    + $args->dest_table_name = $dest_table_name;
    + $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
    + if ($bin_accel)
    + {
    + thrift_protocol_write_binary($this->output_, 'exchange_partitions', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
    + }
    + else
    + {
    + $this->output_->writeMessageBegin('exchange_partitions', TMessageType::CALL, $this->seqid_);
    + $args->write($this->output_);
    + $this->output_->writeMessageEnd();
    + $this->output_->getTransport()->flush();
    + }
    + }
    +
    + public function recv_exchange_partitions()
    + {
    + $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
    + if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\metastore\ThriftHiveMetastore_exchange_partitions_result', $this->input_->isStrictRead());
    + else
    + {
    + $rseqid = 0;
    + $fname = null;
    + $mtype = 0;
    +
    + $this->input_->readMessageBegin($fname, $mtype, $rseqid);
    + if ($mtype == TMessageType::EXCEPTION) {
    + $x = new TApplicationException();
    + $x->read($this->input_);
    + $this->input_->readMessageEnd();
    + throw $x;
    + }
    + $result = new \metastore\ThriftHiveMetastore_exchange_partitions_result();
    + $result->read($this->input_);
    + $this->input_->readMessageEnd();
    + }
    + if ($result->success !== null) {
    + return $result->success;
    + }
    + if ($result->o1 !== null) {
    + throw $result->o1;
    + }
    + if ($result->o2 !== null) {
    + throw $result->o2;
    + }
    + if ($result->o3 !== null) {
    + throw $result->o3;
    + }
    + if ($result->o4 !== null) {
    + throw $result->o4;
    + }
    + throw new \Exception("exchange_partitions failed: unknown result");
    + }
    +
        public function get_partition_with_auth($db_name, $tbl_name, array $part_vals, $user_name, array $group_names)
        {
          $this->send_get_partition_with_auth($db_name, $tbl_name, $part_vals, $user_name, $group_names);
    @@ -19199,6 +19279,410 @@ class ThriftHiveMetastore_exchange_partition_result {

      }

    +class ThriftHiveMetastore_exchange_partitions_args {
    + static $_TSPEC;
    +
    + /**
    + * @var array
    + */
    + public $partitionSpecs = null;
    + /**
    + * @var string
    + */
    + public $source_db = null;
    + /**
    + * @var string
    + */
    + public $source_table_name = null;
    + /**
    + * @var string
    + */
    + public $dest_db = null;
    + /**
    + * @var string
    + */
    + public $dest_table_name = null;
    +
    + public function __construct($vals=null) {
    + if (!isset(self::$_TSPEC)) {
    + self::$_TSPEC = array(
    + 1 => array(
    + 'var' => 'partitionSpecs',
    + 'type' => TType::MAP,
    + 'ktype' => TType::STRING,
    + 'vtype' => TType::STRING,
    + 'key' => array(
    + 'type' => TType::STRING,
    + ),
    + 'val' => array(
    + 'type' => TType::STRING,
    + ),
    + ),
    + 2 => array(
    + 'var' => 'source_db',
    + 'type' => TType::STRING,
    + ),
    + 3 => array(
    + 'var' => 'source_table_name',
    + 'type' => TType::STRING,
    + ),
    + 4 => array(
    + 'var' => 'dest_db',
    + 'type' => TType::STRING,
    + ),
    + 5 => array(
    + 'var' => 'dest_table_name',
    + 'type' => TType::STRING,
    + ),
    + );
    + }
    + if (is_array($vals)) {
    + if (isset($vals['partitionSpecs'])) {
    + $this->partitionSpecs = $vals['partitionSpecs'];
    + }
    + if (isset($vals['source_db'])) {
    + $this->source_db = $vals['source_db'];
    + }
    + if (isset($vals['source_table_name'])) {
    + $this->source_table_name = $vals['source_table_name'];
    + }
    + if (isset($vals['dest_db'])) {
    + $this->dest_db = $vals['dest_db'];
    + }
    + if (isset($vals['dest_table_name'])) {
    + $this->dest_table_name = $vals['dest_table_name'];
    + }
    + }
    + }
    +
    + public function getName() {
    + return 'ThriftHiveMetastore_exchange_partitions_args';
    + }
    +
    + public function read($input)
    + {
    + $xfer = 0;
    + $fname = null;
    + $ftype = 0;
    + $fid = 0;
    + $xfer += $input->readStructBegin($fname);
    + while (true)
    + {
    + $xfer += $input->readFieldBegin($fname, $ftype, $fid);
    + if ($ftype == TType::STOP) {
    + break;
    + }
    + switch ($fid)
    + {
    + case 1:
    + if ($ftype == TType::MAP) {
    + $this->partitionSpecs = array();
    + $_size616 = 0;
    + $_ktype617 = 0;
    + $_vtype618 = 0;
    + $xfer += $input->readMapBegin($_ktype617, $_vtype618, $_size616);
    + for ($_i620 = 0; $_i620 < $_size616; ++$_i620)
    + {
    + $key621 = '';
    + $val622 = '';
    + $xfer += $input->readString($key621);
    + $xfer += $input->readString($val622);
    + $this->partitionSpecs[$key621] = $val622;
    + }
    + $xfer += $input->readMapEnd();
    + } else {
    + $xfer += $input->skip($ftype);
    + }
    + break;
    + case 2:
    + if ($ftype == TType::STRING) {
    + $xfer += $input->readString($this->source_db);
    + } else {
    + $xfer += $input->skip($ftype);
    + }
    + break;
    + case 3:
    + if ($ftype == TType::STRING) {
    + $xfer += $input->readString($this->source_table_name);
    + } else {
    + $xfer += $input->skip($ftype);
    + }
    + break;
    + case 4:
    + if ($ftype == TType::STRING) {
    + $xfer += $input->readString($this->dest_db);
    + } else {
    + $xfer += $input->skip($ftype);
    + }
    + break;
    + case 5:
    + if ($ftype == TType::STRING) {
    + $xfer += $input->readString($this->dest_table_name);
    + } else {
    + $xfer += $input->skip($ftype);
    + }
    + break;
    + default:
    + $xfer += $input->skip($ftype);
    + break;
    + }
    + $xfer += $input->readFieldEnd();
    + }
    + $xfer += $input->readStructEnd();
    + return $xfer;
    + }
    +
    + public function write($output) {
    + $xfer = 0;
    + $xfer += $output->writeStructBegin('ThriftHiveMetastore_exchange_partitions_args');
    + if ($this->partitionSpecs !== null) {
    + if (!is_array($this->partitionSpecs)) {
    + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
    + }
    + $xfer += $output->writeFieldBegin('partitionSpecs', TType::MAP, 1);
    + {
    + $output->writeMapBegin(TType::STRING, TType::STRING, count($this->partitionSpecs));
    + {
    + foreach ($this->partitionSpecs as $kiter623 => $viter624)
    + {
    + $xfer += $output->writeString($kiter623);
    + $xfer += $output->writeString($viter624);
    + }
    + }
    + $output->writeMapEnd();
    + }
    + $xfer += $output->writeFieldEnd();
    + }
    + if ($this->source_db !== null) {
    + $xfer += $output->writeFieldBegin('source_db', TType::STRING, 2);
    + $xfer += $output->writeString($this->source_db);
    + $xfer += $output->writeFieldEnd();
    + }
    + if ($this->source_table_name !== null) {
    + $xfer += $output->writeFieldBegin('source_table_name', TType::STRING, 3);
    + $xfer += $output->writeString($this->source_table_name);
    + $xfer += $output->writeFieldEnd();
    + }
    + if ($this->dest_db !== null) {
    + $xfer += $output->writeFieldBegin('dest_db', TType::STRING, 4);
    + $xfer += $output->writeString($this->dest_db);
    + $xfer += $output->writeFieldEnd();
    + }
    + if ($this->dest_table_name !== null) {
    + $xfer += $output->writeFieldBegin('dest_table_name', TType::STRING, 5);
    + $xfer += $output->writeString($this->dest_table_name);
    + $xfer += $output->writeFieldEnd();
    + }
    + $xfer += $output->writeFieldStop();
    + $xfer += $output->writeStructEnd();
    + return $xfer;
    + }
    +
    +}
    +
    +class ThriftHiveMetastore_exchange_partitions_result {
    + static $_TSPEC;
    +
    + /**
    + * @var \metastore\Partition[]
    + */
    + public $success = null;
    + /**
    + * @var \metastore\MetaException
    + */
    + public $o1 = null;
    + /**
    + * @var \metastore\NoSuchObjectException
    + */
    + public $o2 = null;
    + /**
    + * @var \metastore\InvalidObjectException
    + */
    + public $o3 = null;
    + /**
    + * @var \metastore\InvalidInputException
    + */
    + public $o4 = null;
    +
    + public function __construct($vals=null) {
    + if (!isset(self::$_TSPEC)) {
    + self::$_TSPEC = array(
    + 0 => array(
    + 'var' => 'success',
    + 'type' => TType::LST,
    + 'etype' => TType::STRUCT,
    + 'elem' => array(
    + 'type' => TType::STRUCT,
    + 'class' => '\metastore\Partition',
    + ),
    + ),
    + 1 => array(
    + 'var' => 'o1',
    + 'type' => TType::STRUCT,
    + 'class' => '\metastore\MetaException',
    + ),
    + 2 => array(
    + 'var' => 'o2',
    + 'type' => TType::STRUCT,
    + 'class' => '\metastore\NoSuchObjectException',
    + ),
    + 3 => array(
    + 'var' => 'o3',
    + 'type' => TType::STRUCT,
    + 'class' => '\metastore\InvalidObjectException',
    + ),
    + 4 => array(
    + 'var' => 'o4',
    + 'type' => TType::STRUCT,
    + 'class' => '\metastore\InvalidInputException',
    + ),
    + );
    + }
    + if (is_array($vals)) {
    + if (isset($vals['success'])) {
    + $this->success = $vals['success'];
    + }
    + if (isset($vals['o1'])) {
    + $this->o1 = $vals['o1'];
    + }
    + if (isset($vals['o2'])) {
    + $this->o2 = $vals['o2'];
    + }
    + if (isset($vals['o3'])) {
    + $this->o3 = $vals['o3'];
    + }
    + if (isset($vals['o4'])) {
    + $this->o4 = $vals['o4'];
    + }
    + }
    + }
    +
    + public function getName() {
    + return 'ThriftHiveMetastore_exchange_partitions_result';
    + }
    +
    + public function read($input)
    + {
    + $xfer = 0;
    + $fname = null;
    + $ftype = 0;
    + $fid = 0;
    + $xfer += $input->readStructBegin($fname);
    + while (true)
    + {
    + $xfer += $input->readFieldBegin($fname, $ftype, $fid);
    + if ($ftype == TType::STOP) {
    + break;
    + }
    + switch ($fid)
    + {
    + case 0:
    + if ($ftype == TType::LST) {
    + $this->success = array();
    + $_size625 = 0;
    + $_etype628 = 0;
    + $xfer += $input->readListBegin($_etype628, $_size625);
    + for ($_i629 = 0; $_i629 < $_size625; ++$_i629)
    + {
    + $elem630 = null;
    + $elem630 = new \metastore\Partition();
    + $xfer += $elem630->read($input);
    + $this->success []= $elem630;
    + }
    + $xfer += $input->readListEnd();
    + } else {
    + $xfer += $input->skip($ftype);
    + }
    + break;
    + case 1:
    + if ($ftype == TType::STRUCT) {
    + $this->o1 = new \metastore\MetaException();
    + $xfer += $this->o1->read($input);
    + } else {
    + $xfer += $input->skip($ftype);
    + }
    + break;
    + case 2:
    + if ($ftype == TType::STRUCT) {
    + $this->o2 = new \metastore\NoSuchObjectException();
    + $xfer += $this->o2->read($input);
    + } else {
    + $xfer += $input->skip($ftype);
    + }
    + break;
    + case 3:
    + if ($ftype == TType::STRUCT) {
    + $this->o3 = new \metastore\InvalidObjectException();
    + $xfer += $this->o3->read($input);
    + } else {
    + $xfer += $input->skip($ftype);
    + }
    + break;
    + case 4:
    + if ($ftype == TType::STRUCT) {
    + $this->o4 = new \metastore\InvalidInputException();
    + $xfer += $this->o4->read($input);
    + } else {
    + $xfer += $input->skip($ftype);
    + }
    + break;
    + default:
    + $xfer += $input->skip($ftype);
    + break;
    + }
    + $xfer += $input->readFieldEnd();
    + }
    + $xfer += $input->readStructEnd();
    + return $xfer;
    + }
    +
    + public function write($output) {
    + $xfer = 0;
    + $xfer += $output->writeStructBegin('ThriftHiveMetastore_exchange_partitions_result');
    + if ($this->success !== null) {
    + if (!is_array($this->success)) {
    + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
    + }
    + $xfer += $output->writeFieldBegin('success', TType::LST, 0);
    + {
    + $output->writeListBegin(TType::STRUCT, count($this->success));
    + {
    + foreach ($this->success as $iter631)
    + {
    + $xfer += $iter631->write($output);
    + }
    + }
    + $output->writeListEnd();
    + }
    + $xfer += $output->writeFieldEnd();
    + }
    + if ($this->o1 !== null) {
    + $xfer += $output->writeFieldBegin('o1', TType::STRUCT, 1);
    + $xfer += $this->o1->write($output);
    + $xfer += $output->writeFieldEnd();
    + }
    + if ($this->o2 !== null) {
    + $xfer += $output->writeFieldBegin('o2', TType::STRUCT, 2);
    + $xfer += $this->o2->write($output);
    + $xfer += $output->writeFieldEnd();
    + }
    + if ($this->o3 !== null) {
    + $xfer += $output->writeFieldBegin('o3', TType::STRUCT, 3);
    + $xfer += $this->o3->write($output);
    + $xfer += $output->writeFieldEnd();
    + }
    + if ($this->o4 !== null) {
    + $xfer += $output->writeFieldBegin('o4', TType::STRUCT, 4);
    + $xfer += $this->o4->write($output);
    + $xfer += $output->writeFieldEnd();
    + }
    + $xfer += $output->writeFieldStop();
    + $xfer += $output->writeStructEnd();
    + return $xfer;
    + }
    +
    +}
    +
      class ThriftHiveMetastore_get_partition_with_auth_args {
        static $_TSPEC;

    @@ -19311,14 +19795,14 @@ class ThriftHiveMetastore_get_partition_with_auth_args {
              case 3:
                if ($ftype == TType::LST) {
                  $this->part_vals = array();
    - $_size616 = 0;
    - $_etype619 = 0;
    - $xfer += $input->readListBegin($_etype619, $_size616);
    - for ($_i620 = 0; $_i620 < $_size616; ++$_i620)
    + $_size632 = 0;
    + $_etype635 = 0;
    + $xfer += $input->readListBegin($_etype635, $_size632);
    + for ($_i636 = 0; $_i636 < $_size632; ++$_i636)
                  {
    - $elem621 = null;
    - $xfer += $input->readString($elem621);
    - $this->part_vals []= $elem621;
    + $elem637 = null;
    + $xfer += $input->readString($elem637);
    + $this->part_vals []= $elem637;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -19335,14 +19819,14 @@ class ThriftHiveMetastore_get_partition_with_auth_args {
              case 5:
                if ($ftype == TType::LST) {
                  $this->group_names = array();
    - $_size622 = 0;
    - $_etype625 = 0;
    - $xfer += $input->readListBegin($_etype625, $_size622);
    - for ($_i626 = 0; $_i626 < $_size622; ++$_i626)
    + $_size638 = 0;
    + $_etype641 = 0;
    + $xfer += $input->readListBegin($_etype641, $_size638);
    + for ($_i642 = 0; $_i642 < $_size638; ++$_i642)
                  {
    - $elem627 = null;
    - $xfer += $input->readString($elem627);
    - $this->group_names []= $elem627;
    + $elem643 = null;
    + $xfer += $input->readString($elem643);
    + $this->group_names []= $elem643;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -19380,9 +19864,9 @@ class ThriftHiveMetastore_get_partition_with_auth_args {
            {
              $output->writeListBegin(TType::STRING, count($this->part_vals));
              {
    - foreach ($this->part_vals as $iter628)
    + foreach ($this->part_vals as $iter644)
                {
    - $xfer += $output->writeString($iter628);
    + $xfer += $output->writeString($iter644);
                }
              }
              $output->writeListEnd();
    @@ -19402,9 +19886,9 @@ class ThriftHiveMetastore_get_partition_with_auth_args {
            {
              $output->writeListBegin(TType::STRING, count($this->group_names));
              {
    - foreach ($this->group_names as $iter629)
    + foreach ($this->group_names as $iter645)
                {
    - $xfer += $output->writeString($iter629);
    + $xfer += $output->writeString($iter645);
                }
              }
              $output->writeListEnd();
    @@ -19995,15 +20479,15 @@ class ThriftHiveMetastore_get_partitions_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size630 = 0;
    - $_etype633 = 0;
    - $xfer += $input->readListBegin($_etype633, $_size630);
    - for ($_i634 = 0; $_i634 < $_size630; ++$_i634)
    + $_size646 = 0;
    + $_etype649 = 0;
    + $xfer += $input->readListBegin($_etype649, $_size646);
    + for ($_i650 = 0; $_i650 < $_size646; ++$_i650)
                  {
    - $elem635 = null;
    - $elem635 = new \metastore\Partition();
    - $xfer += $elem635->read($input);
    - $this->success []= $elem635;
    + $elem651 = null;
    + $elem651 = new \metastore\Partition();
    + $xfer += $elem651->read($input);
    + $this->success []= $elem651;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -20047,9 +20531,9 @@ class ThriftHiveMetastore_get_partitions_result {
            {
              $output->writeListBegin(TType::STRUCT, count($this->success));
              {
    - foreach ($this->success as $iter636)
    + foreach ($this->success as $iter652)
                {
    - $xfer += $iter636->write($output);
    + $xfer += $iter652->write($output);
                }
              }
              $output->writeListEnd();
    @@ -20195,14 +20679,14 @@ class ThriftHiveMetastore_get_partitions_with_auth_args {
              case 5:
                if ($ftype == TType::LST) {
                  $this->group_names = array();
    - $_size637 = 0;
    - $_etype640 = 0;
    - $xfer += $input->readListBegin($_etype640, $_size637);
    - for ($_i641 = 0; $_i641 < $_size637; ++$_i641)
    + $_size653 = 0;
    + $_etype656 = 0;
    + $xfer += $input->readListBegin($_etype656, $_size653);
    + for ($_i657 = 0; $_i657 < $_size653; ++$_i657)
                  {
    - $elem642 = null;
    - $xfer += $input->readString($elem642);
    - $this->group_names []= $elem642;
    + $elem658 = null;
    + $xfer += $input->readString($elem658);
    + $this->group_names []= $elem658;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -20250,9 +20734,9 @@ class ThriftHiveMetastore_get_partitions_with_auth_args {
            {
              $output->writeListBegin(TType::STRING, count($this->group_names));
              {
    - foreach ($this->group_names as $iter643)
    + foreach ($this->group_names as $iter659)
                {
    - $xfer += $output->writeString($iter643);
    + $xfer += $output->writeString($iter659);
                }
              }
              $output->writeListEnd();
    @@ -20341,15 +20825,15 @@ class ThriftHiveMetastore_get_partitions_with_auth_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size644 = 0;
    - $_etype647 = 0;
    - $xfer += $input->readListBegin($_etype647, $_size644);
    - for ($_i648 = 0; $_i648 < $_size644; ++$_i648)
    + $_size660 = 0;
    + $_etype663 = 0;
    + $xfer += $input->readListBegin($_etype663, $_size660);
    + for ($_i664 = 0; $_i664 < $_size660; ++$_i664)
                  {
    - $elem649 = null;
    - $elem649 = new \metastore\Partition();
    - $xfer += $elem649->read($input);
    - $this->success []= $elem649;
    + $elem665 = null;
    + $elem665 = new \metastore\Partition();
    + $xfer += $elem665->read($input);
    + $this->success []= $elem665;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -20393,9 +20877,9 @@ class ThriftHiveMetastore_get_partitions_with_auth_result {
            {
              $output->writeListBegin(TType::STRUCT, count($this->success));
              {
    - foreach ($this->success as $iter650)
    + foreach ($this->success as $iter666)
                {
    - $xfer += $iter650->write($output);
    + $xfer += $iter666->write($output);
                }
              }
              $output->writeListEnd();
    @@ -20615,15 +21099,15 @@ class ThriftHiveMetastore_get_partitions_pspec_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size651 = 0;
    - $_etype654 = 0;
    - $xfer += $input->readListBegin($_etype654, $_size651);
    - for ($_i655 = 0; $_i655 < $_size651; ++$_i655)
    + $_size667 = 0;
    + $_etype670 = 0;
    + $xfer += $input->readListBegin($_etype670, $_size667);
    + for ($_i671 = 0; $_i671 < $_size667; ++$_i671)
                  {
    - $elem656 = null;
    - $elem656 = new \metastore\PartitionSpec();
    - $xfer += $elem656->read($input);
    - $this->success []= $elem656;
    + $elem672 = null;
    + $elem672 = new \metastore\PartitionSpec();
    + $xfer += $elem672->read($input);
    + $this->success []= $elem672;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -20667,9 +21151,9 @@ class ThriftHiveMetastore_get_partitions_pspec_result {
            {
              $output->writeListBegin(TType::STRUCT, count($this->success));
              {
    - foreach ($this->success as $iter657)
    + foreach ($this->success as $iter673)
                {
    - $xfer += $iter657->write($output);
    + $xfer += $iter673->write($output);
                }
              }
              $output->writeListEnd();
    @@ -20876,14 +21360,14 @@ class ThriftHiveMetastore_get_partition_names_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size658 = 0;
    - $_etype661 = 0;
    - $xfer += $input->readListBegin($_etype661, $_size658);
    - for ($_i662 = 0; $_i662 < $_size658; ++$_i662)
    + $_size674 = 0;
    + $_etype677 = 0;
    + $xfer += $input->readListBegin($_etype677, $_size674);
    + for ($_i678 = 0; $_i678 < $_size674; ++$_i678)
                  {
    - $elem663 = null;
    - $xfer += $input->readString($elem663);
    - $this->success []= $elem663;
    + $elem679 = null;
    + $xfer += $input->readString($elem679);
    + $this->success []= $elem679;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -20919,9 +21403,9 @@ class ThriftHiveMetastore_get_partition_names_result {
            {
              $output->writeListBegin(TType::STRING, count($this->success));
              {
    - foreach ($this->success as $iter664)
    + foreach ($this->success as $iter680)
                {
    - $xfer += $output->writeString($iter664);
    + $xfer += $output->writeString($iter680);
                }
              }
              $output->writeListEnd();
    @@ -21037,14 +21521,14 @@ class ThriftHiveMetastore_get_partitions_ps_args {
              case 3:
                if ($ftype == TType::LST) {
                  $this->part_vals = array();
    - $_size665 = 0;
    - $_etype668 = 0;
    - $xfer += $input->readListBegin($_etype668, $_size665);
    - for ($_i669 = 0; $_i669 < $_size665; ++$_i669)
    + $_size681 = 0;
    + $_etype684 = 0;
    + $xfer += $input->readListBegin($_etype684, $_size681);
    + for ($_i685 = 0; $_i685 < $_size681; ++$_i685)
                  {
    - $elem670 = null;
    - $xfer += $input->readString($elem670);
    - $this->part_vals []= $elem670;
    + $elem686 = null;
    + $xfer += $input->readString($elem686);
    + $this->part_vals []= $elem686;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -21089,9 +21573,9 @@ class ThriftHiveMetastore_get_partitions_ps_args {
            {
              $output->writeListBegin(TType::STRING, count($this->part_vals));
              {
    - foreach ($this->part_vals as $iter671)
    + foreach ($this->part_vals as $iter687)
                {
    - $xfer += $output->writeString($iter671);
    + $xfer += $output->writeString($iter687);
                }
              }
              $output->writeListEnd();
    @@ -21185,15 +21669,15 @@ class ThriftHiveMetastore_get_partitions_ps_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size672 = 0;
    - $_etype675 = 0;
    - $xfer += $input->readListBegin($_etype675, $_size672);
    - for ($_i676 = 0; $_i676 < $_size672; ++$_i676)
    + $_size688 = 0;
    + $_etype691 = 0;
    + $xfer += $input->readListBegin($_etype691, $_size688);
    + for ($_i692 = 0; $_i692 < $_size688; ++$_i692)
                  {
    - $elem677 = null;
    - $elem677 = new \metastore\Partition();
    - $xfer += $elem677->read($input);
    - $this->success []= $elem677;
    + $elem693 = null;
    + $elem693 = new \metastore\Partition();
    + $xfer += $elem693->read($input);
    + $this->success []= $elem693;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -21237,9 +21721,9 @@ class ThriftHiveMetastore_get_partitions_ps_result {
            {
              $output->writeListBegin(TType::STRUCT, count($this->success));
              {
    - foreach ($this->success as $iter678)
    + foreach ($this->success as $iter694)
                {
    - $xfer += $iter678->write($output);
    + $xfer += $iter694->write($output);
                }
              }
              $output->writeListEnd();
    @@ -21386,14 +21870,14 @@ class ThriftHiveMetastore_get_partitions_ps_with_auth_args {
              case 3:
                if ($ftype == TType::LST) {
                  $this->part_vals = array();
    - $_size679 = 0;
    - $_etype682 = 0;
    - $xfer += $input->readListBegin($_etype682, $_size679);
    - for ($_i683 = 0; $_i683 < $_size679; ++$_i683)
    + $_size695 = 0;
    + $_etype698 = 0;
    + $xfer += $input->readListBegin($_etype698, $_size695);
    + for ($_i699 = 0; $_i699 < $_size695; ++$_i699)
                  {
    - $elem684 = null;
    - $xfer += $input->readString($elem684);
    - $this->part_vals []= $elem684;
    + $elem700 = null;
    + $xfer += $input->readString($elem700);
    + $this->part_vals []= $elem700;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -21417,14 +21901,14 @@ class ThriftHiveMetastore_get_partitions_ps_with_auth_args {
              case 6:
                if ($ftype == TType::LST) {
                  $this->group_names = array();
    - $_size685 = 0;
    - $_etype688 = 0;
    - $xfer += $input->readListBegin($_etype688, $_size685);
    - for ($_i689 = 0; $_i689 < $_size685; ++$_i689)
    + $_size701 = 0;
    + $_etype704 = 0;
    + $xfer += $input->readListBegin($_etype704, $_size701);
    + for ($_i705 = 0; $_i705 < $_size701; ++$_i705)
                  {
    - $elem690 = null;
    - $xfer += $input->readString($elem690);
    - $this->group_names []= $elem690;
    + $elem706 = null;
    + $xfer += $input->readString($elem706);
    + $this->group_names []= $elem706;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -21462,9 +21946,9 @@ class ThriftHiveMetastore_get_partitions_ps_with_auth_args {
            {
              $output->writeListBegin(TType::STRING, count($this->part_vals));
              {
    - foreach ($this->part_vals as $iter691)
    + foreach ($this->part_vals as $iter707)
                {
    - $xfer += $output->writeString($iter691);
    + $xfer += $output->writeString($iter707);
                }
              }
              $output->writeListEnd();
    @@ -21489,9 +21973,9 @@ class ThriftHiveMetastore_get_partitions_ps_with_auth_args {
            {
              $output->writeListBegin(TType::STRING, count($this->group_names));
              {
    - foreach ($this->group_names as $iter692)
    + foreach ($this->group_names as $iter708)
                {
    - $xfer += $output->writeString($iter692);
    + $xfer += $output->writeString($iter708);
                }
              }
              $output->writeListEnd();
    @@ -21580,15 +22064,15 @@ class ThriftHiveMetastore_get_partitions_ps_with_auth_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size693 = 0;
    - $_etype696 = 0;
    - $xfer += $input->readListBegin($_etype696, $_size693);
    - for ($_i697 = 0; $_i697 < $_size693; ++$_i697)
    + $_size709 = 0;
    + $_etype712 = 0;
    + $xfer += $input->readListBegin($_etype712, $_size709);
    + for ($_i713 = 0; $_i713 < $_size709; ++$_i713)
                  {
    - $elem698 = null;
    - $elem698 = new \metastore\Partition();
    - $xfer += $elem698->read($input);
    - $this->success []= $elem698;
    + $elem714 = null;
    + $elem714 = new \metastore\Partition();
    + $xfer += $elem714->read($input);
    + $this->success []= $elem714;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -21632,9 +22116,9 @@ class ThriftHiveMetastore_get_partitions_ps_with_auth_result {
            {
              $output->writeListBegin(TType::STRUCT, count($this->success));
              {
    - foreach ($this->success as $iter699)
    + foreach ($this->success as $iter715)
                {
    - $xfer += $iter699->write($output);
    + $xfer += $iter715->write($output);
                }
              }
              $output->writeListEnd();
    @@ -21755,14 +22239,14 @@ class ThriftHiveMetastore_get_partition_names_ps_args {
              case 3:
                if ($ftype == TType::LST) {
                  $this->part_vals = array();
    - $_size700 = 0;
    - $_etype703 = 0;
    - $xfer += $input->readListBegin($_etype703, $_size700);
    - for ($_i704 = 0; $_i704 < $_size700; ++$_i704)
    + $_size716 = 0;
    + $_etype719 = 0;
    + $xfer += $input->readListBegin($_etype719, $_size716);
    + for ($_i720 = 0; $_i720 < $_size716; ++$_i720)
                  {
    - $elem705 = null;
    - $xfer += $input->readString($elem705);
    - $this->part_vals []= $elem705;
    + $elem721 = null;
    + $xfer += $input->readString($elem721);
    + $this->part_vals []= $elem721;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -21807,9 +22291,9 @@ class ThriftHiveMetastore_get_partition_names_ps_args {
            {
              $output->writeListBegin(TType::STRING, count($this->part_vals));
              {
    - foreach ($this->part_vals as $iter706)
    + foreach ($this->part_vals as $iter722)
                {
    - $xfer += $output->writeString($iter706);
    + $xfer += $output->writeString($iter722);
                }
              }
              $output->writeListEnd();
    @@ -21902,14 +22386,14 @@ class ThriftHiveMetastore_get_partition_names_ps_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size707 = 0;
    - $_etype710 = 0;
    - $xfer += $input->readListBegin($_etype710, $_size707);
    - for ($_i711 = 0; $_i711 < $_size707; ++$_i711)
    + $_size723 = 0;
    + $_etype726 = 0;
    + $xfer += $input->readListBegin($_etype726, $_size723);
    + for ($_i727 = 0; $_i727 < $_size723; ++$_i727)
                  {
    - $elem712 = null;
    - $xfer += $input->readString($elem712);
    - $this->success []= $elem712;
    + $elem728 = null;
    + $xfer += $input->readString($elem728);
    + $this->success []= $elem728;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -21953,9 +22437,9 @@ class ThriftHiveMetastore_get_partition_names_ps_result {
            {
              $output->writeListBegin(TType::STRING, count($this->success));
              {
    - foreach ($this->success as $iter713)
    + foreach ($this->success as $iter729)
                {
    - $xfer += $output->writeString($iter713);
    + $xfer += $output->writeString($iter729);
                }
              }
              $output->writeListEnd();
    @@ -22198,15 +22682,15 @@ class ThriftHiveMetastore_get_partitions_by_filter_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size714 = 0;
    - $_etype717 = 0;
    - $xfer += $input->readListBegin($_etype717, $_size714);
    - for ($_i718 = 0; $_i718 < $_size714; ++$_i718)
    + $_size730 = 0;
    + $_etype733 = 0;
    + $xfer += $input->readListBegin($_etype733, $_size730);
    + for ($_i734 = 0; $_i734 < $_size730; ++$_i734)
                  {
    - $elem719 = null;
    - $elem719 = new \metastore\Partition();
    - $xfer += $elem719->read($input);
    - $this->success []= $elem719;
    + $elem735 = null;
    + $elem735 = new \metastore\Partition();
    + $xfer += $elem735->read($input);
    + $this->success []= $elem735;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -22250,9 +22734,9 @@ class ThriftHiveMetastore_get_partitions_by_filter_result {
            {
              $output->writeListBegin(TType::STRUCT, count($this->success));
              {
    - foreach ($this->success as $iter720)
    + foreach ($this->success as $iter736)
                {
    - $xfer += $iter720->write($output);
    + $xfer += $iter736->write($output);
                }
              }
              $output->writeListEnd();
    @@ -22495,15 +22979,15 @@ class ThriftHiveMetastore_get_part_specs_by_filter_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size721 = 0;
    - $_etype724 = 0;
    - $xfer += $input->readListBegin($_etype724, $_size721);
    - for ($_i725 = 0; $_i725 < $_size721; ++$_i725)
    + $_size737 = 0;
    + $_etype740 = 0;
    + $xfer += $input->readListBegin($_etype740, $_size737);
    + for ($_i741 = 0; $_i741 < $_size737; ++$_i741)
                  {
    - $elem726 = null;
    - $elem726 = new \metastore\PartitionSpec();
    - $xfer += $elem726->read($input);
    - $this->success []= $elem726;
    + $elem742 = null;
    + $elem742 = new \metastore\PartitionSpec();
    + $xfer += $elem742->read($input);
    + $this->success []= $elem742;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -22547,9 +23031,9 @@ class ThriftHiveMetastore_get_part_specs_by_filter_result {
            {
              $output->writeListBegin(TType::STRUCT, count($this->success));
              {
    - foreach ($this->success as $iter727)
    + foreach ($this->success as $iter743)
                {
    - $xfer += $iter727->write($output);
    + $xfer += $iter743->write($output);
                }
              }
              $output->writeListEnd();
    @@ -22869,14 +23353,14 @@ class ThriftHiveMetastore_get_partitions_by_names_args {
              case 3:
                if ($ftype == TType::LST) {
                  $this->names = array();
    - $_size728 = 0;
    - $_etype731 = 0;
    - $xfer += $input->readListBegin($_etype731, $_size728);
    - for ($_i732 = 0; $_i732 < $_size728; ++$_i732)
    + $_size744 = 0;
    + $_etype747 = 0;
    + $xfer += $input->readListBegin($_etype747, $_size744);
    + for ($_i748 = 0; $_i748 < $_size744; ++$_i748)
                  {
    - $elem733 = null;
    - $xfer += $input->readString($elem733);
    - $this->names []= $elem733;
    + $elem749 = null;
    + $xfer += $input->readString($elem749);
    + $this->names []= $elem749;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -22914,9 +23398,9 @@ class ThriftHiveMetastore_get_partitions_by_names_args {
            {
              $output->writeListBegin(TType::STRING, count($this->names));
              {
    - foreach ($this->names as $iter734)
    + foreach ($this->names as $iter750)
                {
    - $xfer += $output->writeString($iter734);
    + $xfer += $output->writeString($iter750);
                }
              }
              $output->writeListEnd();
    @@ -23005,15 +23489,15 @@ class ThriftHiveMetastore_get_partitions_by_names_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size735 = 0;
    - $_etype738 = 0;
    - $xfer += $input->readListBegin($_etype738, $_size735);
    - for ($_i739 = 0; $_i739 < $_size735; ++$_i739)
    + $_size751 = 0;
    + $_etype754 = 0;
    + $xfer += $input->readListBegin($_etype754, $_size751);
    + for ($_i755 = 0; $_i755 < $_size751; ++$_i755)
                  {
    - $elem740 = null;
    - $elem740 = new \metastore\Partition();
    - $xfer += $elem740->read($input);
    - $this->success []= $elem740;
    + $elem756 = null;
    + $elem756 = new \metastore\Partition();
    + $xfer += $elem756->read($input);
    + $this->success []= $elem756;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -23057,9 +23541,9 @@ class ThriftHiveMetastore_get_partitions_by_names_result {
            {
              $output->writeListBegin(TType::STRUCT, count($this->success));
              {
    - foreach ($this->success as $iter741)
    + foreach ($this->success as $iter757)
                {
    - $xfer += $iter741->write($output);
    + $xfer += $iter757->write($output);
                }
              }
              $output->writeListEnd();
    @@ -23398,15 +23882,15 @@ class ThriftHiveMetastore_alter_partitions_args {
              case 3:
                if ($ftype == TType::LST) {
                  $this->new_parts = array();
    - $_size742 = 0;
    - $_etype745 = 0;
    - $xfer += $input->readListBegin($_etype745, $_size742);
    - for ($_i746 = 0; $_i746 < $_size742; ++$_i746)
    + $_size758 = 0;
    + $_etype761 = 0;
    + $xfer += $input->readListBegin($_etype761, $_size758);
    + for ($_i762 = 0; $_i762 < $_size758; ++$_i762)
                  {
    - $elem747 = null;
    - $elem747 = new \metastore\Partition();
    - $xfer += $elem747->read($input);
    - $this->new_parts []= $elem747;
    + $elem763 = null;
    + $elem763 = new \metastore\Partition();
    + $xfer += $elem763->read($input);
    + $this->new_parts []= $elem763;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -23444,9 +23928,9 @@ class ThriftHiveMetastore_alter_partitions_args {
            {
              $output->writeListBegin(TType::STRUCT, count($this->new_parts));
              {
    - foreach ($this->new_parts as $iter748)
    + foreach ($this->new_parts as $iter764)
                {
    - $xfer += $iter748->write($output);
    + $xfer += $iter764->write($output);
                }
              }
              $output->writeListEnd();
    @@ -23916,14 +24400,14 @@ class ThriftHiveMetastore_rename_partition_args {
              case 3:
                if ($ftype == TType::LST) {
                  $this->part_vals = array();
    - $_size749 = 0;
    - $_etype752 = 0;
    - $xfer += $input->readListBegin($_etype752, $_size749);
    - for ($_i753 = 0; $_i753 < $_size749; ++$_i753)
    + $_size765 = 0;
    + $_etype768 = 0;
    + $xfer += $input->readListBegin($_etype768, $_size765);
    + for ($_i769 = 0; $_i769 < $_size765; ++$_i769)
                  {
    - $elem754 = null;
    - $xfer += $input->readString($elem754);
    - $this->part_vals []= $elem754;
    + $elem770 = null;
    + $xfer += $input->readString($elem770);
    + $this->part_vals []= $elem770;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -23969,9 +24453,9 @@ class ThriftHiveMetastore_rename_partition_args {
            {
              $output->writeListBegin(TType::STRING, count($this->part_vals));
              {
    - foreach ($this->part_vals as $iter755)
    + foreach ($this->part_vals as $iter771)
                {
    - $xfer += $output->writeString($iter755);
    + $xfer += $output->writeString($iter771);
                }
              }
              $output->writeListEnd();
    @@ -24156,14 +24640,14 @@ class ThriftHiveMetastore_partition_name_has_valid_characters_args {
              case 1:
                if ($ftype == TType::LST) {
                  $this->part_vals = array();
    - $_size756 = 0;
    - $_etype759 = 0;
    - $xfer += $input->readListBegin($_etype759, $_size756);
    - for ($_i760 = 0; $_i760 < $_size756; ++$_i760)
    + $_size772 = 0;
    + $_etype775 = 0;
    + $xfer += $input->readListBegin($_etype775, $_size772);
    + for ($_i776 = 0; $_i776 < $_size772; ++$_i776)
                  {
    - $elem761 = null;
    - $xfer += $input->readString($elem761);
    - $this->part_vals []= $elem761;
    + $elem777 = null;
    + $xfer += $input->readString($elem777);
    + $this->part_vals []= $elem777;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -24198,9 +24682,9 @@ class ThriftHiveMetastore_partition_name_has_valid_characters_args {
            {
              $output->writeListBegin(TType::STRING, count($this->part_vals));
              {
    - foreach ($this->part_vals as $iter762)
    + foreach ($this->part_vals as $iter778)
                {
    - $xfer += $output->writeString($iter762);
    + $xfer += $output->writeString($iter778);
                }
              }
              $output->writeListEnd();
    @@ -24654,14 +25138,14 @@ class ThriftHiveMetastore_partition_name_to_vals_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size763 = 0;
    - $_etype766 = 0;
    - $xfer += $input->readListBegin($_etype766, $_size763);
    - for ($_i767 = 0; $_i767 < $_size763; ++$_i767)
    + $_size779 = 0;
    + $_etype782 = 0;
    + $xfer += $input->readListBegin($_etype782, $_size779);
    + for ($_i783 = 0; $_i783 < $_size779; ++$_i783)
                  {
    - $elem768 = null;
    - $xfer += $input->readString($elem768);
    - $this->success []= $elem768;
    + $elem784 = null;
    + $xfer += $input->readString($elem784);
    + $this->success []= $elem784;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -24697,9 +25181,9 @@ class ThriftHiveMetastore_partition_name_to_vals_result {
            {
              $output->writeListBegin(TType::STRING, count($this->success));
              {
    - foreach ($this->success as $iter769)
    + foreach ($this->success as $iter785)
                {
    - $xfer += $output->writeString($iter769);
    + $xfer += $output->writeString($iter785);
                }
              }
              $output->writeListEnd();
    @@ -24859,17 +25343,17 @@ class ThriftHiveMetastore_partition_name_to_spec_result {
              case 0:
                if ($ftype == TType::MAP) {
                  $this->success = array();
    - $_size770 = 0;
    - $_ktype771 = 0;
    - $_vtype772 = 0;
    - $xfer += $input->readMapBegin($_ktype771, $_vtype772, $_size770);
    - for ($_i774 = 0; $_i774 < $_size770; ++$_i774)
    + $_size786 = 0;
    + $_ktype787 = 0;
    + $_vtype788 = 0;
    + $xfer += $input->readMapBegin($_ktype787, $_vtype788, $_size786);
    + for ($_i790 = 0; $_i790 < $_size786; ++$_i790)
                  {
    - $key775 = '';
    - $val776 = '';
    - $xfer += $input->readString($key775);
    - $xfer += $input->readString($val776);
    - $this->success[$key775] = $val776;
    + $key791 = '';
    + $val792 = '';
    + $xfer += $input->readString($key791);
    + $xfer += $input->readString($val792);
    + $this->success[$key791] = $val792;
                  }
                  $xfer += $input->readMapEnd();
                } else {
    @@ -24905,10 +25389,10 @@ class ThriftHiveMetastore_partition_name_to_spec_result {
            {
              $output->writeMapBegin(TType::STRING, TType::STRING, count($this->success));
              {
    - foreach ($this->success as $kiter777 => $viter778)
    + foreach ($this->success as $kiter793 => $viter794)
                {
    - $xfer += $output->writeString($kiter777);
    - $xfer += $output->writeString($viter778);
    + $xfer += $output->writeString($kiter793);
    + $xfer += $output->writeString($viter794);
                }
              }
              $output->writeMapEnd();
    @@ -25028,17 +25512,17 @@ class ThriftHiveMetastore_markPartitionForEvent_args {
              case 3:
                if ($ftype == TType::MAP) {
                  $this->part_vals = array();
    - $_size779 = 0;
    - $_ktype780 = 0;
    - $_vtype781 = 0;
    - $xfer += $input->readMapBegin($_ktype780, $_vtype781, $_size779);
    - for ($_i783 = 0; $_i783 < $_size779; ++$_i783)
    + $_size795 = 0;
    + $_ktype796 = 0;
    + $_vtype797 = 0;
    + $xfer += $input->readMapBegin($_ktype796, $_vtype797, $_size795);
    + for ($_i799 = 0; $_i799 < $_size795; ++$_i799)
                  {
    - $key784 = '';
    - $val785 = '';
    - $xfer += $input->readString($key784);
    - $xfer += $input->readString($val785);
    - $this->part_vals[$key784] = $val785;
    + $key800 = '';
    + $val801 = '';
    + $xfer += $input->readString($key800);
    + $xfer += $input->readString($val801);
    + $this->part_vals[$key800] = $val801;
                  }
                  $xfer += $input->readMapEnd();
                } else {
    @@ -25083,10 +25567,10 @@ class ThriftHiveMetastore_markPartitionForEvent_args {
            {
              $output->writeMapBegin(TType::STRING, TType::STRING, count($this->part_vals));
              {
    - foreach ($this->part_vals as $kiter786 => $viter787)
    + foreach ($this->part_vals as $kiter802 => $viter803)
                {
    - $xfer += $output->writeString($kiter786);
    - $xfer += $output->writeString($viter787);
    + $xfer += $output->writeString($kiter802);
    + $xfer += $output->writeString($viter803);
                }
              }
              $output->writeMapEnd();
    @@ -25408,17 +25892,17 @@ class ThriftHiveMetastore_isPartitionMarkedForEvent_args {
              case 3:
                if ($ftype == TType::MAP) {
                  $this->part_vals = array();
    - $_size788 = 0;
    - $_ktype789 = 0;
    - $_vtype790 = 0;
    - $xfer += $input->readMapBegin($_ktype789, $_vtype790, $_size788);
    - for ($_i792 = 0; $_i792 < $_size788; ++$_i792)
    + $_size804 = 0;
    + $_ktype805 = 0;
    + $_vtype806 = 0;
    + $xfer += $input->readMapBegin($_ktype805, $_vtype806, $_size804);
    + for ($_i808 = 0; $_i808 < $_size804; ++$_i808)
                  {
    - $key793 = '';
    - $val794 = '';
    - $xfer += $input->readString($key793);
    - $xfer += $input->readString($val794);
    - $this->part_vals[$key793] = $val794;
    + $key809 = '';
    + $val810 = '';
    + $xfer += $input->readString($key809);
    + $xfer += $input->readString($val810);
    + $this->part_vals[$key809] = $val810;
                  }
                  $xfer += $input->readMapEnd();
                } else {
    @@ -25463,10 +25947,10 @@ class ThriftHiveMetastore_isPartitionMarkedForEvent_args {
            {
              $output->writeMapBegin(TType::STRING, TType::STRING, count($this->part_vals));
              {
    - foreach ($this->part_vals as $kiter795 => $viter796)
    + foreach ($this->part_vals as $kiter811 => $viter812)
                {
    - $xfer += $output->writeString($kiter795);
    - $xfer += $output->writeString($viter796);
    + $xfer += $output->writeString($kiter811);
    + $xfer += $output->writeString($viter812);
                }
              }
              $output->writeMapEnd();
    @@ -26940,15 +27424,15 @@ class ThriftHiveMetastore_get_indexes_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size797 = 0;
    - $_etype800 = 0;
    - $xfer += $input->readListBegin($_etype800, $_size797);
    - for ($_i801 = 0; $_i801 < $_size797; ++$_i801)
    + $_size813 = 0;
    + $_etype816 = 0;
    + $xfer += $input->readListBegin($_etype816, $_size813);
    + for ($_i817 = 0; $_i817 < $_size813; ++$_i817)
                  {
    - $elem802 = null;
    - $elem802 = new \metastore\Index();
    - $xfer += $elem802->read($input);
    - $this->success []= $elem802;
    + $elem818 = null;
    + $elem818 = new \metastore\Index();
    + $xfer += $elem818->read($input);
    + $this->success []= $elem818;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -26992,9 +27476,9 @@ class ThriftHiveMetastore_get_indexes_result {
            {
              $output->writeListBegin(TType::STRUCT, count($this->success));
              {
    - foreach ($this->success as $iter803)
    + foreach ($this->success as $iter819)
                {
    - $xfer += $iter803->write($output);
    + $xfer += $iter819->write($output);
                }
              }
              $output->writeListEnd();
    @@ -27201,14 +27685,14 @@ class ThriftHiveMetastore_get_index_names_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size804 = 0;
    - $_etype807 = 0;
    - $xfer += $input->readListBegin($_etype807, $_size804);
    - for ($_i808 = 0; $_i808 < $_size804; ++$_i808)
    + $_size820 = 0;
    + $_etype823 = 0;
    + $xfer += $input->readListBegin($_etype823, $_size820);
    + for ($_i824 = 0; $_i824 < $_size820; ++$_i824)
                  {
    - $elem809 = null;
    - $xfer += $input->readString($elem809);
    - $this->success []= $elem809;
    + $elem825 = null;
    + $xfer += $input->readString($elem825);
    + $this->success []= $elem825;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -27244,9 +27728,9 @@ class ThriftHiveMetastore_get_index_names_result {
            {
              $output->writeListBegin(TType::STRING, count($this->success));
              {
    - foreach ($this->success as $iter810)
    + foreach ($this->success as $iter826)
                {
    - $xfer += $output->writeString($iter810);
    + $xfer += $output->writeString($iter826);
                }
              }
              $output->writeListEnd();
    @@ -30720,14 +31204,14 @@ class ThriftHiveMetastore_get_functions_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size811 = 0;
    - $_etype814 = 0;
    - $xfer += $input->readListBegin($_etype814, $_size811);
    - for ($_i815 = 0; $_i815 < $_size811; ++$_i815)
    + $_size827 = 0;
    + $_etype830 = 0;
    + $xfer += $input->readListBegin($_etype830, $_size827);
    + for ($_i831 = 0; $_i831 < $_size827; ++$_i831)
                  {
    - $elem816 = null;
    - $xfer += $input->readString($elem816);
    - $this->success []= $elem816;
    + $elem832 = null;
    + $xfer += $input->readString($elem832);
    + $this->success []= $elem832;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -30763,9 +31247,9 @@ class ThriftHiveMetastore_get_functions_result {
            {
              $output->writeListBegin(TType::STRING, count($this->success));
              {
    - foreach ($this->success as $iter817)
    + foreach ($this->success as $iter833)
                {
    - $xfer += $output->writeString($iter817);
    + $xfer += $output->writeString($iter833);
                }
              }
              $output->writeListEnd();
    @@ -31634,14 +32118,14 @@ class ThriftHiveMetastore_get_role_names_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size818 = 0;
    - $_etype821 = 0;
    - $xfer += $input->readListBegin($_etype821, $_size818);
    - for ($_i822 = 0; $_i822 < $_size818; ++$_i822)
    + $_size834 = 0;
    + $_etype837 = 0;
    + $xfer += $input->readListBegin($_etype837, $_size834);
    + for ($_i838 = 0; $_i838 < $_size834; ++$_i838)
                  {
    - $elem823 = null;
    - $xfer += $input->readString($elem823);
    - $this->success []= $elem823;
    + $elem839 = null;
    + $xfer += $input->readString($elem839);
    + $this->success []= $elem839;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -31677,9 +32161,9 @@ class ThriftHiveMetastore_get_role_names_result {
            {
              $output->writeListBegin(TType::STRING, count($this->success));
              {
    - foreach ($this->success as $iter824)
    + foreach ($this->success as $iter840)
                {
    - $xfer += $output->writeString($iter824);
    + $xfer += $output->writeString($iter840);
                }
              }
              $output->writeListEnd();
    @@ -32370,15 +32854,15 @@ class ThriftHiveMetastore_list_roles_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size825 = 0;
    - $_etype828 = 0;
    - $xfer += $input->readListBegin($_etype828, $_size825);
    - for ($_i829 = 0; $_i829 < $_size825; ++$_i829)
    + $_size841 = 0;
    + $_etype844 = 0;
    + $xfer += $input->readListBegin($_etype844, $_size841);
    + for ($_i845 = 0; $_i845 < $_size841; ++$_i845)
                  {
    - $elem830 = null;
    - $elem830 = new \metastore\Role();
    - $xfer += $elem830->read($input);
    - $this->success []= $elem830;
    + $elem846 = null;
    + $elem846 = new \metastore\Role();
    + $xfer += $elem846->read($input);
    + $this->success []= $elem846;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -32414,9 +32898,9 @@ class ThriftHiveMetastore_list_roles_result {
            {
              $output->writeListBegin(TType::STRUCT, count($this->success));
              {
    - foreach ($this->success as $iter831)
    + foreach ($this->success as $iter847)
                {
    - $xfer += $iter831->write($output);
    + $xfer += $iter847->write($output);
                }
              }
              $output->writeListEnd();
    @@ -33078,14 +33562,14 @@ class ThriftHiveMetastore_get_privilege_set_args {
              case 3:
                if ($ftype == TType::LST) {
                  $this->group_names = array();
    - $_size832 = 0;
    - $_etype835 = 0;
    - $xfer += $input->readListBegin($_etype835, $_size832);
    - for ($_i836 = 0; $_i836 < $_size832; ++$_i836)
    + $_size848 = 0;
    + $_etype851 = 0;
    + $xfer += $input->readListBegin($_etype851, $_size848);
    + for ($_i852 = 0; $_i852 < $_size848; ++$_i852)
                  {
    - $elem837 = null;
    - $xfer += $input->readString($elem837);
    - $this->group_names []= $elem837;
    + $elem853 = null;
    + $xfer += $input->readString($elem853);
    + $this->group_names []= $elem853;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -33126,9 +33610,9 @@ class ThriftHiveMetastore_get_privilege_set_args {
            {
              $output->writeListBegin(TType::STRING, count($this->group_names));
              {
    - foreach ($this->group_names as $iter838)
    + foreach ($this->group_names as $iter854)
                {
    - $xfer += $output->writeString($iter838);
    + $xfer += $output->writeString($iter854);
                }
              }
              $output->writeListEnd();
    @@ -33436,15 +33920,15 @@ class ThriftHiveMetastore_list_privileges_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size839 = 0;
    - $_etype842 = 0;
    - $xfer += $input->readListBegin($_etype842, $_size839);
    - for ($_i843 = 0; $_i843 < $_size839; ++$_i843)
    + $_size855 = 0;
    + $_etype858 = 0;
    + $xfer += $input->readListBegin($_etype858, $_size855);
    + for ($_i859 = 0; $_i859 < $_size855; ++$_i859)
                  {
    - $elem844 = null;
    - $elem844 = new \metastore\HiveObjectPrivilege();
    - $xfer += $elem844->read($input);
    - $this->success []= $elem844;
    + $elem860 = null;
    + $elem860 = new \metastore\HiveObjectPrivilege();
    + $xfer += $elem860->read($input);
    + $this->success []= $elem860;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -33480,9 +33964,9 @@ class ThriftHiveMetastore_list_privileges_result {
            {
              $output->writeListBegin(TType::STRUCT, count($this->success));
              {
    - foreach ($this->success as $iter845)
    + foreach ($this->success as $iter861)
                {
    - $xfer += $iter845->write($output);
    + $xfer += $iter861->write($output);
                }
              }
              $output->writeListEnd();
    @@ -34114,14 +34598,14 @@ class ThriftHiveMetastore_set_ugi_args {
              case 2:
                if ($ftype == TType::LST) {
                  $this->group_names = array();
    - $_size846 = 0;
    - $_etype849 = 0;
    - $xfer += $input->readListBegin($_etype849, $_size846);
    - for ($_i850 = 0; $_i850 < $_size846; ++$_i850)
    + $_size862 = 0;
    + $_etype865 = 0;
    + $xfer += $input->readListBegin($_etype865, $_size862);
    + for ($_i866 = 0; $_i866 < $_size862; ++$_i866)
                  {
    - $elem851 = null;
    - $xfer += $input->readString($elem851);
    - $this->group_names []= $elem851;
    + $elem867 = null;
    + $xfer += $input->readString($elem867);
    + $this->group_names []= $elem867;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -34154,9 +34638,9 @@ class ThriftHiveMetastore_set_ugi_args {
            {
              $output->writeListBegin(TType::STRING, count($this->group_names));
              {
    - foreach ($this->group_names as $iter852)
    + foreach ($this->group_names as $iter868)
                {
    - $xfer += $output->writeString($iter852);
    + $xfer += $output->writeString($iter868);
                }
              }
              $output->writeListEnd();
    @@ -34232,14 +34716,14 @@ class ThriftHiveMetastore_set_ugi_result {
              case 0:
                if ($ftype == TType::LST) {
                  $this->success = array();
    - $_size853 = 0;
    - $_etype856 = 0;
    - $xfer += $input->readListBegin($_etype856, $_size853);
    - for ($_i857 = 0; $_i857 < $_size853; ++$_i857)
    + $_size869 = 0;
    + $_etype872 = 0;
    + $xfer += $input->readListBegin($_etype872, $_size869);
    + for ($_i873 = 0; $_i873 < $_size869; ++$_i873)
                  {
    - $elem858 = null;
    - $xfer += $input->readString($elem858);
    - $this->success []= $elem858;
    + $elem874 = null;
    + $xfer += $input->readString($elem874);
    + $this->success []= $elem874;
                  }
                  $xfer += $input->readListEnd();
                } else {
    @@ -34275,9 +34759,9 @@ class ThriftHiveMetastore_set_ugi_result {
            {
              $output->writeListBegin(TType::STRING, count($this->success));
              {
    - foreach ($this->success as $iter859)
    + foreach ($this->success as $iter875)
                {
    - $xfer += $output->writeString($iter859);
    + $xfer += $output->writeString($iter875);
                }
              }
              $output->writeListEnd();

    http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
    ----------------------------------------------------------------------
    diff --git a/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote b/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
    index dc348ef..e6d3755 100755
    --- a/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
    +++ b/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
    @@ -68,6 +68,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
        print(' DropPartitionsResult drop_partitions_req(DropPartitionsRequest req)')
        print(' Partition get_partition(string db_name, string tbl_name, part_vals)')
        print(' Partition exchange_partition( partitionSpecs, string source_db, string source_table_name, string dest_db, string dest_table_name)')
    + print(' exchange_partitions( partitionSpecs, string source_db, string source_table_name, string dest_db, string dest_table_name)')
        print(' Partition get_partition_with_auth(string db_name, string tbl_name, part_vals, string user_name, group_names)')
        print(' Partition get_partition_by_name(string db_name, string tbl_name, string part_name)')
        print(' get_partitions(string db_name, string tbl_name, i16 max_parts)')
    @@ -481,6 +482,12 @@ elif cmd == 'exchange_partition':
          sys.exit(1)
        pp.pprint(client.exchange_partition(eval(args[0]),args[1],args[2],args[3],args[4],))

    +elif cmd == 'exchange_partitions':
    + if len(args) != 5:
    + print('exchange_partitions requires 5 args')
    + sys.exit(1)
    + pp.pprint(client.exchange_partitions(eval(args[0]),args[1],args[2],args[3],args[4],))
    +
      elif cmd == 'get_partition_with_auth':
        if len(args) != 5:
          print('get_partition_with_auth requires 5 args')

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcommits @
categorieshive, hadoop
postedJan 13, '16 at 3:03p
activeJan 13, '16 at 3:03p
posts6
users1
websitehive.apache.org

1 user in discussion

Aihuaxu: 6 posts

People

Translate

site design / logo © 2021 Grokbase