ecaefd1da7
* Add bulk wal entry * add sequence * move arrow ipc to common
76 lines
1.8 KiB
Protocol Buffer
76 lines
1.8 KiB
Protocol Buffer
// Copyright 2023 Greptime Team
|
|
//
|
|
// Licensed 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 = "proto3";
|
|
|
|
package greptime.v1;
|
|
|
|
option go_package = "github.com/GreptimeTeam/greptime-proto/go/greptime/v1";
|
|
|
|
import "greptime/v1/row.proto";
|
|
import "greptime/v1/common.proto";
|
|
|
|
// Type of operation to rows.
|
|
enum OpType {
|
|
// Delete rows.
|
|
DELETE = 0;
|
|
// Put rows.
|
|
PUT = 1;
|
|
}
|
|
|
|
// Encoding of primary key.
|
|
enum PrimaryKeyEncoding {
|
|
DENSE = 0;
|
|
SPARSE = 1;
|
|
}
|
|
|
|
// Write hint of the mutation.
|
|
message WriteHint {
|
|
PrimaryKeyEncoding primary_key_encoding = 1;
|
|
}
|
|
|
|
// Mutation contains updates to a set of rows.
|
|
message Mutation {
|
|
// Type of this mutation.
|
|
OpType op_type = 1;
|
|
// Start WAL sequence of this mutation.
|
|
uint64 sequence = 2;
|
|
// Row updates to write to the WAL.
|
|
Rows rows = 3;
|
|
// Write hint of the mutation.
|
|
WriteHint write_hint = 4;
|
|
}
|
|
|
|
// A WAL entry contains a list of mutations for a region to write.
|
|
message WalEntry {
|
|
// List of mutations for a region.
|
|
repeated Mutation mutations = 1;
|
|
// List of bulk insert requests.
|
|
repeated BulkWalEntry bulk_entries = 2;
|
|
}
|
|
|
|
message BulkWalEntry {
|
|
// Start WAL sequence of this entry.
|
|
uint64 sequence = 1;
|
|
// Max timestamp value.
|
|
int64 max_ts = 2;
|
|
// Min timestamp value.
|
|
int64 min_ts = 3;
|
|
// Timestamp column index.
|
|
uint32 timestamp_index = 4;
|
|
oneof body {
|
|
ArrowIpc arrow_ipc = 5;
|
|
}
|
|
}
|