http://git-wip-us.apache.org/repos/asf/hive/blob/96c9ee64/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
 
b/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
index cdbae95..0c4db9d 100644
--- 
a/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
+++ 
b/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2015-8-3")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = 
"2016-1-13")
 public class ThriftHiveMetastore {
 
   /**
@@ -130,6 +130,8 @@ public class ThriftHiveMetastore {
 
     public Partition exchange_partition(Map<String,String> partitionSpecs, 
String source_db, String source_table_name, String dest_db, String 
dest_table_name) throws MetaException, NoSuchObjectException, 
InvalidObjectException, InvalidInputException, org.apache.thrift.TException;
 
+    public List<Partition> exchange_partitions(Map<String,String> 
partitionSpecs, String source_db, String source_table_name, String dest_db, 
String dest_table_name) throws MetaException, NoSuchObjectException, 
InvalidObjectException, InvalidInputException, org.apache.thrift.TException;
+
     public Partition get_partition_with_auth(String db_name, String tbl_name, 
List<String> part_vals, String user_name, List<String> group_names) throws 
MetaException, NoSuchObjectException, org.apache.thrift.TException;
 
     public Partition get_partition_by_name(String db_name, String tbl_name, 
String part_name) throws MetaException, NoSuchObjectException, 
org.apache.thrift.TException;
@@ -382,6 +384,8 @@ public class ThriftHiveMetastore {
 
     public void exchange_partition(Map<String,String> partitionSpecs, String 
source_db, String source_table_name, String dest_db, String dest_table_name, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
+    public void exchange_partitions(Map<String,String> partitionSpecs, String 
source_db, String source_table_name, String dest_db, String dest_table_name, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
     public void get_partition_with_auth(String db_name, String tbl_name, 
List<String> part_vals, String user_name, List<String> group_names, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
     public void get_partition_by_name(String db_name, String tbl_name, String 
part_name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
@@ -1917,6 +1921,45 @@ public class ThriftHiveMetastore {
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "exchange_partition failed: unknown result");
     }
 
+    public List<Partition> exchange_partitions(Map<String,String> 
partitionSpecs, String source_db, String source_table_name, String dest_db, 
String dest_table_name) throws MetaException, NoSuchObjectException, 
InvalidObjectException, InvalidInputException, org.apache.thrift.TException
+    {
+      send_exchange_partitions(partitionSpecs, source_db, source_table_name, 
dest_db, dest_table_name);
+      return recv_exchange_partitions();
+    }
+
+    public void send_exchange_partitions(Map<String,String> partitionSpecs, 
String source_db, String source_table_name, String dest_db, String 
dest_table_name) throws org.apache.thrift.TException
+    {
+      exchange_partitions_args args = new exchange_partitions_args();
+      args.setPartitionSpecs(partitionSpecs);
+      args.setSource_db(source_db);
+      args.setSource_table_name(source_table_name);
+      args.setDest_db(dest_db);
+      args.setDest_table_name(dest_table_name);
+      sendBase("exchange_partitions", args);
+    }
+
+    public List<Partition> recv_exchange_partitions() throws MetaException, 
NoSuchObjectException, InvalidObjectException, InvalidInputException, 
org.apache.thrift.TException
+    {
+      exchange_partitions_result result = new exchange_partitions_result();
+      receiveBase(result, "exchange_partitions");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.o1 != null) {
+        throw result.o1;
+      }
+      if (result.o2 != null) {
+        throw result.o2;
+      }
+      if (result.o3 != null) {
+        throw result.o3;
+      }
+      if (result.o4 != null) {
+        throw result.o4;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "exchange_partitions failed: unknown result");
+    }
+
     public Partition get_partition_with_auth(String db_name, String tbl_name, 
List<String> part_vals, String user_name, List<String> group_names) throws 
MetaException, NoSuchObjectException, org.apache.thrift.TException
     {
       send_get_partition_with_auth(db_name, tbl_name, part_vals, user_name, 
group_names);
@@ -5822,6 +5865,50 @@ public class ThriftHiveMetastore {
       }
     }
 
+    public void exchange_partitions(Map<String,String> partitionSpecs, String 
source_db, String source_table_name, String dest_db, String dest_table_name, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      exchange_partitions_call method_call = new 
exchange_partitions_call(partitionSpecs, source_db, source_table_name, dest_db, 
dest_table_name, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class exchange_partitions_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private Map<String,String> partitionSpecs;
+      private String source_db;
+      private String source_table_name;
+      private String dest_db;
+      private String dest_table_name;
+      public exchange_partitions_call(Map<String,String> partitionSpecs, 
String source_db, String source_table_name, String dest_db, String 
dest_table_name, org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.partitionSpecs = partitionSpecs;
+        this.source_db = source_db;
+        this.source_table_name = source_table_name;
+        this.dest_db = dest_db;
+        this.dest_table_name = dest_table_name;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("exchange_partitions", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        exchange_partitions_args args = new exchange_partitions_args();
+        args.setPartitionSpecs(partitionSpecs);
+        args.setSource_db(source_db);
+        args.setSource_table_name(source_table_name);
+        args.setDest_db(dest_db);
+        args.setDest_table_name(dest_table_name);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<Partition> getResult() throws MetaException, 
NoSuchObjectException, InvalidObjectException, InvalidInputException, 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_exchange_partitions();
+      }
+    }
+
     public void get_partition_with_auth(String db_name, String tbl_name, 
List<String> part_vals, String user_name, List<String> group_names, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
       get_partition_with_auth_call method_call = new 
get_partition_with_auth_call(db_name, tbl_name, part_vals, user_name, 
group_names, resultHandler, this, ___protocolFactory, ___transport);
@@ -8709,6 +8796,7 @@ public class ThriftHiveMetastore {
       processMap.put("drop_partitions_req", new drop_partitions_req());
       processMap.put("get_partition", new get_partition());
       processMap.put("exchange_partition", new exchange_partition());
+      processMap.put("exchange_partitions", new exchange_partitions());
       processMap.put("get_partition_with_auth", new get_partition_with_auth());
       processMap.put("get_partition_by_name", new get_partition_by_name());
       processMap.put("get_partitions", new get_partitions());
@@ -9978,6 +10066,36 @@ public class ThriftHiveMetastore {
       }
     }
 
+    public static class exchange_partitions<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, exchange_partitions_args> {
+      public exchange_partitions() {
+        super("exchange_partitions");
+      }
+
+      public exchange_partitions_args getEmptyArgsInstance() {
+        return new exchange_partitions_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public exchange_partitions_result getResult(I iface, 
exchange_partitions_args args) throws org.apache.thrift.TException {
+        exchange_partitions_result result = new exchange_partitions_result();
+        try {
+          result.success = iface.exchange_partitions(args.partitionSpecs, 
args.source_db, args.source_table_name, args.dest_db, args.dest_table_name);
+        } catch (MetaException o1) {
+          result.o1 = o1;
+        } catch (NoSuchObjectException o2) {
+          result.o2 = o2;
+        } catch (InvalidObjectException o3) {
+          result.o3 = o3;
+        } catch (InvalidInputException o4) {
+          result.o4 = o4;
+        }
+        return result;
+      }
+    }
+
     public static class get_partition_with_auth<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, get_partition_with_auth_args> {
       public get_partition_with_auth() {
         super("get_partition_with_auth");
@@ -12070,6 +12188,7 @@ public class ThriftHiveMetastore {
       processMap.put("drop_partitions_req", new drop_partitions_req());
       processMap.put("get_partition", new get_partition());
       processMap.put("exchange_partition", new exchange_partition());
+      processMap.put("exchange_partitions", new exchange_partitions());
       processMap.put("get_partition_with_auth", new get_partition_with_auth());
       processMap.put("get_partition_by_name", new get_partition_by_name());
       processMap.put("get_partitions", new get_partitions());
@@ -14963,20 +15082,20 @@ public class ThriftHiveMetastore {
       }
     }
 
-    public static class get_partition_with_auth<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partition_with_auth_args, 
Partition> {
-      public get_partition_with_auth() {
-        super("get_partition_with_auth");
+    public static class exchange_partitions<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, exchange_partitions_args, 
List<Partition>> {
+      public exchange_partitions() {
+        super("exchange_partitions");
       }
 
-      public get_partition_with_auth_args getEmptyArgsInstance() {
-        return new get_partition_with_auth_args();
+      public exchange_partitions_args getEmptyArgsInstance() {
+        return new exchange_partitions_args();
       }
 
-      public AsyncMethodCallback<Partition> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<Partition>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Partition>() { 
-          public void onComplete(Partition o) {
-            get_partition_with_auth_result result = new 
get_partition_with_auth_result();
+        return new AsyncMethodCallback<List<Partition>>() { 
+          public void onComplete(List<Partition> o) {
+            exchange_partitions_result result = new 
exchange_partitions_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -14989,7 +15108,7 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_partition_with_auth_result result = new 
get_partition_with_auth_result();
+            exchange_partitions_result result = new 
exchange_partitions_result();
             if (e instanceof MetaException) {
                         result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
@@ -15000,6 +15119,16 @@ public class ThriftHiveMetastore {
                         result.setO2IsSet(true);
                         msg = result;
             }
+            else             if (e instanceof InvalidObjectException) {
+                        result.o3 = (InvalidObjectException) e;
+                        result.setO3IsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof InvalidInputException) {
+                        result.o4 = (InvalidInputException) e;
+                        result.setO4IsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -15020,25 +15149,25 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, get_partition_with_auth_args args, 
org.apache.thrift.async.AsyncMethodCallback<Partition> resultHandler) throws 
TException {
-        iface.get_partition_with_auth(args.db_name, args.tbl_name, 
args.part_vals, args.user_name, args.group_names,resultHandler);
+      public void start(I iface, exchange_partitions_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
+        iface.exchange_partitions(args.partitionSpecs, args.source_db, 
args.source_table_name, args.dest_db, args.dest_table_name,resultHandler);
       }
     }
 
-    public static class get_partition_by_name<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partition_by_name_args, 
Partition> {
-      public get_partition_by_name() {
-        super("get_partition_by_name");
+    public static class get_partition_with_auth<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partition_with_auth_args, 
Partition> {
+      public get_partition_with_auth() {
+        super("get_partition_with_auth");
       }
 
-      public get_partition_by_name_args getEmptyArgsInstance() {
-        return new get_partition_by_name_args();
+      public get_partition_with_auth_args getEmptyArgsInstance() {
+        return new get_partition_with_auth_args();
       }
 
       public AsyncMethodCallback<Partition> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Partition>() { 
           public void onComplete(Partition o) {
-            get_partition_by_name_result result = new 
get_partition_by_name_result();
+            get_partition_with_auth_result result = new 
get_partition_with_auth_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -15051,7 +15180,7 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_partition_by_name_result result = new 
get_partition_by_name_result();
+            get_partition_with_auth_result result = new 
get_partition_with_auth_result();
             if (e instanceof MetaException) {
                         result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
@@ -15082,25 +15211,25 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, get_partition_by_name_args args, 
org.apache.thrift.async.AsyncMethodCallback<Partition> resultHandler) throws 
TException {
-        iface.get_partition_by_name(args.db_name, args.tbl_name, 
args.part_name,resultHandler);
+      public void start(I iface, get_partition_with_auth_args args, 
org.apache.thrift.async.AsyncMethodCallback<Partition> resultHandler) throws 
TException {
+        iface.get_partition_with_auth(args.db_name, args.tbl_name, 
args.part_vals, args.user_name, args.group_names,resultHandler);
       }
     }
 
-    public static class get_partitions<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_args, List<Partition>> 
{
-      public get_partitions() {
-        super("get_partitions");
+    public static class get_partition_by_name<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partition_by_name_args, 
Partition> {
+      public get_partition_by_name() {
+        super("get_partition_by_name");
       }
 
-      public get_partitions_args getEmptyArgsInstance() {
-        return new get_partitions_args();
+      public get_partition_by_name_args getEmptyArgsInstance() {
+        return new get_partition_by_name_args();
       }
 
-      public AsyncMethodCallback<List<Partition>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Partition> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<Partition>>() { 
-          public void onComplete(List<Partition> o) {
-            get_partitions_result result = new get_partitions_result();
+        return new AsyncMethodCallback<Partition>() { 
+          public void onComplete(Partition o) {
+            get_partition_by_name_result result = new 
get_partition_by_name_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -15113,14 +15242,14 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_partitions_result result = new get_partitions_result();
-            if (e instanceof NoSuchObjectException) {
-                        result.o1 = (NoSuchObjectException) e;
+            get_partition_by_name_result result = new 
get_partition_by_name_result();
+            if (e instanceof MetaException) {
+                        result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
                         msg = result;
             }
-            else             if (e instanceof MetaException) {
-                        result.o2 = (MetaException) e;
+            else             if (e instanceof NoSuchObjectException) {
+                        result.o2 = (NoSuchObjectException) e;
                         result.setO2IsSet(true);
                         msg = result;
             }
@@ -15144,87 +15273,25 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, get_partitions_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
-        iface.get_partitions(args.db_name, args.tbl_name, 
args.max_parts,resultHandler);
+      public void start(I iface, get_partition_by_name_args args, 
org.apache.thrift.async.AsyncMethodCallback<Partition> resultHandler) throws 
TException {
+        iface.get_partition_by_name(args.db_name, args.tbl_name, 
args.part_name,resultHandler);
       }
     }
 
-    public static class get_partitions_with_auth<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_with_auth_args, 
List<Partition>> {
-      public get_partitions_with_auth() {
-        super("get_partitions_with_auth");
+    public static class get_partitions<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_args, List<Partition>> 
{
+      public get_partitions() {
+        super("get_partitions");
       }
 
-      public get_partitions_with_auth_args getEmptyArgsInstance() {
-        return new get_partitions_with_auth_args();
+      public get_partitions_args getEmptyArgsInstance() {
+        return new get_partitions_args();
       }
 
       public AsyncMethodCallback<List<Partition>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<List<Partition>>() { 
           public void onComplete(List<Partition> o) {
-            get_partitions_with_auth_result result = new 
get_partitions_with_auth_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            get_partitions_with_auth_result result = new 
get_partitions_with_auth_result();
-            if (e instanceof NoSuchObjectException) {
-                        result.o1 = (NoSuchObjectException) e;
-                        result.setO1IsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof MetaException) {
-                        result.o2 = (MetaException) e;
-                        result.setO2IsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, get_partitions_with_auth_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
-        iface.get_partitions_with_auth(args.db_name, args.tbl_name, 
args.max_parts, args.user_name, args.group_names,resultHandler);
-      }
-    }
-
-    public static class get_partitions_pspec<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_pspec_args, 
List<PartitionSpec>> {
-      public get_partitions_pspec() {
-        super("get_partitions_pspec");
-      }
-
-      public get_partitions_pspec_args getEmptyArgsInstance() {
-        return new get_partitions_pspec_args();
-      }
-
-      public AsyncMethodCallback<List<PartitionSpec>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<PartitionSpec>>() { 
-          public void onComplete(List<PartitionSpec> o) {
-            get_partitions_pspec_result result = new 
get_partitions_pspec_result();
+            get_partitions_result result = new get_partitions_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -15237,7 +15304,7 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_partitions_pspec_result result = new 
get_partitions_pspec_result();
+            get_partitions_result result = new get_partitions_result();
             if (e instanceof NoSuchObjectException) {
                         result.o1 = (NoSuchObjectException) e;
                         result.setO1IsSet(true);
@@ -15268,144 +15335,25 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, get_partitions_pspec_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<PartitionSpec>> resultHandler) 
throws TException {
-        iface.get_partitions_pspec(args.db_name, args.tbl_name, 
args.max_parts,resultHandler);
-      }
-    }
-
-    public static class get_partition_names<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partition_names_args, 
List<String>> {
-      public get_partition_names() {
-        super("get_partition_names");
-      }
-
-      public get_partition_names_args getEmptyArgsInstance() {
-        return new get_partition_names_args();
-      }
-
-      public AsyncMethodCallback<List<String>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<String>>() { 
-          public void onComplete(List<String> o) {
-            get_partition_names_result result = new 
get_partition_names_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            get_partition_names_result result = new 
get_partition_names_result();
-            if (e instanceof MetaException) {
-                        result.o2 = (MetaException) e;
-                        result.setO2IsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, get_partition_names_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws 
TException {
-        iface.get_partition_names(args.db_name, args.tbl_name, 
args.max_parts,resultHandler);
-      }
-    }
-
-    public static class get_partitions_ps<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_ps_args, 
List<Partition>> {
-      public get_partitions_ps() {
-        super("get_partitions_ps");
-      }
-
-      public get_partitions_ps_args getEmptyArgsInstance() {
-        return new get_partitions_ps_args();
-      }
-
-      public AsyncMethodCallback<List<Partition>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<Partition>>() { 
-          public void onComplete(List<Partition> o) {
-            get_partitions_ps_result result = new get_partitions_ps_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            get_partitions_ps_result result = new get_partitions_ps_result();
-            if (e instanceof MetaException) {
-                        result.o1 = (MetaException) e;
-                        result.setO1IsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof NoSuchObjectException) {
-                        result.o2 = (NoSuchObjectException) e;
-                        result.setO2IsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, get_partitions_ps_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
-        iface.get_partitions_ps(args.db_name, args.tbl_name, args.part_vals, 
args.max_parts,resultHandler);
+      public void start(I iface, get_partitions_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
+        iface.get_partitions(args.db_name, args.tbl_name, 
args.max_parts,resultHandler);
       }
     }
 
-    public static class get_partitions_ps_with_auth<I extends AsyncIface> 
extends org.apache.thrift.AsyncProcessFunction<I, 
get_partitions_ps_with_auth_args, List<Partition>> {
-      public get_partitions_ps_with_auth() {
-        super("get_partitions_ps_with_auth");
+    public static class get_partitions_with_auth<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_with_auth_args, 
List<Partition>> {
+      public get_partitions_with_auth() {
+        super("get_partitions_with_auth");
       }
 
-      public get_partitions_ps_with_auth_args getEmptyArgsInstance() {
-        return new get_partitions_ps_with_auth_args();
+      public get_partitions_with_auth_args getEmptyArgsInstance() {
+        return new get_partitions_with_auth_args();
       }
 
       public AsyncMethodCallback<List<Partition>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<List<Partition>>() { 
           public void onComplete(List<Partition> o) {
-            get_partitions_ps_with_auth_result result = new 
get_partitions_ps_with_auth_result();
+            get_partitions_with_auth_result result = new 
get_partitions_with_auth_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -15418,7 +15366,7 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_partitions_ps_with_auth_result result = new 
get_partitions_ps_with_auth_result();
+            get_partitions_with_auth_result result = new 
get_partitions_with_auth_result();
             if (e instanceof NoSuchObjectException) {
                         result.o1 = (NoSuchObjectException) e;
                         result.setO1IsSet(true);
@@ -15449,25 +15397,25 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, get_partitions_ps_with_auth_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
-        iface.get_partitions_ps_with_auth(args.db_name, args.tbl_name, 
args.part_vals, args.max_parts, args.user_name, args.group_names,resultHandler);
+      public void start(I iface, get_partitions_with_auth_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
+        iface.get_partitions_with_auth(args.db_name, args.tbl_name, 
args.max_parts, args.user_name, args.group_names,resultHandler);
       }
     }
 
-    public static class get_partition_names_ps<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partition_names_ps_args, 
List<String>> {
-      public get_partition_names_ps() {
-        super("get_partition_names_ps");
+    public static class get_partitions_pspec<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_pspec_args, 
List<PartitionSpec>> {
+      public get_partitions_pspec() {
+        super("get_partitions_pspec");
       }
 
-      public get_partition_names_ps_args getEmptyArgsInstance() {
-        return new get_partition_names_ps_args();
+      public get_partitions_pspec_args getEmptyArgsInstance() {
+        return new get_partitions_pspec_args();
       }
 
-      public AsyncMethodCallback<List<String>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<PartitionSpec>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<String>>() { 
-          public void onComplete(List<String> o) {
-            get_partition_names_ps_result result = new 
get_partition_names_ps_result();
+        return new AsyncMethodCallback<List<PartitionSpec>>() { 
+          public void onComplete(List<PartitionSpec> o) {
+            get_partitions_pspec_result result = new 
get_partitions_pspec_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -15480,14 +15428,14 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_partition_names_ps_result result = new 
get_partition_names_ps_result();
-            if (e instanceof MetaException) {
-                        result.o1 = (MetaException) e;
+            get_partitions_pspec_result result = new 
get_partitions_pspec_result();
+            if (e instanceof NoSuchObjectException) {
+                        result.o1 = (NoSuchObjectException) e;
                         result.setO1IsSet(true);
                         msg = result;
             }
-            else             if (e instanceof NoSuchObjectException) {
-                        result.o2 = (NoSuchObjectException) e;
+            else             if (e instanceof MetaException) {
+                        result.o2 = (MetaException) e;
                         result.setO2IsSet(true);
                         msg = result;
             }
@@ -15511,25 +15459,25 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, get_partition_names_ps_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws 
TException {
-        iface.get_partition_names_ps(args.db_name, args.tbl_name, 
args.part_vals, args.max_parts,resultHandler);
+      public void start(I iface, get_partitions_pspec_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<PartitionSpec>> resultHandler) 
throws TException {
+        iface.get_partitions_pspec(args.db_name, args.tbl_name, 
args.max_parts,resultHandler);
       }
     }
 
-    public static class get_partitions_by_filter<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_filter_args, 
List<Partition>> {
-      public get_partitions_by_filter() {
-        super("get_partitions_by_filter");
+    public static class get_partition_names<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partition_names_args, 
List<String>> {
+      public get_partition_names() {
+        super("get_partition_names");
       }
 
-      public get_partitions_by_filter_args getEmptyArgsInstance() {
-        return new get_partitions_by_filter_args();
+      public get_partition_names_args getEmptyArgsInstance() {
+        return new get_partition_names_args();
       }
 
-      public AsyncMethodCallback<List<Partition>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<String>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<Partition>>() { 
-          public void onComplete(List<Partition> o) {
-            get_partitions_by_filter_result result = new 
get_partitions_by_filter_result();
+        return new AsyncMethodCallback<List<String>>() { 
+          public void onComplete(List<String> o) {
+            get_partition_names_result result = new 
get_partition_names_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -15542,14 +15490,9 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_partitions_by_filter_result result = new 
get_partitions_by_filter_result();
+            get_partition_names_result result = new 
get_partition_names_result();
             if (e instanceof MetaException) {
-                        result.o1 = (MetaException) e;
-                        result.setO1IsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof NoSuchObjectException) {
-                        result.o2 = (NoSuchObjectException) e;
+                        result.o2 = (MetaException) e;
                         result.setO2IsSet(true);
                         msg = result;
             }
@@ -15573,25 +15516,25 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, get_partitions_by_filter_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
-        iface.get_partitions_by_filter(args.db_name, args.tbl_name, 
args.filter, args.max_parts,resultHandler);
+      public void start(I iface, get_partition_names_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws 
TException {
+        iface.get_partition_names(args.db_name, args.tbl_name, 
args.max_parts,resultHandler);
       }
     }
 
-    public static class get_part_specs_by_filter<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_part_specs_by_filter_args, 
List<PartitionSpec>> {
-      public get_part_specs_by_filter() {
-        super("get_part_specs_by_filter");
+    public static class get_partitions_ps<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_ps_args, 
List<Partition>> {
+      public get_partitions_ps() {
+        super("get_partitions_ps");
       }
 
-      public get_part_specs_by_filter_args getEmptyArgsInstance() {
-        return new get_part_specs_by_filter_args();
+      public get_partitions_ps_args getEmptyArgsInstance() {
+        return new get_partitions_ps_args();
       }
 
-      public AsyncMethodCallback<List<PartitionSpec>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<Partition>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<PartitionSpec>>() { 
-          public void onComplete(List<PartitionSpec> o) {
-            get_part_specs_by_filter_result result = new 
get_part_specs_by_filter_result();
+        return new AsyncMethodCallback<List<Partition>>() { 
+          public void onComplete(List<Partition> o) {
+            get_partitions_ps_result result = new get_partitions_ps_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -15604,7 +15547,7 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_part_specs_by_filter_result result = new 
get_part_specs_by_filter_result();
+            get_partitions_ps_result result = new get_partitions_ps_result();
             if (e instanceof MetaException) {
                         result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
@@ -15635,25 +15578,25 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, get_part_specs_by_filter_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<PartitionSpec>> resultHandler) 
throws TException {
-        iface.get_part_specs_by_filter(args.db_name, args.tbl_name, 
args.filter, args.max_parts,resultHandler);
+      public void start(I iface, get_partitions_ps_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
+        iface.get_partitions_ps(args.db_name, args.tbl_name, args.part_vals, 
args.max_parts,resultHandler);
       }
     }
 
-    public static class get_partitions_by_expr<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_expr_args, 
PartitionsByExprResult> {
-      public get_partitions_by_expr() {
-        super("get_partitions_by_expr");
+    public static class get_partitions_ps_with_auth<I extends AsyncIface> 
extends org.apache.thrift.AsyncProcessFunction<I, 
get_partitions_ps_with_auth_args, List<Partition>> {
+      public get_partitions_ps_with_auth() {
+        super("get_partitions_ps_with_auth");
       }
 
-      public get_partitions_by_expr_args getEmptyArgsInstance() {
-        return new get_partitions_by_expr_args();
+      public get_partitions_ps_with_auth_args getEmptyArgsInstance() {
+        return new get_partitions_ps_with_auth_args();
       }
 
-      public AsyncMethodCallback<PartitionsByExprResult> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<Partition>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<PartitionsByExprResult>() { 
-          public void onComplete(PartitionsByExprResult o) {
-            get_partitions_by_expr_result result = new 
get_partitions_by_expr_result();
+        return new AsyncMethodCallback<List<Partition>>() { 
+          public void onComplete(List<Partition> o) {
+            get_partitions_ps_with_auth_result result = new 
get_partitions_ps_with_auth_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -15666,14 +15609,14 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_partitions_by_expr_result result = new 
get_partitions_by_expr_result();
-            if (e instanceof MetaException) {
-                        result.o1 = (MetaException) e;
+            get_partitions_ps_with_auth_result result = new 
get_partitions_ps_with_auth_result();
+            if (e instanceof NoSuchObjectException) {
+                        result.o1 = (NoSuchObjectException) e;
                         result.setO1IsSet(true);
                         msg = result;
             }
-            else             if (e instanceof NoSuchObjectException) {
-                        result.o2 = (NoSuchObjectException) e;
+            else             if (e instanceof MetaException) {
+                        result.o2 = (MetaException) e;
                         result.setO2IsSet(true);
                         msg = result;
             }
@@ -15697,25 +15640,25 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, get_partitions_by_expr_args args, 
org.apache.thrift.async.AsyncMethodCallback<PartitionsByExprResult> 
resultHandler) throws TException {
-        iface.get_partitions_by_expr(args.req,resultHandler);
+      public void start(I iface, get_partitions_ps_with_auth_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
+        iface.get_partitions_ps_with_auth(args.db_name, args.tbl_name, 
args.part_vals, args.max_parts, args.user_name, args.group_names,resultHandler);
       }
     }
 
-    public static class get_partitions_by_names<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_names_args, 
List<Partition>> {
-      public get_partitions_by_names() {
-        super("get_partitions_by_names");
+    public static class get_partition_names_ps<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partition_names_ps_args, 
List<String>> {
+      public get_partition_names_ps() {
+        super("get_partition_names_ps");
       }
 
-      public get_partitions_by_names_args getEmptyArgsInstance() {
-        return new get_partitions_by_names_args();
+      public get_partition_names_ps_args getEmptyArgsInstance() {
+        return new get_partition_names_ps_args();
       }
 
-      public AsyncMethodCallback<List<Partition>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<String>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<Partition>>() { 
-          public void onComplete(List<Partition> o) {
-            get_partitions_by_names_result result = new 
get_partitions_by_names_result();
+        return new AsyncMethodCallback<List<String>>() { 
+          public void onComplete(List<String> o) {
+            get_partition_names_ps_result result = new 
get_partition_names_ps_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -15728,7 +15671,7 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_partitions_by_names_result result = new 
get_partitions_by_names_result();
+            get_partition_names_ps_result result = new 
get_partition_names_ps_result();
             if (e instanceof MetaException) {
                         result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
@@ -15759,25 +15702,26 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, get_partitions_by_names_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
-        iface.get_partitions_by_names(args.db_name, args.tbl_name, 
args.names,resultHandler);
+      public void start(I iface, get_partition_names_ps_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws 
TException {
+        iface.get_partition_names_ps(args.db_name, args.tbl_name, 
args.part_vals, args.max_parts,resultHandler);
       }
     }
 
-    public static class alter_partition<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, alter_partition_args, Void> {
-      public alter_partition() {
-        super("alter_partition");
+    public static class get_partitions_by_filter<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_filter_args, 
List<Partition>> {
+      public get_partitions_by_filter() {
+        super("get_partitions_by_filter");
       }
 
-      public alter_partition_args getEmptyArgsInstance() {
-        return new alter_partition_args();
+      public get_partitions_by_filter_args getEmptyArgsInstance() {
+        return new get_partitions_by_filter_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer 
fb, final int seqid) {
+      public AsyncMethodCallback<List<Partition>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            alter_partition_result result = new alter_partition_result();
+        return new AsyncMethodCallback<List<Partition>>() { 
+          public void onComplete(List<Partition> o) {
+            get_partitions_by_filter_result result = new 
get_partitions_by_filter_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -15789,14 +15733,14 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            alter_partition_result result = new alter_partition_result();
-            if (e instanceof InvalidOperationException) {
-                        result.o1 = (InvalidOperationException) e;
+            get_partitions_by_filter_result result = new 
get_partitions_by_filter_result();
+            if (e instanceof MetaException) {
+                        result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
                         msg = result;
             }
-            else             if (e instanceof MetaException) {
-                        result.o2 = (MetaException) e;
+            else             if (e instanceof NoSuchObjectException) {
+                        result.o2 = (NoSuchObjectException) e;
                         result.setO2IsSet(true);
                         msg = result;
             }
@@ -15820,25 +15764,26 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, alter_partition_args args, 
org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws 
TException {
-        iface.alter_partition(args.db_name, args.tbl_name, 
args.new_part,resultHandler);
+      public void start(I iface, get_partitions_by_filter_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
+        iface.get_partitions_by_filter(args.db_name, args.tbl_name, 
args.filter, args.max_parts,resultHandler);
       }
     }
 
-    public static class alter_partitions<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, alter_partitions_args, Void> {
-      public alter_partitions() {
-        super("alter_partitions");
+    public static class get_part_specs_by_filter<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_part_specs_by_filter_args, 
List<PartitionSpec>> {
+      public get_part_specs_by_filter() {
+        super("get_part_specs_by_filter");
       }
 
-      public alter_partitions_args getEmptyArgsInstance() {
-        return new alter_partitions_args();
+      public get_part_specs_by_filter_args getEmptyArgsInstance() {
+        return new get_part_specs_by_filter_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer 
fb, final int seqid) {
+      public AsyncMethodCallback<List<PartitionSpec>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            alter_partitions_result result = new alter_partitions_result();
+        return new AsyncMethodCallback<List<PartitionSpec>>() { 
+          public void onComplete(List<PartitionSpec> o) {
+            get_part_specs_by_filter_result result = new 
get_part_specs_by_filter_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -15850,14 +15795,14 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            alter_partitions_result result = new alter_partitions_result();
-            if (e instanceof InvalidOperationException) {
-                        result.o1 = (InvalidOperationException) e;
+            get_part_specs_by_filter_result result = new 
get_part_specs_by_filter_result();
+            if (e instanceof MetaException) {
+                        result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
                         msg = result;
             }
-            else             if (e instanceof MetaException) {
-                        result.o2 = (MetaException) e;
+            else             if (e instanceof NoSuchObjectException) {
+                        result.o2 = (NoSuchObjectException) e;
                         result.setO2IsSet(true);
                         msg = result;
             }
@@ -15881,25 +15826,26 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, alter_partitions_args args, 
org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws 
TException {
-        iface.alter_partitions(args.db_name, args.tbl_name, 
args.new_parts,resultHandler);
+      public void start(I iface, get_part_specs_by_filter_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<PartitionSpec>> resultHandler) 
throws TException {
+        iface.get_part_specs_by_filter(args.db_name, args.tbl_name, 
args.filter, args.max_parts,resultHandler);
       }
     }
 
-    public static class alter_partition_with_environment_context<I extends 
AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, 
alter_partition_with_environment_context_args, Void> {
-      public alter_partition_with_environment_context() {
-        super("alter_partition_with_environment_context");
+    public static class get_partitions_by_expr<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_expr_args, 
PartitionsByExprResult> {
+      public get_partitions_by_expr() {
+        super("get_partitions_by_expr");
       }
 
-      public alter_partition_with_environment_context_args 
getEmptyArgsInstance() {
-        return new alter_partition_with_environment_context_args();
+      public get_partitions_by_expr_args getEmptyArgsInstance() {
+        return new get_partitions_by_expr_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer 
fb, final int seqid) {
+      public AsyncMethodCallback<PartitionsByExprResult> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            alter_partition_with_environment_context_result result = new 
alter_partition_with_environment_context_result();
+        return new AsyncMethodCallback<PartitionsByExprResult>() { 
+          public void onComplete(PartitionsByExprResult o) {
+            get_partitions_by_expr_result result = new 
get_partitions_by_expr_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -15911,14 +15857,14 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            alter_partition_with_environment_context_result result = new 
alter_partition_with_environment_context_result();
-            if (e instanceof InvalidOperationException) {
-                        result.o1 = (InvalidOperationException) e;
+            get_partitions_by_expr_result result = new 
get_partitions_by_expr_result();
+            if (e instanceof MetaException) {
+                        result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
                         msg = result;
             }
-            else             if (e instanceof MetaException) {
-                        result.o2 = (MetaException) e;
+            else             if (e instanceof NoSuchObjectException) {
+                        result.o2 = (NoSuchObjectException) e;
                         result.setO2IsSet(true);
                         msg = result;
             }
@@ -15942,25 +15888,26 @@ public class ThriftHiveMetastore {
         return false;
       }
 
-      public void start(I iface, alter_partition_with_environment_context_args 
args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws 
TException {
-        iface.alter_partition_with_environment_context(args.db_name, 
args.tbl_name, args.new_part, args.environment_context,resultHandler);
+      public void start(I iface, get_partitions_by_expr_args args, 
org.apache.thrift.async.AsyncMethodCallback<PartitionsByExprResult> 
resultHandler) throws TException {
+        iface.get_partitions_by_expr(args.req,resultHandler);
       }
     }
 
-    public static class rename_partition<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, rename_partition_args, Void> {
-      public rename_partition() {
-        super("rename_partition");
+    public static class get_partitions_by_names<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_partitions_by_names_args, 
List<Partition>> {
+      public get_partitions_by_names() {
+        super("get_partitions_by_names");
       }
 
-      public rename_partition_args getEmptyArgsInstance() {
-        return new rename_partition_args();
+      public get_partitions_by_names_args getEmptyArgsInstance() {
+        return new get_partitions_by_names_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer 
fb, final int seqid) {
+      public AsyncMethodCallback<List<Partition>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            rename_partition_result result = new rename_partition_result();
+        return new AsyncMethodCallback<List<Partition>>() { 
+          public void onComplete(List<Partition> o) {
+            get_partitions_by_names_result result = new 
get_partitions_by_names_result();
+            result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -15972,14 +15919,258 @@ public class ThriftHiveMetastore {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            rename_partition_result result = new rename_partition_result();
-            if (e instanceof InvalidOperationException) {
-                        result.o1 = (InvalidOperationException) e;
+            get_partitions_by_names_result result = new 
get_partitions_by_names_result();
+            if (e instanceof MetaException) {
+                        result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
                         msg = result;
             }
-            else             if (e instanceof MetaException) {
-                        result.o2 = (MetaException) e;
+            else             if (e instanceof NoSuchObjectException) {
+                        result.o2 = (NoSuchObjectException) e;
+                        result.setO2IsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, get_partitions_by_names_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<Partition>> resultHandler) 
throws TException {
+        iface.get_partitions_by_names(args.db_name, args.tbl_name, 
args.names,resultHandler);
+      }
+    }
+
+    public static class alter_partition<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, alter_partition_args, Void> {
+      public alter_partition() {
+        super("alter_partition");
+      }
+
+      public alter_partition_args getEmptyArgsInstance() {
+        return new alter_partition_args();
+      }
+
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer 
fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            alter_partition_result result = new alter_partition_result();
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            alter_partition_result result = new alter_partition_result();
+            if (e instanceof InvalidOperationException) {
+                        result.o1 = (InvalidOperationException) e;
+                        result.setO1IsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof MetaException) {
+                        result.o2 = (MetaException) e;
+                        result.setO2IsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, alter_partition_args args, 
org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws 
TException {
+        iface.alter_partition(args.db_name, args.tbl_name, 
args.new_part,resultHandler);
+      }
+    }
+
+    public static class alter_partitions<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, alter_partitions_args, Void> {
+      public alter_partitions() {
+        super("alter_partitions");
+      }
+
+      public alter_partitions_args getEmptyArgsInstance() {
+        return new alter_partitions_args();
+      }
+
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer 
fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            alter_partitions_result result = new alter_partitions_result();
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            alter_partitions_result result = new alter_partitions_result();
+            if (e instanceof InvalidOperationException) {
+                        result.o1 = (InvalidOperationException) e;
+                        result.setO1IsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof MetaException) {
+                        result.o2 = (MetaException) e;
+                        result.setO2IsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, alter_partitions_args args, 
org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws 
TException {
+        iface.alter_partitions(args.db_name, args.tbl_name, 
args.new_parts,resultHandler);
+      }
+    }
+
+    public static class alter_partition_with_environment_context<I extends 
AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, 
alter_partition_with_environment_context_args, Void> {
+      public alter_partition_with_environment_context() {
+        super("alter_partition_with_environment_context");
+      }
+
+      public alter_partition_with_environment_context_args 
getEmptyArgsInstance() {
+        return new alter_partition_with_environment_context_args();
+      }
+
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer 
fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            alter_partition_with_environment_context_result result = new 
alter_partition_with_environment_context_result();
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            alter_partition_with_environment_context_result result = new 
alter_partition_with_environment_context_result();
+            if (e instanceof InvalidOperationException) {
+                        result.o1 = (InvalidOperationException) e;
+                        result.setO1IsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof MetaException) {
+                        result.o2 = (MetaException) e;
+                        result.setO2IsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, alter_partition_with_environment_context_args 
args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws 
TException {
+        iface.alter_partition_with_environment_context(args.db_name, 
args.tbl_name, args.new_part, args.environment_context,resultHandler);
+      }
+    }
+
+    public static class rename_partition<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, rename_partition_args, Void> {
+      public rename_partition() {
+        super("rename_partition");
+      }
+
+      public rename_partition_args getEmptyArgsInstance() {
+        return new rename_partition_args();
+      }
+
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer 
fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            rename_partition_result result = new rename_partition_result();
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            rename_partition_result result = new rename_partition_result();
+            if (e instanceof InvalidOperationException) {
+                        result.o1 = (InvalidOperationException) e;
+                        result.setO1IsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof MetaException) {
+                        result.o2 = (MetaException) e;
                         result.setO2IsSet(true);
                         msg = result;
             }
@@ -66816,7 +67007,1554 @@ public class ThriftHiveMetastore {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("get_partition_result(");
+      StringBuilder sb = new StringBuilder("get_partition_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("o1:");
+      if (this.o1 == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.o1);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("o2:");
+      if (this.o2 == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.o2);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+      if (success != null) {
+        success.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws 
java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new 
org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws 
java.io.IOException, ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new 
org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class get_partition_resultStandardSchemeFactory implements 
SchemeFactory {
+      public get_partition_resultStandardScheme getScheme() {
+        return new get_partition_resultStandardScheme();
+      }
+    }
+
+    private static class get_partition_resultStandardScheme extends 
StandardScheme<get_partition_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, 
get_partition_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
+                struct.success = new Partition();
+                struct.success.read(iprot);
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+              }
+              break;
+            case 1: // O1
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
+                struct.o1 = new MetaException();
+                struct.o1.read(iprot);
+                struct.setO1IsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+              }
+              break;
+            case 2: // O2
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
+                struct.o2 = new NoSuchObjectException();
+                struct.o2.read(iprot);
+                struct.setO2IsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, 
get_partition_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          struct.success.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.o1 != null) {
+          oprot.writeFieldBegin(O1_FIELD_DESC);
+          struct.o1.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.o2 != null) {
+          oprot.writeFieldBegin(O2_FIELD_DESC);
+          struct.o2.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class get_partition_resultTupleSchemeFactory implements 
SchemeFactory {
+      public get_partition_resultTupleScheme getScheme() {
+        return new get_partition_resultTupleScheme();
+      }
+    }
+
+    private static class get_partition_resultTupleScheme extends 
TupleScheme<get_partition_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, 
get_partition_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetO1()) {
+          optionals.set(1);
+        }
+        if (struct.isSetO2()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetSuccess()) {
+          struct.success.write(oprot);
+        }
+        if (struct.isSetO1()) {
+          struct.o1.write(oprot);
+        }
+        if (struct.isSetO2()) {
+          struct.o2.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, 
get_partition_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(3);
+        if (incoming.get(0)) {
+          struct.success = new Partition();
+          struct.success.read(iprot);
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.o1 = new MetaException();
+          struct.o1.read(iprot);
+          struct.setO1IsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.o2 = new NoSuchObjectException();
+          struct.o2.read(iprot);
+          struct.setO2IsSet(true);
+        }
+      }
+    }
+
+  }
+
+  public static class exchange_partition_args implements 
org.apache.thrift.TBase<exchange_partition_args, 
exchange_partition_args._Fields>, java.io.Serializable, Cloneable, 
Comparable<exchange_partition_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("exchange_partition_args");
+
+    private static final org.apache.thrift.protocol.TField 
PARTITION_SPECS_FIELD_DESC = new 
org.apache.thrift.protocol.TField("partitionSpecs", 
org.apache.thrift.protocol.TType.MAP, (short)1);
+    private static final org.apache.thrift.protocol.TField 
SOURCE_DB_FIELD_DESC = new org.apache.thrift.protocol.TField("source_db", 
org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField 
SOURCE_TABLE_NAME_FIELD_DESC = new 
org.apache.thrift.protocol.TField("source_table_name", 
org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField DEST_DB_FIELD_DESC 
= new org.apache.thrift.protocol.TField("dest_db", 
org.apache.thrift.protocol.TType.STRING, (short)4);
+    private static final org.apache.thrift.protocol.TField 
DEST_TABLE_NAME_FIELD_DESC = new 
org.apache.thrift.protocol.TField("dest_table_name", 
org.apache.thrift.protocol.TType.STRING, (short)5);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes 
= new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new 
exchange_partition_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new 
exchange_partition_argsTupleSchemeFactory());
+    }
+
+    private Map<String,String> partitionSpecs; // required
+    private String source_db; // required
+    private String source_table_name; // required
+    private String dest_db; // required
+    private String dest_table_name; // required
+
+    /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      PARTITION_SPECS((short)1, "partitionSpecs"),
+      SOURCE_DB((short)2, "source_db"),
+      SOURCE_TABLE_NAME((short)3, "source_table_name"),
+      DEST_DB((short)4, "dest_db"),
+      DEST_TABLE_NAME((short)5, "dest_table_name");
+
+      private static final Map<String, _Fields> byName = new HashMap<String, 
_Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not 
found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // PARTITION_SPECS
+            return PARTITION_SPECS;
+          case 2: // SOURCE_DB
+            return SOURCE_DB;
+          case 3: // SOURCE_TABLE_NAME
+            return SOURCE_TABLE_NAME;
+          case 4: // DEST_DB
+            return DEST_DB;
+          case 5: // DEST_TABLE_NAME
+            return DEST_TABLE_NAME;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + 
fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final Map<_Fields, 
org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 
EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.PARTITION_SPECS, new 
org.apache.thrift.meta_data.FieldMetaData("partitionSpecs", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new 
org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+              new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING),
 
+              new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+      tmpMap.put(_Fields.SOURCE_DB, new 
org.apache.thrift.meta_data.FieldMetaData("source_db", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.SOURCE_TABLE_NAME, new 
org.apache.thrift.meta_data.FieldMetaData("source_table_name", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.DEST_DB, new 
org.apache.thrift.meta_data.FieldMetaData("dest_db", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.DEST_TABLE_NAME, new 
org.apache.thrift.meta_data.FieldMetaData("dest_table_name", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(exchange_partition_args.class,
 metaDataMap);
+    }
+
+    public exchange_partition_args() {
+    }
+
+    public exchange_partition_args(
+      Map<String,String> partitionSpecs,
+      String source_db,
+      String source_table_name,
+      String dest_db,
+      String dest_table_name)
+    {
+      this();
+      this.partitionSpecs = partitionSpecs;
+      this.source_db = source_db;
+      this.source_table_name = source_table_name;
+      this.dest_db = dest_db;
+      this.dest_table_name = dest_table_name;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public exchange_partition_args(exchange_partition_args other) {
+      if (other.isSetPartitionSpecs()) {
+        Map<String,String> __this__partitionSpecs = new 
HashMap<String,String>(other.partitionSpecs);
+        this.partitionSpecs = __this__partitionSpecs;
+      }
+      if (other.isSetSource_db()) {
+        this.source_db = other.source_db;
+      }
+      if (other.isSetSource_table_name()) {
+        this.source_table_name = other.source_table_name;
+      }
+      if (other.isSetDest_db()) {
+        this.dest_db = other.dest_db;
+      }
+      if (other.isSetDest_table_name()) {
+        this.dest_table_name = other.dest_table_name;
+      }
+    }
+
+    public exchange_partition_args deepCopy() {
+      return new exchange_partition_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.partitionSpecs = null;
+      this.source_db = null;
+      this.source_table_name = null;
+      this.dest_db = null;
+      this.dest_table_name = null;
+    }
+
+    public int getPartitionSpecsSize() {
+      return (this.partitionSpecs == null) ? 0 : this.partitionSpecs.size();
+    }
+
+    public void putToPartitionSpecs(String key, String val) {
+      if (this.partitionSpecs == null) {
+        this.partitionSpecs = new HashMap<String,String>();
+      }
+      this.partitionSpecs.put(key, val);
+    }
+
+    public Map<String,String> getPartitionSpecs() {
+      return this.partitionSpecs;
+    }
+
+    public void setPartitionSpecs(Map<String,String> partitionSpecs) {
+      this.partitionSpecs = partitionSpecs;
+    }
+
+    public void unsetPartitionSpecs() {
+      this.partitionSpecs = null;
+    }
+
+    /** Returns true if field partitionSpecs is set (has been assigned a 
value) and false otherwise */
+    public boolean isSetPartitionSpecs() {
+      return this.partitionSpecs != null;
+    }
+
+    public void setPartitionSpecsIsSet(boolean value) {
+      if (!value) {
+        this.partitionSpecs = null;
+      }
+    }
+
+    public String getSource_db() {
+      return this.source_db;
+    }
+
+    public void setSource_db(String source_db) {
+      this.source_db = source_db;
+    }
+
+    public void unsetSource_db() {
+      this.source_db = null;
+    }
+
+    /** Returns true if field source_db is set (has been assigned a value) and 
false otherwise */
+    public boolean isSetSource_db() {
+      return this.source_db != null;
+    }
+
+    public void setSource_dbIsSet(boolean value) {
+      if (!value) {
+        this.source_db = null;
+      }
+    }
+
+    public String getSource_table_name() {
+      return this.source_table_name;
+    }
+
+    public void setSource_table_name(String source_table_name) {
+      this.source_table_name = source_table_name;
+    }
+
+    public void unsetSource_table_name() {
+      this.source_table_name = null;
+    }
+
+    /** Returns true if

<TRUNCATED>

Reply via email to