Index: metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java =================================================================== --- metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java (revision 14649) +++ metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java (working copy) @@ -114,6 +114,9 @@ public List getTables(String dbName, String pattern) throws MetaException; + public List multiGetTables(String dbname, List tableNames) + throws MetaException; + public List getAllTables(String dbName) throws MetaException; public abstract List listPartitionNames(String db_name, Index: metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java =================================================================== --- metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java (revision 14649) +++ metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java (working copy) @@ -28,6 +28,7 @@ import java.util.ArrayList; import java.util.Formatter; import java.util.HashMap; +import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -516,6 +517,19 @@ return startFunction(function, " : db=" + db + " tbl=" + tbl); } + public String startMultiTableFunction(String function, String db, List tbls) { + Iterator tableNameIter = tbls.iterator(); + StringBuilder tableNamesBuffer = new StringBuilder(); + if (tableNameIter.hasNext()){ + tableNamesBuffer.append(tableNameIter.next()); + } + while (tableNameIter.hasNext()) { + tableNamesBuffer.append(","); + tableNamesBuffer.append(tableNameIter.next()); + } + return startFunction(function, " : db=" + db + " tbls=" + tableNamesBuffer.toString()); + } + public String startPartitionFunction(String function, String db, String tbl, List partVals) { return startFunction(function, " : db=" + db + " tbl=" + tbl @@ -1134,6 +1148,57 @@ return t; } + /** + * Gets multiple tables from the hive metastore. + * @param dbname + * The name of the database in which the tables reside + * @param names + * The names of the tables to get + * + * @return A list of tables in the same order as names + * @throws MetaException + * @throws NoSuchObjectException + */ + public List
multi_get_table(final String dbname, final List names) + throws MetaException, NoSuchObjectException { + List
tables = null; + startMultiTableFunction("multi_get_table", dbname, names); + try { + tables = executeWithRetry(new Command>() { + @Override + public List
run(RawStore ms) throws Exception { + //if names is empty or null, throw the same errors that get_table would throw + if (names == null) + { + throw new NoSuchObjectException(dbname + ".null table not found"); + } + if (names.isEmpty()) { + throw new NoSuchObjectException(dbname + "." + " table not found"); + } + List
tables = ms.multiGetTables(dbname, names); + //check for tables that were not found + for (int i = 0; i < names.size(); i++) + { + if (i >= tables.size() || tables.get(i) == null){ + throw new NoSuchObjectException(dbname + "." + names.get(i) + " table not found"); + } + } + return tables; + } + }); + } catch (NoSuchObjectException e) { + throw e; + } catch (MetaException e) { + throw e; + } catch (Exception e) { + assert(e instanceof RuntimeException); + throw (RuntimeException)e; + } finally { + endFunction("multi_get_table"); + } + return tables; + } + public boolean set_table_parameters(String dbname, String name, Map params) throws NoSuchObjectException, MetaException { endFunction(startTableFunction("set_table_parameters", dbname, name)); Index: metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java =================================================================== --- metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java (revision 14649) +++ metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java (working copy) @@ -26,9 +26,9 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Properties; import java.util.Set; -import java.util.Map.Entry; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; @@ -88,9 +88,9 @@ import org.apache.hadoop.hive.metastore.model.MTableColumnPrivilege; import org.apache.hadoop.hive.metastore.model.MTablePrivilege; import org.apache.hadoop.hive.metastore.model.MType; +import org.apache.hadoop.hive.metastore.parser.ExpressionTree.ANTLRNoCaseStringStream; import org.apache.hadoop.hive.metastore.parser.FilterLexer; import org.apache.hadoop.hive.metastore.parser.FilterParser; -import org.apache.hadoop.hive.metastore.parser.ExpressionTree.ANTLRNoCaseStringStream; import org.apache.hadoop.util.StringUtils; /** @@ -787,6 +787,32 @@ return mtbl; } + public List
multiGetTables(String db, List tbl_names) throws MetaException{ + List
tables = new ArrayList
(); + boolean committed = false; + try { + openTransaction(); + db = db.toLowerCase().trim(); + List lowered_tbl_names = new ArrayList(); + for (String t : tbl_names){ + lowered_tbl_names.add(t.toLowerCase().trim()); + } + Query query = pm.newQuery(MTable.class); + query.setFilter("database.name == db && tbl_names.contains(tableName)"); + query.declareParameters("java.lang.String db, java.util.Collection tbl_names"); + Collection mtables = (Collection) query.execute(db, lowered_tbl_names); + for (Iterator iter = mtables.iterator(); iter.hasNext();){ + tables.add(convertToTable((MTable) iter.next())); + } + committed = commitTransaction(); + } finally { + if (!committed){ + rollbackTransaction(); + } + } + return tables; + } + private Table convertToTable(MTable mtbl) throws MetaException { if (mtbl == null) { return null; Index: metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py =================================================================== --- metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py (revision 14649) +++ metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py (working copy) @@ -144,6 +144,14 @@ """ pass + def multi_get_table(self, dbname, tbl_names): + """ + Parameters: + - dbname + - tbl_names + """ + pass + def alter_table(self, dbname, tbl_name, new_tbl): """ Parameters: @@ -1086,6 +1094,42 @@ raise result.o2 raise TApplicationException(TApplicationException.MISSING_RESULT, "get_table failed: unknown result"); + def multi_get_table(self, dbname, tbl_names): + """ + Parameters: + - dbname + - tbl_names + """ + self.send_multi_get_table(dbname, tbl_names) + return self.recv_multi_get_table() + + def send_multi_get_table(self, dbname, tbl_names): + self._oprot.writeMessageBegin('multi_get_table', TMessageType.CALL, self._seqid) + args = multi_get_table_args() + args.dbname = dbname + args.tbl_names = tbl_names + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_multi_get_table(self, ): + (fname, mtype, rseqid) = self._iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(self._iprot) + self._iprot.readMessageEnd() + raise x + result = multi_get_table_result() + result.read(self._iprot) + self._iprot.readMessageEnd() + if result.success != None: + return result.success + if result.o1 != None: + raise result.o1 + if result.o2 != None: + raise result.o2 + raise TApplicationException(TApplicationException.MISSING_RESULT, "multi_get_table failed: unknown result"); + def alter_table(self, dbname, tbl_name, new_tbl): """ Parameters: @@ -2568,6 +2612,7 @@ self._processMap["get_tables"] = Processor.process_get_tables self._processMap["get_all_tables"] = Processor.process_get_all_tables self._processMap["get_table"] = Processor.process_get_table + self._processMap["multi_get_table"] = Processor.process_multi_get_table self._processMap["alter_table"] = Processor.process_alter_table self._processMap["add_partition"] = Processor.process_add_partition self._processMap["append_partition"] = Processor.process_append_partition @@ -2900,6 +2945,22 @@ oprot.writeMessageEnd() oprot.trans.flush() + def process_multi_get_table(self, seqid, iprot, oprot): + args = multi_get_table_args() + args.read(iprot) + iprot.readMessageEnd() + result = multi_get_table_result() + try: + result.success = self._handler.multi_get_table(args.dbname, args.tbl_names) + except MetaException, o1: + result.o1 = o1 + except NoSuchObjectException, o2: + result.o2 = o2 + oprot.writeMessageBegin("multi_get_table", TMessageType.REPLY, seqid) + result.write(oprot) + oprot.writeMessageEnd() + oprot.trans.flush() + def process_alter_table(self, seqid, iprot, oprot): args = alter_table_args() args.read(iprot) @@ -6071,6 +6132,178 @@ def __ne__(self, other): return not (self == other) +class multi_get_table_args: + """ + Attributes: + - dbname + - tbl_names + """ + + thrift_spec = ( + None, # 0 + (1, TType.STRING, 'dbname', None, None, ), # 1 + (2, TType.LIST, 'tbl_names', (TType.STRING,None), None, ), # 2 + ) + + def __init__(self, dbname=None, tbl_names=None,): + self.dbname = dbname + self.tbl_names = tbl_names + + def read(self, iprot): + if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: + fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.dbname = iprot.readString(); + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.LIST: + self.tbl_names = [] + (_etype228, _size225) = iprot.readListBegin() + for _i229 in xrange(_size225): + _elem230 = iprot.readString(); + self.tbl_names.append(_elem230) + iprot.readListEnd() + 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('multi_get_table_args') + if self.dbname != None: + oprot.writeFieldBegin('dbname', TType.STRING, 1) + oprot.writeString(self.dbname) + oprot.writeFieldEnd() + if self.tbl_names != None: + oprot.writeFieldBegin('tbl_names', TType.LIST, 2) + oprot.writeListBegin(TType.STRING, len(self.tbl_names)) + for iter231 in self.tbl_names: + oprot.writeString(iter231) + oprot.writeListEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + def validate(self): + return + + + 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 multi_get_table_result: + """ + Attributes: + - success + - o1 + - o2 + """ + + thrift_spec = ( + (0, TType.LIST, 'success', (TType.STRUCT,(Table, Table.thrift_spec)), None, ), # 0 + (1, TType.STRUCT, 'o1', (MetaException, MetaException.thrift_spec), None, ), # 1 + (2, TType.STRUCT, 'o2', (NoSuchObjectException, NoSuchObjectException.thrift_spec), None, ), # 2 + ) + + def __init__(self, success=None, o1=None, o2=None,): + self.success = success + self.o1 = o1 + self.o2 = o2 + + 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 = [] + (_etype235, _size232) = iprot.readListBegin() + for _i236 in xrange(_size232): + _elem237 = Table() + _elem237.read(iprot) + self.success.append(_elem237) + 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) + 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('multi_get_table_result') + if self.success != None: + oprot.writeFieldBegin('success', TType.LIST, 0) + oprot.writeListBegin(TType.STRUCT, len(self.success)) + for iter238 in self.success: + iter238.write(oprot) + oprot.writeListEnd() + oprot.writeFieldEnd() + if self.o1 != None: + oprot.writeFieldBegin('o1', TType.STRUCT, 1) + self.o1.write(oprot) + oprot.writeFieldEnd() + if self.o2 != None: + oprot.writeFieldBegin('o2', TType.STRUCT, 2) + self.o2.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + def validate(self): + return + + + 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 alter_table_args: """ Attributes: @@ -6428,10 +6661,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype228, _size225) = iprot.readListBegin() - for _i229 in xrange(_size225): - _elem230 = iprot.readString(); - self.part_vals.append(_elem230) + (_etype242, _size239) = iprot.readListBegin() + for _i243 in xrange(_size239): + _elem244 = iprot.readString(); + self.part_vals.append(_elem244) iprot.readListEnd() else: iprot.skip(ftype) @@ -6456,8 +6689,8 @@ if self.part_vals != None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter231 in self.part_vals: - oprot.writeString(iter231) + for iter245 in self.part_vals: + oprot.writeString(iter245) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -6801,10 +7034,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype235, _size232) = iprot.readListBegin() - for _i236 in xrange(_size232): - _elem237 = iprot.readString(); - self.part_vals.append(_elem237) + (_etype249, _size246) = iprot.readListBegin() + for _i250 in xrange(_size246): + _elem251 = iprot.readString(); + self.part_vals.append(_elem251) iprot.readListEnd() else: iprot.skip(ftype) @@ -6834,8 +7067,8 @@ if self.part_vals != None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter238 in self.part_vals: - oprot.writeString(iter238) + for iter252 in self.part_vals: + oprot.writeString(iter252) oprot.writeListEnd() oprot.writeFieldEnd() if self.deleteData != None: @@ -7164,10 +7397,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype242, _size239) = iprot.readListBegin() - for _i243 in xrange(_size239): - _elem244 = iprot.readString(); - self.part_vals.append(_elem244) + (_etype256, _size253) = iprot.readListBegin() + for _i257 in xrange(_size253): + _elem258 = iprot.readString(); + self.part_vals.append(_elem258) iprot.readListEnd() else: iprot.skip(ftype) @@ -7192,8 +7425,8 @@ if self.part_vals != None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter245 in self.part_vals: - oprot.writeString(iter245) + for iter259 in self.part_vals: + oprot.writeString(iter259) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7346,10 +7579,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype249, _size246) = iprot.readListBegin() - for _i250 in xrange(_size246): - _elem251 = iprot.readString(); - self.part_vals.append(_elem251) + (_etype263, _size260) = iprot.readListBegin() + for _i264 in xrange(_size260): + _elem265 = iprot.readString(); + self.part_vals.append(_elem265) iprot.readListEnd() else: iprot.skip(ftype) @@ -7361,10 +7594,10 @@ elif fid == 5: if ftype == TType.LIST: self.group_names = [] - (_etype255, _size252) = iprot.readListBegin() - for _i256 in xrange(_size252): - _elem257 = iprot.readString(); - self.group_names.append(_elem257) + (_etype269, _size266) = iprot.readListBegin() + for _i270 in xrange(_size266): + _elem271 = iprot.readString(); + self.group_names.append(_elem271) iprot.readListEnd() else: iprot.skip(ftype) @@ -7389,8 +7622,8 @@ if self.part_vals != None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter258 in self.part_vals: - oprot.writeString(iter258) + for iter272 in self.part_vals: + oprot.writeString(iter272) oprot.writeListEnd() oprot.writeFieldEnd() if self.user_name != None: @@ -7400,8 +7633,8 @@ if self.group_names != None: oprot.writeFieldBegin('group_names', TType.LIST, 5) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter259 in self.group_names: - oprot.writeString(iter259) + for iter273 in self.group_names: + oprot.writeString(iter273) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7788,11 +8021,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype263, _size260) = iprot.readListBegin() - for _i264 in xrange(_size260): - _elem265 = Partition() - _elem265.read(iprot) - self.success.append(_elem265) + (_etype277, _size274) = iprot.readListBegin() + for _i278 in xrange(_size274): + _elem279 = Partition() + _elem279.read(iprot) + self.success.append(_elem279) iprot.readListEnd() else: iprot.skip(ftype) @@ -7821,8 +8054,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter266 in self.success: - iter266.write(oprot) + for iter280 in self.success: + iter280.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -7908,10 +8141,10 @@ elif fid == 5: if ftype == TType.LIST: self.group_names = [] - (_etype270, _size267) = iprot.readListBegin() - for _i271 in xrange(_size267): - _elem272 = iprot.readString(); - self.group_names.append(_elem272) + (_etype284, _size281) = iprot.readListBegin() + for _i285 in xrange(_size281): + _elem286 = iprot.readString(); + self.group_names.append(_elem286) iprot.readListEnd() else: iprot.skip(ftype) @@ -7944,8 +8177,8 @@ if self.group_names != None: oprot.writeFieldBegin('group_names', TType.LIST, 5) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter273 in self.group_names: - oprot.writeString(iter273) + for iter287 in self.group_names: + oprot.writeString(iter287) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -7996,11 +8229,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype277, _size274) = iprot.readListBegin() - for _i278 in xrange(_size274): - _elem279 = Partition() - _elem279.read(iprot) - self.success.append(_elem279) + (_etype291, _size288) = iprot.readListBegin() + for _i292 in xrange(_size288): + _elem293 = Partition() + _elem293.read(iprot) + self.success.append(_elem293) iprot.readListEnd() else: iprot.skip(ftype) @@ -8029,8 +8262,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter280 in self.success: - iter280.write(oprot) + for iter294 in self.success: + iter294.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -8169,10 +8402,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype284, _size281) = iprot.readListBegin() - for _i285 in xrange(_size281): - _elem286 = iprot.readString(); - self.success.append(_elem286) + (_etype298, _size295) = iprot.readListBegin() + for _i299 in xrange(_size295): + _elem300 = iprot.readString(); + self.success.append(_elem300) iprot.readListEnd() else: iprot.skip(ftype) @@ -8195,8 +8428,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter287 in self.success: - oprot.writeString(iter287) + for iter301 in self.success: + oprot.writeString(iter301) oprot.writeListEnd() oprot.writeFieldEnd() if self.o2 != None: @@ -8265,10 +8498,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype291, _size288) = iprot.readListBegin() - for _i292 in xrange(_size288): - _elem293 = iprot.readString(); - self.part_vals.append(_elem293) + (_etype305, _size302) = iprot.readListBegin() + for _i306 in xrange(_size302): + _elem307 = iprot.readString(); + self.part_vals.append(_elem307) iprot.readListEnd() else: iprot.skip(ftype) @@ -8298,8 +8531,8 @@ if self.part_vals != None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter294 in self.part_vals: - oprot.writeString(iter294) + for iter308 in self.part_vals: + oprot.writeString(iter308) oprot.writeListEnd() oprot.writeFieldEnd() if self.max_parts != None: @@ -8351,11 +8584,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype298, _size295) = iprot.readListBegin() - for _i299 in xrange(_size295): - _elem300 = Partition() - _elem300.read(iprot) - self.success.append(_elem300) + (_etype312, _size309) = iprot.readListBegin() + for _i313 in xrange(_size309): + _elem314 = Partition() + _elem314.read(iprot) + self.success.append(_elem314) iprot.readListEnd() else: iprot.skip(ftype) @@ -8378,8 +8611,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter301 in self.success: - iter301.write(oprot) + for iter315 in self.success: + iter315.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -8454,10 +8687,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype305, _size302) = iprot.readListBegin() - for _i306 in xrange(_size302): - _elem307 = iprot.readString(); - self.part_vals.append(_elem307) + (_etype319, _size316) = iprot.readListBegin() + for _i320 in xrange(_size316): + _elem321 = iprot.readString(); + self.part_vals.append(_elem321) iprot.readListEnd() else: iprot.skip(ftype) @@ -8474,10 +8707,10 @@ elif fid == 6: if ftype == TType.LIST: self.group_names = [] - (_etype311, _size308) = iprot.readListBegin() - for _i312 in xrange(_size308): - _elem313 = iprot.readString(); - self.group_names.append(_elem313) + (_etype325, _size322) = iprot.readListBegin() + for _i326 in xrange(_size322): + _elem327 = iprot.readString(); + self.group_names.append(_elem327) iprot.readListEnd() else: iprot.skip(ftype) @@ -8502,8 +8735,8 @@ if self.part_vals != None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter314 in self.part_vals: - oprot.writeString(iter314) + for iter328 in self.part_vals: + oprot.writeString(iter328) oprot.writeListEnd() oprot.writeFieldEnd() if self.max_parts != None: @@ -8517,8 +8750,8 @@ if self.group_names != None: oprot.writeFieldBegin('group_names', TType.LIST, 6) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter315 in self.group_names: - oprot.writeString(iter315) + for iter329 in self.group_names: + oprot.writeString(iter329) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -8569,11 +8802,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype319, _size316) = iprot.readListBegin() - for _i320 in xrange(_size316): - _elem321 = Partition() - _elem321.read(iprot) - self.success.append(_elem321) + (_etype333, _size330) = iprot.readListBegin() + for _i334 in xrange(_size330): + _elem335 = Partition() + _elem335.read(iprot) + self.success.append(_elem335) iprot.readListEnd() else: iprot.skip(ftype) @@ -8602,8 +8835,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter322 in self.success: - iter322.write(oprot) + for iter336 in self.success: + iter336.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -8676,10 +8909,10 @@ elif fid == 3: if ftype == TType.LIST: self.part_vals = [] - (_etype326, _size323) = iprot.readListBegin() - for _i327 in xrange(_size323): - _elem328 = iprot.readString(); - self.part_vals.append(_elem328) + (_etype340, _size337) = iprot.readListBegin() + for _i341 in xrange(_size337): + _elem342 = iprot.readString(); + self.part_vals.append(_elem342) iprot.readListEnd() else: iprot.skip(ftype) @@ -8709,8 +8942,8 @@ if self.part_vals != None: oprot.writeFieldBegin('part_vals', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.part_vals)) - for iter329 in self.part_vals: - oprot.writeString(iter329) + for iter343 in self.part_vals: + oprot.writeString(iter343) oprot.writeListEnd() oprot.writeFieldEnd() if self.max_parts != None: @@ -8762,10 +8995,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype333, _size330) = iprot.readListBegin() - for _i334 in xrange(_size330): - _elem335 = iprot.readString(); - self.success.append(_elem335) + (_etype347, _size344) = iprot.readListBegin() + for _i348 in xrange(_size344): + _elem349 = iprot.readString(); + self.success.append(_elem349) iprot.readListEnd() else: iprot.skip(ftype) @@ -8788,8 +9021,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter336 in self.success: - oprot.writeString(iter336) + for iter350 in self.success: + oprot.writeString(iter350) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -8939,11 +9172,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype340, _size337) = iprot.readListBegin() - for _i341 in xrange(_size337): - _elem342 = Partition() - _elem342.read(iprot) - self.success.append(_elem342) + (_etype354, _size351) = iprot.readListBegin() + for _i355 in xrange(_size351): + _elem356 = Partition() + _elem356.read(iprot) + self.success.append(_elem356) iprot.readListEnd() else: iprot.skip(ftype) @@ -8972,8 +9205,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter343 in self.success: - iter343.write(oprot) + for iter357 in self.success: + iter357.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -9043,10 +9276,10 @@ elif fid == 3: if ftype == TType.LIST: self.names = [] - (_etype347, _size344) = iprot.readListBegin() - for _i348 in xrange(_size344): - _elem349 = iprot.readString(); - self.names.append(_elem349) + (_etype361, _size358) = iprot.readListBegin() + for _i362 in xrange(_size358): + _elem363 = iprot.readString(); + self.names.append(_elem363) iprot.readListEnd() else: iprot.skip(ftype) @@ -9071,8 +9304,8 @@ if self.names != None: oprot.writeFieldBegin('names', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.names)) - for iter350 in self.names: - oprot.writeString(iter350) + for iter364 in self.names: + oprot.writeString(iter364) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -9123,11 +9356,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype354, _size351) = iprot.readListBegin() - for _i355 in xrange(_size351): - _elem356 = Partition() - _elem356.read(iprot) - self.success.append(_elem356) + (_etype368, _size365) = iprot.readListBegin() + for _i369 in xrange(_size365): + _elem370 = Partition() + _elem370.read(iprot) + self.success.append(_elem370) iprot.readListEnd() else: iprot.skip(ftype) @@ -9156,8 +9389,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter357 in self.success: - iter357.write(oprot) + for iter371 in self.success: + iter371.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -9571,10 +9804,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype361, _size358) = iprot.readListBegin() - for _i362 in xrange(_size358): - _elem363 = iprot.readString(); - self.success.append(_elem363) + (_etype375, _size372) = iprot.readListBegin() + for _i376 in xrange(_size372): + _elem377 = iprot.readString(); + self.success.append(_elem377) iprot.readListEnd() else: iprot.skip(ftype) @@ -9597,8 +9830,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter364 in self.success: - oprot.writeString(iter364) + for iter378 in self.success: + oprot.writeString(iter378) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -9709,11 +9942,11 @@ if fid == 0: if ftype == TType.MAP: self.success = {} - (_ktype366, _vtype367, _size365 ) = iprot.readMapBegin() - for _i369 in xrange(_size365): - _key370 = iprot.readString(); - _val371 = iprot.readString(); - self.success[_key370] = _val371 + (_ktype380, _vtype381, _size379 ) = iprot.readMapBegin() + for _i383 in xrange(_size379): + _key384 = iprot.readString(); + _val385 = iprot.readString(); + self.success[_key384] = _val385 iprot.readMapEnd() else: iprot.skip(ftype) @@ -9736,9 +9969,9 @@ if self.success != None: oprot.writeFieldBegin('success', TType.MAP, 0) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.success)) - for kiter372,viter373 in self.success.items(): - oprot.writeString(kiter372) - oprot.writeString(viter373) + for kiter386,viter387 in self.success.items(): + oprot.writeString(kiter386) + oprot.writeString(viter387) oprot.writeMapEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -10563,11 +10796,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype377, _size374) = iprot.readListBegin() - for _i378 in xrange(_size374): - _elem379 = Index() - _elem379.read(iprot) - self.success.append(_elem379) + (_etype391, _size388) = iprot.readListBegin() + for _i392 in xrange(_size388): + _elem393 = Index() + _elem393.read(iprot) + self.success.append(_elem393) iprot.readListEnd() else: iprot.skip(ftype) @@ -10596,8 +10829,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter380 in self.success: - iter380.write(oprot) + for iter394 in self.success: + iter394.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -10736,10 +10969,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype384, _size381) = iprot.readListBegin() - for _i385 in xrange(_size381): - _elem386 = iprot.readString(); - self.success.append(_elem386) + (_etype398, _size395) = iprot.readListBegin() + for _i399 in xrange(_size395): + _elem400 = iprot.readString(); + self.success.append(_elem400) iprot.readListEnd() else: iprot.skip(ftype) @@ -10762,8 +10995,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter387 in self.success: - oprot.writeString(iter387) + for iter401 in self.success: + oprot.writeString(iter401) oprot.writeListEnd() oprot.writeFieldEnd() if self.o2 != None: @@ -11117,10 +11350,10 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype391, _size388) = iprot.readListBegin() - for _i392 in xrange(_size388): - _elem393 = iprot.readString(); - self.success.append(_elem393) + (_etype405, _size402) = iprot.readListBegin() + for _i406 in xrange(_size402): + _elem407 = iprot.readString(); + self.success.append(_elem407) iprot.readListEnd() else: iprot.skip(ftype) @@ -11143,8 +11376,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRING, len(self.success)) - for iter394 in self.success: - oprot.writeString(iter394) + for iter408 in self.success: + oprot.writeString(iter408) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -11611,11 +11844,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype398, _size395) = iprot.readListBegin() - for _i399 in xrange(_size395): - _elem400 = Role() - _elem400.read(iprot) - self.success.append(_elem400) + (_etype412, _size409) = iprot.readListBegin() + for _i413 in xrange(_size409): + _elem414 = Role() + _elem414.read(iprot) + self.success.append(_elem414) iprot.readListEnd() else: iprot.skip(ftype) @@ -11638,8 +11871,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter401 in self.success: - iter401.write(oprot) + for iter415 in self.success: + iter415.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: @@ -11706,10 +11939,10 @@ elif fid == 3: if ftype == TType.LIST: self.group_names = [] - (_etype405, _size402) = iprot.readListBegin() - for _i406 in xrange(_size402): - _elem407 = iprot.readString(); - self.group_names.append(_elem407) + (_etype419, _size416) = iprot.readListBegin() + for _i420 in xrange(_size416): + _elem421 = iprot.readString(); + self.group_names.append(_elem421) iprot.readListEnd() else: iprot.skip(ftype) @@ -11734,8 +11967,8 @@ if self.group_names != None: oprot.writeFieldBegin('group_names', TType.LIST, 3) oprot.writeListBegin(TType.STRING, len(self.group_names)) - for iter408 in self.group_names: - oprot.writeString(iter408) + for iter422 in self.group_names: + oprot.writeString(iter422) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() @@ -11939,11 +12172,11 @@ if fid == 0: if ftype == TType.LIST: self.success = [] - (_etype412, _size409) = iprot.readListBegin() - for _i413 in xrange(_size409): - _elem414 = HiveObjectPrivilege() - _elem414.read(iprot) - self.success.append(_elem414) + (_etype426, _size423) = iprot.readListBegin() + for _i427 in xrange(_size423): + _elem428 = HiveObjectPrivilege() + _elem428.read(iprot) + self.success.append(_elem428) iprot.readListEnd() else: iprot.skip(ftype) @@ -11966,8 +12199,8 @@ if self.success != None: oprot.writeFieldBegin('success', TType.LIST, 0) oprot.writeListBegin(TType.STRUCT, len(self.success)) - for iter415 in self.success: - iter415.write(oprot) + for iter429 in self.success: + iter429.write(oprot) oprot.writeListEnd() oprot.writeFieldEnd() if self.o1 != None: Index: metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote =================================================================== --- metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote (revision 14649) +++ metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote (working copy) @@ -38,6 +38,7 @@ print ' get_tables(string db_name, string pattern)' print ' get_all_tables(string db_name)' print ' Table get_table(string dbname, string tbl_name)' + print ' multi_get_table(string dbname, tbl_names)' print ' void alter_table(string dbname, string tbl_name, Table new_tbl)' print ' Partition add_partition(Partition new_part)' print ' Partition append_partition(string db_name, string tbl_name, part_vals)' @@ -230,6 +231,12 @@ sys.exit(1) pp.pprint(client.get_table(args[0],args[1],)) +elif cmd == 'multi_get_table': + if len(args) != 2: + print 'multi_get_table requires 2 args' + sys.exit(1) + pp.pprint(client.multi_get_table(args[0],eval(args[1]),)) + elif cmd == 'alter_table': if len(args) != 3: print 'alter_table requires 3 args' Index: metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp =================================================================== --- metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp (revision 14649) +++ metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp (working copy) @@ -3656,6 +3656,278 @@ return xfer; } +uint32_t ThriftHiveMetastore_multi_get_table_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_STRING) { + xfer += iprot->readString(this->dbname); + this->__isset.dbname = true; + } else { + xfer += iprot->skip(ftype); + } + break; + case 2: + if (ftype == ::apache::thrift::protocol::T_LIST) { + { + this->tbl_names.clear(); + uint32_t _size236; + ::apache::thrift::protocol::TType _etype239; + iprot->readListBegin(_etype239, _size236); + this->tbl_names.resize(_size236); + uint32_t _i240; + for (_i240 = 0; _i240 < _size236; ++_i240) + { + xfer += iprot->readString(this->tbl_names[_i240]); + } + iprot->readListEnd(); + } + this->__isset.tbl_names = true; + } else { + xfer += iprot->skip(ftype); + } + break; + default: + xfer += iprot->skip(ftype); + break; + } + xfer += iprot->readFieldEnd(); + } + + xfer += iprot->readStructEnd(); + + return xfer; +} + +uint32_t ThriftHiveMetastore_multi_get_table_args::write(::apache::thrift::protocol::TProtocol* oprot) const { + uint32_t xfer = 0; + xfer += oprot->writeStructBegin("ThriftHiveMetastore_multi_get_table_args"); + xfer += oprot->writeFieldBegin("dbname", ::apache::thrift::protocol::T_STRING, 1); + xfer += oprot->writeString(this->dbname); + xfer += oprot->writeFieldEnd(); + xfer += oprot->writeFieldBegin("tbl_names", ::apache::thrift::protocol::T_LIST, 2); + { + xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->tbl_names.size()); + std::vector ::const_iterator _iter241; + for (_iter241 = this->tbl_names.begin(); _iter241 != this->tbl_names.end(); ++_iter241) + { + xfer += oprot->writeString((*_iter241)); + } + xfer += oprot->writeListEnd(); + } + xfer += oprot->writeFieldEnd(); + xfer += oprot->writeFieldStop(); + xfer += oprot->writeStructEnd(); + return xfer; +} + +uint32_t ThriftHiveMetastore_multi_get_table_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const { + uint32_t xfer = 0; + xfer += oprot->writeStructBegin("ThriftHiveMetastore_multi_get_table_pargs"); + xfer += oprot->writeFieldBegin("dbname", ::apache::thrift::protocol::T_STRING, 1); + xfer += oprot->writeString((*(this->dbname))); + xfer += oprot->writeFieldEnd(); + xfer += oprot->writeFieldBegin("tbl_names", ::apache::thrift::protocol::T_LIST, 2); + { + xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->tbl_names)).size()); + std::vector ::const_iterator _iter242; + for (_iter242 = (*(this->tbl_names)).begin(); _iter242 != (*(this->tbl_names)).end(); ++_iter242) + { + xfer += oprot->writeString((*_iter242)); + } + xfer += oprot->writeListEnd(); + } + xfer += oprot->writeFieldEnd(); + xfer += oprot->writeFieldStop(); + xfer += oprot->writeStructEnd(); + return xfer; +} + +uint32_t ThriftHiveMetastore_multi_get_table_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 _size243; + ::apache::thrift::protocol::TType _etype246; + iprot->readListBegin(_etype246, _size243); + this->success.resize(_size243); + uint32_t _i247; + for (_i247 = 0; _i247 < _size243; ++_i247) + { + xfer += this->success[_i247].read(iprot); + } + 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; + default: + xfer += iprot->skip(ftype); + break; + } + xfer += iprot->readFieldEnd(); + } + + xfer += iprot->readStructEnd(); + + return xfer; +} + +uint32_t ThriftHiveMetastore_multi_get_table_result::write(::apache::thrift::protocol::TProtocol* oprot) const { + + uint32_t xfer = 0; + + xfer += oprot->writeStructBegin("ThriftHiveMetastore_multi_get_table_result"); + + if (this->__isset.success) { + xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); + { + xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, this->success.size()); + std::vector
::const_iterator _iter248; + for (_iter248 = this->success.begin(); _iter248 != this->success.end(); ++_iter248) + { + xfer += (*_iter248).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(); + } + xfer += oprot->writeFieldStop(); + xfer += oprot->writeStructEnd(); + return xfer; +} + +uint32_t ThriftHiveMetastore_multi_get_table_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 _size249; + ::apache::thrift::protocol::TType _etype252; + iprot->readListBegin(_etype252, _size249); + (*(this->success)).resize(_size249); + uint32_t _i253; + for (_i253 = 0; _i253 < _size249; ++_i253) + { + xfer += (*(this->success))[_i253].read(iprot); + } + 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; + default: + xfer += iprot->skip(ftype); + break; + } + xfer += iprot->readFieldEnd(); + } + + xfer += iprot->readStructEnd(); + + return xfer; +} + uint32_t ThriftHiveMetastore_alter_table_args::read(::apache::thrift::protocol::TProtocol* iprot) { uint32_t xfer = 0; @@ -4120,14 +4392,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size236; - ::apache::thrift::protocol::TType _etype239; - iprot->readListBegin(_etype239, _size236); - this->part_vals.resize(_size236); - uint32_t _i240; - for (_i240 = 0; _i240 < _size236; ++_i240) + uint32_t _size254; + ::apache::thrift::protocol::TType _etype257; + iprot->readListBegin(_etype257, _size254); + this->part_vals.resize(_size254); + uint32_t _i258; + for (_i258 = 0; _i258 < _size254; ++_i258) { - xfer += iprot->readString(this->part_vals[_i240]); + xfer += iprot->readString(this->part_vals[_i258]); } iprot->readListEnd(); } @@ -4160,10 +4432,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->part_vals.size()); - std::vector ::const_iterator _iter241; - for (_iter241 = this->part_vals.begin(); _iter241 != this->part_vals.end(); ++_iter241) + std::vector ::const_iterator _iter259; + for (_iter259 = this->part_vals.begin(); _iter259 != this->part_vals.end(); ++_iter259) { - xfer += oprot->writeString((*_iter241)); + xfer += oprot->writeString((*_iter259)); } xfer += oprot->writeListEnd(); } @@ -4185,10 +4457,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->part_vals)).size()); - std::vector ::const_iterator _iter242; - for (_iter242 = (*(this->part_vals)).begin(); _iter242 != (*(this->part_vals)).end(); ++_iter242) + std::vector ::const_iterator _iter260; + for (_iter260 = (*(this->part_vals)).begin(); _iter260 != (*(this->part_vals)).end(); ++_iter260) { - xfer += oprot->writeString((*_iter242)); + xfer += oprot->writeString((*_iter260)); } xfer += oprot->writeListEnd(); } @@ -4640,14 +4912,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size243; - ::apache::thrift::protocol::TType _etype246; - iprot->readListBegin(_etype246, _size243); - this->part_vals.resize(_size243); - uint32_t _i247; - for (_i247 = 0; _i247 < _size243; ++_i247) + uint32_t _size261; + ::apache::thrift::protocol::TType _etype264; + iprot->readListBegin(_etype264, _size261); + this->part_vals.resize(_size261); + uint32_t _i265; + for (_i265 = 0; _i265 < _size261; ++_i265) { - xfer += iprot->readString(this->part_vals[_i247]); + xfer += iprot->readString(this->part_vals[_i265]); } iprot->readListEnd(); } @@ -4688,10 +4960,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->part_vals.size()); - std::vector ::const_iterator _iter248; - for (_iter248 = this->part_vals.begin(); _iter248 != this->part_vals.end(); ++_iter248) + std::vector ::const_iterator _iter266; + for (_iter266 = this->part_vals.begin(); _iter266 != this->part_vals.end(); ++_iter266) { - xfer += oprot->writeString((*_iter248)); + xfer += oprot->writeString((*_iter266)); } xfer += oprot->writeListEnd(); } @@ -4716,10 +4988,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->part_vals)).size()); - std::vector ::const_iterator _iter249; - for (_iter249 = (*(this->part_vals)).begin(); _iter249 != (*(this->part_vals)).end(); ++_iter249) + std::vector ::const_iterator _iter267; + for (_iter267 = (*(this->part_vals)).begin(); _iter267 != (*(this->part_vals)).end(); ++_iter267) { - xfer += oprot->writeString((*_iter249)); + xfer += oprot->writeString((*_iter267)); } xfer += oprot->writeListEnd(); } @@ -5148,14 +5420,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size250; - ::apache::thrift::protocol::TType _etype253; - iprot->readListBegin(_etype253, _size250); - this->part_vals.resize(_size250); - uint32_t _i254; - for (_i254 = 0; _i254 < _size250; ++_i254) + uint32_t _size268; + ::apache::thrift::protocol::TType _etype271; + iprot->readListBegin(_etype271, _size268); + this->part_vals.resize(_size268); + uint32_t _i272; + for (_i272 = 0; _i272 < _size268; ++_i272) { - xfer += iprot->readString(this->part_vals[_i254]); + xfer += iprot->readString(this->part_vals[_i272]); } iprot->readListEnd(); } @@ -5188,10 +5460,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->part_vals.size()); - std::vector ::const_iterator _iter255; - for (_iter255 = this->part_vals.begin(); _iter255 != this->part_vals.end(); ++_iter255) + std::vector ::const_iterator _iter273; + for (_iter273 = this->part_vals.begin(); _iter273 != this->part_vals.end(); ++_iter273) { - xfer += oprot->writeString((*_iter255)); + xfer += oprot->writeString((*_iter273)); } xfer += oprot->writeListEnd(); } @@ -5213,10 +5485,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->part_vals)).size()); - std::vector ::const_iterator _iter256; - for (_iter256 = (*(this->part_vals)).begin(); _iter256 != (*(this->part_vals)).end(); ++_iter256) + std::vector ::const_iterator _iter274; + for (_iter274 = (*(this->part_vals)).begin(); _iter274 != (*(this->part_vals)).end(); ++_iter274) { - xfer += oprot->writeString((*_iter256)); + xfer += oprot->writeString((*_iter274)); } xfer += oprot->writeListEnd(); } @@ -5402,14 +5674,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size257; - ::apache::thrift::protocol::TType _etype260; - iprot->readListBegin(_etype260, _size257); - this->part_vals.resize(_size257); - uint32_t _i261; - for (_i261 = 0; _i261 < _size257; ++_i261) + uint32_t _size275; + ::apache::thrift::protocol::TType _etype278; + iprot->readListBegin(_etype278, _size275); + this->part_vals.resize(_size275); + uint32_t _i279; + for (_i279 = 0; _i279 < _size275; ++_i279) { - xfer += iprot->readString(this->part_vals[_i261]); + xfer += iprot->readString(this->part_vals[_i279]); } iprot->readListEnd(); } @@ -5430,14 +5702,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->group_names.clear(); - uint32_t _size262; - ::apache::thrift::protocol::TType _etype265; - iprot->readListBegin(_etype265, _size262); - this->group_names.resize(_size262); - uint32_t _i266; - for (_i266 = 0; _i266 < _size262; ++_i266) + uint32_t _size280; + ::apache::thrift::protocol::TType _etype283; + iprot->readListBegin(_etype283, _size280); + this->group_names.resize(_size280); + uint32_t _i284; + for (_i284 = 0; _i284 < _size280; ++_i284) { - xfer += iprot->readString(this->group_names[_i266]); + xfer += iprot->readString(this->group_names[_i284]); } iprot->readListEnd(); } @@ -5470,10 +5742,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->part_vals.size()); - std::vector ::const_iterator _iter267; - for (_iter267 = this->part_vals.begin(); _iter267 != this->part_vals.end(); ++_iter267) + std::vector ::const_iterator _iter285; + for (_iter285 = this->part_vals.begin(); _iter285 != this->part_vals.end(); ++_iter285) { - xfer += oprot->writeString((*_iter267)); + xfer += oprot->writeString((*_iter285)); } xfer += oprot->writeListEnd(); } @@ -5484,10 +5756,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->group_names.size()); - std::vector ::const_iterator _iter268; - for (_iter268 = this->group_names.begin(); _iter268 != this->group_names.end(); ++_iter268) + std::vector ::const_iterator _iter286; + for (_iter286 = this->group_names.begin(); _iter286 != this->group_names.end(); ++_iter286) { - xfer += oprot->writeString((*_iter268)); + xfer += oprot->writeString((*_iter286)); } xfer += oprot->writeListEnd(); } @@ -5509,10 +5781,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->part_vals)).size()); - std::vector ::const_iterator _iter269; - for (_iter269 = (*(this->part_vals)).begin(); _iter269 != (*(this->part_vals)).end(); ++_iter269) + std::vector ::const_iterator _iter287; + for (_iter287 = (*(this->part_vals)).begin(); _iter287 != (*(this->part_vals)).end(); ++_iter287) { - xfer += oprot->writeString((*_iter269)); + xfer += oprot->writeString((*_iter287)); } xfer += oprot->writeListEnd(); } @@ -5523,10 +5795,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->group_names)).size()); - std::vector ::const_iterator _iter270; - for (_iter270 = (*(this->group_names)).begin(); _iter270 != (*(this->group_names)).end(); ++_iter270) + std::vector ::const_iterator _iter288; + for (_iter288 = (*(this->group_names)).begin(); _iter288 != (*(this->group_names)).end(); ++_iter288) { - xfer += oprot->writeString((*_iter270)); + xfer += oprot->writeString((*_iter288)); } xfer += oprot->writeListEnd(); } @@ -6012,14 +6284,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size271; - ::apache::thrift::protocol::TType _etype274; - iprot->readListBegin(_etype274, _size271); - this->success.resize(_size271); - uint32_t _i275; - for (_i275 = 0; _i275 < _size271; ++_i275) + uint32_t _size289; + ::apache::thrift::protocol::TType _etype292; + iprot->readListBegin(_etype292, _size289); + this->success.resize(_size289); + uint32_t _i293; + for (_i293 = 0; _i293 < _size289; ++_i293) { - xfer += this->success[_i275].read(iprot); + xfer += this->success[_i293].read(iprot); } iprot->readListEnd(); } @@ -6066,10 +6338,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, this->success.size()); - std::vector ::const_iterator _iter276; - for (_iter276 = this->success.begin(); _iter276 != this->success.end(); ++_iter276) + std::vector ::const_iterator _iter294; + for (_iter294 = this->success.begin(); _iter294 != this->success.end(); ++_iter294) { - xfer += (*_iter276).write(oprot); + xfer += (*_iter294).write(oprot); } xfer += oprot->writeListEnd(); } @@ -6112,14 +6384,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size277; - ::apache::thrift::protocol::TType _etype280; - iprot->readListBegin(_etype280, _size277); - (*(this->success)).resize(_size277); - uint32_t _i281; - for (_i281 = 0; _i281 < _size277; ++_i281) + uint32_t _size295; + ::apache::thrift::protocol::TType _etype298; + iprot->readListBegin(_etype298, _size295); + (*(this->success)).resize(_size295); + uint32_t _i299; + for (_i299 = 0; _i299 < _size295; ++_i299) { - xfer += (*(this->success))[_i281].read(iprot); + xfer += (*(this->success))[_i299].read(iprot); } iprot->readListEnd(); } @@ -6212,14 +6484,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->group_names.clear(); - uint32_t _size282; - ::apache::thrift::protocol::TType _etype285; - iprot->readListBegin(_etype285, _size282); - this->group_names.resize(_size282); - uint32_t _i286; - for (_i286 = 0; _i286 < _size282; ++_i286) + uint32_t _size300; + ::apache::thrift::protocol::TType _etype303; + iprot->readListBegin(_etype303, _size300); + this->group_names.resize(_size300); + uint32_t _i304; + for (_i304 = 0; _i304 < _size300; ++_i304) { - xfer += iprot->readString(this->group_names[_i286]); + xfer += iprot->readString(this->group_names[_i304]); } iprot->readListEnd(); } @@ -6258,10 +6530,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->group_names.size()); - std::vector ::const_iterator _iter287; - for (_iter287 = this->group_names.begin(); _iter287 != this->group_names.end(); ++_iter287) + std::vector ::const_iterator _iter305; + for (_iter305 = this->group_names.begin(); _iter305 != this->group_names.end(); ++_iter305) { - xfer += oprot->writeString((*_iter287)); + xfer += oprot->writeString((*_iter305)); } xfer += oprot->writeListEnd(); } @@ -6289,10 +6561,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 5); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->group_names)).size()); - std::vector ::const_iterator _iter288; - for (_iter288 = (*(this->group_names)).begin(); _iter288 != (*(this->group_names)).end(); ++_iter288) + std::vector ::const_iterator _iter306; + for (_iter306 = (*(this->group_names)).begin(); _iter306 != (*(this->group_names)).end(); ++_iter306) { - xfer += oprot->writeString((*_iter288)); + xfer += oprot->writeString((*_iter306)); } xfer += oprot->writeListEnd(); } @@ -6326,14 +6598,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size289; - ::apache::thrift::protocol::TType _etype292; - iprot->readListBegin(_etype292, _size289); - this->success.resize(_size289); - uint32_t _i293; - for (_i293 = 0; _i293 < _size289; ++_i293) + uint32_t _size307; + ::apache::thrift::protocol::TType _etype310; + iprot->readListBegin(_etype310, _size307); + this->success.resize(_size307); + uint32_t _i311; + for (_i311 = 0; _i311 < _size307; ++_i311) { - xfer += this->success[_i293].read(iprot); + xfer += this->success[_i311].read(iprot); } iprot->readListEnd(); } @@ -6380,10 +6652,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, this->success.size()); - std::vector ::const_iterator _iter294; - for (_iter294 = this->success.begin(); _iter294 != this->success.end(); ++_iter294) + std::vector ::const_iterator _iter312; + for (_iter312 = this->success.begin(); _iter312 != this->success.end(); ++_iter312) { - xfer += (*_iter294).write(oprot); + xfer += (*_iter312).write(oprot); } xfer += oprot->writeListEnd(); } @@ -6426,14 +6698,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size295; - ::apache::thrift::protocol::TType _etype298; - iprot->readListBegin(_etype298, _size295); - (*(this->success)).resize(_size295); - uint32_t _i299; - for (_i299 = 0; _i299 < _size295; ++_i299) + uint32_t _size313; + ::apache::thrift::protocol::TType _etype316; + iprot->readListBegin(_etype316, _size313); + (*(this->success)).resize(_size313); + uint32_t _i317; + for (_i317 = 0; _i317 < _size313; ++_i317) { - xfer += (*(this->success))[_i299].read(iprot); + xfer += (*(this->success))[_i317].read(iprot); } iprot->readListEnd(); } @@ -6584,14 +6856,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size300; - ::apache::thrift::protocol::TType _etype303; - iprot->readListBegin(_etype303, _size300); - this->success.resize(_size300); - uint32_t _i304; - for (_i304 = 0; _i304 < _size300; ++_i304) + uint32_t _size318; + ::apache::thrift::protocol::TType _etype321; + iprot->readListBegin(_etype321, _size318); + this->success.resize(_size318); + uint32_t _i322; + for (_i322 = 0; _i322 < _size318; ++_i322) { - xfer += iprot->readString(this->success[_i304]); + xfer += iprot->readString(this->success[_i322]); } iprot->readListEnd(); } @@ -6630,10 +6902,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->success.size()); - std::vector ::const_iterator _iter305; - for (_iter305 = this->success.begin(); _iter305 != this->success.end(); ++_iter305) + std::vector ::const_iterator _iter323; + for (_iter323 = this->success.begin(); _iter323 != this->success.end(); ++_iter323) { - xfer += oprot->writeString((*_iter305)); + xfer += oprot->writeString((*_iter323)); } xfer += oprot->writeListEnd(); } @@ -6672,14 +6944,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size306; - ::apache::thrift::protocol::TType _etype309; - iprot->readListBegin(_etype309, _size306); - (*(this->success)).resize(_size306); - uint32_t _i310; - for (_i310 = 0; _i310 < _size306; ++_i310) + uint32_t _size324; + ::apache::thrift::protocol::TType _etype327; + iprot->readListBegin(_etype327, _size324); + (*(this->success)).resize(_size324); + uint32_t _i328; + for (_i328 = 0; _i328 < _size324; ++_i328) { - xfer += iprot->readString((*(this->success))[_i310]); + xfer += iprot->readString((*(this->success))[_i328]); } iprot->readListEnd(); } @@ -6748,14 +7020,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size311; - ::apache::thrift::protocol::TType _etype314; - iprot->readListBegin(_etype314, _size311); - this->part_vals.resize(_size311); - uint32_t _i315; - for (_i315 = 0; _i315 < _size311; ++_i315) + uint32_t _size329; + ::apache::thrift::protocol::TType _etype332; + iprot->readListBegin(_etype332, _size329); + this->part_vals.resize(_size329); + uint32_t _i333; + for (_i333 = 0; _i333 < _size329; ++_i333) { - xfer += iprot->readString(this->part_vals[_i315]); + xfer += iprot->readString(this->part_vals[_i333]); } iprot->readListEnd(); } @@ -6796,10 +7068,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->part_vals.size()); - std::vector ::const_iterator _iter316; - for (_iter316 = this->part_vals.begin(); _iter316 != this->part_vals.end(); ++_iter316) + std::vector ::const_iterator _iter334; + for (_iter334 = this->part_vals.begin(); _iter334 != this->part_vals.end(); ++_iter334) { - xfer += oprot->writeString((*_iter316)); + xfer += oprot->writeString((*_iter334)); } xfer += oprot->writeListEnd(); } @@ -6824,10 +7096,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->part_vals)).size()); - std::vector ::const_iterator _iter317; - for (_iter317 = (*(this->part_vals)).begin(); _iter317 != (*(this->part_vals)).end(); ++_iter317) + std::vector ::const_iterator _iter335; + for (_iter335 = (*(this->part_vals)).begin(); _iter335 != (*(this->part_vals)).end(); ++_iter335) { - xfer += oprot->writeString((*_iter317)); + xfer += oprot->writeString((*_iter335)); } xfer += oprot->writeListEnd(); } @@ -6864,14 +7136,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size318; - ::apache::thrift::protocol::TType _etype321; - iprot->readListBegin(_etype321, _size318); - this->success.resize(_size318); - uint32_t _i322; - for (_i322 = 0; _i322 < _size318; ++_i322) + uint32_t _size336; + ::apache::thrift::protocol::TType _etype339; + iprot->readListBegin(_etype339, _size336); + this->success.resize(_size336); + uint32_t _i340; + for (_i340 = 0; _i340 < _size336; ++_i340) { - xfer += this->success[_i322].read(iprot); + xfer += this->success[_i340].read(iprot); } iprot->readListEnd(); } @@ -6910,10 +7182,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, this->success.size()); - std::vector ::const_iterator _iter323; - for (_iter323 = this->success.begin(); _iter323 != this->success.end(); ++_iter323) + std::vector ::const_iterator _iter341; + for (_iter341 = this->success.begin(); _iter341 != this->success.end(); ++_iter341) { - xfer += (*_iter323).write(oprot); + xfer += (*_iter341).write(oprot); } xfer += oprot->writeListEnd(); } @@ -6952,14 +7224,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size324; - ::apache::thrift::protocol::TType _etype327; - iprot->readListBegin(_etype327, _size324); - (*(this->success)).resize(_size324); - uint32_t _i328; - for (_i328 = 0; _i328 < _size324; ++_i328) + uint32_t _size342; + ::apache::thrift::protocol::TType _etype345; + iprot->readListBegin(_etype345, _size342); + (*(this->success)).resize(_size342); + uint32_t _i346; + for (_i346 = 0; _i346 < _size342; ++_i346) { - xfer += (*(this->success))[_i328].read(iprot); + xfer += (*(this->success))[_i346].read(iprot); } iprot->readListEnd(); } @@ -7028,14 +7300,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size329; - ::apache::thrift::protocol::TType _etype332; - iprot->readListBegin(_etype332, _size329); - this->part_vals.resize(_size329); - uint32_t _i333; - for (_i333 = 0; _i333 < _size329; ++_i333) + uint32_t _size347; + ::apache::thrift::protocol::TType _etype350; + iprot->readListBegin(_etype350, _size347); + this->part_vals.resize(_size347); + uint32_t _i351; + for (_i351 = 0; _i351 < _size347; ++_i351) { - xfer += iprot->readString(this->part_vals[_i333]); + xfer += iprot->readString(this->part_vals[_i351]); } iprot->readListEnd(); } @@ -7064,14 +7336,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->group_names.clear(); - uint32_t _size334; - ::apache::thrift::protocol::TType _etype337; - iprot->readListBegin(_etype337, _size334); - this->group_names.resize(_size334); - uint32_t _i338; - for (_i338 = 0; _i338 < _size334; ++_i338) + uint32_t _size352; + ::apache::thrift::protocol::TType _etype355; + iprot->readListBegin(_etype355, _size352); + this->group_names.resize(_size352); + uint32_t _i356; + for (_i356 = 0; _i356 < _size352; ++_i356) { - xfer += iprot->readString(this->group_names[_i338]); + xfer += iprot->readString(this->group_names[_i356]); } iprot->readListEnd(); } @@ -7104,10 +7376,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->part_vals.size()); - std::vector ::const_iterator _iter339; - for (_iter339 = this->part_vals.begin(); _iter339 != this->part_vals.end(); ++_iter339) + std::vector ::const_iterator _iter357; + for (_iter357 = this->part_vals.begin(); _iter357 != this->part_vals.end(); ++_iter357) { - xfer += oprot->writeString((*_iter339)); + xfer += oprot->writeString((*_iter357)); } xfer += oprot->writeListEnd(); } @@ -7121,10 +7393,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 6); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->group_names.size()); - std::vector ::const_iterator _iter340; - for (_iter340 = this->group_names.begin(); _iter340 != this->group_names.end(); ++_iter340) + std::vector ::const_iterator _iter358; + for (_iter358 = this->group_names.begin(); _iter358 != this->group_names.end(); ++_iter358) { - xfer += oprot->writeString((*_iter340)); + xfer += oprot->writeString((*_iter358)); } xfer += oprot->writeListEnd(); } @@ -7146,10 +7418,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->part_vals)).size()); - std::vector ::const_iterator _iter341; - for (_iter341 = (*(this->part_vals)).begin(); _iter341 != (*(this->part_vals)).end(); ++_iter341) + std::vector ::const_iterator _iter359; + for (_iter359 = (*(this->part_vals)).begin(); _iter359 != (*(this->part_vals)).end(); ++_iter359) { - xfer += oprot->writeString((*_iter341)); + xfer += oprot->writeString((*_iter359)); } xfer += oprot->writeListEnd(); } @@ -7163,10 +7435,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 6); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->group_names)).size()); - std::vector ::const_iterator _iter342; - for (_iter342 = (*(this->group_names)).begin(); _iter342 != (*(this->group_names)).end(); ++_iter342) + std::vector ::const_iterator _iter360; + for (_iter360 = (*(this->group_names)).begin(); _iter360 != (*(this->group_names)).end(); ++_iter360) { - xfer += oprot->writeString((*_iter342)); + xfer += oprot->writeString((*_iter360)); } xfer += oprot->writeListEnd(); } @@ -7200,14 +7472,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size343; - ::apache::thrift::protocol::TType _etype346; - iprot->readListBegin(_etype346, _size343); - this->success.resize(_size343); - uint32_t _i347; - for (_i347 = 0; _i347 < _size343; ++_i347) + uint32_t _size361; + ::apache::thrift::protocol::TType _etype364; + iprot->readListBegin(_etype364, _size361); + this->success.resize(_size361); + uint32_t _i365; + for (_i365 = 0; _i365 < _size361; ++_i365) { - xfer += this->success[_i347].read(iprot); + xfer += this->success[_i365].read(iprot); } iprot->readListEnd(); } @@ -7254,10 +7526,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, this->success.size()); - std::vector ::const_iterator _iter348; - for (_iter348 = this->success.begin(); _iter348 != this->success.end(); ++_iter348) + std::vector ::const_iterator _iter366; + for (_iter366 = this->success.begin(); _iter366 != this->success.end(); ++_iter366) { - xfer += (*_iter348).write(oprot); + xfer += (*_iter366).write(oprot); } xfer += oprot->writeListEnd(); } @@ -7300,14 +7572,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size349; - ::apache::thrift::protocol::TType _etype352; - iprot->readListBegin(_etype352, _size349); - (*(this->success)).resize(_size349); - uint32_t _i353; - for (_i353 = 0; _i353 < _size349; ++_i353) + uint32_t _size367; + ::apache::thrift::protocol::TType _etype370; + iprot->readListBegin(_etype370, _size367); + (*(this->success)).resize(_size367); + uint32_t _i371; + for (_i371 = 0; _i371 < _size367; ++_i371) { - xfer += (*(this->success))[_i353].read(iprot); + xfer += (*(this->success))[_i371].read(iprot); } iprot->readListEnd(); } @@ -7384,14 +7656,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->part_vals.clear(); - uint32_t _size354; - ::apache::thrift::protocol::TType _etype357; - iprot->readListBegin(_etype357, _size354); - this->part_vals.resize(_size354); - uint32_t _i358; - for (_i358 = 0; _i358 < _size354; ++_i358) + uint32_t _size372; + ::apache::thrift::protocol::TType _etype375; + iprot->readListBegin(_etype375, _size372); + this->part_vals.resize(_size372); + uint32_t _i376; + for (_i376 = 0; _i376 < _size372; ++_i376) { - xfer += iprot->readString(this->part_vals[_i358]); + xfer += iprot->readString(this->part_vals[_i376]); } iprot->readListEnd(); } @@ -7432,10 +7704,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->part_vals.size()); - std::vector ::const_iterator _iter359; - for (_iter359 = this->part_vals.begin(); _iter359 != this->part_vals.end(); ++_iter359) + std::vector ::const_iterator _iter377; + for (_iter377 = this->part_vals.begin(); _iter377 != this->part_vals.end(); ++_iter377) { - xfer += oprot->writeString((*_iter359)); + xfer += oprot->writeString((*_iter377)); } xfer += oprot->writeListEnd(); } @@ -7460,10 +7732,10 @@ xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->part_vals)).size()); - std::vector ::const_iterator _iter360; - for (_iter360 = (*(this->part_vals)).begin(); _iter360 != (*(this->part_vals)).end(); ++_iter360) + std::vector ::const_iterator _iter378; + for (_iter378 = (*(this->part_vals)).begin(); _iter378 != (*(this->part_vals)).end(); ++_iter378) { - xfer += oprot->writeString((*_iter360)); + xfer += oprot->writeString((*_iter378)); } xfer += oprot->writeListEnd(); } @@ -7500,14 +7772,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size361; - ::apache::thrift::protocol::TType _etype364; - iprot->readListBegin(_etype364, _size361); - this->success.resize(_size361); - uint32_t _i365; - for (_i365 = 0; _i365 < _size361; ++_i365) + uint32_t _size379; + ::apache::thrift::protocol::TType _etype382; + iprot->readListBegin(_etype382, _size379); + this->success.resize(_size379); + uint32_t _i383; + for (_i383 = 0; _i383 < _size379; ++_i383) { - xfer += iprot->readString(this->success[_i365]); + xfer += iprot->readString(this->success[_i383]); } iprot->readListEnd(); } @@ -7546,10 +7818,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->success.size()); - std::vector ::const_iterator _iter366; - for (_iter366 = this->success.begin(); _iter366 != this->success.end(); ++_iter366) + std::vector ::const_iterator _iter384; + for (_iter384 = this->success.begin(); _iter384 != this->success.end(); ++_iter384) { - xfer += oprot->writeString((*_iter366)); + xfer += oprot->writeString((*_iter384)); } xfer += oprot->writeListEnd(); } @@ -7588,14 +7860,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size367; - ::apache::thrift::protocol::TType _etype370; - iprot->readListBegin(_etype370, _size367); - (*(this->success)).resize(_size367); - uint32_t _i371; - for (_i371 = 0; _i371 < _size367; ++_i371) + uint32_t _size385; + ::apache::thrift::protocol::TType _etype388; + iprot->readListBegin(_etype388, _size385); + (*(this->success)).resize(_size385); + uint32_t _i389; + for (_i389 = 0; _i389 < _size385; ++_i389) { - xfer += iprot->readString((*(this->success))[_i371]); + xfer += iprot->readString((*(this->success))[_i389]); } iprot->readListEnd(); } @@ -7752,14 +8024,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size372; - ::apache::thrift::protocol::TType _etype375; - iprot->readListBegin(_etype375, _size372); - this->success.resize(_size372); - uint32_t _i376; - for (_i376 = 0; _i376 < _size372; ++_i376) + uint32_t _size390; + ::apache::thrift::protocol::TType _etype393; + iprot->readListBegin(_etype393, _size390); + this->success.resize(_size390); + uint32_t _i394; + for (_i394 = 0; _i394 < _size390; ++_i394) { - xfer += this->success[_i376].read(iprot); + xfer += this->success[_i394].read(iprot); } iprot->readListEnd(); } @@ -7806,10 +8078,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, this->success.size()); - std::vector ::const_iterator _iter377; - for (_iter377 = this->success.begin(); _iter377 != this->success.end(); ++_iter377) + std::vector ::const_iterator _iter395; + for (_iter395 = this->success.begin(); _iter395 != this->success.end(); ++_iter395) { - xfer += (*_iter377).write(oprot); + xfer += (*_iter395).write(oprot); } xfer += oprot->writeListEnd(); } @@ -7852,14 +8124,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size378; - ::apache::thrift::protocol::TType _etype381; - iprot->readListBegin(_etype381, _size378); - (*(this->success)).resize(_size378); - uint32_t _i382; - for (_i382 = 0; _i382 < _size378; ++_i382) + uint32_t _size396; + ::apache::thrift::protocol::TType _etype399; + iprot->readListBegin(_etype399, _size396); + (*(this->success)).resize(_size396); + uint32_t _i400; + for (_i400 = 0; _i400 < _size396; ++_i400) { - xfer += (*(this->success))[_i382].read(iprot); + xfer += (*(this->success))[_i400].read(iprot); } iprot->readListEnd(); } @@ -7936,14 +8208,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->names.clear(); - uint32_t _size383; - ::apache::thrift::protocol::TType _etype386; - iprot->readListBegin(_etype386, _size383); - this->names.resize(_size383); - uint32_t _i387; - for (_i387 = 0; _i387 < _size383; ++_i387) + uint32_t _size401; + ::apache::thrift::protocol::TType _etype404; + iprot->readListBegin(_etype404, _size401); + this->names.resize(_size401); + uint32_t _i405; + for (_i405 = 0; _i405 < _size401; ++_i405) { - xfer += iprot->readString(this->names[_i387]); + xfer += iprot->readString(this->names[_i405]); } iprot->readListEnd(); } @@ -7976,10 +8248,10 @@ xfer += oprot->writeFieldBegin("names", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->names.size()); - std::vector ::const_iterator _iter388; - for (_iter388 = this->names.begin(); _iter388 != this->names.end(); ++_iter388) + std::vector ::const_iterator _iter406; + for (_iter406 = this->names.begin(); _iter406 != this->names.end(); ++_iter406) { - xfer += oprot->writeString((*_iter388)); + xfer += oprot->writeString((*_iter406)); } xfer += oprot->writeListEnd(); } @@ -8001,10 +8273,10 @@ xfer += oprot->writeFieldBegin("names", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->names)).size()); - std::vector ::const_iterator _iter389; - for (_iter389 = (*(this->names)).begin(); _iter389 != (*(this->names)).end(); ++_iter389) + std::vector ::const_iterator _iter407; + for (_iter407 = (*(this->names)).begin(); _iter407 != (*(this->names)).end(); ++_iter407) { - xfer += oprot->writeString((*_iter389)); + xfer += oprot->writeString((*_iter407)); } xfer += oprot->writeListEnd(); } @@ -8038,14 +8310,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size390; - ::apache::thrift::protocol::TType _etype393; - iprot->readListBegin(_etype393, _size390); - this->success.resize(_size390); - uint32_t _i394; - for (_i394 = 0; _i394 < _size390; ++_i394) + uint32_t _size408; + ::apache::thrift::protocol::TType _etype411; + iprot->readListBegin(_etype411, _size408); + this->success.resize(_size408); + uint32_t _i412; + for (_i412 = 0; _i412 < _size408; ++_i412) { - xfer += this->success[_i394].read(iprot); + xfer += this->success[_i412].read(iprot); } iprot->readListEnd(); } @@ -8092,10 +8364,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, this->success.size()); - std::vector ::const_iterator _iter395; - for (_iter395 = this->success.begin(); _iter395 != this->success.end(); ++_iter395) + std::vector ::const_iterator _iter413; + for (_iter413 = this->success.begin(); _iter413 != this->success.end(); ++_iter413) { - xfer += (*_iter395).write(oprot); + xfer += (*_iter413).write(oprot); } xfer += oprot->writeListEnd(); } @@ -8138,14 +8410,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size396; - ::apache::thrift::protocol::TType _etype399; - iprot->readListBegin(_etype399, _size396); - (*(this->success)).resize(_size396); - uint32_t _i400; - for (_i400 = 0; _i400 < _size396; ++_i400) + uint32_t _size414; + ::apache::thrift::protocol::TType _etype417; + iprot->readListBegin(_etype417, _size414); + (*(this->success)).resize(_size414); + uint32_t _i418; + for (_i418 = 0; _i418 < _size414; ++_i418) { - xfer += (*(this->success))[_i400].read(iprot); + xfer += (*(this->success))[_i418].read(iprot); } iprot->readListEnd(); } @@ -8666,14 +8938,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size401; - ::apache::thrift::protocol::TType _etype404; - iprot->readListBegin(_etype404, _size401); - this->success.resize(_size401); - uint32_t _i405; - for (_i405 = 0; _i405 < _size401; ++_i405) + uint32_t _size419; + ::apache::thrift::protocol::TType _etype422; + iprot->readListBegin(_etype422, _size419); + this->success.resize(_size419); + uint32_t _i423; + for (_i423 = 0; _i423 < _size419; ++_i423) { - xfer += iprot->readString(this->success[_i405]); + xfer += iprot->readString(this->success[_i423]); } iprot->readListEnd(); } @@ -8712,10 +8984,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->success.size()); - std::vector ::const_iterator _iter406; - for (_iter406 = this->success.begin(); _iter406 != this->success.end(); ++_iter406) + std::vector ::const_iterator _iter424; + for (_iter424 = this->success.begin(); _iter424 != this->success.end(); ++_iter424) { - xfer += oprot->writeString((*_iter406)); + xfer += oprot->writeString((*_iter424)); } xfer += oprot->writeListEnd(); } @@ -8754,14 +9026,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size407; - ::apache::thrift::protocol::TType _etype410; - iprot->readListBegin(_etype410, _size407); - (*(this->success)).resize(_size407); - uint32_t _i411; - for (_i411 = 0; _i411 < _size407; ++_i411) + uint32_t _size425; + ::apache::thrift::protocol::TType _etype428; + iprot->readListBegin(_etype428, _size425); + (*(this->success)).resize(_size425); + uint32_t _i429; + for (_i429 = 0; _i429 < _size425; ++_i429) { - xfer += iprot->readString((*(this->success))[_i411]); + xfer += iprot->readString((*(this->success))[_i429]); } iprot->readListEnd(); } @@ -8876,17 +9148,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { this->success.clear(); - uint32_t _size412; - ::apache::thrift::protocol::TType _ktype413; - ::apache::thrift::protocol::TType _vtype414; - iprot->readMapBegin(_ktype413, _vtype414, _size412); - uint32_t _i416; - for (_i416 = 0; _i416 < _size412; ++_i416) + uint32_t _size430; + ::apache::thrift::protocol::TType _ktype431; + ::apache::thrift::protocol::TType _vtype432; + iprot->readMapBegin(_ktype431, _vtype432, _size430); + uint32_t _i434; + for (_i434 = 0; _i434 < _size430; ++_i434) { - std::string _key417; - xfer += iprot->readString(_key417); - std::string& _val418 = this->success[_key417]; - xfer += iprot->readString(_val418); + std::string _key435; + xfer += iprot->readString(_key435); + std::string& _val436 = this->success[_key435]; + xfer += iprot->readString(_val436); } iprot->readMapEnd(); } @@ -8925,11 +9197,11 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, this->success.size()); - std::map ::const_iterator _iter419; - for (_iter419 = this->success.begin(); _iter419 != this->success.end(); ++_iter419) + std::map ::const_iterator _iter437; + for (_iter437 = this->success.begin(); _iter437 != this->success.end(); ++_iter437) { - xfer += oprot->writeString(_iter419->first); - xfer += oprot->writeString(_iter419->second); + xfer += oprot->writeString(_iter437->first); + xfer += oprot->writeString(_iter437->second); } xfer += oprot->writeMapEnd(); } @@ -8968,17 +9240,17 @@ if (ftype == ::apache::thrift::protocol::T_MAP) { { (*(this->success)).clear(); - uint32_t _size420; - ::apache::thrift::protocol::TType _ktype421; - ::apache::thrift::protocol::TType _vtype422; - iprot->readMapBegin(_ktype421, _vtype422, _size420); - uint32_t _i424; - for (_i424 = 0; _i424 < _size420; ++_i424) + uint32_t _size438; + ::apache::thrift::protocol::TType _ktype439; + ::apache::thrift::protocol::TType _vtype440; + iprot->readMapBegin(_ktype439, _vtype440, _size438); + uint32_t _i442; + for (_i442 = 0; _i442 < _size438; ++_i442) { - std::string _key425; - xfer += iprot->readString(_key425); - std::string& _val426 = (*(this->success))[_key425]; - xfer += iprot->readString(_val426); + std::string _key443; + xfer += iprot->readString(_key443); + std::string& _val444 = (*(this->success))[_key443]; + xfer += iprot->readString(_val444); } iprot->readMapEnd(); } @@ -10039,14 +10311,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size427; - ::apache::thrift::protocol::TType _etype430; - iprot->readListBegin(_etype430, _size427); - this->success.resize(_size427); - uint32_t _i431; - for (_i431 = 0; _i431 < _size427; ++_i431) + uint32_t _size445; + ::apache::thrift::protocol::TType _etype448; + iprot->readListBegin(_etype448, _size445); + this->success.resize(_size445); + uint32_t _i449; + for (_i449 = 0; _i449 < _size445; ++_i449) { - xfer += this->success[_i431].read(iprot); + xfer += this->success[_i449].read(iprot); } iprot->readListEnd(); } @@ -10093,10 +10365,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, this->success.size()); - std::vector ::const_iterator _iter432; - for (_iter432 = this->success.begin(); _iter432 != this->success.end(); ++_iter432) + std::vector ::const_iterator _iter450; + for (_iter450 = this->success.begin(); _iter450 != this->success.end(); ++_iter450) { - xfer += (*_iter432).write(oprot); + xfer += (*_iter450).write(oprot); } xfer += oprot->writeListEnd(); } @@ -10139,14 +10411,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size433; - ::apache::thrift::protocol::TType _etype436; - iprot->readListBegin(_etype436, _size433); - (*(this->success)).resize(_size433); - uint32_t _i437; - for (_i437 = 0; _i437 < _size433; ++_i437) + uint32_t _size451; + ::apache::thrift::protocol::TType _etype454; + iprot->readListBegin(_etype454, _size451); + (*(this->success)).resize(_size451); + uint32_t _i455; + for (_i455 = 0; _i455 < _size451; ++_i455) { - xfer += (*(this->success))[_i437].read(iprot); + xfer += (*(this->success))[_i455].read(iprot); } iprot->readListEnd(); } @@ -10297,14 +10569,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size438; - ::apache::thrift::protocol::TType _etype441; - iprot->readListBegin(_etype441, _size438); - this->success.resize(_size438); - uint32_t _i442; - for (_i442 = 0; _i442 < _size438; ++_i442) + uint32_t _size456; + ::apache::thrift::protocol::TType _etype459; + iprot->readListBegin(_etype459, _size456); + this->success.resize(_size456); + uint32_t _i460; + for (_i460 = 0; _i460 < _size456; ++_i460) { - xfer += iprot->readString(this->success[_i442]); + xfer += iprot->readString(this->success[_i460]); } iprot->readListEnd(); } @@ -10343,10 +10615,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->success.size()); - std::vector ::const_iterator _iter443; - for (_iter443 = this->success.begin(); _iter443 != this->success.end(); ++_iter443) + std::vector ::const_iterator _iter461; + for (_iter461 = this->success.begin(); _iter461 != this->success.end(); ++_iter461) { - xfer += oprot->writeString((*_iter443)); + xfer += oprot->writeString((*_iter461)); } xfer += oprot->writeListEnd(); } @@ -10385,14 +10657,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size444; - ::apache::thrift::protocol::TType _etype447; - iprot->readListBegin(_etype447, _size444); - (*(this->success)).resize(_size444); - uint32_t _i448; - for (_i448 = 0; _i448 < _size444; ++_i448) + uint32_t _size462; + ::apache::thrift::protocol::TType _etype465; + iprot->readListBegin(_etype465, _size462); + (*(this->success)).resize(_size462); + uint32_t _i466; + for (_i466 = 0; _i466 < _size462; ++_i466) { - xfer += iprot->readString((*(this->success))[_i448]); + xfer += iprot->readString((*(this->success))[_i466]); } iprot->readListEnd(); } @@ -10849,14 +11121,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size449; - ::apache::thrift::protocol::TType _etype452; - iprot->readListBegin(_etype452, _size449); - this->success.resize(_size449); - uint32_t _i453; - for (_i453 = 0; _i453 < _size449; ++_i453) + uint32_t _size467; + ::apache::thrift::protocol::TType _etype470; + iprot->readListBegin(_etype470, _size467); + this->success.resize(_size467); + uint32_t _i471; + for (_i471 = 0; _i471 < _size467; ++_i471) { - xfer += iprot->readString(this->success[_i453]); + xfer += iprot->readString(this->success[_i471]); } iprot->readListEnd(); } @@ -10895,10 +11167,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->success.size()); - std::vector ::const_iterator _iter454; - for (_iter454 = this->success.begin(); _iter454 != this->success.end(); ++_iter454) + std::vector ::const_iterator _iter472; + for (_iter472 = this->success.begin(); _iter472 != this->success.end(); ++_iter472) { - xfer += oprot->writeString((*_iter454)); + xfer += oprot->writeString((*_iter472)); } xfer += oprot->writeListEnd(); } @@ -10937,14 +11209,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size455; - ::apache::thrift::protocol::TType _etype458; - iprot->readListBegin(_etype458, _size455); - (*(this->success)).resize(_size455); - uint32_t _i459; - for (_i459 = 0; _i459 < _size455; ++_i459) + uint32_t _size473; + ::apache::thrift::protocol::TType _etype476; + iprot->readListBegin(_etype476, _size473); + (*(this->success)).resize(_size473); + uint32_t _i477; + for (_i477 = 0; _i477 < _size473; ++_i477) { - xfer += iprot->readString((*(this->success))[_i459]); + xfer += iprot->readString((*(this->success))[_i477]); } iprot->readListEnd(); } @@ -11011,9 +11283,9 @@ break; case 3: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast460; - xfer += iprot->readI32(ecast460); - this->principal_type = (PrincipalType::type)ecast460; + int32_t ecast478; + xfer += iprot->readI32(ecast478); + this->principal_type = (PrincipalType::type)ecast478; this->__isset.principal_type = true; } else { xfer += iprot->skip(ftype); @@ -11029,9 +11301,9 @@ break; case 5: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast461; - xfer += iprot->readI32(ecast461); - this->grantorType = (PrincipalType::type)ecast461; + int32_t ecast479; + xfer += iprot->readI32(ecast479); + this->grantorType = (PrincipalType::type)ecast479; this->__isset.grantorType = true; } else { xfer += iprot->skip(ftype); @@ -11263,9 +11535,9 @@ break; case 3: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast462; - xfer += iprot->readI32(ecast462); - this->principal_type = (PrincipalType::type)ecast462; + int32_t ecast480; + xfer += iprot->readI32(ecast480); + this->principal_type = (PrincipalType::type)ecast480; this->__isset.principal_type = true; } else { xfer += iprot->skip(ftype); @@ -11463,9 +11735,9 @@ break; case 2: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast463; - xfer += iprot->readI32(ecast463); - this->principal_type = (PrincipalType::type)ecast463; + int32_t ecast481; + xfer += iprot->readI32(ecast481); + this->principal_type = (PrincipalType::type)ecast481; this->__isset.principal_type = true; } else { xfer += iprot->skip(ftype); @@ -11535,14 +11807,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size464; - ::apache::thrift::protocol::TType _etype467; - iprot->readListBegin(_etype467, _size464); - this->success.resize(_size464); - uint32_t _i468; - for (_i468 = 0; _i468 < _size464; ++_i468) + uint32_t _size482; + ::apache::thrift::protocol::TType _etype485; + iprot->readListBegin(_etype485, _size482); + this->success.resize(_size482); + uint32_t _i486; + for (_i486 = 0; _i486 < _size482; ++_i486) { - xfer += this->success[_i468].read(iprot); + xfer += this->success[_i486].read(iprot); } iprot->readListEnd(); } @@ -11581,10 +11853,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, this->success.size()); - std::vector ::const_iterator _iter469; - for (_iter469 = this->success.begin(); _iter469 != this->success.end(); ++_iter469) + std::vector ::const_iterator _iter487; + for (_iter487 = this->success.begin(); _iter487 != this->success.end(); ++_iter487) { - xfer += (*_iter469).write(oprot); + xfer += (*_iter487).write(oprot); } xfer += oprot->writeListEnd(); } @@ -11623,14 +11895,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size470; - ::apache::thrift::protocol::TType _etype473; - iprot->readListBegin(_etype473, _size470); - (*(this->success)).resize(_size470); - uint32_t _i474; - for (_i474 = 0; _i474 < _size470; ++_i474) + uint32_t _size488; + ::apache::thrift::protocol::TType _etype491; + iprot->readListBegin(_etype491, _size488); + (*(this->success)).resize(_size488); + uint32_t _i492; + for (_i492 = 0; _i492 < _size488; ++_i492) { - xfer += (*(this->success))[_i474].read(iprot); + xfer += (*(this->success))[_i492].read(iprot); } iprot->readListEnd(); } @@ -11699,14 +11971,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->group_names.clear(); - uint32_t _size475; - ::apache::thrift::protocol::TType _etype478; - iprot->readListBegin(_etype478, _size475); - this->group_names.resize(_size475); - uint32_t _i479; - for (_i479 = 0; _i479 < _size475; ++_i479) + uint32_t _size493; + ::apache::thrift::protocol::TType _etype496; + iprot->readListBegin(_etype496, _size493); + this->group_names.resize(_size493); + uint32_t _i497; + for (_i497 = 0; _i497 < _size493; ++_i497) { - xfer += iprot->readString(this->group_names[_i479]); + xfer += iprot->readString(this->group_names[_i497]); } iprot->readListEnd(); } @@ -11739,10 +12011,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, this->group_names.size()); - std::vector ::const_iterator _iter480; - for (_iter480 = this->group_names.begin(); _iter480 != this->group_names.end(); ++_iter480) + std::vector ::const_iterator _iter498; + for (_iter498 = this->group_names.begin(); _iter498 != this->group_names.end(); ++_iter498) { - xfer += oprot->writeString((*_iter480)); + xfer += oprot->writeString((*_iter498)); } xfer += oprot->writeListEnd(); } @@ -11764,10 +12036,10 @@ xfer += oprot->writeFieldBegin("group_names", ::apache::thrift::protocol::T_LIST, 3); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, (*(this->group_names)).size()); - std::vector ::const_iterator _iter481; - for (_iter481 = (*(this->group_names)).begin(); _iter481 != (*(this->group_names)).end(); ++_iter481) + std::vector ::const_iterator _iter499; + for (_iter499 = (*(this->group_names)).begin(); _iter499 != (*(this->group_names)).end(); ++_iter499) { - xfer += oprot->writeString((*_iter481)); + xfer += oprot->writeString((*_iter499)); } xfer += oprot->writeListEnd(); } @@ -11923,9 +12195,9 @@ break; case 2: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast482; - xfer += iprot->readI32(ecast482); - this->principal_type = (PrincipalType::type)ecast482; + int32_t ecast500; + xfer += iprot->readI32(ecast500); + this->principal_type = (PrincipalType::type)ecast500; this->__isset.principal_type = true; } else { xfer += iprot->skip(ftype); @@ -12009,14 +12281,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { this->success.clear(); - uint32_t _size483; - ::apache::thrift::protocol::TType _etype486; - iprot->readListBegin(_etype486, _size483); - this->success.resize(_size483); - uint32_t _i487; - for (_i487 = 0; _i487 < _size483; ++_i487) + uint32_t _size501; + ::apache::thrift::protocol::TType _etype504; + iprot->readListBegin(_etype504, _size501); + this->success.resize(_size501); + uint32_t _i505; + for (_i505 = 0; _i505 < _size501; ++_i505) { - xfer += this->success[_i487].read(iprot); + xfer += this->success[_i505].read(iprot); } iprot->readListEnd(); } @@ -12055,10 +12327,10 @@ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, this->success.size()); - std::vector ::const_iterator _iter488; - for (_iter488 = this->success.begin(); _iter488 != this->success.end(); ++_iter488) + std::vector ::const_iterator _iter506; + for (_iter506 = this->success.begin(); _iter506 != this->success.end(); ++_iter506) { - xfer += (*_iter488).write(oprot); + xfer += (*_iter506).write(oprot); } xfer += oprot->writeListEnd(); } @@ -12097,14 +12369,14 @@ if (ftype == ::apache::thrift::protocol::T_LIST) { { (*(this->success)).clear(); - uint32_t _size489; - ::apache::thrift::protocol::TType _etype492; - iprot->readListBegin(_etype492, _size489); - (*(this->success)).resize(_size489); - uint32_t _i493; - for (_i493 = 0; _i493 < _size489; ++_i493) + uint32_t _size507; + ::apache::thrift::protocol::TType _etype510; + iprot->readListBegin(_etype510, _size507); + (*(this->success)).resize(_size507); + uint32_t _i511; + for (_i511 = 0; _i511 < _size507; ++_i511) { - xfer += (*(this->success))[_i493].read(iprot); + xfer += (*(this->success))[_i511].read(iprot); } iprot->readListEnd(); } @@ -14128,6 +14400,73 @@ throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "get_table failed: unknown result"); } +void ThriftHiveMetastoreClient::multi_get_table(std::vector
& _return, const std::string& dbname, const std::vector & tbl_names) +{ + send_multi_get_table(dbname, tbl_names); + recv_multi_get_table(_return); +} + +void ThriftHiveMetastoreClient::send_multi_get_table(const std::string& dbname, const std::vector & tbl_names) +{ + int32_t cseqid = 0; + oprot_->writeMessageBegin("multi_get_table", ::apache::thrift::protocol::T_CALL, cseqid); + + ThriftHiveMetastore_multi_get_table_pargs args; + args.dbname = &dbname; + args.tbl_names = &tbl_names; + args.write(oprot_); + + oprot_->writeMessageEnd(); + oprot_->getTransport()->flush(); + oprot_->getTransport()->writeEnd(); +} + +void ThriftHiveMetastoreClient::recv_multi_get_table(std::vector
& _return) +{ + + int32_t rseqid = 0; + std::string fname; + ::apache::thrift::protocol::TMessageType mtype; + + iprot_->readMessageBegin(fname, mtype, rseqid); + if (mtype == ::apache::thrift::protocol::T_EXCEPTION) { + ::apache::thrift::TApplicationException x; + x.read(iprot_); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + throw x; + } + if (mtype != ::apache::thrift::protocol::T_REPLY) { + iprot_->skip(::apache::thrift::protocol::T_STRUCT); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::INVALID_MESSAGE_TYPE); + } + if (fname.compare("multi_get_table") != 0) { + iprot_->skip(::apache::thrift::protocol::T_STRUCT); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::WRONG_METHOD_NAME); + } + ThriftHiveMetastore_multi_get_table_presult result; + result.success = &_return; + result.read(iprot_); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + + if (result.__isset.success) { + // _return pointer has now been filled + return; + } + if (result.__isset.o1) { + throw result.o1; + } + if (result.__isset.o2) { + throw result.o2; + } + throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "multi_get_table failed: unknown result"); +} + void ThriftHiveMetastoreClient::alter_table(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl) { send_alter_table(dbname, tbl_name, new_tbl); @@ -17387,6 +17726,40 @@ oprot->getTransport()->writeEnd(); } +void ThriftHiveMetastoreProcessor::process_multi_get_table(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot) +{ + ThriftHiveMetastore_multi_get_table_args args; + args.read(iprot); + iprot->readMessageEnd(); + iprot->getTransport()->readEnd(); + + ThriftHiveMetastore_multi_get_table_result result; + try { + iface_->multi_get_table(result.success, args.dbname, args.tbl_names); + result.__isset.success = true; + } catch (MetaException &o1) { + result.o1 = o1; + result.__isset.o1 = true; + } catch (NoSuchObjectException &o2) { + result.o2 = o2; + result.__isset.o2 = true; + } catch (const std::exception& e) { + ::apache::thrift::TApplicationException x(e.what()); + oprot->writeMessageBegin("multi_get_table", ::apache::thrift::protocol::T_EXCEPTION, seqid); + x.write(oprot); + oprot->writeMessageEnd(); + oprot->getTransport()->flush(); + oprot->getTransport()->writeEnd(); + return; + } + + oprot->writeMessageBegin("multi_get_table", ::apache::thrift::protocol::T_REPLY, seqid); + result.write(oprot); + oprot->writeMessageEnd(); + oprot->getTransport()->flush(); + oprot->getTransport()->writeEnd(); +} + void ThriftHiveMetastoreProcessor::process_alter_table(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot) { ThriftHiveMetastore_alter_table_args args; Index: metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h =================================================================== --- metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h (revision 14649) +++ metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h (working copy) @@ -32,6 +32,7 @@ virtual void get_tables(std::vector & _return, const std::string& db_name, const std::string& pattern) = 0; virtual void get_all_tables(std::vector & _return, const std::string& db_name) = 0; virtual void get_table(Table& _return, const std::string& dbname, const std::string& tbl_name) = 0; + virtual void multi_get_table(std::vector
& _return, const std::string& dbname, const std::vector & tbl_names) = 0; virtual void alter_table(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl) = 0; virtual void add_partition(Partition& _return, const Partition& new_part) = 0; virtual void append_partition(Partition& _return, const std::string& db_name, const std::string& tbl_name, const std::vector & part_vals) = 0; @@ -130,6 +131,9 @@ void get_table(Table& /* _return */, const std::string& /* dbname */, const std::string& /* tbl_name */) { return; } + void multi_get_table(std::vector
& /* _return */, const std::string& /* dbname */, const std::vector & /* tbl_names */) { + return; + } void alter_table(const std::string& /* dbname */, const std::string& /* tbl_name */, const Table& /* new_tbl */) { return; } @@ -2183,6 +2187,123 @@ }; +typedef struct _ThriftHiveMetastore_multi_get_table_args__isset { + _ThriftHiveMetastore_multi_get_table_args__isset() : dbname(false), tbl_names(false) {} + bool dbname; + bool tbl_names; +} _ThriftHiveMetastore_multi_get_table_args__isset; + +class ThriftHiveMetastore_multi_get_table_args { + public: + + ThriftHiveMetastore_multi_get_table_args() : dbname("") { + } + + virtual ~ThriftHiveMetastore_multi_get_table_args() throw() {} + + std::string dbname; + std::vector tbl_names; + + _ThriftHiveMetastore_multi_get_table_args__isset __isset; + + bool operator == (const ThriftHiveMetastore_multi_get_table_args & rhs) const + { + if (!(dbname == rhs.dbname)) + return false; + if (!(tbl_names == rhs.tbl_names)) + return false; + return true; + } + bool operator != (const ThriftHiveMetastore_multi_get_table_args &rhs) const { + return !(*this == rhs); + } + + bool operator < (const ThriftHiveMetastore_multi_get_table_args & ) const; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + +}; + + +class ThriftHiveMetastore_multi_get_table_pargs { + public: + + + virtual ~ThriftHiveMetastore_multi_get_table_pargs() throw() {} + + const std::string* dbname; + const std::vector * tbl_names; + + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + +}; + +typedef struct _ThriftHiveMetastore_multi_get_table_result__isset { + _ThriftHiveMetastore_multi_get_table_result__isset() : success(false), o1(false), o2(false) {} + bool success; + bool o1; + bool o2; +} _ThriftHiveMetastore_multi_get_table_result__isset; + +class ThriftHiveMetastore_multi_get_table_result { + public: + + ThriftHiveMetastore_multi_get_table_result() { + } + + virtual ~ThriftHiveMetastore_multi_get_table_result() throw() {} + + std::vector
success; + MetaException o1; + NoSuchObjectException o2; + + _ThriftHiveMetastore_multi_get_table_result__isset __isset; + + bool operator == (const ThriftHiveMetastore_multi_get_table_result & rhs) const + { + if (!(success == rhs.success)) + return false; + if (!(o1 == rhs.o1)) + return false; + if (!(o2 == rhs.o2)) + return false; + return true; + } + bool operator != (const ThriftHiveMetastore_multi_get_table_result &rhs) const { + return !(*this == rhs); + } + + bool operator < (const ThriftHiveMetastore_multi_get_table_result & ) const; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + +}; + +typedef struct _ThriftHiveMetastore_multi_get_table_presult__isset { + _ThriftHiveMetastore_multi_get_table_presult__isset() : success(false), o1(false), o2(false) {} + bool success; + bool o1; + bool o2; +} _ThriftHiveMetastore_multi_get_table_presult__isset; + +class ThriftHiveMetastore_multi_get_table_presult { + public: + + + virtual ~ThriftHiveMetastore_multi_get_table_presult() throw() {} + + std::vector
* success; + MetaException o1; + NoSuchObjectException o2; + + _ThriftHiveMetastore_multi_get_table_presult__isset __isset; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + +}; + typedef struct _ThriftHiveMetastore_alter_table_args__isset { _ThriftHiveMetastore_alter_table_args__isset() : dbname(false), tbl_name(false), new_tbl(false) {} bool dbname; @@ -6961,6 +7082,9 @@ void get_table(Table& _return, const std::string& dbname, const std::string& tbl_name); void send_get_table(const std::string& dbname, const std::string& tbl_name); void recv_get_table(Table& _return); + void multi_get_table(std::vector
& _return, const std::string& dbname, const std::vector & tbl_names); + void send_multi_get_table(const std::string& dbname, const std::vector & tbl_names); + void recv_multi_get_table(std::vector
& _return); void alter_table(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl); void send_alter_table(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl); void recv_alter_table(); @@ -7106,6 +7230,7 @@ void process_get_tables(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot); void process_get_all_tables(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot); void process_get_table(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot); + void process_multi_get_table(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot); void process_alter_table(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot); void process_add_partition(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot); void process_append_partition(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot); @@ -7167,6 +7292,7 @@ processMap_["get_tables"] = &ThriftHiveMetastoreProcessor::process_get_tables; processMap_["get_all_tables"] = &ThriftHiveMetastoreProcessor::process_get_all_tables; processMap_["get_table"] = &ThriftHiveMetastoreProcessor::process_get_table; + processMap_["multi_get_table"] = &ThriftHiveMetastoreProcessor::process_multi_get_table; processMap_["alter_table"] = &ThriftHiveMetastoreProcessor::process_alter_table; processMap_["add_partition"] = &ThriftHiveMetastoreProcessor::process_add_partition; processMap_["append_partition"] = &ThriftHiveMetastoreProcessor::process_append_partition; @@ -7407,6 +7533,18 @@ } } + void multi_get_table(std::vector
& _return, const std::string& dbname, const std::vector & tbl_names) { + uint32_t sz = ifaces_.size(); + for (uint32_t i = 0; i < sz; ++i) { + if (i == sz - 1) { + ifaces_[i]->multi_get_table(_return, dbname, tbl_names); + return; + } else { + ifaces_[i]->multi_get_table(_return, dbname, tbl_names); + } + } + } + void alter_table(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl) { uint32_t sz = ifaces_.size(); for (uint32_t i = 0; i < sz; ++i) { Index: metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp =================================================================== --- metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp (revision 14649) +++ metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp (working copy) @@ -107,6 +107,11 @@ printf("get_table\n"); } + void multi_get_table(std::vector
& _return, const std::string& dbname, const std::vector & tbl_names) { + // Your implementation goes here + printf("multi_get_table\n"); + } + void alter_table(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl) { // Your implementation goes here printf("alter_table\n"); Index: metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb =================================================================== --- metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb (revision 14649) +++ metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb (working copy) @@ -298,6 +298,23 @@ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'get_table failed: unknown result') end + def multi_get_table(dbname, tbl_names) + send_multi_get_table(dbname, tbl_names) + return recv_multi_get_table() + end + + def send_multi_get_table(dbname, tbl_names) + send_message('multi_get_table', Multi_get_table_args, :dbname => dbname, :tbl_names => tbl_names) + end + + def recv_multi_get_table() + result = receive_message(Multi_get_table_result) + return result.success unless result.success.nil? + raise result.o1 unless result.o1.nil? + raise result.o2 unless result.o2.nil? + raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'multi_get_table failed: unknown result') + end + def alter_table(dbname, tbl_name, new_tbl) send_alter_table(dbname, tbl_name, new_tbl) recv_alter_table() @@ -1188,6 +1205,19 @@ write_result(result, oprot, 'get_table', seqid) end + def process_multi_get_table(seqid, iprot, oprot) + args = read_args(iprot, Multi_get_table_args) + result = Multi_get_table_result.new() + begin + result.success = @handler.multi_get_table(args.dbname, args.tbl_names) + rescue MetaException => o1 + result.o1 = o1 + rescue NoSuchObjectException => o2 + result.o2 = o2 + end + write_result(result, oprot, 'multi_get_table', seqid) + end + def process_alter_table(seqid, iprot, oprot) args = read_args(iprot, Alter_table_args) result = Alter_table_result.new() @@ -2303,6 +2333,44 @@ ::Thrift::Struct.generate_accessors self end + class Multi_get_table_args + include ::Thrift::Struct, ::Thrift::Struct_Union + DBNAME = 1 + TBL_NAMES = 2 + + FIELDS = { + DBNAME => {:type => ::Thrift::Types::STRING, :name => 'dbname'}, + TBL_NAMES => {:type => ::Thrift::Types::LIST, :name => 'tbl_names', :element => {:type => ::Thrift::Types::STRING}} + } + + def struct_fields; FIELDS; end + + def validate + end + + ::Thrift::Struct.generate_accessors self + end + + class Multi_get_table_result + include ::Thrift::Struct, ::Thrift::Struct_Union + SUCCESS = 0 + O1 = 1 + O2 = 2 + + FIELDS = { + SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => Table}}, + O1 => {:type => ::Thrift::Types::STRUCT, :name => 'o1', :class => MetaException}, + O2 => {:type => ::Thrift::Types::STRUCT, :name => 'o2', :class => NoSuchObjectException} + } + + def struct_fields; FIELDS; end + + def validate + end + + ::Thrift::Struct.generate_accessors self + end + class Alter_table_args include ::Thrift::Struct, ::Thrift::Struct_Union DBNAME = 1 Index: metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java =================================================================== --- metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java (revision 14649) +++ metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java (working copy) @@ -67,6 +67,8 @@ public Table get_table(String dbname, String tbl_name) throws MetaException, NoSuchObjectException, TException; + public List
multi_get_table(String dbname, List tbl_names) throws MetaException, NoSuchObjectException, TException; + public void alter_table(String dbname, String tbl_name, Table new_tbl) throws InvalidOperationException, MetaException, TException; public Partition add_partition(Partition new_part) throws InvalidObjectException, AlreadyExistsException, MetaException, TException; @@ -185,6 +187,8 @@ public void get_table(String dbname, String tbl_name, AsyncMethodCallback resultHandler) throws TException; + public void multi_get_table(String dbname, List tbl_names, AsyncMethodCallback resultHandler) throws TException; + public void alter_table(String dbname, String tbl_name, Table new_tbl, AsyncMethodCallback resultHandler) throws TException; public void add_partition(Partition new_part, AsyncMethodCallback resultHandler) throws TException; @@ -1001,6 +1005,49 @@ throw new TApplicationException(TApplicationException.MISSING_RESULT, "get_table failed: unknown result"); } + public List
multi_get_table(String dbname, List tbl_names) throws MetaException, NoSuchObjectException, TException + { + send_multi_get_table(dbname, tbl_names); + return recv_multi_get_table(); + } + + public void send_multi_get_table(String dbname, List tbl_names) throws TException + { + oprot_.writeMessageBegin(new TMessage("multi_get_table", TMessageType.CALL, ++seqid_)); + multi_get_table_args args = new multi_get_table_args(); + args.setDbname(dbname); + args.setTbl_names(tbl_names); + args.write(oprot_); + oprot_.writeMessageEnd(); + oprot_.getTransport().flush(); + } + + public List
recv_multi_get_table() throws MetaException, NoSuchObjectException, TException + { + TMessage msg = iprot_.readMessageBegin(); + if (msg.type == TMessageType.EXCEPTION) { + TApplicationException x = TApplicationException.read(iprot_); + iprot_.readMessageEnd(); + throw x; + } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "multi_get_table failed: out of sequence response"); + } + multi_get_table_result result = new multi_get_table_result(); + result.read(iprot_); + iprot_.readMessageEnd(); + if (result.isSetSuccess()) { + return result.success; + } + if (result.o1 != null) { + throw result.o1; + } + if (result.o2 != null) { + throw result.o2; + } + throw new TApplicationException(TApplicationException.MISSING_RESULT, "multi_get_table failed: unknown result"); + } + public void alter_table(String dbname, String tbl_name, Table new_tbl) throws InvalidOperationException, MetaException, TException { send_alter_table(dbname, tbl_name, new_tbl); @@ -3262,6 +3309,40 @@ } } + public void multi_get_table(String dbname, List tbl_names, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + multi_get_table_call method_call = new multi_get_table_call(dbname, tbl_names, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class multi_get_table_call extends TAsyncMethodCall { + private String dbname; + private List tbl_names; + public multi_get_table_call(String dbname, List tbl_names, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.dbname = dbname; + this.tbl_names = tbl_names; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("multi_get_table", TMessageType.CALL, 0)); + multi_get_table_args args = new multi_get_table_args(); + args.setDbname(dbname); + args.setTbl_names(tbl_names); + args.write(prot); + prot.writeMessageEnd(); + } + + public List
getResult() throws MetaException, NoSuchObjectException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_multi_get_table(); + } + } + public void alter_table(String dbname, String tbl_name, Table new_tbl, AsyncMethodCallback resultHandler) throws TException { checkReady(); alter_table_call method_call = new alter_table_call(dbname, tbl_name, new_tbl, resultHandler, this, protocolFactory, transport); @@ -4743,6 +4824,7 @@ processMap_.put("get_tables", new get_tables()); processMap_.put("get_all_tables", new get_all_tables()); processMap_.put("get_table", new get_table()); + processMap_.put("multi_get_table", new multi_get_table()); processMap_.put("alter_table", new alter_table()); processMap_.put("add_partition", new add_partition()); processMap_.put("append_partition", new append_partition()); @@ -5491,6 +5573,46 @@ } + private class multi_get_table implements ProcessFunction { + public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException + { + multi_get_table_args args = new multi_get_table_args(); + try { + args.read(iprot); + } catch (TProtocolException e) { + iprot.readMessageEnd(); + TApplicationException x = new TApplicationException(TApplicationException.PROTOCOL_ERROR, e.getMessage()); + oprot.writeMessageBegin(new TMessage("multi_get_table", TMessageType.EXCEPTION, seqid)); + x.write(oprot); + oprot.writeMessageEnd(); + oprot.getTransport().flush(); + return; + } + iprot.readMessageEnd(); + multi_get_table_result result = new multi_get_table_result(); + try { + result.success = iface_.multi_get_table(args.dbname, args.tbl_names); + } catch (MetaException o1) { + result.o1 = o1; + } catch (NoSuchObjectException o2) { + result.o2 = o2; + } catch (Throwable th) { + LOGGER.error("Internal error processing multi_get_table", th); + TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing multi_get_table"); + oprot.writeMessageBegin(new TMessage("multi_get_table", TMessageType.EXCEPTION, seqid)); + x.write(oprot); + oprot.writeMessageEnd(); + oprot.getTransport().flush(); + return; + } + oprot.writeMessageBegin(new TMessage("multi_get_table", TMessageType.REPLY, seqid)); + result.write(oprot); + oprot.writeMessageEnd(); + oprot.getTransport().flush(); + } + + } + private class alter_table implements ProcessFunction { public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException { @@ -8623,7 +8745,7 @@ new FieldValueMetaData(TType.STRING))); tmpMap.put(_Fields.DELETE_DATA, new FieldMetaData("deleteData", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.BOOL))); - tmpMap.put(_Fields.CASCADE, new FieldMetaData("cascade", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.CASCADE, new FieldMetaData("cascade", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.BOOL))); metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(drop_database_args.class, metaDataMap); @@ -8921,7 +9043,7 @@ if (field.type == TType.BOOL) { this.cascade = iprot.readBool(); setCascadeIsSet(true); - } else { + } else { TProtocolUtil.skip(iprot, field.type); } break; @@ -20205,6 +20327,900 @@ } + public static class multi_get_table_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("multi_get_table_args"); + + private static final TField DBNAME_FIELD_DESC = new TField("dbname", TType.STRING, (short)1); + private static final TField TBL_NAMES_FIELD_DESC = new TField("tbl_names", TType.LIST, (short)2); + + private String dbname; + private List tbl_names; + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements TFieldIdEnum { + DBNAME((short)1, "dbname"), + TBL_NAMES((short)2, "tbl_names"); + + private static final Map byName = new HashMap(); + + 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: // DBNAME + return DBNAME; + case 2: // TBL_NAMES + return TBL_NAMES; + 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, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.DBNAME, new FieldMetaData("dbname", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.TBL_NAMES, new FieldMetaData("tbl_names", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new FieldValueMetaData(TType.STRING)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + FieldMetaData.addStructMetaDataMap(multi_get_table_args.class, metaDataMap); + } + + public multi_get_table_args() { + } + + public multi_get_table_args( + String dbname, + List tbl_names) + { + this(); + this.dbname = dbname; + this.tbl_names = tbl_names; + } + + /** + * Performs a deep copy on other. + */ + public multi_get_table_args(multi_get_table_args other) { + if (other.isSetDbname()) { + this.dbname = other.dbname; + } + if (other.isSetTbl_names()) { + List __this__tbl_names = new ArrayList(); + for (String other_element : other.tbl_names) { + __this__tbl_names.add(other_element); + } + this.tbl_names = __this__tbl_names; + } + } + + public multi_get_table_args deepCopy() { + return new multi_get_table_args(this); + } + + @Override + public void clear() { + this.dbname = null; + this.tbl_names = null; + } + + public String getDbname() { + return this.dbname; + } + + public void setDbname(String dbname) { + this.dbname = dbname; + } + + public void unsetDbname() { + this.dbname = null; + } + + /** Returns true if field dbname is set (has been asigned a value) and false otherwise */ + public boolean isSetDbname() { + return this.dbname != null; + } + + public void setDbnameIsSet(boolean value) { + if (!value) { + this.dbname = null; + } + } + + public int getTbl_namesSize() { + return (this.tbl_names == null) ? 0 : this.tbl_names.size(); + } + + public java.util.Iterator getTbl_namesIterator() { + return (this.tbl_names == null) ? null : this.tbl_names.iterator(); + } + + public void addToTbl_names(String elem) { + if (this.tbl_names == null) { + this.tbl_names = new ArrayList(); + } + this.tbl_names.add(elem); + } + + public List getTbl_names() { + return this.tbl_names; + } + + public void setTbl_names(List tbl_names) { + this.tbl_names = tbl_names; + } + + public void unsetTbl_names() { + this.tbl_names = null; + } + + /** Returns true if field tbl_names is set (has been asigned a value) and false otherwise */ + public boolean isSetTbl_names() { + return this.tbl_names != null; + } + + public void setTbl_namesIsSet(boolean value) { + if (!value) { + this.tbl_names = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case DBNAME: + if (value == null) { + unsetDbname(); + } else { + setDbname((String)value); + } + break; + + case TBL_NAMES: + if (value == null) { + unsetTbl_names(); + } else { + setTbl_names((List)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case DBNAME: + return getDbname(); + + case TBL_NAMES: + return getTbl_names(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case DBNAME: + return isSetDbname(); + case TBL_NAMES: + return isSetTbl_names(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof multi_get_table_args) + return this.equals((multi_get_table_args)that); + return false; + } + + public boolean equals(multi_get_table_args that) { + if (that == null) + return false; + + boolean this_present_dbname = true && this.isSetDbname(); + boolean that_present_dbname = true && that.isSetDbname(); + if (this_present_dbname || that_present_dbname) { + if (!(this_present_dbname && that_present_dbname)) + return false; + if (!this.dbname.equals(that.dbname)) + return false; + } + + boolean this_present_tbl_names = true && this.isSetTbl_names(); + boolean that_present_tbl_names = true && that.isSetTbl_names(); + if (this_present_tbl_names || that_present_tbl_names) { + if (!(this_present_tbl_names && that_present_tbl_names)) + return false; + if (!this.tbl_names.equals(that.tbl_names)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + public int compareTo(multi_get_table_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + multi_get_table_args typedOther = (multi_get_table_args)other; + + lastComparison = Boolean.valueOf(isSetDbname()).compareTo(typedOther.isSetDbname()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetDbname()) { + lastComparison = TBaseHelper.compareTo(this.dbname, typedOther.dbname); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTbl_names()).compareTo(typedOther.isSetTbl_names()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTbl_names()) { + lastComparison = TBaseHelper.compareTo(this.tbl_names, typedOther.tbl_names); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(TProtocol iprot) throws TException { + TField field; + iprot.readStructBegin(); + while (true) + { + field = iprot.readFieldBegin(); + if (field.type == TType.STOP) { + break; + } + switch (field.id) { + case 1: // DBNAME + if (field.type == TType.STRING) { + this.dbname = iprot.readString(); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case 2: // TBL_NAMES + if (field.type == TType.LIST) { + { + TList _list127 = iprot.readListBegin(); + this.tbl_names = new ArrayList(_list127.size); + for (int _i128 = 0; _i128 < _list127.size; ++_i128) + { + String _elem129; + _elem129 = iprot.readString(); + this.tbl_names.add(_elem129); + } + iprot.readListEnd(); + } + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + default: + TProtocolUtil.skip(iprot, field.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + validate(); + } + + public void write(TProtocol oprot) throws TException { + validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (this.dbname != null) { + oprot.writeFieldBegin(DBNAME_FIELD_DESC); + oprot.writeString(this.dbname); + oprot.writeFieldEnd(); + } + if (this.tbl_names != null) { + oprot.writeFieldBegin(TBL_NAMES_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRING, this.tbl_names.size())); + for (String _iter130 : this.tbl_names) + { + oprot.writeString(_iter130); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("multi_get_table_args("); + boolean first = true; + + sb.append("dbname:"); + if (this.dbname == null) { + sb.append("null"); + } else { + sb.append(this.dbname); + } + first = false; + if (!first) sb.append(", "); + sb.append("tbl_names:"); + if (this.tbl_names == null) { + sb.append("null"); + } else { + sb.append(this.tbl_names); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws TException { + // check for required fields + } + + } + + public static class multi_get_table_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("multi_get_table_result"); + + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); + private static final TField O1_FIELD_DESC = new TField("o1", TType.STRUCT, (short)1); + private static final TField O2_FIELD_DESC = new TField("o2", TType.STRUCT, (short)2); + + private List
success; + private MetaException o1; + private NoSuchObjectException o2; + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements TFieldIdEnum { + SUCCESS((short)0, "success"), + O1((short)1, "o1"), + O2((short)2, "o2"); + + private static final Map byName = new HashMap(); + + 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 0: // SUCCESS + return SUCCESS; + case 1: // O1 + return O1; + case 2: // O2 + return O2; + 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, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, Table.class)))); + tmpMap.put(_Fields.O1, new FieldMetaData("o1", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.O2, new FieldMetaData("o2", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + FieldMetaData.addStructMetaDataMap(multi_get_table_result.class, metaDataMap); + } + + public multi_get_table_result() { + } + + public multi_get_table_result( + List
success, + MetaException o1, + NoSuchObjectException o2) + { + this(); + this.success = success; + this.o1 = o1; + this.o2 = o2; + } + + /** + * Performs a deep copy on other. + */ + public multi_get_table_result(multi_get_table_result other) { + if (other.isSetSuccess()) { + List
__this__success = new ArrayList
(); + for (Table other_element : other.success) { + __this__success.add(new Table(other_element)); + } + this.success = __this__success; + } + if (other.isSetO1()) { + this.o1 = new MetaException(other.o1); + } + if (other.isSetO2()) { + this.o2 = new NoSuchObjectException(other.o2); + } + } + + public multi_get_table_result deepCopy() { + return new multi_get_table_result(this); + } + + @Override + public void clear() { + this.success = null; + this.o1 = null; + this.o2 = null; + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator
getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(Table elem) { + if (this.success == null) { + this.success = new ArrayList
(); + } + this.success.add(elem); + } + + public List
getSuccess() { + return this.success; + } + + public void setSuccess(List
success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + /** Returns true if field success is set (has been asigned a value) and false otherwise */ + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public MetaException getO1() { + return this.o1; + } + + public void setO1(MetaException o1) { + this.o1 = o1; + } + + public void unsetO1() { + this.o1 = null; + } + + /** Returns true if field o1 is set (has been asigned a value) and false otherwise */ + public boolean isSetO1() { + return this.o1 != null; + } + + public void setO1IsSet(boolean value) { + if (!value) { + this.o1 = null; + } + } + + public NoSuchObjectException getO2() { + return this.o2; + } + + public void setO2(NoSuchObjectException o2) { + this.o2 = o2; + } + + public void unsetO2() { + this.o2 = null; + } + + /** Returns true if field o2 is set (has been asigned a value) and false otherwise */ + public boolean isSetO2() { + return this.o2 != null; + } + + public void setO2IsSet(boolean value) { + if (!value) { + this.o2 = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List
)value); + } + break; + + case O1: + if (value == null) { + unsetO1(); + } else { + setO1((MetaException)value); + } + break; + + case O2: + if (value == null) { + unsetO2(); + } else { + setO2((NoSuchObjectException)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return getSuccess(); + + case O1: + return getO1(); + + case O2: + return getO2(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case O1: + return isSetO1(); + case O2: + return isSetO2(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof multi_get_table_result) + return this.equals((multi_get_table_result)that); + return false; + } + + public boolean equals(multi_get_table_result that) { + if (that == null) + return false; + + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (!this.success.equals(that.success)) + return false; + } + + boolean this_present_o1 = true && this.isSetO1(); + boolean that_present_o1 = true && that.isSetO1(); + if (this_present_o1 || that_present_o1) { + if (!(this_present_o1 && that_present_o1)) + return false; + if (!this.o1.equals(that.o1)) + return false; + } + + boolean this_present_o2 = true && this.isSetO2(); + boolean that_present_o2 = true && that.isSetO2(); + if (this_present_o2 || that_present_o2) { + if (!(this_present_o2 && that_present_o2)) + return false; + if (!this.o2.equals(that.o2)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + public int compareTo(multi_get_table_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + multi_get_table_result typedOther = (multi_get_table_result)other; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetO1()).compareTo(typedOther.isSetO1()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetO1()) { + lastComparison = TBaseHelper.compareTo(this.o1, typedOther.o1); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetO2()).compareTo(typedOther.isSetO2()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetO2()) { + lastComparison = TBaseHelper.compareTo(this.o2, typedOther.o2); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(TProtocol iprot) throws TException { + TField field; + iprot.readStructBegin(); + while (true) + { + field = iprot.readFieldBegin(); + if (field.type == TType.STOP) { + break; + } + switch (field.id) { + case 0: // SUCCESS + if (field.type == TType.LIST) { + { + TList _list131 = iprot.readListBegin(); + this.success = new ArrayList
(_list131.size); + for (int _i132 = 0; _i132 < _list131.size; ++_i132) + { + Table _elem133; + _elem133 = new Table(); + _elem133.read(iprot); + this.success.add(_elem133); + } + iprot.readListEnd(); + } + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case 1: // O1 + if (field.type == TType.STRUCT) { + this.o1 = new MetaException(); + this.o1.read(iprot); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case 2: // O2 + if (field.type == TType.STRUCT) { + this.o2 = new NoSuchObjectException(); + this.o2.read(iprot); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + default: + TProtocolUtil.skip(iprot, field.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + validate(); + } + + public void write(TProtocol oprot) throws TException { + oprot.writeStructBegin(STRUCT_DESC); + + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); + for (Table _iter134 : this.success) + { + _iter134.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } else if (this.isSetO1()) { + oprot.writeFieldBegin(O1_FIELD_DESC); + this.o1.write(oprot); + oprot.writeFieldEnd(); + } else if (this.isSetO2()) { + oprot.writeFieldBegin(O2_FIELD_DESC); + this.o2.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("multi_get_table_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 TException { + // check for required fields + } + + } + public static class alter_table_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("alter_table_args"); @@ -22247,13 +23263,13 @@ case 3: // PART_VALS if (field.type == TType.LIST) { { - TList _list127 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list127.size); - for (int _i128 = 0; _i128 < _list127.size; ++_i128) + TList _list135 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list135.size); + for (int _i136 = 0; _i136 < _list135.size; ++_i136) { - String _elem129; - _elem129 = iprot.readString(); - this.part_vals.add(_elem129); + String _elem137; + _elem137 = iprot.readString(); + this.part_vals.add(_elem137); } iprot.readListEnd(); } @@ -22288,9 +23304,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.part_vals.size())); - for (String _iter130 : this.part_vals) + for (String _iter138 : this.part_vals) { - oprot.writeString(_iter130); + oprot.writeString(_iter138); } oprot.writeListEnd(); } @@ -24347,13 +25363,13 @@ case 3: // PART_VALS if (field.type == TType.LIST) { { - TList _list131 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list131.size); - for (int _i132 = 0; _i132 < _list131.size; ++_i132) + TList _list139 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list139.size); + for (int _i140 = 0; _i140 < _list139.size; ++_i140) { - String _elem133; - _elem133 = iprot.readString(); - this.part_vals.add(_elem133); + String _elem141; + _elem141 = iprot.readString(); + this.part_vals.add(_elem141); } iprot.readListEnd(); } @@ -24396,9 +25412,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.part_vals.size())); - for (String _iter134 : this.part_vals) + for (String _iter142 : this.part_vals) { - oprot.writeString(_iter134); + oprot.writeString(_iter142); } oprot.writeListEnd(); } @@ -26299,13 +27315,13 @@ case 3: // PART_VALS if (field.type == TType.LIST) { { - TList _list135 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list135.size); - for (int _i136 = 0; _i136 < _list135.size; ++_i136) + TList _list143 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list143.size); + for (int _i144 = 0; _i144 < _list143.size; ++_i144) { - String _elem137; - _elem137 = iprot.readString(); - this.part_vals.add(_elem137); + String _elem145; + _elem145 = iprot.readString(); + this.part_vals.add(_elem145); } iprot.readListEnd(); } @@ -26340,9 +27356,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.part_vals.size())); - for (String _iter138 : this.part_vals) + for (String _iter146 : this.part_vals) { - oprot.writeString(_iter138); + oprot.writeString(_iter146); } oprot.writeListEnd(); } @@ -27400,13 +28416,13 @@ case 3: // PART_VALS if (field.type == TType.LIST) { { - TList _list139 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list139.size); - for (int _i140 = 0; _i140 < _list139.size; ++_i140) + TList _list147 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list147.size); + for (int _i148 = 0; _i148 < _list147.size; ++_i148) { - String _elem141; - _elem141 = iprot.readString(); - this.part_vals.add(_elem141); + String _elem149; + _elem149 = iprot.readString(); + this.part_vals.add(_elem149); } iprot.readListEnd(); } @@ -27424,13 +28440,13 @@ case 5: // GROUP_NAMES if (field.type == TType.LIST) { { - TList _list142 = iprot.readListBegin(); - this.group_names = new ArrayList(_list142.size); - for (int _i143 = 0; _i143 < _list142.size; ++_i143) + TList _list150 = iprot.readListBegin(); + this.group_names = new ArrayList(_list150.size); + for (int _i151 = 0; _i151 < _list150.size; ++_i151) { - String _elem144; - _elem144 = iprot.readString(); - this.group_names.add(_elem144); + String _elem152; + _elem152 = iprot.readString(); + this.group_names.add(_elem152); } iprot.readListEnd(); } @@ -27465,9 +28481,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.part_vals.size())); - for (String _iter145 : this.part_vals) + for (String _iter153 : this.part_vals) { - oprot.writeString(_iter145); + oprot.writeString(_iter153); } oprot.writeListEnd(); } @@ -27482,9 +28498,9 @@ oprot.writeFieldBegin(GROUP_NAMES_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.group_names.size())); - for (String _iter146 : this.group_names) + for (String _iter154 : this.group_names) { - oprot.writeString(_iter146); + oprot.writeString(_iter154); } oprot.writeListEnd(); } @@ -29750,14 +30766,14 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list147 = iprot.readListBegin(); - this.success = new ArrayList(_list147.size); - for (int _i148 = 0; _i148 < _list147.size; ++_i148) + TList _list155 = iprot.readListBegin(); + this.success = new ArrayList(_list155.size); + for (int _i156 = 0; _i156 < _list155.size; ++_i156) { - Partition _elem149; - _elem149 = new Partition(); - _elem149.read(iprot); - this.success.add(_elem149); + Partition _elem157; + _elem157 = new Partition(); + _elem157.read(iprot); + this.success.add(_elem157); } iprot.readListEnd(); } @@ -29797,9 +30813,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (Partition _iter150 : this.success) + for (Partition _iter158 : this.success) { - _iter150.write(oprot); + _iter158.write(oprot); } oprot.writeListEnd(); } @@ -30411,13 +31427,13 @@ case 5: // GROUP_NAMES if (field.type == TType.LIST) { { - TList _list151 = iprot.readListBegin(); - this.group_names = new ArrayList(_list151.size); - for (int _i152 = 0; _i152 < _list151.size; ++_i152) + TList _list159 = iprot.readListBegin(); + this.group_names = new ArrayList(_list159.size); + for (int _i160 = 0; _i160 < _list159.size; ++_i160) { - String _elem153; - _elem153 = iprot.readString(); - this.group_names.add(_elem153); + String _elem161; + _elem161 = iprot.readString(); + this.group_names.add(_elem161); } iprot.readListEnd(); } @@ -30460,9 +31476,9 @@ oprot.writeFieldBegin(GROUP_NAMES_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.group_names.size())); - for (String _iter154 : this.group_names) + for (String _iter162 : this.group_names) { - oprot.writeString(_iter154); + oprot.writeString(_iter162); } oprot.writeListEnd(); } @@ -30908,14 +31924,14 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list155 = iprot.readListBegin(); - this.success = new ArrayList(_list155.size); - for (int _i156 = 0; _i156 < _list155.size; ++_i156) + TList _list163 = iprot.readListBegin(); + this.success = new ArrayList(_list163.size); + for (int _i164 = 0; _i164 < _list163.size; ++_i164) { - Partition _elem157; - _elem157 = new Partition(); - _elem157.read(iprot); - this.success.add(_elem157); + Partition _elem165; + _elem165 = new Partition(); + _elem165.read(iprot); + this.success.add(_elem165); } iprot.readListEnd(); } @@ -30955,9 +31971,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (Partition _iter158 : this.success) + for (Partition _iter166 : this.success) { - _iter158.write(oprot); + _iter166.write(oprot); } oprot.writeListEnd(); } @@ -31785,13 +32801,13 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list159 = iprot.readListBegin(); - this.success = new ArrayList(_list159.size); - for (int _i160 = 0; _i160 < _list159.size; ++_i160) + TList _list167 = iprot.readListBegin(); + this.success = new ArrayList(_list167.size); + for (int _i168 = 0; _i168 < _list167.size; ++_i168) { - String _elem161; - _elem161 = iprot.readString(); - this.success.add(_elem161); + String _elem169; + _elem169 = iprot.readString(); + this.success.add(_elem169); } iprot.readListEnd(); } @@ -31823,9 +32839,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.success.size())); - for (String _iter162 : this.success) + for (String _iter170 : this.success) { - oprot.writeString(_iter162); + oprot.writeString(_iter170); } oprot.writeListEnd(); } @@ -32342,13 +33358,13 @@ case 3: // PART_VALS if (field.type == TType.LIST) { { - TList _list163 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list163.size); - for (int _i164 = 0; _i164 < _list163.size; ++_i164) + TList _list171 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list171.size); + for (int _i172 = 0; _i172 < _list171.size; ++_i172) { - String _elem165; - _elem165 = iprot.readString(); - this.part_vals.add(_elem165); + String _elem173; + _elem173 = iprot.readString(); + this.part_vals.add(_elem173); } iprot.readListEnd(); } @@ -32391,9 +33407,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.part_vals.size())); - for (String _iter166 : this.part_vals) + for (String _iter174 : this.part_vals) { - oprot.writeString(_iter166); + oprot.writeString(_iter174); } oprot.writeListEnd(); } @@ -32766,14 +33782,14 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list167 = iprot.readListBegin(); - this.success = new ArrayList(_list167.size); - for (int _i168 = 0; _i168 < _list167.size; ++_i168) + TList _list175 = iprot.readListBegin(); + this.success = new ArrayList(_list175.size); + for (int _i176 = 0; _i176 < _list175.size; ++_i176) { - Partition _elem169; - _elem169 = new Partition(); - _elem169.read(iprot); - this.success.add(_elem169); + Partition _elem177; + _elem177 = new Partition(); + _elem177.read(iprot); + this.success.add(_elem177); } iprot.readListEnd(); } @@ -32805,9 +33821,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (Partition _iter170 : this.success) + for (Partition _iter178 : this.success) { - _iter170.write(oprot); + _iter178.write(oprot); } oprot.writeListEnd(); } @@ -33480,13 +34496,13 @@ case 3: // PART_VALS if (field.type == TType.LIST) { { - TList _list171 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list171.size); - for (int _i172 = 0; _i172 < _list171.size; ++_i172) + TList _list179 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list179.size); + for (int _i180 = 0; _i180 < _list179.size; ++_i180) { - String _elem173; - _elem173 = iprot.readString(); - this.part_vals.add(_elem173); + String _elem181; + _elem181 = iprot.readString(); + this.part_vals.add(_elem181); } iprot.readListEnd(); } @@ -33512,13 +34528,13 @@ case 6: // GROUP_NAMES if (field.type == TType.LIST) { { - TList _list174 = iprot.readListBegin(); - this.group_names = new ArrayList(_list174.size); - for (int _i175 = 0; _i175 < _list174.size; ++_i175) + TList _list182 = iprot.readListBegin(); + this.group_names = new ArrayList(_list182.size); + for (int _i183 = 0; _i183 < _list182.size; ++_i183) { - String _elem176; - _elem176 = iprot.readString(); - this.group_names.add(_elem176); + String _elem184; + _elem184 = iprot.readString(); + this.group_names.add(_elem184); } iprot.readListEnd(); } @@ -33553,9 +34569,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.part_vals.size())); - for (String _iter177 : this.part_vals) + for (String _iter185 : this.part_vals) { - oprot.writeString(_iter177); + oprot.writeString(_iter185); } oprot.writeListEnd(); } @@ -33573,9 +34589,9 @@ oprot.writeFieldBegin(GROUP_NAMES_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.group_names.size())); - for (String _iter178 : this.group_names) + for (String _iter186 : this.group_names) { - oprot.writeString(_iter178); + oprot.writeString(_iter186); } oprot.writeListEnd(); } @@ -34029,14 +35045,14 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list179 = iprot.readListBegin(); - this.success = new ArrayList(_list179.size); - for (int _i180 = 0; _i180 < _list179.size; ++_i180) + TList _list187 = iprot.readListBegin(); + this.success = new ArrayList(_list187.size); + for (int _i188 = 0; _i188 < _list187.size; ++_i188) { - Partition _elem181; - _elem181 = new Partition(); - _elem181.read(iprot); - this.success.add(_elem181); + Partition _elem189; + _elem189 = new Partition(); + _elem189.read(iprot); + this.success.add(_elem189); } iprot.readListEnd(); } @@ -34076,9 +35092,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (Partition _iter182 : this.success) + for (Partition _iter190 : this.success) { - _iter182.write(oprot); + _iter190.write(oprot); } oprot.writeListEnd(); } @@ -34607,13 +35623,13 @@ case 3: // PART_VALS if (field.type == TType.LIST) { { - TList _list183 = iprot.readListBegin(); - this.part_vals = new ArrayList(_list183.size); - for (int _i184 = 0; _i184 < _list183.size; ++_i184) + TList _list191 = iprot.readListBegin(); + this.part_vals = new ArrayList(_list191.size); + for (int _i192 = 0; _i192 < _list191.size; ++_i192) { - String _elem185; - _elem185 = iprot.readString(); - this.part_vals.add(_elem185); + String _elem193; + _elem193 = iprot.readString(); + this.part_vals.add(_elem193); } iprot.readListEnd(); } @@ -34656,9 +35672,9 @@ oprot.writeFieldBegin(PART_VALS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.part_vals.size())); - for (String _iter186 : this.part_vals) + for (String _iter194 : this.part_vals) { - oprot.writeString(_iter186); + oprot.writeString(_iter194); } oprot.writeListEnd(); } @@ -35031,13 +36047,13 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list187 = iprot.readListBegin(); - this.success = new ArrayList(_list187.size); - for (int _i188 = 0; _i188 < _list187.size; ++_i188) + TList _list195 = iprot.readListBegin(); + this.success = new ArrayList(_list195.size); + for (int _i196 = 0; _i196 < _list195.size; ++_i196) { - String _elem189; - _elem189 = iprot.readString(); - this.success.add(_elem189); + String _elem197; + _elem197 = iprot.readString(); + this.success.add(_elem197); } iprot.readListEnd(); } @@ -35069,9 +36085,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.success.size())); - for (String _iter190 : this.success) + for (String _iter198 : this.success) { - oprot.writeString(_iter190); + oprot.writeString(_iter198); } oprot.writeListEnd(); } @@ -36043,14 +37059,14 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list191 = iprot.readListBegin(); - this.success = new ArrayList(_list191.size); - for (int _i192 = 0; _i192 < _list191.size; ++_i192) + TList _list199 = iprot.readListBegin(); + this.success = new ArrayList(_list199.size); + for (int _i200 = 0; _i200 < _list199.size; ++_i200) { - Partition _elem193; - _elem193 = new Partition(); - _elem193.read(iprot); - this.success.add(_elem193); + Partition _elem201; + _elem201 = new Partition(); + _elem201.read(iprot); + this.success.add(_elem201); } iprot.readListEnd(); } @@ -36090,9 +37106,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (Partition _iter194 : this.success) + for (Partition _iter202 : this.success) { - _iter194.write(oprot); + _iter202.write(oprot); } oprot.writeListEnd(); } @@ -36548,13 +37564,13 @@ case 3: // NAMES if (field.type == TType.LIST) { { - TList _list195 = iprot.readListBegin(); - this.names = new ArrayList(_list195.size); - for (int _i196 = 0; _i196 < _list195.size; ++_i196) + TList _list203 = iprot.readListBegin(); + this.names = new ArrayList(_list203.size); + for (int _i204 = 0; _i204 < _list203.size; ++_i204) { - String _elem197; - _elem197 = iprot.readString(); - this.names.add(_elem197); + String _elem205; + _elem205 = iprot.readString(); + this.names.add(_elem205); } iprot.readListEnd(); } @@ -36589,9 +37605,9 @@ oprot.writeFieldBegin(NAMES_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.names.size())); - for (String _iter198 : this.names) + for (String _iter206 : this.names) { - oprot.writeString(_iter198); + oprot.writeString(_iter206); } oprot.writeListEnd(); } @@ -37025,14 +38041,14 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list199 = iprot.readListBegin(); - this.success = new ArrayList(_list199.size); - for (int _i200 = 0; _i200 < _list199.size; ++_i200) + TList _list207 = iprot.readListBegin(); + this.success = new ArrayList(_list207.size); + for (int _i208 = 0; _i208 < _list207.size; ++_i208) { - Partition _elem201; - _elem201 = new Partition(); - _elem201.read(iprot); - this.success.add(_elem201); + Partition _elem209; + _elem209 = new Partition(); + _elem209.read(iprot); + this.success.add(_elem209); } iprot.readListEnd(); } @@ -37072,9 +38088,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (Partition _iter202 : this.success) + for (Partition _iter210 : this.success) { - _iter202.write(oprot); + _iter210.write(oprot); } oprot.writeListEnd(); } @@ -39278,13 +40294,13 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list203 = iprot.readListBegin(); - this.success = new ArrayList(_list203.size); - for (int _i204 = 0; _i204 < _list203.size; ++_i204) + TList _list211 = iprot.readListBegin(); + this.success = new ArrayList(_list211.size); + for (int _i212 = 0; _i212 < _list211.size; ++_i212) { - String _elem205; - _elem205 = iprot.readString(); - this.success.add(_elem205); + String _elem213; + _elem213 = iprot.readString(); + this.success.add(_elem213); } iprot.readListEnd(); } @@ -39316,9 +40332,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.success.size())); - for (String _iter206 : this.success) + for (String _iter214 : this.success) { - oprot.writeString(_iter206); + oprot.writeString(_iter214); } oprot.writeListEnd(); } @@ -39963,15 +40979,15 @@ case 0: // SUCCESS if (field.type == TType.MAP) { { - TMap _map207 = iprot.readMapBegin(); - this.success = new HashMap(2*_map207.size); - for (int _i208 = 0; _i208 < _map207.size; ++_i208) + TMap _map215 = iprot.readMapBegin(); + this.success = new HashMap(2*_map215.size); + for (int _i216 = 0; _i216 < _map215.size; ++_i216) { - String _key209; - String _val210; - _key209 = iprot.readString(); - _val210 = iprot.readString(); - this.success.put(_key209, _val210); + String _key217; + String _val218; + _key217 = iprot.readString(); + _val218 = iprot.readString(); + this.success.put(_key217, _val218); } iprot.readMapEnd(); } @@ -40003,10 +41019,10 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeMapBegin(new TMap(TType.STRING, TType.STRING, this.success.size())); - for (Map.Entry _iter211 : this.success.entrySet()) + for (Map.Entry _iter219 : this.success.entrySet()) { - oprot.writeString(_iter211.getKey()); - oprot.writeString(_iter211.getValue()); + oprot.writeString(_iter219.getKey()); + oprot.writeString(_iter219.getValue()); } oprot.writeMapEnd(); } @@ -44610,14 +45626,14 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list212 = iprot.readListBegin(); - this.success = new ArrayList(_list212.size); - for (int _i213 = 0; _i213 < _list212.size; ++_i213) + TList _list220 = iprot.readListBegin(); + this.success = new ArrayList(_list220.size); + for (int _i221 = 0; _i221 < _list220.size; ++_i221) { - Index _elem214; - _elem214 = new Index(); - _elem214.read(iprot); - this.success.add(_elem214); + Index _elem222; + _elem222 = new Index(); + _elem222.read(iprot); + this.success.add(_elem222); } iprot.readListEnd(); } @@ -44657,9 +45673,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (Index _iter215 : this.success) + for (Index _iter223 : this.success) { - _iter215.write(oprot); + _iter223.write(oprot); } oprot.writeListEnd(); } @@ -45487,13 +46503,13 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list216 = iprot.readListBegin(); - this.success = new ArrayList(_list216.size); - for (int _i217 = 0; _i217 < _list216.size; ++_i217) + TList _list224 = iprot.readListBegin(); + this.success = new ArrayList(_list224.size); + for (int _i225 = 0; _i225 < _list224.size; ++_i225) { - String _elem218; - _elem218 = iprot.readString(); - this.success.add(_elem218); + String _elem226; + _elem226 = iprot.readString(); + this.success.add(_elem226); } iprot.readListEnd(); } @@ -45525,9 +46541,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.success.size())); - for (String _iter219 : this.success) + for (String _iter227 : this.success) { - oprot.writeString(_iter219); + oprot.writeString(_iter227); } oprot.writeListEnd(); } @@ -47360,13 +48376,13 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list220 = iprot.readListBegin(); - this.success = new ArrayList(_list220.size); - for (int _i221 = 0; _i221 < _list220.size; ++_i221) + TList _list228 = iprot.readListBegin(); + this.success = new ArrayList(_list228.size); + for (int _i229 = 0; _i229 < _list228.size; ++_i229) { - String _elem222; - _elem222 = iprot.readString(); - this.success.add(_elem222); + String _elem230; + _elem230 = iprot.readString(); + this.success.add(_elem230); } iprot.readListEnd(); } @@ -47398,9 +48414,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.success.size())); - for (String _iter223 : this.success) + for (String _iter231 : this.success) { - oprot.writeString(_iter223); + oprot.writeString(_iter231); } oprot.writeListEnd(); } @@ -50076,14 +51092,14 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list224 = iprot.readListBegin(); - this.success = new ArrayList(_list224.size); - for (int _i225 = 0; _i225 < _list224.size; ++_i225) + TList _list232 = iprot.readListBegin(); + this.success = new ArrayList(_list232.size); + for (int _i233 = 0; _i233 < _list232.size; ++_i233) { - Role _elem226; - _elem226 = new Role(); - _elem226.read(iprot); - this.success.add(_elem226); + Role _elem234; + _elem234 = new Role(); + _elem234.read(iprot); + this.success.add(_elem234); } iprot.readListEnd(); } @@ -50115,9 +51131,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (Role _iter227 : this.success) + for (Role _iter235 : this.success) { - _iter227.write(oprot); + _iter235.write(oprot); } oprot.writeListEnd(); } @@ -50562,13 +51578,13 @@ case 3: // GROUP_NAMES if (field.type == TType.LIST) { { - TList _list228 = iprot.readListBegin(); - this.group_names = new ArrayList(_list228.size); - for (int _i229 = 0; _i229 < _list228.size; ++_i229) + TList _list236 = iprot.readListBegin(); + this.group_names = new ArrayList(_list236.size); + for (int _i237 = 0; _i237 < _list236.size; ++_i237) { - String _elem230; - _elem230 = iprot.readString(); - this.group_names.add(_elem230); + String _elem238; + _elem238 = iprot.readString(); + this.group_names.add(_elem238); } iprot.readListEnd(); } @@ -50603,9 +51619,9 @@ oprot.writeFieldBegin(GROUP_NAMES_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.group_names.size())); - for (String _iter231 : this.group_names) + for (String _iter239 : this.group_names) { - oprot.writeString(_iter231); + oprot.writeString(_iter239); } oprot.writeListEnd(); } @@ -51804,14 +52820,14 @@ case 0: // SUCCESS if (field.type == TType.LIST) { { - TList _list232 = iprot.readListBegin(); - this.success = new ArrayList(_list232.size); - for (int _i233 = 0; _i233 < _list232.size; ++_i233) + TList _list240 = iprot.readListBegin(); + this.success = new ArrayList(_list240.size); + for (int _i241 = 0; _i241 < _list240.size; ++_i241) { - HiveObjectPrivilege _elem234; - _elem234 = new HiveObjectPrivilege(); - _elem234.read(iprot); - this.success.add(_elem234); + HiveObjectPrivilege _elem242; + _elem242 = new HiveObjectPrivilege(); + _elem242.read(iprot); + this.success.add(_elem242); } iprot.readListEnd(); } @@ -51843,9 +52859,9 @@ oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (HiveObjectPrivilege _iter235 : this.success) + for (HiveObjectPrivilege _iter243 : this.success) { - _iter235.write(oprot); + _iter243.write(oprot); } oprot.writeListEnd(); } Index: metastore/src/gen/thrift/gen-php/hive_metastore/ThriftHiveMetastore.php =================================================================== --- metastore/src/gen/thrift/gen-php/hive_metastore/ThriftHiveMetastore.php (revision 14649) +++ metastore/src/gen/thrift/gen-php/hive_metastore/ThriftHiveMetastore.php (working copy) @@ -27,6 +27,7 @@ public function get_tables($db_name, $pattern); public function get_all_tables($db_name); public function get_table($dbname, $tbl_name); + public function multi_get_table($dbname, $tbl_names); public function alter_table($dbname, $tbl_name, $new_tbl); public function add_partition($new_part); public function append_partition($db_name, $tbl_name, $part_vals); @@ -1042,6 +1043,64 @@ throw new Exception("get_table failed: unknown result"); } + public function multi_get_table($dbname, $tbl_names) + { + $this->send_multi_get_table($dbname, $tbl_names); + return $this->recv_multi_get_table(); + } + + public function send_multi_get_table($dbname, $tbl_names) + { + $args = new metastore_ThriftHiveMetastore_multi_get_table_args(); + $args->dbname = $dbname; + $args->tbl_names = $tbl_names; + $bin_accel = ($this->output_ instanceof TProtocol::$TBINARYPROTOCOLACCELERATED) && function_exists('thrift_protocol_write_binary'); + if ($bin_accel) + { + thrift_protocol_write_binary($this->output_, 'multi_get_table', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite()); + } + else + { + $this->output_->writeMessageBegin('multi_get_table', TMessageType::CALL, $this->seqid_); + $args->write($this->output_); + $this->output_->writeMessageEnd(); + $this->output_->getTransport()->flush(); + } + } + + public function recv_multi_get_table() + { + $bin_accel = ($this->input_ instanceof TProtocol::$TBINARYPROTOCOLACCELERATED) && function_exists('thrift_protocol_read_binary'); + if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, 'metastore_ThriftHiveMetastore_multi_get_table_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_multi_get_table_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; + } + throw new Exception("multi_get_table failed: unknown result"); + } + public function alter_table($dbname, $tbl_name, $new_tbl) { $this->send_alter_table($dbname, $tbl_name, $new_tbl); @@ -6867,6 +6926,268 @@ } +class metastore_ThriftHiveMetastore_multi_get_table_args { + static $_TSPEC; + + public $dbname = null; + public $tbl_names = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'dbname', + 'type' => TType::STRING, + ), + 2 => array( + 'var' => 'tbl_names', + 'type' => TType::LST, + 'etype' => TType::STRING, + 'elem' => array( + 'type' => TType::STRING, + ), + ), + ); + } + if (is_array($vals)) { + if (isset($vals['dbname'])) { + $this->dbname = $vals['dbname']; + } + if (isset($vals['tbl_names'])) { + $this->tbl_names = $vals['tbl_names']; + } + } + } + + public function getName() { + return 'ThriftHiveMetastore_multi_get_table_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::STRING) { + $xfer += $input->readString($this->dbname); + } else { + $xfer += $input->skip($ftype); + } + break; + case 2: + if ($ftype == TType::LST) { + $this->tbl_names = array(); + $_size225 = 0; + $_etype228 = 0; + $xfer += $input->readListBegin($_etype228, $_size225); + for ($_i229 = 0; $_i229 < $_size225; ++$_i229) + { + $elem230 = null; + $xfer += $input->readString($elem230); + $this->tbl_names []= $elem230; + } + $xfer += $input->readListEnd(); + } 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_multi_get_table_args'); + if ($this->dbname !== null) { + $xfer += $output->writeFieldBegin('dbname', TType::STRING, 1); + $xfer += $output->writeString($this->dbname); + $xfer += $output->writeFieldEnd(); + } + if ($this->tbl_names !== null) { + if (!is_array($this->tbl_names)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('tbl_names', TType::LST, 2); + { + $output->writeListBegin(TType::STRING, count($this->tbl_names)); + { + foreach ($this->tbl_names as $iter231) + { + $xfer += $output->writeString($iter231); + } + } + $output->writeListEnd(); + } + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + +class metastore_ThriftHiveMetastore_multi_get_table_result { + static $_TSPEC; + + public $success = null; + public $o1 = null; + public $o2 = 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_Table', + ), + ), + 1 => array( + 'var' => 'o1', + 'type' => TType::STRUCT, + 'class' => 'metastore_MetaException', + ), + 2 => array( + 'var' => 'o2', + 'type' => TType::STRUCT, + 'class' => 'metastore_NoSuchObjectException', + ), + ); + } + 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']; + } + } + } + + public function getName() { + return 'ThriftHiveMetastore_multi_get_table_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(); + $_size232 = 0; + $_etype235 = 0; + $xfer += $input->readListBegin($_etype235, $_size232); + for ($_i236 = 0; $_i236 < $_size232; ++$_i236) + { + $elem237 = null; + $elem237 = new metastore_Table(); + $xfer += $elem237->read($input); + $this->success []= $elem237; + } + $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; + default: + $xfer += $input->skip($ftype); + break; + } + $xfer += $input->readFieldEnd(); + } + $xfer += $input->readStructEnd(); + return $xfer; + } + + public function write($output) { + $xfer = 0; + $xfer += $output->writeStructBegin('ThriftHiveMetastore_multi_get_table_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 $iter238) + { + $xfer += $iter238->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(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + class metastore_ThriftHiveMetastore_alter_table_args { static $_TSPEC; @@ -7377,14 +7698,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size225 = 0; - $_etype228 = 0; - $xfer += $input->readListBegin($_etype228, $_size225); - for ($_i229 = 0; $_i229 < $_size225; ++$_i229) + $_size239 = 0; + $_etype242 = 0; + $xfer += $input->readListBegin($_etype242, $_size239); + for ($_i243 = 0; $_i243 < $_size239; ++$_i243) { - $elem230 = null; - $xfer += $input->readString($elem230); - $this->part_vals []= $elem230; + $elem244 = null; + $xfer += $input->readString($elem244); + $this->part_vals []= $elem244; } $xfer += $input->readListEnd(); } else { @@ -7422,9 +7743,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter231) + foreach ($this->part_vals as $iter245) { - $xfer += $output->writeString($iter231); + $xfer += $output->writeString($iter245); } } $output->writeListEnd(); @@ -7921,14 +8242,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size232 = 0; - $_etype235 = 0; - $xfer += $input->readListBegin($_etype235, $_size232); - for ($_i236 = 0; $_i236 < $_size232; ++$_i236) + $_size246 = 0; + $_etype249 = 0; + $xfer += $input->readListBegin($_etype249, $_size246); + for ($_i250 = 0; $_i250 < $_size246; ++$_i250) { - $elem237 = null; - $xfer += $input->readString($elem237); - $this->part_vals []= $elem237; + $elem251 = null; + $xfer += $input->readString($elem251); + $this->part_vals []= $elem251; } $xfer += $input->readListEnd(); } else { @@ -7973,9 +8294,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter238) + foreach ($this->part_vals as $iter252) { - $xfer += $output->writeString($iter238); + $xfer += $output->writeString($iter252); } } $output->writeListEnd(); @@ -8435,14 +8756,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size239 = 0; - $_etype242 = 0; - $xfer += $input->readListBegin($_etype242, $_size239); - for ($_i243 = 0; $_i243 < $_size239; ++$_i243) + $_size253 = 0; + $_etype256 = 0; + $xfer += $input->readListBegin($_etype256, $_size253); + for ($_i257 = 0; $_i257 < $_size253; ++$_i257) { - $elem244 = null; - $xfer += $input->readString($elem244); - $this->part_vals []= $elem244; + $elem258 = null; + $xfer += $input->readString($elem258); + $this->part_vals []= $elem258; } $xfer += $input->readListEnd(); } else { @@ -8480,9 +8801,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter245) + foreach ($this->part_vals as $iter259) { - $xfer += $output->writeString($iter245); + $xfer += $output->writeString($iter259); } } $output->writeListEnd(); @@ -8714,14 +9035,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size246 = 0; - $_etype249 = 0; - $xfer += $input->readListBegin($_etype249, $_size246); - for ($_i250 = 0; $_i250 < $_size246; ++$_i250) + $_size260 = 0; + $_etype263 = 0; + $xfer += $input->readListBegin($_etype263, $_size260); + for ($_i264 = 0; $_i264 < $_size260; ++$_i264) { - $elem251 = null; - $xfer += $input->readString($elem251); - $this->part_vals []= $elem251; + $elem265 = null; + $xfer += $input->readString($elem265); + $this->part_vals []= $elem265; } $xfer += $input->readListEnd(); } else { @@ -8738,14 +9059,14 @@ case 5: if ($ftype == TType::LST) { $this->group_names = array(); - $_size252 = 0; - $_etype255 = 0; - $xfer += $input->readListBegin($_etype255, $_size252); - for ($_i256 = 0; $_i256 < $_size252; ++$_i256) + $_size266 = 0; + $_etype269 = 0; + $xfer += $input->readListBegin($_etype269, $_size266); + for ($_i270 = 0; $_i270 < $_size266; ++$_i270) { - $elem257 = null; - $xfer += $input->readString($elem257); - $this->group_names []= $elem257; + $elem271 = null; + $xfer += $input->readString($elem271); + $this->group_names []= $elem271; } $xfer += $input->readListEnd(); } else { @@ -8783,9 +9104,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter258) + foreach ($this->part_vals as $iter272) { - $xfer += $output->writeString($iter258); + $xfer += $output->writeString($iter272); } } $output->writeListEnd(); @@ -8805,9 +9126,9 @@ { $output->writeListBegin(TType::STRING, count($this->group_names)); { - foreach ($this->group_names as $iter259) + foreach ($this->group_names as $iter273) { - $xfer += $output->writeString($iter259); + $xfer += $output->writeString($iter273); } } $output->writeListEnd(); @@ -9353,15 +9674,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size260 = 0; - $_etype263 = 0; - $xfer += $input->readListBegin($_etype263, $_size260); - for ($_i264 = 0; $_i264 < $_size260; ++$_i264) + $_size274 = 0; + $_etype277 = 0; + $xfer += $input->readListBegin($_etype277, $_size274); + for ($_i278 = 0; $_i278 < $_size274; ++$_i278) { - $elem265 = null; - $elem265 = new metastore_Partition(); - $xfer += $elem265->read($input); - $this->success []= $elem265; + $elem279 = null; + $elem279 = new metastore_Partition(); + $xfer += $elem279->read($input); + $this->success []= $elem279; } $xfer += $input->readListEnd(); } else { @@ -9405,9 +9726,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter266) + foreach ($this->success as $iter280) { - $xfer += $iter266->write($output); + $xfer += $iter280->write($output); } } $output->writeListEnd(); @@ -9538,14 +9859,14 @@ case 5: if ($ftype == TType::LST) { $this->group_names = array(); - $_size267 = 0; - $_etype270 = 0; - $xfer += $input->readListBegin($_etype270, $_size267); - for ($_i271 = 0; $_i271 < $_size267; ++$_i271) + $_size281 = 0; + $_etype284 = 0; + $xfer += $input->readListBegin($_etype284, $_size281); + for ($_i285 = 0; $_i285 < $_size281; ++$_i285) { - $elem272 = null; - $xfer += $input->readString($elem272); - $this->group_names []= $elem272; + $elem286 = null; + $xfer += $input->readString($elem286); + $this->group_names []= $elem286; } $xfer += $input->readListEnd(); } else { @@ -9593,9 +9914,9 @@ { $output->writeListBegin(TType::STRING, count($this->group_names)); { - foreach ($this->group_names as $iter273) + foreach ($this->group_names as $iter287) { - $xfer += $output->writeString($iter273); + $xfer += $output->writeString($iter287); } } $output->writeListEnd(); @@ -9675,15 +9996,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size274 = 0; - $_etype277 = 0; - $xfer += $input->readListBegin($_etype277, $_size274); - for ($_i278 = 0; $_i278 < $_size274; ++$_i278) + $_size288 = 0; + $_etype291 = 0; + $xfer += $input->readListBegin($_etype291, $_size288); + for ($_i292 = 0; $_i292 < $_size288; ++$_i292) { - $elem279 = null; - $elem279 = new metastore_Partition(); - $xfer += $elem279->read($input); - $this->success []= $elem279; + $elem293 = null; + $elem293 = new metastore_Partition(); + $xfer += $elem293->read($input); + $this->success []= $elem293; } $xfer += $input->readListEnd(); } else { @@ -9727,9 +10048,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter280) + foreach ($this->success as $iter294) { - $xfer += $iter280->write($output); + $xfer += $iter294->write($output); } } $output->writeListEnd(); @@ -9921,14 +10242,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size281 = 0; - $_etype284 = 0; - $xfer += $input->readListBegin($_etype284, $_size281); - for ($_i285 = 0; $_i285 < $_size281; ++$_i285) + $_size295 = 0; + $_etype298 = 0; + $xfer += $input->readListBegin($_etype298, $_size295); + for ($_i299 = 0; $_i299 < $_size295; ++$_i299) { - $elem286 = null; - $xfer += $input->readString($elem286); - $this->success []= $elem286; + $elem300 = null; + $xfer += $input->readString($elem300); + $this->success []= $elem300; } $xfer += $input->readListEnd(); } else { @@ -9964,9 +10285,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter287) + foreach ($this->success as $iter301) { - $xfer += $output->writeString($iter287); + $xfer += $output->writeString($iter301); } } $output->writeListEnd(); @@ -10070,14 +10391,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size288 = 0; - $_etype291 = 0; - $xfer += $input->readListBegin($_etype291, $_size288); - for ($_i292 = 0; $_i292 < $_size288; ++$_i292) + $_size302 = 0; + $_etype305 = 0; + $xfer += $input->readListBegin($_etype305, $_size302); + for ($_i306 = 0; $_i306 < $_size302; ++$_i306) { - $elem293 = null; - $xfer += $input->readString($elem293); - $this->part_vals []= $elem293; + $elem307 = null; + $xfer += $input->readString($elem307); + $this->part_vals []= $elem307; } $xfer += $input->readListEnd(); } else { @@ -10122,9 +10443,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter294) + foreach ($this->part_vals as $iter308) { - $xfer += $output->writeString($iter294); + $xfer += $output->writeString($iter308); } } $output->writeListEnd(); @@ -10200,15 +10521,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size295 = 0; - $_etype298 = 0; - $xfer += $input->readListBegin($_etype298, $_size295); - for ($_i299 = 0; $_i299 < $_size295; ++$_i299) + $_size309 = 0; + $_etype312 = 0; + $xfer += $input->readListBegin($_etype312, $_size309); + for ($_i313 = 0; $_i313 < $_size309; ++$_i313) { - $elem300 = null; - $elem300 = new metastore_Partition(); - $xfer += $elem300->read($input); - $this->success []= $elem300; + $elem314 = null; + $elem314 = new metastore_Partition(); + $xfer += $elem314->read($input); + $this->success []= $elem314; } $xfer += $input->readListEnd(); } else { @@ -10244,9 +10565,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter301) + foreach ($this->success as $iter315) { - $xfer += $iter301->write($output); + $xfer += $iter315->write($output); } } $output->writeListEnd(); @@ -10370,14 +10691,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size302 = 0; - $_etype305 = 0; - $xfer += $input->readListBegin($_etype305, $_size302); - for ($_i306 = 0; $_i306 < $_size302; ++$_i306) + $_size316 = 0; + $_etype319 = 0; + $xfer += $input->readListBegin($_etype319, $_size316); + for ($_i320 = 0; $_i320 < $_size316; ++$_i320) { - $elem307 = null; - $xfer += $input->readString($elem307); - $this->part_vals []= $elem307; + $elem321 = null; + $xfer += $input->readString($elem321); + $this->part_vals []= $elem321; } $xfer += $input->readListEnd(); } else { @@ -10401,14 +10722,14 @@ case 6: if ($ftype == TType::LST) { $this->group_names = array(); - $_size308 = 0; - $_etype311 = 0; - $xfer += $input->readListBegin($_etype311, $_size308); - for ($_i312 = 0; $_i312 < $_size308; ++$_i312) + $_size322 = 0; + $_etype325 = 0; + $xfer += $input->readListBegin($_etype325, $_size322); + for ($_i326 = 0; $_i326 < $_size322; ++$_i326) { - $elem313 = null; - $xfer += $input->readString($elem313); - $this->group_names []= $elem313; + $elem327 = null; + $xfer += $input->readString($elem327); + $this->group_names []= $elem327; } $xfer += $input->readListEnd(); } else { @@ -10446,9 +10767,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter314) + foreach ($this->part_vals as $iter328) { - $xfer += $output->writeString($iter314); + $xfer += $output->writeString($iter328); } } $output->writeListEnd(); @@ -10473,9 +10794,9 @@ { $output->writeListBegin(TType::STRING, count($this->group_names)); { - foreach ($this->group_names as $iter315) + foreach ($this->group_names as $iter329) { - $xfer += $output->writeString($iter315); + $xfer += $output->writeString($iter329); } } $output->writeListEnd(); @@ -10555,15 +10876,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size316 = 0; - $_etype319 = 0; - $xfer += $input->readListBegin($_etype319, $_size316); - for ($_i320 = 0; $_i320 < $_size316; ++$_i320) + $_size330 = 0; + $_etype333 = 0; + $xfer += $input->readListBegin($_etype333, $_size330); + for ($_i334 = 0; $_i334 < $_size330; ++$_i334) { - $elem321 = null; - $elem321 = new metastore_Partition(); - $xfer += $elem321->read($input); - $this->success []= $elem321; + $elem335 = null; + $elem335 = new metastore_Partition(); + $xfer += $elem335->read($input); + $this->success []= $elem335; } $xfer += $input->readListEnd(); } else { @@ -10607,9 +10928,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter322) + foreach ($this->success as $iter336) { - $xfer += $iter322->write($output); + $xfer += $iter336->write($output); } } $output->writeListEnd(); @@ -10718,14 +11039,14 @@ case 3: if ($ftype == TType::LST) { $this->part_vals = array(); - $_size323 = 0; - $_etype326 = 0; - $xfer += $input->readListBegin($_etype326, $_size323); - for ($_i327 = 0; $_i327 < $_size323; ++$_i327) + $_size337 = 0; + $_etype340 = 0; + $xfer += $input->readListBegin($_etype340, $_size337); + for ($_i341 = 0; $_i341 < $_size337; ++$_i341) { - $elem328 = null; - $xfer += $input->readString($elem328); - $this->part_vals []= $elem328; + $elem342 = null; + $xfer += $input->readString($elem342); + $this->part_vals []= $elem342; } $xfer += $input->readListEnd(); } else { @@ -10770,9 +11091,9 @@ { $output->writeListBegin(TType::STRING, count($this->part_vals)); { - foreach ($this->part_vals as $iter329) + foreach ($this->part_vals as $iter343) { - $xfer += $output->writeString($iter329); + $xfer += $output->writeString($iter343); } } $output->writeListEnd(); @@ -10847,14 +11168,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size330 = 0; - $_etype333 = 0; - $xfer += $input->readListBegin($_etype333, $_size330); - for ($_i334 = 0; $_i334 < $_size330; ++$_i334) + $_size344 = 0; + $_etype347 = 0; + $xfer += $input->readListBegin($_etype347, $_size344); + for ($_i348 = 0; $_i348 < $_size344; ++$_i348) { - $elem335 = null; - $xfer += $input->readString($elem335); - $this->success []= $elem335; + $elem349 = null; + $xfer += $input->readString($elem349); + $this->success []= $elem349; } $xfer += $input->readListEnd(); } else { @@ -10890,9 +11211,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter336) + foreach ($this->success as $iter350) { - $xfer += $output->writeString($iter336); + $xfer += $output->writeString($iter350); } } $output->writeListEnd(); @@ -11109,15 +11430,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size337 = 0; - $_etype340 = 0; - $xfer += $input->readListBegin($_etype340, $_size337); - for ($_i341 = 0; $_i341 < $_size337; ++$_i341) + $_size351 = 0; + $_etype354 = 0; + $xfer += $input->readListBegin($_etype354, $_size351); + for ($_i355 = 0; $_i355 < $_size351; ++$_i355) { - $elem342 = null; - $elem342 = new metastore_Partition(); - $xfer += $elem342->read($input); - $this->success []= $elem342; + $elem356 = null; + $elem356 = new metastore_Partition(); + $xfer += $elem356->read($input); + $this->success []= $elem356; } $xfer += $input->readListEnd(); } else { @@ -11161,9 +11482,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter343) + foreach ($this->success as $iter357) { - $xfer += $iter343->write($output); + $xfer += $iter357->write($output); } } $output->writeListEnd(); @@ -11264,14 +11585,14 @@ case 3: if ($ftype == TType::LST) { $this->names = array(); - $_size344 = 0; - $_etype347 = 0; - $xfer += $input->readListBegin($_etype347, $_size344); - for ($_i348 = 0; $_i348 < $_size344; ++$_i348) + $_size358 = 0; + $_etype361 = 0; + $xfer += $input->readListBegin($_etype361, $_size358); + for ($_i362 = 0; $_i362 < $_size358; ++$_i362) { - $elem349 = null; - $xfer += $input->readString($elem349); - $this->names []= $elem349; + $elem363 = null; + $xfer += $input->readString($elem363); + $this->names []= $elem363; } $xfer += $input->readListEnd(); } else { @@ -11309,9 +11630,9 @@ { $output->writeListBegin(TType::STRING, count($this->names)); { - foreach ($this->names as $iter350) + foreach ($this->names as $iter364) { - $xfer += $output->writeString($iter350); + $xfer += $output->writeString($iter364); } } $output->writeListEnd(); @@ -11391,15 +11712,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size351 = 0; - $_etype354 = 0; - $xfer += $input->readListBegin($_etype354, $_size351); - for ($_i355 = 0; $_i355 < $_size351; ++$_i355) + $_size365 = 0; + $_etype368 = 0; + $xfer += $input->readListBegin($_etype368, $_size365); + for ($_i369 = 0; $_i369 < $_size365; ++$_i369) { - $elem356 = null; - $elem356 = new metastore_Partition(); - $xfer += $elem356->read($input); - $this->success []= $elem356; + $elem370 = null; + $elem370 = new metastore_Partition(); + $xfer += $elem370->read($input); + $this->success []= $elem370; } $xfer += $input->readListEnd(); } else { @@ -11443,9 +11764,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter357) + foreach ($this->success as $iter371) { - $xfer += $iter357->write($output); + $xfer += $iter371->write($output); } } $output->writeListEnd(); @@ -11996,14 +12317,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size358 = 0; - $_etype361 = 0; - $xfer += $input->readListBegin($_etype361, $_size358); - for ($_i362 = 0; $_i362 < $_size358; ++$_i362) + $_size372 = 0; + $_etype375 = 0; + $xfer += $input->readListBegin($_etype375, $_size372); + for ($_i376 = 0; $_i376 < $_size372; ++$_i376) { - $elem363 = null; - $xfer += $input->readString($elem363); - $this->success []= $elem363; + $elem377 = null; + $xfer += $input->readString($elem377); + $this->success []= $elem377; } $xfer += $input->readListEnd(); } else { @@ -12039,9 +12360,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter364) + foreach ($this->success as $iter378) { - $xfer += $output->writeString($iter364); + $xfer += $output->writeString($iter378); } } $output->writeListEnd(); @@ -12192,17 +12513,17 @@ case 0: if ($ftype == TType::MAP) { $this->success = array(); - $_size365 = 0; - $_ktype366 = 0; - $_vtype367 = 0; - $xfer += $input->readMapBegin($_ktype366, $_vtype367, $_size365); - for ($_i369 = 0; $_i369 < $_size365; ++$_i369) + $_size379 = 0; + $_ktype380 = 0; + $_vtype381 = 0; + $xfer += $input->readMapBegin($_ktype380, $_vtype381, $_size379); + for ($_i383 = 0; $_i383 < $_size379; ++$_i383) { - $key370 = ''; - $val371 = ''; - $xfer += $input->readString($key370); - $xfer += $input->readString($val371); - $this->success[$key370] = $val371; + $key384 = ''; + $val385 = ''; + $xfer += $input->readString($key384); + $xfer += $input->readString($val385); + $this->success[$key384] = $val385; } $xfer += $input->readMapEnd(); } else { @@ -12238,10 +12559,10 @@ { $output->writeMapBegin(TType::STRING, TType::STRING, count($this->success)); { - foreach ($this->success as $kiter372 => $viter373) + foreach ($this->success as $kiter386 => $viter387) { - $xfer += $output->writeString($kiter372); - $xfer += $output->writeString($viter373); + $xfer += $output->writeString($kiter386); + $xfer += $output->writeString($viter387); } } $output->writeMapEnd(); @@ -13397,15 +13718,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size374 = 0; - $_etype377 = 0; - $xfer += $input->readListBegin($_etype377, $_size374); - for ($_i378 = 0; $_i378 < $_size374; ++$_i378) + $_size388 = 0; + $_etype391 = 0; + $xfer += $input->readListBegin($_etype391, $_size388); + for ($_i392 = 0; $_i392 < $_size388; ++$_i392) { - $elem379 = null; - $elem379 = new metastore_Index(); - $xfer += $elem379->read($input); - $this->success []= $elem379; + $elem393 = null; + $elem393 = new metastore_Index(); + $xfer += $elem393->read($input); + $this->success []= $elem393; } $xfer += $input->readListEnd(); } else { @@ -13449,9 +13770,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter380) + foreach ($this->success as $iter394) { - $xfer += $iter380->write($output); + $xfer += $iter394->write($output); } } $output->writeListEnd(); @@ -13643,14 +13964,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size381 = 0; - $_etype384 = 0; - $xfer += $input->readListBegin($_etype384, $_size381); - for ($_i385 = 0; $_i385 < $_size381; ++$_i385) + $_size395 = 0; + $_etype398 = 0; + $xfer += $input->readListBegin($_etype398, $_size395); + for ($_i399 = 0; $_i399 < $_size395; ++$_i399) { - $elem386 = null; - $xfer += $input->readString($elem386); - $this->success []= $elem386; + $elem400 = null; + $xfer += $input->readString($elem400); + $this->success []= $elem400; } $xfer += $input->readListEnd(); } else { @@ -13686,9 +14007,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter387) + foreach ($this->success as $iter401) { - $xfer += $output->writeString($iter387); + $xfer += $output->writeString($iter401); } } $output->writeListEnd(); @@ -14150,14 +14471,14 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size388 = 0; - $_etype391 = 0; - $xfer += $input->readListBegin($_etype391, $_size388); - for ($_i392 = 0; $_i392 < $_size388; ++$_i392) + $_size402 = 0; + $_etype405 = 0; + $xfer += $input->readListBegin($_etype405, $_size402); + for ($_i406 = 0; $_i406 < $_size402; ++$_i406) { - $elem393 = null; - $xfer += $input->readString($elem393); - $this->success []= $elem393; + $elem407 = null; + $xfer += $input->readString($elem407); + $this->success []= $elem407; } $xfer += $input->readListEnd(); } else { @@ -14193,9 +14514,9 @@ { $output->writeListBegin(TType::STRING, count($this->success)); { - foreach ($this->success as $iter394) + foreach ($this->success as $iter408) { - $xfer += $output->writeString($iter394); + $xfer += $output->writeString($iter408); } } $output->writeListEnd(); @@ -14835,15 +15156,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size395 = 0; - $_etype398 = 0; - $xfer += $input->readListBegin($_etype398, $_size395); - for ($_i399 = 0; $_i399 < $_size395; ++$_i399) + $_size409 = 0; + $_etype412 = 0; + $xfer += $input->readListBegin($_etype412, $_size409); + for ($_i413 = 0; $_i413 < $_size409; ++$_i413) { - $elem400 = null; - $elem400 = new metastore_Role(); - $xfer += $elem400->read($input); - $this->success []= $elem400; + $elem414 = null; + $elem414 = new metastore_Role(); + $xfer += $elem414->read($input); + $this->success []= $elem414; } $xfer += $input->readListEnd(); } else { @@ -14879,9 +15200,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter401) + foreach ($this->success as $iter415) { - $xfer += $iter401->write($output); + $xfer += $iter415->write($output); } } $output->writeListEnd(); @@ -14979,14 +15300,14 @@ case 3: if ($ftype == TType::LST) { $this->group_names = array(); - $_size402 = 0; - $_etype405 = 0; - $xfer += $input->readListBegin($_etype405, $_size402); - for ($_i406 = 0; $_i406 < $_size402; ++$_i406) + $_size416 = 0; + $_etype419 = 0; + $xfer += $input->readListBegin($_etype419, $_size416); + for ($_i420 = 0; $_i420 < $_size416; ++$_i420) { - $elem407 = null; - $xfer += $input->readString($elem407); - $this->group_names []= $elem407; + $elem421 = null; + $xfer += $input->readString($elem421); + $this->group_names []= $elem421; } $xfer += $input->readListEnd(); } else { @@ -15027,9 +15348,9 @@ { $output->writeListBegin(TType::STRING, count($this->group_names)); { - foreach ($this->group_names as $iter408) + foreach ($this->group_names as $iter422) { - $xfer += $output->writeString($iter408); + $xfer += $output->writeString($iter422); } } $output->writeListEnd(); @@ -15316,15 +15637,15 @@ case 0: if ($ftype == TType::LST) { $this->success = array(); - $_size409 = 0; - $_etype412 = 0; - $xfer += $input->readListBegin($_etype412, $_size409); - for ($_i413 = 0; $_i413 < $_size409; ++$_i413) + $_size423 = 0; + $_etype426 = 0; + $xfer += $input->readListBegin($_etype426, $_size423); + for ($_i427 = 0; $_i427 < $_size423; ++$_i427) { - $elem414 = null; - $elem414 = new metastore_HiveObjectPrivilege(); - $xfer += $elem414->read($input); - $this->success []= $elem414; + $elem428 = null; + $elem428 = new metastore_HiveObjectPrivilege(); + $xfer += $elem428->read($input); + $this->success []= $elem428; } $xfer += $input->readListEnd(); } else { @@ -15360,9 +15681,9 @@ { $output->writeListBegin(TType::STRUCT, count($this->success)); { - foreach ($this->success as $iter415) + foreach ($this->success as $iter429) { - $xfer += $iter415->write($output); + $xfer += $iter429->write($output); } } $output->writeListEnd(); Index: metastore/if/hive_metastore.thrift =================================================================== --- metastore/if/hive_metastore.thrift (revision 14649) +++ metastore/if/hive_metastore.thrift (working copy) @@ -246,6 +246,8 @@ Table get_table(1:string dbname, 2:string tbl_name) throws (1:MetaException o1, 2:NoSuchObjectException o2) + list
multi_get_table(1:string dbname, 2:list tbl_names) throws (1:MetaException o1, 2:NoSuchObjectException o2) + // alter table applies to only future partitions not for existing partitions // * See notes on DDL_TIME void alter_table(1:string dbname, 2:string tbl_name, 3:Table new_tbl) Index: service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java =================================================================== --- service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java (revision 14649) +++ service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java (working copy) @@ -17,6 +17,7 @@ */ package org.apache.hadoop.hive.service; +import java.util.ArrayList; import java.util.List; import java.util.Properties; @@ -27,6 +28,7 @@ import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.metastore.api.FieldSchema; import org.apache.hadoop.hive.metastore.api.Schema; +import org.apache.hadoop.hive.metastore.api.Table; import org.apache.hadoop.hive.serde.Constants; import org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe; import org.apache.hadoop.io.BytesWritable; @@ -47,6 +49,7 @@ private final Path dataFilePath; private static String tableName = "testhivedrivertable"; + private static String tableName2 = "testhivedrivertable2"; private final HiveConf conf; private boolean standAloneServer = false; private TTransport transport; @@ -208,13 +211,22 @@ try { client.execute("set hive.support.concurrency = false"); client.execute("drop table " + tableName); + client.execute("drop table " + tableName2); } catch (Exception ex) { } client.execute("create table " + tableName + " (num int)"); + client.execute("create table " + tableName2 + " (num int)"); List tabs = client.get_tables("default", tableName); + List tbl_names = new ArrayList(); + tbl_names.add(tableName); + tbl_names.add(tableName2); + List
multi_tables = client.multi_get_table("default", tbl_names); + assertEquals(multi_tables.get(0).getTableName(), tableName); + assertEquals(multi_tables.get(1).getTableName(), tableName2); assertEquals(tabs.get(0), tableName); client.execute("drop table " + tableName); + client.execute("drop table " + tableName2); } /**