phoenix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sama...@apache.org
Subject [12/52] [abbrv] phoenix git commit: PHOENIX-2156 Support drop of column from table with views
Date Mon, 25 Apr 2016 18:52:56 GMT
http://git-wip-us.apache.org/repos/asf/phoenix/blob/fccbe56a/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
index dc5726a..ae72382 100644
--- 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
@@ -198,6 +198,1279 @@ public final class MetaDataProtos {
     // @@protoc_insertion_point(enum_scope:MutationCode)
   }
 
+  public interface SharedTableStateOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
+
+    // optional bytes tenantId = 1;
+    /**
+     * <code>optional bytes tenantId = 1;</code>
+     */
+    boolean hasTenantId();
+    /**
+     * <code>optional 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();
+
+    // repeated .PColumn columns = 4;
+    /**
+     * <code>repeated .PColumn columns = 4;</code>
+     */
+    java.util.List<org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn> 
+        getColumnsList();
+    /**
+     * <code>repeated .PColumn columns = 4;</code>
+     */
+    org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn getColumns(int index);
+    /**
+     * <code>repeated .PColumn columns = 4;</code>
+     */
+    int getColumnsCount();
+    /**
+     * <code>repeated .PColumn columns = 4;</code>
+     */
+    java.util.List<? extends org.apache.phoenix.coprocessor.generated.PTableProtos.PColumnOrBuilder> 
+        getColumnsOrBuilderList();
+    /**
+     * <code>repeated .PColumn columns = 4;</code>
+     */
+    org.apache.phoenix.coprocessor.generated.PTableProtos.PColumnOrBuilder getColumnsOrBuilder(
+        int index);
+
+    // repeated bytes physicalNames = 5;
+    /**
+     * <code>repeated bytes physicalNames = 5;</code>
+     */
+    java.util.List<com.google.protobuf.ByteString> getPhysicalNamesList();
+    /**
+     * <code>repeated bytes physicalNames = 5;</code>
+     */
+    int getPhysicalNamesCount();
+    /**
+     * <code>repeated bytes physicalNames = 5;</code>
+     */
+    com.google.protobuf.ByteString getPhysicalNames(int index);
+
+    // required int32 viewIndexId = 6;
+    /**
+     * <code>required int32 viewIndexId = 6;</code>
+     */
+    boolean hasViewIndexId();
+    /**
+     * <code>required int32 viewIndexId = 6;</code>
+     */
+    int getViewIndexId();
+  }
+  /**
+   * Protobuf type {@code SharedTableState}
+   */
+  public static final class SharedTableState extends
+      com.google.protobuf.GeneratedMessage
+      implements SharedTableStateOrBuilder {
+    // Use SharedTableState.newBuilder() to construct.
+    private SharedTableState(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+      super(builder);
+      this.unknownFields = builder.getUnknownFields();
+    }
+    private SharedTableState(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+    private static final SharedTableState defaultInstance;
+    public static SharedTableState getDefaultInstance() {
+      return defaultInstance;
+    }
+
+    public SharedTableState getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+
+    private final com.google.protobuf.UnknownFieldSet unknownFields;
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+        getUnknownFields() {
+      return this.unknownFields;
+    }
+    private SharedTableState(
+        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 34: {
+              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+                columns_ = new java.util.ArrayList<org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn>();
+                mutable_bitField0_ |= 0x00000008;
+              }
+              columns_.add(input.readMessage(org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.PARSER, extensionRegistry));
+              break;
+            }
+            case 42: {
+              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
+                physicalNames_ = new java.util.ArrayList<com.google.protobuf.ByteString>();
+                mutable_bitField0_ |= 0x00000010;
+              }
+              physicalNames_.add(input.readBytes());
+              break;
+            }
+            case 48: {
+              bitField0_ |= 0x00000008;
+              viewIndexId_ = input.readInt32();
+              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)) {
+          columns_ = java.util.Collections.unmodifiableList(columns_);
+        }
+        if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
+          physicalNames_ = java.util.Collections.unmodifiableList(physicalNames_);
+        }
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_SharedTableState_descriptor;
+    }
+
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_SharedTableState_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.class, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder.class);
+    }
+
+    public static com.google.protobuf.Parser<SharedTableState> PARSER =
+        new com.google.protobuf.AbstractParser<SharedTableState>() {
+      public SharedTableState parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new SharedTableState(input, extensionRegistry);
+      }
+    };
+
+    @java.lang.Override
+    public com.google.protobuf.Parser<SharedTableState> getParserForType() {
+      return PARSER;
+    }
+
+    private int bitField0_;
+    // optional bytes tenantId = 1;
+    public static final int TENANTID_FIELD_NUMBER = 1;
+    private com.google.protobuf.ByteString tenantId_;
+    /**
+     * <code>optional bytes tenantId = 1;</code>
+     */
+    public boolean hasTenantId() {
+      return ((bitField0_ & 0x00000001) == 0x00000001);
+    }
+    /**
+     * <code>optional 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_;
+    }
+
+    // repeated .PColumn columns = 4;
+    public static final int COLUMNS_FIELD_NUMBER = 4;
+    private java.util.List<org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn> columns_;
+    /**
+     * <code>repeated .PColumn columns = 4;</code>
+     */
+    public java.util.List<org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn> getColumnsList() {
+      return columns_;
+    }
+    /**
+     * <code>repeated .PColumn columns = 4;</code>
+     */
+    public java.util.List<? extends org.apache.phoenix.coprocessor.generated.PTableProtos.PColumnOrBuilder> 
+        getColumnsOrBuilderList() {
+      return columns_;
+    }
+    /**
+     * <code>repeated .PColumn columns = 4;</code>
+     */
+    public int getColumnsCount() {
+      return columns_.size();
+    }
+    /**
+     * <code>repeated .PColumn columns = 4;</code>
+     */
+    public org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn getColumns(int index) {
+      return columns_.get(index);
+    }
+    /**
+     * <code>repeated .PColumn columns = 4;</code>
+     */
+    public org.apache.phoenix.coprocessor.generated.PTableProtos.PColumnOrBuilder getColumnsOrBuilder(
+        int index) {
+      return columns_.get(index);
+    }
+
+    // repeated bytes physicalNames = 5;
+    public static final int PHYSICALNAMES_FIELD_NUMBER = 5;
+    private java.util.List<com.google.protobuf.ByteString> physicalNames_;
+    /**
+     * <code>repeated bytes physicalNames = 5;</code>
+     */
+    public java.util.List<com.google.protobuf.ByteString>
+        getPhysicalNamesList() {
+      return physicalNames_;
+    }
+    /**
+     * <code>repeated bytes physicalNames = 5;</code>
+     */
+    public int getPhysicalNamesCount() {
+      return physicalNames_.size();
+    }
+    /**
+     * <code>repeated bytes physicalNames = 5;</code>
+     */
+    public com.google.protobuf.ByteString getPhysicalNames(int index) {
+      return physicalNames_.get(index);
+    }
+
+    // required int32 viewIndexId = 6;
+    public static final int VIEWINDEXID_FIELD_NUMBER = 6;
+    private int viewIndexId_;
+    /**
+     * <code>required int32 viewIndexId = 6;</code>
+     */
+    public boolean hasViewIndexId() {
+      return ((bitField0_ & 0x00000008) == 0x00000008);
+    }
+    /**
+     * <code>required int32 viewIndexId = 6;</code>
+     */
+    public int getViewIndexId() {
+      return viewIndexId_;
+    }
+
+    private void initFields() {
+      tenantId_ = com.google.protobuf.ByteString.EMPTY;
+      schemaName_ = com.google.protobuf.ByteString.EMPTY;
+      tableName_ = com.google.protobuf.ByteString.EMPTY;
+      columns_ = java.util.Collections.emptyList();
+      physicalNames_ = java.util.Collections.emptyList();
+      viewIndexId_ = 0;
+    }
+    private byte memoizedIsInitialized = -1;
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized != -1) return isInitialized == 1;
+
+      if (!hasSchemaName()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasTableName()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasViewIndexId()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      for (int i = 0; i < getColumnsCount(); i++) {
+        if (!getColumns(i).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.writeBytes(1, tenantId_);
+      }
+      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+        output.writeBytes(2, schemaName_);
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        output.writeBytes(3, tableName_);
+      }
+      for (int i = 0; i < columns_.size(); i++) {
+        output.writeMessage(4, columns_.get(i));
+      }
+      for (int i = 0; i < physicalNames_.size(); i++) {
+        output.writeBytes(5, physicalNames_.get(i));
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        output.writeInt32(6, viewIndexId_);
+      }
+      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_);
+      }
+      for (int i = 0; i < columns_.size(); i++) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(4, columns_.get(i));
+      }
+      {
+        int dataSize = 0;
+        for (int i = 0; i < physicalNames_.size(); i++) {
+          dataSize += com.google.protobuf.CodedOutputStream
+            .computeBytesSizeNoTag(physicalNames_.get(i));
+        }
+        size += dataSize;
+        size += 1 * getPhysicalNamesList().size();
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt32Size(6, viewIndexId_);
+      }
+      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.SharedTableState)) {
+        return super.equals(obj);
+      }
+      org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState other = (org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState) 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 && getColumnsList()
+          .equals(other.getColumnsList());
+      result = result && getPhysicalNamesList()
+          .equals(other.getPhysicalNamesList());
+      result = result && (hasViewIndexId() == other.hasViewIndexId());
+      if (hasViewIndexId()) {
+        result = result && (getViewIndexId()
+            == other.getViewIndexId());
+      }
+      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 (getColumnsCount() > 0) {
+        hash = (37 * hash) + COLUMNS_FIELD_NUMBER;
+        hash = (53 * hash) + getColumnsList().hashCode();
+      }
+      if (getPhysicalNamesCount() > 0) {
+        hash = (37 * hash) + PHYSICALNAMES_FIELD_NUMBER;
+        hash = (53 * hash) + getPhysicalNamesList().hashCode();
+      }
+      if (hasViewIndexId()) {
+        hash = (37 * hash) + VIEWINDEXID_FIELD_NUMBER;
+        hash = (53 * hash) + getViewIndexId();
+      }
+      hash = (29 * hash) + getUnknownFields().hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState 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.SharedTableState parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState 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.SharedTableState parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState 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.SharedTableState parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState 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.SharedTableState parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState 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.SharedTableState 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 SharedTableState}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableStateOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_SharedTableState_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.internal_static_SharedTableState_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.class, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder.class);
+      }
+
+      // Construct using org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+          getColumnsFieldBuilder();
+        }
+      }
+      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);
+        if (columnsBuilder_ == null) {
+          columns_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000008);
+        } else {
+          columnsBuilder_.clear();
+        }
+        physicalNames_ = java.util.Collections.emptyList();
+        bitField0_ = (bitField0_ & ~0x00000010);
+        viewIndexId_ = 0;
+        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_SharedTableState_descriptor;
+      }
+
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState getDefaultInstanceForType() {
+        return org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.getDefaultInstance();
+      }
+
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState build() {
+        org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState buildPartial() {
+        org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState result = new org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState(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 (columnsBuilder_ == null) {
+          if (((bitField0_ & 0x00000008) == 0x00000008)) {
+            columns_ = java.util.Collections.unmodifiableList(columns_);
+            bitField0_ = (bitField0_ & ~0x00000008);
+          }
+          result.columns_ = columns_;
+        } else {
+          result.columns_ = columnsBuilder_.build();
+        }
+        if (((bitField0_ & 0x00000010) == 0x00000010)) {
+          physicalNames_ = java.util.Collections.unmodifiableList(physicalNames_);
+          bitField0_ = (bitField0_ & ~0x00000010);
+        }
+        result.physicalNames_ = physicalNames_;
+        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
+          to_bitField0_ |= 0x00000008;
+        }
+        result.viewIndexId_ = viewIndexId_;
+        result.bitField0_ = to_bitField0_;
+        onBuilt();
+        return result;
+      }
+
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState) {
+          return mergeFrom((org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+
+      public Builder mergeFrom(org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState other) {
+        if (other == org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.getDefaultInstance()) return this;
+        if (other.hasTenantId()) {
+          setTenantId(other.getTenantId());
+        }
+        if (other.hasSchemaName()) {
+          setSchemaName(other.getSchemaName());
+        }
+        if (other.hasTableName()) {
+          setTableName(other.getTableName());
+        }
+        if (columnsBuilder_ == null) {
+          if (!other.columns_.isEmpty()) {
+            if (columns_.isEmpty()) {
+              columns_ = other.columns_;
+              bitField0_ = (bitField0_ & ~0x00000008);
+            } else {
+              ensureColumnsIsMutable();
+              columns_.addAll(other.columns_);
+            }
+            onChanged();
+          }
+        } else {
+          if (!other.columns_.isEmpty()) {
+            if (columnsBuilder_.isEmpty()) {
+              columnsBuilder_.dispose();
+              columnsBuilder_ = null;
+              columns_ = other.columns_;
+              bitField0_ = (bitField0_ & ~0x00000008);
+              columnsBuilder_ = 
+                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
+                   getColumnsFieldBuilder() : null;
+            } else {
+              columnsBuilder_.addAllMessages(other.columns_);
+            }
+          }
+        }
+        if (!other.physicalNames_.isEmpty()) {
+          if (physicalNames_.isEmpty()) {
+            physicalNames_ = other.physicalNames_;
+            bitField0_ = (bitField0_ & ~0x00000010);
+          } else {
+            ensurePhysicalNamesIsMutable();
+            physicalNames_.addAll(other.physicalNames_);
+          }
+          onChanged();
+        }
+        if (other.hasViewIndexId()) {
+          setViewIndexId(other.getViewIndexId());
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+
+      public final boolean isInitialized() {
+        if (!hasSchemaName()) {
+          
+          return false;
+        }
+        if (!hasTableName()) {
+          
+          return false;
+        }
+        if (!hasViewIndexId()) {
+          
+          return false;
+        }
+        for (int i = 0; i < getColumnsCount(); i++) {
+          if (!getColumns(i).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.SharedTableState parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState) e.getUnfinishedMessage();
+          throw e;
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
+        return this;
+      }
+      private int bitField0_;
+
+      // optional bytes tenantId = 1;
+      private com.google.protobuf.ByteString tenantId_ = com.google.protobuf.ByteString.EMPTY;
+      /**
+       * <code>optional bytes tenantId = 1;</code>
+       */
+      public boolean hasTenantId() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>optional bytes tenantId = 1;</code>
+       */
+      public com.google.protobuf.ByteString getTenantId() {
+        return tenantId_;
+      }
+      /**
+       * <code>optional 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>optional 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;
+      }
+
+      // repeated .PColumn columns = 4;
+      private java.util.List<org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn> columns_ =
+        java.util.Collections.emptyList();
+      private void ensureColumnsIsMutable() {
+        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
+          columns_ = new java.util.ArrayList<org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn>(columns_);
+          bitField0_ |= 0x00000008;
+         }
+      }
+
+      private com.google.protobuf.RepeatedFieldBuilder<
+          org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn, org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.Builder, org.apache.phoenix.coprocessor.generated.PTableProtos.PColumnOrBuilder> columnsBuilder_;
+
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public java.util.List<org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn> getColumnsList() {
+        if (columnsBuilder_ == null) {
+          return java.util.Collections.unmodifiableList(columns_);
+        } else {
+          return columnsBuilder_.getMessageList();
+        }
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public int getColumnsCount() {
+        if (columnsBuilder_ == null) {
+          return columns_.size();
+        } else {
+          return columnsBuilder_.getCount();
+        }
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn getColumns(int index) {
+        if (columnsBuilder_ == null) {
+          return columns_.get(index);
+        } else {
+          return columnsBuilder_.getMessage(index);
+        }
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public Builder setColumns(
+          int index, org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn value) {
+        if (columnsBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureColumnsIsMutable();
+          columns_.set(index, value);
+          onChanged();
+        } else {
+          columnsBuilder_.setMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public Builder setColumns(
+          int index, org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.Builder builderForValue) {
+        if (columnsBuilder_ == null) {
+          ensureColumnsIsMutable();
+          columns_.set(index, builderForValue.build());
+          onChanged();
+        } else {
+          columnsBuilder_.setMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public Builder addColumns(org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn value) {
+        if (columnsBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureColumnsIsMutable();
+          columns_.add(value);
+          onChanged();
+        } else {
+          columnsBuilder_.addMessage(value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public Builder addColumns(
+          int index, org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn value) {
+        if (columnsBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureColumnsIsMutable();
+          columns_.add(index, value);
+          onChanged();
+        } else {
+          columnsBuilder_.addMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public Builder addColumns(
+          org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.Builder builderForValue) {
+        if (columnsBuilder_ == null) {
+          ensureColumnsIsMutable();
+          columns_.add(builderForValue.build());
+          onChanged();
+        } else {
+          columnsBuilder_.addMessage(builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public Builder addColumns(
+          int index, org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.Builder builderForValue) {
+        if (columnsBuilder_ == null) {
+          ensureColumnsIsMutable();
+          columns_.add(index, builderForValue.build());
+          onChanged();
+        } else {
+          columnsBuilder_.addMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public Builder addAllColumns(
+          java.lang.Iterable<? extends org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn> values) {
+        if (columnsBuilder_ == null) {
+          ensureColumnsIsMutable();
+          super.addAll(values, columns_);
+          onChanged();
+        } else {
+          columnsBuilder_.addAllMessages(values);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public Builder clearColumns() {
+        if (columnsBuilder_ == null) {
+          columns_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000008);
+          onChanged();
+        } else {
+          columnsBuilder_.clear();
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public Builder removeColumns(int index) {
+        if (columnsBuilder_ == null) {
+          ensureColumnsIsMutable();
+          columns_.remove(index);
+          onChanged();
+        } else {
+          columnsBuilder_.remove(index);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.Builder getColumnsBuilder(
+          int index) {
+        return getColumnsFieldBuilder().getBuilder(index);
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.PTableProtos.PColumnOrBuilder getColumnsOrBuilder(
+          int index) {
+        if (columnsBuilder_ == null) {
+          return columns_.get(index);  } else {
+          return columnsBuilder_.getMessageOrBuilder(index);
+        }
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public java.util.List<? extends org.apache.phoenix.coprocessor.generated.PTableProtos.PColumnOrBuilder> 
+           getColumnsOrBuilderList() {
+        if (columnsBuilder_ != null) {
+          return columnsBuilder_.getMessageOrBuilderList();
+        } else {
+          return java.util.Collections.unmodifiableList(columns_);
+        }
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.Builder addColumnsBuilder() {
+        return getColumnsFieldBuilder().addBuilder(
+            org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.getDefaultInstance());
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.Builder addColumnsBuilder(
+          int index) {
+        return getColumnsFieldBuilder().addBuilder(
+            index, org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.getDefaultInstance());
+      }
+      /**
+       * <code>repeated .PColumn columns = 4;</code>
+       */
+      public java.util.List<org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.Builder> 
+           getColumnsBuilderList() {
+        return getColumnsFieldBuilder().getBuilderList();
+      }
+      private com.google.protobuf.RepeatedFieldBuilder<
+          org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn, org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.Builder, org.apache.phoenix.coprocessor.generated.PTableProtos.PColumnOrBuilder> 
+          getColumnsFieldBuilder() {
+        if (columnsBuilder_ == null) {
+          columnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
+              org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn, org.apache.phoenix.coprocessor.generated.PTableProtos.PColumn.Builder, org.apache.phoenix.coprocessor.generated.PTableProtos.PColumnOrBuilder>(
+                  columns_,
+                  ((bitField0_ & 0x00000008) == 0x00000008),
+                  getParentForChildren(),
+                  isClean());
+          columns_ = null;
+        }
+        return columnsBuilder_;
+      }
+
+      // repeated bytes physicalNames = 5;
+      private java.util.List<com.google.protobuf.ByteString> physicalNames_ = java.util.Collections.emptyList();
+      private void ensurePhysicalNamesIsMutable() {
+        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
+          physicalNames_ = new java.util.ArrayList<com.google.protobuf.ByteString>(physicalNames_);
+          bitField0_ |= 0x00000010;
+         }
+      }
+      /**
+       * <code>repeated bytes physicalNames = 5;</code>
+       */
+      public java.util.List<com.google.protobuf.ByteString>
+          getPhysicalNamesList() {
+        return java.util.Collections.unmodifiableList(physicalNames_);
+      }
+      /**
+       * <code>repeated bytes physicalNames = 5;</code>
+       */
+      public int getPhysicalNamesCount() {
+        return physicalNames_.size();
+      }
+      /**
+       * <code>repeated bytes physicalNames = 5;</code>
+       */
+      public com.google.protobuf.ByteString getPhysicalNames(int index) {
+        return physicalNames_.get(index);
+      }
+      /**
+       * <code>repeated bytes physicalNames = 5;</code>
+       */
+      public Builder setPhysicalNames(
+          int index, com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  ensurePhysicalNamesIsMutable();
+        physicalNames_.set(index, value);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated bytes physicalNames = 5;</code>
+       */
+      public Builder addPhysicalNames(com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  ensurePhysicalNamesIsMutable();
+        physicalNames_.add(value);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated bytes physicalNames = 5;</code>
+       */
+      public Builder addAllPhysicalNames(
+          java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
+        ensurePhysicalNamesIsMutable();
+        super.addAll(values, physicalNames_);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated bytes physicalNames = 5;</code>
+       */
+      public Builder clearPhysicalNames() {
+        physicalNames_ = java.util.Collections.emptyList();
+        bitField0_ = (bitField0_ & ~0x00000010);
+        onChanged();
+        return this;
+      }
+
+      // required int32 viewIndexId = 6;
+      private int viewIndexId_ ;
+      /**
+       * <code>required int32 viewIndexId = 6;</code>
+       */
+      public boolean hasViewIndexId() {
+        return ((bitField0_ & 0x00000020) == 0x00000020);
+      }
+      /**
+       * <code>required int32 viewIndexId = 6;</code>
+       */
+      public int getViewIndexId() {
+        return viewIndexId_;
+      }
+      /**
+       * <code>required int32 viewIndexId = 6;</code>
+       */
+      public Builder setViewIndexId(int value) {
+        bitField0_ |= 0x00000020;
+        viewIndexId_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required int32 viewIndexId = 6;</code>
+       */
+      public Builder clearViewIndexId() {
+        bitField0_ = (bitField0_ & ~0x00000020);
+        viewIndexId_ = 0;
+        onChanged();
+        return this;
+      }
+
+      // @@protoc_insertion_point(builder_scope:SharedTableState)
+    }
+
+    static {
+      defaultInstance = new SharedTableState(true);
+      defaultInstance.initFields();
+    }
+
+    // @@protoc_insertion_point(class_scope:SharedTableState)
+  }
+
   public interface MetaDataResponseOrBuilder
       extends com.google.protobuf.MessageOrBuilder {
 
@@ -303,6 +1576,31 @@ public final class MetaDataProtos {
      */
     org.apache.phoenix.coprocessor.generated.PFunctionProtos.PFunctionOrBuilder getFunctionOrBuilder(
         int index);
+
+    // repeated .SharedTableState sharedTablesToDelete = 9;
+    /**
+     * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+     */
+    java.util.List<org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState> 
+        getSharedTablesToDeleteList();
+    /**
+     * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+     */
+    org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState getSharedTablesToDelete(int index);
+    /**
+     * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+     */
+    int getSharedTablesToDeleteCount();
+    /**
+     * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+     */
+    java.util.List<? extends org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableStateOrBuilder> 
+        getSharedTablesToDeleteOrBuilderList();
+    /**
+     * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+     */
+    org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableStateOrBuilder getSharedTablesToDeleteOrBuilder(
+        int index);
   }
   /**
    * Protobuf type {@code MetaDataResponse}
@@ -415,6 +1713,14 @@ public final class MetaDataProtos {
               function_.add(input.readMessage(org.apache.phoenix.coprocessor.generated.PFunctionProtos.PFunction.PARSER, extensionRegistry));
               break;
             }
+            case 74: {
+              if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
+                sharedTablesToDelete_ = new java.util.ArrayList<org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState>();
+                mutable_bitField0_ |= 0x00000100;
+              }
+              sharedTablesToDelete_.add(input.readMessage(org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.PARSER, extensionRegistry));
+              break;
+            }
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -429,6 +1735,9 @@ public final class MetaDataProtos {
         if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
           function_ = java.util.Collections.unmodifiableList(function_);
         }
+        if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
+          sharedTablesToDelete_ = java.util.Collections.unmodifiableList(sharedTablesToDelete_);
+        }
         this.unknownFields = unknownFields.build();
         makeExtensionsImmutable();
       }
@@ -622,6 +1931,42 @@ public final class MetaDataProtos {
       return function_.get(index);
     }
 
+    // repeated .SharedTableState sharedTablesToDelete = 9;
+    public static final int SHAREDTABLESTODELETE_FIELD_NUMBER = 9;
+    private java.util.List<org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState> sharedTablesToDelete_;
+    /**
+     * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+     */
+    public java.util.List<org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState> getSharedTablesToDeleteList() {
+      return sharedTablesToDelete_;
+    }
+    /**
+     * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+     */
+    public java.util.List<? extends org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableStateOrBuilder> 
+        getSharedTablesToDeleteOrBuilderList() {
+      return sharedTablesToDelete_;
+    }
+    /**
+     * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+     */
+    public int getSharedTablesToDeleteCount() {
+      return sharedTablesToDelete_.size();
+    }
+    /**
+     * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+     */
+    public org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState getSharedTablesToDelete(int index) {
+      return sharedTablesToDelete_.get(index);
+    }
+    /**
+     * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+     */
+    public org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableStateOrBuilder getSharedTablesToDeleteOrBuilder(
+        int index) {
+      return sharedTablesToDelete_.get(index);
+    }
+
     private void initFields() {
       returnCode_ = org.apache.phoenix.coprocessor.generated.MetaDataProtos.MutationCode.TABLE_ALREADY_EXISTS;
       mutationTime_ = 0L;
@@ -631,6 +1976,7 @@ public final class MetaDataProtos {
       familyName_ = com.google.protobuf.ByteString.EMPTY;
       functionName_ = com.google.protobuf.ByteString.EMPTY;
       function_ = java.util.Collections.emptyList();
+      sharedTablesToDelete_ = java.util.Collections.emptyList();
     }
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
@@ -649,6 +1995,12 @@ public final class MetaDataProtos {
           return false;
         }
       }
+      for (int i = 0; i < getSharedTablesToDeleteCount(); i++) {
+        if (!getSharedTablesToDelete(i).isInitialized()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+      }
       memoizedIsInitialized = 1;
       return true;
     }
@@ -680,6 +2032,9 @@ public final class MetaDataProtos {
       for (int i = 0; i < function_.size(); i++) {
         output.writeMessage(8, function_.get(i));
       }
+      for (int i = 0; i < sharedTablesToDelete_.size(); i++) {
+        output.writeMessage(9, sharedTablesToDelete_.get(i));
+      }
       getUnknownFields().writeTo(output);
     }
 
@@ -726,6 +2081,10 @@ public final class MetaDataProtos {
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(8, function_.get(i));
       }
+      for (int i = 0; i < sharedTablesToDelete_.size(); i++) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(9, sharedTablesToDelete_.get(i));
+      }
       size += getUnknownFields().getSerializedSize();
       memoizedSerializedSize = size;
       return size;
@@ -783,6 +2142,8 @@ public final class MetaDataProtos {
       }
       result = result && getFunctionList()
           .equals(other.getFunctionList());
+      result = result && getSharedTablesToDeleteList()
+          .equals(other.getSharedTablesToDeleteList());
       result = result &&
           getUnknownFields().equals(other.getUnknownFields());
       return result;
@@ -828,6 +2189,10 @@ public final class MetaDataProtos {
         hash = (37 * hash) + FUNCTION_FIELD_NUMBER;
         hash = (53 * hash) + getFunctionList().hashCode();
       }
+      if (getSharedTablesToDeleteCount() > 0) {
+        hash = (37 * hash) + SHAREDTABLESTODELETE_FIELD_NUMBER;
+        hash = (53 * hash) + getSharedTablesToDeleteList().hashCode();
+      }
       hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
@@ -931,6 +2296,7 @@ public final class MetaDataProtos {
         if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
           getTableFieldBuilder();
           getFunctionFieldBuilder();
+          getSharedTablesToDeleteFieldBuilder();
         }
       }
       private static Builder create() {
@@ -963,6 +2329,12 @@ public final class MetaDataProtos {
         } else {
           functionBuilder_.clear();
         }
+        if (sharedTablesToDeleteBuilder_ == null) {
+          sharedTablesToDelete_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000100);
+        } else {
+          sharedTablesToDeleteBuilder_.clear();
+        }
         return this;
       }
 
@@ -1033,6 +2405,15 @@ public final class MetaDataProtos {
         } else {
           result.function_ = functionBuilder_.build();
         }
+        if (sharedTablesToDeleteBuilder_ == null) {
+          if (((bitField0_ & 0x00000100) == 0x00000100)) {
+            sharedTablesToDelete_ = java.util.Collections.unmodifiableList(sharedTablesToDelete_);
+            bitField0_ = (bitField0_ & ~0x00000100);
+          }
+          result.sharedTablesToDelete_ = sharedTablesToDelete_;
+        } else {
+          result.sharedTablesToDelete_ = sharedTablesToDeleteBuilder_.build();
+        }
         result.bitField0_ = to_bitField0_;
         onBuilt();
         return result;
@@ -1103,6 +2484,32 @@ public final class MetaDataProtos {
             }
           }
         }
+        if (sharedTablesToDeleteBuilder_ == null) {
+          if (!other.sharedTablesToDelete_.isEmpty()) {
+            if (sharedTablesToDelete_.isEmpty()) {
+              sharedTablesToDelete_ = other.sharedTablesToDelete_;
+              bitField0_ = (bitField0_ & ~0x00000100);
+            } else {
+              ensureSharedTablesToDeleteIsMutable();
+              sharedTablesToDelete_.addAll(other.sharedTablesToDelete_);
+            }
+            onChanged();
+          }
+        } else {
+          if (!other.sharedTablesToDelete_.isEmpty()) {
+            if (sharedTablesToDeleteBuilder_.isEmpty()) {
+              sharedTablesToDeleteBuilder_.dispose();
+              sharedTablesToDeleteBuilder_ = null;
+              sharedTablesToDelete_ = other.sharedTablesToDelete_;
+              bitField0_ = (bitField0_ & ~0x00000100);
+              sharedTablesToDeleteBuilder_ = 
+                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
+                   getSharedTablesToDeleteFieldBuilder() : null;
+            } else {
+              sharedTablesToDeleteBuilder_.addAllMessages(other.sharedTablesToDelete_);
+            }
+          }
+        }
         this.mergeUnknownFields(other.getUnknownFields());
         return this;
       }
@@ -1120,6 +2527,12 @@ public final class MetaDataProtos {
             return false;
           }
         }
+        for (int i = 0; i < getSharedTablesToDeleteCount(); i++) {
+          if (!getSharedTablesToDelete(i).isInitialized()) {
+            
+            return false;
+          }
+        }
         return true;
       }
 
@@ -1748,6 +3161,246 @@ public final class MetaDataProtos {
         return functionBuilder_;
       }
 
+      // repeated .SharedTableState sharedTablesToDelete = 9;
+      private java.util.List<org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState> sharedTablesToDelete_ =
+        java.util.Collections.emptyList();
+      private void ensureSharedTablesToDeleteIsMutable() {
+        if (!((bitField0_ & 0x00000100) == 0x00000100)) {
+          sharedTablesToDelete_ = new java.util.ArrayList<org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState>(sharedTablesToDelete_);
+          bitField0_ |= 0x00000100;
+         }
+      }
+
+      private com.google.protobuf.RepeatedFieldBuilder<
+          org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableStateOrBuilder> sharedTablesToDeleteBuilder_;
+
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public java.util.List<org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState> getSharedTablesToDeleteList() {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          return java.util.Collections.unmodifiableList(sharedTablesToDelete_);
+        } else {
+          return sharedTablesToDeleteBuilder_.getMessageList();
+        }
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public int getSharedTablesToDeleteCount() {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          return sharedTablesToDelete_.size();
+        } else {
+          return sharedTablesToDeleteBuilder_.getCount();
+        }
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState getSharedTablesToDelete(int index) {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          return sharedTablesToDelete_.get(index);
+        } else {
+          return sharedTablesToDeleteBuilder_.getMessage(index);
+        }
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public Builder setSharedTablesToDelete(
+          int index, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState value) {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureSharedTablesToDeleteIsMutable();
+          sharedTablesToDelete_.set(index, value);
+          onChanged();
+        } else {
+          sharedTablesToDeleteBuilder_.setMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public Builder setSharedTablesToDelete(
+          int index, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder builderForValue) {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          ensureSharedTablesToDeleteIsMutable();
+          sharedTablesToDelete_.set(index, builderForValue.build());
+          onChanged();
+        } else {
+          sharedTablesToDeleteBuilder_.setMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public Builder addSharedTablesToDelete(org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState value) {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureSharedTablesToDeleteIsMutable();
+          sharedTablesToDelete_.add(value);
+          onChanged();
+        } else {
+          sharedTablesToDeleteBuilder_.addMessage(value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public Builder addSharedTablesToDelete(
+          int index, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState value) {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureSharedTablesToDeleteIsMutable();
+          sharedTablesToDelete_.add(index, value);
+          onChanged();
+        } else {
+          sharedTablesToDeleteBuilder_.addMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public Builder addSharedTablesToDelete(
+          org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder builderForValue) {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          ensureSharedTablesToDeleteIsMutable();
+          sharedTablesToDelete_.add(builderForValue.build());
+          onChanged();
+        } else {
+          sharedTablesToDeleteBuilder_.addMessage(builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public Builder addSharedTablesToDelete(
+          int index, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder builderForValue) {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          ensureSharedTablesToDeleteIsMutable();
+          sharedTablesToDelete_.add(index, builderForValue.build());
+          onChanged();
+        } else {
+          sharedTablesToDeleteBuilder_.addMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public Builder addAllSharedTablesToDelete(
+          java.lang.Iterable<? extends org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState> values) {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          ensureSharedTablesToDeleteIsMutable();
+          super.addAll(values, sharedTablesToDelete_);
+          onChanged();
+        } else {
+          sharedTablesToDeleteBuilder_.addAllMessages(values);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public Builder clearSharedTablesToDelete() {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          sharedTablesToDelete_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000100);
+          onChanged();
+        } else {
+          sharedTablesToDeleteBuilder_.clear();
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public Builder removeSharedTablesToDelete(int index) {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          ensureSharedTablesToDeleteIsMutable();
+          sharedTablesToDelete_.remove(index);
+          onChanged();
+        } else {
+          sharedTablesToDeleteBuilder_.remove(index);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder getSharedTablesToDeleteBuilder(
+          int index) {
+        return getSharedTablesToDeleteFieldBuilder().getBuilder(index);
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableStateOrBuilder getSharedTablesToDeleteOrBuilder(
+          int index) {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          return sharedTablesToDelete_.get(index);  } else {
+          return sharedTablesToDeleteBuilder_.getMessageOrBuilder(index);
+        }
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public java.util.List<? extends org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableStateOrBuilder> 
+           getSharedTablesToDeleteOrBuilderList() {
+        if (sharedTablesToDeleteBuilder_ != null) {
+          return sharedTablesToDeleteBuilder_.getMessageOrBuilderList();
+        } else {
+          return java.util.Collections.unmodifiableList(sharedTablesToDelete_);
+        }
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder addSharedTablesToDeleteBuilder() {
+        return getSharedTablesToDeleteFieldBuilder().addBuilder(
+            org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.getDefaultInstance());
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder addSharedTablesToDeleteBuilder(
+          int index) {
+        return getSharedTablesToDeleteFieldBuilder().addBuilder(
+            index, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.getDefaultInstance());
+      }
+      /**
+       * <code>repeated .SharedTableState sharedTablesToDelete = 9;</code>
+       */
+      public java.util.List<org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder> 
+           getSharedTablesToDeleteBuilderList() {
+        return getSharedTablesToDeleteFieldBuilder().getBuilderList();
+      }
+      private com.google.protobuf.RepeatedFieldBuilder<
+          org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableStateOrBuilder> 
+          getSharedTablesToDeleteFieldBuilder() {
+        if (sharedTablesToDeleteBuilder_ == null) {
+          sharedTablesToDeleteBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
+              org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableState.Builder, org.apache.phoenix.coprocessor.generated.MetaDataProtos.SharedTableStateOrBuilder>(
+                  sharedTablesToDelete_,
+                  ((bitField0_ & 0x00000100) == 0x00000100),
+                  getParentForChildren(),
+                  isClean());
+          sharedTablesToDelete_ = null;
+        }
+        return sharedTablesToDeleteBuilder_;
+      }
+
       // @@protoc_insertion_point(builder_scope:MetaDataResponse)
     }
 
@@ -12262,6 +13915,11 @@ public final class MetaDataProtos {
   }
 
   private static com.google.protobuf.Descriptors.Descriptor
+    internal_static_SharedTableState_descriptor;
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_SharedTableState_fieldAccessorTable;
+  private static com.google.protobuf.Descriptors.Descriptor
     internal_static_MetaDataResponse_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
@@ -12351,171 +14009,182 @@ public final class MetaDataProtos {
   static {
     java.lang.String[] descriptorData = {
       "\n\025MetaDataService.proto\032\014PTable.proto\032\017P" +
-      "Function.proto\"\327\001\n\020MetaDataResponse\022!\n\nr" +
-      "eturnCode\030\001 \001(\0162\r.MutationCode\022\024\n\014mutati" +
-      "onTime\030\002 \001(\003\022\026\n\005table\030\003 \001(\0132\007.PTable\022\026\n\016" +
-      "tablesToDelete\030\004 \003(\014\022\022\n\ncolumnName\030\005 \001(\014" +
-      "\022\022\n\nfamilyName\030\006 \001(\014\022\024\n\014functionName\030\007 \001" +
-      "(\014\022\034\n\010function\030\010 \003(\0132\n.PFunction\"\222\001\n\017Get" +
-      "TableRequest\022\020\n\010tenantId\030\001 \002(\014\022\022\n\nschema" +
-      "Name\030\002 \002(\014\022\021\n\ttableName\030\003 \002(\014\022\026\n\016tableTi" +
-      "mestamp\030\004 \002(\003\022\027\n\017clientTimestamp\030\005 \002(\003\022\025",
-      "\n\rclientVersion\030\006 \001(\005\"\212\001\n\023GetFunctionsRe" +
-      "quest\022\020\n\010tenantId\030\001 \002(\014\022\025\n\rfunctionNames" +
-      "\030\002 \003(\014\022\032\n\022functionTimestamps\030\003 \003(\003\022\027\n\017cl" +
-      "ientTimestamp\030\004 \002(\003\022\025\n\rclientVersion\030\005 \001" +
-      "(\005\"K\n\022CreateTableRequest\022\036\n\026tableMetadat" +
-      "aMutations\030\001 \003(\014\022\025\n\rclientVersion\030\002 \001(\005\"" +
-      "r\n\025CreateFunctionRequest\022\036\n\026tableMetadat" +
-      "aMutations\030\001 \003(\014\022\021\n\ttemporary\030\002 \002(\010\022\017\n\007r" +
-      "eplace\030\003 \001(\010\022\025\n\rclientVersion\030\004 \001(\005\"m\n\020D" +
-      "ropTableRequest\022\036\n\026tableMetadataMutation",
-      "s\030\001 \003(\014\022\021\n\ttableType\030\002 \002(\t\022\017\n\007cascade\030\003 " +
-      "\001(\010\022\025\n\rclientVersion\030\004 \001(\005\"I\n\020AddColumnR" +
-      "equest\022\036\n\026tableMetadataMutations\030\001 \003(\014\022\025" +
-      "\n\rclientVersion\030\002 \001(\005\"J\n\021DropColumnReque" +
-      "st\022\036\n\026tableMetadataMutations\030\001 \003(\014\022\025\n\rcl" +
-      "ientVersion\030\002 \001(\005\"^\n\023DropFunctionRequest" +
-      "\022\036\n\026tableMetadataMutations\030\001 \003(\014\022\020\n\010ifEx" +
-      "ists\030\002 \001(\010\022\025\n\rclientVersion\030\003 \001(\005\"P\n\027Upd" +
-      "ateIndexStateRequest\022\036\n\026tableMetadataMut" +
-      "ations\030\001 \003(\014\022\025\n\rclientVersion\030\002 \001(\005\"*\n\021C",
-      "learCacheRequest\022\025\n\rclientVersion\030\001 \001(\005\"" +
-      "*\n\022ClearCacheResponse\022\024\n\014unfreedBytes\030\001 " +
-      "\001(\003\"*\n\021GetVersionRequest\022\025\n\rclientVersio" +
-      "n\030\001 \001(\005\"%\n\022GetVersionResponse\022\017\n\007version" +
-      "\030\001 \002(\003\"\205\001\n\032ClearTableFromCacheRequest\022\020\n" +
-      "\010tenantId\030\001 \002(\014\022\022\n\nschemaName\030\002 \002(\014\022\021\n\tt" +
-      "ableName\030\003 \002(\014\022\027\n\017clientTimestamp\030\004 \002(\003\022" +
-      "\025\n\rclientVersion\030\005 \001(\005\"\035\n\033ClearTableFrom" +
-      "CacheResponse*\365\002\n\014MutationCode\022\030\n\024TABLE_" +
-      "ALREADY_EXISTS\020\000\022\023\n\017TABLE_NOT_FOUND\020\001\022\024\n",
-      "\020COLUMN_NOT_FOUND\020\002\022\031\n\025COLUMN_ALREADY_EX" +
-      "ISTS\020\003\022\035\n\031CONCURRENT_TABLE_MUTATION\020\004\022\027\n" +
-      "\023TABLE_NOT_IN_REGION\020\005\022\025\n\021NEWER_TABLE_FO" +
-      "UND\020\006\022\034\n\030UNALLOWED_TABLE_MUTATION\020\007\022\021\n\rN" +
-      "O_PK_COLUMNS\020\010\022\032\n\026PARENT_TABLE_NOT_FOUND" +
-      "\020\t\022\033\n\027FUNCTION_ALREADY_EXISTS\020\n\022\026\n\022FUNCT" +
-      "ION_NOT_FOUND\020\013\022\030\n\024NEWER_FUNCTION_FOUND\020" +
-      "\014\022\032\n\026FUNCTION_NOT_IN_REGION\020\r2\304\005\n\017MetaDa" +
-      "taService\022/\n\010getTable\022\020.GetTableRequest\032" +
-      "\021.MetaDataResponse\0227\n\014getFunctions\022\024.Get",
-      "FunctionsRequest\032\021.MetaDataResponse\0225\n\013c" +
-      "reateTable\022\023.CreateTableRequest\032\021.MetaDa" +
-      "taResponse\022;\n\016createFunction\022\026.CreateFun" +
-      "ctionRequest\032\021.MetaDataResponse\0221\n\tdropT" +
-      "able\022\021.DropTableRequest\032\021.MetaDataRespon" +
-      "se\0227\n\014dropFunction\022\024.DropFunctionRequest" +
-      "\032\021.MetaDataResponse\0221\n\taddColumn\022\021.AddCo" +
-      "lumnRequest\032\021.MetaDataResponse\0223\n\ndropCo" +
-      "lumn\022\022.DropColumnRequest\032\021.MetaDataRespo" +
-      "nse\022?\n\020updateIndexState\022\030.UpdateIndexSta",
-      "teRequest\032\021.MetaDataResponse\0225\n\nclearCac" +
-      "he\022\022.ClearCacheRequest\032\023.ClearCacheRespo" +
-      "nse\0225\n\ngetVersion\022\022.GetVersionRequest\032\023." +
-      "GetVersionResponse\022P\n\023clearTableFromCach" +
-      "e\022\033.ClearTableFromCacheRequest\032\034.ClearTa" +
-      "bleFromCacheResponseBB\n(org.apache.phoen" +
-      "ix.coprocessor.generatedB\016MetaDataProtos" +
-      "H\001\210\001\001\240\001\001"
+      "Function.proto\"\222\001\n\020SharedTableState\022\020\n\010t" +
+      "enantId\030\001 \001(\014\022\022\n\nschemaName\030\002 \002(\014\022\021\n\ttab" +
+      "leName\030\003 \002(\014\022\031\n\007columns\030\004 \003(\0132\010.PColumn\022" +
+      "\025\n\rphysicalNames\030\005 \003(\014\022\023\n\013viewIndexId\030\006 " +
+      "\002(\005\"\210\002\n\020MetaDataResponse\022!\n\nreturnCode\030\001" +
+      " \001(\0162\r.MutationCode\022\024\n\014mutationTime\030\002 \001(" +
+      "\003\022\026\n\005table\030\003 \001(\0132\007.PTable\022\026\n\016tablesToDel" +
+      "ete\030\004 \003(\014\022\022\n\ncolumnName\030\005 \001(\014\022\022\n\nfamilyN" +
+      "ame\030\006 \001(\014\022\024\n\014functionName\030\007 \001(\014\022\034\n\010funct",
+      "ion\030\010 \003(\0132\n.PFunction\022/\n\024sharedTablesToD" +
+      "elete\030\t \003(\0132\021.SharedTableState\"\222\001\n\017GetTa" +
+      "bleRequest\022\020\n\010tenantId\030\001 \002(\014\022\022\n\nschemaNa" +
+      "me\030\002 \002(\014\022\021\n\ttableName\030\003 \002(\014\022\026\n\016tableTime" +
+      "stamp\030\004 \002(\003\022\027\n\017clientTimestamp\030\005 \002(\003\022\025\n\r" +
+      "clientVersion\030\006 \001(\005\"\212\001\n\023GetFunctionsRequ" +
+      "est\022\020\n\010tenantId\030\001 \002(\014\022\025\n\rfunctionNames\030\002" +
+      " \003(\014\022\032\n\022functionTimestamps\030\003 \003(\003\022\027\n\017clie" +
+      "ntTimestamp\030\004 \002(\003\022\025\n\rclientVersion\030\005 \001(\005" +
+      "\"K\n\022CreateTableRequest\022\036\n\026tableMetadataM",
+      "utations\030\001 \003(\014\022\025\n\rclientVersion\030\002 \001(\005\"r\n" +
+      "\025CreateFunctionRequest\022\036\n\026tableMetadataM" +
+      "utations\030\001 \003(\014\022\021\n\ttemporary\030\002 \002(\010\022\017\n\007rep" +
+      "lace\030\003 \001(\010\022\025\n\rclientVersion\030\004 \001(\005\"m\n\020Dro" +
+      "pTableRequest\022\036\n\026tableMetadataMutations\030" +
+      "\001 \003(\014\022\021\n\ttableType\030\002 \002(\t\022\017\n\007cascade\030\003 \001(" +
+      "\010\022\025\n\rclientVersion\030\004 \001(\005\"I\n\020AddColumnReq" +
+      "uest\022\036\n\026tableMetadataMutations\030\001 \003(\014\022\025\n\r" +
+      "clientVersion\030\002 \001(\005\"J\n\021DropColumnRequest" +
+      "\022\036\n\026tableMetadataMutations\030\001 \003(\014\022\025\n\rclie",
+      "ntVersion\030\002 \001(\005\"^\n\023DropFunctionRequest\022\036" +
+      "\n\026tableMetadataMutations\030\001 \003(\014\022\020\n\010ifExis" +
+      "ts\030\002 \001(\010\022\025\n\rclientVersion\030\003 \001(\005\"P\n\027Updat" +
+      "eIndexStateRequest\022\036\n\026tableMetadataMutat" +
+      "ions\030\001 \003(\014\022\025\n\rclientVersion\030\002 \001(\005\"*\n\021Cle" +
+      "arCacheRequest\022\025\n\rclientVersion\030\001 \001(\005\"*\n" +
+      "\022ClearCacheResponse\022\024\n\014unfreedBytes\030\001 \001(" +
+      "\003\"*\n\021GetVersionRequest\022\025\n\rclientVersion\030" +
+      "\001 \001(\005\"%\n\022GetVersionResponse\022\017\n\007version\030\001" +
+      " \002(\003\"\205\001\n\032ClearTableFromCacheRequest\022\020\n\010t",
+      "enantId\030\001 \002(\014\022\022\n\nschemaName\030\002 \002(\014\022\021\n\ttab" +
+      "leName\030\003 \002(\014\022\027\n\017clientTimestamp\030\004 \002(\003\022\025\n" +
+      "\rclientVersion\030\005 \001(\005\"\035\n\033ClearTableFromCa" +
+      "cheResponse*\365\002\n\014MutationCode\022\030\n\024TABLE_AL" +
+      "READY_EXISTS\020\000\022\023\n\017TABLE_NOT_FOUND\020\001\022\024\n\020C" +
+      "OLUMN_NOT_FOUND\020\002\022\031\n\025COLUMN_ALREADY_EXIS" +
+      "TS\020\003\022\035\n\031CONCURRENT_TABLE_MUTATION\020\004\022\027\n\023T" +
+      "ABLE_NOT_IN_REGION\020\005\022\025\n\021NEWER_TABLE_FOUN" +
+      "D\020\006\022\034\n\030UNALLOWED_TABLE_MUTATION\020\007\022\021\n\rNO_" +
+      "PK_COLUMNS\020\010\022\032\n\026PARENT_TABLE_NOT_FOUND\020\t",
+      "\022\033\n\027FUNCTION_ALREADY_EXISTS\020\n\022\026\n\022FUNCTIO" +
+      "N_NOT_FOUND\020\013\022\030\n\024NEWER_FUNCTION_FOUND\020\014\022" +
+      "\032\n\026FUNCTION_NOT_IN_REGION\020\r2\304\005\n\017MetaData" +
+      "Service\022/\n\010getTable\022\020.GetTableRequest\032\021." +
+      "MetaDataResponse\0227\n\014getFunctions\022\024.GetFu" +
+      "nctionsRequest\032\021.MetaDataResponse\0225\n\013cre" +
+      "ateTable\022\023.CreateTableRequest\032\021.MetaData" +
+      "Response\022;\n\016createFunction\022\026.CreateFunct" +
+      "ionRequest\032\021.MetaDataResponse\0221\n\tdropTab" +
+      "le\022\021.DropTableRequest\032\021.MetaDataResponse",
+      "\0227\n\014dropFunction\022\024.DropFunctionRequest\032\021" +
+      ".MetaDataResponse\0221\n\taddColumn\022\021.AddColu" +
+      "mnRequest\032\021.MetaDataResponse\0223\n\ndropColu" +
+      "mn\022\022.DropColumnRequest\032\021.MetaDataRespons" +
+      "e\022?\n\020updateIndexState\022\030.UpdateIndexState" +
+      "Request\032\021.MetaDataResponse\0225\n\nclearCache" +
+      "\022\022.ClearCacheRequest\032\023.ClearCacheRespons" +
+      "e\0225\n\ngetVersion\022\022.GetVersionRequest\032\023.Ge" +
+      "tVersionResponse\022P\n\023clearTableFromCache\022" +
+      "\033.ClearTableFromCacheRequest\032\034.ClearTabl",
+      "eFromCacheResponseBB\n(org.apache.phoenix" +
+      ".coprocessor.generatedB\016MetaDataProtosH\001" +
+      "\210\001\001\240\001\001"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
       new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
         public com.google.protobuf.ExtensionRegistry assignDescriptors(
             com.google.protobuf.Descriptors.FileDescriptor root) {
           descriptor = root;
-          internal_static_MetaDataResponse_descriptor =
+          internal_static_SharedTableState_descriptor =
             getDescriptor().getMessageTypes().get(0);
+          internal_static_SharedTableState_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+              internal_static_SharedTableState_descriptor,
+              new java.lang.String[] { "TenantId", "SchemaName", "TableName", "Columns", "PhysicalNames", "ViewIndexId", });
+          internal_static_MetaDataResponse_descriptor =
+            getDescriptor().getMessageTypes().get(1);
           internal_static_MetaDataResponse_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_MetaDataResponse_descriptor,
-              new java.lang.String[] { "ReturnCode", "MutationTime", "Table", "TablesToDelete", "ColumnName", "FamilyName", "FunctionName", "Function", });
+              new java.lang.String[] { "ReturnCode", "MutationTime", "Table", "TablesToDelete", "ColumnName", "FamilyName", "FunctionName", "Function", "SharedTablesToDelete", });
           internal_static_GetTableRequest_descriptor =
-            getDescriptor().getMessageTypes().get(1);
+            getDescriptor().getMessageTypes().get(2);
           internal_static_GetTableRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_GetTableRequest_descriptor,
               new java.lang.String[] { "TenantId", "SchemaName", "TableName", "TableTimestamp", "ClientTimestamp", "ClientVersion", });
           internal_static_GetFunctionsRequest_descriptor =
-            getDescriptor().getMessageTypes().get(2);
+            getDescriptor().getMessageTypes().get(3);
           internal_static_GetFunctionsRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_GetFunctionsRequest_descriptor,
               new java.lang.String[] { "TenantId", "FunctionNames", "FunctionTimestamps", "ClientTimestamp", "ClientVersion", });
           internal_static_CreateTableRequest_descriptor =
-            getDescriptor().getMessageTypes().get(3);
+            getDescriptor().getMessageTypes().get(4);
           internal_static_CreateTableRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_CreateTableRequest_descriptor,
               new java.lang.String[] { "TableMetadataMutations", "ClientVersion", });
           internal_static_CreateFunctionRequest_descriptor =
-            getDescriptor().getMessageTypes().get(4);
+            getDescriptor().getMessageTypes().get(5);
           internal_static_CreateFunctionRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_CreateFunctionRequest_descriptor,
               new java.lang.String[] { "TableMetadataMutations", "Temporary", "Replace", "ClientVersion", });
           internal_static_DropTableRequest_descriptor =
-            getDescriptor().getMessageTypes().get(5);
+            getDescriptor().getMessageTypes().get(6);
           internal_static_DropTableRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_DropTableRequest_descriptor,
               new java.lang.String[] { "TableMetadataMutations", "TableType", "Cascade", "ClientVersion", });
           internal_static_AddColumnRequest_descriptor =
-            getDescriptor().getMessageTypes().get(6);
+            getDescriptor().getMessageTypes().get(7);
           internal_static_AddColumnRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_AddColumnRequest_descriptor,
               new java.lang.String[] { "TableMetadataMutations", "ClientVersion", });
           internal_static_DropColumnRequest_descriptor =
-            getDescriptor().getMessageTypes().get(7);
+            getDescriptor().getMessageTypes().get(8);
           internal_static_DropColumnRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_DropColumnRequest_descriptor,
               new java.lang.String[] { "TableMetadataMutations", "ClientVersion", });
           internal_static_DropFunctionRequest_descriptor =
-            getDescriptor().getMessageTypes().get(8);
+            getDescriptor().getMessageTypes().get(9);
           internal_static_DropFunctionRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_DropFunctionRequest_descriptor,
               new java.lang.String[] { "TableMetadataMutations", "IfExists", "ClientVersion", });
           internal_static_UpdateIndexStateRequest_descriptor =
-            getDescriptor().getMessageTypes().get(9);
+            getDescriptor().getMessageTypes().get(10);
           internal_static_UpdateIndexStateRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_UpdateIndexStateRequest_descriptor,
               new java.lang.String[] { "TableMetadataMutations", "ClientVersion", });
           internal_static_ClearCacheRequest_descriptor =
-            getDescriptor().getMessageTypes().get(10);
+            getDescriptor().getMessageTypes().get(11);
           internal_static_ClearCacheRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_ClearCacheRequest_descriptor,
               new java.lang.String[] { "ClientVersion", });
           internal_static_ClearCacheResponse_descriptor =
-            getDescriptor().getMessageTypes().get(11);
+            getDescriptor().getMessageTypes().get(12);
           internal_static_ClearCacheResponse_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_ClearCacheResponse_descriptor,
               new java.lang.String[] { "UnfreedBytes", });
           internal_static_GetVersionRequest_descriptor =
-            getDescriptor().getMessageTypes().get(12);
+            getDescriptor().getMessageTypes().get(13);
           internal_static_GetVersionRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_GetVersionRequest_descriptor,
               new java.lang.String[] { "ClientVersion", });
           internal_static_GetVersionResponse_descriptor =
-            getDescriptor().getMessageTypes().get(13);
+            getDescriptor().getMessageTypes().get(14);
           internal_static_GetVersionResponse_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_GetVersionResponse_descriptor,
               new java.lang.String[] { "Version", });
           internal_static_ClearTableFromCacheRequest_descriptor =
-            getDescriptor().getMessageTypes().get(14);
+            getDescriptor().getMessageTypes().get(15);
           internal_static_ClearTableFromCacheRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_ClearTableFromCacheRequest_descriptor,
               new java.lang.String[] { "TenantId", "SchemaName", "TableName", "ClientTimestamp", "ClientVersion", });
           internal_static_ClearTableFromCacheResponse_descriptor =
-            getDescriptor().getMessageTypes().get(15);
+            getDescriptor().getMessageTypes().get(16);
           internal_static_ClearTableFromCacheResponse_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_ClearTableFromCacheResponse_descriptor,

http://git-wip-us.apache.org/repos/asf/phoenix/blob/fccbe56a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
index 7548078..457a5df 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
@@ -109,6 +109,8 @@ import org.apache.phoenix.util.SQLCloseables;
 import org.cloudera.htrace.Sampler;
 import org.cloudera.htrace.TraceScope;
 
+import co.cask.tephra.TransactionContext;
+
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Objects;
 import com.google.common.base.Strings;
@@ -116,8 +118,6 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableMap.Builder;
 import com.google.common.collect.Lists;
 
-import co.cask.tephra.TransactionContext;
-
 
 /**
  * 


Mime
View raw message