http://git-wip-us.apache.org/repos/asf/hive/blob/b678ed85/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 3bc7e10..4690093 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
@@ -84,6 +84,8 @@ public class ThriftHiveMetastore {
 
     public List<String> get_tables(String db_name, String pattern) throws 
MetaException, org.apache.thrift.TException;
 
+    public List<TableMeta> get_table_meta(String db_patterns, String 
tbl_patterns, List<String> tbl_types) throws MetaException, 
org.apache.thrift.TException;
+
     public List<String> get_all_tables(String db_name) throws MetaException, 
org.apache.thrift.TException;
 
     public Table get_table(String dbname, String tbl_name) throws 
MetaException, NoSuchObjectException, org.apache.thrift.TException;
@@ -348,6 +350,8 @@ public class ThriftHiveMetastore {
 
     public void get_tables(String db_name, String pattern, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
+    public void get_table_meta(String db_patterns, String tbl_patterns, 
List<String> tbl_types, org.apache.thrift.async.AsyncMethodCallback 
resultHandler) throws org.apache.thrift.TException;
+
     public void get_all_tables(String db_name, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
     public void get_table(String dbname, String tbl_name, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
@@ -1204,6 +1208,34 @@ public class ThriftHiveMetastore {
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "get_tables failed: unknown result");
     }
 
+    public List<TableMeta> get_table_meta(String db_patterns, String 
tbl_patterns, List<String> tbl_types) throws MetaException, 
org.apache.thrift.TException
+    {
+      send_get_table_meta(db_patterns, tbl_patterns, tbl_types);
+      return recv_get_table_meta();
+    }
+
+    public void send_get_table_meta(String db_patterns, String tbl_patterns, 
List<String> tbl_types) throws org.apache.thrift.TException
+    {
+      get_table_meta_args args = new get_table_meta_args();
+      args.setDb_patterns(db_patterns);
+      args.setTbl_patterns(tbl_patterns);
+      args.setTbl_types(tbl_types);
+      sendBase("get_table_meta", args);
+    }
+
+    public List<TableMeta> recv_get_table_meta() throws MetaException, 
org.apache.thrift.TException
+    {
+      get_table_meta_result result = new get_table_meta_result();
+      receiveBase(result, "get_table_meta");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.o1 != null) {
+        throw result.o1;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "get_table_meta failed: unknown result");
+    }
+
     public List<String> get_all_tables(String db_name) throws MetaException, 
org.apache.thrift.TException
     {
       send_get_all_tables(db_name);
@@ -5131,6 +5163,44 @@ public class ThriftHiveMetastore {
       }
     }
 
+    public void get_table_meta(String db_patterns, String tbl_patterns, 
List<String> tbl_types, org.apache.thrift.async.AsyncMethodCallback 
resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      get_table_meta_call method_call = new get_table_meta_call(db_patterns, 
tbl_patterns, tbl_types, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class get_table_meta_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private String db_patterns;
+      private String tbl_patterns;
+      private List<String> tbl_types;
+      public get_table_meta_call(String db_patterns, String tbl_patterns, 
List<String> tbl_types, 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.db_patterns = db_patterns;
+        this.tbl_patterns = tbl_patterns;
+        this.tbl_types = tbl_types;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("get_table_meta", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        get_table_meta_args args = new get_table_meta_args();
+        args.setDb_patterns(db_patterns);
+        args.setTbl_patterns(tbl_patterns);
+        args.setTbl_types(tbl_types);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<TableMeta> getResult() throws MetaException, 
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_get_table_meta();
+      }
+    }
+
     public void get_all_tables(String db_name, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
       checkReady();
       get_all_tables_call method_call = new get_all_tables_call(db_name, 
resultHandler, this, ___protocolFactory, ___transport);
@@ -9061,6 +9131,7 @@ public class ThriftHiveMetastore {
       processMap.put("drop_table", new drop_table());
       processMap.put("drop_table_with_environment_context", new 
drop_table_with_environment_context());
       processMap.put("get_tables", new get_tables());
+      processMap.put("get_table_meta", new get_table_meta());
       processMap.put("get_all_tables", new get_all_tables());
       processMap.put("get_table", new get_table());
       processMap.put("get_table_objects_by_name", new 
get_table_objects_by_name());
@@ -9731,6 +9802,30 @@ public class ThriftHiveMetastore {
       }
     }
 
+    public static class get_table_meta<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, get_table_meta_args> {
+      public get_table_meta() {
+        super("get_table_meta");
+      }
+
+      public get_table_meta_args getEmptyArgsInstance() {
+        return new get_table_meta_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public get_table_meta_result getResult(I iface, get_table_meta_args 
args) throws org.apache.thrift.TException {
+        get_table_meta_result result = new get_table_meta_result();
+        try {
+          result.success = iface.get_table_meta(args.db_patterns, 
args.tbl_patterns, args.tbl_types);
+        } catch (MetaException o1) {
+          result.o1 = o1;
+        }
+        return result;
+      }
+    }
+
     public static class get_all_tables<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, get_all_tables_args> {
       public get_all_tables() {
         super("get_all_tables");
@@ -12558,6 +12653,7 @@ public class ThriftHiveMetastore {
       processMap.put("drop_table", new drop_table());
       processMap.put("drop_table_with_environment_context", new 
drop_table_with_environment_context());
       processMap.put("get_tables", new get_tables());
+      processMap.put("get_table_meta", new get_table_meta());
       processMap.put("get_all_tables", new get_all_tables());
       processMap.put("get_table", new get_table());
       processMap.put("get_table_objects_by_name", new 
get_table_objects_by_name());
@@ -13991,6 +14087,63 @@ public class ThriftHiveMetastore {
       }
     }
 
+    public static class get_table_meta<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_table_meta_args, List<TableMeta>> 
{
+      public get_table_meta() {
+        super("get_table_meta");
+      }
+
+      public get_table_meta_args getEmptyArgsInstance() {
+        return new get_table_meta_args();
+      }
+
+      public AsyncMethodCallback<List<TableMeta>> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<List<TableMeta>>() { 
+          public void onComplete(List<TableMeta> o) {
+            get_table_meta_result result = new get_table_meta_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_table_meta_result result = new get_table_meta_result();
+            if (e instanceof MetaException) {
+                        result.o1 = (MetaException) e;
+                        result.setO1IsSet(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_table_meta_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<TableMeta>> resultHandler) 
throws TException {
+        iface.get_table_meta(args.db_patterns, args.tbl_patterns, 
args.tbl_types,resultHandler);
+      }
+    }
+
     public static class get_all_tables<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, get_all_tables_args, List<String>> {
       public get_all_tables() {
         super("get_all_tables");
@@ -40884,15 +41037,960 @@ public class ThriftHiveMetastore {
       }
     }
 
-    private static class 
drop_table_with_environment_context_resultStandardSchemeFactory implements 
SchemeFactory {
-      public drop_table_with_environment_context_resultStandardScheme 
getScheme() {
-        return new drop_table_with_environment_context_resultStandardScheme();
+    private static class 
drop_table_with_environment_context_resultStandardSchemeFactory implements 
SchemeFactory {
+      public drop_table_with_environment_context_resultStandardScheme 
getScheme() {
+        return new drop_table_with_environment_context_resultStandardScheme();
+      }
+    }
+
+    private static class 
drop_table_with_environment_context_resultStandardScheme extends 
StandardScheme<drop_table_with_environment_context_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, 
drop_table_with_environment_context_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 1: // O1
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
+                struct.o1 = new NoSuchObjectException();
+                struct.o1.read(iprot);
+                struct.setO1IsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+              }
+              break;
+            case 2: // O3
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
+                struct.o3 = new MetaException();
+                struct.o3.read(iprot);
+                struct.setO3IsSet(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, 
drop_table_with_environment_context_result struct) throws 
org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.o1 != null) {
+          oprot.writeFieldBegin(O1_FIELD_DESC);
+          struct.o1.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.o3 != null) {
+          oprot.writeFieldBegin(O3_FIELD_DESC);
+          struct.o3.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class 
drop_table_with_environment_context_resultTupleSchemeFactory implements 
SchemeFactory {
+      public drop_table_with_environment_context_resultTupleScheme getScheme() 
{
+        return new drop_table_with_environment_context_resultTupleScheme();
+      }
+    }
+
+    private static class drop_table_with_environment_context_resultTupleScheme 
extends TupleScheme<drop_table_with_environment_context_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, 
drop_table_with_environment_context_result struct) throws 
org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.isSetO1()) {
+          optionals.set(0);
+        }
+        if (struct.isSetO3()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetO1()) {
+          struct.o1.write(oprot);
+        }
+        if (struct.isSetO3()) {
+          struct.o3.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, 
drop_table_with_environment_context_result struct) throws 
org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          struct.o1 = new NoSuchObjectException();
+          struct.o1.read(iprot);
+          struct.setO1IsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.o3 = new MetaException();
+          struct.o3.read(iprot);
+          struct.setO3IsSet(true);
+        }
+      }
+    }
+
+  }
+
+  public static class get_tables_args implements 
org.apache.thrift.TBase<get_tables_args, get_tables_args._Fields>, 
java.io.Serializable, Cloneable, Comparable<get_tables_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("get_tables_args");
+
+    private static final org.apache.thrift.protocol.TField DB_NAME_FIELD_DESC 
= new org.apache.thrift.protocol.TField("db_name", 
org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField PATTERN_FIELD_DESC 
= new org.apache.thrift.protocol.TField("pattern", 
org.apache.thrift.protocol.TType.STRING, (short)2);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes 
= new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new 
get_tables_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new get_tables_argsTupleSchemeFactory());
+    }
+
+    private String db_name; // required
+    private String pattern; // 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 {
+      DB_NAME((short)1, "db_name"),
+      PATTERN((short)2, "pattern");
+
+      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: // DB_NAME
+            return DB_NAME;
+          case 2: // PATTERN
+            return PATTERN;
+          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.DB_NAME, new 
org.apache.thrift.meta_data.FieldMetaData("db_name", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.PATTERN, new 
org.apache.thrift.meta_data.FieldMetaData("pattern", 
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(get_tables_args.class,
 metaDataMap);
+    }
+
+    public get_tables_args() {
+    }
+
+    public get_tables_args(
+      String db_name,
+      String pattern)
+    {
+      this();
+      this.db_name = db_name;
+      this.pattern = pattern;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public get_tables_args(get_tables_args other) {
+      if (other.isSetDb_name()) {
+        this.db_name = other.db_name;
+      }
+      if (other.isSetPattern()) {
+        this.pattern = other.pattern;
+      }
+    }
+
+    public get_tables_args deepCopy() {
+      return new get_tables_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.db_name = null;
+      this.pattern = null;
+    }
+
+    public String getDb_name() {
+      return this.db_name;
+    }
+
+    public void setDb_name(String db_name) {
+      this.db_name = db_name;
+    }
+
+    public void unsetDb_name() {
+      this.db_name = null;
+    }
+
+    /** Returns true if field db_name is set (has been assigned a value) and 
false otherwise */
+    public boolean isSetDb_name() {
+      return this.db_name != null;
+    }
+
+    public void setDb_nameIsSet(boolean value) {
+      if (!value) {
+        this.db_name = null;
+      }
+    }
+
+    public String getPattern() {
+      return this.pattern;
+    }
+
+    public void setPattern(String pattern) {
+      this.pattern = pattern;
+    }
+
+    public void unsetPattern() {
+      this.pattern = null;
+    }
+
+    /** Returns true if field pattern is set (has been assigned a value) and 
false otherwise */
+    public boolean isSetPattern() {
+      return this.pattern != null;
+    }
+
+    public void setPatternIsSet(boolean value) {
+      if (!value) {
+        this.pattern = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case DB_NAME:
+        if (value == null) {
+          unsetDb_name();
+        } else {
+          setDb_name((String)value);
+        }
+        break;
+
+      case PATTERN:
+        if (value == null) {
+          unsetPattern();
+        } else {
+          setPattern((String)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case DB_NAME:
+        return getDb_name();
+
+      case PATTERN:
+        return getPattern();
+
+      }
+      throw new IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been 
assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new IllegalArgumentException();
+      }
+
+      switch (field) {
+      case DB_NAME:
+        return isSetDb_name();
+      case PATTERN:
+        return isSetPattern();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof get_tables_args)
+        return this.equals((get_tables_args)that);
+      return false;
+    }
+
+    public boolean equals(get_tables_args that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_db_name = true && this.isSetDb_name();
+      boolean that_present_db_name = true && that.isSetDb_name();
+      if (this_present_db_name || that_present_db_name) {
+        if (!(this_present_db_name && that_present_db_name))
+          return false;
+        if (!this.db_name.equals(that.db_name))
+          return false;
+      }
+
+      boolean this_present_pattern = true && this.isSetPattern();
+      boolean that_present_pattern = true && that.isSetPattern();
+      if (this_present_pattern || that_present_pattern) {
+        if (!(this_present_pattern && that_present_pattern))
+          return false;
+        if (!this.pattern.equals(that.pattern))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_db_name = true && (isSetDb_name());
+      list.add(present_db_name);
+      if (present_db_name)
+        list.add(db_name);
+
+      boolean present_pattern = true && (isSetPattern());
+      list.add(present_pattern);
+      if (present_pattern)
+        list.add(pattern);
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(get_tables_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = 
Boolean.valueOf(isSetDb_name()).compareTo(other.isSetDb_name());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetDb_name()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.db_name, 
other.db_name);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = 
Boolean.valueOf(isSetPattern()).compareTo(other.isSetPattern());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetPattern()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pattern, 
other.pattern);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws 
org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws 
org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+    }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("get_tables_args(");
+      boolean first = true;
+
+      sb.append("db_name:");
+      if (this.db_name == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.db_name);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("pattern:");
+      if (this.pattern == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.pattern);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    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_tables_argsStandardSchemeFactory implements 
SchemeFactory {
+      public get_tables_argsStandardScheme getScheme() {
+        return new get_tables_argsStandardScheme();
+      }
+    }
+
+    private static class get_tables_argsStandardScheme extends 
StandardScheme<get_tables_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, 
get_tables_args 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 1: // DB_NAME
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) 
{
+                struct.db_name = iprot.readString();
+                struct.setDb_nameIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+              }
+              break;
+            case 2: // PATTERN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) 
{
+                struct.pattern = iprot.readString();
+                struct.setPatternIsSet(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_tables_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.db_name != null) {
+          oprot.writeFieldBegin(DB_NAME_FIELD_DESC);
+          oprot.writeString(struct.db_name);
+          oprot.writeFieldEnd();
+        }
+        if (struct.pattern != null) {
+          oprot.writeFieldBegin(PATTERN_FIELD_DESC);
+          oprot.writeString(struct.pattern);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class get_tables_argsTupleSchemeFactory implements 
SchemeFactory {
+      public get_tables_argsTupleScheme getScheme() {
+        return new get_tables_argsTupleScheme();
+      }
+    }
+
+    private static class get_tables_argsTupleScheme extends 
TupleScheme<get_tables_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, 
get_tables_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.isSetDb_name()) {
+          optionals.set(0);
+        }
+        if (struct.isSetPattern()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetDb_name()) {
+          oprot.writeString(struct.db_name);
+        }
+        if (struct.isSetPattern()) {
+          oprot.writeString(struct.pattern);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, 
get_tables_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          struct.db_name = iprot.readString();
+          struct.setDb_nameIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.pattern = iprot.readString();
+          struct.setPatternIsSet(true);
+        }
+      }
+    }
+
+  }
+
+  public static class get_tables_result implements 
org.apache.thrift.TBase<get_tables_result, get_tables_result._Fields>, 
java.io.Serializable, Cloneable, Comparable<get_tables_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("get_tables_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC 
= new org.apache.thrift.protocol.TField("success", 
org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField O1_FIELD_DESC = new 
org.apache.thrift.protocol.TField("o1", 
org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes 
= new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new 
get_tables_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new 
get_tables_resultTupleSchemeFactory());
+    }
+
+    private List<String> success; // required
+    private MetaException o1; // 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 {
+      SUCCESS((short)0, "success"),
+      O1((short)1, "o1");
+
+      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 0: // SUCCESS
+            return SUCCESS;
+          case 1: // O1
+            return O1;
+          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.SUCCESS, new 
org.apache.thrift.meta_data.FieldMetaData("success", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new 
org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+      tmpMap.put(_Fields.O1, new 
org.apache.thrift.meta_data.FieldMetaData("o1", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(get_tables_result.class,
 metaDataMap);
+    }
+
+    public get_tables_result() {
+    }
+
+    public get_tables_result(
+      List<String> success,
+      MetaException o1)
+    {
+      this();
+      this.success = success;
+      this.o1 = o1;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public get_tables_result(get_tables_result other) {
+      if (other.isSetSuccess()) {
+        List<String> __this__success = new ArrayList<String>(other.success);
+        this.success = __this__success;
+      }
+      if (other.isSetO1()) {
+        this.o1 = new MetaException(other.o1);
+      }
+    }
+
+    public get_tables_result deepCopy() {
+      return new get_tables_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.o1 = null;
+    }
+
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public java.util.Iterator<String> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(String elem) {
+      if (this.success == null) {
+        this.success = new ArrayList<String>();
+      }
+      this.success.add(elem);
+    }
+
+    public List<String> getSuccess() {
+      return this.success;
+    }
+
+    public void setSuccess(List<String> success) {
+      this.success = success;
+    }
+
+    public void unsetSuccess() {
+      this.success = null;
+    }
+
+    /** Returns true if field success is set (has been assigned 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 assigned a value) and false 
otherwise */
+    public boolean isSetO1() {
+      return this.o1 != null;
+    }
+
+    public void setO1IsSet(boolean value) {
+      if (!value) {
+        this.o1 = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((List<String>)value);
+        }
+        break;
+
+      case O1:
+        if (value == null) {
+          unsetO1();
+        } else {
+          setO1((MetaException)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case O1:
+        return getO1();
+
+      }
+      throw new IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been 
assigned 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();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof get_tables_result)
+        return this.equals((get_tables_result)that);
+      return false;
+    }
+
+    public boolean equals(get_tables_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;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_success = true && (isSetSuccess());
+      list.add(present_success);
+      if (present_success)
+        list.add(success);
+
+      boolean present_o1 = true && (isSetO1());
+      list.add(present_o1);
+      if (present_o1)
+        list.add(o1);
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(get_tables_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = 
Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, 
other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetO1()).compareTo(other.isSetO1());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetO1()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.o1, 
other.o1);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws 
org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws 
org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+      }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("get_tables_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;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    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_tables_resultStandardSchemeFactory implements 
SchemeFactory {
+      public get_tables_resultStandardScheme getScheme() {
+        return new get_tables_resultStandardScheme();
       }
     }
 
-    private static class 
drop_table_with_environment_context_resultStandardScheme extends 
StandardScheme<drop_table_with_environment_context_result> {
+    private static class get_tables_resultStandardScheme extends 
StandardScheme<get_tables_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, 
drop_table_with_environment_context_result struct) throws 
org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, 
get_tables_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -40902,20 +42000,29 @@ public class ThriftHiveMetastore {
             break;
           }
           switch (schemeField.id) {
-            case 1: // O1
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
-                struct.o1 = new NoSuchObjectException();
-                struct.o1.read(iprot);
-                struct.setO1IsSet(true);
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list650 = 
iprot.readListBegin();
+                  struct.success = new ArrayList<String>(_list650.size);
+                  String _elem651;
+                  for (int _i652 = 0; _i652 < _list650.size; ++_i652)
+                  {
+                    _elem651 = iprot.readString();
+                    struct.success.add(_elem651);
+                  }
+                  iprot.readListEnd();
+                }
+                struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
               }
               break;
-            case 2: // O3
+            case 1: // O1
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
-                struct.o3 = new MetaException();
-                struct.o3.read(iprot);
-                struct.setO3IsSet(true);
+                struct.o1 = new MetaException();
+                struct.o1.read(iprot);
+                struct.setO1IsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
               }
@@ -40929,91 +42036,115 @@ public class ThriftHiveMetastore {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, 
drop_table_with_environment_context_result struct) throws 
org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, 
get_tables_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
struct.success.size()));
+            for (String _iter653 : struct.success)
+            {
+              oprot.writeString(_iter653);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
         if (struct.o1 != null) {
           oprot.writeFieldBegin(O1_FIELD_DESC);
           struct.o1.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.o3 != null) {
-          oprot.writeFieldBegin(O3_FIELD_DESC);
-          struct.o3.write(oprot);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class 
drop_table_with_environment_context_resultTupleSchemeFactory implements 
SchemeFactory {
-      public drop_table_with_environment_context_resultTupleScheme getScheme() 
{
-        return new drop_table_with_environment_context_resultTupleScheme();
+    private static class get_tables_resultTupleSchemeFactory implements 
SchemeFactory {
+      public get_tables_resultTupleScheme getScheme() {
+        return new get_tables_resultTupleScheme();
       }
     }
 
-    private static class drop_table_with_environment_context_resultTupleScheme 
extends TupleScheme<drop_table_with_environment_context_result> {
+    private static class get_tables_resultTupleScheme extends 
TupleScheme<get_tables_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, 
drop_table_with_environment_context_result struct) throws 
org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, 
get_tables_result struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
-        if (struct.isSetO1()) {
+        if (struct.isSetSuccess()) {
           optionals.set(0);
         }
-        if (struct.isSetO3()) {
+        if (struct.isSetO1()) {
           optionals.set(1);
         }
         oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          {
+            oprot.writeI32(struct.success.size());
+            for (String _iter654 : struct.success)
+            {
+              oprot.writeString(_iter654);
+            }
+          }
+        }
         if (struct.isSetO1()) {
           struct.o1.write(oprot);
         }
-        if (struct.isSetO3()) {
-          struct.o3.write(oprot);
-        }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, 
drop_table_with_environment_context_result struct) throws 
org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, 
get_tables_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          struct.o1 = new NoSuchObjectException();
-          struct.o1.read(iprot);
-          struct.setO1IsSet(true);
+          {
+            org.apache.thrift.protocol.TList _list655 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
iprot.readI32());
+            struct.success = new ArrayList<String>(_list655.size);
+            String _elem656;
+            for (int _i657 = 0; _i657 < _list655.size; ++_i657)
+            {
+              _elem656 = iprot.readString();
+              struct.success.add(_elem656);
+            }
+          }
+          struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
-          struct.o3 = new MetaException();
-          struct.o3.read(iprot);
-          struct.setO3IsSet(true);
+          struct.o1 = new MetaException();
+          struct.o1.read(iprot);
+          struct.setO1IsSet(true);
         }
       }
     }
 
   }
 
-  public static class get_tables_args implements 
org.apache.thrift.TBase<get_tables_args, get_tables_args._Fields>, 
java.io.Serializable, Cloneable, Comparable<get_tables_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("get_tables_args");
+  public static class get_table_meta_args implements 
org.apache.thrift.TBase<get_table_meta_args, get_table_meta_args._Fields>, 
java.io.Serializable, Cloneable, Comparable<get_table_meta_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("get_table_meta_args");
 
-    private static final org.apache.thrift.protocol.TField DB_NAME_FIELD_DESC 
= new org.apache.thrift.protocol.TField("db_name", 
org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField PATTERN_FIELD_DESC 
= new org.apache.thrift.protocol.TField("pattern", 
org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField 
DB_PATTERNS_FIELD_DESC = new org.apache.thrift.protocol.TField("db_patterns", 
org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField 
TBL_PATTERNS_FIELD_DESC = new org.apache.thrift.protocol.TField("tbl_patterns", 
org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField 
TBL_TYPES_FIELD_DESC = new org.apache.thrift.protocol.TField("tbl_types", 
org.apache.thrift.protocol.TType.LIST, (short)3);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes 
= new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new 
get_tables_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new get_tables_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new 
get_table_meta_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new 
get_table_meta_argsTupleSchemeFactory());
     }
 
-    private String db_name; // required
-    private String pattern; // required
+    private String db_patterns; // required
+    private String tbl_patterns; // required
+    private List<String> tbl_types; // 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 {
-      DB_NAME((short)1, "db_name"),
-      PATTERN((short)2, "pattern");
+      DB_PATTERNS((short)1, "db_patterns"),
+      TBL_PATTERNS((short)2, "tbl_patterns"),
+      TBL_TYPES((short)3, "tbl_types");
 
       private static final Map<String, _Fields> byName = new HashMap<String, 
_Fields>();
 
@@ -41028,10 +42159,12 @@ public class ThriftHiveMetastore {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // DB_NAME
-            return DB_NAME;
-          case 2: // PATTERN
-            return PATTERN;
+          case 1: // DB_PATTERNS
+            return DB_PATTERNS;
+          case 2: // TBL_PATTERNS
+            return TBL_PATTERNS;
+          case 3: // TBL_TYPES
+            return TBL_TYPES;
           default:
             return null;
         }
@@ -41075,109 +42208,165 @@ public class ThriftHiveMetastore {
     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.DB_NAME, new 
org.apache.thrift.meta_data.FieldMetaData("db_name", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+      tmpMap.put(_Fields.DB_PATTERNS, new 
org.apache.thrift.meta_data.FieldMetaData("db_patterns", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.PATTERN, new 
org.apache.thrift.meta_data.FieldMetaData("pattern", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+      tmpMap.put(_Fields.TBL_PATTERNS, new 
org.apache.thrift.meta_data.FieldMetaData("tbl_patterns", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.TBL_TYPES, new 
org.apache.thrift.meta_data.FieldMetaData("tbl_types", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new 
org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(get_tables_args.class,
 metaDataMap);
+      
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(get_table_meta_args.class,
 metaDataMap);
     }
 
-    public get_tables_args() {
+    public get_table_meta_args() {
     }
 
-    public get_tables_args(
-      String db_name,
-      String pattern)
+    public get_table_meta_args(
+      String db_patterns,
+      String tbl_patterns,
+      List<String> tbl_types)
     {
       this();
-      this.db_name = db_name;
-      this.pattern = pattern;
+      this.db_patterns = db_patterns;
+      this.tbl_patterns = tbl_patterns;
+      this.tbl_types = tbl_types;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public get_tables_args(get_tables_args other) {
-      if (other.isSetDb_name()) {
-        this.db_name = other.db_name;
+    public get_table_meta_args(get_table_meta_args other) {
+      if (other.isSetDb_patterns()) {
+        this.db_patterns = other.db_patterns;
       }
-      if (other.isSetPattern()) {
-        this.pattern = other.pattern;
+      if (other.isSetTbl_patterns()) {
+        this.tbl_patterns = other.tbl_patterns;
+      }
+      if (other.isSetTbl_types()) {
+        List<String> __this__tbl_types = new 
ArrayList<String>(other.tbl_types);
+        this.tbl_types = __this__tbl_types;
       }
     }
 
-    public get_tables_args deepCopy() {
-      return new get_tables_args(this);
+    public get_table_meta_args deepCopy() {
+      return new get_table_meta_args(this);
     }
 
     @Override
     public void clear() {
-      this.db_name = null;
-      this.pattern = null;
+      this.db_patterns = null;
+      this.tbl_patterns = null;
+      this.tbl_types = null;
     }
 
-    public String getDb_name() {
-      return this.db_name;
+    public String getDb_patterns() {
+      return this.db_patterns;
     }
 
-    public void setDb_name(String db_name) {
-      this.db_name = db_name;
+    public void setDb_patterns(String db_patterns) {
+      this.db_patterns = db_patterns;
     }
 
-    public void unsetDb_name() {
-      this.db_name = null;
+    public void unsetDb_patterns() {
+      this.db_patterns = null;
     }
 
-    /** Returns true if field db_name is set (has been assigned a value) and 
false otherwise */
-    public boolean isSetDb_name() {
-      return this.db_name != null;
+    /** Returns true if field db_patterns is set (has been assigned a value) 
and false otherwise */
+    public boolean isSetDb_patterns() {
+      return this.db_patterns != null;
     }
 
-    public void setDb_nameIsSet(boolean value) {
+    public void setDb_patternsIsSet(boolean value) {
       if (!value) {
-        this.db_name = null;
+        this.db_patterns = null;
       }
     }
 
-    public String getPattern() {
-      return this.pattern;
+    public String getTbl_patterns() {
+      return this.tbl_patterns;
     }
 
-    public void setPattern(String pattern) {
-      this.pattern = pattern;
+    public void setTbl_patterns(String tbl_patterns) {
+      this.tbl_patterns = tbl_patterns;
     }
 
-    public void unsetPattern() {
-      this.pattern = null;
+    public void unsetTbl_patterns() {
+      this.tbl_patterns = null;
     }
 
-    /** Returns true if field pattern is set (has been assigned a value) and 
false otherwise */
-    public boolean isSetPattern() {
-      return this.pattern != null;
+    /** Returns true if field tbl_patterns is set (has been assigned a value) 
and false otherwise */
+    public boolean isSetTbl_patterns() {
+      return this.tbl_patterns != null;
     }
 
-    public void setPatternIsSet(boolean value) {
+    public void setTbl_patternsIsSet(boolean value) {
       if (!value) {
-        this.pattern = null;
+        this.tbl_patterns = null;
+      }
+    }
+
+    public int getTbl_typesSize() {
+      return (this.tbl_types == null) ? 0 : this.tbl_types.size();
+    }
+
+    public java.util.Iterator<String> getTbl_typesIterator() {
+      return (this.tbl_types == null) ? null : this.tbl_types.iterator();
+    }
+
+    public void addToTbl_types(String elem) {
+      if (this.tbl_types == null) {
+        this.tbl_types = new ArrayList<String>();
+      }
+      this.tbl_types.add(elem);
+    }
+
+    public List<String> getTbl_types() {
+      return this.tbl_types;
+    }
+
+    public void setTbl_types(List<String> tbl_types) {
+      this.tbl_types = tbl_types;
+    }
+
+    public void unsetTbl_types() {
+      this.tbl_types = null;
+    }
+
+    /** Returns true if field tbl_types is set (has been assigned a value) and 
false otherwise */
+    public boolean isSetTbl_types() {
+      return this.tbl_types != null;
+    }
+
+    public void setTbl_typesIsSet(boolean value) {
+      if (!value) {
+        this.tbl_types = null;
       }
     }
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
-      case DB_NAME:
+      case DB_PATTERNS:
         if (value == null) {
-          unsetDb_name();
+          unsetDb_patterns();
         } else {
-          setDb_name((String)value);
+          setDb_patterns((String)value);
         }
         break;
 
-      case PATTERN:
+      case TBL_PATTERNS:
         if (value == null) {
-          unsetPattern();
+          unsetTbl_patterns();
         } else {
-          setPattern((String)value);
+          setTbl_patterns((String)value);
+        }
+        break;
+
+      case TBL_TYPES:
+        if (value == null) {
+          unsetTbl_types();
+        } else {
+          setTbl_types((List<String>)value);
         }
         break;
 
@@ -41186,11 +42375,14 @@ public class ThriftHiveMetastore {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-      case DB_NAME:
-        return getDb_name();
+      case DB_PATTERNS:
+        return getDb_patterns();
 
-      case PATTERN:
-        return getPattern();
+      case TBL_PATTERNS:
+        return getTbl_patterns();
+
+      case TBL_TYPES:
+        return getTbl_types();
 
       }
       throw new IllegalStateException();
@@ -41203,10 +42395,12 @@ public class ThriftHiveMetastore {
       }
 
       switch (field) {
-      case DB_NAME:
-        return isSetDb_name();
-      case PATTERN:
-        return isSetPattern();
+      case DB_PATTERNS:
+        return isSetDb_patterns();
+      case TBL_PATTERNS:
+        return isSetTbl_patterns();
+      case TBL_TYPES:
+        return isSetTbl_types();
       }
       throw new IllegalStateException();
     }
@@ -41215,30 +42409,39 @@ public class ThriftHiveMetastore {
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof get_tables_args)
-        return this.equals((get_tables_args)that);
+      if (that instanceof get_table_meta_args)
+        return this.equals((get_table_meta_args)that);
       return false;
     }
 
-    public boolean equals(get_tables_args that) {
+    public boolean equals(get_table_meta_args that) {
       if (that == null)
         return false;
 
-      boolean this_present_db_name = true && this.isSetDb_name();
-      boolean that_present_db_name = true && that.isSetDb_name();
-      if (this_present_db_name || that_present_db_name) {
-        if (!(this_present_db_name && that_present_db_name))
+      boolean this_present_db_patterns = true && this.isSetDb_patterns();
+      boolean that_present_db_patterns = true && that.isSetDb_patterns();
+      if (this_present_db_patterns || that_present_db_patterns) {
+        if (!(this_present_db_patterns && that_present_db_patterns))
           return false;
-        if (!this.db_name.equals(that.db_name))
+        if (!this.db_patterns.equals(that.db_patterns))
           return false;
       }
 
-      boolean this_present_pattern = true && this.isSetPattern();
-      boolean that_present_pattern = true && that.isSetPattern();
-      if (this_present_pattern || that_present_pattern) {
-        if (!(this_present_pattern && that_present_pattern))
+      boolean this_present_tbl_patterns = true && this.isSetTbl_patterns();
+      boolean that_present_tbl_patterns = true && that.isSetTbl_patterns();
+      if (this_present_tbl_patterns || that_present_tbl_patterns) {
+        if (!(this_present_tbl_patterns && that_present_tbl_patterns))
           return false;
-        if (!this.pattern.equals(that.pattern))
+        if (!this.tbl_patterns.equals(that.tbl_patterns))
+          return false;
+      }
+
+      boolean this_present_tbl_types = true && this.isSetTbl_types();
+      boolean that_present_tbl_types = true && that.isSetTbl_types();
+      if (this_present_tbl_types || that_present_tbl_types) {
+        if (!(this_present_tbl_types && that_present_tbl_types))
+          return false;
+        if (!this.tbl_types.equals(that.tbl_types))
           return false;
       }
 
@@ -41249,43 +42452,58 @@ public class ThriftHiveMetastore {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
-      boolean present_db_name = true && (isSetDb_name());
-      list.add(present_db_name);
-      if (present_db_name)
-        list.add(db_name);
+      boolean present_db_patterns = true && (isSetDb_patterns());
+      list.add(present_db_patterns);
+      if (present_db_patterns)
+        list.add(db_patterns);
 
-      boolean present_pattern = true && (isSetPattern());
-      list.add(present_pattern);
-      if (present_pattern)
-        list.add(pattern);
+      boolean present_tbl_patterns = true && (isSetTbl_patterns());
+      list.add(present_tbl_patterns);
+      if (present_tbl_patterns)
+        list.add(tbl_patterns);
+
+      boolean present_tbl_types = true && (isSetTbl_types());
+      list.add(present_tbl_types);
+      if (present_tbl_types)
+        list.add(tbl_types);
 
       return list.hashCode();
     }
 
     @Override
-    public int compareTo(get_tables_args other) {
+    public int compareTo(get_table_meta_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = 
Boolean.valueOf(isSetDb_name()).compareTo(other.isSetDb_name());
+      lastComparison = 
Boolean.valueOf(isSetDb_patterns()).compareTo(other.isSetDb_patterns());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetDb_name()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.db_name, 
other.db_name);
+      if (isSetDb_patterns()) {
+        lastComparison = 
org.apache.thrift.TBaseHelper.compareTo(this.db_patterns, other.db_patterns);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = 
Boolean.valueOf(isSetPattern()).compareTo(other.isSetPattern());
+      lastComparison = 
Boolean.valueOf(isSetTbl_patterns()).compareTo(other.isSetTbl_patterns());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetPattern()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pattern, 
other.pattern);
+      if (isSetTbl_patterns()) {
+        lastComparison = 
org.apache.thrift.TBaseHelper.compareTo(this.tbl_patterns, other.tbl_patterns);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = 
Boolean.valueOf(isSetTbl_types()).compareTo(other.isSetTbl_types());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetTbl_types()) {
+        lastComparison = 
org.apache.thrift.TBaseHelper.compareTo(this.tbl_types, other.tbl_types);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -41307,22 +42525,30 @@ public class ThriftHiveMetastore {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("get_tables_args(");
+      StringBuilder sb = new StringBuilder("get_table_meta_args(");
       boolean first = true;
 
-      sb.append("db_name:");
-      if (this.db_name == null) {
+      sb.append("db_patterns:");
+      if (this.db_patterns == null) {
         sb.append("null");
       } else {
-        sb.append(this.db_name);
+        sb.append(this.db_patterns);
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("pattern:");
-      if (this.pattern == null) {
+      sb.append("tbl_patterns:");
+      if (this.tbl_patterns == null) {
         sb.append("null");
       } else {
-        sb.append(this.pattern);
+        sb.append(this.tbl_patterns);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("tbl_types:");
+      if (this.tbl_types == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tbl_types);
       }
       first = false;
       sb.append(")");
@@ -41350,15 +42576,15 @@ public class ThriftHiveMetastore {
       }
     }
 
-    private static class get_tables_argsStandardSchemeFactory implements 
SchemeFactory {
-      public get_tables_argsStandardScheme getScheme() {
-        return new get_tables_argsStandardScheme();
+    private static class get_table_meta_argsStandardSchemeFactory implements 
SchemeFactory {
+      public get_table_meta_argsStandardScheme getScheme() {
+        return new get_table_meta_argsStandardScheme();
       }
     }
 
-    private static class get_tables_argsStandardScheme extends 
StandardScheme<get_tables_args> {
+    private static class get_table_meta_argsStandardScheme extends 
StandardScheme<get_table_meta_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, 
get_tables_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, 
get_table_meta_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -41368,18 +42594,36 @@ public class ThriftHiveMetastore {
             break;
           }
           switch (schemeField.id) {
-            case 1: // DB_NAME
+            case 1: // DB_PATTERNS
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) 
{
-                struct.db_name = iprot.readString();
-                struct.setDb_nameIsSet(true);
+                struct.db_patterns = iprot.readString();
+                struct.setDb_patternsIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
               }
               break;
-            case 2: // PATTERN
+            case 2: // TBL_PATTERNS
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) 
{
-                struct.pattern = iprot.readString();
-                struct.setPatternIsSet(true);
+                struct.tbl_patterns = iprot.readString();
+                struct.setTbl_patternsIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+              }
+              break;
+            case 3: // TBL_TYPES
+              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list658 = 
iprot.readListBegin();
+                  struct.tbl_types = new ArrayList<String>(_list658.size);
+                  String _elem659;
+                  for (int _i660 = 0; _i660 < _list658.size; ++_i660)
+                  {
+                    _elem659 = iprot.readString();
+                    struct.tbl_types.add(_elem659);
+                  }
+                  iprot.readListEnd();
+                }
+                struct.setTbl_typesIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
               }
@@ -41393,18 +42637,30 @@ public class ThriftHiveMetastore {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, 
get_tables_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, 
get_table_meta_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.db_name != null) {
-          oprot.writeFieldBegin(DB_NAME_FIELD_DESC);
-          oprot.writeString(struct.db_name);
+        if (struct.db_patterns != null) {
+          oprot.writeFieldBegin(DB_PATTERNS_FIELD_DESC);
+          oprot.writeString(struct.db_patterns);
           oprot.writeFieldEnd();
         }
-        if (struct.pattern != null) {
-          oprot.writeFieldBegin(PATTERN_FIELD_DESC);
-          oprot.writeString(struct.pattern);
+        if (struct.tbl_patterns != null) {
+          oprot.writeFieldBegin(TBL_PATTERNS_FIELD_DESC);
+          oprot.writeString(struct.tbl_patterns);
+          oprot.writeFieldEnd();
+        }
+        if (struct.tbl_types != null) {
+          oprot.writeFieldBegin(TBL_TYPES_FIELD_DESC);
+          {
+            oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
struct.tbl_types.size()));
+            for (String _iter661 : struct.tbl_types)
+            {
+              oprot.writeString(_iter661);
+            }
+            oprot.writeListEnd();
+          }
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -41413,63 +42669,88 @@ public class ThriftHiveMetastore {
 
     }
 
-    private static class get_tables_argsTupleSchemeFactory implements 
SchemeFactory {
-      public get_tables_argsTupleScheme getScheme() {
-        return new get_tables_argsTupleScheme();
+    private static class get_table_meta_argsTupleSchemeFactory implements 
SchemeFactory {
+      public get_table_meta_argsTupleScheme getScheme() {
+        return new get_table_meta_argsTupleScheme();
       }
     }
 
-    private static class get_tables_argsTupleScheme extends 
TupleScheme<get_tables_args> {
+    private static class get_table_meta_argsTupleScheme extends 
TupleScheme<get_table_meta_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, 
get_tables_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, 
get_table_meta_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
-        if (struct.isSetDb_name()) {
+        if (struct.isSetDb_patterns()) {
           optionals.set(0);
         }
-        if (struct.isSetPattern()) {
+        if (struct.isSetTbl_patterns()) {
           optionals.set(1);
         }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetDb_name()) {
-          oprot.writeString(struct.db_name);
+        if (struct.isSetTbl_types()) {
+          optionals.set(2);
         }
-        if (struct.isSetPattern()) {
-          oprot.writeString(struct.pattern);
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetDb_patterns()) {
+          oprot.writeString(struct.db_patterns);
+        }
+        if (struct.isSetTbl_patterns()) {
+          oprot.writeString(struct.tbl_patterns);
+        }
+        if (struct.isSetTbl_types()) {
+          {
+            oprot.writeI32(struct.tbl_types.size());
+            for (String _iter662 : struct.tbl_types)
+            {
+              oprot.writeString(_iter662);
+            }
+          }
         }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, 
get_tables_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, 
get_table_meta_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(2);
+        BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
-          struct.db_name = iprot.readString();
-          struct.setDb_nameIsSet(true);
+          struct.db_patterns = iprot.readString();
+          struct.setDb_patternsIsSet(true);
         }
         if (incoming.get(1)) {
-          struct.pattern = iprot.readString();
-          struct.setPatternIsSet(true);
+          struct.tbl_patterns = iprot.readString();
+          struct.setTbl_patternsIsSet(true);
+        }
+        if (incoming.get(2)) {
+          {
+            org.apache.thrift.protocol.TList _list663 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
iprot.readI32());
+            struct.tbl_types = new ArrayList<String>(_list663.size);
+            String _elem664;
+            for (int _i665 = 0; _i665 < _list663.size; ++_i665)
+            {
+              _elem664 = iprot.readString();
+              struct.tbl_types.add(_elem664);
+            }
+          }
+          struct.setTbl_typesIsSet(true);
         }
       }
     }
 
   }
 
-  public static class get_tables_result implements 
org.apache.thrift.TBase<get_tables_result, get_tables_result._Fields>, 
java.io.Serializable, Cloneable, Comparable<get_tables_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("get_tables_result");
+  public static class get_table_meta_result implements 
org.apache.thrift.TBase<get_table_meta_result, get_table_meta_result._Fields>, 
java.io.Serializable, Cloneable, Comparable<get_table_meta_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("get_table_meta_result");
 
     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC 
= new org.apache.thrift.protocol.TField("success", 
org.apache.thrift.protocol.TType.LIST, (short)0);
     private static final org.apache.thrift.protocol.TField O1_FIELD_DESC = new 
org.apache.thrift.protocol.TField("o1", 
org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes 
= new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new 
get_tables_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new 
get_tables_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new 
get_table_meta_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new 
get_table_meta_resultTupleSchemeFactory());
     }
 
-    private List<String> success; // required
+    private List<TableMeta> success; // required
     private MetaException o1; // required
 
     /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
@@ -41539,18 +42820,18 @@ public class ThriftHiveMetastore {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 
EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new 
org.apache.thrift.meta_data.FieldMetaData("success", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new 
org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+              new 
org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT,
 TableMeta.class))));
       tmpMap.put(_Fields.O1, new 
org.apache.thrift.meta_data.FieldMetaData("o1", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(get_tables_result.class,
 metaDataMap);
+      
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(get_table_meta_result.class,
 metaDataMap);
     }
 
-    public get_tables_result() {
+    public get_table_meta_result() {
     }
 
-    public get_tables_result(
-      List<String> success,
+    public get_table_meta_result(
+      List<TableMeta> success,
       MetaException o1)
     {
       this();
@@ -41561,9 +42842,12 @@ public class ThriftHiveMetastore {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public get_tables_result(get_tables_result other) {
+    public get_table_meta_result(get_table_meta_result other) {
       if (other.isSetSuccess()) {
-        List<String> __this__success = new ArrayList<String>(other.success);
+        List<TableMeta> __this__success = new 
ArrayList<TableMeta>(other.success.size());
+        for (TableMeta other_element : other.success) {
+          __this__success.add(new TableMeta(other_element));
+        }
         this.success = __this__success;
       }
       if (other.isSetO1()) {
@@ -41571,8 +42855,8 @@ public class ThriftHiveMetastore {
       }
     }
 
-    public get_tables_result deepCopy() {
-      return new get_tables_result(this);
+    public get_table_meta_result deepCopy() {
+      return new get_table_meta_result(this);
     }
 
     @Override
@@ -41585,22 +42869,22 @@ public class ThriftHiveMetastore {
       return (this.success == null) ? 0 : this.success.size();
     }
 
-    public java.util.Iterator<String> getSuccessIterator() {
+    public java.util.Iterator<TableMeta> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
 
-    public void addToSuccess(String elem) {
+    public void addToSuccess(TableMeta elem) {
       if (this.success == null) {
-        this.success = new ArrayList<String>();
+        this.success = new ArrayList<TableMeta>();
       }
       this.success.add(elem);
     }
 
-    public List<String> getSuccess() {
+    public List<TableMeta> getSuccess() {
       return this.success;
     }
 
-    public void setSuccess(List<String> success) {
+    public void setSuccess(List<TableMeta> success) {
       this.success = success;
     }
 
@@ -41648,7 +42932,7 @@ public class ThriftHiveMetastore {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((List<String>)value);
+          setSuccess((List<TableMeta>)value);
         }
         break;
 
@@ -41694,12 +42978,12 @@ public class ThriftHiveMetastore {
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof get_tables_result)
-        return this.equals((get_tables_result)that);
+      if (that instanceof get_table_meta_result)
+        return this.equals((get_table_meta_result)that);
       return false;
     }
 
-    public boolean equals(get_tables_result that) {
+    public boolean equals(get_table_meta_result that) {
       if (that == null)
         return false;
 
@@ -41742,7 +43026,7 @@ public class ThriftHiveMetastore {
     }
 
     @Override
-    public int compareTo(get_tables_result other) {
+    public int compareTo(get_table_meta_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -41786,7 +43070,7 @@ public class ThriftHiveMetastore {
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("get_tables_result(");
+      StringBuilder sb = new StringBuilder("get_table_meta_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -41829,15 +43113,15 @@ public class ThriftHiveMetastore {
       }
     }
 
-    private static class get_tables_resultStandardSchemeFactory implements 
SchemeFactory {
-      public get_tables_resultStandardScheme getScheme() {
-        return new get_tables_resultStandardScheme();
+    private static class get_table_meta_resultStandardSchemeFactory implements 
SchemeFactory {
+      public get_table_meta_resultStandardScheme getScheme() {
+        return new get_table_meta_resultStandardScheme();
       }
     }
 
-    private static class get_tables_resultStandardScheme extends 
StandardScheme<get_tables_result> {
+    private static class get_table_meta_resultStandardScheme extends 
StandardScheme<get_table_meta_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, 
get_tables_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, 
get_table_meta_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -41850,13 +43134,14 @@ public class ThriftHiveMetastore {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list650 = 
iprot.readListBegin();
-                  struct.success = new ArrayList<String>(_list650.size);
-                  String _elem651;
-                  for (int _i652 = 0; _i652 < _list650.size; ++_i652)
+                  org.apache.thrift.protocol.TList _list666 = 
iprot.readListBegin();
+                  struct.success = new ArrayList<TableMeta>(_list666.size);
+                  TableMeta _elem667;
+                  for (int _i668 = 0; _i668 < _list666.size; ++_i668)
                   {
-                    _elem651 = iprot.readString();
-                    struct.success.add(_elem651);
+                    _elem667 = new TableMeta();
+                    _elem667.read(iprot);
+                    struct.success.add(_elem667);
                   }
                   iprot.readListEnd();
                 }
@@ -41883,17 +43168,17 @@ public class ThriftHiveMetastore {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, 
get_tables_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, 
get_table_meta_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
         if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
-            oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
struct.success.size()));
-            for (String _iter653 : struct.success)
+            oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
struct.success.size()));
+            for (TableMeta _iter669 : struct.success)
             {
-              oprot.writeString(_iter653);
+              _iter669.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -41910,16 +43195,16 @@ public class ThriftHiveMetastore {
 
     }
 
-    private static class get_tables_resultTupleSchemeFactory implements 
SchemeFactory {
-      public get_tables_resultTupleScheme getScheme() {
-        return new get_tables_resultTupleScheme();
+    private static class get_table_meta_resultTupleSchemeFactory implements 
SchemeFactory {
+      public get_table_meta_resultTupleScheme getScheme() {
+        return new get_table_meta_resultTupleScheme();
       }
     }
 
-    private static class get_tables_resultTupleScheme extends 
TupleScheme<get_tables_result> {
+    private static class get_table_meta_resultTupleScheme extends 
TupleScheme<get_table_meta_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, 
get_tables_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, 
get_table_meta_result struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
         if (struct.isSetSuccess()) {
@@ -41932,9 +43217,9 @@ public class ThriftHiveMetastore {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (String _iter654 : struct.success)
+            for (TableMeta _iter670 : struct.success)
             {
-              oprot.writeString(_iter654);
+              _iter670.write(oprot);
             }
           }
         }
@@ -41944,18 +43229,19 @@ public class ThriftHiveMetastore {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, 
get_tables_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, 
get_table_meta_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list655 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
iprot.readI32());
-            struct.success = new ArrayList<String>(_list655.size);
-            String _elem656;
-            for (int _i657 = 0; _i657 < _list655.size; ++_i657)
+            org.apache.thrift.protocol.TList _list671 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, 
iprot.readI32());
+            struct.success = new ArrayList<TableMeta>(_list671.size);
+            TableMeta _elem672;
+            for (int _i673 = 0; _i673 < _list671.size; ++_i673)
             {
-              _elem656 = iprot.readString();
-              struct.success.add(_elem656);
+              _elem672 = new TableMeta();
+              _elem672.read(iprot);
+              struct.success.add(_elem672);
             }
           }
           struct.setSuccessIsSet(true);
@@ -42721,13 +44007,13 @@ public class ThriftHiveMetastore {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list658 = 
iprot.readListBegin();
-                  struct.success = new ArrayList<String>(_list658.size);
-                  String _elem659;
-                  for (int _i660 = 0; _i660 < _list658.size; ++_i660)
+                  org.apache.thrift.protocol.TList _list674 = 
iprot.readListBegin();
+                  struct.success = new ArrayList<String>(_list674.size);
+                  String _elem675;
+                  for (int _i676 = 0; _i676 < _list674.size; ++_i676)
                   {
-                    _elem659 = iprot.readString();
-                    struct.success.add(_elem659);
+                    _elem675 = iprot.readString();
+                    struct.success.add(_elem675);
                   }
                   i

<TRUNCATED>

Reply via email to