You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by je...@apache.org on 2014/02/11 01:32:25 UTC

[07/13] Port Phoenix to Hbase0.98

http://git-wip-us.apache.org/repos/asf/incubator-phoenix/blob/53f7d3ce/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/MetaDataProtos.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/MetaDataProtos.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/MetaDataProtos.java
new file mode 100644
index 0000000..7ba56c9
--- /dev/null
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/MetaDataProtos.java
@@ -0,0 +1,7135 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: MetaDataService.proto
+
+package org.apache.phoenix.coprocessor.generated;
+
+public final class MetaDataProtos {
+  private MetaDataProtos() {}
+  public static void registerAllExtensions(
+      com.google.protobuf.ExtensionRegistry registry) {
+  }
+  /**
+   * Protobuf enum {@code MutationCode}
+   */
+  public enum MutationCode
+      implements com.google.protobuf.ProtocolMessageEnum {
+    /**
+     * <code>TABLE_ALREADY_EXISTS = 0;</code>
+     */
+    TABLE_ALREADY_EXISTS(0, 0),
+    /**
+     * <code>TABLE_NOT_FOUND = 1;</code>
+     */
+    TABLE_NOT_FOUND(1, 1),
+    /**
+     * <code>COLUMN_NOT_FOUND = 2;</code>
+     */
+    COLUMN_NOT_FOUND(2, 2),
+    /**
+     * <code>COLUMN_ALREADY_EXISTS = 3;</code>
+     */
+    COLUMN_ALREADY_EXISTS(3, 3),
+    /**
+     * <code>CONCURRENT_TABLE_MUTATION = 4;</code>
+     */
+    CONCURRENT_TABLE_MUTATION(4, 4),
+    /**
+     * <code>TABLE_NOT_IN_REGION = 5;</code>
+     */
+    TABLE_NOT_IN_REGION(5, 5),
+    /**
+     * <code>NEWER_TABLE_FOUND = 6;</code>
+     */
+    NEWER_TABLE_FOUND(6, 6),
+    /**
+     * <code>UNALLOWED_TABLE_MUTATION = 7;</code>
+     */
+    UNALLOWED_TABLE_MUTATION(7, 7),
+    /**
+     * <code>NO_PK_COLUMNS = 8;</code>
+     */
+    NO_PK_COLUMNS(8, 8),
+    /**
+     * <code>PARENT_TABLE_NOT_FOUND = 9;</code>
+     */
+    PARENT_TABLE_NOT_FOUND(9, 9),
+    ;
+
+    /**
+     * <code>TABLE_ALREADY_EXISTS = 0;</code>
+     */
+    public static final int TABLE_ALREADY_EXISTS_VALUE = 0;
+    /**
+     * <code>TABLE_NOT_FOUND = 1;</code>
+     */
+    public static final int TABLE_NOT_FOUND_VALUE = 1;
+    /**
+     * <code>COLUMN_NOT_FOUND = 2;</code>
+     */
+    public static final int COLUMN_NOT_FOUND_VALUE = 2;
+    /**
+     * <code>COLUMN_ALREADY_EXISTS = 3;</code>
+     */
+    public static final int COLUMN_ALREADY_EXISTS_VALUE = 3;
+    /**
+     * <code>CONCURRENT_TABLE_MUTATION = 4;</code>
+     */
+    public static final int CONCURRENT_TABLE_MUTATION_VALUE = 4;
+    /**
+     * <code>TABLE_NOT_IN_REGION = 5;</code>
+     */
+    public static final int TABLE_NOT_IN_REGION_VALUE = 5;
+    /**
+     * <code>NEWER_TABLE_FOUND = 6;</code>
+     */
+    public static final int NEWER_TABLE_FOUND_VALUE = 6;
+    /**
+     * <code>UNALLOWED_TABLE_MUTATION = 7;</code>
+     */
+    public static final int UNALLOWED_TABLE_MUTATION_VALUE = 7;
+    /**
+     * <code>NO_PK_COLUMNS = 8;</code>
+     */
+    public static final int NO_PK_COLUMNS_VALUE = 8;
+    /**
+     * <code>PARENT_TABLE_NOT_FOUND = 9;</code>
+     */
+    public static final int PARENT_TABLE_NOT_FOUND_VALUE = 9;
+
+
+    public final int getNumber() { return value; }
+
+    public static MutationCode valueOf(int value) {
+      switch (value) {
+        case 0: return TABLE_ALREADY_EXISTS;
+        case 1: return TABLE_NOT_FOUND;
+        case 2: return COLUMN_NOT_FOUND;
+        case 3: return COLUMN_ALREADY_EXISTS;
+        case 4: return CONCURRENT_TABLE_MUTATION;
+        case 5: return TABLE_NOT_IN_REGION;
+        case 6: return NEWER_TABLE_FOUND;
+        case 7: return UNALLOWED_TABLE_MUTATION;
+        case 8: return NO_PK_COLUMNS;
+        case 9: return PARENT_TABLE_NOT_FOUND;
+        default: return null;
+      }
+    }
+
+    public static com.google.protobuf.Internal.EnumLiteMap<MutationCode>
+        internalGetValueMap() {
+      return internalValueMap;
+    }
+    private static com.google.protobuf.Internal.EnumLiteMap<MutationCode>
+        internalValueMap =
+          new com.google.protobuf.Internal.EnumLiteMap<MutationCode>() {
+            public MutationCode findValueByNumber(int number) {
+              return MutationCode.valueOf(number);
+            }
+          };
+
+    public final com.google.protobuf.Descriptors.EnumValueDescriptor
+        getValueDescriptor() {
+      return getDescriptor().getValues().get(index);
+    }
+    public final com.google.protobuf.Descriptors.EnumDescriptor
+        getDescriptorForType() {
+      return getDescriptor();
+    }
+    public static final com.google.protobuf.Descriptors.EnumDescriptor
+        getDescriptor() {
+      return org.apache.phoenix.coprocessor.generated.MetaDataProtos.getDescriptor().getEnumTypes().get(0);
+    }
+
+    private static final MutationCode[] VALUES = values();
+
+    public static MutationCode valueOf(
+        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+      if (desc.getType() != getDescriptor()) {
+        throw new java.lang.IllegalArgumentException(
+          "EnumValueDescriptor is not for this type.");
+      }
+      return VALUES[desc.getIndex()];
+    }
+
+    private final int index;
+    private final int value;
+
+    private MutationCode(int index, int value) {
+      this.index = index;
+      this.value = value;
+    }
+
+    // @@protoc_insertion_point(enum_scope:MutationCode)
+  }
+
+  public interface MetaDataResponseOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
+
+    // optional .MutationCode returnCode = 1;
+    /**
+     * <code>optional .MutationCode returnCode = 1;</code>
+     */
+    boolean hasReturnCode();
+    /**
+     * <code>optional .MutationCode returnCode = 1;</code>
+     */
+    org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode getReturnCode();
+
+    // optional int64 mutationTime = 2;
+    /**
+     * <code>optional int64 mutationTime = 2;</code>
+     */
+    boolean hasMutationTime();
+    /**
+     * <code>optional int64 mutationTime = 2;</code>
+     */
+    long getMutationTime();
+
+    // optional .PTable table = 3;
+    /**
+     * <code>optional .PTable table = 3;</code>
+     */
+    boolean hasTable();
+    /**
+     * <code>optional .PTable table = 3;</code>
+     */
+    org.apache.phoenix.coprocessor.generated.PTableProtos.PTable getTable();
+    /**
+     * <code>optional .PTable table = 3;</code>
+     */
+    org.apache.phoenix.coprocessor.generated.PTableProtos.PTableOrBuilder getTableOrBuilder();
+
+    // repeated bytes tablesToDelete = 4;
+    /**
+     * <code>repeated bytes tablesToDelete = 4;</code>
+     */
+    java.util.List<com.google.protobuf.ByteString> getTablesToDeleteList();
+    /**
+     * <code>repeated bytes tablesToDelete = 4;</code>
+     */
+    int getTablesToDeleteCount();
+    /**
+     * <code>repeated bytes tablesToDelete = 4;</code>
+     */
+    com.google.protobuf.ByteString getTablesToDelete(int index);
+
+    // optional bytes columnName = 5;
+    /**
+     * <code>optional bytes columnName = 5;</code>
+     */
+    boolean hasColumnName();
+    /**
+     * <code>optional bytes columnName = 5;</code>
+     */
+    com.google.protobuf.ByteString getColumnName();
+
+    // optional bytes familyName = 6;
+    /**
+     * <code>optional bytes familyName = 6;</code>
+     */
+    boolean hasFamilyName();
+    /**
+     * <code>optional bytes familyName = 6;</code>
+     */
+    com.google.protobuf.ByteString getFamilyName();
+  }
+  /**
+   * Protobuf type {@code MetaDataResponse}
+   */
+  public static final class MetaDataResponse extends
+      com.google.protobuf.GeneratedMessage
+      implements MetaDataResponseOrBuilder {
+    // Use MetaDataResponse.newBuilder() to construct.
+    private MetaDataResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+      super(builder);
+      this.unknownFields = builder.getUnknownFields();
+    }
+    private MetaDataResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+    private static final MetaDataResponse defaultInstance;
+    public static MetaDataResponse getDefaultInstance() {
+      return defaultInstance;
+    }
+
+    public MetaDataResponse getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+
+    private final com.google.protobuf.UnknownFieldSet unknownFields;
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+        getUnknownFields() {
+      return this.unknownFields;
+    }
+    private MetaDataResponse(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      initFields();
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+            case 8: {
+              int rawValue = input.readEnum();
+              org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode value = org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode.valueOf(rawValue);
+              if (value == null) {
+                unknownFields.mergeVarintField(1, rawValue);
+              } else {
+                bitField0_ |= 0x00000001;
+                returnCode_ = value;
+              }
+              break;
+            }
+            case 16: {
+              bitField0_ |= 0x00000002;
+              mutationTime_ = input.readInt64();
+              break;
+            }
+            case 26: {
+              org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.Builder subBuilder = null;
+              if (((bitField0_ & 0x00000004) == 0x00000004)) {
+                subBuilder = table_.toBuilder();
+              }
+              table_ = input.readMessage(org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.PARSER, extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(table_);
+                table_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000004;
+              break;
+            }
+            case 34: {
+              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+                tablesToDelete_ = new java.util.ArrayList<com.google.protobuf.ByteString>();
+                mutable_bitField0_ |= 0x00000008;
+              }
+              tablesToDelete_.add(input.readBytes());
+              break;
+            }
+            case 42: {
+              bitField0_ |= 0x00000008;
+              columnName_ = input.readBytes();
+              break;
+            }
+            case 50: {
+              bitField0_ |= 0x00000010;
+              familyName_ = input.readBytes();
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e.getMessage()).setUnfinishedMessage(this);
+      } finally {
+        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+          tablesToDelete_ = java.util.Collections.unmodifiableList(tablesToDelete_);
+        }
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_MetaDataResponse_descriptor;
+    }
+
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_MetaDataResponse_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse.class, org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse.Builder.class);
+    }
+
+    public static com.google.protobuf.Parser<MetaDataResponse> PARSER =
+        new com.google.protobuf.AbstractParser<MetaDataResponse>() {
+      public MetaDataResponse parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new MetaDataResponse(input, extensionRegistry);
+      }
+    };
+
+    @java.lang.Override
+    public com.google.protobuf.Parser<MetaDataResponse> getParserForType() {
+      return PARSER;
+    }
+
+    private int bitField0_;
+    // optional .MutationCode returnCode = 1;
+    public static final int RETURNCODE_FIELD_NUMBER = 1;
+    private org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode returnCode_;
+    /**
+     * <code>optional .MutationCode returnCode = 1;</code>
+     */
+    public boolean hasReturnCode() {
+      return ((bitField0_ & 0x00000001) == 0x00000001);
+    }
+    /**
+     * <code>optional .MutationCode returnCode = 1;</code>
+     */
+    public org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode getReturnCode() {
+      return returnCode_;
+    }
+
+    // optional int64 mutationTime = 2;
+    public static final int MUTATIONTIME_FIELD_NUMBER = 2;
+    private long mutationTime_;
+    /**
+     * <code>optional int64 mutationTime = 2;</code>
+     */
+    public boolean hasMutationTime() {
+      return ((bitField0_ & 0x00000002) == 0x00000002);
+    }
+    /**
+     * <code>optional int64 mutationTime = 2;</code>
+     */
+    public long getMutationTime() {
+      return mutationTime_;
+    }
+
+    // optional .PTable table = 3;
+    public static final int TABLE_FIELD_NUMBER = 3;
+    private org.apache.phoenix.coprocessor.generated.PTableProtos.PTable table_;
+    /**
+     * <code>optional .PTable table = 3;</code>
+     */
+    public boolean hasTable() {
+      return ((bitField0_ & 0x00000004) == 0x00000004);
+    }
+    /**
+     * <code>optional .PTable table = 3;</code>
+     */
+    public org.apache.phoenix.coprocessor.generated.PTableProtos.PTable getTable() {
+      return table_;
+    }
+    /**
+     * <code>optional .PTable table = 3;</code>
+     */
+    public org.apache.phoenix.coprocessor.generated.PTableProtos.PTableOrBuilder getTableOrBuilder() {
+      return table_;
+    }
+
+    // repeated bytes tablesToDelete = 4;
+    public static final int TABLESTODELETE_FIELD_NUMBER = 4;
+    private java.util.List<com.google.protobuf.ByteString> tablesToDelete_;
+    /**
+     * <code>repeated bytes tablesToDelete = 4;</code>
+     */
+    public java.util.List<com.google.protobuf.ByteString>
+        getTablesToDeleteList() {
+      return tablesToDelete_;
+    }
+    /**
+     * <code>repeated bytes tablesToDelete = 4;</code>
+     */
+    public int getTablesToDeleteCount() {
+      return tablesToDelete_.size();
+    }
+    /**
+     * <code>repeated bytes tablesToDelete = 4;</code>
+     */
+    public com.google.protobuf.ByteString getTablesToDelete(int index) {
+      return tablesToDelete_.get(index);
+    }
+
+    // optional bytes columnName = 5;
+    public static final int COLUMNNAME_FIELD_NUMBER = 5;
+    private com.google.protobuf.ByteString columnName_;
+    /**
+     * <code>optional bytes columnName = 5;</code>
+     */
+    public boolean hasColumnName() {
+      return ((bitField0_ & 0x00000008) == 0x00000008);
+    }
+    /**
+     * <code>optional bytes columnName = 5;</code>
+     */
+    public com.google.protobuf.ByteString getColumnName() {
+      return columnName_;
+    }
+
+    // optional bytes familyName = 6;
+    public static final int FAMILYNAME_FIELD_NUMBER = 6;
+    private com.google.protobuf.ByteString familyName_;
+    /**
+     * <code>optional bytes familyName = 6;</code>
+     */
+    public boolean hasFamilyName() {
+      return ((bitField0_ & 0x00000010) == 0x00000010);
+    }
+    /**
+     * <code>optional bytes familyName = 6;</code>
+     */
+    public com.google.protobuf.ByteString getFamilyName() {
+      return familyName_;
+    }
+
+    private void initFields() {
+      returnCode_ = org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode.TABLE_ALREADY_EXISTS;
+      mutationTime_ = 0L;
+      table_ = org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.getDefaultInstance();
+      tablesToDelete_ = java.util.Collections.emptyList();
+      columnName_ = com.google.protobuf.ByteString.EMPTY;
+      familyName_ = com.google.protobuf.ByteString.EMPTY;
+    }
+    private byte memoizedIsInitialized = -1;
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized != -1) return isInitialized == 1;
+
+      if (hasTable()) {
+        if (!getTable().isInitialized()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+      }
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      getSerializedSize();
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        output.writeEnum(1, returnCode_.getNumber());
+      }
+      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+        output.writeInt64(2, mutationTime_);
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        output.writeMessage(3, table_);
+      }
+      for (int i = 0; i < tablesToDelete_.size(); i++) {
+        output.writeBytes(4, tablesToDelete_.get(i));
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        output.writeBytes(5, columnName_);
+      }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        output.writeBytes(6, familyName_);
+      }
+      getUnknownFields().writeTo(output);
+    }
+
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeEnumSize(1, returnCode_.getNumber());
+      }
+      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt64Size(2, mutationTime_);
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(3, table_);
+      }
+      {
+        int dataSize = 0;
+        for (int i = 0; i < tablesToDelete_.size(); i++) {
+          dataSize += com.google.protobuf.CodedOutputStream
+            .computeBytesSizeNoTag(tablesToDelete_.get(i));
+        }
+        size += dataSize;
+        size += 1 * getTablesToDeleteList().size();
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(5, columnName_);
+      }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(6, familyName_);
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+
+    private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    protected java.lang.Object writeReplace()
+        throws java.io.ObjectStreamException {
+      return super.writeReplace();
+    }
+
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse)) {
+        return super.equals(obj);
+      }
+      org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse other = (org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse) obj;
+
+      boolean result = true;
+      result = result && (hasReturnCode() == other.hasReturnCode());
+      if (hasReturnCode()) {
+        result = result &&
+            (getReturnCode() == other.getReturnCode());
+      }
+      result = result && (hasMutationTime() == other.hasMutationTime());
+      if (hasMutationTime()) {
+        result = result && (getMutationTime()
+            == other.getMutationTime());
+      }
+      result = result && (hasTable() == other.hasTable());
+      if (hasTable()) {
+        result = result && getTable()
+            .equals(other.getTable());
+      }
+      result = result && getTablesToDeleteList()
+          .equals(other.getTablesToDeleteList());
+      result = result && (hasColumnName() == other.hasColumnName());
+      if (hasColumnName()) {
+        result = result && getColumnName()
+            .equals(other.getColumnName());
+      }
+      result = result && (hasFamilyName() == other.hasFamilyName());
+      if (hasFamilyName()) {
+        result = result && getFamilyName()
+            .equals(other.getFamilyName());
+      }
+      result = result &&
+          getUnknownFields().equals(other.getUnknownFields());
+      return result;
+    }
+
+    private int memoizedHashCode = 0;
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      if (hasReturnCode()) {
+        hash = (37 * hash) + RETURNCODE_FIELD_NUMBER;
+        hash = (53 * hash) + hashEnum(getReturnCode());
+      }
+      if (hasMutationTime()) {
+        hash = (37 * hash) + MUTATIONTIME_FIELD_NUMBER;
+        hash = (53 * hash) + hashLong(getMutationTime());
+      }
+      if (hasTable()) {
+        hash = (37 * hash) + TABLE_FIELD_NUMBER;
+        hash = (53 * hash) + getTable().hashCode();
+      }
+      if (getTablesToDeleteCount() > 0) {
+        hash = (37 * hash) + TABLESTODELETE_FIELD_NUMBER;
+        hash = (53 * hash) + getTablesToDeleteList().hashCode();
+      }
+      if (hasColumnName()) {
+        hash = (37 * hash) + COLUMNNAME_FIELD_NUMBER;
+        hash = (53 * hash) + getColumnName().hashCode();
+      }
+      if (hasFamilyName()) {
+        hash = (37 * hash) + FAMILYNAME_FIELD_NUMBER;
+        hash = (53 * hash) + getFamilyName().hashCode();
+      }
+      hash = (29 * hash) + getUnknownFields().hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+
+    public static Builder newBuilder() { return Builder.create(); }
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder(org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse prototype) {
+      return newBuilder().mergeFrom(prototype);
+    }
+    public Builder toBuilder() { return newBuilder(this); }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code MetaDataResponse}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponseOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_MetaDataResponse_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_MetaDataResponse_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse.class, org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse.Builder.class);
+      }
+
+      // Construct using org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+          getTableFieldBuilder();
+        }
+      }
+      private static Builder create() {
+        return new Builder();
+      }
+
+      public Builder clear() {
+        super.clear();
+        returnCode_ = org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode.TABLE_ALREADY_EXISTS;
+        bitField0_ = (bitField0_ & ~0x00000001);
+        mutationTime_ = 0L;
+        bitField0_ = (bitField0_ & ~0x00000002);
+        if (tableBuilder_ == null) {
+          table_ = org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.getDefaultInstance();
+        } else {
+          tableBuilder_.clear();
+        }
+        bitField0_ = (bitField0_ & ~0x00000004);
+        tablesToDelete_ = java.util.Collections.emptyList();
+        bitField0_ = (bitField0_ & ~0x00000008);
+        columnName_ = com.google.protobuf.ByteString.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000010);
+        familyName_ = com.google.protobuf.ByteString.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000020);
+        return this;
+      }
+
+      public Builder clone() {
+        return create().mergeFrom(buildPartial());
+      }
+
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_MetaDataResponse_descriptor;
+      }
+
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse getDefaultInstanceForType() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse.getDefaultInstance();
+      }
+
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse build() {
+        org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse buildPartial() {
+        org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse result = new org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse(this);
+        int from_bitField0_ = bitField0_;
+        int to_bitField0_ = 0;
+        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+          to_bitField0_ |= 0x00000001;
+        }
+        result.returnCode_ = returnCode_;
+        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+          to_bitField0_ |= 0x00000002;
+        }
+        result.mutationTime_ = mutationTime_;
+        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+          to_bitField0_ |= 0x00000004;
+        }
+        if (tableBuilder_ == null) {
+          result.table_ = table_;
+        } else {
+          result.table_ = tableBuilder_.build();
+        }
+        if (((bitField0_ & 0x00000008) == 0x00000008)) {
+          tablesToDelete_ = java.util.Collections.unmodifiableList(tablesToDelete_);
+          bitField0_ = (bitField0_ & ~0x00000008);
+        }
+        result.tablesToDelete_ = tablesToDelete_;
+        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+          to_bitField0_ |= 0x00000008;
+        }
+        result.columnName_ = columnName_;
+        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
+          to_bitField0_ |= 0x00000010;
+        }
+        result.familyName_ = familyName_;
+        result.bitField0_ = to_bitField0_;
+        onBuilt();
+        return result;
+      }
+
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse) {
+          return mergeFrom((org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+
+      public Builder mergeFrom(org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse other) {
+        if (other == org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse.getDefaultInstance()) return this;
+        if (other.hasReturnCode()) {
+          setReturnCode(other.getReturnCode());
+        }
+        if (other.hasMutationTime()) {
+          setMutationTime(other.getMutationTime());
+        }
+        if (other.hasTable()) {
+          mergeTable(other.getTable());
+        }
+        if (!other.tablesToDelete_.isEmpty()) {
+          if (tablesToDelete_.isEmpty()) {
+            tablesToDelete_ = other.tablesToDelete_;
+            bitField0_ = (bitField0_ & ~0x00000008);
+          } else {
+            ensureTablesToDeleteIsMutable();
+            tablesToDelete_.addAll(other.tablesToDelete_);
+          }
+          onChanged();
+        }
+        if (other.hasColumnName()) {
+          setColumnName(other.getColumnName());
+        }
+        if (other.hasFamilyName()) {
+          setFamilyName(other.getFamilyName());
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+
+      public final boolean isInitialized() {
+        if (hasTable()) {
+          if (!getTable().isInitialized()) {
+            
+            return false;
+          }
+        }
+        return true;
+      }
+
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse) e.getUnfinishedMessage();
+          throw e;
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
+        return this;
+      }
+      private int bitField0_;
+
+      // optional .MutationCode returnCode = 1;
+      private org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode returnCode_ = org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode.TABLE_ALREADY_EXISTS;
+      /**
+       * <code>optional .MutationCode returnCode = 1;</code>
+       */
+      public boolean hasReturnCode() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>optional .MutationCode returnCode = 1;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode getReturnCode() {
+        return returnCode_;
+      }
+      /**
+       * <code>optional .MutationCode returnCode = 1;</code>
+       */
+      public Builder setReturnCode(org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
+        bitField0_ |= 0x00000001;
+        returnCode_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional .MutationCode returnCode = 1;</code>
+       */
+      public Builder clearReturnCode() {
+        bitField0_ = (bitField0_ & ~0x00000001);
+        returnCode_ = org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode.TABLE_ALREADY_EXISTS;
+        onChanged();
+        return this;
+      }
+
+      // optional int64 mutationTime = 2;
+      private long mutationTime_ ;
+      /**
+       * <code>optional int64 mutationTime = 2;</code>
+       */
+      public boolean hasMutationTime() {
+        return ((bitField0_ & 0x00000002) == 0x00000002);
+      }
+      /**
+       * <code>optional int64 mutationTime = 2;</code>
+       */
+      public long getMutationTime() {
+        return mutationTime_;
+      }
+      /**
+       * <code>optional int64 mutationTime = 2;</code>
+       */
+      public Builder setMutationTime(long value) {
+        bitField0_ |= 0x00000002;
+        mutationTime_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional int64 mutationTime = 2;</code>
+       */
+      public Builder clearMutationTime() {
+        bitField0_ = (bitField0_ & ~0x00000002);
+        mutationTime_ = 0L;
+        onChanged();
+        return this;
+      }
+
+      // optional .PTable table = 3;
+      private org.apache.phoenix.coprocessor.generated.PTableProtos.PTable table_ = org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.getDefaultInstance();
+      private com.google.protobuf.SingleFieldBuilder<
+          org.apache.phoenix.coprocessor.generated.PTableProtos.PTable, org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.Builder, org.apache.phoenix.coprocessor.generated.PTableProtos.PTableOrBuilder> tableBuilder_;
+      /**
+       * <code>optional .PTable table = 3;</code>
+       */
+      public boolean hasTable() {
+        return ((bitField0_ & 0x00000004) == 0x00000004);
+      }
+      /**
+       * <code>optional .PTable table = 3;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.PTableProtos.PTable getTable() {
+        if (tableBuilder_ == null) {
+          return table_;
+        } else {
+          return tableBuilder_.getMessage();
+        }
+      }
+      /**
+       * <code>optional .PTable table = 3;</code>
+       */
+      public Builder setTable(org.apache.phoenix.coprocessor.generated.PTableProtos.PTable value) {
+        if (tableBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          table_ = value;
+          onChanged();
+        } else {
+          tableBuilder_.setMessage(value);
+        }
+        bitField0_ |= 0x00000004;
+        return this;
+      }
+      /**
+       * <code>optional .PTable table = 3;</code>
+       */
+      public Builder setTable(
+          org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.Builder builderForValue) {
+        if (tableBuilder_ == null) {
+          table_ = builderForValue.build();
+          onChanged();
+        } else {
+          tableBuilder_.setMessage(builderForValue.build());
+        }
+        bitField0_ |= 0x00000004;
+        return this;
+      }
+      /**
+       * <code>optional .PTable table = 3;</code>
+       */
+      public Builder mergeTable(org.apache.phoenix.coprocessor.generated.PTableProtos.PTable value) {
+        if (tableBuilder_ == null) {
+          if (((bitField0_ & 0x00000004) == 0x00000004) &&
+              table_ != org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.getDefaultInstance()) {
+            table_ =
+              org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.newBuilder(table_).mergeFrom(value).buildPartial();
+          } else {
+            table_ = value;
+          }
+          onChanged();
+        } else {
+          tableBuilder_.mergeFrom(value);
+        }
+        bitField0_ |= 0x00000004;
+        return this;
+      }
+      /**
+       * <code>optional .PTable table = 3;</code>
+       */
+      public Builder clearTable() {
+        if (tableBuilder_ == null) {
+          table_ = org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.getDefaultInstance();
+          onChanged();
+        } else {
+          tableBuilder_.clear();
+        }
+        bitField0_ = (bitField0_ & ~0x00000004);
+        return this;
+      }
+      /**
+       * <code>optional .PTable table = 3;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.Builder getTableBuilder() {
+        bitField0_ |= 0x00000004;
+        onChanged();
+        return getTableFieldBuilder().getBuilder();
+      }
+      /**
+       * <code>optional .PTable table = 3;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.PTableProtos.PTableOrBuilder getTableOrBuilder() {
+        if (tableBuilder_ != null) {
+          return tableBuilder_.getMessageOrBuilder();
+        } else {
+          return table_;
+        }
+      }
+      /**
+       * <code>optional .PTable table = 3;</code>
+       */
+      private com.google.protobuf.SingleFieldBuilder<
+          org.apache.phoenix.coprocessor.generated.PTableProtos.PTable, org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.Builder, org.apache.phoenix.coprocessor.generated.PTableProtos.PTableOrBuilder> 
+          getTableFieldBuilder() {
+        if (tableBuilder_ == null) {
+          tableBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+              org.apache.phoenix.coprocessor.generated.PTableProtos.PTable, org.apache.phoenix.coprocessor.generated.PTableProtos.PTable.Builder, org.apache.phoenix.coprocessor.generated.PTableProtos.PTableOrBuilder>(
+                  table_,
+                  getParentForChildren(),
+                  isClean());
+          table_ = null;
+        }
+        return tableBuilder_;
+      }
+
+      // repeated bytes tablesToDelete = 4;
+      private java.util.List<com.google.protobuf.ByteString> tablesToDelete_ = java.util.Collections.emptyList();
+      private void ensureTablesToDeleteIsMutable() {
+        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
+          tablesToDelete_ = new java.util.ArrayList<com.google.protobuf.ByteString>(tablesToDelete_);
+          bitField0_ |= 0x00000008;
+         }
+      }
+      /**
+       * <code>repeated bytes tablesToDelete = 4;</code>
+       */
+      public java.util.List<com.google.protobuf.ByteString>
+          getTablesToDeleteList() {
+        return java.util.Collections.unmodifiableList(tablesToDelete_);
+      }
+      /**
+       * <code>repeated bytes tablesToDelete = 4;</code>
+       */
+      public int getTablesToDeleteCount() {
+        return tablesToDelete_.size();
+      }
+      /**
+       * <code>repeated bytes tablesToDelete = 4;</code>
+       */
+      public com.google.protobuf.ByteString getTablesToDelete(int index) {
+        return tablesToDelete_.get(index);
+      }
+      /**
+       * <code>repeated bytes tablesToDelete = 4;</code>
+       */
+      public Builder setTablesToDelete(
+          int index, com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  ensureTablesToDeleteIsMutable();
+        tablesToDelete_.set(index, value);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated bytes tablesToDelete = 4;</code>
+       */
+      public Builder addTablesToDelete(com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  ensureTablesToDeleteIsMutable();
+        tablesToDelete_.add(value);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated bytes tablesToDelete = 4;</code>
+       */
+      public Builder addAllTablesToDelete(
+          java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
+        ensureTablesToDeleteIsMutable();
+        super.addAll(values, tablesToDelete_);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated bytes tablesToDelete = 4;</code>
+       */
+      public Builder clearTablesToDelete() {
+        tablesToDelete_ = java.util.Collections.emptyList();
+        bitField0_ = (bitField0_ & ~0x00000008);
+        onChanged();
+        return this;
+      }
+
+      // optional bytes columnName = 5;
+      private com.google.protobuf.ByteString columnName_ = com.google.protobuf.ByteString.EMPTY;
+      /**
+       * <code>optional bytes columnName = 5;</code>
+       */
+      public boolean hasColumnName() {
+        return ((bitField0_ & 0x00000010) == 0x00000010);
+      }
+      /**
+       * <code>optional bytes columnName = 5;</code>
+       */
+      public com.google.protobuf.ByteString getColumnName() {
+        return columnName_;
+      }
+      /**
+       * <code>optional bytes columnName = 5;</code>
+       */
+      public Builder setColumnName(com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000010;
+        columnName_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional bytes columnName = 5;</code>
+       */
+      public Builder clearColumnName() {
+        bitField0_ = (bitField0_ & ~0x00000010);
+        columnName_ = getDefaultInstance().getColumnName();
+        onChanged();
+        return this;
+      }
+
+      // optional bytes familyName = 6;
+      private com.google.protobuf.ByteString familyName_ = com.google.protobuf.ByteString.EMPTY;
+      /**
+       * <code>optional bytes familyName = 6;</code>
+       */
+      public boolean hasFamilyName() {
+        return ((bitField0_ & 0x00000020) == 0x00000020);
+      }
+      /**
+       * <code>optional bytes familyName = 6;</code>
+       */
+      public com.google.protobuf.ByteString getFamilyName() {
+        return familyName_;
+      }
+      /**
+       * <code>optional bytes familyName = 6;</code>
+       */
+      public Builder setFamilyName(com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000020;
+        familyName_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional bytes familyName = 6;</code>
+       */
+      public Builder clearFamilyName() {
+        bitField0_ = (bitField0_ & ~0x00000020);
+        familyName_ = getDefaultInstance().getFamilyName();
+        onChanged();
+        return this;
+      }
+
+      // @@protoc_insertion_point(builder_scope:MetaDataResponse)
+    }
+
+    static {
+      defaultInstance = new MetaDataResponse(true);
+      defaultInstance.initFields();
+    }
+
+    // @@protoc_insertion_point(class_scope:MetaDataResponse)
+  }
+
+  public interface GetTableRequestOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
+
+    // required bytes tenantId = 1;
+    /**
+     * <code>required bytes tenantId = 1;</code>
+     */
+    boolean hasTenantId();
+    /**
+     * <code>required bytes tenantId = 1;</code>
+     */
+    com.google.protobuf.ByteString getTenantId();
+
+    // required bytes schemaName = 2;
+    /**
+     * <code>required bytes schemaName = 2;</code>
+     */
+    boolean hasSchemaName();
+    /**
+     * <code>required bytes schemaName = 2;</code>
+     */
+    com.google.protobuf.ByteString getSchemaName();
+
+    // required bytes tableName = 3;
+    /**
+     * <code>required bytes tableName = 3;</code>
+     */
+    boolean hasTableName();
+    /**
+     * <code>required bytes tableName = 3;</code>
+     */
+    com.google.protobuf.ByteString getTableName();
+
+    // required int64 tableTimestamp = 4;
+    /**
+     * <code>required int64 tableTimestamp = 4;</code>
+     */
+    boolean hasTableTimestamp();
+    /**
+     * <code>required int64 tableTimestamp = 4;</code>
+     */
+    long getTableTimestamp();
+
+    // required int64 clientTimestamp = 5;
+    /**
+     * <code>required int64 clientTimestamp = 5;</code>
+     */
+    boolean hasClientTimestamp();
+    /**
+     * <code>required int64 clientTimestamp = 5;</code>
+     */
+    long getClientTimestamp();
+  }
+  /**
+   * Protobuf type {@code GetTableRequest}
+   */
+  public static final class GetTableRequest extends
+      com.google.protobuf.GeneratedMessage
+      implements GetTableRequestOrBuilder {
+    // Use GetTableRequest.newBuilder() to construct.
+    private GetTableRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+      super(builder);
+      this.unknownFields = builder.getUnknownFields();
+    }
+    private GetTableRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+    private static final GetTableRequest defaultInstance;
+    public static GetTableRequest getDefaultInstance() {
+      return defaultInstance;
+    }
+
+    public GetTableRequest getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+
+    private final com.google.protobuf.UnknownFieldSet unknownFields;
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+        getUnknownFields() {
+      return this.unknownFields;
+    }
+    private GetTableRequest(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      initFields();
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+            case 10: {
+              bitField0_ |= 0x00000001;
+              tenantId_ = input.readBytes();
+              break;
+            }
+            case 18: {
+              bitField0_ |= 0x00000002;
+              schemaName_ = input.readBytes();
+              break;
+            }
+            case 26: {
+              bitField0_ |= 0x00000004;
+              tableName_ = input.readBytes();
+              break;
+            }
+            case 32: {
+              bitField0_ |= 0x00000008;
+              tableTimestamp_ = input.readInt64();
+              break;
+            }
+            case 40: {
+              bitField0_ |= 0x00000010;
+              clientTimestamp_ = input.readInt64();
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e.getMessage()).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_GetTableRequest_descriptor;
+    }
+
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_GetTableRequest_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest.class, org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest.Builder.class);
+    }
+
+    public static com.google.protobuf.Parser<GetTableRequest> PARSER =
+        new com.google.protobuf.AbstractParser<GetTableRequest>() {
+      public GetTableRequest parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new GetTableRequest(input, extensionRegistry);
+      }
+    };
+
+    @java.lang.Override
+    public com.google.protobuf.Parser<GetTableRequest> getParserForType() {
+      return PARSER;
+    }
+
+    private int bitField0_;
+    // required bytes tenantId = 1;
+    public static final int TENANTID_FIELD_NUMBER = 1;
+    private com.google.protobuf.ByteString tenantId_;
+    /**
+     * <code>required bytes tenantId = 1;</code>
+     */
+    public boolean hasTenantId() {
+      return ((bitField0_ & 0x00000001) == 0x00000001);
+    }
+    /**
+     * <code>required bytes tenantId = 1;</code>
+     */
+    public com.google.protobuf.ByteString getTenantId() {
+      return tenantId_;
+    }
+
+    // required bytes schemaName = 2;
+    public static final int SCHEMANAME_FIELD_NUMBER = 2;
+    private com.google.protobuf.ByteString schemaName_;
+    /**
+     * <code>required bytes schemaName = 2;</code>
+     */
+    public boolean hasSchemaName() {
+      return ((bitField0_ & 0x00000002) == 0x00000002);
+    }
+    /**
+     * <code>required bytes schemaName = 2;</code>
+     */
+    public com.google.protobuf.ByteString getSchemaName() {
+      return schemaName_;
+    }
+
+    // required bytes tableName = 3;
+    public static final int TABLENAME_FIELD_NUMBER = 3;
+    private com.google.protobuf.ByteString tableName_;
+    /**
+     * <code>required bytes tableName = 3;</code>
+     */
+    public boolean hasTableName() {
+      return ((bitField0_ & 0x00000004) == 0x00000004);
+    }
+    /**
+     * <code>required bytes tableName = 3;</code>
+     */
+    public com.google.protobuf.ByteString getTableName() {
+      return tableName_;
+    }
+
+    // required int64 tableTimestamp = 4;
+    public static final int TABLETIMESTAMP_FIELD_NUMBER = 4;
+    private long tableTimestamp_;
+    /**
+     * <code>required int64 tableTimestamp = 4;</code>
+     */
+    public boolean hasTableTimestamp() {
+      return ((bitField0_ & 0x00000008) == 0x00000008);
+    }
+    /**
+     * <code>required int64 tableTimestamp = 4;</code>
+     */
+    public long getTableTimestamp() {
+      return tableTimestamp_;
+    }
+
+    // required int64 clientTimestamp = 5;
+    public static final int CLIENTTIMESTAMP_FIELD_NUMBER = 5;
+    private long clientTimestamp_;
+    /**
+     * <code>required int64 clientTimestamp = 5;</code>
+     */
+    public boolean hasClientTimestamp() {
+      return ((bitField0_ & 0x00000010) == 0x00000010);
+    }
+    /**
+     * <code>required int64 clientTimestamp = 5;</code>
+     */
+    public long getClientTimestamp() {
+      return clientTimestamp_;
+    }
+
+    private void initFields() {
+      tenantId_ = com.google.protobuf.ByteString.EMPTY;
+      schemaName_ = com.google.protobuf.ByteString.EMPTY;
+      tableName_ = com.google.protobuf.ByteString.EMPTY;
+      tableTimestamp_ = 0L;
+      clientTimestamp_ = 0L;
+    }
+    private byte memoizedIsInitialized = -1;
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized != -1) return isInitialized == 1;
+
+      if (!hasTenantId()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasSchemaName()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasTableName()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasTableTimestamp()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasClientTimestamp()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      getSerializedSize();
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        output.writeBytes(1, tenantId_);
+      }
+      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+        output.writeBytes(2, schemaName_);
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        output.writeBytes(3, tableName_);
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        output.writeInt64(4, tableTimestamp_);
+      }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        output.writeInt64(5, clientTimestamp_);
+      }
+      getUnknownFields().writeTo(output);
+    }
+
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(1, tenantId_);
+      }
+      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(2, schemaName_);
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(3, tableName_);
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt64Size(4, tableTimestamp_);
+      }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt64Size(5, clientTimestamp_);
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+
+    private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    protected java.lang.Object writeReplace()
+        throws java.io.ObjectStreamException {
+      return super.writeReplace();
+    }
+
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest)) {
+        return super.equals(obj);
+      }
+      org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest other = (org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest) obj;
+
+      boolean result = true;
+      result = result && (hasTenantId() == other.hasTenantId());
+      if (hasTenantId()) {
+        result = result && getTenantId()
+            .equals(other.getTenantId());
+      }
+      result = result && (hasSchemaName() == other.hasSchemaName());
+      if (hasSchemaName()) {
+        result = result && getSchemaName()
+            .equals(other.getSchemaName());
+      }
+      result = result && (hasTableName() == other.hasTableName());
+      if (hasTableName()) {
+        result = result && getTableName()
+            .equals(other.getTableName());
+      }
+      result = result && (hasTableTimestamp() == other.hasTableTimestamp());
+      if (hasTableTimestamp()) {
+        result = result && (getTableTimestamp()
+            == other.getTableTimestamp());
+      }
+      result = result && (hasClientTimestamp() == other.hasClientTimestamp());
+      if (hasClientTimestamp()) {
+        result = result && (getClientTimestamp()
+            == other.getClientTimestamp());
+      }
+      result = result &&
+          getUnknownFields().equals(other.getUnknownFields());
+      return result;
+    }
+
+    private int memoizedHashCode = 0;
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      if (hasTenantId()) {
+        hash = (37 * hash) + TENANTID_FIELD_NUMBER;
+        hash = (53 * hash) + getTenantId().hashCode();
+      }
+      if (hasSchemaName()) {
+        hash = (37 * hash) + SCHEMANAME_FIELD_NUMBER;
+        hash = (53 * hash) + getSchemaName().hashCode();
+      }
+      if (hasTableName()) {
+        hash = (37 * hash) + TABLENAME_FIELD_NUMBER;
+        hash = (53 * hash) + getTableName().hashCode();
+      }
+      if (hasTableTimestamp()) {
+        hash = (37 * hash) + TABLETIMESTAMP_FIELD_NUMBER;
+        hash = (53 * hash) + hashLong(getTableTimestamp());
+      }
+      if (hasClientTimestamp()) {
+        hash = (37 * hash) + CLIENTTIMESTAMP_FIELD_NUMBER;
+        hash = (53 * hash) + hashLong(getClientTimestamp());
+      }
+      hash = (29 * hash) + getUnknownFields().hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+
+    public static Builder newBuilder() { return Builder.create(); }
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder(org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest prototype) {
+      return newBuilder().mergeFrom(prototype);
+    }
+    public Builder toBuilder() { return newBuilder(this); }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code GetTableRequest}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequestOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_GetTableRequest_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_GetTableRequest_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest.class, org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest.Builder.class);
+      }
+
+      // Construct using org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        }
+      }
+      private static Builder create() {
+        return new Builder();
+      }
+
+      public Builder clear() {
+        super.clear();
+        tenantId_ = com.google.protobuf.ByteString.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000001);
+        schemaName_ = com.google.protobuf.ByteString.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000002);
+        tableName_ = com.google.protobuf.ByteString.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000004);
+        tableTimestamp_ = 0L;
+        bitField0_ = (bitField0_ & ~0x00000008);
+        clientTimestamp_ = 0L;
+        bitField0_ = (bitField0_ & ~0x00000010);
+        return this;
+      }
+
+      public Builder clone() {
+        return create().mergeFrom(buildPartial());
+      }
+
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_GetTableRequest_descriptor;
+      }
+
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest getDefaultInstanceForType() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest.getDefaultInstance();
+      }
+
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest build() {
+        org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest buildPartial() {
+        org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest result = new org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest(this);
+        int from_bitField0_ = bitField0_;
+        int to_bitField0_ = 0;
+        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+          to_bitField0_ |= 0x00000001;
+        }
+        result.tenantId_ = tenantId_;
+        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+          to_bitField0_ |= 0x00000002;
+        }
+        result.schemaName_ = schemaName_;
+        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+          to_bitField0_ |= 0x00000004;
+        }
+        result.tableName_ = tableName_;
+        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+          to_bitField0_ |= 0x00000008;
+        }
+        result.tableTimestamp_ = tableTimestamp_;
+        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+          to_bitField0_ |= 0x00000010;
+        }
+        result.clientTimestamp_ = clientTimestamp_;
+        result.bitField0_ = to_bitField0_;
+        onBuilt();
+        return result;
+      }
+
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest) {
+          return mergeFrom((org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+
+      public Builder mergeFrom(org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest other) {
+        if (other == org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest.getDefaultInstance()) return this;
+        if (other.hasTenantId()) {
+          setTenantId(other.getTenantId());
+        }
+        if (other.hasSchemaName()) {
+          setSchemaName(other.getSchemaName());
+        }
+        if (other.hasTableName()) {
+          setTableName(other.getTableName());
+        }
+        if (other.hasTableTimestamp()) {
+          setTableTimestamp(other.getTableTimestamp());
+        }
+        if (other.hasClientTimestamp()) {
+          setClientTimestamp(other.getClientTimestamp());
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+
+      public final boolean isInitialized() {
+        if (!hasTenantId()) {
+          
+          return false;
+        }
+        if (!hasSchemaName()) {
+          
+          return false;
+        }
+        if (!hasTableName()) {
+          
+          return false;
+        }
+        if (!hasTableTimestamp()) {
+          
+          return false;
+        }
+        if (!hasClientTimestamp()) {
+          
+          return false;
+        }
+        return true;
+      }
+
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest) e.getUnfinishedMessage();
+          throw e;
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
+        return this;
+      }
+      private int bitField0_;
+
+      // required bytes tenantId = 1;
+      private com.google.protobuf.ByteString tenantId_ = com.google.protobuf.ByteString.EMPTY;
+      /**
+       * <code>required bytes tenantId = 1;</code>
+       */
+      public boolean hasTenantId() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>required bytes tenantId = 1;</code>
+       */
+      public com.google.protobuf.ByteString getTenantId() {
+        return tenantId_;
+      }
+      /**
+       * <code>required bytes tenantId = 1;</code>
+       */
+      public Builder setTenantId(com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000001;
+        tenantId_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required bytes tenantId = 1;</code>
+       */
+      public Builder clearTenantId() {
+        bitField0_ = (bitField0_ & ~0x00000001);
+        tenantId_ = getDefaultInstance().getTenantId();
+        onChanged();
+        return this;
+      }
+
+      // required bytes schemaName = 2;
+      private com.google.protobuf.ByteString schemaName_ = com.google.protobuf.ByteString.EMPTY;
+      /**
+       * <code>required bytes schemaName = 2;</code>
+       */
+      public boolean hasSchemaName() {
+        return ((bitField0_ & 0x00000002) == 0x00000002);
+      }
+      /**
+       * <code>required bytes schemaName = 2;</code>
+       */
+      public com.google.protobuf.ByteString getSchemaName() {
+        return schemaName_;
+      }
+      /**
+       * <code>required bytes schemaName = 2;</code>
+       */
+      public Builder setSchemaName(com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000002;
+        schemaName_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required bytes schemaName = 2;</code>
+       */
+      public Builder clearSchemaName() {
+        bitField0_ = (bitField0_ & ~0x00000002);
+        schemaName_ = getDefaultInstance().getSchemaName();
+        onChanged();
+        return this;
+      }
+
+      // required bytes tableName = 3;
+      private com.google.protobuf.ByteString tableName_ = com.google.protobuf.ByteString.EMPTY;
+      /**
+       * <code>required bytes tableName = 3;</code>
+       */
+      public boolean hasTableName() {
+        return ((bitField0_ & 0x00000004) == 0x00000004);
+      }
+      /**
+       * <code>required bytes tableName = 3;</code>
+       */
+      public com.google.protobuf.ByteString getTableName() {
+        return tableName_;
+      }
+      /**
+       * <code>required bytes tableName = 3;</code>
+       */
+      public Builder setTableName(com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000004;
+        tableName_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required bytes tableName = 3;</code>
+       */
+      public Builder clearTableName() {
+        bitField0_ = (bitField0_ & ~0x00000004);
+        tableName_ = getDefaultInstance().getTableName();
+        onChanged();
+        return this;
+      }
+
+      // required int64 tableTimestamp = 4;
+      private long tableTimestamp_ ;
+      /**
+       * <code>required int64 tableTimestamp = 4;</code>
+       */
+      public boolean hasTableTimestamp() {
+        return ((bitField0_ & 0x00000008) == 0x00000008);
+      }
+      /**
+       * <code>required int64 tableTimestamp = 4;</code>
+       */
+      public long getTableTimestamp() {
+        return tableTimestamp_;
+      }
+      /**
+       * <code>required int64 tableTimestamp = 4;</code>
+       */
+      public Builder setTableTimestamp(long value) {
+        bitField0_ |= 0x00000008;
+        tableTimestamp_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required int64 tableTimestamp = 4;</code>
+       */
+      public Builder clearTableTimestamp() {
+        bitField0_ = (bitField0_ & ~0x00000008);
+        tableTimestamp_ = 0L;
+        onChanged();
+        return this;
+      }
+
+      // required int64 clientTimestamp = 5;
+      private long clientTimestamp_ ;
+      /**
+       * <code>required int64 clientTimestamp = 5;</code>
+       */
+      public boolean hasClientTimestamp() {
+        return ((bitField0_ & 0x00000010) == 0x00000010);
+      }
+      /**
+       * <code>required int64 clientTimestamp = 5;</code>
+       */
+      public long getClientTimestamp() {
+        return clientTimestamp_;
+      }
+      /**
+       * <code>required int64 clientTimestamp = 5;</code>
+       */
+      public Builder setClientTimestamp(long value) {
+        bitField0_ |= 0x00000010;
+        clientTimestamp_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required int64 clientTimestamp = 5;</code>
+       */
+      public Builder clearClientTimestamp() {
+        bitField0_ = (bitField0_ & ~0x00000010);
+        clientTimestamp_ = 0L;
+        onChanged();
+        return this;
+      }
+
+      // @@protoc_insertion_point(builder_scope:GetTableRequest)
+    }
+
+    static {
+      defaultInstance = new GetTableRequest(true);
+      defaultInstance.initFields();
+    }
+
+    // @@protoc_insertion_point(class_scope:GetTableRequest)
+  }
+
+  public interface CreateTableRequestOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
+
+    // repeated bytes tableMetadataMutations = 1;
+    /**
+     * <code>repeated bytes tableMetadataMutations = 1;</code>
+     */
+    java.util.List<com.google.protobuf.ByteString> getTableMetadataMutationsList();
+    /**
+     * <code>repeated bytes tableMetadataMutations = 1;</code>
+     */
+    int getTableMetadataMutationsCount();
+    /**
+     * <code>repeated bytes tableMetadataMutations = 1;</code>
+     */
+    com.google.protobuf.ByteString getTableMetadataMutations(int index);
+  }
+  /**
+   * Protobuf type {@code CreateTableRequest}
+   *
+   * <pre>
+   * each byte array represents a MutationProto instance
+   * </pre>
+   */
+  public static final class CreateTableRequest extends
+      com.google.protobuf.GeneratedMessage
+      implements CreateTableRequestOrBuilder {
+    // Use CreateTableRequest.newBuilder() to construct.
+    private CreateTableRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+      super(builder);
+      this.unknownFields = builder.getUnknownFields();
+    }
+    private CreateTableRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+    private static final CreateTableRequest defaultInstance;
+    public static CreateTableRequest getDefaultInstance() {
+      return defaultInstance;
+    }
+
+    public CreateTableRequest getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+
+    private final com.google.protobuf.UnknownFieldSet unknownFields;
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+        getUnknownFields() {
+      return this.unknownFields;
+    }
+    private CreateTableRequest(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      initFields();
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+            case 10: {
+              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+                tableMetadataMutations_ = new java.util.ArrayList<com.google.protobuf.ByteString>();
+                mutable_bitField0_ |= 0x00000001;
+              }
+              tableMetadataMutations_.add(input.readBytes());
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e.getMessage()).setUnfinishedMessage(this);
+      } finally {
+        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+          tableMetadataMutations_ = java.util.Collections.unmodifiableList(tableMetadataMutations_);
+        }
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_CreateTableRequest_descriptor;
+    }
+
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_CreateTableRequest_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest.class, org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest.Builder.class);
+    }
+
+    public static com.google.protobuf.Parser<CreateTableRequest> PARSER =
+        new com.google.protobuf.AbstractParser<CreateTableRequest>() {
+      public CreateTableRequest parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new CreateTableRequest(input, extensionRegistry);
+      }
+    };
+
+    @java.lang.Override
+    public com.google.protobuf.Parser<CreateTableRequest> getParserForType() {
+      return PARSER;
+    }
+
+    // repeated bytes tableMetadataMutations = 1;
+    public static final int TABLEMETADATAMUTATIONS_FIELD_NUMBER = 1;
+    private java.util.List<com.google.protobuf.ByteString> tableMetadataMutations_;
+    /**
+     * <code>repeated bytes tableMetadataMutations = 1;</code>
+     */
+    public java.util.List<com.google.protobuf.ByteString>
+        getTableMetadataMutationsList() {
+      return tableMetadataMutations_;
+    }
+    /**
+     * <code>repeated bytes tableMetadataMutations = 1;</code>
+     */
+    public int getTableMetadataMutationsCount() {
+      return tableMetadataMutations_.size();
+    }
+    /**
+     * <code>repeated bytes tableMetadataMutations = 1;</code>
+     */
+    public com.google.protobuf.ByteString getTableMetadataMutations(int index) {
+      return tableMetadataMutations_.get(index);
+    }
+
+    private void initFields() {
+      tableMetadataMutations_ = java.util.Collections.emptyList();
+    }
+    private byte memoizedIsInitialized = -1;
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized != -1) return isInitialized == 1;
+
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      getSerializedSize();
+      for (int i = 0; i < tableMetadataMutations_.size(); i++) {
+        output.writeBytes(1, tableMetadataMutations_.get(i));
+      }
+      getUnknownFields().writeTo(output);
+    }
+
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      {
+        int dataSize = 0;
+        for (int i = 0; i < tableMetadataMutations_.size(); i++) {
+          dataSize += com.google.protobuf.CodedOutputStream
+            .computeBytesSizeNoTag(tableMetadataMutations_.get(i));
+        }
+        size += dataSize;
+        size += 1 * getTableMetadataMutationsList().size();
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+
+    private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    protected java.lang.Object writeReplace()
+        throws java.io.ObjectStreamException {
+      return super.writeReplace();
+    }
+
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest)) {
+        return super.equals(obj);
+      }
+      org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest other = (org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest) obj;
+
+      boolean result = true;
+      result = result && getTableMetadataMutationsList()
+          .equals(other.getTableMetadataMutationsList());
+      result = result &&
+          getUnknownFields().equals(other.getUnknownFields());
+      return result;
+    }
+
+    private int memoizedHashCode = 0;
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      if (getTableMetadataMutationsCount() > 0) {
+        hash = (37 * hash) + TABLEMETADATAMUTATIONS_FIELD_NUMBER;
+        hash = (53 * hash) + getTableMetadataMutationsList().hashCode();
+      }
+      hash = (29 * hash) + getUnknownFields().hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+
+    public static Builder newBuilder() { return Builder.create(); }
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder(org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest prototype) {
+      return newBuilder().mergeFrom(prototype);
+    }
+    public Builder toBuilder() { return newBuilder(this); }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code CreateTableRequest}
+     *
+     * <pre>
+     * each byte array represents a MutationProto instance
+     * </pre>
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequestOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_CreateTableRequest_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_CreateTableRequest_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest.class, org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest.Builder.class);
+      }
+
+      // Construct using org.apache.phoenix.coprocessor.generated.MetaDataProtos.CreateTableRequest.newBuilder()
+      private Builder() 

<TRUNCATED>