All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ikv.tikv-client.2.1-spark_2.4.source-code.kvrpcpb.proto Maven / Gradle / Ivy

syntax = "proto3";
package kvrpcpb;

import "metapb.proto";
import "errorpb.proto";
import "gogoproto/gogo.proto";
import "rustproto.proto";

option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (rustproto.lite_runtime_all) = true;

option java_package = "org.tikv.kvproto";

message LockInfo {
    bytes primary_lock = 1;
    uint64 lock_version = 2;
    bytes key = 3;
    uint64 lock_ttl = 4;
}

message AlreadyExist {
    bytes key = 1;
}

message KeyError {
    LockInfo locked = 1; // Client should backoff or cleanup the lock then retry.
    string retryable = 2; // Client may restart the txn. e.g write conflict.
    string abort = 3; // Client should abort the txn.
    WriteConflict conflict = 4; // Write conflict is moved from retryable to here.
    AlreadyExist already_exist = 5; // Key already exists
}

message WriteConflict {
    uint64 start_ts = 1;
    uint64 conflict_ts = 2;
    bytes key = 3;
    bytes primary = 4;
}

enum CommandPri {
    Normal = 0; // Normal must the default value
    Low = 1;
    High = 2;
}

enum IsolationLevel {
    SI = 0; // SI = snapshot isolation
    RC = 1; // RC = read committed
}

message Context {
    reserved 4;
    reserved "read_quorum";
    uint64 region_id = 1;
    metapb.RegionEpoch region_epoch = 2;
    metapb.Peer peer = 3;
    uint64 term = 5;
    CommandPri priority = 6;
    IsolationLevel isolation_level = 7;
    bool not_fill_cache = 8;
    bool sync_log = 9;
    bool handle_time = 10; // true means return handle time detail
    bool scan_detail = 11; // true means return scan cf's detail
}

message HandleTime {
    int64 wait_ms = 1; // time in queue
    int64 process_ms = 2; // process time without wait time.
}

message ScanInfo {
    int64 total = 1; // total count
    int64 processed = 2; // processed count
}

message ScanDetail {
    ScanInfo write = 1;
    ScanInfo lock = 2;
    ScanInfo data = 3;
}

message ExecDetails {
    HandleTime handle_time = 1;// set when ctx.handle_time = true or meet slow query
    ScanDetail scan_detail = 2;// set when ctx.scan_detail = true or meet slow query
}

message GetRequest {
    Context context = 1;
    bytes key = 2;
    uint64 version = 3;
}

message GetResponse {
    errorpb.Error region_error = 1;
    KeyError error = 2;
    bytes value = 3;
}

message ScanRequest {
    Context context = 1;
    bytes start_key = 2;
    uint32 limit = 3;
    uint64 version = 4;
    bool key_only = 5;
    bool reverse = 6;
    // For compatibility, when scanning forward, the range to scan is [start_key, end_key), where start_key < end_key;
    // and when scanning backward, it scans [end_key, start_key) in descending order, where end_key < start_key.
    bytes end_key = 7;
}

message KvPair {
    KeyError error = 1;
    bytes key = 2;
    bytes value = 3;
}

message ScanResponse {
    errorpb.Error region_error = 1;
    repeated KvPair pairs = 2;
}

enum Op {
    Put = 0;
    Del = 1;
    Lock = 2;
    Rollback = 3;
    // insert operation has a constraint that key should not exist before.
    Insert = 4;
}

enum Assertion {
     None = 0;
     Exist = 1;
     NotExist = 2;
}

message Mutation {
    Op op = 1;
    bytes key = 2;
    bytes value = 3;
    Assertion assertion = 4;
}

message PrewriteRequest {
    Context context = 1;
    repeated Mutation mutations = 2;
    // primary_lock_key
    bytes primary_lock = 3;
    uint64 start_version = 4;
    uint64 lock_ttl = 5;
    bool skip_constraint_check = 6;
}

message PrewriteResponse {
    errorpb.Error region_error = 1;
    repeated KeyError errors = 2;
}

message CommitRequest {
    reserved 5;
    reserved "binlog";
    Context context = 1;
    uint64 start_version = 2;
    repeated bytes keys = 3;
    uint64 commit_version = 4;
}

message CommitResponse {
    errorpb.Error region_error = 1;
    KeyError error = 2;
}

message ImportRequest {
    repeated Mutation mutations = 1;
    uint64 commit_version = 2;
}

message ImportResponse {
    errorpb.Error region_error = 1;
    string error = 2;
}

message BatchRollbackRequest {
    Context context = 1;
    uint64 start_version = 2;
    repeated bytes keys = 3;
}

message BatchRollbackResponse {
    errorpb.Error region_error = 1;
    KeyError error = 2;
}

message CleanupRequest {
    Context context = 1;
    bytes key = 2;
    uint64 start_version = 3;
}

message CleanupResponse {
    errorpb.Error region_error = 1;
    KeyError error = 2;
    uint64 commit_version = 3; // set this if the key is already committed
}

message BatchGetRequest {
    Context context = 1;
    repeated bytes keys = 2;
    uint64 version = 3;
}

message BatchGetResponse {
    errorpb.Error region_error = 1;
    repeated KvPair pairs = 2;
}

message ScanLockRequest {
    Context context = 1;
    uint64 max_version = 2;
    bytes start_key = 3;
    uint32 limit = 4;
}

message ScanLockResponse {
    errorpb.Error region_error = 1;
    KeyError error = 2;
    repeated LockInfo locks = 3;
}

message TxnInfo {
    uint64 txn = 1;
    uint64 status = 2;
}

message ResolveLockRequest {
    Context context = 1;
    uint64 start_version  = 2;
    // If the txn is rolled back, do not set it.
    uint64 commit_version = 3;
    repeated TxnInfo txn_infos = 4;
}

message ResolveLockResponse {
    errorpb.Error region_error = 1;
    KeyError error = 2;
}

message GCRequest {
    Context context = 1;
    uint64 safe_point = 2;
}

message GCResponse {
    errorpb.Error region_error = 1;
    KeyError error = 2;
}

message RawGetRequest {
    Context context = 1;
    bytes key = 2;
    string cf = 3;
}

message RawGetResponse {
    errorpb.Error region_error = 1;
    string error = 2;
    bytes value = 3;
}

message RawPutRequest {
    Context context = 1;
    bytes key = 2;
    bytes value = 3;
    string cf = 4;
}

message RawPutResponse {
    errorpb.Error region_error = 1;
    string error = 2;
}

message RawBatchPutRequest {
    Context context = 1;
    repeated KvPair pairs = 2;
    string cf = 3;
}

message RawBatchPutResponse {
    errorpb.Error region_error = 1;
    string error = 2;
}

message RawBatchGetRequest {
    Context context = 1;
    repeated bytes keys = 2;
    string cf = 3;
}

message RawBatchGetResponse {
    errorpb.Error region_error = 1;
    repeated KvPair pairs = 2;
}

message RawDeleteRequest {
    Context context = 1;
    bytes key = 2;
    string cf = 3;
}

message RawDeleteResponse {
    errorpb.Error region_error = 1;
    string error = 2;
}

message RawBatchDeleteRequest {
    Context context = 1;
    repeated bytes keys = 2;
    string cf = 3;
}

message RawBatchDeleteResponse {
    errorpb.Error region_error = 1;
    string error = 2;
}

message DeleteRangeRequest {
    Context context = 1;
    bytes start_key = 2;
    bytes end_key = 3;
}

message DeleteRangeResponse {
    errorpb.Error region_error = 1;
    string error = 2;
}

message RawDeleteRangeRequest {
    Context context = 1;
    bytes start_key = 2;
    bytes end_key = 3;
    string cf = 4;
}

message RawDeleteRangeResponse {
    errorpb.Error region_error = 1;
    string error = 2;
}

message RawScanRequest {
    Context context = 1;
    bytes start_key = 2;
    uint32 limit = 3;
    bool key_only = 4;
    string cf = 5;
    bool reverse = 6;
    // For compatibility, when scanning forward, the range to scan is [start_key, end_key), where start_key < end_key;
    // and when scanning backward, it scans [end_key, start_key) in descending order, where end_key < start_key.
    bytes end_key = 7;
}

message RawScanResponse {
    errorpb.Error region_error = 1;
    repeated KvPair kvs = 2;
}

message KeyRange {
  bytes start_key = 1;
  bytes end_key = 2;
}

message RawBatchScanRequest {
    Context context = 1;
    repeated KeyRange ranges = 2; // scanning range
    uint32 each_limit = 3; // max number of returning kv pairs for each scanning range
    bool key_only = 4;
    string cf = 5;
    bool reverse = 6;
}

message RawBatchScanResponse {
    errorpb.Error region_error = 1;
    repeated KvPair kvs = 2;
}

message MvccWrite {
    Op type = 1;
    uint64 start_ts = 2;
    uint64 commit_ts = 3;
    bytes short_value = 4;
}

message MvccValue {
    uint64 start_ts = 1;
    bytes value = 2;
}

message MvccLock {
    Op type = 1;
    uint64 start_ts = 2;
    bytes primary = 3;
    bytes short_value = 4;
}

message MvccInfo {
    MvccLock lock = 1;
    repeated MvccWrite writes = 2;
    repeated MvccValue values = 3;
}

message MvccGetByKeyRequest {
    Context context = 1;
    bytes key = 2;
}

message MvccGetByKeyResponse {
    errorpb.Error region_error = 1;
    string error = 2;
    MvccInfo info = 3;
}

message MvccGetByStartTsRequest {
    Context context = 1;
    uint64 start_ts = 2;
}

message MvccGetByStartTsResponse {
    errorpb.Error region_error = 1;
    string error = 2;
    bytes key = 3;
    MvccInfo info = 4;
}

message SplitRegionRequest {
    Context context = 1;
    bytes split_key = 2;
}

message SplitRegionResponse {
    errorpb.Error region_error = 1;
    metapb.Region left  = 2;
    metapb.Region right = 3;
}

message UnsafeDestroyRangeRequest {
    Context context = 1;
    bytes start_key = 2;
    bytes end_key = 3;
}

message UnsafeDestroyRangeResponse {
    errorpb.Error region_error = 1;
    string error = 2;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy