You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2015/10/16 20:22:20 UTC

[5/5] hbase git commit: HBASE-14406 The dataframe datasource filter is wrong, and will result in data loss or unexpected behavior (Ted Malaska)

HBASE-14406 The dataframe datasource filter is wrong, and will result in data loss or unexpected behavior (Ted Malaska)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/dae1775a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/dae1775a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/dae1775a

Branch: refs/heads/master
Commit: dae1775a116bdbd4e8554da24dafa00ca8af3fd6
Parents: 30cf4e3
Author: tedyu <yu...@gmail.com>
Authored: Fri Oct 16 11:22:07 2015 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Fri Oct 16 11:22:07 2015 -0700

----------------------------------------------------------------------
 .../hbase/protobuf/generated/FilterProtos.java  | 1825 +----------------
 hbase-protocol/src/main/protobuf/Filter.proto   |   13 -
 hbase-spark/pom.xml                             |   72 +-
 .../hbase/spark/SparkSQLPushDownFilter.java     |  258 ++-
 .../spark/protobuf/generated/FilterProtos.java  | 1840 ++++++++++++++++++
 hbase-spark/src/main/protobuf/Filter.proto      |   38 +
 .../hbase/spark/ByteArrayComparable.scala       |   47 +
 .../hadoop/hbase/spark/DefaultSource.scala      |  633 ++++--
 .../hbase/spark/DynamicLogicExpression.scala    |  254 +++
 .../hadoop/hbase/spark/DefaultSourceSuite.scala |  546 ++++--
 .../spark/DynamicLogicExpressionSuite.scala     |  190 ++
 .../spark/HBaseDStreamFunctionsSuite.scala      |   15 +-
 12 files changed, 3455 insertions(+), 2276 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/dae1775a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/FilterProtos.java
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/FilterProtos.java b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/FilterProtos.java
index fe18cae..e558371 100644
--- a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/FilterProtos.java
+++ b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/FilterProtos.java
@@ -17300,1797 +17300,6 @@ public final class FilterProtos {
     // @@protoc_insertion_point(class_scope:hbase.pb.MultiRowRangeFilter)
   }
 
-  public interface SQLPredicatePushDownColumnFilterOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-
-    // required bytes column_family = 1;
-    /**
-     * <code>required bytes column_family = 1;</code>
-     */
-    boolean hasColumnFamily();
-    /**
-     * <code>required bytes column_family = 1;</code>
-     */
-    com.google.protobuf.ByteString getColumnFamily();
-
-    // required bytes qualifier = 2;
-    /**
-     * <code>required bytes qualifier = 2;</code>
-     */
-    boolean hasQualifier();
-    /**
-     * <code>required bytes qualifier = 2;</code>
-     */
-    com.google.protobuf.ByteString getQualifier();
-
-    // repeated bytes get_point_list = 3;
-    /**
-     * <code>repeated bytes get_point_list = 3;</code>
-     */
-    java.util.List<com.google.protobuf.ByteString> getGetPointListList();
-    /**
-     * <code>repeated bytes get_point_list = 3;</code>
-     */
-    int getGetPointListCount();
-    /**
-     * <code>repeated bytes get_point_list = 3;</code>
-     */
-    com.google.protobuf.ByteString getGetPointList(int index);
-
-    // repeated .hbase.pb.RowRange range_list = 4;
-    /**
-     * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-     */
-    java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange>
-        getRangeListList();
-    /**
-     * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-     */
-    org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange getRangeList(int index);
-    /**
-     * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-     */
-    int getRangeListCount();
-    /**
-     * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-     */
-    java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRangeOrBuilder>
-        getRangeListOrBuilderList();
-    /**
-     * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-     */
-    org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRangeOrBuilder getRangeListOrBuilder(
-        int index);
-  }
-  /**
-   * Protobuf type {@code hbase.pb.SQLPredicatePushDownColumnFilter}
-   */
-  public static final class SQLPredicatePushDownColumnFilter extends
-      com.google.protobuf.GeneratedMessage
-      implements SQLPredicatePushDownColumnFilterOrBuilder {
-    // Use SQLPredicatePushDownColumnFilter.newBuilder() to construct.
-    private SQLPredicatePushDownColumnFilter(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private SQLPredicatePushDownColumnFilter(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final SQLPredicatePushDownColumnFilter defaultInstance;
-    public static SQLPredicatePushDownColumnFilter getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public SQLPredicatePushDownColumnFilter getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private SQLPredicatePushDownColumnFilter(
-        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;
-              columnFamily_ = input.readBytes();
-              break;
-            }
-            case 18: {
-              bitField0_ |= 0x00000002;
-              qualifier_ = input.readBytes();
-              break;
-            }
-            case 26: {
-              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
-                getPointList_ = new java.util.ArrayList<com.google.protobuf.ByteString>();
-                mutable_bitField0_ |= 0x00000004;
-              }
-              getPointList_.add(input.readBytes());
-              break;
-            }
-            case 34: {
-              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
-                rangeList_ = new java.util.ArrayList<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange>();
-                mutable_bitField0_ |= 0x00000008;
-              }
-              rangeList_.add(input.readMessage(org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.PARSER, extensionRegistry));
-              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_ & 0x00000004) == 0x00000004)) {
-          getPointList_ = java.util.Collections.unmodifiableList(getPointList_);
-        }
-        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
-          rangeList_ = java.util.Collections.unmodifiableList(rangeList_);
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.internal_static_hbase_pb_SQLPredicatePushDownColumnFilter_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.internal_static_hbase_pb_SQLPredicatePushDownColumnFilter_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.class, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<SQLPredicatePushDownColumnFilter> PARSER =
-        new com.google.protobuf.AbstractParser<SQLPredicatePushDownColumnFilter>() {
-      public SQLPredicatePushDownColumnFilter parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new SQLPredicatePushDownColumnFilter(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<SQLPredicatePushDownColumnFilter> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    // required bytes column_family = 1;
-    public static final int COLUMN_FAMILY_FIELD_NUMBER = 1;
-    private com.google.protobuf.ByteString columnFamily_;
-    /**
-     * <code>required bytes column_family = 1;</code>
-     */
-    public boolean hasColumnFamily() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required bytes column_family = 1;</code>
-     */
-    public com.google.protobuf.ByteString getColumnFamily() {
-      return columnFamily_;
-    }
-
-    // required bytes qualifier = 2;
-    public static final int QUALIFIER_FIELD_NUMBER = 2;
-    private com.google.protobuf.ByteString qualifier_;
-    /**
-     * <code>required bytes qualifier = 2;</code>
-     */
-    public boolean hasQualifier() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required bytes qualifier = 2;</code>
-     */
-    public com.google.protobuf.ByteString getQualifier() {
-      return qualifier_;
-    }
-
-    // repeated bytes get_point_list = 3;
-    public static final int GET_POINT_LIST_FIELD_NUMBER = 3;
-    private java.util.List<com.google.protobuf.ByteString> getPointList_;
-    /**
-     * <code>repeated bytes get_point_list = 3;</code>
-     */
-    public java.util.List<com.google.protobuf.ByteString>
-        getGetPointListList() {
-      return getPointList_;
-    }
-    /**
-     * <code>repeated bytes get_point_list = 3;</code>
-     */
-    public int getGetPointListCount() {
-      return getPointList_.size();
-    }
-    /**
-     * <code>repeated bytes get_point_list = 3;</code>
-     */
-    public com.google.protobuf.ByteString getGetPointList(int index) {
-      return getPointList_.get(index);
-    }
-
-    // repeated .hbase.pb.RowRange range_list = 4;
-    public static final int RANGE_LIST_FIELD_NUMBER = 4;
-    private java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange> rangeList_;
-    /**
-     * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-     */
-    public java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange> getRangeListList() {
-      return rangeList_;
-    }
-    /**
-     * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-     */
-    public java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRangeOrBuilder>
-        getRangeListOrBuilderList() {
-      return rangeList_;
-    }
-    /**
-     * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-     */
-    public int getRangeListCount() {
-      return rangeList_.size();
-    }
-    /**
-     * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-     */
-    public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange getRangeList(int index) {
-      return rangeList_.get(index);
-    }
-    /**
-     * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-     */
-    public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRangeOrBuilder getRangeListOrBuilder(
-        int index) {
-      return rangeList_.get(index);
-    }
-
-    private void initFields() {
-      columnFamily_ = com.google.protobuf.ByteString.EMPTY;
-      qualifier_ = com.google.protobuf.ByteString.EMPTY;
-      getPointList_ = java.util.Collections.emptyList();
-      rangeList_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-
-      if (!hasColumnFamily()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasQualifier()) {
-        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, columnFamily_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBytes(2, qualifier_);
-      }
-      for (int i = 0; i < getPointList_.size(); i++) {
-        output.writeBytes(3, getPointList_.get(i));
-      }
-      for (int i = 0; i < rangeList_.size(); i++) {
-        output.writeMessage(4, rangeList_.get(i));
-      }
-      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, columnFamily_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, qualifier_);
-      }
-      {
-        int dataSize = 0;
-        for (int i = 0; i < getPointList_.size(); i++) {
-          dataSize += com.google.protobuf.CodedOutputStream
-            .computeBytesSizeNoTag(getPointList_.get(i));
-        }
-        size += dataSize;
-        size += 1 * getGetPointListList().size();
-      }
-      for (int i = 0; i < rangeList_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(4, rangeList_.get(i));
-      }
-      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.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter)) {
-        return super.equals(obj);
-      }
-      org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter other = (org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter) obj;
-
-      boolean result = true;
-      result = result && (hasColumnFamily() == other.hasColumnFamily());
-      if (hasColumnFamily()) {
-        result = result && getColumnFamily()
-            .equals(other.getColumnFamily());
-      }
-      result = result && (hasQualifier() == other.hasQualifier());
-      if (hasQualifier()) {
-        result = result && getQualifier()
-            .equals(other.getQualifier());
-      }
-      result = result && getGetPointListList()
-          .equals(other.getGetPointListList());
-      result = result && getRangeListList()
-          .equals(other.getRangeListList());
-      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 (hasColumnFamily()) {
-        hash = (37 * hash) + COLUMN_FAMILY_FIELD_NUMBER;
-        hash = (53 * hash) + getColumnFamily().hashCode();
-      }
-      if (hasQualifier()) {
-        hash = (37 * hash) + QUALIFIER_FIELD_NUMBER;
-        hash = (53 * hash) + getQualifier().hashCode();
-      }
-      if (getGetPointListCount() > 0) {
-        hash = (37 * hash) + GET_POINT_LIST_FIELD_NUMBER;
-        hash = (53 * hash) + getGetPointListList().hashCode();
-      }
-      if (getRangeListCount() > 0) {
-        hash = (37 * hash) + RANGE_LIST_FIELD_NUMBER;
-        hash = (53 * hash) + getRangeListList().hashCode();
-      }
-      hash = (29 * hash) + getUnknownFields().hashCode();
-      memoizedHashCode = hash;
-      return hash;
-    }
-
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter 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.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter 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.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter 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 hbase.pb.SQLPredicatePushDownColumnFilter}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilterOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.internal_static_hbase_pb_SQLPredicatePushDownColumnFilter_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.internal_static_hbase_pb_SQLPredicatePushDownColumnFilter_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.class, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder.class);
-      }
-
-      // Construct using org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getRangeListFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        columnFamily_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        qualifier_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        getPointList_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000004);
-        if (rangeListBuilder_ == null) {
-          rangeList_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000008);
-        } else {
-          rangeListBuilder_.clear();
-        }
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.internal_static_hbase_pb_SQLPredicatePushDownColumnFilter_descriptor;
-      }
-
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter getDefaultInstanceForType() {
-        return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.getDefaultInstance();
-      }
-
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter build() {
-        org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter buildPartial() {
-        org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter result = new org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.columnFamily_ = columnFamily_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.qualifier_ = qualifier_;
-        if (((bitField0_ & 0x00000004) == 0x00000004)) {
-          getPointList_ = java.util.Collections.unmodifiableList(getPointList_);
-          bitField0_ = (bitField0_ & ~0x00000004);
-        }
-        result.getPointList_ = getPointList_;
-        if (rangeListBuilder_ == null) {
-          if (((bitField0_ & 0x00000008) == 0x00000008)) {
-            rangeList_ = java.util.Collections.unmodifiableList(rangeList_);
-            bitField0_ = (bitField0_ & ~0x00000008);
-          }
-          result.rangeList_ = rangeList_;
-        } else {
-          result.rangeList_ = rangeListBuilder_.build();
-        }
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter) {
-          return mergeFrom((org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter other) {
-        if (other == org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.getDefaultInstance()) return this;
-        if (other.hasColumnFamily()) {
-          setColumnFamily(other.getColumnFamily());
-        }
-        if (other.hasQualifier()) {
-          setQualifier(other.getQualifier());
-        }
-        if (!other.getPointList_.isEmpty()) {
-          if (getPointList_.isEmpty()) {
-            getPointList_ = other.getPointList_;
-            bitField0_ = (bitField0_ & ~0x00000004);
-          } else {
-            ensureGetPointListIsMutable();
-            getPointList_.addAll(other.getPointList_);
-          }
-          onChanged();
-        }
-        if (rangeListBuilder_ == null) {
-          if (!other.rangeList_.isEmpty()) {
-            if (rangeList_.isEmpty()) {
-              rangeList_ = other.rangeList_;
-              bitField0_ = (bitField0_ & ~0x00000008);
-            } else {
-              ensureRangeListIsMutable();
-              rangeList_.addAll(other.rangeList_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.rangeList_.isEmpty()) {
-            if (rangeListBuilder_.isEmpty()) {
-              rangeListBuilder_.dispose();
-              rangeListBuilder_ = null;
-              rangeList_ = other.rangeList_;
-              bitField0_ = (bitField0_ & ~0x00000008);
-              rangeListBuilder_ =
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getRangeListFieldBuilder() : null;
-            } else {
-              rangeListBuilder_.addAllMessages(other.rangeList_);
-            }
-          }
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasColumnFamily()) {
-
-          return false;
-        }
-        if (!hasQualifier()) {
-
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      // required bytes column_family = 1;
-      private com.google.protobuf.ByteString columnFamily_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>required bytes column_family = 1;</code>
-       */
-      public boolean hasColumnFamily() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required bytes column_family = 1;</code>
-       */
-      public com.google.protobuf.ByteString getColumnFamily() {
-        return columnFamily_;
-      }
-      /**
-       * <code>required bytes column_family = 1;</code>
-       */
-      public Builder setColumnFamily(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        columnFamily_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required bytes column_family = 1;</code>
-       */
-      public Builder clearColumnFamily() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        columnFamily_ = getDefaultInstance().getColumnFamily();
-        onChanged();
-        return this;
-      }
-
-      // required bytes qualifier = 2;
-      private com.google.protobuf.ByteString qualifier_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>required bytes qualifier = 2;</code>
-       */
-      public boolean hasQualifier() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required bytes qualifier = 2;</code>
-       */
-      public com.google.protobuf.ByteString getQualifier() {
-        return qualifier_;
-      }
-      /**
-       * <code>required bytes qualifier = 2;</code>
-       */
-      public Builder setQualifier(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-        qualifier_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required bytes qualifier = 2;</code>
-       */
-      public Builder clearQualifier() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        qualifier_ = getDefaultInstance().getQualifier();
-        onChanged();
-        return this;
-      }
-
-      // repeated bytes get_point_list = 3;
-      private java.util.List<com.google.protobuf.ByteString> getPointList_ = java.util.Collections.emptyList();
-      private void ensureGetPointListIsMutable() {
-        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
-          getPointList_ = new java.util.ArrayList<com.google.protobuf.ByteString>(getPointList_);
-          bitField0_ |= 0x00000004;
-         }
-      }
-      /**
-       * <code>repeated bytes get_point_list = 3;</code>
-       */
-      public java.util.List<com.google.protobuf.ByteString>
-          getGetPointListList() {
-        return java.util.Collections.unmodifiableList(getPointList_);
-      }
-      /**
-       * <code>repeated bytes get_point_list = 3;</code>
-       */
-      public int getGetPointListCount() {
-        return getPointList_.size();
-      }
-      /**
-       * <code>repeated bytes get_point_list = 3;</code>
-       */
-      public com.google.protobuf.ByteString getGetPointList(int index) {
-        return getPointList_.get(index);
-      }
-      /**
-       * <code>repeated bytes get_point_list = 3;</code>
-       */
-      public Builder setGetPointList(
-          int index, com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  ensureGetPointListIsMutable();
-        getPointList_.set(index, value);
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>repeated bytes get_point_list = 3;</code>
-       */
-      public Builder addGetPointList(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  ensureGetPointListIsMutable();
-        getPointList_.add(value);
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>repeated bytes get_point_list = 3;</code>
-       */
-      public Builder addAllGetPointList(
-          java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
-        ensureGetPointListIsMutable();
-        super.addAll(values, getPointList_);
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>repeated bytes get_point_list = 3;</code>
-       */
-      public Builder clearGetPointList() {
-        getPointList_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000004);
-        onChanged();
-        return this;
-      }
-
-      // repeated .hbase.pb.RowRange range_list = 4;
-      private java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange> rangeList_ =
-        java.util.Collections.emptyList();
-      private void ensureRangeListIsMutable() {
-        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
-          rangeList_ = new java.util.ArrayList<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange>(rangeList_);
-          bitField0_ |= 0x00000008;
-         }
-      }
-
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.Builder, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRangeOrBuilder> rangeListBuilder_;
-
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange> getRangeListList() {
-        if (rangeListBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(rangeList_);
-        } else {
-          return rangeListBuilder_.getMessageList();
-        }
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public int getRangeListCount() {
-        if (rangeListBuilder_ == null) {
-          return rangeList_.size();
-        } else {
-          return rangeListBuilder_.getCount();
-        }
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange getRangeList(int index) {
-        if (rangeListBuilder_ == null) {
-          return rangeList_.get(index);
-        } else {
-          return rangeListBuilder_.getMessage(index);
-        }
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public Builder setRangeList(
-          int index, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange value) {
-        if (rangeListBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureRangeListIsMutable();
-          rangeList_.set(index, value);
-          onChanged();
-        } else {
-          rangeListBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public Builder setRangeList(
-          int index, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.Builder builderForValue) {
-        if (rangeListBuilder_ == null) {
-          ensureRangeListIsMutable();
-          rangeList_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          rangeListBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public Builder addRangeList(org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange value) {
-        if (rangeListBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureRangeListIsMutable();
-          rangeList_.add(value);
-          onChanged();
-        } else {
-          rangeListBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public Builder addRangeList(
-          int index, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange value) {
-        if (rangeListBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureRangeListIsMutable();
-          rangeList_.add(index, value);
-          onChanged();
-        } else {
-          rangeListBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public Builder addRangeList(
-          org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.Builder builderForValue) {
-        if (rangeListBuilder_ == null) {
-          ensureRangeListIsMutable();
-          rangeList_.add(builderForValue.build());
-          onChanged();
-        } else {
-          rangeListBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public Builder addRangeList(
-          int index, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.Builder builderForValue) {
-        if (rangeListBuilder_ == null) {
-          ensureRangeListIsMutable();
-          rangeList_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          rangeListBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public Builder addAllRangeList(
-          java.lang.Iterable<? extends org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange> values) {
-        if (rangeListBuilder_ == null) {
-          ensureRangeListIsMutable();
-          super.addAll(values, rangeList_);
-          onChanged();
-        } else {
-          rangeListBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public Builder clearRangeList() {
-        if (rangeListBuilder_ == null) {
-          rangeList_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000008);
-          onChanged();
-        } else {
-          rangeListBuilder_.clear();
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public Builder removeRangeList(int index) {
-        if (rangeListBuilder_ == null) {
-          ensureRangeListIsMutable();
-          rangeList_.remove(index);
-          onChanged();
-        } else {
-          rangeListBuilder_.remove(index);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.Builder getRangeListBuilder(
-          int index) {
-        return getRangeListFieldBuilder().getBuilder(index);
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRangeOrBuilder getRangeListOrBuilder(
-          int index) {
-        if (rangeListBuilder_ == null) {
-          return rangeList_.get(index);  } else {
-          return rangeListBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRangeOrBuilder>
-           getRangeListOrBuilderList() {
-        if (rangeListBuilder_ != null) {
-          return rangeListBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(rangeList_);
-        }
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.Builder addRangeListBuilder() {
-        return getRangeListFieldBuilder().addBuilder(
-            org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.Builder addRangeListBuilder(
-          int index) {
-        return getRangeListFieldBuilder().addBuilder(
-            index, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .hbase.pb.RowRange range_list = 4;</code>
-       */
-      public java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.Builder>
-           getRangeListBuilderList() {
-        return getRangeListFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.Builder, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRangeOrBuilder>
-          getRangeListFieldBuilder() {
-        if (rangeListBuilder_ == null) {
-          rangeListBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRange.Builder, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.RowRangeOrBuilder>(
-                  rangeList_,
-                  ((bitField0_ & 0x00000008) == 0x00000008),
-                  getParentForChildren(),
-                  isClean());
-          rangeList_ = null;
-        }
-        return rangeListBuilder_;
-      }
-
-      // @@protoc_insertion_point(builder_scope:hbase.pb.SQLPredicatePushDownColumnFilter)
-    }
-
-    static {
-      defaultInstance = new SQLPredicatePushDownColumnFilter(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:hbase.pb.SQLPredicatePushDownColumnFilter)
-  }
-
-  public interface SQLPredicatePushDownFilterOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-
-    // repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;
-    /**
-     * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-     */
-    java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter>
-        getColumnFilterListList();
-    /**
-     * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-     */
-    org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter getColumnFilterList(int index);
-    /**
-     * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-     */
-    int getColumnFilterListCount();
-    /**
-     * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-     */
-    java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilterOrBuilder>
-        getColumnFilterListOrBuilderList();
-    /**
-     * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-     */
-    org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilterOrBuilder getColumnFilterListOrBuilder(
-        int index);
-  }
-  /**
-   * Protobuf type {@code hbase.pb.SQLPredicatePushDownFilter}
-   */
-  public static final class SQLPredicatePushDownFilter extends
-      com.google.protobuf.GeneratedMessage
-      implements SQLPredicatePushDownFilterOrBuilder {
-    // Use SQLPredicatePushDownFilter.newBuilder() to construct.
-    private SQLPredicatePushDownFilter(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private SQLPredicatePushDownFilter(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final SQLPredicatePushDownFilter defaultInstance;
-    public static SQLPredicatePushDownFilter getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public SQLPredicatePushDownFilter getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private SQLPredicatePushDownFilter(
-        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)) {
-                columnFilterList_ = new java.util.ArrayList<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter>();
-                mutable_bitField0_ |= 0x00000001;
-              }
-              columnFilterList_.add(input.readMessage(org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.PARSER, extensionRegistry));
-              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)) {
-          columnFilterList_ = java.util.Collections.unmodifiableList(columnFilterList_);
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.internal_static_hbase_pb_SQLPredicatePushDownFilter_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.internal_static_hbase_pb_SQLPredicatePushDownFilter_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter.class, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<SQLPredicatePushDownFilter> PARSER =
-        new com.google.protobuf.AbstractParser<SQLPredicatePushDownFilter>() {
-      public SQLPredicatePushDownFilter parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new SQLPredicatePushDownFilter(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<SQLPredicatePushDownFilter> getParserForType() {
-      return PARSER;
-    }
-
-    // repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;
-    public static final int COLUMN_FILTER_LIST_FIELD_NUMBER = 1;
-    private java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter> columnFilterList_;
-    /**
-     * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-     */
-    public java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter> getColumnFilterListList() {
-      return columnFilterList_;
-    }
-    /**
-     * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-     */
-    public java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilterOrBuilder>
-        getColumnFilterListOrBuilderList() {
-      return columnFilterList_;
-    }
-    /**
-     * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-     */
-    public int getColumnFilterListCount() {
-      return columnFilterList_.size();
-    }
-    /**
-     * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-     */
-    public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter getColumnFilterList(int index) {
-      return columnFilterList_.get(index);
-    }
-    /**
-     * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-     */
-    public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilterOrBuilder getColumnFilterListOrBuilder(
-        int index) {
-      return columnFilterList_.get(index);
-    }
-
-    private void initFields() {
-      columnFilterList_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-
-      for (int i = 0; i < getColumnFilterListCount(); i++) {
-        if (!getColumnFilterList(i).isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      for (int i = 0; i < columnFilterList_.size(); i++) {
-        output.writeMessage(1, columnFilterList_.get(i));
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      for (int i = 0; i < columnFilterList_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, columnFilterList_.get(i));
-      }
-      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.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter)) {
-        return super.equals(obj);
-      }
-      org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter other = (org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter) obj;
-
-      boolean result = true;
-      result = result && getColumnFilterListList()
-          .equals(other.getColumnFilterListList());
-      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 (getColumnFilterListCount() > 0) {
-        hash = (37 * hash) + COLUMN_FILTER_LIST_FIELD_NUMBER;
-        hash = (53 * hash) + getColumnFilterListList().hashCode();
-      }
-      hash = (29 * hash) + getUnknownFields().hashCode();
-      memoizedHashCode = hash;
-      return hash;
-    }
-
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter 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.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter 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.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter 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 hbase.pb.SQLPredicatePushDownFilter}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilterOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.internal_static_hbase_pb_SQLPredicatePushDownFilter_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.internal_static_hbase_pb_SQLPredicatePushDownFilter_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter.class, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter.Builder.class);
-      }
-
-      // Construct using org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getColumnFilterListFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        if (columnFilterListBuilder_ == null) {
-          columnFilterList_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
-        } else {
-          columnFilterListBuilder_.clear();
-        }
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.internal_static_hbase_pb_SQLPredicatePushDownFilter_descriptor;
-      }
-
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter getDefaultInstanceForType() {
-        return org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter.getDefaultInstance();
-      }
-
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter build() {
-        org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter buildPartial() {
-        org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter result = new org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter(this);
-        int from_bitField0_ = bitField0_;
-        if (columnFilterListBuilder_ == null) {
-          if (((bitField0_ & 0x00000001) == 0x00000001)) {
-            columnFilterList_ = java.util.Collections.unmodifiableList(columnFilterList_);
-            bitField0_ = (bitField0_ & ~0x00000001);
-          }
-          result.columnFilterList_ = columnFilterList_;
-        } else {
-          result.columnFilterList_ = columnFilterListBuilder_.build();
-        }
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter) {
-          return mergeFrom((org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter other) {
-        if (other == org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter.getDefaultInstance()) return this;
-        if (columnFilterListBuilder_ == null) {
-          if (!other.columnFilterList_.isEmpty()) {
-            if (columnFilterList_.isEmpty()) {
-              columnFilterList_ = other.columnFilterList_;
-              bitField0_ = (bitField0_ & ~0x00000001);
-            } else {
-              ensureColumnFilterListIsMutable();
-              columnFilterList_.addAll(other.columnFilterList_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.columnFilterList_.isEmpty()) {
-            if (columnFilterListBuilder_.isEmpty()) {
-              columnFilterListBuilder_.dispose();
-              columnFilterListBuilder_ = null;
-              columnFilterList_ = other.columnFilterList_;
-              bitField0_ = (bitField0_ & ~0x00000001);
-              columnFilterListBuilder_ =
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getColumnFilterListFieldBuilder() : null;
-            } else {
-              columnFilterListBuilder_.addAllMessages(other.columnFilterList_);
-            }
-          }
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        for (int i = 0; i < getColumnFilterListCount(); i++) {
-          if (!getColumnFilterList(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.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownFilter) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      // repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;
-      private java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter> columnFilterList_ =
-        java.util.Collections.emptyList();
-      private void ensureColumnFilterListIsMutable() {
-        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
-          columnFilterList_ = new java.util.ArrayList<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter>(columnFilterList_);
-          bitField0_ |= 0x00000001;
-         }
-      }
-
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilterOrBuilder> columnFilterListBuilder_;
-
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter> getColumnFilterListList() {
-        if (columnFilterListBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(columnFilterList_);
-        } else {
-          return columnFilterListBuilder_.getMessageList();
-        }
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public int getColumnFilterListCount() {
-        if (columnFilterListBuilder_ == null) {
-          return columnFilterList_.size();
-        } else {
-          return columnFilterListBuilder_.getCount();
-        }
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter getColumnFilterList(int index) {
-        if (columnFilterListBuilder_ == null) {
-          return columnFilterList_.get(index);
-        } else {
-          return columnFilterListBuilder_.getMessage(index);
-        }
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public Builder setColumnFilterList(
-          int index, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter value) {
-        if (columnFilterListBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureColumnFilterListIsMutable();
-          columnFilterList_.set(index, value);
-          onChanged();
-        } else {
-          columnFilterListBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public Builder setColumnFilterList(
-          int index, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder builderForValue) {
-        if (columnFilterListBuilder_ == null) {
-          ensureColumnFilterListIsMutable();
-          columnFilterList_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          columnFilterListBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public Builder addColumnFilterList(org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter value) {
-        if (columnFilterListBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureColumnFilterListIsMutable();
-          columnFilterList_.add(value);
-          onChanged();
-        } else {
-          columnFilterListBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public Builder addColumnFilterList(
-          int index, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter value) {
-        if (columnFilterListBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureColumnFilterListIsMutable();
-          columnFilterList_.add(index, value);
-          onChanged();
-        } else {
-          columnFilterListBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public Builder addColumnFilterList(
-          org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder builderForValue) {
-        if (columnFilterListBuilder_ == null) {
-          ensureColumnFilterListIsMutable();
-          columnFilterList_.add(builderForValue.build());
-          onChanged();
-        } else {
-          columnFilterListBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public Builder addColumnFilterList(
-          int index, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder builderForValue) {
-        if (columnFilterListBuilder_ == null) {
-          ensureColumnFilterListIsMutable();
-          columnFilterList_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          columnFilterListBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public Builder addAllColumnFilterList(
-          java.lang.Iterable<? extends org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter> values) {
-        if (columnFilterListBuilder_ == null) {
-          ensureColumnFilterListIsMutable();
-          super.addAll(values, columnFilterList_);
-          onChanged();
-        } else {
-          columnFilterListBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public Builder clearColumnFilterList() {
-        if (columnFilterListBuilder_ == null) {
-          columnFilterList_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
-          onChanged();
-        } else {
-          columnFilterListBuilder_.clear();
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public Builder removeColumnFilterList(int index) {
-        if (columnFilterListBuilder_ == null) {
-          ensureColumnFilterListIsMutable();
-          columnFilterList_.remove(index);
-          onChanged();
-        } else {
-          columnFilterListBuilder_.remove(index);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder getColumnFilterListBuilder(
-          int index) {
-        return getColumnFilterListFieldBuilder().getBuilder(index);
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilterOrBuilder getColumnFilterListOrBuilder(
-          int index) {
-        if (columnFilterListBuilder_ == null) {
-          return columnFilterList_.get(index);  } else {
-          return columnFilterListBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public java.util.List<? extends org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilterOrBuilder>
-           getColumnFilterListOrBuilderList() {
-        if (columnFilterListBuilder_ != null) {
-          return columnFilterListBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(columnFilterList_);
-        }
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder addColumnFilterListBuilder() {
-        return getColumnFilterListFieldBuilder().addBuilder(
-            org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder addColumnFilterListBuilder(
-          int index) {
-        return getColumnFilterListFieldBuilder().addBuilder(
-            index, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .hbase.pb.SQLPredicatePushDownColumnFilter column_filter_list = 1;</code>
-       */
-      public java.util.List<org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder>
-           getColumnFilterListBuilderList() {
-        return getColumnFilterListFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilterOrBuilder>
-          getColumnFilterListFieldBuilder() {
-        if (columnFilterListBuilder_ == null) {
-          columnFilterListBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilter.Builder, org.apache.hadoop.hbase.protobuf.generated.FilterProtos.SQLPredicatePushDownColumnFilterOrBuilder>(
-                  columnFilterList_,
-                  ((bitField0_ & 0x00000001) == 0x00000001),
-                  getParentForChildren(),
-                  isClean());
-          columnFilterList_ = null;
-        }
-        return columnFilterListBuilder_;
-      }
-
-      // @@protoc_insertion_point(builder_scope:hbase.pb.SQLPredicatePushDownFilter)
-    }
-
-    static {
-      defaultInstance = new SQLPredicatePushDownFilter(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:hbase.pb.SQLPredicatePushDownFilter)
-  }
-
   private static com.google.protobuf.Descriptors.Descriptor
     internal_static_hbase_pb_Filter_descriptor;
   private static
@@ -19241,16 +17450,6 @@ public final class FilterProtos {
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_hbase_pb_MultiRowRangeFilter_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_hbase_pb_SQLPredicatePushDownColumnFilter_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_hbase_pb_SQLPredicatePushDownColumnFilter_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_hbase_pb_SQLPredicatePushDownFilter_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_hbase_pb_SQLPredicatePushDownFilter_fieldAccessorTable;
 
   public static com.google.protobuf.Descriptors.FileDescriptor
       getDescriptor() {
@@ -19313,15 +17512,9 @@ public final class FilterProtos {
       "ow\030\001 \001(\014\022\033\n\023start_row_inclusive\030\002 \001(\010\022\020\n" +
       "\010stop_row\030\003 \001(\014\022\032\n\022stop_row_inclusive\030\004 " +
       "\001(\010\"A\n\023MultiRowRangeFilter\022*\n\016row_range_" +
-      "list\030\001 \003(\0132\022.hbase.pb.RowRange\"\214\001\n SQLPr" +
-      "edicatePushDownColumnFilter\022\025\n\rcolumn_fa" +
-      "mily\030\001 \002(\014\022\021\n\tqualifier\030\002 \002(\014\022\026\n\016get_poi" +
-      "nt_list\030\003 \003(\014\022&\n\nrange_list\030\004 \003(\0132\022.hbas" +
-      "e.pb.RowRange\"d\n\032SQLPredicatePushDownFil" +
-      "ter\022F\n\022column_filter_list\030\001 \003(\0132*.hbase." +
-      "pb.SQLPredicatePushDownColumnFilterBB\n*o",
-      "rg.apache.hadoop.hbase.protobuf.generate" +
-      "dB\014FilterProtosH\001\210\001\001\240\001\001"
+      "list\030\001 \003(\0132\022.hbase.pb.RowRangeBB\n*org.ap" +
+      "ache.hadoop.hbase.protobuf.generatedB\014Fi" +
+      "lterProtosH\001\210\001\001\240\001\001"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
       new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
@@ -19508,18 +17701,6 @@ public final class FilterProtos {
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
               internal_static_hbase_pb_MultiRowRangeFilter_descriptor,
               new java.lang.String[] { "RowRangeList", });
-          internal_static_hbase_pb_SQLPredicatePushDownColumnFilter_descriptor =
-            getDescriptor().getMessageTypes().get(30);
-          internal_static_hbase_pb_SQLPredicatePushDownColumnFilter_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_hbase_pb_SQLPredicatePushDownColumnFilter_descriptor,
-              new java.lang.String[] { "ColumnFamily", "Qualifier", "GetPointList", "RangeList", });
-          internal_static_hbase_pb_SQLPredicatePushDownFilter_descriptor =
-            getDescriptor().getMessageTypes().get(31);
-          internal_static_hbase_pb_SQLPredicatePushDownFilter_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_hbase_pb_SQLPredicatePushDownFilter_descriptor,
-              new java.lang.String[] { "ColumnFilterList", });
           return null;
         }
       };

http://git-wip-us.apache.org/repos/asf/hbase/blob/dae1775a/hbase-protocol/src/main/protobuf/Filter.proto
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/protobuf/Filter.proto b/hbase-protocol/src/main/protobuf/Filter.proto
index b2dc7d0..67d5717 100644
--- a/hbase-protocol/src/main/protobuf/Filter.proto
+++ b/hbase-protocol/src/main/protobuf/Filter.proto
@@ -167,17 +167,4 @@ message RowRange {
 
 message MultiRowRangeFilter {
   repeated RowRange row_range_list = 1;
-}
-
-
-message SQLPredicatePushDownColumnFilter {
-  required bytes column_family = 1;
-  required bytes qualifier = 2;
-  repeated bytes get_point_list = 3;
-  repeated RowRange range_list = 4;
-
-}
-
-message SQLPredicatePushDownFilter {
-  repeated SQLPredicatePushDownColumnFilter column_filter_list = 1;
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hbase/blob/dae1775a/hbase-spark/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-spark/pom.xml b/hbase-spark/pom.xml
index 89509fe..ec911bd 100644
--- a/hbase-spark/pom.xml
+++ b/hbase-spark/pom.xml
@@ -512,6 +512,14 @@
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>com.google.protobuf</groupId>
+            <artifactId>protobuf-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+        </dependency>
     </dependencies>
 
 
@@ -591,17 +599,55 @@
 
   <profiles>
     <!-- Skip the tests in this module -->
-    <profile>
-      <id>skipSparkTests</id>
-      <activation>
-        <property>
-          <name>skipSparkTests</name>
-        </property>
-      </activation>
-      <properties>
-        <surefire.skipFirstPart>true</surefire.skipFirstPart>
-        <surefire.skipSecondPart>true</surefire.skipSecondPart>
-      </properties>
-    </profile>
-  </profiles>
+      <profile>
+        <id>skipSparkTests</id>
+            <activation>
+                <property>
+                    <name>skipSparkTests</name>
+                </property>
+            </activation>
+            <properties>
+                <surefire.skipFirstPart>true</surefire.skipFirstPart>
+                <surefire.skipSecondPart>true</surefire.skipSecondPart>
+            </properties>
+        </profile>
+        <profile>
+            <id>compile-protobuf</id>
+            <activation>
+                <property>
+                    <name>compile-protobuf</name>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.hadoop</groupId>
+                        <artifactId>hadoop-maven-plugins</artifactId>
+                        <executions>
+                            <execution>
+                                <id>compile-protoc</id>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>protoc</goal>
+                                </goals>
+                                <configuration>
+                                    <imports>
+                                        <param>${basedir}/src/main/protobuf</param>
+                                    </imports>
+                                    <source>
+                                        <directory>${basedir}/src/main/protobuf</directory>
+                                        <includes>
+                                            <include>Filter.proto</include>
+                                        </includes>
+                                    </source>
+                                    <!--<output>${project.build.directory}/generated-sources/java</output>-->
+                                    <output>${basedir}/src/main/java/</output>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 </project>