roachpb

package
v0.0.0-...-872dfdc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2016 License: Apache-2.0 Imports: 28 Imported by: 0

README

Cockroach Protocol buffers

Hacking

Use the associated .go files to add functionality to the generated code.

Other references to Go code generation:

Documentation

Overview

Package roachpb is a generated protocol buffer package.

It is generated from these files:

cockroach/roachpb/api.proto
cockroach/roachpb/data.proto
cockroach/roachpb/errors.proto
cockroach/roachpb/internal.proto
cockroach/roachpb/internal_raft.proto
cockroach/roachpb/metadata.proto

It has these top-level messages:

ResponseHeader
GetRequest
GetResponse
PutRequest
PutResponse
ConditionalPutRequest
ConditionalPutResponse
InitPutRequest
InitPutResponse
IncrementRequest
IncrementResponse
DeleteRequest
DeleteResponse
DeleteRangeRequest
DeleteRangeResponse
ScanRequest
ScanResponse
ReverseScanRequest
ReverseScanResponse
CheckConsistencyRequest
CheckConsistencyResponse
ChangeFrozenRequest
ChangeFrozenResponse
BeginTransactionRequest
BeginTransactionResponse
EndTransactionRequest
EndTransactionResponse
AdminSplitRequest
AdminSplitResponse
AdminMergeRequest
AdminMergeResponse
RangeLookupRequest
RangeLookupResponse
HeartbeatTxnRequest
HeartbeatTxnResponse
GCRequest
GCResponse
PushTxnRequest
PushTxnResponse
ResolveIntentRequest
ResolveIntentResponse
ResolveIntentRangeRequest
NoopResponse
NoopRequest
ResolveIntentRangeResponse
MergeRequest
MergeResponse
TruncateLogRequest
TruncateLogResponse
LeaderLeaseRequest
LeaderLeaseResponse
ComputeChecksumRequest
ComputeChecksumResponse
VerifyChecksumRequest
VerifyChecksumResponse
RequestUnion
ResponseUnion
Header
BatchRequest
BatchResponse
RaftCommand
StoreRequestHeader
PollFrozenRequest
PollFrozenResponse
ReservationRequest
ReservationResponse
Span
Timestamp
Value
KeyValue
StoreIdent
SplitTrigger
MergeTrigger
ChangeReplicasTrigger
ModifiedSpanTrigger
InternalCommitTrigger
TxnMeta
Transaction
Intent
Lease
AbortCacheEntry
NotLeaderError
NodeUnavailableError
RangeNotFoundError
RangeKeyMismatchError
RangeFrozenError
ReadWithinUncertaintyIntervalError
TransactionAbortedError
TransactionPushError
TransactionRetryError
TransactionReplayError
TransactionStatusError
WriteIntentError
WriteTooOldError
OpRequiresTxnError
ConditionFailedError
LeaseRejectedError
SendError
RaftGroupDeletedError
ReplicaCorruptionError
ErrorDetail
ErrPosition
Error
InternalTimeSeriesData
InternalTimeSeriesSample
RaftTruncatedState
RaftTombstone
RaftSnapshotData
Attributes
ReplicaDescriptor
RangeDescriptor
StoreCapacity
NodeDescriptor
StoreDescriptor

Index

Constants

View Source
const (
	// MinUserPriority is the minimum allowed user priority.
	MinUserPriority = 0.001
	// LowUserPriority is the minimum user priority settable with SQL.
	LowUserPriority = 0.1
	// UnspecifiedUserPriority means NormalUserPriority.
	UnspecifiedUserPriority = 0
	// NormalUserPriority is set to 1, meaning ops run through the database
	// are all given equal weight when a random priority is chosen. This can
	// be set specifically via client.NewDBWithPriority().
	NormalUserPriority = 1
	// HighUserPriority is the maximum user priority settable with SQL.
	HighUserPriority = 10
	// MaxUserPriority is the maximum allowed user priority.
	MaxUserPriority = 1000
)

Variables

View Source
var (
	ErrInvalidLengthApi = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowApi   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	// RKeyMin is a minimum key value which sorts before all other keys.
	RKeyMin = RKey("")
	// KeyMin is a minimum key value which sorts before all other keys.
	KeyMin = Key(RKeyMin)
	// RKeyMax is a maximum key value which sorts after all other keys.
	RKeyMax = RKey{0xff, 0xff}
	// KeyMax is a maximum key value which sorts after all other keys.
	KeyMax = Key(RKeyMax)

	// PrettyPrintKey is a function to print key with human readable format
	// it's implement at package git.com/cockroachdb/cockroach/keys to avoid package circle import
	PrettyPrintKey func(key Key) string
)
View Source
var (
	// MaxTimestamp is the max value allowed for Timestamp.
	MaxTimestamp = Timestamp{WallTime: math.MaxInt64, Logical: math.MaxInt32}
	// MinTimestamp is the min value allowed for Timestamp.
	MinTimestamp = Timestamp{WallTime: 0, Logical: 1}
	// ZeroTimestamp is an empty timestamp.
	ZeroTimestamp = Timestamp{WallTime: 0, Logical: 0}
)

Timestamp constant values.

View Source
var (
	ErrInvalidLengthData = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowData   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthErrors = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowErrors   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthInternal = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowInternal   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthInternalRaft = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowInternalRaft   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthMetadata = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowMetadata   = fmt.Errorf("proto: integer overflow")
)
View Source
var IsolationType_name = map[int32]string{
	0: "SERIALIZABLE",
	1: "SNAPSHOT",
}
View Source
var IsolationType_value = map[string]int32{
	"SERIALIZABLE": 0,
	"SNAPSHOT":     1,
}
View Source
var PushTxnType_name = map[int32]string{
	0: "PUSH_TIMESTAMP",
	1: "PUSH_ABORT",
	2: "PUSH_TOUCH",
	3: "PUSH_QUERY",
}
View Source
var PushTxnType_value = map[string]int32{
	"PUSH_TIMESTAMP": 0,
	"PUSH_ABORT":     1,
	"PUSH_TOUCH":     2,
	"PUSH_QUERY":     3,
}
View Source
var ReadConsistencyType_name = map[int32]string{
	0: "CONSISTENT",
	1: "CONSENSUS",
	2: "INCONSISTENT",
}
View Source
var ReadConsistencyType_value = map[string]int32{
	"CONSISTENT":   0,
	"CONSENSUS":    1,
	"INCONSISTENT": 2,
}
View Source
var ReplicaChangeType_name = map[int32]string{
	0: "ADD_REPLICA",
	1: "REMOVE_REPLICA",
}
View Source
var ReplicaChangeType_value = map[string]int32{
	"ADD_REPLICA":    0,
	"REMOVE_REPLICA": 1,
}
View Source
var TransactionRestart_name = map[int32]string{
	0: "NONE",
	1: "BACKOFF",
	2: "IMMEDIATE",
}
View Source
var TransactionRestart_value = map[string]int32{
	"NONE":      0,
	"BACKOFF":   1,
	"IMMEDIATE": 2,
}
View Source
var TransactionStatus_name = map[int32]string{
	0: "PENDING",
	1: "COMMITTED",
	2: "ABORTED",
}
View Source
var TransactionStatus_value = map[string]int32{
	"PENDING":   0,
	"COMMITTED": 1,
	"ABORTED":   2,
}
View Source
var ValueType_name = map[int32]string{
	0:   "UNKNOWN",
	7:   "NULL",
	1:   "INT",
	2:   "FLOAT",
	3:   "BYTES",
	8:   "DELIMITED_BYTES",
	4:   "TIME",
	5:   "DECIMAL",
	9:   "DELIMITED_DECIMAL",
	6:   "DURATION",
	10:  "TUPLE",
	100: "TIMESERIES",
}
View Source
var ValueType_value = map[string]int32{
	"UNKNOWN":           0,
	"NULL":              7,
	"INT":               1,
	"FLOAT":             2,
	"BYTES":             3,
	"DELIMITED_BYTES":   8,
	"TIME":              4,
	"DECIMAL":           5,
	"DELIMITED_DECIMAL": 9,
	"DURATION":          6,
	"TUPLE":             10,
	"TIMESERIES":        100,
}

Functions

func BytesNext

func BytesNext(b []byte) []byte

BytesNext returns the next possible byte slice, using the extra capacity of the provided slice if possible, and if not, appending an \x00.

func DecodeBytesValue

func DecodeBytesValue(b []byte) ([]byte, []byte, error)

DecodeBytesValue decodes a value encoded by EncodeBytesValue.

func DecodeDecimalValue

func DecodeDecimalValue(b []byte) ([]byte, *inf.Dec, error)

DecodeDecimalValue decodes a value encoded by EncodeDecimalValue.

func DecodeDurationValue

func DecodeDurationValue(b []byte) ([]byte, duration.Duration, error)

DecodeDurationValue decodes a value encoded by EncodeDurationValue.

func DecodeFloatValue

func DecodeFloatValue(b []byte) ([]byte, float64, error)

DecodeFloatValue decodes a value encoded by EncodeFloatValue.

func DecodeIntValue

func DecodeIntValue(b []byte) ([]byte, int64, error)

DecodeIntValue decodes a value encoded by EncodeIntValue.

func DecodeTimeValue

func DecodeTimeValue(b []byte) ([]byte, time.Time, error)

DecodeTimeValue decodes a value encoded by EncodeTimeValue.

func EncodeBytesValue

func EncodeBytesValue(appendTo []byte, data []byte, delimited bool) []byte

EncodeBytesValue encodes a byte array value, appends it to the supplied buffer, and returns the final buffer.

func EncodeDecimalValue

func EncodeDecimalValue(appendTo []byte, d *inf.Dec, delimited bool) []byte

EncodeDecimalValue encodes an inf.Dec value, appends it to the supplied buffer, and returns the final buffer.

func EncodeDurationValue

func EncodeDurationValue(appendTo []byte, d duration.Duration) ([]byte, error)

EncodeDurationValue encodes a duration.Duration value, appends it to the supplied buffer, and returns the final buffer.

func EncodeFloatValue

func EncodeFloatValue(appendTo []byte, f float64) []byte

EncodeFloatValue encodes a float value, appends it to the supplied buffer, and returns the final buffer.

func EncodeIntValue

func EncodeIntValue(appendTo []byte, i int64) []byte

EncodeIntValue encodes an int value, appends it to the supplied buffer, and returns the final buffer.

func EncodeTimeValue

func EncodeTimeValue(appendTo []byte, t time.Time) []byte

EncodeTimeValue encodes a time.Time value, appends it to the supplied buffer, and returns the final buffer.

func ErrorUnexpectedlySet

func ErrorUnexpectedlySet(culprit, response interface{}) string

ErrorUnexpectedlySet creates a string to panic with when a response (typically a roachpb.BatchResponse) unexpectedly has Error set in its response header.

func IsRange

func IsRange(args Request) bool

IsRange returns true if the operation is range-based and must include a start and an end key.

func IsReadOnly

func IsReadOnly(args Request) bool

IsReadOnly returns true iff the request is read-only.

func IsTransactionWrite

func IsTransactionWrite(args Request) bool

IsTransactionWrite returns true if the request produces write intents when used within a transaction.

func MakePriority

func MakePriority(userPriority UserPriority) int32

MakePriority generates a random priority value, biased by the specified userPriority. If userPriority=100, the random priority will be 100x more likely to be greater than if userPriority=1. If userPriority = 0.1, the random priority will be 1/10th as likely to be greater than if userPriority=1. Balance is achieved when userPriority=1, in which case the priority chosen is unbiased.

func MergeSpans

func MergeSpans(spans *[]Span) bool

MergeSpans sorts the incoming spans and merges overlapping spans. Returns true iff all of the spans are distinct.

func PeekValueLength

func PeekValueLength(b []byte) (int, error)

PeekValueLength returns the length of the encoded value at the start of b. Note: If this function succeeds, it's not a guarantee that decoding the value will succeed.

func RegisterExternalServer

func RegisterExternalServer(s *grpc.Server, srv ExternalServer)

func RegisterInternalServer

func RegisterInternalServer(s *grpc.Server, srv InternalServer)

func TxnIDEqual

func TxnIDEqual(a, b *uuid.UUID) bool

TxnIDEqual returns whether the transaction IDs are equal.

Types

type AbortCacheEntry

type AbortCacheEntry struct {
	// The key of the associated transaction.
	Key Key `protobuf:"bytes,1,opt,name=key,casttype=Key" json:"key,omitempty"`
	// The candidate commit timestamp the transaction record held at the time
	// it was aborted.
	Timestamp Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp"`
	// The priority of the transaction.
	Priority int32 `protobuf:"varint,3,opt,name=priority" json:"priority"`
}

AbortCacheEntry contains information about a transaction which has been aborted. It's written to a range's abort cache if the range may have contained intents of the aborted txn. In the event that the same transaction attempts to read keys it may have written previously, this entry informs the transaction that it has aborted and must start fresh with an updated priority.

func NewPopulatedAbortCacheEntry

func NewPopulatedAbortCacheEntry(r randyData, easy bool) *AbortCacheEntry

func (*AbortCacheEntry) Descriptor

func (*AbortCacheEntry) Descriptor() ([]byte, []int)

func (*AbortCacheEntry) Marshal

func (m *AbortCacheEntry) Marshal() (data []byte, err error)

func (*AbortCacheEntry) MarshalTo

func (m *AbortCacheEntry) MarshalTo(data []byte) (int, error)

func (*AbortCacheEntry) ProtoMessage

func (*AbortCacheEntry) ProtoMessage()

func (*AbortCacheEntry) Reset

func (m *AbortCacheEntry) Reset()

func (*AbortCacheEntry) Size

func (m *AbortCacheEntry) Size() (n int)

func (*AbortCacheEntry) String

func (m *AbortCacheEntry) String() string

func (*AbortCacheEntry) Unmarshal

func (m *AbortCacheEntry) Unmarshal(data []byte) error

type AdminMergeRequest

type AdminMergeRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

An AdminMergeRequest is the argument to the AdminMerge() method. A merge is performed by calling AdminMerge on the left-hand range of two consecutive ranges (i.e. the range which contains keys which sort first). This range will be the subsuming range and the right hand range will be subsumed. After the merge operation, the subsumed range will no longer exist and the subsuming range will now encompass all keys from its original start key to the end key of the subsumed range. If AdminMerge is called on the final range in the key space, it is a noop.

func (*AdminMergeRequest) Descriptor

func (*AdminMergeRequest) Descriptor() ([]byte, []int)

func (*AdminMergeRequest) Marshal

func (m *AdminMergeRequest) Marshal() (data []byte, err error)

func (*AdminMergeRequest) MarshalTo

func (m *AdminMergeRequest) MarshalTo(data []byte) (int, error)

func (*AdminMergeRequest) Method

func (*AdminMergeRequest) Method() Method

Method implements the Request interface.

func (*AdminMergeRequest) ProtoMessage

func (*AdminMergeRequest) ProtoMessage()

func (*AdminMergeRequest) Reset

func (m *AdminMergeRequest) Reset()

func (*AdminMergeRequest) ShallowCopy

func (amr *AdminMergeRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*AdminMergeRequest) Size

func (m *AdminMergeRequest) Size() (n int)

func (*AdminMergeRequest) String

func (m *AdminMergeRequest) String() string

func (*AdminMergeRequest) Unmarshal

func (m *AdminMergeRequest) Unmarshal(data []byte) error

type AdminMergeResponse

type AdminMergeResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

An AdminMergeResponse is the return value from the AdminMerge() method.

func (*AdminMergeResponse) Descriptor

func (*AdminMergeResponse) Descriptor() ([]byte, []int)

func (*AdminMergeResponse) Marshal

func (m *AdminMergeResponse) Marshal() (data []byte, err error)

func (*AdminMergeResponse) MarshalTo

func (m *AdminMergeResponse) MarshalTo(data []byte) (int, error)

func (*AdminMergeResponse) ProtoMessage

func (*AdminMergeResponse) ProtoMessage()

func (*AdminMergeResponse) Reset

func (m *AdminMergeResponse) Reset()

func (*AdminMergeResponse) Size

func (m *AdminMergeResponse) Size() (n int)

func (*AdminMergeResponse) String

func (m *AdminMergeResponse) String() string

func (*AdminMergeResponse) Unmarshal

func (m *AdminMergeResponse) Unmarshal(data []byte) error

type AdminSplitRequest

type AdminSplitRequest struct {
	Span     `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	SplitKey Key `protobuf:"bytes,2,opt,name=split_key,json=splitKey,casttype=Key" json:"split_key,omitempty"`
}

An AdminSplitRequest is the argument to the AdminSplit() method. The existing range which contains header.key is split by split_key. If split_key is not specified, then this method will determine a split key that is roughly halfway through the range. The existing range is resized to cover only its start key to the split key. The new range created by the split starts at the split key and extends to the original range's end key. If split_key is known, header.key should also be set to split_key.

New range IDs for each of the split range's replica and a new Raft ID are generated by the operation. Split requests are done in the context of a distributed transaction which updates range addressing records, range metadata and finally, provides a commit trigger to update bookkeeping and instantiate the new range on commit.

The new range contains range replicas located on the same stores; no range data is moved during this operation. The split can be thought of as a mostly logical operation, though some other metadata (e.g. sequence cache and range stats must be copied or recomputed).

func (*AdminSplitRequest) Descriptor

func (*AdminSplitRequest) Descriptor() ([]byte, []int)

func (*AdminSplitRequest) Marshal

func (m *AdminSplitRequest) Marshal() (data []byte, err error)

func (*AdminSplitRequest) MarshalTo

func (m *AdminSplitRequest) MarshalTo(data []byte) (int, error)

func (*AdminSplitRequest) Method

func (*AdminSplitRequest) Method() Method

Method implements the Request interface.

func (*AdminSplitRequest) ProtoMessage

func (*AdminSplitRequest) ProtoMessage()

func (*AdminSplitRequest) Reset

func (m *AdminSplitRequest) Reset()

func (*AdminSplitRequest) ShallowCopy

func (asr *AdminSplitRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*AdminSplitRequest) Size

func (m *AdminSplitRequest) Size() (n int)

func (*AdminSplitRequest) String

func (m *AdminSplitRequest) String() string

func (*AdminSplitRequest) Unmarshal

func (m *AdminSplitRequest) Unmarshal(data []byte) error

type AdminSplitResponse

type AdminSplitResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

An AdminSplitResponse is the return value from the AdminSplit() method.

func (*AdminSplitResponse) Descriptor

func (*AdminSplitResponse) Descriptor() ([]byte, []int)

func (*AdminSplitResponse) Marshal

func (m *AdminSplitResponse) Marshal() (data []byte, err error)

func (*AdminSplitResponse) MarshalTo

func (m *AdminSplitResponse) MarshalTo(data []byte) (int, error)

func (*AdminSplitResponse) ProtoMessage

func (*AdminSplitResponse) ProtoMessage()

func (*AdminSplitResponse) Reset

func (m *AdminSplitResponse) Reset()

func (*AdminSplitResponse) Size

func (m *AdminSplitResponse) Size() (n int)

func (*AdminSplitResponse) String

func (m *AdminSplitResponse) String() string

func (*AdminSplitResponse) Unmarshal

func (m *AdminSplitResponse) Unmarshal(data []byte) error

type Attributes

type Attributes struct {
	Attrs []string `protobuf:"bytes,1,rep,name=attrs" json:"attrs,omitempty" yaml:"attrs,flow"`
}

Attributes specifies a list of arbitrary strings describing node topology, store type, and machine capabilities.

func (*Attributes) Descriptor

func (*Attributes) Descriptor() ([]byte, []int)

func (Attributes) IsSubset

func (a Attributes) IsSubset(b Attributes) bool

IsSubset returns whether attributes list a is a subset of attributes list b.

func (*Attributes) Marshal

func (m *Attributes) Marshal() (data []byte, err error)

func (*Attributes) MarshalTo

func (m *Attributes) MarshalTo(data []byte) (int, error)

func (*Attributes) ProtoMessage

func (*Attributes) ProtoMessage()

func (*Attributes) Reset

func (m *Attributes) Reset()

func (*Attributes) Size

func (m *Attributes) Size() (n int)

func (Attributes) SortedString

func (a Attributes) SortedString() string

SortedString returns a sorted, de-duplicated, comma-separated list of the attributes.

func (Attributes) String

func (a Attributes) String() string

func (*Attributes) Unmarshal

func (m *Attributes) Unmarshal(data []byte) error

type BatchRequest

type BatchRequest struct {
	Header   `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Requests []RequestUnion `protobuf:"bytes,2,rep,name=requests" json:"requests"`
}

A BatchRequest contains one or more requests to be executed in parallel, or if applicable (based on write-only commands and range-locality), as a single update.

func (*BatchRequest) Add

func (ba *BatchRequest) Add(requests ...Request)

Add adds a request to the batch request. It's a convenience method; requests may also be added directly into the slice.

func (*BatchRequest) CreateReply

func (ba *BatchRequest) CreateReply() *BatchResponse

CreateReply creates replies for each of the contained requests, wrapped in a BatchResponse. The response objects are batch allocated to minimize allocation overhead which adds a bit of complexity to this function.

func (*BatchRequest) Descriptor

func (*BatchRequest) Descriptor() ([]byte, []int)

func (*BatchRequest) GetArg

func (ba *BatchRequest) GetArg(method Method) (Request, bool)

GetArg returns a request of the given type if one is contained in the Batch. The request returned is the first of its kind, with the exception of EndTransaction, where it examines the very last request only.

func (*BatchRequest) GetUser

func (*BatchRequest) GetUser() string

GetUser implements security.RequestWithUser. KV messages are always sent by the node user.

func (*BatchRequest) IntentSpanIterate

func (ba *BatchRequest) IntentSpanIterate(fn func(key, endKey Key))

IntentSpanIterate calls the passed method with the key ranges of the transactional writes contained in the batch.

func (*BatchRequest) IsAdmin

func (ba *BatchRequest) IsAdmin() bool

IsAdmin returns true iff the BatchRequest contains an admin request.

func (*BatchRequest) IsFreeze

func (ba *BatchRequest) IsFreeze() bool

IsFreeze returns whether the batch consists of a single ChangeFrozen request.

func (*BatchRequest) IsLease

func (ba *BatchRequest) IsLease() bool

IsLease returns whether the batch consists of a single LeaderLease request.

func (*BatchRequest) IsPossibleTransaction

func (ba *BatchRequest) IsPossibleTransaction() bool

IsPossibleTransaction returns true iff the BatchRequest contains requests that can be part of a transaction.

func (*BatchRequest) IsReadOnly

func (ba *BatchRequest) IsReadOnly() bool

IsReadOnly returns true if all requests within are read-only.

func (*BatchRequest) IsReverse

func (ba *BatchRequest) IsReverse() bool

IsReverse returns true iff the BatchRequest contains a reverse request.

func (*BatchRequest) IsTransactionWrite

func (ba *BatchRequest) IsTransactionWrite() bool

IsTransactionWrite returns true iff the BatchRequest contains a txn write.

func (*BatchRequest) IsWrite

func (ba *BatchRequest) IsWrite() bool

IsWrite returns true iff the BatchRequest contains a write.

func (*BatchRequest) Marshal

func (m *BatchRequest) Marshal() (data []byte, err error)

func (*BatchRequest) MarshalTo

func (m *BatchRequest) MarshalTo(data []byte) (int, error)

func (*BatchRequest) Methods

func (ba *BatchRequest) Methods() []Method

Methods returns a slice of the contained methods.

func (*BatchRequest) ProtoMessage

func (*BatchRequest) ProtoMessage()

func (*BatchRequest) Reset

func (m *BatchRequest) Reset()

func (*BatchRequest) SetActiveTimestamp

func (ba *BatchRequest) SetActiveTimestamp(nowFn func() Timestamp) error

SetActiveTimestamp sets the correct timestamp at which the request is to be carried out. For transactional requests, ba.Timestamp must be zero initially and it will be set to txn.OrigTimestamp. For non-transactional requests, if no timestamp is specified, nowFn is used to create and set one.

func (*BatchRequest) SetNewRequest

func (ba *BatchRequest) SetNewRequest()

SetNewRequest increases the internal sequence counter of this batch request. The sequence counter is used for replay and reordering protection. At the Store, a sequence counter less than or equal to the last observed one incurs a transaction restart (if the request is transactional).

func (*BatchRequest) Size

func (m *BatchRequest) Size() (n int)

func (BatchRequest) Split

func (ba BatchRequest) Split(canSplitET bool) [][]RequestUnion

Split separates the requests contained in a batch so that each subset of requests can be executed by a Store (without changing order). In particular, Admin requests are always singled out and mutating requests separated from reads. The boolean parameter indicates whether EndTransaction should be special-cased: If false, an EndTransaction request will never be split into a new chunk (otherwise, it is treated according to its flags). This allows sending a whole transaction in a single Batch when addressing a single range.

func (BatchRequest) String

func (ba BatchRequest) String() string

String gives a brief summary of the contained requests and keys in the batch. TODO(tschottdorf): the key range is useful information, but requires `keys`. See #2198.

func (*BatchRequest) Unmarshal

func (m *BatchRequest) Unmarshal(data []byte) error

type BatchResponse

type BatchResponse struct {
	BatchResponse_Header `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Responses            []ResponseUnion `protobuf:"bytes,2,rep,name=responses" json:"responses"`
}

A BatchResponse contains one or more responses, one per request corresponding to the requests in the matching BatchRequest. The error in the response header is set to the first error from the slice of responses, if applicable.

func (*BatchResponse) Add

func (br *BatchResponse) Add(reply Response)

Add adds a response to the batch response. It's a convenience method; responses may also be added directly.

func (*BatchResponse) Combine

func (br *BatchResponse) Combine(otherBatch *BatchResponse) error

Combine implements the Combinable interface. It combines each slot of the given request into the corresponding slot of the base response. The number of slots must be equal and the respective slots must be combinable. On error, the receiver BatchResponse is in an invalid state. TODO(tschottdorf): write tests.

func (*BatchResponse) Descriptor

func (*BatchResponse) Descriptor() ([]byte, []int)

func (*BatchResponse) Marshal

func (m *BatchResponse) Marshal() (data []byte, err error)

func (*BatchResponse) MarshalTo

func (m *BatchResponse) MarshalTo(data []byte) (int, error)

func (*BatchResponse) ProtoMessage

func (*BatchResponse) ProtoMessage()

func (*BatchResponse) Reset

func (m *BatchResponse) Reset()

func (*BatchResponse) Size

func (m *BatchResponse) Size() (n int)

func (*BatchResponse) String

func (br *BatchResponse) String() string

func (*BatchResponse) Unmarshal

func (m *BatchResponse) Unmarshal(data []byte) error

type BatchResponse_Header

type BatchResponse_Header struct {
	// error is non-nil if an error occurred.
	Error *Error `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	// timestamp is set only for non-transactional responses and denotes the
	// highest timestamp at which a command from the batch executed. At the
	// time of writing, it is used solely for informational purposes and tests.
	Timestamp Timestamp `protobuf:"bytes,2,opt,name=Timestamp,json=timestamp" json:"Timestamp"`
	// txn is non-nil if the request specified a non-nil
	// transaction. The transaction timestamp and/or priority may have
	// been updated, depending on the outcome of the request.
	Txn *Transaction `protobuf:"bytes,3,opt,name=txn" json:"txn,omitempty"`
	// collected_spans is a binary representation of the trace spans
	// generated during the execution of this request.
	CollectedSpans [][]byte `protobuf:"bytes,4,rep,name=collected_spans,json=collectedSpans" json:"collected_spans,omitempty"`
	// now is the current time at the node sending the response,
	// which can be used by the receiver to update its local HLC.
	Now Timestamp `protobuf:"bytes,5,opt,name=now" json:"now"`
}

func (*BatchResponse_Header) Descriptor

func (*BatchResponse_Header) Descriptor() ([]byte, []int)

func (*BatchResponse_Header) Marshal

func (m *BatchResponse_Header) Marshal() (data []byte, err error)

func (*BatchResponse_Header) MarshalTo

func (m *BatchResponse_Header) MarshalTo(data []byte) (int, error)

func (*BatchResponse_Header) ProtoMessage

func (*BatchResponse_Header) ProtoMessage()

func (*BatchResponse_Header) Reset

func (m *BatchResponse_Header) Reset()

func (*BatchResponse_Header) Size

func (m *BatchResponse_Header) Size() (n int)

func (*BatchResponse_Header) String

func (m *BatchResponse_Header) String() string

func (*BatchResponse_Header) Unmarshal

func (m *BatchResponse_Header) Unmarshal(data []byte) error

type BeginTransactionRequest

type BeginTransactionRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A BeginTransactionRequest is the argument to the BeginTransaction() method.

func (*BeginTransactionRequest) Descriptor

func (*BeginTransactionRequest) Descriptor() ([]byte, []int)

func (*BeginTransactionRequest) Marshal

func (m *BeginTransactionRequest) Marshal() (data []byte, err error)

func (*BeginTransactionRequest) MarshalTo

func (m *BeginTransactionRequest) MarshalTo(data []byte) (int, error)

func (*BeginTransactionRequest) Method

func (*BeginTransactionRequest) Method() Method

Method implements the Request interface.

func (*BeginTransactionRequest) ProtoMessage

func (*BeginTransactionRequest) ProtoMessage()

func (*BeginTransactionRequest) Reset

func (m *BeginTransactionRequest) Reset()

func (*BeginTransactionRequest) ShallowCopy

func (btr *BeginTransactionRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*BeginTransactionRequest) Size

func (m *BeginTransactionRequest) Size() (n int)

func (*BeginTransactionRequest) String

func (m *BeginTransactionRequest) String() string

func (*BeginTransactionRequest) Unmarshal

func (m *BeginTransactionRequest) Unmarshal(data []byte) error

type BeginTransactionResponse

type BeginTransactionResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A BeginTransactionResponse is the return value from the BeginTransaction() method.

func (*BeginTransactionResponse) Descriptor

func (*BeginTransactionResponse) Descriptor() ([]byte, []int)

func (*BeginTransactionResponse) Marshal

func (m *BeginTransactionResponse) Marshal() (data []byte, err error)

func (*BeginTransactionResponse) MarshalTo

func (m *BeginTransactionResponse) MarshalTo(data []byte) (int, error)

func (*BeginTransactionResponse) ProtoMessage

func (*BeginTransactionResponse) ProtoMessage()

func (*BeginTransactionResponse) Reset

func (m *BeginTransactionResponse) Reset()

func (*BeginTransactionResponse) Size

func (m *BeginTransactionResponse) Size() (n int)

func (*BeginTransactionResponse) String

func (m *BeginTransactionResponse) String() string

func (*BeginTransactionResponse) Unmarshal

func (m *BeginTransactionResponse) Unmarshal(data []byte) error

type Bounded

type Bounded interface {
	GetBound() int64
	SetBound(bound int64)
}

Bounded is implemented by request types which have a bounded number of result rows, such as Scan.

type ChangeFrozenRequest

type ChangeFrozenRequest struct {
	Span   `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Frozen bool `protobuf:"varint,2,opt,name=frozen" json:"frozen"`
	// When freezing, the version all Replicas be running. On mismatch, the Replica
	// must stall itself as it may already have diverged due to version skew.
	MustVersion string `protobuf:"bytes,3,opt,name=must_version,json=mustVersion" json:"must_version"`
}

ChangeFrozenRequest idempotently freezes or unfreezes all of the Ranges whose whose StartKey is contained in the specified range. For example with ranges [a,c), [c,g) and [g,z), a request for [b,e) would affect [c,g) only.

func (*ChangeFrozenRequest) Descriptor

func (*ChangeFrozenRequest) Descriptor() ([]byte, []int)

func (*ChangeFrozenRequest) Marshal

func (m *ChangeFrozenRequest) Marshal() (data []byte, err error)

func (*ChangeFrozenRequest) MarshalTo

func (m *ChangeFrozenRequest) MarshalTo(data []byte) (int, error)

func (*ChangeFrozenRequest) Method

func (*ChangeFrozenRequest) Method() Method

Method implements the Request interface.

func (*ChangeFrozenRequest) ProtoMessage

func (*ChangeFrozenRequest) ProtoMessage()

func (*ChangeFrozenRequest) Reset

func (m *ChangeFrozenRequest) Reset()

func (*ChangeFrozenRequest) ShallowCopy

func (afr *ChangeFrozenRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*ChangeFrozenRequest) Size

func (m *ChangeFrozenRequest) Size() (n int)

func (*ChangeFrozenRequest) String

func (m *ChangeFrozenRequest) String() string

func (*ChangeFrozenRequest) Unmarshal

func (m *ChangeFrozenRequest) Unmarshal(data []byte) error

type ChangeFrozenResponse

type ChangeFrozenResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// The number of Ranges whose state changed (i.e. from unfrozen to frozen or
	// vice versa) as a result of the operation.
	RangesAffected int64 `protobuf:"varint,2,opt,name=ranges_affected,json=rangesAffected" json:"ranges_affected"`
	// The StartKey of the first Range (i.e. the one sorting first) encountered
	// during execution (regardless of whether the command had any effect on that
	// specific Range).
	MinStartKey RKey `protobuf:"bytes,3,opt,name=min_start_key,json=minStartKey,casttype=RKey" json:"min_start_key,omitempty"`
	// The StoreIDs to which this request applies (i.e. all StoreIDs which had
	// a Replica on which the command should execute, even when already
	// frozen).
	Stores map[StoreID]NodeID `` /* 157-byte string literal not displayed */
}

ChangeFrozenResponse is the return value from the ChangeFrozen() method.

func (*ChangeFrozenResponse) Descriptor

func (*ChangeFrozenResponse) Descriptor() ([]byte, []int)

func (*ChangeFrozenResponse) Marshal

func (m *ChangeFrozenResponse) Marshal() (data []byte, err error)

func (*ChangeFrozenResponse) MarshalTo

func (m *ChangeFrozenResponse) MarshalTo(data []byte) (int, error)

func (*ChangeFrozenResponse) ProtoMessage

func (*ChangeFrozenResponse) ProtoMessage()

func (*ChangeFrozenResponse) Reset

func (m *ChangeFrozenResponse) Reset()

func (*ChangeFrozenResponse) Size

func (m *ChangeFrozenResponse) Size() (n int)

func (*ChangeFrozenResponse) String

func (m *ChangeFrozenResponse) String() string

func (*ChangeFrozenResponse) Unmarshal

func (m *ChangeFrozenResponse) Unmarshal(data []byte) error

type ChangeReplicasTrigger

type ChangeReplicasTrigger struct {
	ChangeType ReplicaChangeType `protobuf:"varint,1,opt,name=change_type,json=changeType,enum=cockroach.roachpb.ReplicaChangeType" json:"change_type"`
	// The replica being modified.
	Replica ReplicaDescriptor `protobuf:"bytes,2,opt,name=replica" json:"replica"`
	// The new replica list with this change applied.
	UpdatedReplicas []ReplicaDescriptor `protobuf:"bytes,3,rep,name=updated_replicas,json=updatedReplicas" json:"updated_replicas"`
	NextReplicaID   ReplicaID           `protobuf:"varint,4,opt,name=next_replica_id,json=nextReplicaId,casttype=ReplicaID" json:"next_replica_id"`
}

func (*ChangeReplicasTrigger) Descriptor

func (*ChangeReplicasTrigger) Descriptor() ([]byte, []int)

func (*ChangeReplicasTrigger) Marshal

func (m *ChangeReplicasTrigger) Marshal() (data []byte, err error)

func (*ChangeReplicasTrigger) MarshalTo

func (m *ChangeReplicasTrigger) MarshalTo(data []byte) (int, error)

func (*ChangeReplicasTrigger) ProtoMessage

func (*ChangeReplicasTrigger) ProtoMessage()

func (*ChangeReplicasTrigger) Reset

func (m *ChangeReplicasTrigger) Reset()

func (*ChangeReplicasTrigger) Size

func (m *ChangeReplicasTrigger) Size() (n int)

func (*ChangeReplicasTrigger) String

func (m *ChangeReplicasTrigger) String() string

func (*ChangeReplicasTrigger) Unmarshal

func (m *ChangeReplicasTrigger) Unmarshal(data []byte) error

type CheckConsistencyRequest

type CheckConsistencyRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// log a diff of inconsistencies if such inconsistencies are found.
	WithDiff bool `protobuf:"varint,2,opt,name=with_diff,json=withDiff" json:"with_diff"`
}

A CheckConsistencyRequest is the argument to the CheckConsistency() method. It specifies the start and end keys for a span of ranges to which a consistency check should be applied. A consistency check on a range involves running a ComputeChecksum on the range followed by a VerifyChecksum.

func (*CheckConsistencyRequest) Descriptor

func (*CheckConsistencyRequest) Descriptor() ([]byte, []int)

func (*CheckConsistencyRequest) Marshal

func (m *CheckConsistencyRequest) Marshal() (data []byte, err error)

func (*CheckConsistencyRequest) MarshalTo

func (m *CheckConsistencyRequest) MarshalTo(data []byte) (int, error)

func (*CheckConsistencyRequest) Method

func (*CheckConsistencyRequest) Method() Method

Method implements the Request interface.

func (*CheckConsistencyRequest) ProtoMessage

func (*CheckConsistencyRequest) ProtoMessage()

func (*CheckConsistencyRequest) Reset

func (m *CheckConsistencyRequest) Reset()

func (*CheckConsistencyRequest) ShallowCopy

func (ccr *CheckConsistencyRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*CheckConsistencyRequest) Size

func (m *CheckConsistencyRequest) Size() (n int)

func (*CheckConsistencyRequest) String

func (m *CheckConsistencyRequest) String() string

func (*CheckConsistencyRequest) Unmarshal

func (m *CheckConsistencyRequest) Unmarshal(data []byte) error

type CheckConsistencyResponse

type CheckConsistencyResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A CheckConsistencyResponse is the return value from the CheckConsistency() method. If a replica finds itself to be inconsistent with its leader it will panic.

func (*CheckConsistencyResponse) Descriptor

func (*CheckConsistencyResponse) Descriptor() ([]byte, []int)

func (*CheckConsistencyResponse) Marshal

func (m *CheckConsistencyResponse) Marshal() (data []byte, err error)

func (*CheckConsistencyResponse) MarshalTo

func (m *CheckConsistencyResponse) MarshalTo(data []byte) (int, error)

func (*CheckConsistencyResponse) ProtoMessage

func (*CheckConsistencyResponse) ProtoMessage()

func (*CheckConsistencyResponse) Reset

func (m *CheckConsistencyResponse) Reset()

func (*CheckConsistencyResponse) Size

func (m *CheckConsistencyResponse) Size() (n int)

func (*CheckConsistencyResponse) String

func (m *CheckConsistencyResponse) String() string

func (*CheckConsistencyResponse) Unmarshal

func (m *CheckConsistencyResponse) Unmarshal(data []byte) error

type ComputeChecksumRequest

type ComputeChecksumRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// The version used to pick the checksum method. It allows us to use a
	// consistent checksumming method across replicas.
	Version uint32 `protobuf:"varint,2,opt,name=version" json:"version"`
	// A unique identifier to match a future VerifyChecksumRequest with this request.
	ChecksumID github_com_cockroachdb_cockroach_util_uuid.UUID `` /* 133-byte string literal not displayed */
	// Compute a checksum along with a snapshot of the entire range, that will
	// be used in logging a diff during checksum verification.
	Snapshot bool `protobuf:"varint,4,opt,name=snapshot" json:"snapshot"`
}

A ComputeChecksumRequest is arguments to the ComputeChecksum() method, to start computing the checksum for the specified range at the snapshot for this request command. A response is returned without the checksum. The computed checksum is later compared to the one supplied through a VerifyChecksumRequest.

func (*ComputeChecksumRequest) Descriptor

func (*ComputeChecksumRequest) Descriptor() ([]byte, []int)

func (*ComputeChecksumRequest) Marshal

func (m *ComputeChecksumRequest) Marshal() (data []byte, err error)

func (*ComputeChecksumRequest) MarshalTo

func (m *ComputeChecksumRequest) MarshalTo(data []byte) (int, error)

func (*ComputeChecksumRequest) Method

func (*ComputeChecksumRequest) Method() Method

Method implements the Request interface.

func (*ComputeChecksumRequest) ProtoMessage

func (*ComputeChecksumRequest) ProtoMessage()

func (*ComputeChecksumRequest) Reset

func (m *ComputeChecksumRequest) Reset()

func (*ComputeChecksumRequest) ShallowCopy

func (ccr *ComputeChecksumRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*ComputeChecksumRequest) Size

func (m *ComputeChecksumRequest) Size() (n int)

func (*ComputeChecksumRequest) String

func (m *ComputeChecksumRequest) String() string

func (*ComputeChecksumRequest) Unmarshal

func (m *ComputeChecksumRequest) Unmarshal(data []byte) error

type ComputeChecksumResponse

type ComputeChecksumResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A ComputeChecksumResponse is the response to a ComputeChecksum() operation.

func (*ComputeChecksumResponse) Descriptor

func (*ComputeChecksumResponse) Descriptor() ([]byte, []int)

func (*ComputeChecksumResponse) Marshal

func (m *ComputeChecksumResponse) Marshal() (data []byte, err error)

func (*ComputeChecksumResponse) MarshalTo

func (m *ComputeChecksumResponse) MarshalTo(data []byte) (int, error)

func (*ComputeChecksumResponse) ProtoMessage

func (*ComputeChecksumResponse) ProtoMessage()

func (*ComputeChecksumResponse) Reset

func (m *ComputeChecksumResponse) Reset()

func (*ComputeChecksumResponse) Size

func (m *ComputeChecksumResponse) Size() (n int)

func (*ComputeChecksumResponse) String

func (m *ComputeChecksumResponse) String() string

func (*ComputeChecksumResponse) Unmarshal

func (m *ComputeChecksumResponse) Unmarshal(data []byte) error

type ConditionFailedError

type ConditionFailedError struct {
	ActualValue *Value `protobuf:"bytes,1,opt,name=actual_value,json=actualValue" json:"actual_value,omitempty"`
}

A ConditionFailedError indicates that the expected value of a ConditionalPutRequest was not found, either because it was missing or was not equal. The error will contain the actual value found.

func (*ConditionFailedError) Descriptor

func (*ConditionFailedError) Descriptor() ([]byte, []int)

func (*ConditionFailedError) Error

func (e *ConditionFailedError) Error() string

func (*ConditionFailedError) Marshal

func (m *ConditionFailedError) Marshal() (data []byte, err error)

func (*ConditionFailedError) MarshalTo

func (m *ConditionFailedError) MarshalTo(data []byte) (int, error)

func (*ConditionFailedError) ProtoMessage

func (*ConditionFailedError) ProtoMessage()

func (*ConditionFailedError) Reset

func (m *ConditionFailedError) Reset()

func (*ConditionFailedError) Size

func (m *ConditionFailedError) Size() (n int)

func (*ConditionFailedError) String

func (m *ConditionFailedError) String() string

func (*ConditionFailedError) Unmarshal

func (m *ConditionFailedError) Unmarshal(data []byte) error

type ConditionalPutRequest

type ConditionalPutRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// The value to put.
	Value Value `protobuf:"bytes,2,opt,name=value" json:"value"`
	// Set exp_value.bytes empty to test for non-existence. Specify as nil
	// to indicate there should be no existing entry. This is different
	// from the expectation that the value exists but is empty.
	ExpValue *Value `protobuf:"bytes,3,opt,name=exp_value,json=expValue" json:"exp_value,omitempty"`
	// NOTE: For internal use only! Set to indicate that the put is
	// writing to virgin keyspace and no reads are necessary to
	// rationalize MVCC.
	Blind bool `protobuf:"varint,4,opt,name=blind" json:"blind"`
}

A ConditionalPutRequest is the argument to the ConditionalPut() method.

- Returns true and sets value if exp_value equals existing value. - If key doesn't exist and exp_value is nil, sets value. - If key exists, but value is empty and exp_value is not nil but empty, sets value. - Otherwise, returns error and the actual value of the key in the response.

func (*ConditionalPutRequest) Descriptor

func (*ConditionalPutRequest) Descriptor() ([]byte, []int)

func (*ConditionalPutRequest) Marshal

func (m *ConditionalPutRequest) Marshal() (data []byte, err error)

func (*ConditionalPutRequest) MarshalTo

func (m *ConditionalPutRequest) MarshalTo(data []byte) (int, error)

func (*ConditionalPutRequest) Method

func (*ConditionalPutRequest) Method() Method

Method implements the Request interface.

func (*ConditionalPutRequest) ProtoMessage

func (*ConditionalPutRequest) ProtoMessage()

func (*ConditionalPutRequest) Reset

func (m *ConditionalPutRequest) Reset()

func (*ConditionalPutRequest) ShallowCopy

func (cpr *ConditionalPutRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*ConditionalPutRequest) Size

func (m *ConditionalPutRequest) Size() (n int)

func (*ConditionalPutRequest) String

func (m *ConditionalPutRequest) String() string

func (*ConditionalPutRequest) Unmarshal

func (m *ConditionalPutRequest) Unmarshal(data []byte) error

type ConditionalPutResponse

type ConditionalPutResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A ConditionalPutResponse is the return value from the ConditionalPut() method.

func (*ConditionalPutResponse) Descriptor

func (*ConditionalPutResponse) Descriptor() ([]byte, []int)

func (*ConditionalPutResponse) Marshal

func (m *ConditionalPutResponse) Marshal() (data []byte, err error)

func (*ConditionalPutResponse) MarshalTo

func (m *ConditionalPutResponse) MarshalTo(data []byte) (int, error)

func (*ConditionalPutResponse) ProtoMessage

func (*ConditionalPutResponse) ProtoMessage()

func (*ConditionalPutResponse) Reset

func (m *ConditionalPutResponse) Reset()

func (*ConditionalPutResponse) Size

func (m *ConditionalPutResponse) Size() (n int)

func (*ConditionalPutResponse) String

func (m *ConditionalPutResponse) String() string

func (*ConditionalPutResponse) Unmarshal

func (m *ConditionalPutResponse) Unmarshal(data []byte) error

type Countable

type Countable interface {
	Count() int64
}

Countable is implemented by response types which have a number of result rows, such as Scan.

type DeleteRangeRequest

type DeleteRangeRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// If 0, *all* entries between key (inclusive) and end_key
	// (exclusive) are deleted. Must be >= 0.
	MaxEntriesToDelete int64 `protobuf:"varint,2,opt,name=max_entries_to_delete,json=maxEntriesToDelete" json:"max_entries_to_delete"`
	ReturnKeys         bool  `protobuf:"varint,3,opt,name=return_keys,json=returnKeys" json:"return_keys"`
}

A DeleteRangeRequest is the argument to the DeleteRange() method. It specifies the range of keys to delete.

func (*DeleteRangeRequest) Descriptor

func (*DeleteRangeRequest) Descriptor() ([]byte, []int)

func (*DeleteRangeRequest) Marshal

func (m *DeleteRangeRequest) Marshal() (data []byte, err error)

func (*DeleteRangeRequest) MarshalTo

func (m *DeleteRangeRequest) MarshalTo(data []byte) (int, error)

func (*DeleteRangeRequest) Method

func (*DeleteRangeRequest) Method() Method

Method implements the Request interface.

func (*DeleteRangeRequest) ProtoMessage

func (*DeleteRangeRequest) ProtoMessage()

func (*DeleteRangeRequest) Reset

func (m *DeleteRangeRequest) Reset()

func (*DeleteRangeRequest) ShallowCopy

func (drr *DeleteRangeRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*DeleteRangeRequest) Size

func (m *DeleteRangeRequest) Size() (n int)

func (*DeleteRangeRequest) String

func (m *DeleteRangeRequest) String() string

func (*DeleteRangeRequest) Unmarshal

func (m *DeleteRangeRequest) Unmarshal(data []byte) error

type DeleteRangeResponse

type DeleteRangeResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// Number of entries removed.
	Keys []Key `protobuf:"bytes,2,rep,name=keys,casttype=Key" json:"keys,omitempty"`
}

A DeleteRangeResponse is the return value from the DeleteRange() method.

func (*DeleteRangeResponse) Descriptor

func (*DeleteRangeResponse) Descriptor() ([]byte, []int)

func (*DeleteRangeResponse) Marshal

func (m *DeleteRangeResponse) Marshal() (data []byte, err error)

func (*DeleteRangeResponse) MarshalTo

func (m *DeleteRangeResponse) MarshalTo(data []byte) (int, error)

func (*DeleteRangeResponse) ProtoMessage

func (*DeleteRangeResponse) ProtoMessage()

func (*DeleteRangeResponse) Reset

func (m *DeleteRangeResponse) Reset()

func (*DeleteRangeResponse) Size

func (m *DeleteRangeResponse) Size() (n int)

func (*DeleteRangeResponse) String

func (m *DeleteRangeResponse) String() string

func (*DeleteRangeResponse) Unmarshal

func (m *DeleteRangeResponse) Unmarshal(data []byte) error

type DeleteRequest

type DeleteRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A DeleteRequest is the argument to the Delete() method.

func (*DeleteRequest) Descriptor

func (*DeleteRequest) Descriptor() ([]byte, []int)

func (*DeleteRequest) Marshal

func (m *DeleteRequest) Marshal() (data []byte, err error)

func (*DeleteRequest) MarshalTo

func (m *DeleteRequest) MarshalTo(data []byte) (int, error)

func (*DeleteRequest) Method

func (*DeleteRequest) Method() Method

Method implements the Request interface.

func (*DeleteRequest) ProtoMessage

func (*DeleteRequest) ProtoMessage()

func (*DeleteRequest) Reset

func (m *DeleteRequest) Reset()

func (*DeleteRequest) ShallowCopy

func (dr *DeleteRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*DeleteRequest) Size

func (m *DeleteRequest) Size() (n int)

func (*DeleteRequest) String

func (m *DeleteRequest) String() string

func (*DeleteRequest) Unmarshal

func (m *DeleteRequest) Unmarshal(data []byte) error

type DeleteResponse

type DeleteResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A DeleteResponse is the return value from the Delete() method.

func (*DeleteResponse) Descriptor

func (*DeleteResponse) Descriptor() ([]byte, []int)

func (*DeleteResponse) Marshal

func (m *DeleteResponse) Marshal() (data []byte, err error)

func (*DeleteResponse) MarshalTo

func (m *DeleteResponse) MarshalTo(data []byte) (int, error)

func (*DeleteResponse) ProtoMessage

func (*DeleteResponse) ProtoMessage()

func (*DeleteResponse) Reset

func (m *DeleteResponse) Reset()

func (*DeleteResponse) Size

func (m *DeleteResponse) Size() (n int)

func (*DeleteResponse) String

func (m *DeleteResponse) String() string

func (*DeleteResponse) Unmarshal

func (m *DeleteResponse) Unmarshal(data []byte) error

type EndTransactionRequest

type EndTransactionRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// False to abort and rollback.
	Commit bool `protobuf:"varint,2,opt,name=commit" json:"commit"`
	// The deadline by which the transaction must commit, if present.
	Deadline *Timestamp `protobuf:"bytes,3,opt,name=deadline" json:"deadline,omitempty"`
	// Optional commit triggers. Note that commit triggers are for
	// internal use only and will cause an error if requested through the
	// external-facing KV API.
	InternalCommitTrigger *InternalCommitTrigger `protobuf:"bytes,4,opt,name=internal_commit_trigger,json=internalCommitTrigger" json:"internal_commit_trigger,omitempty"`
	// List of intents written by the transaction.
	IntentSpans []Span `protobuf:"bytes,5,rep,name=intent_spans,json=intentSpans" json:"intent_spans"`
}

An EndTransactionRequest is the argument to the EndTransaction() method. It specifies whether to commit or roll back an extant transaction.

func (*EndTransactionRequest) Descriptor

func (*EndTransactionRequest) Descriptor() ([]byte, []int)

func (*EndTransactionRequest) Marshal

func (m *EndTransactionRequest) Marshal() (data []byte, err error)

func (*EndTransactionRequest) MarshalTo

func (m *EndTransactionRequest) MarshalTo(data []byte) (int, error)

func (*EndTransactionRequest) Method

func (*EndTransactionRequest) Method() Method

Method implements the Request interface.

func (*EndTransactionRequest) ProtoMessage

func (*EndTransactionRequest) ProtoMessage()

func (*EndTransactionRequest) Reset

func (m *EndTransactionRequest) Reset()

func (*EndTransactionRequest) ShallowCopy

func (etr *EndTransactionRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*EndTransactionRequest) Size

func (m *EndTransactionRequest) Size() (n int)

func (*EndTransactionRequest) String

func (m *EndTransactionRequest) String() string

func (*EndTransactionRequest) Unmarshal

func (m *EndTransactionRequest) Unmarshal(data []byte) error

type EndTransactionResponse

type EndTransactionResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// Remaining time (ns).
	CommitWait int64 `protobuf:"varint,2,opt,name=commit_wait,json=commitWait" json:"commit_wait"`
	// Obsolete tag. Removed in #5966.
	DEPRECATEDResolved [][]byte `protobuf:"bytes,3,rep,name=DEPRECATED_resolved,json=dEPRECATEDResolved" json:"DEPRECATED_resolved,omitempty"`
	// True if the transaction committed on the one phase commit path.
	// This means that all writes which were part of the transaction
	// were written as a single, atomic write batch to just one range.
	OnePhaseCommit bool `protobuf:"varint,4,opt,name=one_phase_commit,json=onePhaseCommit" json:"one_phase_commit"`
}

An EndTransactionResponse is the return value from the EndTransaction() method. The final transaction record is returned as part of the response header. In particular, transaction status and timestamp will be updated to reflect final committed values. Clients may propagate the transaction timestamp as the final txn commit timestamp in order to preserve causal ordering between subsequent transactions. CommitWait specifies the commit wait, which is the remaining time the client MUST wait before signalling completion of the transaction to another distributed node to maintain consistency.

func (*EndTransactionResponse) Descriptor

func (*EndTransactionResponse) Descriptor() ([]byte, []int)

func (*EndTransactionResponse) Marshal

func (m *EndTransactionResponse) Marshal() (data []byte, err error)

func (*EndTransactionResponse) MarshalTo

func (m *EndTransactionResponse) MarshalTo(data []byte) (int, error)

func (*EndTransactionResponse) ProtoMessage

func (*EndTransactionResponse) ProtoMessage()

func (*EndTransactionResponse) Reset

func (m *EndTransactionResponse) Reset()

func (*EndTransactionResponse) Size

func (m *EndTransactionResponse) Size() (n int)

func (*EndTransactionResponse) String

func (m *EndTransactionResponse) String() string

func (*EndTransactionResponse) Unmarshal

func (m *EndTransactionResponse) Unmarshal(data []byte) error

type ErrPosition

type ErrPosition struct {
	Index int32 `protobuf:"varint,1,opt,name=index" json:"index"`
}

ErrPosition describes the position of an error in a Batch. A simple nullable primitive field would break compatibility with proto3, where primitive fields are no longer allowed to be nullable.

func (*ErrPosition) Descriptor

func (*ErrPosition) Descriptor() ([]byte, []int)

func (*ErrPosition) Marshal

func (m *ErrPosition) Marshal() (data []byte, err error)

func (*ErrPosition) MarshalTo

func (m *ErrPosition) MarshalTo(data []byte) (int, error)

func (*ErrPosition) ProtoMessage

func (*ErrPosition) ProtoMessage()

func (*ErrPosition) Reset

func (m *ErrPosition) Reset()

func (*ErrPosition) Size

func (m *ErrPosition) Size() (n int)

func (*ErrPosition) String

func (m *ErrPosition) String() string

func (*ErrPosition) Unmarshal

func (m *ErrPosition) Unmarshal(data []byte) error

type Error

type Error struct {
	// message is a human-readable error message.
	Message string `protobuf:"bytes,1,opt,name=message" json:"message"`
	// If transaction_restart is not ABORT, the error condition may be handled by
	// restarting the transaction (with or without a backoff).
	TransactionRestart TransactionRestart `` /* 141-byte string literal not displayed */
	// An optional transaction related to this error. Not to be accessed directly.
	UnexposedTxn *Transaction `protobuf:"bytes,4,opt,name=unexposed_txn,json=unexposedTxn" json:"unexposed_txn,omitempty"`
	// Node at which the error was generated (zero if does not apply).
	OriginNode NodeID `protobuf:"varint,5,opt,name=origin_node,json=originNode,casttype=NodeID" json:"origin_node"`
	// If an ErrorDetail is present, it may contain additional structured data
	// about the error.
	Detail *ErrorDetail `protobuf:"bytes,6,opt,name=detail" json:"detail,omitempty"`
	// The index, if given, contains the index of the request (in the batch)
	// whose execution caused the error.
	Index *ErrPosition `protobuf:"bytes,7,opt,name=index" json:"index,omitempty"`
	// now is the current time at the node sending the response,
	// which can be used by the receiver to update its local HLC.
	Now Timestamp `protobuf:"bytes,8,opt,name=now" json:"now"`
}

Error is a generic representation including a string message and information about retryability.

func NewError

func NewError(err error) *Error

NewError creates an Error from the given error.

func NewErrorWithTxn

func NewErrorWithTxn(err error, txn *Transaction) *Error

NewErrorWithTxn creates an Error from the given error and a transaction.

func NewErrorf

func NewErrorf(format string, a ...interface{}) *Error

NewErrorf creates an Error from the given error message. It is a passthrough to fmt.Errorf, with an additional prefix containing the filename and line number.

func (*Error) Descriptor

func (*Error) Descriptor() ([]byte, []int)

func (*Error) GetDetail

func (e *Error) GetDetail() ErrorDetailInterface

GetDetail returns an error detail associated with the error.

func (*Error) GetTxn

func (e *Error) GetTxn() *Transaction

GetTxn returns the txn.

func (*Error) GoError

func (e *Error) GoError() error

GoError returns a Go error converted from Error.

func (*Error) Marshal

func (m *Error) Marshal() (data []byte, err error)

func (*Error) MarshalTo

func (m *Error) MarshalTo(data []byte) (int, error)

func (*Error) ProtoMessage

func (*Error) ProtoMessage()

func (*Error) Reset

func (m *Error) Reset()

func (*Error) SetErrorIndex

func (e *Error) SetErrorIndex(index int32)

SetErrorIndex sets the index of the error.

func (*Error) SetTxn

func (e *Error) SetTxn(txn *Transaction)

SetTxn sets the txn and resets the error message. TODO(kaneda): Unexpose this method and make callers use NewErrorWithTxn.

func (*Error) Size

func (m *Error) Size() (n int)

func (*Error) String

func (e *Error) String() string

String implements fmt.Stringer.

func (*Error) Unmarshal

func (m *Error) Unmarshal(data []byte) error

type ErrorDetail

type ErrorDetail struct {
	NotLeader                     *NotLeaderError                     `protobuf:"bytes,1,opt,name=not_leader,json=notLeader" json:"not_leader,omitempty"`
	RangeNotFound                 *RangeNotFoundError                 `protobuf:"bytes,2,opt,name=range_not_found,json=rangeNotFound" json:"range_not_found,omitempty"`
	RangeKeyMismatch              *RangeKeyMismatchError              `protobuf:"bytes,3,opt,name=range_key_mismatch,json=rangeKeyMismatch" json:"range_key_mismatch,omitempty"`
	ReadWithinUncertaintyInterval *ReadWithinUncertaintyIntervalError `` /* 145-byte string literal not displayed */
	TransactionAborted            *TransactionAbortedError            `protobuf:"bytes,5,opt,name=transaction_aborted,json=transactionAborted" json:"transaction_aborted,omitempty"`
	TransactionPush               *TransactionPushError               `protobuf:"bytes,6,opt,name=transaction_push,json=transactionPush" json:"transaction_push,omitempty"`
	TransactionRetry              *TransactionRetryError              `protobuf:"bytes,7,opt,name=transaction_retry,json=transactionRetry" json:"transaction_retry,omitempty"`
	TransactionReplay             *TransactionReplayError             `protobuf:"bytes,22,opt,name=transaction_replay,json=transactionReplay" json:"transaction_replay,omitempty"`
	TransactionStatus             *TransactionStatusError             `protobuf:"bytes,8,opt,name=transaction_status,json=transactionStatus" json:"transaction_status,omitempty"`
	WriteIntent                   *WriteIntentError                   `protobuf:"bytes,9,opt,name=write_intent,json=writeIntent" json:"write_intent,omitempty"`
	WriteTooOld                   *WriteTooOldError                   `protobuf:"bytes,10,opt,name=write_too_old,json=writeTooOld" json:"write_too_old,omitempty"`
	OpRequiresTxn                 *OpRequiresTxnError                 `protobuf:"bytes,11,opt,name=op_requires_txn,json=opRequiresTxn" json:"op_requires_txn,omitempty"`
	ConditionFailed               *ConditionFailedError               `protobuf:"bytes,12,opt,name=condition_failed,json=conditionFailed" json:"condition_failed,omitempty"`
	LeaseRejected                 *LeaseRejectedError                 `protobuf:"bytes,13,opt,name=lease_rejected,json=leaseRejected" json:"lease_rejected,omitempty"`
	NodeUnavailable               *NodeUnavailableError               `protobuf:"bytes,14,opt,name=node_unavailable,json=nodeUnavailable" json:"node_unavailable,omitempty"`
	Send                          *SendError                          `protobuf:"bytes,15,opt,name=send" json:"send,omitempty"`
	RangeFrozen                   *RangeFrozenError                   `protobuf:"bytes,25,opt,name=range_frozen,json=rangeFrozen" json:"range_frozen,omitempty"`
	// TODO(kaneda): Following are added to preserve the type when
	// converting Go errors from/to proto Errors. Revisit this design.
	RaftGroupDeleted  *RaftGroupDeletedError  `protobuf:"bytes,16,opt,name=raft_group_deleted,json=raftGroupDeleted" json:"raft_group_deleted,omitempty"`
	ReplicaCorruption *ReplicaCorruptionError `protobuf:"bytes,17,opt,name=replica_corruption,json=replicaCorruption" json:"replica_corruption,omitempty"`
}

ErrorDetail is a union type containing all available errors.

func (*ErrorDetail) Descriptor

func (*ErrorDetail) Descriptor() ([]byte, []int)

func (*ErrorDetail) GetValue

func (this *ErrorDetail) GetValue() interface{}

func (*ErrorDetail) Marshal

func (m *ErrorDetail) Marshal() (data []byte, err error)

func (*ErrorDetail) MarshalTo

func (m *ErrorDetail) MarshalTo(data []byte) (int, error)

func (*ErrorDetail) ProtoMessage

func (*ErrorDetail) ProtoMessage()

func (*ErrorDetail) Reset

func (m *ErrorDetail) Reset()

func (*ErrorDetail) SetValue

func (this *ErrorDetail) SetValue(value interface{}) bool

func (*ErrorDetail) Size

func (m *ErrorDetail) Size() (n int)

func (*ErrorDetail) String

func (m *ErrorDetail) String() string

func (*ErrorDetail) Unmarshal

func (m *ErrorDetail) Unmarshal(data []byte) error

type ErrorDetailInterface

type ErrorDetailInterface interface {
	error
	// contains filtered or unexported methods
}

ErrorDetailInterface is an interface for each error detail.

type ExternalClient

type ExternalClient interface {
	Batch(ctx context.Context, in *BatchRequest, opts ...grpc.CallOption) (*BatchResponse, error)
}

func NewExternalClient

func NewExternalClient(cc *grpc.ClientConn) ExternalClient

type ExternalServer

type ExternalServer interface {
	Batch(context.Context, *BatchRequest) (*BatchResponse, error)
}

type GCRequest

type GCRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Keys []GCRequest_GCKey `protobuf:"bytes,3,rep,name=keys" json:"keys"`
	// Threshold is the expiration timestamp.
	Threshold Timestamp `protobuf:"bytes,4,opt,name=threshold" json:"threshold"`
}

A GCRequest is arguments to the GC() method. It's sent by range leaders after scanning range data to find expired MVCC values.

func (*GCRequest) Descriptor

func (*GCRequest) Descriptor() ([]byte, []int)

func (*GCRequest) Marshal

func (m *GCRequest) Marshal() (data []byte, err error)

func (*GCRequest) MarshalTo

func (m *GCRequest) MarshalTo(data []byte) (int, error)

func (*GCRequest) Method

func (*GCRequest) Method() Method

Method implements the Request interface.

func (*GCRequest) ProtoMessage

func (*GCRequest) ProtoMessage()

func (*GCRequest) Reset

func (m *GCRequest) Reset()

func (*GCRequest) ShallowCopy

func (gcr *GCRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*GCRequest) Size

func (m *GCRequest) Size() (n int)

func (*GCRequest) String

func (m *GCRequest) String() string

func (*GCRequest) Unmarshal

func (m *GCRequest) Unmarshal(data []byte) error

type GCRequest_GCKey

type GCRequest_GCKey struct {
	Key       Key       `protobuf:"bytes,1,opt,name=key,casttype=Key" json:"key,omitempty"`
	Timestamp Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp"`
}

func (*GCRequest_GCKey) Descriptor

func (*GCRequest_GCKey) Descriptor() ([]byte, []int)

func (*GCRequest_GCKey) Marshal

func (m *GCRequest_GCKey) Marshal() (data []byte, err error)

func (*GCRequest_GCKey) MarshalTo

func (m *GCRequest_GCKey) MarshalTo(data []byte) (int, error)

func (*GCRequest_GCKey) ProtoMessage

func (*GCRequest_GCKey) ProtoMessage()

func (*GCRequest_GCKey) Reset

func (m *GCRequest_GCKey) Reset()

func (*GCRequest_GCKey) Size

func (m *GCRequest_GCKey) Size() (n int)

func (*GCRequest_GCKey) String

func (m *GCRequest_GCKey) String() string

func (*GCRequest_GCKey) Unmarshal

func (m *GCRequest_GCKey) Unmarshal(data []byte) error

type GCResponse

type GCResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A GCResponse is the return value from the GC() method.

func (*GCResponse) Descriptor

func (*GCResponse) Descriptor() ([]byte, []int)

func (*GCResponse) Marshal

func (m *GCResponse) Marshal() (data []byte, err error)

func (*GCResponse) MarshalTo

func (m *GCResponse) MarshalTo(data []byte) (int, error)

func (*GCResponse) ProtoMessage

func (*GCResponse) ProtoMessage()

func (*GCResponse) Reset

func (m *GCResponse) Reset()

func (*GCResponse) Size

func (m *GCResponse) Size() (n int)

func (*GCResponse) String

func (m *GCResponse) String() string

func (*GCResponse) Unmarshal

func (m *GCResponse) Unmarshal(data []byte) error

type GetRequest

type GetRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A GetRequest is the argument for the Get() method.

func (*GetRequest) Descriptor

func (*GetRequest) Descriptor() ([]byte, []int)

func (*GetRequest) Marshal

func (m *GetRequest) Marshal() (data []byte, err error)

func (*GetRequest) MarshalTo

func (m *GetRequest) MarshalTo(data []byte) (int, error)

func (*GetRequest) Method

func (*GetRequest) Method() Method

Method implements the Request interface.

func (*GetRequest) ProtoMessage

func (*GetRequest) ProtoMessage()

func (*GetRequest) Reset

func (m *GetRequest) Reset()

func (*GetRequest) ShallowCopy

func (gr *GetRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*GetRequest) Size

func (m *GetRequest) Size() (n int)

func (*GetRequest) String

func (m *GetRequest) String() string

func (*GetRequest) Unmarshal

func (m *GetRequest) Unmarshal(data []byte) error

type GetResponse

type GetResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Value          *Value `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}

A GetResponse is the return value from the Get() method. If the key doesn't exist, returns nil for Value.Bytes.

func (*GetResponse) Descriptor

func (*GetResponse) Descriptor() ([]byte, []int)

func (*GetResponse) Marshal

func (m *GetResponse) Marshal() (data []byte, err error)

func (*GetResponse) MarshalTo

func (m *GetResponse) MarshalTo(data []byte) (int, error)

func (*GetResponse) ProtoMessage

func (*GetResponse) ProtoMessage()

func (*GetResponse) Reset

func (m *GetResponse) Reset()

func (*GetResponse) Size

func (m *GetResponse) Size() (n int)

func (*GetResponse) String

func (m *GetResponse) String() string

func (*GetResponse) Unmarshal

func (m *GetResponse) Unmarshal(data []byte) error

func (*GetResponse) Verify

func (gr *GetResponse) Verify(req Request) error

Verify verifies the integrity of the get response value.

type Header struct {
	// timestamp specifies time at which read or writes should be
	// performed. If the timestamp is set to zero value, its value
	// is initialized to the wall time of the receiving node.
	Timestamp Timestamp `protobuf:"bytes,1,opt,name=timestamp" json:"timestamp"`
	// replica specifies the destination of the request.
	Replica ReplicaDescriptor `protobuf:"bytes,2,opt,name=replica" json:"replica"`
	// range_id specifies the ID of the Raft consensus group which the key
	// range belongs to. This is used by the receiving node to route the
	// request to the correct range.
	RangeID RangeID `protobuf:"varint,3,opt,name=range_id,json=rangeId,casttype=RangeID" json:"range_id"`
	// user_priority allows any command's priority to be biased from the
	// default random priority. It specifies a multiple. If set to 0.5,
	// the chosen priority will be 1/2x as likely to beat any default
	// random priority. If set to 1, a default random priority is
	// chosen. If set to 2, the chosen priority will be 2x as likely to
	// beat any default random priority, and so on. As a special case, 0
	// priority is treated the same as 1. This value is ignored if txn
	// is specified. The min and max user priorities are set via
	// MinUserPriority and MaxUserPriority in data.go.
	UserPriority UserPriority `protobuf:"fixed64,4,opt,name=user_priority,json=userPriority,casttype=UserPriority" json:"user_priority"`
	// txn is set non-nil if a transaction is underway. To start a txn,
	// the first request should set this field to non-nil with name and
	// isolation level set as desired. The response will contain the
	// fully-initialized transaction with txn ID, priority, initial
	// timestamp, and maximum timestamp.
	Txn *Transaction `protobuf:"bytes,5,opt,name=txn" json:"txn,omitempty"`
	// read_consistency specifies the consistency for read
	// operations. The default is CONSISTENT. This value is ignored for
	// write operations.
	ReadConsistency ReadConsistencyType `` /* 133-byte string literal not displayed */
	// trace, if set, is the active span of an OpenTracing distributed trace.
	Trace *cockroach_util_tracing.Span `protobuf:"bytes,7,opt,name=trace" json:"trace,omitempty"`
	// if set to a non-zero value, limits the total number of results for
	// Scan/ReverseScan requests in the batch.
	MaxScanResults int64 `protobuf:"varint,8,opt,name=max_scan_results,json=maxScanResults" json:"max_scan_results"`
	// if set, all of the spans in the batch are distinct. Note that the
	// calculation of distinct spans does not include intents in an
	// EndTransactionRequest. Currently set conservatively: a request
	// might be composed of distinct spans yet have this field set to
	// false.
	DistinctSpans bool `protobuf:"varint,9,opt,name=distinct_spans,json=distinctSpans" json:"distinct_spans"`
}

A Header is attached to a BatchRequest, encapsulating routing and auxiliary information required for executing it.

func (*Header) Descriptor

func (*Header) Descriptor() ([]byte, []int)

func (Header) GetTxnID

func (h Header) GetTxnID() *uuid.UUID

GetTxnID returns the transaction ID if the header has a transaction or else nil.

func (*Header) Marshal

func (m *Header) Marshal() (data []byte, err error)

func (*Header) MarshalTo

func (m *Header) MarshalTo(data []byte) (int, error)

func (*Header) ProtoMessage

func (*Header) ProtoMessage()

func (*Header) Reset

func (m *Header) Reset()

func (*Header) Size

func (m *Header) Size() (n int)

func (*Header) String

func (m *Header) String() string

func (*Header) Unmarshal

func (m *Header) Unmarshal(data []byte) error

type HeartbeatTxnRequest

type HeartbeatTxnRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Now  Timestamp `protobuf:"bytes,2,opt,name=now" json:"now"`
}

A HeartbeatTxnRequest is arguments to the HeartbeatTxn() method. It's sent by transaction coordinators to let the system know that the transaction is still ongoing. Note that this heartbeat message is different from the heartbeat message in the gossip protocol.

func (*HeartbeatTxnRequest) Descriptor

func (*HeartbeatTxnRequest) Descriptor() ([]byte, []int)

func (*HeartbeatTxnRequest) Marshal

func (m *HeartbeatTxnRequest) Marshal() (data []byte, err error)

func (*HeartbeatTxnRequest) MarshalTo

func (m *HeartbeatTxnRequest) MarshalTo(data []byte) (int, error)

func (*HeartbeatTxnRequest) Method

func (*HeartbeatTxnRequest) Method() Method

Method implements the Request interface.

func (*HeartbeatTxnRequest) ProtoMessage

func (*HeartbeatTxnRequest) ProtoMessage()

func (*HeartbeatTxnRequest) Reset

func (m *HeartbeatTxnRequest) Reset()

func (*HeartbeatTxnRequest) ShallowCopy

func (htr *HeartbeatTxnRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*HeartbeatTxnRequest) Size

func (m *HeartbeatTxnRequest) Size() (n int)

func (*HeartbeatTxnRequest) String

func (m *HeartbeatTxnRequest) String() string

func (*HeartbeatTxnRequest) Unmarshal

func (m *HeartbeatTxnRequest) Unmarshal(data []byte) error

type HeartbeatTxnResponse

type HeartbeatTxnResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A HeartbeatTxnResponse is the return value from the HeartbeatTxn() method. It returns the transaction info in the response header. The returned transaction lets the coordinator know the disposition of the transaction (i.e. aborted, committed, or pending).

func (*HeartbeatTxnResponse) Descriptor

func (*HeartbeatTxnResponse) Descriptor() ([]byte, []int)

func (*HeartbeatTxnResponse) Marshal

func (m *HeartbeatTxnResponse) Marshal() (data []byte, err error)

func (*HeartbeatTxnResponse) MarshalTo

func (m *HeartbeatTxnResponse) MarshalTo(data []byte) (int, error)

func (*HeartbeatTxnResponse) ProtoMessage

func (*HeartbeatTxnResponse) ProtoMessage()

func (*HeartbeatTxnResponse) Reset

func (m *HeartbeatTxnResponse) Reset()

func (*HeartbeatTxnResponse) Size

func (m *HeartbeatTxnResponse) Size() (n int)

func (*HeartbeatTxnResponse) String

func (m *HeartbeatTxnResponse) String() string

func (*HeartbeatTxnResponse) Unmarshal

func (m *HeartbeatTxnResponse) Unmarshal(data []byte) error

type IncrementRequest

type IncrementRequest struct {
	Span      `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Increment int64 `protobuf:"varint,2,opt,name=increment" json:"increment"`
}

An IncrementRequest is the argument to the Increment() method. It increments the value for key, and returns the new value. If no value exists for a key, incrementing by 0 is not a noop, but will create a zero value. IncrementRequest cannot be called on a key set by Put() or ConditionalPut(). Similarly, Put() and ConditionalPut() cannot be invoked on an incremented key.

func (*IncrementRequest) Descriptor

func (*IncrementRequest) Descriptor() ([]byte, []int)

func (*IncrementRequest) Marshal

func (m *IncrementRequest) Marshal() (data []byte, err error)

func (*IncrementRequest) MarshalTo

func (m *IncrementRequest) MarshalTo(data []byte) (int, error)

func (*IncrementRequest) Method

func (*IncrementRequest) Method() Method

Method implements the Request interface.

func (*IncrementRequest) ProtoMessage

func (*IncrementRequest) ProtoMessage()

func (*IncrementRequest) Reset

func (m *IncrementRequest) Reset()

func (*IncrementRequest) ShallowCopy

func (ir *IncrementRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*IncrementRequest) Size

func (m *IncrementRequest) Size() (n int)

func (*IncrementRequest) String

func (m *IncrementRequest) String() string

func (*IncrementRequest) Unmarshal

func (m *IncrementRequest) Unmarshal(data []byte) error

type IncrementResponse

type IncrementResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	NewValue       int64 `protobuf:"varint,2,opt,name=new_value,json=newValue" json:"new_value"`
}

An IncrementResponse is the return value from the Increment method. The new value after increment is specified in NewValue. If the value could not be decoded as specified, Error will be set.

func (*IncrementResponse) Descriptor

func (*IncrementResponse) Descriptor() ([]byte, []int)

func (*IncrementResponse) Marshal

func (m *IncrementResponse) Marshal() (data []byte, err error)

func (*IncrementResponse) MarshalTo

func (m *IncrementResponse) MarshalTo(data []byte) (int, error)

func (*IncrementResponse) ProtoMessage

func (*IncrementResponse) ProtoMessage()

func (*IncrementResponse) Reset

func (m *IncrementResponse) Reset()

func (*IncrementResponse) Size

func (m *IncrementResponse) Size() (n int)

func (*IncrementResponse) String

func (m *IncrementResponse) String() string

func (*IncrementResponse) Unmarshal

func (m *IncrementResponse) Unmarshal(data []byte) error

type InitPutRequest

type InitPutRequest struct {
	Span  `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Value Value `protobuf:"bytes,2,opt,name=value" json:"value"`
}

An InitPutRequest is the argument to the InitPut() method.

- If key doesn't exist, sets value. - If key exists, returns an error if value != existing value.

func (*InitPutRequest) Descriptor

func (*InitPutRequest) Descriptor() ([]byte, []int)

func (*InitPutRequest) Marshal

func (m *InitPutRequest) Marshal() (data []byte, err error)

func (*InitPutRequest) MarshalTo

func (m *InitPutRequest) MarshalTo(data []byte) (int, error)

func (*InitPutRequest) Method

func (*InitPutRequest) Method() Method

Method implements the Request interface.

func (*InitPutRequest) ProtoMessage

func (*InitPutRequest) ProtoMessage()

func (*InitPutRequest) Reset

func (m *InitPutRequest) Reset()

func (*InitPutRequest) ShallowCopy

func (pr *InitPutRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*InitPutRequest) Size

func (m *InitPutRequest) Size() (n int)

func (*InitPutRequest) String

func (m *InitPutRequest) String() string

func (*InitPutRequest) Unmarshal

func (m *InitPutRequest) Unmarshal(data []byte) error

type InitPutResponse

type InitPutResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A InitPutResponse is the return value from the InitPut() method.

func (*InitPutResponse) Descriptor

func (*InitPutResponse) Descriptor() ([]byte, []int)

func (*InitPutResponse) Marshal

func (m *InitPutResponse) Marshal() (data []byte, err error)

func (*InitPutResponse) MarshalTo

func (m *InitPutResponse) MarshalTo(data []byte) (int, error)

func (*InitPutResponse) ProtoMessage

func (*InitPutResponse) ProtoMessage()

func (*InitPutResponse) Reset

func (m *InitPutResponse) Reset()

func (*InitPutResponse) Size

func (m *InitPutResponse) Size() (n int)

func (*InitPutResponse) String

func (m *InitPutResponse) String() string

func (*InitPutResponse) Unmarshal

func (m *InitPutResponse) Unmarshal(data []byte) error

type Intent

type Intent struct {
	Span   `protobuf:"bytes,1,opt,name=span,embedded=span" json:"span"`
	Txn    TxnMeta           `protobuf:"bytes,2,opt,name=txn" json:"txn"`
	Status TransactionStatus `protobuf:"varint,3,opt,name=status,enum=cockroach.roachpb.TransactionStatus" json:"status"`
}

A Intent is a Span together with a Transaction metadata and its status.

func AsIntents

func AsIntents(spans []Span, txn *Transaction) []Intent

AsIntents takes a slice of spans and returns it as a slice of intents for the given transaction.

func (*Intent) Descriptor

func (*Intent) Descriptor() ([]byte, []int)

func (*Intent) Marshal

func (m *Intent) Marshal() (data []byte, err error)

func (*Intent) MarshalTo

func (m *Intent) MarshalTo(data []byte) (int, error)

func (*Intent) ProtoMessage

func (*Intent) ProtoMessage()

func (*Intent) Reset

func (m *Intent) Reset()

func (*Intent) Size

func (m *Intent) Size() (n int)

func (*Intent) String

func (m *Intent) String() string

func (*Intent) Unmarshal

func (m *Intent) Unmarshal(data []byte) error

type InternalClient

type InternalClient interface {
	Batch(ctx context.Context, in *BatchRequest, opts ...grpc.CallOption) (*BatchResponse, error)
	PollFrozen(ctx context.Context, in *PollFrozenRequest, opts ...grpc.CallOption) (*PollFrozenResponse, error)
	Reserve(ctx context.Context, in *ReservationRequest, opts ...grpc.CallOption) (*ReservationResponse, error)
}

func NewInternalClient

func NewInternalClient(cc *grpc.ClientConn) InternalClient

type InternalCommitTrigger

type InternalCommitTrigger struct {
	SplitTrigger          *SplitTrigger          `protobuf:"bytes,1,opt,name=split_trigger,json=splitTrigger" json:"split_trigger,omitempty"`
	MergeTrigger          *MergeTrigger          `protobuf:"bytes,2,opt,name=merge_trigger,json=mergeTrigger" json:"merge_trigger,omitempty"`
	ChangeReplicasTrigger *ChangeReplicasTrigger `protobuf:"bytes,3,opt,name=change_replicas_trigger,json=changeReplicasTrigger" json:"change_replicas_trigger,omitempty"`
	ModifiedSpanTrigger   *ModifiedSpanTrigger   `protobuf:"bytes,4,opt,name=modified_span_trigger,json=modifiedSpanTrigger" json:"modified_span_trigger,omitempty"`
}

InternalCommitTrigger encapsulates all of the internal-only commit triggers. Only one may be set.

func (*InternalCommitTrigger) Descriptor

func (*InternalCommitTrigger) Descriptor() ([]byte, []int)

func (*InternalCommitTrigger) GetChangeReplicasTrigger

func (m *InternalCommitTrigger) GetChangeReplicasTrigger() *ChangeReplicasTrigger

func (*InternalCommitTrigger) GetMergeTrigger

func (m *InternalCommitTrigger) GetMergeTrigger() *MergeTrigger

func (*InternalCommitTrigger) GetModifiedSpanTrigger

func (m *InternalCommitTrigger) GetModifiedSpanTrigger() *ModifiedSpanTrigger

func (*InternalCommitTrigger) GetSplitTrigger

func (m *InternalCommitTrigger) GetSplitTrigger() *SplitTrigger

func (*InternalCommitTrigger) Marshal

func (m *InternalCommitTrigger) Marshal() (data []byte, err error)

func (*InternalCommitTrigger) MarshalTo

func (m *InternalCommitTrigger) MarshalTo(data []byte) (int, error)

func (*InternalCommitTrigger) ProtoMessage

func (*InternalCommitTrigger) ProtoMessage()

func (*InternalCommitTrigger) Reset

func (m *InternalCommitTrigger) Reset()

func (*InternalCommitTrigger) Size

func (m *InternalCommitTrigger) Size() (n int)

func (*InternalCommitTrigger) String

func (m *InternalCommitTrigger) String() string

func (*InternalCommitTrigger) Unmarshal

func (m *InternalCommitTrigger) Unmarshal(data []byte) error

type InternalTimeSeriesData

type InternalTimeSeriesData struct {
	// Holds a wall time, expressed as a unix epoch time in nanoseconds. This
	// represents the earliest possible timestamp for a sample within the
	// collection.
	StartTimestampNanos int64 `protobuf:"varint,1,opt,name=start_timestamp_nanos,json=startTimestampNanos" json:"start_timestamp_nanos"`
	// The duration of each sample interval, expressed in nanoseconds.
	SampleDurationNanos int64 `protobuf:"varint,2,opt,name=sample_duration_nanos,json=sampleDurationNanos" json:"sample_duration_nanos"`
	// The actual data samples for this metric.
	Samples []InternalTimeSeriesSample `protobuf:"bytes,3,rep,name=samples" json:"samples"`
}

InternalTimeSeriesData is a collection of data samples for some measurable value, where each sample is taken over a uniform time interval.

The collection itself contains a start timestamp (in seconds since the unix epoch) and a sample duration (in milliseconds). Each sample in the collection will contain a positive integer offset that indicates the length of time between the start_timestamp of the collection and the time when the sample began, expressed as an whole number of sample intervals. For example, if the sample duration is 60000 (indicating 1 minute), then a contained sample with an offset value of 5 begins (5*60000ms = 300000ms = 5 minutes) after the start timestamp of this data.

This is meant to be an efficient internal representation of time series data, ensuring that very little redundant data is stored on disk. With this goal in mind, this message does not identify the variable which is actually being measured; that information is expected be encoded in the key where this message is stored.

func (*InternalTimeSeriesData) Descriptor

func (*InternalTimeSeriesData) Descriptor() ([]byte, []int)

func (*InternalTimeSeriesData) Marshal

func (m *InternalTimeSeriesData) Marshal() (data []byte, err error)

func (*InternalTimeSeriesData) MarshalTo

func (m *InternalTimeSeriesData) MarshalTo(data []byte) (int, error)

func (*InternalTimeSeriesData) ProtoMessage

func (*InternalTimeSeriesData) ProtoMessage()

func (*InternalTimeSeriesData) Reset

func (m *InternalTimeSeriesData) Reset()

func (*InternalTimeSeriesData) Size

func (m *InternalTimeSeriesData) Size() (n int)

func (*InternalTimeSeriesData) String

func (m *InternalTimeSeriesData) String() string

func (*InternalTimeSeriesData) Unmarshal

func (m *InternalTimeSeriesData) Unmarshal(data []byte) error

type InternalTimeSeriesSample

type InternalTimeSeriesSample struct {
	// Temporal offset from the "start_timestamp" of the InternalTimeSeriesData
	// collection this data point is part in. The units of this value are
	// determined by the value of the "sample_duration_milliseconds" field of
	// the TimeSeriesData collection.
	Offset int32 `protobuf:"varint,1,opt,name=offset" json:"offset"`
	// Sum of all measurements.
	Sum float64 `protobuf:"fixed64,7,opt,name=sum" json:"sum"`
	// Count of measurements taken within this sample.
	Count uint32 `protobuf:"varint,6,opt,name=count" json:"count"`
	// Maximum encountered measurement in this sample.
	Max *float64 `protobuf:"fixed64,8,opt,name=max" json:"max,omitempty"`
	// Minimum encountered measurement in this sample.
	Min *float64 `protobuf:"fixed64,9,opt,name=min" json:"min,omitempty"`
}

A InternalTimeSeriesSample represents data gathered from multiple measurements of a variable value over a given period of time. The length of that period of time is stored in an InternalTimeSeriesData message; a sample cannot be interpreted correctly without a start timestamp and sample duration.

Each sample may contain data gathered from multiple measurements of the same variable, as long as all of those measurements occurred within the sample period. The sample stores several aggregated values from these measurements: - The sum of all measured values - A count of all measurements taken - The maximum individual measurement seen - The minimum individual measurement seen

If zero measurements are present in a sample, then it should be omitted entirely from any collection it would be a part of.

If the count of measurements is 1, then max and min fields may be omitted and assumed equal to the sum field.

func (InternalTimeSeriesSample) Average

func (samp InternalTimeSeriesSample) Average() float64

Average returns the average value for this sample.

func (*InternalTimeSeriesSample) Descriptor

func (*InternalTimeSeriesSample) Descriptor() ([]byte, []int)

func (*InternalTimeSeriesSample) Marshal

func (m *InternalTimeSeriesSample) Marshal() (data []byte, err error)

func (*InternalTimeSeriesSample) MarshalTo

func (m *InternalTimeSeriesSample) MarshalTo(data []byte) (int, error)

func (InternalTimeSeriesSample) Maximum

func (samp InternalTimeSeriesSample) Maximum() float64

Maximum returns the maximum value encountered by this sample.

func (InternalTimeSeriesSample) Minimum

func (samp InternalTimeSeriesSample) Minimum() float64

Minimum returns the minimum value encountered by this sample.

func (*InternalTimeSeriesSample) ProtoMessage

func (*InternalTimeSeriesSample) ProtoMessage()

func (*InternalTimeSeriesSample) Reset

func (m *InternalTimeSeriesSample) Reset()

func (*InternalTimeSeriesSample) Size

func (m *InternalTimeSeriesSample) Size() (n int)

func (*InternalTimeSeriesSample) String

func (m *InternalTimeSeriesSample) String() string

func (InternalTimeSeriesSample) Summation

func (samp InternalTimeSeriesSample) Summation() float64

Summation returns the sum value for this sample.

func (*InternalTimeSeriesSample) Unmarshal

func (m *InternalTimeSeriesSample) Unmarshal(data []byte) error

type IsolationType

type IsolationType int32

IsolationType TODO(jiajia) Needs documentation.

const (
	// SERIALIZABLE TODO(jiajia) Needs documentation.
	SERIALIZABLE IsolationType = 0
	// SNAPSHOT TODO(jiajia) Needs documentation.
	SNAPSHOT IsolationType = 1
)

func (IsolationType) Enum

func (x IsolationType) Enum() *IsolationType

func (IsolationType) EnumDescriptor

func (IsolationType) EnumDescriptor() ([]byte, []int)

func (IsolationType) String

func (x IsolationType) String() string

func (*IsolationType) UnmarshalJSON

func (x *IsolationType) UnmarshalJSON(data []byte) error

type Key

type Key []byte

Key is a custom type for a byte string in proto messages which refer to Cockroach keys.

func (Key) Compare

func (k Key) Compare(b interval.Comparable) int

Compare implements the interval.Comparable interface for tree nodes.

func (Key) Equal

func (k Key) Equal(l Key) bool

Equal returns whether two keys are identical.

func (Key) Format

func (k Key) Format(f fmt.State, verb rune)

Format implements the fmt.Formatter interface.

func (Key) IsPrev

func (k Key) IsPrev(m Key) bool

IsPrev is a more efficient version of k.Next().Equal(m).

func (Key) Next

func (k Key) Next() Key

Next returns the next key in lexicographic sort order. The method may only take a shallow copy of the Key, so both the receiver and the return value should be treated as immutable after.

func (Key) PrefixEnd

func (k Key) PrefixEnd() Key

PrefixEnd determines the end key given key as a prefix, that is the key that sorts precisely behind all keys starting with prefix: "1" is added to the final byte and the carry propagated. The special cases of nil and KeyMin always returns KeyMax.

func (Key) String

func (k Key) String() string

String returns a string-formatted version of the key.

type KeyValue

type KeyValue struct {
	Key   Key   `protobuf:"bytes,1,opt,name=key,casttype=Key" json:"key,omitempty"`
	Value Value `protobuf:"bytes,2,opt,name=value" json:"value"`
}

KeyValue is a pair of Key and Value for returned Key/Value pairs from ScanRequest/ScanResponse. It embeds a Key and a Value.

func (*KeyValue) Descriptor

func (*KeyValue) Descriptor() ([]byte, []int)

func (*KeyValue) Marshal

func (m *KeyValue) Marshal() (data []byte, err error)

func (*KeyValue) MarshalTo

func (m *KeyValue) MarshalTo(data []byte) (int, error)

func (*KeyValue) ProtoMessage

func (*KeyValue) ProtoMessage()

func (*KeyValue) Reset

func (m *KeyValue) Reset()

func (*KeyValue) Size

func (m *KeyValue) Size() (n int)

func (*KeyValue) String

func (m *KeyValue) String() string

func (*KeyValue) Unmarshal

func (m *KeyValue) Unmarshal(data []byte) error

type KeyValueByKey

type KeyValueByKey []KeyValue

KeyValueByKey implements sorting of a slice of KeyValues by key.

func (KeyValueByKey) Len

func (kv KeyValueByKey) Len() int

Len implements sort.Interface.

func (KeyValueByKey) Less

func (kv KeyValueByKey) Less(i, j int) bool

Less implements sort.Interface.

func (KeyValueByKey) Swap

func (kv KeyValueByKey) Swap(i, j int)

Swap implements sort.Interface.

type LeaderLeaseRequest

type LeaderLeaseRequest struct {
	Span  `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Lease Lease `protobuf:"bytes,2,opt,name=lease" json:"lease"`
}

A LeaderLeaseRequest is arguments to the LeaderLease() method. It is sent by the store on behalf of one of its ranges upon receipt of a leader election event for that range.

func (*LeaderLeaseRequest) Descriptor

func (*LeaderLeaseRequest) Descriptor() ([]byte, []int)

func (*LeaderLeaseRequest) Marshal

func (m *LeaderLeaseRequest) Marshal() (data []byte, err error)

func (*LeaderLeaseRequest) MarshalTo

func (m *LeaderLeaseRequest) MarshalTo(data []byte) (int, error)

func (*LeaderLeaseRequest) Method

func (*LeaderLeaseRequest) Method() Method

Method implements the Request interface.

func (*LeaderLeaseRequest) ProtoMessage

func (*LeaderLeaseRequest) ProtoMessage()

func (*LeaderLeaseRequest) Reset

func (m *LeaderLeaseRequest) Reset()

func (*LeaderLeaseRequest) ShallowCopy

func (llr *LeaderLeaseRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*LeaderLeaseRequest) Size

func (m *LeaderLeaseRequest) Size() (n int)

func (*LeaderLeaseRequest) String

func (m *LeaderLeaseRequest) String() string

func (*LeaderLeaseRequest) Unmarshal

func (m *LeaderLeaseRequest) Unmarshal(data []byte) error

type LeaderLeaseResponse

type LeaderLeaseResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A LeaderLeaseResponse is the response to a LeaderLease() operation.

func (*LeaderLeaseResponse) Descriptor

func (*LeaderLeaseResponse) Descriptor() ([]byte, []int)

func (*LeaderLeaseResponse) Marshal

func (m *LeaderLeaseResponse) Marshal() (data []byte, err error)

func (*LeaderLeaseResponse) MarshalTo

func (m *LeaderLeaseResponse) MarshalTo(data []byte) (int, error)

func (*LeaderLeaseResponse) ProtoMessage

func (*LeaderLeaseResponse) ProtoMessage()

func (*LeaderLeaseResponse) Reset

func (m *LeaderLeaseResponse) Reset()

func (*LeaderLeaseResponse) Size

func (m *LeaderLeaseResponse) Size() (n int)

func (*LeaderLeaseResponse) String

func (m *LeaderLeaseResponse) String() string

func (*LeaderLeaseResponse) Unmarshal

func (m *LeaderLeaseResponse) Unmarshal(data []byte) error

type Lease

type Lease struct {
	// The start is a timestamp at which the lease begins. This value
	// must be greater than the last lease expiration or the lease request
	// is considered invalid.
	Start Timestamp `protobuf:"bytes,1,opt,name=start" json:"start"`
	// Before the lease expires, it enters a "stasis period" the length of which
	// is usually determined by the lease holder's maximum allowed clock offset.
	// During this stasis period, the lease must not be used (but can be extended
	// by the owner instead). This prevents a failure of linearizability on a
	// single register during lease changes. Without that stasis period, the
	// following could occur:
	// * a leader lease gets committed on the new leader (but not the old).
	// * client proposes and commits a write on new leader (with a timestamp
	//   just greater than the expiration of the old lease).
	// * client tries to read what it wrote, but hits a slow coordinator
	//   (which assigns a timestamp covered by the old lease).
	// * the read is served by the old leader (which has not processed the
	//   change in leadership).
	// * the client fails to read their own write.
	//
	// Instead, the old leader must refuse to serve the client's command on the
	// basis that its timestamp falls within the stasis period.
	StartStasis Timestamp `protobuf:"bytes,4,opt,name=start_stasis,json=startStasis" json:"start_stasis"`
	// The expiration is a timestamp at which the lease expires. This means that
	// a new lease can be granted for a later timestamp.
	Expiration Timestamp `protobuf:"bytes,2,opt,name=expiration" json:"expiration"`
	// The address of the would-be lease holder.
	Replica ReplicaDescriptor `protobuf:"bytes,3,opt,name=replica" json:"replica"`
}

Lease contains information about leader leases including the expiration and lease holder. It defines the two intervals [start, start_stasis) and [start_stasis, expiration). The former encompasses those timestamps for which the lease is active, while the latter is a cooldown period which avoids inconsistencies during leadership changes as explained below.

func NewPopulatedLease

func NewPopulatedLease(r randyData, easy bool) *Lease

func (Lease) Covers

func (l Lease) Covers(timestamp Timestamp) bool

Covers returns true if the given timestamp can be served by the Lease. This is the case if the timestamp precedes the Lease's stasis period.

func (*Lease) Descriptor

func (*Lease) Descriptor() ([]byte, []int)

func (*Lease) Marshal

func (m *Lease) Marshal() (data []byte, err error)

func (*Lease) MarshalTo

func (m *Lease) MarshalTo(data []byte) (int, error)

func (Lease) OwnedBy

func (l Lease) OwnedBy(storeID StoreID) bool

OwnedBy returns whether the given store is the lease owner.

func (*Lease) ProtoMessage

func (*Lease) ProtoMessage()

func (*Lease) Reset

func (m *Lease) Reset()

func (*Lease) Size

func (m *Lease) Size() (n int)

func (Lease) String

func (l Lease) String() string

func (*Lease) Unmarshal

func (m *Lease) Unmarshal(data []byte) error

type LeaseRejectedError

type LeaseRejectedError struct {
	Message   string `protobuf:"bytes,1,opt,name=message" json:"message"`
	Requested Lease  `protobuf:"bytes,2,opt,name=requested" json:"requested"`
	Existing  Lease  `protobuf:"bytes,3,opt,name=existing" json:"existing"`
}

A LeaseRejectedError indicates that the requested replica could not acquire the desired lease because of an existing leader lease.

func (*LeaseRejectedError) Descriptor

func (*LeaseRejectedError) Descriptor() ([]byte, []int)

func (*LeaseRejectedError) Error

func (e *LeaseRejectedError) Error() string

func (*LeaseRejectedError) Marshal

func (m *LeaseRejectedError) Marshal() (data []byte, err error)

func (*LeaseRejectedError) MarshalTo

func (m *LeaseRejectedError) MarshalTo(data []byte) (int, error)

func (*LeaseRejectedError) ProtoMessage

func (*LeaseRejectedError) ProtoMessage()

func (*LeaseRejectedError) Reset

func (m *LeaseRejectedError) Reset()

func (*LeaseRejectedError) Size

func (m *LeaseRejectedError) Size() (n int)

func (*LeaseRejectedError) String

func (m *LeaseRejectedError) String() string

func (*LeaseRejectedError) Unmarshal

func (m *LeaseRejectedError) Unmarshal(data []byte) error

type MergeRequest

type MergeRequest struct {
	Span  `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Value Value `protobuf:"bytes,2,opt,name=value" json:"value"`
}

A MergeRequest contains arguments to the Merge() method. It specifies a key and a value which should be merged into the existing value at that key.

func (*MergeRequest) Descriptor

func (*MergeRequest) Descriptor() ([]byte, []int)

func (*MergeRequest) Marshal

func (m *MergeRequest) Marshal() (data []byte, err error)

func (*MergeRequest) MarshalTo

func (m *MergeRequest) MarshalTo(data []byte) (int, error)

func (*MergeRequest) Method

func (*MergeRequest) Method() Method

Method implements the Request interface.

func (*MergeRequest) ProtoMessage

func (*MergeRequest) ProtoMessage()

func (*MergeRequest) Reset

func (m *MergeRequest) Reset()

func (*MergeRequest) ShallowCopy

func (mr *MergeRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*MergeRequest) Size

func (m *MergeRequest) Size() (n int)

func (*MergeRequest) String

func (m *MergeRequest) String() string

func (*MergeRequest) Unmarshal

func (m *MergeRequest) Unmarshal(data []byte) error

type MergeResponse

type MergeResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

MergeResponse is the response to a Merge() operation.

func (*MergeResponse) Descriptor

func (*MergeResponse) Descriptor() ([]byte, []int)

func (*MergeResponse) Marshal

func (m *MergeResponse) Marshal() (data []byte, err error)

func (*MergeResponse) MarshalTo

func (m *MergeResponse) MarshalTo(data []byte) (int, error)

func (*MergeResponse) ProtoMessage

func (*MergeResponse) ProtoMessage()

func (*MergeResponse) Reset

func (m *MergeResponse) Reset()

func (*MergeResponse) Size

func (m *MergeResponse) Size() (n int)

func (*MergeResponse) String

func (m *MergeResponse) String() string

func (*MergeResponse) Unmarshal

func (m *MergeResponse) Unmarshal(data []byte) error

type MergeTrigger

type MergeTrigger struct {
	// The updated range descriptor that now encompasses what was originally
	// both ranges.
	UpdatedDesc RangeDescriptor `protobuf:"bytes,1,opt,name=updated_desc,json=updatedDesc" json:"updated_desc"`
	// The soon to be invalid range descriptor that used to cover the subsumed
	// half of the merge.
	SubsumedDesc RangeDescriptor `protobuf:"bytes,2,opt,name=subsumed_desc,json=subsumedDesc" json:"subsumed_desc"`
}

A MergeTrigger is run after a successful commit of an AdminMerge command. It provides the updated range descriptor that now encompasses what was originally both ranges and the soon to be invalid range descriptor that used to cover the subsumed half of the merge. This information allows the final bookkeeping for the merge to be completed and put into operation.

func (*MergeTrigger) Descriptor

func (*MergeTrigger) Descriptor() ([]byte, []int)

func (*MergeTrigger) Marshal

func (m *MergeTrigger) Marshal() (data []byte, err error)

func (*MergeTrigger) MarshalTo

func (m *MergeTrigger) MarshalTo(data []byte) (int, error)

func (*MergeTrigger) ProtoMessage

func (*MergeTrigger) ProtoMessage()

func (*MergeTrigger) Reset

func (m *MergeTrigger) Reset()

func (*MergeTrigger) Size

func (m *MergeTrigger) Size() (n int)

func (*MergeTrigger) String

func (m *MergeTrigger) String() string

func (*MergeTrigger) Unmarshal

func (m *MergeTrigger) Unmarshal(data []byte) error

type Method

type Method int

Method is the enumerated type for methods.

const (
	// Get fetches the value for a key from the KV map, respecting a
	// possibly historical timestamp. If the timestamp is 0, returns
	// the most recent value.
	Get Method = iota
	// Put sets the value for a key at the specified timestamp. If the
	// timestamp is 0, the value is set with the current time as timestamp.
	Put
	// ConditionalPut sets the value for a key if the existing value
	// matches the value specified in the request. Specifying a null value
	// for existing means the value must not yet exist.
	ConditionalPut
	// Increment increments the value at the specified key. Once called
	// for a key, Put & ConditionalPut will return errors; only
	// Increment will continue to be a valid command. The value must be
	// deleted before it can be reset using Put.
	Increment
	// Delete removes the value for the specified key.
	Delete
	// DeleteRange removes all values for keys which fall between
	// args.RequestHeader.Key and args.RequestHeader.EndKey, with
	// the latter endpoint excluded.
	DeleteRange
	// Scan fetches the values for all keys which fall between
	// args.RequestHeader.Key and args.RequestHeader.EndKey, with
	// the latter endpoint excluded.
	Scan
	// ReverseScan fetches the values for all keys which fall between
	// args.RequestHeader.Key and args.RequestHeader.EndKey, with
	// the latter endpoint excluded.
	ReverseScan
	// BeginTransaction writes a new transaction record, marking the
	// beginning of the write-portion of a transaction. It is sent
	// exclusively by the coordinating node along with the first
	// transactional write and neither sent nor received by the client
	// itself.
	BeginTransaction
	// EndTransaction either commits or aborts an ongoing transaction.
	EndTransaction
	// AdminSplit is called to coordinate a split of a range.
	AdminSplit
	// AdminMerge is called to coordinate a merge of two adjacent ranges.
	AdminMerge
	// HeartbeatTxn sends a periodic heartbeat to extant
	// transaction rows to indicate the client is still alive and
	// the transaction should not be considered abandoned.
	HeartbeatTxn
	// GC garbage collects values based on expired timestamps
	// for a list of keys in a range. This method is called by the
	// range leader after a snapshot scan. The call goes through Raft,
	// so all range replicas GC the exact same values.
	GC
	// PushTxn attempts to resolve read or write conflicts between
	// transactions. Both the pusher (args.Txn) and the pushee
	// (args.PushTxn) are supplied. However, args.Key should be set to the
	// transaction ID of the pushee, as it must be directed to the range
	// containing the pushee's transaction record in order to consult the
	// most up to date txn state. If the conflict resolution can be
	// resolved in favor of the pusher, returns success; otherwise returns
	// an error code either indicating the pusher must retry or abort and
	// restart the transaction.
	PushTxn
	// RangeLookup looks up range descriptors, containing the
	// locations of replicas for the range containing the specified key.
	RangeLookup
	// ResolveIntent resolves existing write intents for a key.
	ResolveIntent
	// ResolveIntentRange resolves existing write intents for a key range.
	ResolveIntentRange
	// Noop is a no-op.
	Noop
	// Merge merges a given value into the specified key. Merge is a
	// high-performance operation provided by underlying data storage for values
	// which are accumulated over several writes. Because it is not
	// transactional, Merge is currently not made available to external clients.
	//
	// The logic used to merge values of different types is described in more
	// detail by the "Merge" method of engine.Engine.
	Merge
	// TruncateLog discards a prefix of the raft log.
	TruncateLog
	// LeaderLease requests a leader lease for a replica.
	LeaderLease
	// ComputeChecksum starts a checksum computation over a replica snapshot.
	ComputeChecksum
	// VerifyChecksum verifies the checksum computed through an earlier
	// ComputeChecksum.
	VerifyChecksum
	// CheckConsistency verifies the consistency of all ranges falling within a
	// key span.
	CheckConsistency
	// InitPut sets the value for a key if the key doesn't exist. It returns
	// an error if the key exists and the existing value is different from the
	// supplied one.
	InitPut
	// ChangeFrozen freezes or unfreezes all Ranges with StartKey in a given
	// key span.
	ChangeFrozen
)

func (Method) String

func (i Method) String() string

type ModifiedSpanTrigger

type ModifiedSpanTrigger struct {
	SystemConfigSpan bool `protobuf:"varint,1,opt,name=system_config_span,json=systemConfigSpan" json:"system_config_span"`
}

ModifiedSpanTrigger indicates that a specific span has been modified. This can be used to trigger scan-and-gossip for the given span.

func (*ModifiedSpanTrigger) Descriptor

func (*ModifiedSpanTrigger) Descriptor() ([]byte, []int)

func (*ModifiedSpanTrigger) Marshal

func (m *ModifiedSpanTrigger) Marshal() (data []byte, err error)

func (*ModifiedSpanTrigger) MarshalTo

func (m *ModifiedSpanTrigger) MarshalTo(data []byte) (int, error)

func (*ModifiedSpanTrigger) ProtoMessage

func (*ModifiedSpanTrigger) ProtoMessage()

func (*ModifiedSpanTrigger) Reset

func (m *ModifiedSpanTrigger) Reset()

func (*ModifiedSpanTrigger) Size

func (m *ModifiedSpanTrigger) Size() (n int)

func (*ModifiedSpanTrigger) String

func (m *ModifiedSpanTrigger) String() string

func (*ModifiedSpanTrigger) Unmarshal

func (m *ModifiedSpanTrigger) Unmarshal(data []byte) error

type NodeDescriptor

type NodeDescriptor struct {
	NodeID  NodeID                        `protobuf:"varint,1,opt,name=node_id,json=nodeId,casttype=NodeID" json:"node_id"`
	Address cockroach_util.UnresolvedAddr `protobuf:"bytes,2,opt,name=address" json:"address"`
	Attrs   Attributes                    `protobuf:"bytes,3,opt,name=attrs" json:"attrs"`
}

NodeDescriptor holds details on node physical/network topology.

func (*NodeDescriptor) Descriptor

func (*NodeDescriptor) Descriptor() ([]byte, []int)

func (*NodeDescriptor) Marshal

func (m *NodeDescriptor) Marshal() (data []byte, err error)

func (*NodeDescriptor) MarshalTo

func (m *NodeDescriptor) MarshalTo(data []byte) (int, error)

func (*NodeDescriptor) ProtoMessage

func (*NodeDescriptor) ProtoMessage()

func (*NodeDescriptor) Reset

func (m *NodeDescriptor) Reset()

func (*NodeDescriptor) Size

func (m *NodeDescriptor) Size() (n int)

func (*NodeDescriptor) String

func (m *NodeDescriptor) String() string

func (*NodeDescriptor) Unmarshal

func (m *NodeDescriptor) Unmarshal(data []byte) error

type NodeID

type NodeID int32

NodeID is a custom type for a cockroach node ID. (not a raft node ID)

func (NodeID) String

func (n NodeID) String() string

String implements the fmt.Stringer interface. It is used to format the ID for use in Gossip keys.

type NodeUnavailableError

type NodeUnavailableError struct {
}

A NodeUnavailableError indicates that the sending gateway can not process requests at the time, and that the client should retry the request with another peer.

func (*NodeUnavailableError) Descriptor

func (*NodeUnavailableError) Descriptor() ([]byte, []int)

func (*NodeUnavailableError) Error

func (e *NodeUnavailableError) Error() string

func (*NodeUnavailableError) Marshal

func (m *NodeUnavailableError) Marshal() (data []byte, err error)

func (*NodeUnavailableError) MarshalTo

func (m *NodeUnavailableError) MarshalTo(data []byte) (int, error)

func (*NodeUnavailableError) ProtoMessage

func (*NodeUnavailableError) ProtoMessage()

func (*NodeUnavailableError) Reset

func (m *NodeUnavailableError) Reset()

func (*NodeUnavailableError) Size

func (m *NodeUnavailableError) Size() (n int)

func (*NodeUnavailableError) String

func (m *NodeUnavailableError) String() string

func (*NodeUnavailableError) Unmarshal

func (m *NodeUnavailableError) Unmarshal(data []byte) error

type NoopRequest

type NoopRequest struct {
}

A NoopRequest is a no-op.

func (*NoopRequest) Descriptor

func (*NoopRequest) Descriptor() ([]byte, []int)

func (*NoopRequest) Header

func (*NoopRequest) Header() Span

Header implements the Request interface.

func (*NoopRequest) Marshal

func (m *NoopRequest) Marshal() (data []byte, err error)

func (*NoopRequest) MarshalTo

func (m *NoopRequest) MarshalTo(data []byte) (int, error)

func (*NoopRequest) Method

func (*NoopRequest) Method() Method

Method implements the Request interface.

func (*NoopRequest) ProtoMessage

func (*NoopRequest) ProtoMessage()

func (*NoopRequest) Reset

func (m *NoopRequest) Reset()

func (*NoopRequest) SetHeader

func (*NoopRequest) SetHeader(_ Span)

SetHeader implements the Request interface.

func (*NoopRequest) ShallowCopy

func (nr *NoopRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*NoopRequest) Size

func (m *NoopRequest) Size() (n int)

func (*NoopRequest) String

func (m *NoopRequest) String() string

func (*NoopRequest) Unmarshal

func (m *NoopRequest) Unmarshal(data []byte) error

type NoopResponse

type NoopResponse struct {
}

A NoopResponse is the return value from a no-op operation.

func (*NoopResponse) Descriptor

func (*NoopResponse) Descriptor() ([]byte, []int)

func (*NoopResponse) Header

func (*NoopResponse) Header() ResponseHeader

Header implements the Response interface.

func (*NoopResponse) Marshal

func (m *NoopResponse) Marshal() (data []byte, err error)

func (*NoopResponse) MarshalTo

func (m *NoopResponse) MarshalTo(data []byte) (int, error)

func (*NoopResponse) ProtoMessage

func (*NoopResponse) ProtoMessage()

func (*NoopResponse) Reset

func (m *NoopResponse) Reset()

func (*NoopResponse) SetHeader

func (*NoopResponse) SetHeader(_ ResponseHeader)

SetHeader implements the Response interface.

func (*NoopResponse) Size

func (m *NoopResponse) Size() (n int)

func (*NoopResponse) String

func (m *NoopResponse) String() string

func (*NoopResponse) Unmarshal

func (m *NoopResponse) Unmarshal(data []byte) error

func (*NoopResponse) Verify

func (*NoopResponse) Verify(_ Request) error

Verify implements the Response interface.

type NotLeaderError

type NotLeaderError struct {
	Replica *ReplicaDescriptor `protobuf:"bytes,1,opt,name=replica" json:"replica,omitempty"`
	Leader  *ReplicaDescriptor `protobuf:"bytes,2,opt,name=leader" json:"leader,omitempty"`
	RangeID RangeID            `protobuf:"varint,3,opt,name=range_id,json=rangeId,casttype=RangeID" json:"range_id"`
}

A NotLeaderError indicates that the current range is not the leader. If the leader is known, its Replica is set in the error.

func (*NotLeaderError) Descriptor

func (*NotLeaderError) Descriptor() ([]byte, []int)

func (*NotLeaderError) Error

func (e *NotLeaderError) Error() string

func (*NotLeaderError) Marshal

func (m *NotLeaderError) Marshal() (data []byte, err error)

func (*NotLeaderError) MarshalTo

func (m *NotLeaderError) MarshalTo(data []byte) (int, error)

func (*NotLeaderError) ProtoMessage

func (*NotLeaderError) ProtoMessage()

func (*NotLeaderError) Reset

func (m *NotLeaderError) Reset()

func (*NotLeaderError) Size

func (m *NotLeaderError) Size() (n int)

func (*NotLeaderError) String

func (m *NotLeaderError) String() string

func (*NotLeaderError) Unmarshal

func (m *NotLeaderError) Unmarshal(data []byte) error

type OpRequiresTxnError

type OpRequiresTxnError struct {
}

An OpRequiresTxnError indicates that a command required to be carried out in a transactional context but was not. For example, a Scan which spans ranges requires a transaction. The operation should be retried inside of a transaction.

func (*OpRequiresTxnError) Descriptor

func (*OpRequiresTxnError) Descriptor() ([]byte, []int)

func (*OpRequiresTxnError) Error

func (e *OpRequiresTxnError) Error() string

func (*OpRequiresTxnError) Marshal

func (m *OpRequiresTxnError) Marshal() (data []byte, err error)

func (*OpRequiresTxnError) MarshalTo

func (m *OpRequiresTxnError) MarshalTo(data []byte) (int, error)

func (*OpRequiresTxnError) ProtoMessage

func (*OpRequiresTxnError) ProtoMessage()

func (*OpRequiresTxnError) Reset

func (m *OpRequiresTxnError) Reset()

func (*OpRequiresTxnError) Size

func (m *OpRequiresTxnError) Size() (n int)

func (*OpRequiresTxnError) String

func (m *OpRequiresTxnError) String() string

func (*OpRequiresTxnError) Unmarshal

func (m *OpRequiresTxnError) Unmarshal(data []byte) error

type PollFrozenRequest

type PollFrozenRequest struct {
	StoreRequestHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// When true, collect the frozen Replicas, and the thawed ones otherwise.
	CollectFrozen bool `protobuf:"varint,2,opt,name=collect_frozen,json=collectFrozen" json:"collect_frozen"`
}

A PollFrozenRequest asks the addressed Store for its frozen or thawed Replicas.

func (*PollFrozenRequest) Descriptor

func (*PollFrozenRequest) Descriptor() ([]byte, []int)

func (*PollFrozenRequest) Marshal

func (m *PollFrozenRequest) Marshal() (data []byte, err error)

func (*PollFrozenRequest) MarshalTo

func (m *PollFrozenRequest) MarshalTo(data []byte) (int, error)

func (*PollFrozenRequest) ProtoMessage

func (*PollFrozenRequest) ProtoMessage()

func (*PollFrozenRequest) Reset

func (m *PollFrozenRequest) Reset()

func (*PollFrozenRequest) Size

func (m *PollFrozenRequest) Size() (n int)

func (*PollFrozenRequest) String

func (m *PollFrozenRequest) String() string

func (*PollFrozenRequest) Unmarshal

func (m *PollFrozenRequest) Unmarshal(data []byte) error

type PollFrozenResponse

type PollFrozenResponse struct {
	Results []ReplicaDescriptor `protobuf:"bytes,1,rep,name=results" json:"results"`
}

A PollFrozenResponse is the response returned from a PollFrozenRequest.

func (*PollFrozenResponse) Descriptor

func (*PollFrozenResponse) Descriptor() ([]byte, []int)

func (*PollFrozenResponse) Marshal

func (m *PollFrozenResponse) Marshal() (data []byte, err error)

func (*PollFrozenResponse) MarshalTo

func (m *PollFrozenResponse) MarshalTo(data []byte) (int, error)

func (*PollFrozenResponse) ProtoMessage

func (*PollFrozenResponse) ProtoMessage()

func (*PollFrozenResponse) Reset

func (m *PollFrozenResponse) Reset()

func (*PollFrozenResponse) Size

func (m *PollFrozenResponse) Size() (n int)

func (*PollFrozenResponse) String

func (m *PollFrozenResponse) String() string

func (*PollFrozenResponse) Unmarshal

func (m *PollFrozenResponse) Unmarshal(data []byte) error

type PushTxnRequest

type PushTxnRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// Transaction which encountered the intent, if applicable. For a
	// non-transactional operation, pusher_txn will be nil. Used to
	// compare priorities and timestamps if priorities are equal.
	PusherTxn Transaction `protobuf:"bytes,2,opt,name=pusher_txn,json=pusherTxn" json:"pusher_txn"`
	// Transaction to be pushed, as specified at the intent which led to
	// the push transaction request. Note that this may not be the most
	// up-to-date value of the transaction record, but will be set or
	// merged as appropriate.
	PusheeTxn TxnMeta `protobuf:"bytes,3,opt,name=pushee_txn,json=pusheeTxn" json:"pushee_txn"`
	// PushTo is the timestamp just after which PusheeTxn is attempted to be
	// pushed. During conflict resolution, it should be set to the timestamp
	// of the its conflicting write.
	PushTo Timestamp `protobuf:"bytes,4,opt,name=push_to,json=pushTo" json:"push_to"`
	// Now holds the timestamp used to compare the last heartbeat of the pushee
	// against. This is necessary since the request header's timestamp does not
	// necessarily advance with the node clock across retries and hence cannot
	// detect abandoned transactions.
	Now Timestamp `protobuf:"bytes,5,opt,name=now" json:"now"`
	// Readers set this to PUSH_TIMESTAMP to move pushee_txn's provisional
	// commit timestamp forward. Writers set this to PUSH_ABORT to request
	// that pushee_txn be aborted if possible. Inconsistent readers set
	// this to PUSH_TOUCH to determine whether the pushee can be aborted
	// due to inactivity (based on the now field).
	PushType PushTxnType `protobuf:"varint,6,opt,name=push_type,json=pushType,enum=cockroach.roachpb.PushTxnType" json:"push_type"`
}

A PushTxnRequest is arguments to the PushTxn() method. It's sent by readers or writers which have encountered an "intent" laid down by another transaction. The goal is to resolve the conflict. Note that args.Key should be set to the txn ID of args.PusheeTxn, not args.PusherTxn. This RPC is addressed to the range which owns the pushee's txn record. If the pusher is not transactional, it must be set to a Transaction record with only the Priority present.

Resolution is trivial if the txn which owns the intent has either been committed or aborted already. Otherwise, the existing txn can either be aborted (for write/write conflicts), or its commit timestamp can be moved forward (for read/write conflicts). The course of action is determined by the specified push type, and by the owning txn's status and priority.

func (*PushTxnRequest) Descriptor

func (*PushTxnRequest) Descriptor() ([]byte, []int)

func (*PushTxnRequest) Marshal

func (m *PushTxnRequest) Marshal() (data []byte, err error)

func (*PushTxnRequest) MarshalTo

func (m *PushTxnRequest) MarshalTo(data []byte) (int, error)

func (*PushTxnRequest) Method

func (*PushTxnRequest) Method() Method

Method implements the Request interface.

func (*PushTxnRequest) ProtoMessage

func (*PushTxnRequest) ProtoMessage()

func (*PushTxnRequest) Reset

func (m *PushTxnRequest) Reset()

func (*PushTxnRequest) ShallowCopy

func (ptr *PushTxnRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*PushTxnRequest) Size

func (m *PushTxnRequest) Size() (n int)

func (*PushTxnRequest) String

func (m *PushTxnRequest) String() string

func (*PushTxnRequest) Unmarshal

func (m *PushTxnRequest) Unmarshal(data []byte) error

type PushTxnResponse

type PushTxnResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// pushee_txn is non-nil if the transaction was pushed and contains
	// the current value of the transaction.
	// TODO(tschottdorf): Maybe this can be a TxnMeta instead; probably requires
	// factoring out the new Priority.
	PusheeTxn Transaction `protobuf:"bytes,2,opt,name=pushee_txn,json=pusheeTxn" json:"pushee_txn"`
}

A PushTxnResponse is the return value from the PushTxn() method. It returns success and the resulting state of PusheeTxn if the conflict was resolved in favor of the caller; the caller should subsequently invoke ResolveIntent() on the conflicted key. It returns an error otherwise.

func (*PushTxnResponse) Descriptor

func (*PushTxnResponse) Descriptor() ([]byte, []int)

func (*PushTxnResponse) Marshal

func (m *PushTxnResponse) Marshal() (data []byte, err error)

func (*PushTxnResponse) MarshalTo

func (m *PushTxnResponse) MarshalTo(data []byte) (int, error)

func (*PushTxnResponse) ProtoMessage

func (*PushTxnResponse) ProtoMessage()

func (*PushTxnResponse) Reset

func (m *PushTxnResponse) Reset()

func (*PushTxnResponse) Size

func (m *PushTxnResponse) Size() (n int)

func (*PushTxnResponse) String

func (m *PushTxnResponse) String() string

func (*PushTxnResponse) Unmarshal

func (m *PushTxnResponse) Unmarshal(data []byte) error

type PushTxnType

type PushTxnType int32

TxnPushType determines what action to take when pushing a transaction.

const (
	// Push the timestamp forward if possible to accommodate a concurrent reader.
	PUSH_TIMESTAMP PushTxnType = 0
	// Abort the transaction if possible to accommodate a concurrent writer.
	PUSH_ABORT PushTxnType = 1
	// Abort the transaction if it's abandoned, but don't attempt to mutate it
	// otherwise.
	PUSH_TOUCH PushTxnType = 2
	// Query and return the latest transaction record if available. If no record
	// is persisted, returns a zero Pushee.
	PUSH_QUERY PushTxnType = 3
)

func (PushTxnType) Enum

func (x PushTxnType) Enum() *PushTxnType

func (PushTxnType) EnumDescriptor

func (PushTxnType) EnumDescriptor() ([]byte, []int)

func (PushTxnType) String

func (x PushTxnType) String() string

func (*PushTxnType) UnmarshalJSON

func (x *PushTxnType) UnmarshalJSON(data []byte) error

type PutRequest

type PutRequest struct {
	Span  `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Value Value `protobuf:"bytes,2,opt,name=value" json:"value"`
	// Specify as true to put the value without a corresponding
	// timestamp. This option should be used with care as it precludes
	// the use of this value with transactions.
	Inline bool `protobuf:"varint,3,opt,name=inline" json:"inline"`
	// NOTE: For internal use only! Set to indicate that the put is
	// writing to virgin keyspace and no reads are necessary to
	// rationalize MVCC.
	Blind bool `protobuf:"varint,4,opt,name=blind" json:"blind"`
}

A PutRequest is the argument to the Put() method.

func (*PutRequest) Descriptor

func (*PutRequest) Descriptor() ([]byte, []int)

func (*PutRequest) Marshal

func (m *PutRequest) Marshal() (data []byte, err error)

func (*PutRequest) MarshalTo

func (m *PutRequest) MarshalTo(data []byte) (int, error)

func (*PutRequest) Method

func (*PutRequest) Method() Method

Method implements the Request interface.

func (*PutRequest) ProtoMessage

func (*PutRequest) ProtoMessage()

func (*PutRequest) Reset

func (m *PutRequest) Reset()

func (*PutRequest) ShallowCopy

func (pr *PutRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*PutRequest) Size

func (m *PutRequest) Size() (n int)

func (*PutRequest) String

func (m *PutRequest) String() string

func (*PutRequest) Unmarshal

func (m *PutRequest) Unmarshal(data []byte) error

type PutResponse

type PutResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A PutResponse is the return value from the Put() method.

func (*PutResponse) Descriptor

func (*PutResponse) Descriptor() ([]byte, []int)

func (*PutResponse) Marshal

func (m *PutResponse) Marshal() (data []byte, err error)

func (*PutResponse) MarshalTo

func (m *PutResponse) MarshalTo(data []byte) (int, error)

func (*PutResponse) ProtoMessage

func (*PutResponse) ProtoMessage()

func (*PutResponse) Reset

func (m *PutResponse) Reset()

func (*PutResponse) Size

func (m *PutResponse) Size() (n int)

func (*PutResponse) String

func (m *PutResponse) String() string

func (*PutResponse) Unmarshal

func (m *PutResponse) Unmarshal(data []byte) error

type RKey

type RKey Key

RKey denotes a Key whose local addressing has been accounted for.

func (RKey) AsRawKey

func (rk RKey) AsRawKey() Key

AsRawKey returns the RKey as a Key. This is to be used only in select situations in which an RKey is known to not contain a wrapped locally- addressed Key. Whenever the Key which created the RKey is still available, it should be used instead.

func (RKey) Equal

func (rk RKey) Equal(other []byte) bool

Equal checks for byte-wise equality.

func (RKey) Less

func (rk RKey) Less(otherRK RKey) bool

Less compares two RKeys.

func (RKey) Next

func (rk RKey) Next() RKey

Next returns the RKey that sorts immediately after the given one. The method may only take a shallow copy of the RKey, so both the receiver and the return value should be treated as immutable after.

func (RKey) PrefixEnd

func (rk RKey) PrefixEnd() RKey

PrefixEnd determines the end key given key as a prefix, that is the key that sorts precisely behind all keys starting with prefix: "1" is added to the final byte and the carry propagated. The special cases of nil and KeyMin always returns KeyMax.

func (RKey) String

func (rk RKey) String() string

type RSpan

type RSpan struct {
	Key, EndKey RKey
}

RSpan is a key range with an inclusive start RKey and an exclusive end RKey.

func (RSpan) ContainsExclusiveEndKey

func (rs RSpan) ContainsExclusiveEndKey(key RKey) bool

ContainsExclusiveEndKey returns whether this span contains the specified (exclusive) end key (e.g., span ["a", b") contains "b" as exclusive end key).

func (RSpan) ContainsKey

func (rs RSpan) ContainsKey(key RKey) bool

ContainsKey returns whether this span contains the specified key.

func (RSpan) ContainsKeyRange

func (rs RSpan) ContainsKeyRange(start, end RKey) bool

ContainsKeyRange returns whether this span contains the specified key range from start (inclusive) to end (exclusive). If end is empty or start is equal to end, returns ContainsKey(start).

func (RSpan) Equal

func (rs RSpan) Equal(o RSpan) bool

Equal compares for equality.

func (RSpan) Intersect

func (rs RSpan) Intersect(desc *RangeDescriptor) (RSpan, error)

Intersect returns the intersection of the current span and the descriptor's range. Returns an error if the span and the descriptor's range do not overlap. TODO(nvanbenschoten) Investigate why this returns an endKey when rs.EndKey is nil. This gives the method unexpected behavior.

type RaftCommand

type RaftCommand struct {
	RangeID       RangeID           `protobuf:"varint,1,opt,name=range_id,json=rangeId,casttype=RangeID" json:"range_id"`
	OriginReplica ReplicaDescriptor `protobuf:"bytes,2,opt,name=origin_replica,json=originReplica" json:"origin_replica"`
	Cmd           BatchRequest      `protobuf:"bytes,3,opt,name=cmd" json:"cmd"`
}

A RaftCommand is a command which can be serialized and sent via raft.

func (*RaftCommand) Descriptor

func (*RaftCommand) Descriptor() ([]byte, []int)

func (*RaftCommand) Marshal

func (m *RaftCommand) Marshal() (data []byte, err error)

func (*RaftCommand) MarshalTo

func (m *RaftCommand) MarshalTo(data []byte) (int, error)

func (*RaftCommand) ProtoMessage

func (*RaftCommand) ProtoMessage()

func (*RaftCommand) Reset

func (m *RaftCommand) Reset()

func (*RaftCommand) Size

func (m *RaftCommand) Size() (n int)

func (*RaftCommand) String

func (m *RaftCommand) String() string

func (*RaftCommand) Unmarshal

func (m *RaftCommand) Unmarshal(data []byte) error

type RaftGroupDeletedError

type RaftGroupDeletedError struct {
}

A RaftGroupDeletedError indicates a raft group has been deleted for the replica.

func (*RaftGroupDeletedError) Descriptor

func (*RaftGroupDeletedError) Descriptor() ([]byte, []int)

func (*RaftGroupDeletedError) Error

func (e *RaftGroupDeletedError) Error() string

func (*RaftGroupDeletedError) Marshal

func (m *RaftGroupDeletedError) Marshal() (data []byte, err error)

func (*RaftGroupDeletedError) MarshalTo

func (m *RaftGroupDeletedError) MarshalTo(data []byte) (int, error)

func (*RaftGroupDeletedError) ProtoMessage

func (*RaftGroupDeletedError) ProtoMessage()

func (*RaftGroupDeletedError) Reset

func (m *RaftGroupDeletedError) Reset()

func (*RaftGroupDeletedError) Size

func (m *RaftGroupDeletedError) Size() (n int)

func (*RaftGroupDeletedError) String

func (m *RaftGroupDeletedError) String() string

func (*RaftGroupDeletedError) Unmarshal

func (m *RaftGroupDeletedError) Unmarshal(data []byte) error

type RaftSnapshotData

type RaftSnapshotData struct {
	// The latest RangeDescriptor
	RangeDescriptor RangeDescriptor             `protobuf:"bytes,1,opt,name=range_descriptor,json=rangeDescriptor" json:"range_descriptor"`
	KV              []RaftSnapshotData_KeyValue `protobuf:"bytes,2,rep,name=KV,json=kV" json:"KV"`
	// These are really raftpb.Entry, but we model them as raw bytes to avoid
	// roundtripping through memory.
	LogEntries [][]byte `protobuf:"bytes,3,rep,name=log_entries,json=logEntries" json:"log_entries,omitempty"`
}

RaftSnapshotData is the payload of a raftpb.Snapshot. It contains a raw copy of all of the range's data and metadata, including the raft log, sequence cache, etc.

func (*RaftSnapshotData) Descriptor

func (*RaftSnapshotData) Descriptor() ([]byte, []int)

func (*RaftSnapshotData) Marshal

func (m *RaftSnapshotData) Marshal() (data []byte, err error)

func (*RaftSnapshotData) MarshalTo

func (m *RaftSnapshotData) MarshalTo(data []byte) (int, error)

func (*RaftSnapshotData) ProtoMessage

func (*RaftSnapshotData) ProtoMessage()

func (*RaftSnapshotData) Reset

func (m *RaftSnapshotData) Reset()

func (*RaftSnapshotData) Size

func (m *RaftSnapshotData) Size() (n int)

func (*RaftSnapshotData) String

func (m *RaftSnapshotData) String() string

func (*RaftSnapshotData) Unmarshal

func (m *RaftSnapshotData) Unmarshal(data []byte) error

type RaftSnapshotData_KeyValue

type RaftSnapshotData_KeyValue struct {
	Key       []byte    `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	Value     []byte    `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
	Timestamp Timestamp `protobuf:"bytes,3,opt,name=timestamp" json:"timestamp"`
}

func (*RaftSnapshotData_KeyValue) Descriptor

func (*RaftSnapshotData_KeyValue) Descriptor() ([]byte, []int)

func (*RaftSnapshotData_KeyValue) Marshal

func (m *RaftSnapshotData_KeyValue) Marshal() (data []byte, err error)

func (*RaftSnapshotData_KeyValue) MarshalTo

func (m *RaftSnapshotData_KeyValue) MarshalTo(data []byte) (int, error)

func (*RaftSnapshotData_KeyValue) ProtoMessage

func (*RaftSnapshotData_KeyValue) ProtoMessage()

func (*RaftSnapshotData_KeyValue) Reset

func (m *RaftSnapshotData_KeyValue) Reset()

func (*RaftSnapshotData_KeyValue) Size

func (m *RaftSnapshotData_KeyValue) Size() (n int)

func (*RaftSnapshotData_KeyValue) String

func (m *RaftSnapshotData_KeyValue) String() string

func (*RaftSnapshotData_KeyValue) Unmarshal

func (m *RaftSnapshotData_KeyValue) Unmarshal(data []byte) error

type RaftTombstone

type RaftTombstone struct {
	NextReplicaID ReplicaID `protobuf:"varint,1,opt,name=next_replica_id,json=nextReplicaId,casttype=ReplicaID" json:"next_replica_id"`
}

RaftTombstone contains information about a replica that has been deleted.

func (*RaftTombstone) Descriptor

func (*RaftTombstone) Descriptor() ([]byte, []int)

func (*RaftTombstone) Marshal

func (m *RaftTombstone) Marshal() (data []byte, err error)

func (*RaftTombstone) MarshalTo

func (m *RaftTombstone) MarshalTo(data []byte) (int, error)

func (*RaftTombstone) ProtoMessage

func (*RaftTombstone) ProtoMessage()

func (*RaftTombstone) Reset

func (m *RaftTombstone) Reset()

func (*RaftTombstone) Size

func (m *RaftTombstone) Size() (n int)

func (*RaftTombstone) String

func (m *RaftTombstone) String() string

func (*RaftTombstone) Unmarshal

func (m *RaftTombstone) Unmarshal(data []byte) error

type RaftTruncatedState

type RaftTruncatedState struct {
	// The highest index that has been removed from the log.
	Index uint64 `protobuf:"varint,1,opt,name=index" json:"index"`
	// The term corresponding to 'index'.
	Term uint64 `protobuf:"varint,2,opt,name=term" json:"term"`
}

RaftTruncatedState contains metadata about the truncated portion of the raft log. Raft requires access to the term of the last truncated log entry even after the rest of the entry has been discarded.

func NewPopulatedRaftTruncatedState

func NewPopulatedRaftTruncatedState(r randyInternalRaft, easy bool) *RaftTruncatedState

func (*RaftTruncatedState) Descriptor

func (*RaftTruncatedState) Descriptor() ([]byte, []int)

func (*RaftTruncatedState) Marshal

func (m *RaftTruncatedState) Marshal() (data []byte, err error)

func (*RaftTruncatedState) MarshalTo

func (m *RaftTruncatedState) MarshalTo(data []byte) (int, error)

func (*RaftTruncatedState) ProtoMessage

func (*RaftTruncatedState) ProtoMessage()

func (*RaftTruncatedState) Reset

func (m *RaftTruncatedState) Reset()

func (*RaftTruncatedState) Size

func (m *RaftTruncatedState) Size() (n int)

func (*RaftTruncatedState) String

func (m *RaftTruncatedState) String() string

func (*RaftTruncatedState) Unmarshal

func (m *RaftTruncatedState) Unmarshal(data []byte) error

type RangeDescriptor

type RangeDescriptor struct {
	RangeID RangeID `protobuf:"varint,1,opt,name=range_id,json=rangeId,casttype=RangeID" json:"range_id"`
	// start_key is the first key which may be contained by this range.
	StartKey RKey `protobuf:"bytes,2,opt,name=start_key,json=startKey,casttype=RKey" json:"start_key,omitempty"`
	// end_key marks the end of the range's possible keys.  EndKey itself is not
	// contained in this range - it will be contained in the immediately
	// subsequent range.
	EndKey RKey `protobuf:"bytes,3,opt,name=end_key,json=endKey,casttype=RKey" json:"end_key,omitempty"`
	// replicas is the set of nodes/stores on which replicas of this
	// range are stored, the ordering being arbitrary and subject to
	// permutation.
	Replicas []ReplicaDescriptor `protobuf:"bytes,4,rep,name=replicas" json:"replicas"`
	// next_replica_id is a counter used to generate replica IDs.
	NextReplicaID ReplicaID `protobuf:"varint,5,opt,name=next_replica_id,json=nextReplicaId,casttype=ReplicaID" json:"next_replica_id"`
}

RangeDescriptor is the value stored in a range metadata key. A range is described using an inclusive start key, a non-inclusive end key, and a list of replicas where the range is stored.

func (RangeDescriptor) ContainsExclusiveEndKey

func (r RangeDescriptor) ContainsExclusiveEndKey(key RKey) bool

ContainsExclusiveEndKey returns whether this RangeDescriptor contains the specified end key.

func (RangeDescriptor) ContainsKey

func (r RangeDescriptor) ContainsKey(key RKey) bool

ContainsKey returns whether this RangeDescriptor contains the specified key.

func (RangeDescriptor) ContainsKeyRange

func (r RangeDescriptor) ContainsKeyRange(start, end RKey) bool

ContainsKeyRange returns whether this RangeDescriptor contains the specified key range from start (inclusive) to end (exclusive). If end is empty, returns ContainsKey(start).

func (*RangeDescriptor) Descriptor

func (*RangeDescriptor) Descriptor() ([]byte, []int)

func (RangeDescriptor) FindReplica

func (r RangeDescriptor) FindReplica(storeID StoreID) (int, *ReplicaDescriptor)

FindReplica returns the replica which matches the specified store ID. If no replica matches, (-1, nil) is returned.

func (RangeDescriptor) IsInitialized

func (r RangeDescriptor) IsInitialized() bool

IsInitialized returns false if this descriptor represents an uninitialized range. TODO(bdarnell): unify this with Validate().

func (*RangeDescriptor) Marshal

func (m *RangeDescriptor) Marshal() (data []byte, err error)

func (*RangeDescriptor) MarshalTo

func (m *RangeDescriptor) MarshalTo(data []byte) (int, error)

func (*RangeDescriptor) ProtoMessage

func (*RangeDescriptor) ProtoMessage()

func (RangeDescriptor) RSpan

func (r RangeDescriptor) RSpan() RSpan

RSpan returns the RangeDescriptor's resolved span.

func (*RangeDescriptor) Reset

func (m *RangeDescriptor) Reset()

func (*RangeDescriptor) Size

func (m *RangeDescriptor) Size() (n int)

func (*RangeDescriptor) String

func (m *RangeDescriptor) String() string

func (*RangeDescriptor) Unmarshal

func (m *RangeDescriptor) Unmarshal(data []byte) error

func (RangeDescriptor) Validate

func (r RangeDescriptor) Validate() error

Validate performs some basic validation of the contents of a range descriptor.

type RangeFrozenError

type RangeFrozenError struct {
	Desc RangeDescriptor `protobuf:"bytes,1,opt,name=desc" json:"desc"`
}

A RangeFrozenError indicates that a Range refused to process a Raft command due to being in frozen state.

func NewRangeFrozenError

func NewRangeFrozenError(desc RangeDescriptor) *RangeFrozenError

NewRangeFrozenError initializes a new RangeFrozenError.

func (*RangeFrozenError) Descriptor

func (*RangeFrozenError) Descriptor() ([]byte, []int)

func (*RangeFrozenError) Error

func (e *RangeFrozenError) Error() string

func (*RangeFrozenError) Marshal

func (m *RangeFrozenError) Marshal() (data []byte, err error)

func (*RangeFrozenError) MarshalTo

func (m *RangeFrozenError) MarshalTo(data []byte) (int, error)

func (*RangeFrozenError) ProtoMessage

func (*RangeFrozenError) ProtoMessage()

func (*RangeFrozenError) Reset

func (m *RangeFrozenError) Reset()

func (*RangeFrozenError) Size

func (m *RangeFrozenError) Size() (n int)

func (*RangeFrozenError) String

func (m *RangeFrozenError) String() string

func (*RangeFrozenError) Unmarshal

func (m *RangeFrozenError) Unmarshal(data []byte) error

type RangeID

type RangeID int64

A RangeID is a unique ID associated to a Raft consensus group.

func (RangeID) String

func (r RangeID) String() string

String implements the fmt.Stringer interface.

type RangeIDSlice

type RangeIDSlice []RangeID

RangeIDSlice implements sort.Interface.

func (RangeIDSlice) Len

func (r RangeIDSlice) Len() int

func (RangeIDSlice) Less

func (r RangeIDSlice) Less(i, j int) bool

func (RangeIDSlice) Swap

func (r RangeIDSlice) Swap(i, j int)

type RangeKeyMismatchError

type RangeKeyMismatchError struct {
	RequestStartKey Key `protobuf:"bytes,1,opt,name=request_start_key,json=requestStartKey,casttype=Key" json:"request_start_key,omitempty"`
	RequestEndKey   Key `protobuf:"bytes,2,opt,name=request_end_key,json=requestEndKey,casttype=Key" json:"request_end_key,omitempty"`
	// mismatched_range is the range that the command was incorrectly sent to.
	// This descriptor will be populated in either of two scenarios:
	// - the command specified a RangeID in its header but the corresponding
	//   range did not fully contain the request's key(s). If so, that specified
	//   range's descriptor will be returned.
	// - the command did not specify a RangeID in its header and the store
	//   it was sent to was not able to find a corresponding range that
	//   fully contained the request. If no range contains the request's
	//   start key, mismatched_range will be nil. If a range contains the
	//   request's start key but the request spans multiple ranges,
	//   mismatched_range will be the descriptor of the range which contains
	//   the start_key of the request.
	MismatchedRange *RangeDescriptor `protobuf:"bytes,3,opt,name=mismatched_range,json=mismatchedRange" json:"mismatched_range,omitempty"`
	// suggested_range is a hint to the sender of a command about the range
	// they may be looking for. This suggestion should be the result of a
	// best effort lookup, and makes no guarantees about correctness.
	SuggestedRange *RangeDescriptor `protobuf:"bytes,4,opt,name=suggested_range,json=suggestedRange" json:"suggested_range,omitempty"`
}

A RangeKeyMismatchError indicates that a command was sent to a range which did not contain the key(s) specified by the command.

func NewRangeKeyMismatchError

func NewRangeKeyMismatchError(start, end Key, desc *RangeDescriptor) *RangeKeyMismatchError

NewRangeKeyMismatchError initializes a new RangeKeyMismatchError.

func (*RangeKeyMismatchError) Descriptor

func (*RangeKeyMismatchError) Descriptor() ([]byte, []int)

func (*RangeKeyMismatchError) Error

func (e *RangeKeyMismatchError) Error() string

func (*RangeKeyMismatchError) Marshal

func (m *RangeKeyMismatchError) Marshal() (data []byte, err error)

func (*RangeKeyMismatchError) MarshalTo

func (m *RangeKeyMismatchError) MarshalTo(data []byte) (int, error)

func (*RangeKeyMismatchError) ProtoMessage

func (*RangeKeyMismatchError) ProtoMessage()

func (*RangeKeyMismatchError) Reset

func (m *RangeKeyMismatchError) Reset()

func (*RangeKeyMismatchError) Size

func (m *RangeKeyMismatchError) Size() (n int)

func (*RangeKeyMismatchError) String

func (m *RangeKeyMismatchError) String() string

func (*RangeKeyMismatchError) Unmarshal

func (m *RangeKeyMismatchError) Unmarshal(data []byte) error

type RangeLookupRequest

type RangeLookupRequest struct {
	Span      `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	MaxRanges int32 `protobuf:"varint,2,opt,name=max_ranges,json=maxRanges" json:"max_ranges"`
	// consider_intents indicates whether or not intents encountered
	// while looking up the range info should be returned to the caller.
	// This is intended to be used when retrying due to range addressing
	// errors.
	ConsiderIntents bool `protobuf:"varint,3,opt,name=consider_intents,json=considerIntents" json:"consider_intents"`
	// Use a reverse scan to pre-fill the range descriptor cache instead
	// of an ascending scan.
	Reverse bool `protobuf:"varint,4,opt,name=reverse" json:"reverse"`
}

A RangeLookupRequest is arguments to the RangeLookup() method. A forward lookup request returns a range containing the requested key. A reverse lookup request returns a range containing the previous key of the requested key (e.g., if a requested key is the end key of range R, the reverse lookup request returns R).

RangeLookupRequest also specifies the maximum number of range descriptors that should be returned, if there are additional consecutive addressable ranges. Specify max_ranges > 1 to pre-fill the range descriptor cache. The additional ranges are scanned in the same direction as lookup (forward v.s. reverse).

func (*RangeLookupRequest) Descriptor

func (*RangeLookupRequest) Descriptor() ([]byte, []int)

func (*RangeLookupRequest) Marshal

func (m *RangeLookupRequest) Marshal() (data []byte, err error)

func (*RangeLookupRequest) MarshalTo

func (m *RangeLookupRequest) MarshalTo(data []byte) (int, error)

func (*RangeLookupRequest) Method

func (*RangeLookupRequest) Method() Method

Method implements the Request interface.

func (*RangeLookupRequest) ProtoMessage

func (*RangeLookupRequest) ProtoMessage()

func (*RangeLookupRequest) Reset

func (m *RangeLookupRequest) Reset()

func (*RangeLookupRequest) ShallowCopy

func (rlr *RangeLookupRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*RangeLookupRequest) Size

func (m *RangeLookupRequest) Size() (n int)

func (*RangeLookupRequest) String

func (m *RangeLookupRequest) String() string

func (*RangeLookupRequest) Unmarshal

func (m *RangeLookupRequest) Unmarshal(data []byte) error

type RangeLookupResponse

type RangeLookupResponse struct {
	ResponseHeader   `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	Ranges           []RangeDescriptor `protobuf:"bytes,2,rep,name=ranges" json:"ranges"`
	PrefetchedRanges []RangeDescriptor `protobuf:"bytes,3,rep,name=prefetched_ranges,json=prefetchedRanges" json:"prefetched_ranges"`
}

A RangeLookupResponse is the return value from the RangeLookup() method. It returns metadata for the range containing the requested key, optionally returning the metadata for additional consecutive ranges beyond the requested range to pre-fill the range descriptor cache.

func (*RangeLookupResponse) Descriptor

func (*RangeLookupResponse) Descriptor() ([]byte, []int)

func (*RangeLookupResponse) Marshal

func (m *RangeLookupResponse) Marshal() (data []byte, err error)

func (*RangeLookupResponse) MarshalTo

func (m *RangeLookupResponse) MarshalTo(data []byte) (int, error)

func (*RangeLookupResponse) ProtoMessage

func (*RangeLookupResponse) ProtoMessage()

func (*RangeLookupResponse) Reset

func (m *RangeLookupResponse) Reset()

func (*RangeLookupResponse) Size

func (m *RangeLookupResponse) Size() (n int)

func (*RangeLookupResponse) String

func (m *RangeLookupResponse) String() string

func (*RangeLookupResponse) Unmarshal

func (m *RangeLookupResponse) Unmarshal(data []byte) error

type RangeNotFoundError

type RangeNotFoundError struct {
	RangeID RangeID `protobuf:"varint,1,opt,name=range_id,json=rangeId,casttype=RangeID" json:"range_id"`
}

A RangeNotFoundError indicates that a command was sent to a range which is not hosted on this store.

func NewRangeNotFoundError

func NewRangeNotFoundError(rangeID RangeID) *RangeNotFoundError

NewRangeNotFoundError initializes a new RangeNotFoundError.

func (*RangeNotFoundError) Descriptor

func (*RangeNotFoundError) Descriptor() ([]byte, []int)

func (*RangeNotFoundError) Error

func (e *RangeNotFoundError) Error() string

func (*RangeNotFoundError) Marshal

func (m *RangeNotFoundError) Marshal() (data []byte, err error)

func (*RangeNotFoundError) MarshalTo

func (m *RangeNotFoundError) MarshalTo(data []byte) (int, error)

func (*RangeNotFoundError) ProtoMessage

func (*RangeNotFoundError) ProtoMessage()

func (*RangeNotFoundError) Reset

func (m *RangeNotFoundError) Reset()

func (*RangeNotFoundError) Size

func (m *RangeNotFoundError) Size() (n int)

func (*RangeNotFoundError) String

func (m *RangeNotFoundError) String() string

func (*RangeNotFoundError) Unmarshal

func (m *RangeNotFoundError) Unmarshal(data []byte) error

type ReadConsistencyType

type ReadConsistencyType int32

ReadConsistencyType specifies what type of consistency is observed during read operations.

const (
	// CONSISTENT reads are guaranteed to read committed data; the
	// mechanism relies on clocks to determine lease expirations.
	CONSISTENT ReadConsistencyType = 0
	// CONSENSUS requires that reads must achieve consensus. This is a
	// stronger guarantee of consistency than CONSISTENT.
	//
	// TODO(spencer): current unimplemented.
	CONSENSUS ReadConsistencyType = 1
	// INCONSISTENT reads return the latest available, committed values.
	// They are more efficient, but may read stale values as pending
	// intents are ignored.
	INCONSISTENT ReadConsistencyType = 2
)

func (ReadConsistencyType) Enum

func (ReadConsistencyType) EnumDescriptor

func (ReadConsistencyType) EnumDescriptor() ([]byte, []int)

func (ReadConsistencyType) String

func (x ReadConsistencyType) String() string

func (*ReadConsistencyType) UnmarshalJSON

func (x *ReadConsistencyType) UnmarshalJSON(data []byte) error

type ReadWithinUncertaintyIntervalError

type ReadWithinUncertaintyIntervalError struct {
	ReadTimestamp     Timestamp `protobuf:"bytes,1,opt,name=read_timestamp,json=readTimestamp" json:"read_timestamp"`
	ExistingTimestamp Timestamp `protobuf:"bytes,2,opt,name=existing_timestamp,json=existingTimestamp" json:"existing_timestamp"`
}

A ReadWithinUncertaintyIntervalError indicates that a read at timestamp encountered a write within the uncertainty interval of the reader. The read should be retried at a higher timestamp; the timestamps contained within are purely informational, though typically existing_timestamp is a lower bound for a new timestamp at which at least the read producing this error would succeed on retry.

func NewReadWithinUncertaintyIntervalError

func NewReadWithinUncertaintyIntervalError(readTS, existingTS Timestamp) *ReadWithinUncertaintyIntervalError

NewReadWithinUncertaintyIntervalError creates a new uncertainty retry error. The read and existing timestamps are purely informational and used for formatting the error message.

func (*ReadWithinUncertaintyIntervalError) Descriptor

func (*ReadWithinUncertaintyIntervalError) Descriptor() ([]byte, []int)

func (*ReadWithinUncertaintyIntervalError) Error

func (*ReadWithinUncertaintyIntervalError) Marshal

func (m *ReadWithinUncertaintyIntervalError) Marshal() (data []byte, err error)

func (*ReadWithinUncertaintyIntervalError) MarshalTo

func (m *ReadWithinUncertaintyIntervalError) MarshalTo(data []byte) (int, error)

func (*ReadWithinUncertaintyIntervalError) ProtoMessage

func (*ReadWithinUncertaintyIntervalError) ProtoMessage()

func (*ReadWithinUncertaintyIntervalError) Reset

func (*ReadWithinUncertaintyIntervalError) Size

func (*ReadWithinUncertaintyIntervalError) String

func (*ReadWithinUncertaintyIntervalError) Unmarshal

func (m *ReadWithinUncertaintyIntervalError) Unmarshal(data []byte) error

type ReplicaChangeType

type ReplicaChangeType int32

ReplicaChangeType is a parameter of ChangeReplicasTrigger.

const (
	ADD_REPLICA    ReplicaChangeType = 0
	REMOVE_REPLICA ReplicaChangeType = 1
)

func (ReplicaChangeType) Enum

func (ReplicaChangeType) EnumDescriptor

func (ReplicaChangeType) EnumDescriptor() ([]byte, []int)

func (ReplicaChangeType) String

func (x ReplicaChangeType) String() string

func (*ReplicaChangeType) UnmarshalJSON

func (x *ReplicaChangeType) UnmarshalJSON(data []byte) error

type ReplicaCorruptionError

type ReplicaCorruptionError struct {
	ErrorMsg string `protobuf:"bytes,1,opt,name=error_msg,json=errorMsg" json:"error_msg"`
	// processed indicates that the error has been taken into account and
	// necessary steps will be taken. For now, required for testing.
	Processed bool `protobuf:"varint,2,opt,name=processed" json:"processed"`
}

A ReplicaCorruptionError indicates that the replica has experienced an error which puts its integrity at risk.

func (*ReplicaCorruptionError) Descriptor

func (*ReplicaCorruptionError) Descriptor() ([]byte, []int)

func (*ReplicaCorruptionError) Error

func (e *ReplicaCorruptionError) Error() string

func (*ReplicaCorruptionError) Marshal

func (m *ReplicaCorruptionError) Marshal() (data []byte, err error)

func (*ReplicaCorruptionError) MarshalTo

func (m *ReplicaCorruptionError) MarshalTo(data []byte) (int, error)

func (*ReplicaCorruptionError) ProtoMessage

func (*ReplicaCorruptionError) ProtoMessage()

func (*ReplicaCorruptionError) Reset

func (m *ReplicaCorruptionError) Reset()

func (*ReplicaCorruptionError) Size

func (m *ReplicaCorruptionError) Size() (n int)

func (*ReplicaCorruptionError) String

func (m *ReplicaCorruptionError) String() string

func (*ReplicaCorruptionError) Unmarshal

func (m *ReplicaCorruptionError) Unmarshal(data []byte) error

type ReplicaDescriptor

type ReplicaDescriptor struct {
	NodeID  NodeID  `protobuf:"varint,1,opt,name=node_id,json=nodeId,casttype=NodeID" json:"node_id"`
	StoreID StoreID `protobuf:"varint,2,opt,name=store_id,json=storeId,casttype=StoreID" json:"store_id"`
	// replica_id uniquely identifies a replica instance. If a range is removed from
	// a store and then re-added to the same store, the new instance will have a
	// higher replica_id.
	ReplicaID ReplicaID `protobuf:"varint,3,opt,name=replica_id,json=replicaId,casttype=ReplicaID" json:"replica_id"`
}

ReplicaDescriptor describes a replica location by node ID (corresponds to a host:port via lookup on gossip network) and store ID (identifies the device).

func NewPopulatedReplicaDescriptor

func NewPopulatedReplicaDescriptor(r randyMetadata, easy bool) *ReplicaDescriptor

func (*ReplicaDescriptor) Descriptor

func (*ReplicaDescriptor) Descriptor() ([]byte, []int)

func (*ReplicaDescriptor) Marshal

func (m *ReplicaDescriptor) Marshal() (data []byte, err error)

func (*ReplicaDescriptor) MarshalTo

func (m *ReplicaDescriptor) MarshalTo(data []byte) (int, error)

func (*ReplicaDescriptor) ProtoMessage

func (*ReplicaDescriptor) ProtoMessage()

func (*ReplicaDescriptor) Reset

func (m *ReplicaDescriptor) Reset()

func (*ReplicaDescriptor) Size

func (m *ReplicaDescriptor) Size() (n int)

func (*ReplicaDescriptor) String

func (m *ReplicaDescriptor) String() string

func (*ReplicaDescriptor) Unmarshal

func (m *ReplicaDescriptor) Unmarshal(data []byte) error

func (ReplicaDescriptor) Validate

func (r ReplicaDescriptor) Validate() error

Validate performs some basic validation of the contents of a replica descriptor.

type ReplicaID

type ReplicaID int32

ReplicaID is a custom type for a range replica ID.

func (ReplicaID) String

func (r ReplicaID) String() string

String implements the fmt.Stringer interface.

type Request

type Request interface {
	proto.Message
	// Header returns the request header.
	Header() Span
	// SetHeader sets the request header.
	SetHeader(Span)
	// Method returns the request method.
	Method() Method
	// ShallowCopy returns a shallow copy of the receiver.
	ShallowCopy() Request
	// contains filtered or unexported methods
}

Request is an interface for RPC requests.

func NewChangeFrozen

func NewChangeFrozen(key, endKey Key, frozen bool, mustVersion string) Request

NewChangeFrozen returns a Request initialized to scan from start to end keys.

func NewCheckConsistency

func NewCheckConsistency(key, endKey Key, withDiff bool) Request

NewCheckConsistency returns a Request initialized to scan from start to end keys.

func NewConditionalPut

func NewConditionalPut(key Key, value, expValue Value) Request

NewConditionalPut returns a Request initialized to put value as a byte slice at key if the existing value at key equals expValueBytes.

func NewDelete

func NewDelete(key Key) Request

NewDelete returns a Request initialized to delete the value at key.

func NewDeleteRange

func NewDeleteRange(startKey, endKey Key, returnKeys bool) Request

NewDeleteRange returns a Request initialized to delete the values in the given key range (excluding the endpoint).

func NewGet

func NewGet(key Key) Request

NewGet returns a Request initialized to get the value at key.

func NewIncrement

func NewIncrement(key Key, increment int64) Request

NewIncrement returns a Request initialized to increment the value at key by increment.

func NewInitPut

func NewInitPut(key Key, value Value) Request

NewInitPut returns a Request initialized to put the value at key, as long as the key doesn't exist, returning an error if the key exists and the existing value is different from value.

func NewPut

func NewPut(key Key, value Value) Request

NewPut returns a Request initialized to put the value at key.

func NewPutInline

func NewPutInline(key Key, value Value) Request

NewPutInline returns a Request initialized to put the value at key using an inline value.

func NewReverseScan

func NewReverseScan(key, endKey Key, maxResults int64) Request

NewReverseScan returns a Request initialized to reverse scan from end to start keys with max results.

func NewScan

func NewScan(key, endKey Key, maxResults int64) Request

NewScan returns a Request initialized to scan from start to end keys with max results.

type RequestUnion

type RequestUnion struct {
	Get                *GetRequest                `protobuf:"bytes,1,opt,name=get" json:"get,omitempty"`
	Put                *PutRequest                `protobuf:"bytes,2,opt,name=put" json:"put,omitempty"`
	ConditionalPut     *ConditionalPutRequest     `protobuf:"bytes,3,opt,name=conditional_put,json=conditionalPut" json:"conditional_put,omitempty"`
	Increment          *IncrementRequest          `protobuf:"bytes,4,opt,name=increment" json:"increment,omitempty"`
	Delete             *DeleteRequest             `protobuf:"bytes,5,opt,name=delete" json:"delete,omitempty"`
	DeleteRange        *DeleteRangeRequest        `protobuf:"bytes,6,opt,name=delete_range,json=deleteRange" json:"delete_range,omitempty"`
	Scan               *ScanRequest               `protobuf:"bytes,7,opt,name=scan" json:"scan,omitempty"`
	BeginTransaction   *BeginTransactionRequest   `protobuf:"bytes,8,opt,name=begin_transaction,json=beginTransaction" json:"begin_transaction,omitempty"`
	EndTransaction     *EndTransactionRequest     `protobuf:"bytes,9,opt,name=end_transaction,json=endTransaction" json:"end_transaction,omitempty"`
	AdminSplit         *AdminSplitRequest         `protobuf:"bytes,10,opt,name=admin_split,json=adminSplit" json:"admin_split,omitempty"`
	AdminMerge         *AdminMergeRequest         `protobuf:"bytes,11,opt,name=admin_merge,json=adminMerge" json:"admin_merge,omitempty"`
	HeartbeatTxn       *HeartbeatTxnRequest       `protobuf:"bytes,12,opt,name=heartbeat_txn,json=heartbeatTxn" json:"heartbeat_txn,omitempty"`
	Gc                 *GCRequest                 `protobuf:"bytes,13,opt,name=gc" json:"gc,omitempty"`
	PushTxn            *PushTxnRequest            `protobuf:"bytes,14,opt,name=push_txn,json=pushTxn" json:"push_txn,omitempty"`
	RangeLookup        *RangeLookupRequest        `protobuf:"bytes,15,opt,name=range_lookup,json=rangeLookup" json:"range_lookup,omitempty"`
	ResolveIntent      *ResolveIntentRequest      `protobuf:"bytes,16,opt,name=resolve_intent,json=resolveIntent" json:"resolve_intent,omitempty"`
	ResolveIntentRange *ResolveIntentRangeRequest `protobuf:"bytes,17,opt,name=resolve_intent_range,json=resolveIntentRange" json:"resolve_intent_range,omitempty"`
	Merge              *MergeRequest              `protobuf:"bytes,18,opt,name=merge" json:"merge,omitempty"`
	TruncateLog        *TruncateLogRequest        `protobuf:"bytes,19,opt,name=truncate_log,json=truncateLog" json:"truncate_log,omitempty"`
	LeaderLease        *LeaderLeaseRequest        `protobuf:"bytes,20,opt,name=leader_lease,json=leaderLease" json:"leader_lease,omitempty"`
	ReverseScan        *ReverseScanRequest        `protobuf:"bytes,21,opt,name=reverse_scan,json=reverseScan" json:"reverse_scan,omitempty"`
	ComputeChecksum    *ComputeChecksumRequest    `protobuf:"bytes,22,opt,name=compute_checksum,json=computeChecksum" json:"compute_checksum,omitempty"`
	VerifyChecksum     *VerifyChecksumRequest     `protobuf:"bytes,23,opt,name=verify_checksum,json=verifyChecksum" json:"verify_checksum,omitempty"`
	CheckConsistency   *CheckConsistencyRequest   `protobuf:"bytes,24,opt,name=check_consistency,json=checkConsistency" json:"check_consistency,omitempty"`
	Noop               *NoopRequest               `protobuf:"bytes,25,opt,name=noop" json:"noop,omitempty"`
	InitPut            *InitPutRequest            `protobuf:"bytes,26,opt,name=init_put,json=initPut" json:"init_put,omitempty"`
	ChangeFrozen       *ChangeFrozenRequest       `protobuf:"bytes,27,opt,name=change_frozen,json=changeFrozen" json:"change_frozen,omitempty"`
}

A RequestUnion contains exactly one of the optional requests. The values added here must match those in ResponseUnion.

func (*RequestUnion) Descriptor

func (*RequestUnion) Descriptor() ([]byte, []int)

func (RequestUnion) GetInner

func (ru RequestUnion) GetInner() Request

GetInner returns the Request contained in the union.

func (*RequestUnion) GetValue

func (this *RequestUnion) GetValue() interface{}

func (*RequestUnion) Marshal

func (m *RequestUnion) Marshal() (data []byte, err error)

func (*RequestUnion) MarshalTo

func (m *RequestUnion) MarshalTo(data []byte) (int, error)

func (*RequestUnion) MustSetInner

func (ru *RequestUnion) MustSetInner(args Request)

MustSetInner sets the Request contained in the union. It panics if the request is not recognized by the union type. The RequestUnion is reset before being repopulated.

func (*RequestUnion) ProtoMessage

func (*RequestUnion) ProtoMessage()

func (*RequestUnion) Reset

func (m *RequestUnion) Reset()

func (*RequestUnion) SetValue

func (this *RequestUnion) SetValue(value interface{}) bool

func (*RequestUnion) Size

func (m *RequestUnion) Size() (n int)

func (*RequestUnion) String

func (m *RequestUnion) String() string

func (*RequestUnion) Unmarshal

func (m *RequestUnion) Unmarshal(data []byte) error

type ReservationRequest

type ReservationRequest struct {
	StoreRequestHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	FromNodeID         NodeID  `protobuf:"varint,2,opt,name=from_node_id,json=fromNodeId,casttype=NodeID" json:"from_node_id"`
	FromStoreID        StoreID `protobuf:"varint,3,opt,name=from_store_id,json=fromStoreId,casttype=StoreID" json:"from_store_id"`
	RangeID            RangeID `protobuf:"varint,4,opt,name=range_id,json=rangeId,casttype=RangeID" json:"range_id"`
	RangeSize          int64   `protobuf:"varint,5,opt,name=range_size,json=rangeSize" json:"range_size"`
}

A ReservationRequest asks the addressed Store to reserve the space for a new replica for the Range of RangeID reserving RangeSize bytes.

func (*ReservationRequest) Descriptor

func (*ReservationRequest) Descriptor() ([]byte, []int)

func (*ReservationRequest) Marshal

func (m *ReservationRequest) Marshal() (data []byte, err error)

func (*ReservationRequest) MarshalTo

func (m *ReservationRequest) MarshalTo(data []byte) (int, error)

func (*ReservationRequest) ProtoMessage

func (*ReservationRequest) ProtoMessage()

func (*ReservationRequest) Reset

func (m *ReservationRequest) Reset()

func (*ReservationRequest) Size

func (m *ReservationRequest) Size() (n int)

func (*ReservationRequest) String

func (m *ReservationRequest) String() string

func (*ReservationRequest) Unmarshal

func (m *ReservationRequest) Unmarshal(data []byte) error

type ReservationResponse

type ReservationResponse struct {
	Reserved bool `protobuf:"varint,1,opt,name=reserved" json:"reserved"`
}

A ReservationResponse is the repoonse returned from a ReservationRequest.

func (*ReservationResponse) Descriptor

func (*ReservationResponse) Descriptor() ([]byte, []int)

func (*ReservationResponse) Marshal

func (m *ReservationResponse) Marshal() (data []byte, err error)

func (*ReservationResponse) MarshalTo

func (m *ReservationResponse) MarshalTo(data []byte) (int, error)

func (*ReservationResponse) ProtoMessage

func (*ReservationResponse) ProtoMessage()

func (*ReservationResponse) Reset

func (m *ReservationResponse) Reset()

func (*ReservationResponse) Size

func (m *ReservationResponse) Size() (n int)

func (*ReservationResponse) String

func (m *ReservationResponse) String() string

func (*ReservationResponse) Unmarshal

func (m *ReservationResponse) Unmarshal(data []byte) error

type ResolveIntentRangeRequest

type ResolveIntentRangeRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// The transaction whose intents are being resolved.
	IntentTxn TxnMeta `protobuf:"bytes,2,opt,name=intent_txn,json=intentTxn" json:"intent_txn"`
	// The status of the transaction.
	Status TransactionStatus `protobuf:"varint,3,opt,name=status,enum=cockroach.roachpb.TransactionStatus" json:"status"`
	// Optionally poison the sequence cache for the transaction on all ranges
	// on which the intents reside.
	Poison bool `protobuf:"varint,4,opt,name=poison" json:"poison"`
}

A ResolveIntentRangeRequest is arguments to the ResolveIntentRange() method. It is sent by transaction coordinators after success calling PushTxn to clean up write intents: either to remove, commit or move them forward in time.

func (*ResolveIntentRangeRequest) Descriptor

func (*ResolveIntentRangeRequest) Descriptor() ([]byte, []int)

func (*ResolveIntentRangeRequest) Marshal

func (m *ResolveIntentRangeRequest) Marshal() (data []byte, err error)

func (*ResolveIntentRangeRequest) MarshalTo

func (m *ResolveIntentRangeRequest) MarshalTo(data []byte) (int, error)

func (*ResolveIntentRangeRequest) Method

Method implements the Request interface.

func (*ResolveIntentRangeRequest) ProtoMessage

func (*ResolveIntentRangeRequest) ProtoMessage()

func (*ResolveIntentRangeRequest) Reset

func (m *ResolveIntentRangeRequest) Reset()

func (*ResolveIntentRangeRequest) ShallowCopy

func (rirr *ResolveIntentRangeRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*ResolveIntentRangeRequest) Size

func (m *ResolveIntentRangeRequest) Size() (n int)

func (*ResolveIntentRangeRequest) String

func (m *ResolveIntentRangeRequest) String() string

func (*ResolveIntentRangeRequest) Unmarshal

func (m *ResolveIntentRangeRequest) Unmarshal(data []byte) error

type ResolveIntentRangeResponse

type ResolveIntentRangeResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A ResolveIntentRangeResponse is the return value from the ResolveIntent() method.

func (*ResolveIntentRangeResponse) Descriptor

func (*ResolveIntentRangeResponse) Descriptor() ([]byte, []int)

func (*ResolveIntentRangeResponse) Marshal

func (m *ResolveIntentRangeResponse) Marshal() (data []byte, err error)

func (*ResolveIntentRangeResponse) MarshalTo

func (m *ResolveIntentRangeResponse) MarshalTo(data []byte) (int, error)

func (*ResolveIntentRangeResponse) ProtoMessage

func (*ResolveIntentRangeResponse) ProtoMessage()

func (*ResolveIntentRangeResponse) Reset

func (m *ResolveIntentRangeResponse) Reset()

func (*ResolveIntentRangeResponse) Size

func (m *ResolveIntentRangeResponse) Size() (n int)

func (*ResolveIntentRangeResponse) String

func (m *ResolveIntentRangeResponse) String() string

func (*ResolveIntentRangeResponse) Unmarshal

func (m *ResolveIntentRangeResponse) Unmarshal(data []byte) error

type ResolveIntentRequest

type ResolveIntentRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// The transaction whose intent is being resolved.
	IntentTxn TxnMeta `protobuf:"bytes,2,opt,name=intent_txn,json=intentTxn" json:"intent_txn"`
	// The status of the transaction.
	Status TransactionStatus `protobuf:"varint,3,opt,name=status,enum=cockroach.roachpb.TransactionStatus" json:"status"`
	// Optionally poison the sequence cache for the transaction the intent's
	// range.
	Poison bool `protobuf:"varint,4,opt,name=poison" json:"poison"`
}

A ResolveIntentRequest is arguments to the ResolveIntent() method. It is sent by transaction coordinators after success calling PushTxn to clean up write intents: either to remove, commit or move them forward in time.

func (*ResolveIntentRequest) Descriptor

func (*ResolveIntentRequest) Descriptor() ([]byte, []int)

func (*ResolveIntentRequest) Marshal

func (m *ResolveIntentRequest) Marshal() (data []byte, err error)

func (*ResolveIntentRequest) MarshalTo

func (m *ResolveIntentRequest) MarshalTo(data []byte) (int, error)

func (*ResolveIntentRequest) Method

func (*ResolveIntentRequest) Method() Method

Method implements the Request interface.

func (*ResolveIntentRequest) ProtoMessage

func (*ResolveIntentRequest) ProtoMessage()

func (*ResolveIntentRequest) Reset

func (m *ResolveIntentRequest) Reset()

func (*ResolveIntentRequest) ShallowCopy

func (rir *ResolveIntentRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*ResolveIntentRequest) Size

func (m *ResolveIntentRequest) Size() (n int)

func (*ResolveIntentRequest) String

func (m *ResolveIntentRequest) String() string

func (*ResolveIntentRequest) Unmarshal

func (m *ResolveIntentRequest) Unmarshal(data []byte) error

type ResolveIntentResponse

type ResolveIntentResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A ResolveIntentResponse is the return value from the ResolveIntent() method.

func (*ResolveIntentResponse) Descriptor

func (*ResolveIntentResponse) Descriptor() ([]byte, []int)

func (*ResolveIntentResponse) Marshal

func (m *ResolveIntentResponse) Marshal() (data []byte, err error)

func (*ResolveIntentResponse) MarshalTo

func (m *ResolveIntentResponse) MarshalTo(data []byte) (int, error)

func (*ResolveIntentResponse) ProtoMessage

func (*ResolveIntentResponse) ProtoMessage()

func (*ResolveIntentResponse) Reset

func (m *ResolveIntentResponse) Reset()

func (*ResolveIntentResponse) Size

func (m *ResolveIntentResponse) Size() (n int)

func (*ResolveIntentResponse) String

func (m *ResolveIntentResponse) String() string

func (*ResolveIntentResponse) Unmarshal

func (m *ResolveIntentResponse) Unmarshal(data []byte) error

type Response

type Response interface {
	proto.Message
	// Header returns the response header.
	Header() ResponseHeader
	// SetHeader sets the response header.
	SetHeader(ResponseHeader)
	// Verify verifies response integrity, as applicable.
	Verify(req Request) error
}

Response is an interface for RPC responses.

type ResponseHeader

type ResponseHeader struct {
	// txn is non-nil if the request specified a non-nil transaction.
	// The transaction timestamp and/or priority may have been updated,
	// depending on the outcome of the request.
	Txn *Transaction `protobuf:"bytes,3,opt,name=txn" json:"txn,omitempty"`
}

ResponseHeader is returned with every storage node response.

func (*ResponseHeader) Descriptor

func (*ResponseHeader) Descriptor() ([]byte, []int)

func (ResponseHeader) Header

func (rh ResponseHeader) Header() ResponseHeader

Header implements the Response interface for ResponseHeader.

func (*ResponseHeader) Marshal

func (m *ResponseHeader) Marshal() (data []byte, err error)

func (*ResponseHeader) MarshalTo

func (m *ResponseHeader) MarshalTo(data []byte) (int, error)

func (*ResponseHeader) ProtoMessage

func (*ResponseHeader) ProtoMessage()

func (*ResponseHeader) Reset

func (m *ResponseHeader) Reset()

func (*ResponseHeader) SetHeader

func (rh *ResponseHeader) SetHeader(other ResponseHeader)

SetHeader implements the Response interface.

func (*ResponseHeader) Size

func (m *ResponseHeader) Size() (n int)

func (*ResponseHeader) String

func (m *ResponseHeader) String() string

func (*ResponseHeader) Unmarshal

func (m *ResponseHeader) Unmarshal(data []byte) error

func (*ResponseHeader) Verify

func (rh *ResponseHeader) Verify(req Request) error

Verify implements the Response interface for ResopnseHeader with a default noop. Individual response types should override this method if they contain checksummed data which can be verified.

type ResponseUnion

type ResponseUnion struct {
	Get                *GetResponse                `protobuf:"bytes,1,opt,name=get" json:"get,omitempty"`
	Put                *PutResponse                `protobuf:"bytes,2,opt,name=put" json:"put,omitempty"`
	ConditionalPut     *ConditionalPutResponse     `protobuf:"bytes,3,opt,name=conditional_put,json=conditionalPut" json:"conditional_put,omitempty"`
	Increment          *IncrementResponse          `protobuf:"bytes,4,opt,name=increment" json:"increment,omitempty"`
	Delete             *DeleteResponse             `protobuf:"bytes,5,opt,name=delete" json:"delete,omitempty"`
	DeleteRange        *DeleteRangeResponse        `protobuf:"bytes,6,opt,name=delete_range,json=deleteRange" json:"delete_range,omitempty"`
	Scan               *ScanResponse               `protobuf:"bytes,7,opt,name=scan" json:"scan,omitempty"`
	BeginTransaction   *BeginTransactionResponse   `protobuf:"bytes,8,opt,name=begin_transaction,json=beginTransaction" json:"begin_transaction,omitempty"`
	EndTransaction     *EndTransactionResponse     `protobuf:"bytes,9,opt,name=end_transaction,json=endTransaction" json:"end_transaction,omitempty"`
	AdminSplit         *AdminSplitResponse         `protobuf:"bytes,10,opt,name=admin_split,json=adminSplit" json:"admin_split,omitempty"`
	AdminMerge         *AdminMergeResponse         `protobuf:"bytes,11,opt,name=admin_merge,json=adminMerge" json:"admin_merge,omitempty"`
	HeartbeatTxn       *HeartbeatTxnResponse       `protobuf:"bytes,12,opt,name=heartbeat_txn,json=heartbeatTxn" json:"heartbeat_txn,omitempty"`
	Gc                 *GCResponse                 `protobuf:"bytes,13,opt,name=gc" json:"gc,omitempty"`
	PushTxn            *PushTxnResponse            `protobuf:"bytes,14,opt,name=push_txn,json=pushTxn" json:"push_txn,omitempty"`
	RangeLookup        *RangeLookupResponse        `protobuf:"bytes,15,opt,name=range_lookup,json=rangeLookup" json:"range_lookup,omitempty"`
	ResolveIntent      *ResolveIntentResponse      `protobuf:"bytes,16,opt,name=resolve_intent,json=resolveIntent" json:"resolve_intent,omitempty"`
	ResolveIntentRange *ResolveIntentRangeResponse `protobuf:"bytes,17,opt,name=resolve_intent_range,json=resolveIntentRange" json:"resolve_intent_range,omitempty"`
	Merge              *MergeResponse              `protobuf:"bytes,18,opt,name=merge" json:"merge,omitempty"`
	TruncateLog        *TruncateLogResponse        `protobuf:"bytes,19,opt,name=truncate_log,json=truncateLog" json:"truncate_log,omitempty"`
	LeaderLease        *LeaderLeaseResponse        `protobuf:"bytes,20,opt,name=leader_lease,json=leaderLease" json:"leader_lease,omitempty"`
	ReverseScan        *ReverseScanResponse        `protobuf:"bytes,21,opt,name=reverse_scan,json=reverseScan" json:"reverse_scan,omitempty"`
	ComputeChecksum    *ComputeChecksumResponse    `protobuf:"bytes,22,opt,name=compute_checksum,json=computeChecksum" json:"compute_checksum,omitempty"`
	VerifyChecksum     *VerifyChecksumResponse     `protobuf:"bytes,23,opt,name=verify_checksum,json=verifyChecksum" json:"verify_checksum,omitempty"`
	CheckConsistency   *CheckConsistencyResponse   `protobuf:"bytes,24,opt,name=check_consistency,json=checkConsistency" json:"check_consistency,omitempty"`
	Noop               *NoopResponse               `protobuf:"bytes,25,opt,name=noop" json:"noop,omitempty"`
	InitPut            *InitPutResponse            `protobuf:"bytes,26,opt,name=init_put,json=initPut" json:"init_put,omitempty"`
	ChangeFrozen       *ChangeFrozenResponse       `protobuf:"bytes,27,opt,name=change_frozen,json=changeFrozen" json:"change_frozen,omitempty"`
}

A ResponseUnion contains exactly one of the optional responses. The values added here must match those in RequestUnion.

func (*ResponseUnion) Descriptor

func (*ResponseUnion) Descriptor() ([]byte, []int)

func (ResponseUnion) GetInner

func (ru ResponseUnion) GetInner() Response

GetInner returns the Response contained in the union.

func (*ResponseUnion) GetValue

func (this *ResponseUnion) GetValue() interface{}

func (*ResponseUnion) Marshal

func (m *ResponseUnion) Marshal() (data []byte, err error)

func (*ResponseUnion) MarshalTo

func (m *ResponseUnion) MarshalTo(data []byte) (int, error)

func (*ResponseUnion) MustSetInner

func (ru *ResponseUnion) MustSetInner(reply Response)

MustSetInner sets the Response contained in the union. It panics if the response is not recognized by the union type. The ResponseUnion is reset before being repopulated.

func (*ResponseUnion) ProtoMessage

func (*ResponseUnion) ProtoMessage()

func (*ResponseUnion) Reset

func (m *ResponseUnion) Reset()

func (*ResponseUnion) SetValue

func (this *ResponseUnion) SetValue(value interface{}) bool

func (*ResponseUnion) Size

func (m *ResponseUnion) Size() (n int)

func (*ResponseUnion) String

func (m *ResponseUnion) String() string

func (*ResponseUnion) Unmarshal

func (m *ResponseUnion) Unmarshal(data []byte) error

type ResponseWithError

type ResponseWithError struct {
	Reply *BatchResponse
	Err   *Error
}

ResponseWithError is a tuple of a BatchResponse and an error. It is used to pass around a BatchResponse with its associated error where that entanglement is necessary (e.g. channels, methods that need to return another error in addition to this one).

type RetryableTxnError

type RetryableTxnError struct {
	TxnID *uuid.UUID
	// TODO(spencer): Get rid of BACKOFF retries. Note that we don't propagate
	// the backoff hint to the client anyway. See #5249
	Backoff bool

	// The error that this RetryableTxnError wraps. Useful for tests that want to
	// assert that they got the expected error.
	Cause ErrorDetailInterface

	// TODO(andrei): These are here temporarily for facilitation converting
	// RetryableTxnError to pErr. Get rid of it afterwards.
	Transaction *Transaction
	CauseProto  *ErrorDetail
	// contains filtered or unexported fields
}

RetryableTxnError represent a retryable transaction error - the transaction that caused it should be re-run.

func (*RetryableTxnError) Error

func (e *RetryableTxnError) Error() string

type ReverseScanRequest

type ReverseScanRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// If 0, there is no limit on the number of retrieved entries. Must be >= 0.
	MaxResults int64 `protobuf:"varint,2,opt,name=max_results,json=maxResults" json:"max_results"`
}

A ReverseScanRequest is the argument to the ReverseScan() method. It specifies the start and end keys for a descending scan of [start,end) and the maximum number of results.

func (*ReverseScanRequest) Descriptor

func (*ReverseScanRequest) Descriptor() ([]byte, []int)

func (*ReverseScanRequest) GetBound

func (rsr *ReverseScanRequest) GetBound() int64

GetBound returns the MaxResults field in ReverseScanRequest.

func (*ReverseScanRequest) Marshal

func (m *ReverseScanRequest) Marshal() (data []byte, err error)

func (*ReverseScanRequest) MarshalTo

func (m *ReverseScanRequest) MarshalTo(data []byte) (int, error)

func (*ReverseScanRequest) Method

func (*ReverseScanRequest) Method() Method

Method implements the Request interface.

func (*ReverseScanRequest) ProtoMessage

func (*ReverseScanRequest) ProtoMessage()

func (*ReverseScanRequest) Reset

func (m *ReverseScanRequest) Reset()

func (*ReverseScanRequest) SetBound

func (rsr *ReverseScanRequest) SetBound(bound int64)

SetBound sets the MaxResults field in ReverseScanRequest.

func (*ReverseScanRequest) ShallowCopy

func (rsr *ReverseScanRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*ReverseScanRequest) Size

func (m *ReverseScanRequest) Size() (n int)

func (*ReverseScanRequest) String

func (m *ReverseScanRequest) String() string

func (*ReverseScanRequest) Unmarshal

func (m *ReverseScanRequest) Unmarshal(data []byte) error

type ReverseScanResponse

type ReverseScanResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// Empty if no rows were scanned.
	Rows []KeyValue `protobuf:"bytes,2,rep,name=rows" json:"rows"`
}

A ReverseScanResponse is the return value from the ReverseScan() method.

func (*ReverseScanResponse) Count

func (sr *ReverseScanResponse) Count() int64

Count returns the number of rows in ReverseScanResponse.

func (*ReverseScanResponse) Descriptor

func (*ReverseScanResponse) Descriptor() ([]byte, []int)

func (*ReverseScanResponse) Marshal

func (m *ReverseScanResponse) Marshal() (data []byte, err error)

func (*ReverseScanResponse) MarshalTo

func (m *ReverseScanResponse) MarshalTo(data []byte) (int, error)

func (*ReverseScanResponse) ProtoMessage

func (*ReverseScanResponse) ProtoMessage()

func (*ReverseScanResponse) Reset

func (m *ReverseScanResponse) Reset()

func (*ReverseScanResponse) Size

func (m *ReverseScanResponse) Size() (n int)

func (*ReverseScanResponse) String

func (m *ReverseScanResponse) String() string

func (*ReverseScanResponse) Unmarshal

func (m *ReverseScanResponse) Unmarshal(data []byte) error

func (*ReverseScanResponse) Verify

func (sr *ReverseScanResponse) Verify(req Request) error

Verify verifies the integrity of every value returned in the reverse scan.

type ScanRequest

type ScanRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// If 0, there is no limit on the number of retrieved entries. Must be >= 0.
	MaxResults int64 `protobuf:"varint,2,opt,name=max_results,json=maxResults" json:"max_results"`
}

A ScanRequest is the argument to the Scan() method. It specifies the start and end keys for an ascending scan of [start,end) and the maximum number of results.

func (*ScanRequest) Descriptor

func (*ScanRequest) Descriptor() ([]byte, []int)

func (*ScanRequest) GetBound

func (sr *ScanRequest) GetBound() int64

GetBound returns the MaxResults field in ScanRequest.

func (*ScanRequest) Marshal

func (m *ScanRequest) Marshal() (data []byte, err error)

func (*ScanRequest) MarshalTo

func (m *ScanRequest) MarshalTo(data []byte) (int, error)

func (*ScanRequest) Method

func (*ScanRequest) Method() Method

Method implements the Request interface.

func (*ScanRequest) ProtoMessage

func (*ScanRequest) ProtoMessage()

func (*ScanRequest) Reset

func (m *ScanRequest) Reset()

func (*ScanRequest) SetBound

func (sr *ScanRequest) SetBound(bound int64)

SetBound sets the MaxResults field in ScanRequest.

func (*ScanRequest) ShallowCopy

func (sr *ScanRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*ScanRequest) Size

func (m *ScanRequest) Size() (n int)

func (*ScanRequest) String

func (m *ScanRequest) String() string

func (*ScanRequest) Unmarshal

func (m *ScanRequest) Unmarshal(data []byte) error

type ScanResponse

type ScanResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// Empty if no rows were scanned.
	Rows []KeyValue `protobuf:"bytes,2,rep,name=rows" json:"rows"`
}

A ScanResponse is the return value from the Scan() method.

func (*ScanResponse) Count

func (sr *ScanResponse) Count() int64

Count returns the number of rows in ScanResponse.

func (*ScanResponse) Descriptor

func (*ScanResponse) Descriptor() ([]byte, []int)

func (*ScanResponse) Marshal

func (m *ScanResponse) Marshal() (data []byte, err error)

func (*ScanResponse) MarshalTo

func (m *ScanResponse) MarshalTo(data []byte) (int, error)

func (*ScanResponse) ProtoMessage

func (*ScanResponse) ProtoMessage()

func (*ScanResponse) Reset

func (m *ScanResponse) Reset()

func (*ScanResponse) Size

func (m *ScanResponse) Size() (n int)

func (*ScanResponse) String

func (m *ScanResponse) String() string

func (*ScanResponse) Unmarshal

func (m *ScanResponse) Unmarshal(data []byte) error

func (*ScanResponse) Verify

func (sr *ScanResponse) Verify(req Request) error

Verify verifies the integrity of every value returned in the scan.

type SendError

type SendError struct {
	Message string `protobuf:"bytes,1,opt,name=message" json:"message"`
}

A SendError indicates that a message could not be delivered to the desired recipient(s).

func NewSendError

func NewSendError(msg string) *SendError

NewSendError creates a SendError.

func (*SendError) Descriptor

func (*SendError) Descriptor() ([]byte, []int)

func (SendError) Error

func (s SendError) Error() string

func (*SendError) Marshal

func (m *SendError) Marshal() (data []byte, err error)

func (*SendError) MarshalTo

func (m *SendError) MarshalTo(data []byte) (int, error)

func (*SendError) ProtoMessage

func (*SendError) ProtoMessage()

func (*SendError) Reset

func (m *SendError) Reset()

func (*SendError) Size

func (m *SendError) Size() (n int)

func (*SendError) String

func (m *SendError) String() string

func (*SendError) Unmarshal

func (m *SendError) Unmarshal(data []byte) error

type Span

type Span struct {
	// The key for request. If the request operates on a range, this
	// represents the starting key for the range.
	Key Key `protobuf:"bytes,3,opt,name=key,casttype=Key" json:"key,omitempty"`
	// The end key is empty if the request spans only a single key. Otherwise,
	// it must order strictly after Key. In such a case, the header indicates
	// that the operation takes place on the key range from Key to EndKey,
	// including Key and excluding EndKey.
	EndKey Key `protobuf:"bytes,4,opt,name=end_key,json=endKey,casttype=Key" json:"end_key,omitempty"`
}

Span is supplied with every storage node request.

func NewPopulatedSpan

func NewPopulatedSpan(r randyData, easy bool) *Span

func (*Span) Descriptor

func (*Span) Descriptor() ([]byte, []int)

func (Span) Equal

func (s Span) Equal(o Span) bool

Equal compares for equality.

func (Span) Header

func (rh Span) Header() Span

Header implements the Request interface.

func (*Span) Marshal

func (m *Span) Marshal() (data []byte, err error)

func (*Span) MarshalTo

func (m *Span) MarshalTo(data []byte) (int, error)

func (Span) Overlaps

func (s Span) Overlaps(o Span) bool

Overlaps returns whether the two spans overlap.

func (*Span) ProtoMessage

func (*Span) ProtoMessage()

func (*Span) Reset

func (m *Span) Reset()

func (*Span) SetHeader

func (rh *Span) SetHeader(other Span)

SetHeader implements the Request interface.

func (*Span) Size

func (m *Span) Size() (n int)

func (*Span) String

func (m *Span) String() string

func (*Span) Unmarshal

func (m *Span) Unmarshal(data []byte) error

type SplitTrigger

type SplitTrigger struct {
	UpdatedDesc RangeDescriptor `protobuf:"bytes,1,opt,name=updated_desc,json=updatedDesc" json:"updated_desc"`
	NewDesc     RangeDescriptor `protobuf:"bytes,2,opt,name=new_desc,json=newDesc" json:"new_desc"`
	// initial_leader_store_id designates the replica which should start
	// a raft election upon processing this split.
	InitialLeaderStoreID StoreID `` /* 126-byte string literal not displayed */
}

A SplitTrigger is run after a successful commit of an AdminSplit command. It provides the updated range descriptor covering the first half of the split and the new range descriptor covering the second half. This information allows the final bookkeeping for the split to be completed and the new range put into operation.

func (*SplitTrigger) Descriptor

func (*SplitTrigger) Descriptor() ([]byte, []int)

func (*SplitTrigger) Marshal

func (m *SplitTrigger) Marshal() (data []byte, err error)

func (*SplitTrigger) MarshalTo

func (m *SplitTrigger) MarshalTo(data []byte) (int, error)

func (*SplitTrigger) ProtoMessage

func (*SplitTrigger) ProtoMessage()

func (*SplitTrigger) Reset

func (m *SplitTrigger) Reset()

func (*SplitTrigger) Size

func (m *SplitTrigger) Size() (n int)

func (*SplitTrigger) String

func (m *SplitTrigger) String() string

func (*SplitTrigger) Unmarshal

func (m *SplitTrigger) Unmarshal(data []byte) error

type StoreCapacity

type StoreCapacity struct {
	Capacity   int64 `protobuf:"varint,1,opt,name=capacity" json:"capacity"`
	Available  int64 `protobuf:"varint,2,opt,name=available" json:"available"`
	RangeCount int32 `protobuf:"varint,3,opt,name=range_count,json=rangeCount" json:"range_count"`
}

StoreCapacity contains capacity information for a storage device.

func (*StoreCapacity) Descriptor

func (*StoreCapacity) Descriptor() ([]byte, []int)

func (StoreCapacity) FractionUsed

func (sc StoreCapacity) FractionUsed() float64

FractionUsed computes the fraction of storage capacity that is in use.

func (*StoreCapacity) Marshal

func (m *StoreCapacity) Marshal() (data []byte, err error)

func (*StoreCapacity) MarshalTo

func (m *StoreCapacity) MarshalTo(data []byte) (int, error)

func (*StoreCapacity) ProtoMessage

func (*StoreCapacity) ProtoMessage()

func (*StoreCapacity) Reset

func (m *StoreCapacity) Reset()

func (*StoreCapacity) Size

func (m *StoreCapacity) Size() (n int)

func (*StoreCapacity) String

func (m *StoreCapacity) String() string

func (*StoreCapacity) Unmarshal

func (m *StoreCapacity) Unmarshal(data []byte) error

type StoreDescriptor

type StoreDescriptor struct {
	StoreID  StoreID        `protobuf:"varint,1,opt,name=store_id,json=storeId,casttype=StoreID" json:"store_id"`
	Attrs    Attributes     `protobuf:"bytes,2,opt,name=attrs" json:"attrs"`
	Node     NodeDescriptor `protobuf:"bytes,3,opt,name=node" json:"node"`
	Capacity StoreCapacity  `protobuf:"bytes,4,opt,name=capacity" json:"capacity"`
}

StoreDescriptor holds store information including store attributes, node descriptor and store capacity.

func (StoreDescriptor) CombinedAttrs

func (s StoreDescriptor) CombinedAttrs() *Attributes

CombinedAttrs returns the full list of attributes for the store, including both the node and store attributes.

func (*StoreDescriptor) Descriptor

func (*StoreDescriptor) Descriptor() ([]byte, []int)

func (*StoreDescriptor) Marshal

func (m *StoreDescriptor) Marshal() (data []byte, err error)

func (*StoreDescriptor) MarshalTo

func (m *StoreDescriptor) MarshalTo(data []byte) (int, error)

func (*StoreDescriptor) ProtoMessage

func (*StoreDescriptor) ProtoMessage()

func (*StoreDescriptor) Reset

func (m *StoreDescriptor) Reset()

func (*StoreDescriptor) Size

func (m *StoreDescriptor) Size() (n int)

func (*StoreDescriptor) String

func (m *StoreDescriptor) String() string

func (*StoreDescriptor) Unmarshal

func (m *StoreDescriptor) Unmarshal(data []byte) error

type StoreID

type StoreID int32

StoreID is a custom type for a cockroach store ID.

func (StoreID) String

func (n StoreID) String() string

String implements the fmt.Stringer interface. It is used to format the ID for use in Gossip keys.

type StoreIDSlice

type StoreIDSlice []StoreID

StoreIDSlice implements sort.Interface.

func (StoreIDSlice) Len

func (s StoreIDSlice) Len() int

func (StoreIDSlice) Less

func (s StoreIDSlice) Less(i, j int) bool

func (StoreIDSlice) Swap

func (s StoreIDSlice) Swap(i, j int)

type StoreIdent

type StoreIdent struct {
	ClusterID github_com_cockroachdb_cockroach_util_uuid.UUID `` /* 130-byte string literal not displayed */
	NodeID    NodeID                                          `protobuf:"varint,2,opt,name=node_id,json=nodeId,casttype=NodeID" json:"node_id"`
	StoreID   StoreID                                         `protobuf:"varint,3,opt,name=store_id,json=storeId,casttype=StoreID" json:"store_id"`
}

A StoreIdent uniquely identifies a store in the cluster. The StoreIdent is written to the underlying storage engine at a store-reserved system key (KeyLocalIdent).

func (*StoreIdent) Descriptor

func (*StoreIdent) Descriptor() ([]byte, []int)

func (*StoreIdent) Marshal

func (m *StoreIdent) Marshal() (data []byte, err error)

func (*StoreIdent) MarshalTo

func (m *StoreIdent) MarshalTo(data []byte) (int, error)

func (*StoreIdent) ProtoMessage

func (*StoreIdent) ProtoMessage()

func (*StoreIdent) Reset

func (m *StoreIdent) Reset()

func (*StoreIdent) Size

func (m *StoreIdent) Size() (n int)

func (*StoreIdent) String

func (m *StoreIdent) String() string

func (*StoreIdent) Unmarshal

func (m *StoreIdent) Unmarshal(data []byte) error

type StoreRequestHeader

type StoreRequestHeader struct {
	NodeID  NodeID  `protobuf:"varint,1,opt,name=node_id,json=nodeId,casttype=NodeID" json:"node_id"`
	StoreID StoreID `protobuf:"varint,2,opt,name=store_id,json=storeId,casttype=StoreID" json:"store_id"`
}

StoreRequestHeader locates a Store on a Node.

func (*StoreRequestHeader) Descriptor

func (*StoreRequestHeader) Descriptor() ([]byte, []int)

func (*StoreRequestHeader) Marshal

func (m *StoreRequestHeader) Marshal() (data []byte, err error)

func (*StoreRequestHeader) MarshalTo

func (m *StoreRequestHeader) MarshalTo(data []byte) (int, error)

func (*StoreRequestHeader) ProtoMessage

func (*StoreRequestHeader) ProtoMessage()

func (*StoreRequestHeader) Reset

func (m *StoreRequestHeader) Reset()

func (*StoreRequestHeader) Size

func (m *StoreRequestHeader) Size() (n int)

func (*StoreRequestHeader) String

func (m *StoreRequestHeader) String() string

func (*StoreRequestHeader) Unmarshal

func (m *StoreRequestHeader) Unmarshal(data []byte) error

type Timestamp

type Timestamp struct {
	// Holds a wall time, typically a unix epoch time
	// expressed in nanoseconds.
	WallTime int64 `protobuf:"varint,1,opt,name=wall_time,json=wallTime" json:"wall_time"`
	// The logical component captures causality for events whose wall
	// times are equal. It is effectively bounded by (maximum clock
	// skew)/(minimal ns between events) and nearly impossible to
	// overflow.
	Logical int32 `protobuf:"varint,2,opt,name=logical" json:"logical"`
}

Timestamp represents a state of the hybrid logical clock.

func NewPopulatedTimestamp

func NewPopulatedTimestamp(r randyData, easy bool) *Timestamp

func (Timestamp) Add

func (t Timestamp) Add(wallTime int64, logical int32) Timestamp

Add returns a timestamp with the WallTime and Logical components increased.

func (*Timestamp) Backward

func (t *Timestamp) Backward(s Timestamp)

Backward updates the timestamp from the one given, if that moves it backwards in time.

func (*Timestamp) Descriptor

func (*Timestamp) Descriptor() ([]byte, []int)

func (Timestamp) Equal

func (t Timestamp) Equal(s Timestamp) bool

Equal returns whether two timestamps are the same.

func (*Timestamp) Forward

func (t *Timestamp) Forward(s Timestamp)

Forward updates the timestamp from the one given, if that moves it forwards in time.

func (Timestamp) GoTime

func (t Timestamp) GoTime() time.Time

GoTime converts the timestamp to a time.Time.

func (Timestamp) Less

func (t Timestamp) Less(s Timestamp) bool

Less compares two timestamps.

func (*Timestamp) Marshal

func (m *Timestamp) Marshal() (data []byte, err error)

func (*Timestamp) MarshalTo

func (m *Timestamp) MarshalTo(data []byte) (int, error)

func (Timestamp) Next

func (t Timestamp) Next() Timestamp

Next returns the timestamp with the next later timestamp.

func (Timestamp) Prev

func (t Timestamp) Prev() Timestamp

Prev returns the next earliest timestamp.

func (*Timestamp) ProtoMessage

func (*Timestamp) ProtoMessage()

func (*Timestamp) Reset

func (m *Timestamp) Reset()

func (*Timestamp) Size

func (m *Timestamp) Size() (n int)

func (Timestamp) String

func (t Timestamp) String() string

func (*Timestamp) Unmarshal

func (m *Timestamp) Unmarshal(data []byte) error

type Transaction

type Transaction struct {
	// The transaction metadata. These are persisted with every intent.
	TxnMeta `protobuf:"bytes,1,opt,name=meta,embedded=meta" json:"meta"`
	// A free-text identifier for debug purposes.
	Name   string            `protobuf:"bytes,2,opt,name=name" json:"name"`
	Status TransactionStatus `protobuf:"varint,4,opt,name=status,enum=cockroach.roachpb.TransactionStatus" json:"status"`
	// The last heartbeat timestamp.
	LastHeartbeat *Timestamp `protobuf:"bytes,5,opt,name=last_heartbeat,json=lastHeartbeat" json:"last_heartbeat,omitempty"`
	// The original timestamp at which the transaction started. For serializable
	// transactions, if the timestamp drifts from the original timestamp, the
	// transaction will retry.
	OrigTimestamp Timestamp `protobuf:"bytes,6,opt,name=orig_timestamp,json=origTimestamp" json:"orig_timestamp"`
	// Initial Timestamp + clock skew. Reads which encounter values with
	// timestamps between timestamp and max_timestamp trigger a txn
	// retry error, unless the node being read is listed in observed_timestamps
	// (in which case no more read uncertainty can occur).
	// The case max_timestamp < timestamp is possible for transactions which have
	// been pushed; in this case, max_timestamp should be ignored.
	MaxTimestamp Timestamp `protobuf:"bytes,7,opt,name=max_timestamp,json=maxTimestamp" json:"max_timestamp"`
	// A map of NodeID to timestamps as observed from their local clock during
	// this transaction. The purpose of this map is to avoid uncertainty related
	// restarts which normally occur when reading a value in the near future as
	// per the max_timestamp field.
	// When this map holds a corresponding entry for the node the current request
	// is executing on, we can run the command with the map's timestamp as the
	// top boundary of our uncertainty interval, limiting (and often avoiding)
	// uncertainty restarts.
	ObservedTimestamps map[NodeID]Timestamp `` /* 188-byte string literal not displayed */
	// Writing is true if the transaction has previously executed a successful
	// write request, i.e. a request that may have left intents (across retries).
	Writing bool `protobuf:"varint,9,opt,name=writing" json:"writing"`
	// If this is true, the transaction must retry. Relevant only for
	// SNAPSHOT transactions: a SERIALIZABLE transaction would have to
	// retry anyway due to its commit timestamp having moved forward.
	// This bool is set instead of immediately returning a txn retry
	// error so that intents can continue to be laid down, minimizing
	// work required on txn restart.
	WriteTooOld bool `protobuf:"varint,12,opt,name=write_too_old,json=writeTooOld" json:"write_too_old"`
	// If retry_on_push is true, the transaction must retry in the event
	// that the commit timestamp is pushed forward. This flag is set if
	// the transaction contains any calls to DeleteRange, in order to
	// prevent the LostDeleteRange anomaly. This flag is relevant only
	// for SNAPSHOT transactions.
	RetryOnPush bool   `protobuf:"varint,13,opt,name=retry_on_push,json=retryOnPush" json:"retry_on_push"`
	Intents     []Span `protobuf:"bytes,11,rep,name=intents" json:"intents"`
}

A Transaction is a unit of work performed on the database. Cockroach transactions support two isolation levels: snapshot isolation and serializable snapshot isolation. Each Cockroach transaction is assigned a random priority. This priority will be used to decide whether a transaction will be aborted during contention.

If you add fields to Transaction you'll need to update Transaction.Clone. Failure to do so will result in test failures.

func NewPopulatedTransaction

func NewPopulatedTransaction(r randyData, easy bool) *Transaction

func NewTransaction

func NewTransaction(name string, baseKey Key, userPriority UserPriority,
	isolation IsolationType, now Timestamp, maxOffset int64) *Transaction

NewTransaction creates a new transaction. The transaction key is composed using the specified baseKey (for locality with data affected by the transaction) and a random ID to guarantee uniqueness. The specified user-level priority is combined with a randomly chosen value to yield a final priority, used to settle write conflicts in a way that avoids starvation of long-running transactions (see Replica.PushTxn).

func (Transaction) Clone

func (t Transaction) Clone() Transaction

Clone creates a copy of the given transaction. The copy is "mostly" deep, but does share pieces of memory with the original such as Key, ID and the keys with the intent spans.

func (*Transaction) Descriptor

func (*Transaction) Descriptor() ([]byte, []int)

func (*Transaction) Equal

func (t *Transaction) Equal(s *Transaction) bool

Equal tests two transactions for equality. They are equal if they are either simultaneously nil or their IDs match.

func (Transaction) GetObservedTimestamp

func (t Transaction) GetObservedTimestamp(nodeID NodeID) (Timestamp, bool)

GetObservedTimestamp returns the lowest HLC timestamp recorded from the given node's clock during the transaction. The returned boolean is false if no observation about the requested node was found. Otherwise, MaxTimestamp can be lowered to the returned timestamp when reading from nodeID.

func (*Transaction) IsInitialized

func (t *Transaction) IsInitialized() bool

IsInitialized returns true if the transaction has been initialized.

func (Transaction) LastActive

func (t Transaction) LastActive() Timestamp

LastActive returns the last timestamp at which client activity definitely occurred, i.e. the maximum of OrigTimestamp and LastHeartbeat.

func (*Transaction) Marshal

func (m *Transaction) Marshal() (data []byte, err error)

func (*Transaction) MarshalTo

func (m *Transaction) MarshalTo(data []byte) (int, error)

func (*Transaction) ProtoMessage

func (*Transaction) ProtoMessage()

func (*Transaction) Reset

func (m *Transaction) Reset()

func (*Transaction) ResetObservedTimestamps

func (t *Transaction) ResetObservedTimestamps()

ResetObservedTimestamps clears out all timestamps recorded from individual nodes.

func (*Transaction) Restart

func (t *Transaction) Restart(userPriority UserPriority, upgradePriority int32, timestamp Timestamp)

Restart reconfigures a transaction for restart. The epoch is incremented for an in-place restart. The timestamp of the transaction on restart is set to the maximum of the transaction's timestamp and the specified timestamp.

func (*Transaction) Size

func (m *Transaction) Size() (n int)

func (Transaction) String

func (t Transaction) String() string

String formats transaction into human readable string.

func (*Transaction) Unmarshal

func (m *Transaction) Unmarshal(data []byte) error

func (*Transaction) Update

func (t *Transaction) Update(o *Transaction)

Update ratchets priority, timestamp and original timestamp values (among others) for the transaction. If t.ID is empty, then the transaction is copied from o.

func (*Transaction) UpdateObservedTimestamp

func (t *Transaction) UpdateObservedTimestamp(nodeID NodeID, maxTS Timestamp)

UpdateObservedTimestamp stores a timestamp off a node's clock for future operations in the transaction. When multiple calls are made for a single nodeID, the lowest timestamp prevails.

func (*Transaction) UpgradePriority

func (t *Transaction) UpgradePriority(minPriority int32)

UpgradePriority sets transaction priority to the maximum of current priority and the specified minPriority.

type TransactionAbortedError

type TransactionAbortedError struct {
}

A TransactionAbortedError indicates that the transaction was aborted by another concurrent transaction.

func NewTransactionAbortedError

func NewTransactionAbortedError() *TransactionAbortedError

NewTransactionAbortedError initializes a new TransactionAbortedError.

func (*TransactionAbortedError) Descriptor

func (*TransactionAbortedError) Descriptor() ([]byte, []int)

func (*TransactionAbortedError) Error

func (e *TransactionAbortedError) Error() string

func (*TransactionAbortedError) Marshal

func (m *TransactionAbortedError) Marshal() (data []byte, err error)

func (*TransactionAbortedError) MarshalTo

func (m *TransactionAbortedError) MarshalTo(data []byte) (int, error)

func (*TransactionAbortedError) ProtoMessage

func (*TransactionAbortedError) ProtoMessage()

func (*TransactionAbortedError) Reset

func (m *TransactionAbortedError) Reset()

func (*TransactionAbortedError) Size

func (m *TransactionAbortedError) Size() (n int)

func (*TransactionAbortedError) String

func (m *TransactionAbortedError) String() string

func (*TransactionAbortedError) Unmarshal

func (m *TransactionAbortedError) Unmarshal(data []byte) error

type TransactionPushError

type TransactionPushError struct {
	PusheeTxn Transaction `protobuf:"bytes,1,opt,name=pushee_txn,json=pusheeTxn" json:"pushee_txn"`
}

A TransactionPushError indicates that the transaction could not continue because it encountered a write intent from another transaction which it was unable to push.

func NewTransactionPushError

func NewTransactionPushError(pusheeTxn Transaction) *TransactionPushError

NewTransactionPushError initializes a new TransactionPushError. The argument is copied.

func (*TransactionPushError) Descriptor

func (*TransactionPushError) Descriptor() ([]byte, []int)

func (*TransactionPushError) Error

func (e *TransactionPushError) Error() string

func (*TransactionPushError) Marshal

func (m *TransactionPushError) Marshal() (data []byte, err error)

func (*TransactionPushError) MarshalTo

func (m *TransactionPushError) MarshalTo(data []byte) (int, error)

func (*TransactionPushError) ProtoMessage

func (*TransactionPushError) ProtoMessage()

func (*TransactionPushError) Reset

func (m *TransactionPushError) Reset()

func (*TransactionPushError) Size

func (m *TransactionPushError) Size() (n int)

func (*TransactionPushError) String

func (m *TransactionPushError) String() string

func (*TransactionPushError) Unmarshal

func (m *TransactionPushError) Unmarshal(data []byte) error

type TransactionReplayError

type TransactionReplayError struct {
}

A TransactionReplayError indicates that a BeginTransaction request is being replayed. This can happen on network replays in which a BeginTransaction request is sent again either from the client or is belatedly delivered after an earlier attempt succeeded.

func NewTransactionReplayError

func NewTransactionReplayError() *TransactionReplayError

NewTransactionReplayError initializes a new TransactionReplayError.

func (*TransactionReplayError) Descriptor

func (*TransactionReplayError) Descriptor() ([]byte, []int)

func (*TransactionReplayError) Error

func (e *TransactionReplayError) Error() string

func (*TransactionReplayError) Marshal

func (m *TransactionReplayError) Marshal() (data []byte, err error)

func (*TransactionReplayError) MarshalTo

func (m *TransactionReplayError) MarshalTo(data []byte) (int, error)

func (*TransactionReplayError) ProtoMessage

func (*TransactionReplayError) ProtoMessage()

func (*TransactionReplayError) Reset

func (m *TransactionReplayError) Reset()

func (*TransactionReplayError) Size

func (m *TransactionReplayError) Size() (n int)

func (*TransactionReplayError) String

func (m *TransactionReplayError) String() string

func (*TransactionReplayError) Unmarshal

func (m *TransactionReplayError) Unmarshal(data []byte) error

type TransactionRestart

type TransactionRestart int32

TransactionRestart indicates how an error should be handled in a transactional context.

const (
	//  NONE (the default) is used for errors which have no effect on the
	//  transaction state. That is, a transactional operation which receives such
	//  an error is still PENDING and does not need to restart (at least not as a
	//  result of the error). Examples are a CPut whose condition wasn't met, or
	//  a spurious RPC error.
	TransactionRestart_NONE TransactionRestart = 0
	// BACKOFF is for errors that can retried by restarting the transaction
	// after an exponential backoff.
	TransactionRestart_BACKOFF TransactionRestart = 1
	// IMMEDIATE is for errors that can be retried by restarting the
	// transaction immediately.
	TransactionRestart_IMMEDIATE TransactionRestart = 2
)

func (TransactionRestart) Enum

func (TransactionRestart) EnumDescriptor

func (TransactionRestart) EnumDescriptor() ([]byte, []int)

func (TransactionRestart) String

func (x TransactionRestart) String() string

func (*TransactionRestart) UnmarshalJSON

func (x *TransactionRestart) UnmarshalJSON(data []byte) error

type TransactionRetryError

type TransactionRetryError struct {
}

A TransactionRetryError indicates that the transaction must be retried, usually with an increased transaction timestamp.

func NewTransactionRetryError

func NewTransactionRetryError() *TransactionRetryError

NewTransactionRetryError initializes a new TransactionRetryError.

func (*TransactionRetryError) Descriptor

func (*TransactionRetryError) Descriptor() ([]byte, []int)

func (*TransactionRetryError) Error

func (e *TransactionRetryError) Error() string

TODO(kaneda): Delete this method once we fully unimplement error for every error detail.

func (*TransactionRetryError) Marshal

func (m *TransactionRetryError) Marshal() (data []byte, err error)

func (*TransactionRetryError) MarshalTo

func (m *TransactionRetryError) MarshalTo(data []byte) (int, error)

func (*TransactionRetryError) ProtoMessage

func (*TransactionRetryError) ProtoMessage()

func (*TransactionRetryError) Reset

func (m *TransactionRetryError) Reset()

func (*TransactionRetryError) Size

func (m *TransactionRetryError) Size() (n int)

func (*TransactionRetryError) String

func (m *TransactionRetryError) String() string

func (*TransactionRetryError) Unmarshal

func (m *TransactionRetryError) Unmarshal(data []byte) error

type TransactionStatus

type TransactionStatus int32

TransactionStatus specifies possible states for a transaction.

const (
	// PENDING is the default state for a new transaction. Transactions
	// move from PENDING to one of COMMITTED or ABORTED. Mutations made
	// as part of a PENDING transactions are recorded as "intents" in
	// the underlying MVCC model.
	PENDING TransactionStatus = 0
	// COMMITTED is the state for a transaction which has been
	// committed. Mutations made as part of a transaction which is moved
	// into COMMITTED state become durable and visible to other
	// transactions, moving from "intents" to permanent versioned
	// values.
	COMMITTED TransactionStatus = 1
	// ABORTED is the state for a transaction which has been aborted.
	// Mutations made as part of a transaction which is moved into
	// ABORTED state are deleted and are never made visible to other
	// transactions.
	ABORTED TransactionStatus = 2
)

func (TransactionStatus) Enum

func (TransactionStatus) EnumDescriptor

func (TransactionStatus) EnumDescriptor() ([]byte, []int)

func (TransactionStatus) String

func (x TransactionStatus) String() string

func (*TransactionStatus) UnmarshalJSON

func (x *TransactionStatus) UnmarshalJSON(data []byte) error

type TransactionStatusError

type TransactionStatusError struct {
	Msg string `protobuf:"bytes,1,opt,name=msg" json:"msg"`
}

A TransactionStatusError indicates that the transaction status is incompatible with the requested operation. This might mean the transaction has already been committed. It might also be the case that the request to modify the transaction failed due to a regression in transaction epoch or timestamp, both of which may only monotonically increase.

func NewTransactionStatusError

func NewTransactionStatusError(msg string) *TransactionStatusError

NewTransactionStatusError initializes a new TransactionStatusError from the given message.

func (*TransactionStatusError) Descriptor

func (*TransactionStatusError) Descriptor() ([]byte, []int)

func (*TransactionStatusError) Error

func (e *TransactionStatusError) Error() string

func (*TransactionStatusError) Marshal

func (m *TransactionStatusError) Marshal() (data []byte, err error)

func (*TransactionStatusError) MarshalTo

func (m *TransactionStatusError) MarshalTo(data []byte) (int, error)

func (*TransactionStatusError) ProtoMessage

func (*TransactionStatusError) ProtoMessage()

func (*TransactionStatusError) Reset

func (m *TransactionStatusError) Reset()

func (*TransactionStatusError) Size

func (m *TransactionStatusError) Size() (n int)

func (*TransactionStatusError) String

func (m *TransactionStatusError) String() string

func (*TransactionStatusError) Unmarshal

func (m *TransactionStatusError) Unmarshal(data []byte) error

type TruncateLogRequest

type TruncateLogRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// Log entries < this index are to be discarded.
	Index uint64 `protobuf:"varint,2,opt,name=index" json:"index"`
	// RangeID is used to double check that the correct range is being truncated.
	// The header specifies a span, start and end keys, but not the range id
	// itself. The range may have changed from the one specified in the header
	// in the case of a merge.
	RangeID RangeID `protobuf:"varint,3,opt,name=range_id,json=rangeId,casttype=RangeID" json:"range_id"`
}

TruncateLogRequest is used to remove a prefix of the raft log. While there is no requirement for correctness that the raft log truncation be synchronized across replicas, it is nice to preserve the property that all replicas of a range are as close to identical as possible. The raft leader can also inform decisions about the cutoff point with its knowledge of the replicas' acknowledgment status.

func (*TruncateLogRequest) Descriptor

func (*TruncateLogRequest) Descriptor() ([]byte, []int)

func (*TruncateLogRequest) Marshal

func (m *TruncateLogRequest) Marshal() (data []byte, err error)

func (*TruncateLogRequest) MarshalTo

func (m *TruncateLogRequest) MarshalTo(data []byte) (int, error)

func (*TruncateLogRequest) Method

func (*TruncateLogRequest) Method() Method

Method implements the Request interface.

func (*TruncateLogRequest) ProtoMessage

func (*TruncateLogRequest) ProtoMessage()

func (*TruncateLogRequest) Reset

func (m *TruncateLogRequest) Reset()

func (*TruncateLogRequest) ShallowCopy

func (tlr *TruncateLogRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*TruncateLogRequest) Size

func (m *TruncateLogRequest) Size() (n int)

func (*TruncateLogRequest) String

func (m *TruncateLogRequest) String() string

func (*TruncateLogRequest) Unmarshal

func (m *TruncateLogRequest) Unmarshal(data []byte) error

type TruncateLogResponse

type TruncateLogResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

TruncateLogResponse is the response to a TruncateLog() operation.

func (*TruncateLogResponse) Descriptor

func (*TruncateLogResponse) Descriptor() ([]byte, []int)

func (*TruncateLogResponse) Marshal

func (m *TruncateLogResponse) Marshal() (data []byte, err error)

func (*TruncateLogResponse) MarshalTo

func (m *TruncateLogResponse) MarshalTo(data []byte) (int, error)

func (*TruncateLogResponse) ProtoMessage

func (*TruncateLogResponse) ProtoMessage()

func (*TruncateLogResponse) Reset

func (m *TruncateLogResponse) Reset()

func (*TruncateLogResponse) Size

func (m *TruncateLogResponse) Size() (n int)

func (*TruncateLogResponse) String

func (m *TruncateLogResponse) String() string

func (*TruncateLogResponse) Unmarshal

func (m *TruncateLogResponse) Unmarshal(data []byte) error

type TxnMeta

type TxnMeta struct {
	// id is a unique UUID value which identifies the transaction.
	ID        *github_com_cockroachdb_cockroach_util_uuid.UUID `protobuf:"bytes,1,opt,name=id,customtype=github.com/cockroachdb/cockroach/util/uuid.UUID" json:"id,omitempty"`
	Isolation IsolationType                                    `protobuf:"varint,2,opt,name=isolation,enum=cockroach.roachpb.IsolationType" json:"isolation"`
	// key is the key which anchors the transaction. This is typically
	// the first key read or written during the transaction and determines which
	// range in the cluster will hold the transaction record.
	Key Key `protobuf:"bytes,3,opt,name=key,casttype=Key" json:"key,omitempty"`
	// Incremented on txn retry.
	Epoch uint32 `protobuf:"varint,4,opt,name=epoch" json:"epoch"`
	// The proposed timestamp for the transaction. This starts as
	// the current wall time on the txn coordinator.
	Timestamp Timestamp `protobuf:"bytes,5,opt,name=timestamp" json:"timestamp"`
	Priority  int32     `protobuf:"varint,6,opt,name=priority" json:"priority"`
	// A one-indexed sequence number which is increased on each batch
	// sent as part of the transaction. Used to prevent replay and
	// out-of-order application protection (by means of a transaction
	// retry).
	Sequence int32 `protobuf:"varint,7,opt,name=sequence" json:"sequence"`
	// A zero-indexed sequence number indicating the index of a
	// command within a batch. This disambiguate Raft replays of a batch
	// from multiple commands in a batch which modify the same key.
	BatchIndex int32 `protobuf:"varint,8,opt,name=batch_index,json=batchIndex" json:"batch_index"`
}

TxnMeta is the metadata of a Transaction record.

func NewPopulatedTxnMeta

func NewPopulatedTxnMeta(r randyData, easy bool) *TxnMeta

func (*TxnMeta) Descriptor

func (*TxnMeta) Descriptor() ([]byte, []int)

func (*TxnMeta) Marshal

func (m *TxnMeta) Marshal() (data []byte, err error)

func (*TxnMeta) MarshalTo

func (m *TxnMeta) MarshalTo(data []byte) (int, error)

func (*TxnMeta) ProtoMessage

func (*TxnMeta) ProtoMessage()

func (*TxnMeta) Reset

func (m *TxnMeta) Reset()

func (*TxnMeta) Size

func (m *TxnMeta) Size() (n int)

func (*TxnMeta) String

func (m *TxnMeta) String() string

func (*TxnMeta) Unmarshal

func (m *TxnMeta) Unmarshal(data []byte) error

type UserPriority

type UserPriority float64

UserPriority is a custom type for transaction's user priority.

func (UserPriority) String

func (up UserPriority) String() string

type Value

type Value struct {
	// raw_bytes contains the encoded value and checksum.
	RawBytes []byte `protobuf:"bytes,1,opt,name=raw_bytes,json=rawBytes" json:"raw_bytes,omitempty"`
	// Timestamp of value.
	Timestamp Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp"`
}

Value specifies the value at a key. Multiple values at the same key are supported based on timestamp. The data stored within a value is typed (ValueType) and custom encoded into the raw_bytes field. A custom encoding is used instead of separate proto fields to avoid proto overhead and to avoid unnecessary encoding and decoding as the value gets read from disk and passed through the network. The format is:

<4-byte-checksum><1-byte-tag><encoded-data>

A CRC-32-IEEE checksum is computed from the associated key, tag and encoded data, in that order.

TODO(peter): Is a 4-byte checksum overkill when most (all?) values will be less than 64KB?

func MakeValueFromBytes

func MakeValueFromBytes(bs []byte) Value

MakeValueFromBytes returns a value with bytes and tag set.

func MakeValueFromBytesAndTimestamp

func MakeValueFromBytesAndTimestamp(bs []byte, t Timestamp) Value

MakeValueFromBytesAndTimestamp returns a value with bytes, timestamp and tag set.

func MakeValueFromString

func MakeValueFromString(s string) Value

MakeValueFromString returns a value with bytes and tag set.

func (*Value) ClearChecksum

func (v *Value) ClearChecksum()

ClearChecksum clears the checksum value.

func (*Value) Descriptor

func (*Value) Descriptor() ([]byte, []int)

func (Value) GetBytes

func (v Value) GetBytes() ([]byte, error)

GetBytes returns the bytes field of the receiver. If the tag is not BYTES an error will be returned.

func (Value) GetDecimal

func (v Value) GetDecimal() (*inf.Dec, error)

GetDecimal decodes a decimal value from the bytes of the receiver. If the tag is not DECIMAL an error will be returned.

func (Value) GetDuration

func (v Value) GetDuration() (duration.Duration, error)

GetDuration decodes a duration value from the bytes field of the receiver. If the tag is not DURATION an error will be returned.

func (Value) GetFloat

func (v Value) GetFloat() (float64, error)

GetFloat decodes a float64 value from the bytes field of the receiver. If the bytes field is not 8 bytes in length or the tag is not FLOAT an error will be returned.

func (Value) GetInt

func (v Value) GetInt() (int64, error)

GetInt decodes an int64 value from the bytes field of the receiver. If the tag is not INT or the value cannot be decoded an error will be returned.

func (Value) GetProto

func (v Value) GetProto(msg proto.Message) error

GetProto unmarshals the bytes field of the receiver into msg. If unmarshalling fails or the tag is not BYTES, an error will be returned.

func (Value) GetTag

func (v Value) GetTag() ValueType

GetTag retrieves the value type.

func (Value) GetTime

func (v Value) GetTime() (time.Time, error)

GetTime decodes a time value from the bytes field of the receiver. If the tag is not TIME an error will be returned.

func (Value) GetTimeseries

func (v Value) GetTimeseries() (InternalTimeSeriesData, error)

GetTimeseries decodes an InternalTimeSeriesData value from the bytes field of the receiver. An error will be returned if the tag is not TIMESERIES or if decoding fails.

func (Value) GetTuple

func (v Value) GetTuple() ([]byte, error)

GetTuple returns the tuple bytes of the receiver. If the tag is not TUPLE an error will be returned.

func (*Value) InitChecksum

func (v *Value) InitChecksum(key []byte)

InitChecksum initializes a checksum based on the provided key and the contents of the value. If the value contains a byte slice, the checksum includes it directly.

TODO(peter): This method should return an error if the Value is corrupted (e.g. the RawBytes field is > 0 but smaller than the header size).

func (*Value) Marshal

func (m *Value) Marshal() (data []byte, err error)

func (*Value) MarshalTo

func (m *Value) MarshalTo(data []byte) (int, error)

func (*Value) ProtoMessage

func (*Value) ProtoMessage()

func (*Value) Reset

func (m *Value) Reset()

func (*Value) SetBytes

func (v *Value) SetBytes(b []byte)

SetBytes sets the bytes and tag field of the receiver and clears the checksum.

func (*Value) SetDecimal

func (v *Value) SetDecimal(dec *inf.Dec) error

SetDecimal encodes the specified decimal value into the bytes field of the receiver using Gob encoding, sets the tag and clears the checksum.

func (*Value) SetDuration

func (v *Value) SetDuration(t duration.Duration) error

SetDuration encodes the specified duration value into the bytes field of the receiver, sets the tag and clears the checksum.

func (*Value) SetFloat

func (v *Value) SetFloat(f float64)

SetFloat encodes the specified float64 value into the bytes field of the receiver, sets the tag and clears the checksum.

func (*Value) SetInt

func (v *Value) SetInt(i int64)

SetInt encodes the specified int64 value into the bytes field of the receiver, sets the tag and clears the checksum.

func (*Value) SetProto

func (v *Value) SetProto(msg proto.Message) error

SetProto encodes the specified proto message into the bytes field of the receiver and clears the checksum. If the proto message is an InternalTimeSeriesData, the tag will be set to TIMESERIES rather than BYTES.

func (*Value) SetString

func (v *Value) SetString(s string)

SetString sets the bytes and tag field of the receiver and clears the checksum. This is identical to SetBytes, but specialized for a string argument.

func (*Value) SetTime

func (v *Value) SetTime(t time.Time)

SetTime encodes the specified time value into the bytes field of the receiver, sets the tag and clears the checksum.

func (*Value) SetTuple

func (v *Value) SetTuple(data []byte)

SetTuple sets the tuple bytes and tag field of the receiver and clears the checksum.

func (*Value) ShallowClone

func (v *Value) ShallowClone() *Value

ShallowClone returns a shallow clone of the receiver.

func (*Value) Size

func (m *Value) Size() (n int)

func (*Value) String

func (m *Value) String() string

func (*Value) Unmarshal

func (m *Value) Unmarshal(data []byte) error

func (Value) Verify

func (v Value) Verify(key []byte) error

Verify verifies the value's Checksum matches a newly-computed checksum of the value's contents. If the value's Checksum is not set the verification is a noop.

type ValueType

type ValueType int32

ValueType defines a set of type constants placed in the "tag" field of Value messages. These are defined as a protocol buffer enumeration so that they can be used portably between our Go and C code. The tags are used by the RocksDB Merge Operator to perform specialized merges.

const (
	// This is a subset of the SQL column type values, representing the underlying
	// storage for various types. The DELIMITED_foo entries each represent a foo
	// variant that self-delimits length.
	ValueType_UNKNOWN           ValueType = 0
	ValueType_NULL              ValueType = 7
	ValueType_INT               ValueType = 1
	ValueType_FLOAT             ValueType = 2
	ValueType_BYTES             ValueType = 3
	ValueType_DELIMITED_BYTES   ValueType = 8
	ValueType_TIME              ValueType = 4
	ValueType_DECIMAL           ValueType = 5
	ValueType_DELIMITED_DECIMAL ValueType = 9
	ValueType_DURATION          ValueType = 6
	// TUPLE represents a DTuple, encoded as repeated pairs of varint field number
	// followed by a value encoded Datum.
	ValueType_TUPLE ValueType = 10
	// TIMESERIES is applied to values which contain InternalTimeSeriesData.
	ValueType_TIMESERIES ValueType = 100
)

func (ValueType) Enum

func (x ValueType) Enum() *ValueType

func (ValueType) EnumDescriptor

func (ValueType) EnumDescriptor() ([]byte, []int)

func (ValueType) String

func (x ValueType) String() string

func (*ValueType) UnmarshalJSON

func (x *ValueType) UnmarshalJSON(data []byte) error

type VerifyChecksumRequest

type VerifyChecksumRequest struct {
	Span `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
	// The version used to pick the checksum method. It allows us to use a
	// consistent checksumming method across replicas.
	Version    uint32                                          `protobuf:"varint,2,opt,name=version" json:"version"`
	ChecksumID github_com_cockroachdb_cockroach_util_uuid.UUID `` /* 133-byte string literal not displayed */
	Checksum   []byte                                          `protobuf:"bytes,4,opt,name=checksum" json:"checksum,omitempty"`
	// Used when a diff is requested on observing a checksum mismatch.
	Snapshot *RaftSnapshotData `protobuf:"bytes,5,opt,name=snapshot" json:"snapshot,omitempty"`
}

A VerifyChecksumRequest is arguments to the VerifyChecksum() method, to verify the checksum computed on the leader against the one requested earlier through a ComputeChecksumRequest with the same checksum_id.

func (*VerifyChecksumRequest) Descriptor

func (*VerifyChecksumRequest) Descriptor() ([]byte, []int)

func (*VerifyChecksumRequest) Marshal

func (m *VerifyChecksumRequest) Marshal() (data []byte, err error)

func (*VerifyChecksumRequest) MarshalTo

func (m *VerifyChecksumRequest) MarshalTo(data []byte) (int, error)

func (*VerifyChecksumRequest) Method

func (*VerifyChecksumRequest) Method() Method

Method implements the Request interface.

func (*VerifyChecksumRequest) ProtoMessage

func (*VerifyChecksumRequest) ProtoMessage()

func (*VerifyChecksumRequest) Reset

func (m *VerifyChecksumRequest) Reset()

func (*VerifyChecksumRequest) ShallowCopy

func (vcr *VerifyChecksumRequest) ShallowCopy() Request

ShallowCopy implements the Request interface.

func (*VerifyChecksumRequest) Size

func (m *VerifyChecksumRequest) Size() (n int)

func (*VerifyChecksumRequest) String

func (m *VerifyChecksumRequest) String() string

func (*VerifyChecksumRequest) Unmarshal

func (m *VerifyChecksumRequest) Unmarshal(data []byte) error

type VerifyChecksumResponse

type VerifyChecksumResponse struct {
	ResponseHeader `protobuf:"bytes,1,opt,name=header,embedded=header" json:"header"`
}

A VerifyChecksumResponse is the response to a VerifyChecksum() operation.

func (*VerifyChecksumResponse) Descriptor

func (*VerifyChecksumResponse) Descriptor() ([]byte, []int)

func (*VerifyChecksumResponse) Marshal

func (m *VerifyChecksumResponse) Marshal() (data []byte, err error)

func (*VerifyChecksumResponse) MarshalTo

func (m *VerifyChecksumResponse) MarshalTo(data []byte) (int, error)

func (*VerifyChecksumResponse) ProtoMessage

func (*VerifyChecksumResponse) ProtoMessage()

func (*VerifyChecksumResponse) Reset

func (m *VerifyChecksumResponse) Reset()

func (*VerifyChecksumResponse) Size

func (m *VerifyChecksumResponse) Size() (n int)

func (*VerifyChecksumResponse) String

func (m *VerifyChecksumResponse) String() string

func (*VerifyChecksumResponse) Unmarshal

func (m *VerifyChecksumResponse) Unmarshal(data []byte) error

type WriteIntentError

type WriteIntentError struct {
	Intents  []Intent `protobuf:"bytes,1,rep,name=intents" json:"intents"`
	Resolved bool     `protobuf:"varint,2,opt,name=resolved" json:"resolved"`
}

A WriteIntentError indicates that one or more write intent belonging to another transaction were encountered leading to a read/write or write/write conflict. The keys at which the intent was encountered are set, as are the txn records for the intents' transactions. resolved is set if the intent was successfully resolved, meaning the client may retry the operation immediately. If resolved is false, the client should back off and retry.

func (*WriteIntentError) Descriptor

func (*WriteIntentError) Descriptor() ([]byte, []int)

func (*WriteIntentError) Error

func (e *WriteIntentError) Error() string

func (*WriteIntentError) Marshal

func (m *WriteIntentError) Marshal() (data []byte, err error)

func (*WriteIntentError) MarshalTo

func (m *WriteIntentError) MarshalTo(data []byte) (int, error)

func (*WriteIntentError) ProtoMessage

func (*WriteIntentError) ProtoMessage()

func (*WriteIntentError) Reset

func (m *WriteIntentError) Reset()

func (*WriteIntentError) Size

func (m *WriteIntentError) Size() (n int)

func (*WriteIntentError) String

func (m *WriteIntentError) String() string

func (*WriteIntentError) Unmarshal

func (m *WriteIntentError) Unmarshal(data []byte) error

type WriteTooOldError

type WriteTooOldError struct {
	Timestamp       Timestamp `protobuf:"bytes,1,opt,name=timestamp" json:"timestamp"`
	ActualTimestamp Timestamp `protobuf:"bytes,2,opt,name=actual_timestamp,json=actualTimestamp" json:"actual_timestamp"`
}

A WriteTooOldError indicates that a write encountered a versioned value newer than its timestamp, making it impossible to rewrite history. The write is instead done at actual timestamp, which is the timestamp of the existing version+1.

func (*WriteTooOldError) Descriptor

func (*WriteTooOldError) Descriptor() ([]byte, []int)

func (*WriteTooOldError) Error

func (e *WriteTooOldError) Error() string

func (*WriteTooOldError) Marshal

func (m *WriteTooOldError) Marshal() (data []byte, err error)

func (*WriteTooOldError) MarshalTo

func (m *WriteTooOldError) MarshalTo(data []byte) (int, error)

func (*WriteTooOldError) ProtoMessage

func (*WriteTooOldError) ProtoMessage()

func (*WriteTooOldError) Reset

func (m *WriteTooOldError) Reset()

func (*WriteTooOldError) Size

func (m *WriteTooOldError) Size() (n int)

func (*WriteTooOldError) String

func (m *WriteTooOldError) String() string

func (*WriteTooOldError) Unmarshal

func (m *WriteTooOldError) Unmarshal(data []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL