| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| // This file contains protocol buffers that are used for filters |
| package hbase.pb; |
| |
| option java_package = "org.apache.hadoop.hbase.protobuf.generated"; |
| option java_outer_classname = "FilterProtos"; |
| option java_generic_services = true; |
| option java_generate_equals_and_hash = true; |
| option optimize_for = SPEED; |
| |
| import "HBase.proto"; |
| import "Comparator.proto"; |
| |
| message Filter { |
| required string name = 1; |
| optional bytes serialized_filter = 2; |
| } |
| |
| message ColumnCountGetFilter { |
| required int32 limit = 1; |
| } |
| |
| message ColumnPaginationFilter { |
| required int32 limit = 1; |
| optional int32 offset = 2; |
| optional bytes column_offset = 3; |
| } |
| |
| message ColumnPrefixFilter { |
| required bytes prefix = 1; |
| } |
| |
| message ColumnRangeFilter { |
| optional bytes min_column = 1; |
| optional bool min_column_inclusive = 2; |
| optional bytes max_column = 3; |
| optional bool max_column_inclusive = 4; |
| } |
| |
| message CompareFilter { |
| required CompareType compare_op = 1; |
| optional Comparator comparator = 2; |
| } |
| |
| message DependentColumnFilter { |
| required CompareFilter compare_filter = 1; |
| optional bytes column_family = 2; |
| optional bytes column_qualifier = 3; |
| optional bool drop_dependent_column = 4; |
| } |
| |
| message FamilyFilter { |
| required CompareFilter compare_filter = 1; |
| } |
| |
| message FilterList { |
| required Operator operator = 1; |
| repeated Filter filters = 2; |
| |
| enum Operator { |
| MUST_PASS_ALL = 1; |
| MUST_PASS_ONE = 2; |
| } |
| } |
| |
| message FilterWrapper { |
| required Filter filter = 1; |
| } |
| |
| message FirstKeyOnlyFilter { |
| } |
| |
| message FirstKeyValueMatchingQualifiersFilter { |
| repeated bytes qualifiers = 1; |
| } |
| |
| message FuzzyRowFilter { |
| repeated BytesBytesPair fuzzy_keys_data = 1; |
| } |
| |
| message InclusiveStopFilter { |
| optional bytes stop_row_key = 1; |
| } |
| |
| message KeyOnlyFilter { |
| required bool len_as_val = 1; |
| } |
| |
| message MultipleColumnPrefixFilter { |
| repeated bytes sorted_prefixes = 1; |
| } |
| |
| message PageFilter { |
| required int64 page_size = 1; |
| } |
| |
| message PrefixFilter { |
| optional bytes prefix = 1; |
| } |
| |
| message QualifierFilter { |
| required CompareFilter compare_filter = 1; |
| } |
| |
| message RandomRowFilter { |
| required float chance = 1; |
| } |
| |
| message RowFilter { |
| required CompareFilter compare_filter = 1; |
| } |
| |
| message SingleColumnValueExcludeFilter { |
| required SingleColumnValueFilter single_column_value_filter = 1; |
| } |
| |
| message SingleColumnValueFilter { |
| optional bytes column_family = 1; |
| optional bytes column_qualifier = 2; |
| required CompareType compare_op = 3; |
| required Comparator comparator = 4; |
| optional bool filter_if_missing = 5; |
| optional bool latest_version_only = 6; |
| } |
| |
| message SkipFilter { |
| required Filter filter = 1; |
| } |
| |
| message TimestampsFilter { |
| repeated int64 timestamps = 1 [packed=true]; |
| optional bool can_hint = 2; |
| } |
| |
| message ValueFilter { |
| required CompareFilter compare_filter = 1; |
| } |
| |
| message WhileMatchFilter { |
| required Filter filter = 1; |
| } |
| message FilterAllFilter { |
| } |
| |
| message RowRange { |
| optional bytes start_row = 1; |
| optional bool start_row_inclusive = 2; |
| optional bytes stop_row = 3; |
| optional bool stop_row_inclusive =4; |
| } |
| |
| message MultiRowRangeFilter { |
| repeated RowRange row_range_list = 1; |
| } |