blob: aada35329aafa97c63beae8c7c59b2131755b072 [file] [log] [blame]
/**
* 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.
*/
syntax = "proto2";
// Cell and KeyValue protos
package hbase.pb;
option java_package = "org.apache.hadoop.hbase.shaded.protobuf.generated";
option java_outer_classname = "CellProtos";
option java_generate_equals_and_hash = true;
option optimize_for = SPEED;
/**
* The type of the key in a Cell
*/
enum CellType {
MINIMUM = 0;
PUT = 4;
DELETE = 8;
DELETE_FAMILY_VERSION = 10;
DELETE_COLUMN = 12;
DELETE_FAMILY = 14;
// MAXIMUM is used when searching; you look from maximum on down.
MAXIMUM = 255;
}
/**
* Protocol buffer version of Cell.
*/
message Cell {
optional bytes row = 1;
optional bytes family = 2;
optional bytes qualifier = 3;
optional uint64 timestamp = 4;
optional CellType cell_type = 5;
optional bytes value = 6;
optional bytes tags = 7;
}
/**
* Protocol buffer version of KeyValue.
* It doesn't have those transient parameters
*/
message KeyValue {
required bytes row = 1;
required bytes family = 2;
required bytes qualifier = 3;
optional uint64 timestamp = 4;
optional CellType key_type = 5;
optional bytes value = 6;
optional bytes tags = 7;
}