github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/storage/enginepb/mvcc3.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: storage/enginepb/mvcc3.proto
     3  
     4  package enginepb
     5  
     6  import proto "github.com/gogo/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  import hlc "github.com/cockroachdb/cockroach/pkg/util/hlc"
    10  
    11  import github_com_cockroachdb_cockroach_pkg_util_uuid "github.com/cockroachdb/cockroach/pkg/util/uuid"
    12  
    13  import bytes "bytes"
    14  
    15  import encoding_binary "encoding/binary"
    16  
    17  import io "io"
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var _ = proto.Marshal
    21  var _ = fmt.Errorf
    22  var _ = math.Inf
    23  
    24  // This is a compile-time assertion to ensure that this generated file
    25  // is compatible with the proto package it is being compiled against.
    26  // A compilation error at this line likely means your copy of the
    27  // proto package needs to be updated.
    28  const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
    29  
    30  // TxnMeta is the metadata of a Transaction record.
    31  type TxnMeta struct {
    32  	// id is a unique UUID value which identifies the transaction.
    33  	// This field is always filled in.
    34  	ID github_com_cockroachdb_cockroach_pkg_util_uuid.UUID `protobuf:"bytes,1,opt,name=id,proto3,customtype=github.com/cockroachdb/cockroach/pkg/util/uuid.UUID" json:"id"`
    35  	// key is the key which anchors the transaction. This is typically
    36  	// the first key read or written during the transaction and
    37  	// determines which range in the cluster will hold the transaction
    38  	// record.
    39  	Key []byte `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
    40  	// Incremented on txn retry.
    41  	Epoch TxnEpoch `protobuf:"varint,4,opt,name=epoch,proto3,casttype=TxnEpoch" json:"epoch,omitempty"`
    42  	// The proposed timestamp for the transaction. This starts as the current wall
    43  	// time on the txn coordinator, and is forwarded by the timestamp cache if the
    44  	// txn attempts to write "beneath" another txn's writes.
    45  	//
    46  	// Writes within the txn are performed using the most up-to-date value of this
    47  	// timestamp that is available. For example, suppose a txn starts at some
    48  	// timestamp, writes a key/value, and has its timestamp forwarded while doing
    49  	// so because a later version already exists at that key. As soon as the txn
    50  	// coordinator learns of the updated timestamp, it will begin performing
    51  	// writes at the updated timestamp. The coordinator may, however, continue
    52  	// issuing writes at the original timestamp before it learns about the
    53  	// forwarded timestamp. The process of resolving the intents when the txn
    54  	// commits will bump any intents written at an older timestamp to the final
    55  	// commit timestamp.
    56  	//
    57  	// Note that reads do not occur at this timestamp; they instead occur at
    58  	// ReadTimestamp, which is tracked in the containing roachpb.Transaction.
    59  	//
    60  	// Writes used to be performed at the txn's read timestamp, which was
    61  	// necessary to avoid lost update anomalies in snapshot isolation mode. We no
    62  	// longer support snapshot isolation mode, and there are now several important
    63  	// reasons that writes are performed at this timestamp instead of the txn's
    64  	// original timestamp:
    65  	//
    66  	//    1. This timestamp is forwarded by the timestamp cache when this
    67  	//       transaction attempts to write beneath a more recent read. Leaving the
    68  	//       intent at the original timestamp would write beneath that read, which
    69  	//       would violate an invariant that time-bound iterators rely on.
    70  	//
    71  	//       For example, consider a client that uses a time-bound iterator to
    72  	//       poll for changes to a key. The client reads (ts5, ts10], sees no
    73  	//       writes, and reports that no changes have occurred up to t10. Then a
    74  	//       txn writes an intent at its original timestamp ts7. The txn's
    75  	//       timestamp is forwarded to ts11 by the timestamp cache thanks to the
    76  	//       client's read. Meanwhile, the client reads (ts10, ts15] and, again
    77  	//       seeing no intents, reports that no changes have occurred to the key
    78  	//       up to t15. Now the txn commits at ts11 and bumps the intent to ts11.
    79  	//       But the client thinks it has seen all changes up to t15, and so never
    80  	//       sees the intent! We avoid this problem by writing intents at the
    81  	//       provisional commit timestamp insteadr. In this example, the intent
    82  	//       would instead be written at ts11 and picked up by the client's next
    83  	//       read from (ts10, ts15].
    84  	//
    85  	//    2. Unnecessary PushTxn roundtrips are avoided. If a transaction is
    86  	//       forwarded from ts5 to ts10, the rest of its intents will be written
    87  	//       at ts10. Reads at t < ts10 that encounter these intents can ignore
    88  	//       them; if the intents had instead been left at ts5, these reads would
    89  	//       have needed to send PushTxn requests just to find out that the txn
    90  	//       had, in fact, been forwarded to a non-conflicting time.
    91  	//
    92  	//    3. Unnecessary intent rewriting is avoided. Writing at the original
    93  	//       timestamp when this timestamp has been forwarded guarantees that the
    94  	//       value will need to be rewritten at the forwarded timestamp if the
    95  	//       transaction commits.
    96  	//
    97  	WriteTimestamp hlc.Timestamp `protobuf:"bytes,5,opt,name=write_timestamp,json=writeTimestamp,proto3" json:"write_timestamp"`
    98  	// The timestamp that the transaction was assigned by its gateway when it
    99  	// began its first epoch. This is the earliest timestamp that the transaction
   100  	// could have written any of its intents at.
   101  	//
   102  	// The timestamp is currently used in three places:
   103  	// 1. by the transaction itself and by concurrent transactions when
   104  	//    determining whether this transaction's record can be initially
   105  	//    written. The timestamp is compared against the transaction's
   106  	//    corresponding timestamp cache entry to ensure that a
   107  	//    finalized transaction can never commit, either after a replay
   108  	//    or a transaction abort. See CanCreateTxnRecord.
   109  	// 2. by intent resolution to efficiently scan for intents while
   110  	//    using a time-bound iterator - i.e. there can be intents to
   111  	//    resolve up to the timestamp that the txn started with.
   112  	// 3. by would-be pushers, when they run into an intent but the corresponding
   113  	//    txn record was not yet written. In that case, the pusher uses this field
   114  	//    as an indication of a timestamp when the pushee's coordinator is known
   115  	//    to have been alive.
   116  	MinTimestamp hlc.Timestamp `protobuf:"bytes,9,opt,name=min_timestamp,json=minTimestamp,proto3" json:"min_timestamp"`
   117  	// The transaction's priority, ratcheted on transaction pushes.
   118  	Priority TxnPriority `protobuf:"varint,6,opt,name=priority,proto3,casttype=TxnPriority" json:"priority,omitempty"`
   119  	// A zero-indexed sequence number which is increased on each request
   120  	// sent as part of the transaction. When set in the header of a batch of
   121  	// requests, the value will correspond to the sequence number of the
   122  	// last request. Used to provide idempotency and to protect against
   123  	// out-of-order application (by means of a transaction retry).
   124  	Sequence TxnSeq `protobuf:"varint,7,opt,name=sequence,proto3,casttype=TxnSeq" json:"sequence,omitempty"`
   125  }
   126  
   127  func (m *TxnMeta) Reset()      { *m = TxnMeta{} }
   128  func (*TxnMeta) ProtoMessage() {}
   129  func (*TxnMeta) Descriptor() ([]byte, []int) {
   130  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{0}
   131  }
   132  func (m *TxnMeta) XXX_Unmarshal(b []byte) error {
   133  	return m.Unmarshal(b)
   134  }
   135  func (m *TxnMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   136  	b = b[:cap(b)]
   137  	n, err := m.MarshalTo(b)
   138  	if err != nil {
   139  		return nil, err
   140  	}
   141  	return b[:n], nil
   142  }
   143  func (dst *TxnMeta) XXX_Merge(src proto.Message) {
   144  	xxx_messageInfo_TxnMeta.Merge(dst, src)
   145  }
   146  func (m *TxnMeta) XXX_Size() int {
   147  	return m.Size()
   148  }
   149  func (m *TxnMeta) XXX_DiscardUnknown() {
   150  	xxx_messageInfo_TxnMeta.DiscardUnknown(m)
   151  }
   152  
   153  var xxx_messageInfo_TxnMeta proto.InternalMessageInfo
   154  
   155  // IgnoredSeqNumRange describes a range of ignored seqnums.
   156  // The range is inclusive on both ends.
   157  type IgnoredSeqNumRange struct {
   158  	Start TxnSeq `protobuf:"varint,1,opt,name=start,proto3,casttype=TxnSeq" json:"start,omitempty"`
   159  	End   TxnSeq `protobuf:"varint,2,opt,name=end,proto3,casttype=TxnSeq" json:"end,omitempty"`
   160  }
   161  
   162  func (m *IgnoredSeqNumRange) Reset()         { *m = IgnoredSeqNumRange{} }
   163  func (m *IgnoredSeqNumRange) String() string { return proto.CompactTextString(m) }
   164  func (*IgnoredSeqNumRange) ProtoMessage()    {}
   165  func (*IgnoredSeqNumRange) Descriptor() ([]byte, []int) {
   166  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{1}
   167  }
   168  func (m *IgnoredSeqNumRange) XXX_Unmarshal(b []byte) error {
   169  	return m.Unmarshal(b)
   170  }
   171  func (m *IgnoredSeqNumRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   172  	b = b[:cap(b)]
   173  	n, err := m.MarshalTo(b)
   174  	if err != nil {
   175  		return nil, err
   176  	}
   177  	return b[:n], nil
   178  }
   179  func (dst *IgnoredSeqNumRange) XXX_Merge(src proto.Message) {
   180  	xxx_messageInfo_IgnoredSeqNumRange.Merge(dst, src)
   181  }
   182  func (m *IgnoredSeqNumRange) XXX_Size() int {
   183  	return m.Size()
   184  }
   185  func (m *IgnoredSeqNumRange) XXX_DiscardUnknown() {
   186  	xxx_messageInfo_IgnoredSeqNumRange.DiscardUnknown(m)
   187  }
   188  
   189  var xxx_messageInfo_IgnoredSeqNumRange proto.InternalMessageInfo
   190  
   191  // MVCCStatsDelta is convertible to MVCCStats, but uses signed variable width
   192  // encodings for most fields that make it more efficient to store negative
   193  // values. This makes the encodings incompatible.
   194  type MVCCStatsDelta struct {
   195  	ContainsEstimates int64 `protobuf:"varint,14,opt,name=contains_estimates,json=containsEstimates,proto3" json:"contains_estimates,omitempty"`
   196  	LastUpdateNanos   int64 `protobuf:"fixed64,1,opt,name=last_update_nanos,json=lastUpdateNanos,proto3" json:"last_update_nanos,omitempty"`
   197  	IntentAge         int64 `protobuf:"fixed64,2,opt,name=intent_age,json=intentAge,proto3" json:"intent_age,omitempty"`
   198  	GCBytesAge        int64 `protobuf:"fixed64,3,opt,name=gc_bytes_age,json=gcBytesAge,proto3" json:"gc_bytes_age,omitempty"`
   199  	LiveBytes         int64 `protobuf:"zigzag64,4,opt,name=live_bytes,json=liveBytes,proto3" json:"live_bytes,omitempty"`
   200  	LiveCount         int64 `protobuf:"zigzag64,5,opt,name=live_count,json=liveCount,proto3" json:"live_count,omitempty"`
   201  	KeyBytes          int64 `protobuf:"zigzag64,6,opt,name=key_bytes,json=keyBytes,proto3" json:"key_bytes,omitempty"`
   202  	KeyCount          int64 `protobuf:"zigzag64,7,opt,name=key_count,json=keyCount,proto3" json:"key_count,omitempty"`
   203  	ValBytes          int64 `protobuf:"zigzag64,8,opt,name=val_bytes,json=valBytes,proto3" json:"val_bytes,omitempty"`
   204  	ValCount          int64 `protobuf:"zigzag64,9,opt,name=val_count,json=valCount,proto3" json:"val_count,omitempty"`
   205  	IntentBytes       int64 `protobuf:"zigzag64,10,opt,name=intent_bytes,json=intentBytes,proto3" json:"intent_bytes,omitempty"`
   206  	IntentCount       int64 `protobuf:"zigzag64,11,opt,name=intent_count,json=intentCount,proto3" json:"intent_count,omitempty"`
   207  	SysBytes          int64 `protobuf:"zigzag64,12,opt,name=sys_bytes,json=sysBytes,proto3" json:"sys_bytes,omitempty"`
   208  	SysCount          int64 `protobuf:"zigzag64,13,opt,name=sys_count,json=sysCount,proto3" json:"sys_count,omitempty"`
   209  }
   210  
   211  func (m *MVCCStatsDelta) Reset()         { *m = MVCCStatsDelta{} }
   212  func (m *MVCCStatsDelta) String() string { return proto.CompactTextString(m) }
   213  func (*MVCCStatsDelta) ProtoMessage()    {}
   214  func (*MVCCStatsDelta) Descriptor() ([]byte, []int) {
   215  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{2}
   216  }
   217  func (m *MVCCStatsDelta) XXX_Unmarshal(b []byte) error {
   218  	return m.Unmarshal(b)
   219  }
   220  func (m *MVCCStatsDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   221  	b = b[:cap(b)]
   222  	n, err := m.MarshalTo(b)
   223  	if err != nil {
   224  		return nil, err
   225  	}
   226  	return b[:n], nil
   227  }
   228  func (dst *MVCCStatsDelta) XXX_Merge(src proto.Message) {
   229  	xxx_messageInfo_MVCCStatsDelta.Merge(dst, src)
   230  }
   231  func (m *MVCCStatsDelta) XXX_Size() int {
   232  	return m.Size()
   233  }
   234  func (m *MVCCStatsDelta) XXX_DiscardUnknown() {
   235  	xxx_messageInfo_MVCCStatsDelta.DiscardUnknown(m)
   236  }
   237  
   238  var xxx_messageInfo_MVCCStatsDelta proto.InternalMessageInfo
   239  
   240  // MVCCPersistentStats is convertible to MVCCStats, but uses signed variable
   241  // width encodings for most fields that make it efficient to store positive
   242  // values but inefficient to store negative values. This makes the encodings
   243  // incompatible.
   244  type MVCCPersistentStats struct {
   245  	ContainsEstimates int64 `protobuf:"varint,14,opt,name=contains_estimates,json=containsEstimates,proto3" json:"contains_estimates,omitempty"`
   246  	LastUpdateNanos   int64 `protobuf:"fixed64,1,opt,name=last_update_nanos,json=lastUpdateNanos,proto3" json:"last_update_nanos,omitempty"`
   247  	IntentAge         int64 `protobuf:"fixed64,2,opt,name=intent_age,json=intentAge,proto3" json:"intent_age,omitempty"`
   248  	GCBytesAge        int64 `protobuf:"fixed64,3,opt,name=gc_bytes_age,json=gcBytesAge,proto3" json:"gc_bytes_age,omitempty"`
   249  	LiveBytes         int64 `protobuf:"varint,4,opt,name=live_bytes,json=liveBytes,proto3" json:"live_bytes,omitempty"`
   250  	LiveCount         int64 `protobuf:"varint,5,opt,name=live_count,json=liveCount,proto3" json:"live_count,omitempty"`
   251  	KeyBytes          int64 `protobuf:"varint,6,opt,name=key_bytes,json=keyBytes,proto3" json:"key_bytes,omitempty"`
   252  	KeyCount          int64 `protobuf:"varint,7,opt,name=key_count,json=keyCount,proto3" json:"key_count,omitempty"`
   253  	ValBytes          int64 `protobuf:"varint,8,opt,name=val_bytes,json=valBytes,proto3" json:"val_bytes,omitempty"`
   254  	ValCount          int64 `protobuf:"varint,9,opt,name=val_count,json=valCount,proto3" json:"val_count,omitempty"`
   255  	IntentBytes       int64 `protobuf:"varint,10,opt,name=intent_bytes,json=intentBytes,proto3" json:"intent_bytes,omitempty"`
   256  	IntentCount       int64 `protobuf:"varint,11,opt,name=intent_count,json=intentCount,proto3" json:"intent_count,omitempty"`
   257  	SysBytes          int64 `protobuf:"varint,12,opt,name=sys_bytes,json=sysBytes,proto3" json:"sys_bytes,omitempty"`
   258  	SysCount          int64 `protobuf:"varint,13,opt,name=sys_count,json=sysCount,proto3" json:"sys_count,omitempty"`
   259  }
   260  
   261  func (m *MVCCPersistentStats) Reset()         { *m = MVCCPersistentStats{} }
   262  func (m *MVCCPersistentStats) String() string { return proto.CompactTextString(m) }
   263  func (*MVCCPersistentStats) ProtoMessage()    {}
   264  func (*MVCCPersistentStats) Descriptor() ([]byte, []int) {
   265  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{3}
   266  }
   267  func (m *MVCCPersistentStats) XXX_Unmarshal(b []byte) error {
   268  	return m.Unmarshal(b)
   269  }
   270  func (m *MVCCPersistentStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   271  	b = b[:cap(b)]
   272  	n, err := m.MarshalTo(b)
   273  	if err != nil {
   274  		return nil, err
   275  	}
   276  	return b[:n], nil
   277  }
   278  func (dst *MVCCPersistentStats) XXX_Merge(src proto.Message) {
   279  	xxx_messageInfo_MVCCPersistentStats.Merge(dst, src)
   280  }
   281  func (m *MVCCPersistentStats) XXX_Size() int {
   282  	return m.Size()
   283  }
   284  func (m *MVCCPersistentStats) XXX_DiscardUnknown() {
   285  	xxx_messageInfo_MVCCPersistentStats.DiscardUnknown(m)
   286  }
   287  
   288  var xxx_messageInfo_MVCCPersistentStats proto.InternalMessageInfo
   289  
   290  // RangeAppliedState combines the raft and lease applied indices with
   291  // mvcc stats. These are all persisted on each transition of the Raft
   292  // state machine (i.e. on each Raft application), so they are stored
   293  // in the same RocksDB key for efficiency.
   294  type RangeAppliedState struct {
   295  	// raft_applied_index is the highest (and last) index applied to the Raft
   296  	// state machine.
   297  	RaftAppliedIndex uint64 `protobuf:"varint,1,opt,name=raft_applied_index,json=raftAppliedIndex,proto3" json:"raft_applied_index,omitempty"`
   298  	// lease_applied_index is the highest (and last) lease index applied to the
   299  	// Raft state machine.
   300  	LeaseAppliedIndex uint64 `protobuf:"varint,2,opt,name=lease_applied_index,json=leaseAppliedIndex,proto3" json:"lease_applied_index,omitempty"`
   301  	// range_stats is the set of mvcc stats that accounts for the current value
   302  	// of the Raft state machine.
   303  	RangeStats MVCCPersistentStats `protobuf:"bytes,3,opt,name=range_stats,json=rangeStats,proto3" json:"range_stats"`
   304  }
   305  
   306  func (m *RangeAppliedState) Reset()         { *m = RangeAppliedState{} }
   307  func (m *RangeAppliedState) String() string { return proto.CompactTextString(m) }
   308  func (*RangeAppliedState) ProtoMessage()    {}
   309  func (*RangeAppliedState) Descriptor() ([]byte, []int) {
   310  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{4}
   311  }
   312  func (m *RangeAppliedState) XXX_Unmarshal(b []byte) error {
   313  	return m.Unmarshal(b)
   314  }
   315  func (m *RangeAppliedState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   316  	b = b[:cap(b)]
   317  	n, err := m.MarshalTo(b)
   318  	if err != nil {
   319  		return nil, err
   320  	}
   321  	return b[:n], nil
   322  }
   323  func (dst *RangeAppliedState) XXX_Merge(src proto.Message) {
   324  	xxx_messageInfo_RangeAppliedState.Merge(dst, src)
   325  }
   326  func (m *RangeAppliedState) XXX_Size() int {
   327  	return m.Size()
   328  }
   329  func (m *RangeAppliedState) XXX_DiscardUnknown() {
   330  	xxx_messageInfo_RangeAppliedState.DiscardUnknown(m)
   331  }
   332  
   333  var xxx_messageInfo_RangeAppliedState proto.InternalMessageInfo
   334  
   335  // MVCCWriteValueOp corresponds to a value being written outside of a
   336  // transaction.
   337  type MVCCWriteValueOp struct {
   338  	Key       []byte        `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   339  	Timestamp hlc.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp"`
   340  	Value     []byte        `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
   341  	PrevValue []byte        `protobuf:"bytes,4,opt,name=prev_value,json=prevValue,proto3" json:"prev_value,omitempty"`
   342  }
   343  
   344  func (m *MVCCWriteValueOp) Reset()         { *m = MVCCWriteValueOp{} }
   345  func (m *MVCCWriteValueOp) String() string { return proto.CompactTextString(m) }
   346  func (*MVCCWriteValueOp) ProtoMessage()    {}
   347  func (*MVCCWriteValueOp) Descriptor() ([]byte, []int) {
   348  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{5}
   349  }
   350  func (m *MVCCWriteValueOp) XXX_Unmarshal(b []byte) error {
   351  	return m.Unmarshal(b)
   352  }
   353  func (m *MVCCWriteValueOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   354  	b = b[:cap(b)]
   355  	n, err := m.MarshalTo(b)
   356  	if err != nil {
   357  		return nil, err
   358  	}
   359  	return b[:n], nil
   360  }
   361  func (dst *MVCCWriteValueOp) XXX_Merge(src proto.Message) {
   362  	xxx_messageInfo_MVCCWriteValueOp.Merge(dst, src)
   363  }
   364  func (m *MVCCWriteValueOp) XXX_Size() int {
   365  	return m.Size()
   366  }
   367  func (m *MVCCWriteValueOp) XXX_DiscardUnknown() {
   368  	xxx_messageInfo_MVCCWriteValueOp.DiscardUnknown(m)
   369  }
   370  
   371  var xxx_messageInfo_MVCCWriteValueOp proto.InternalMessageInfo
   372  
   373  // MVCCUpdateIntentOp corresponds to an intent being written for a given
   374  // transaction.
   375  type MVCCWriteIntentOp struct {
   376  	TxnID           github_com_cockroachdb_cockroach_pkg_util_uuid.UUID `protobuf:"bytes,1,opt,name=txn_id,json=txnId,proto3,customtype=github.com/cockroachdb/cockroach/pkg/util/uuid.UUID" json:"txn_id"`
   377  	TxnKey          []byte                                              `protobuf:"bytes,2,opt,name=txn_key,json=txnKey,proto3" json:"txn_key,omitempty"`
   378  	TxnMinTimestamp hlc.Timestamp                                       `protobuf:"bytes,4,opt,name=txn_min_timestamp,json=txnMinTimestamp,proto3" json:"txn_min_timestamp"`
   379  	Timestamp       hlc.Timestamp                                       `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp"`
   380  }
   381  
   382  func (m *MVCCWriteIntentOp) Reset()         { *m = MVCCWriteIntentOp{} }
   383  func (m *MVCCWriteIntentOp) String() string { return proto.CompactTextString(m) }
   384  func (*MVCCWriteIntentOp) ProtoMessage()    {}
   385  func (*MVCCWriteIntentOp) Descriptor() ([]byte, []int) {
   386  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{6}
   387  }
   388  func (m *MVCCWriteIntentOp) XXX_Unmarshal(b []byte) error {
   389  	return m.Unmarshal(b)
   390  }
   391  func (m *MVCCWriteIntentOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   392  	b = b[:cap(b)]
   393  	n, err := m.MarshalTo(b)
   394  	if err != nil {
   395  		return nil, err
   396  	}
   397  	return b[:n], nil
   398  }
   399  func (dst *MVCCWriteIntentOp) XXX_Merge(src proto.Message) {
   400  	xxx_messageInfo_MVCCWriteIntentOp.Merge(dst, src)
   401  }
   402  func (m *MVCCWriteIntentOp) XXX_Size() int {
   403  	return m.Size()
   404  }
   405  func (m *MVCCWriteIntentOp) XXX_DiscardUnknown() {
   406  	xxx_messageInfo_MVCCWriteIntentOp.DiscardUnknown(m)
   407  }
   408  
   409  var xxx_messageInfo_MVCCWriteIntentOp proto.InternalMessageInfo
   410  
   411  // MVCCUpdateIntentOp corresponds to an intent being updates at a larger
   412  // timestamp for a given transaction.
   413  type MVCCUpdateIntentOp struct {
   414  	TxnID     github_com_cockroachdb_cockroach_pkg_util_uuid.UUID `protobuf:"bytes,1,opt,name=txn_id,json=txnId,proto3,customtype=github.com/cockroachdb/cockroach/pkg/util/uuid.UUID" json:"txn_id"`
   415  	Timestamp hlc.Timestamp                                       `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp"`
   416  }
   417  
   418  func (m *MVCCUpdateIntentOp) Reset()         { *m = MVCCUpdateIntentOp{} }
   419  func (m *MVCCUpdateIntentOp) String() string { return proto.CompactTextString(m) }
   420  func (*MVCCUpdateIntentOp) ProtoMessage()    {}
   421  func (*MVCCUpdateIntentOp) Descriptor() ([]byte, []int) {
   422  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{7}
   423  }
   424  func (m *MVCCUpdateIntentOp) XXX_Unmarshal(b []byte) error {
   425  	return m.Unmarshal(b)
   426  }
   427  func (m *MVCCUpdateIntentOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   428  	b = b[:cap(b)]
   429  	n, err := m.MarshalTo(b)
   430  	if err != nil {
   431  		return nil, err
   432  	}
   433  	return b[:n], nil
   434  }
   435  func (dst *MVCCUpdateIntentOp) XXX_Merge(src proto.Message) {
   436  	xxx_messageInfo_MVCCUpdateIntentOp.Merge(dst, src)
   437  }
   438  func (m *MVCCUpdateIntentOp) XXX_Size() int {
   439  	return m.Size()
   440  }
   441  func (m *MVCCUpdateIntentOp) XXX_DiscardUnknown() {
   442  	xxx_messageInfo_MVCCUpdateIntentOp.DiscardUnknown(m)
   443  }
   444  
   445  var xxx_messageInfo_MVCCUpdateIntentOp proto.InternalMessageInfo
   446  
   447  // MVCCCommitIntentOp corresponds to an intent being committed for a given
   448  // transaction.
   449  type MVCCCommitIntentOp struct {
   450  	TxnID     github_com_cockroachdb_cockroach_pkg_util_uuid.UUID `protobuf:"bytes,1,opt,name=txn_id,json=txnId,proto3,customtype=github.com/cockroachdb/cockroach/pkg/util/uuid.UUID" json:"txn_id"`
   451  	Key       []byte                                              `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
   452  	Timestamp hlc.Timestamp                                       `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp"`
   453  	Value     []byte                                              `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
   454  	PrevValue []byte                                              `protobuf:"bytes,5,opt,name=prev_value,json=prevValue,proto3" json:"prev_value,omitempty"`
   455  }
   456  
   457  func (m *MVCCCommitIntentOp) Reset()         { *m = MVCCCommitIntentOp{} }
   458  func (m *MVCCCommitIntentOp) String() string { return proto.CompactTextString(m) }
   459  func (*MVCCCommitIntentOp) ProtoMessage()    {}
   460  func (*MVCCCommitIntentOp) Descriptor() ([]byte, []int) {
   461  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{8}
   462  }
   463  func (m *MVCCCommitIntentOp) XXX_Unmarshal(b []byte) error {
   464  	return m.Unmarshal(b)
   465  }
   466  func (m *MVCCCommitIntentOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   467  	b = b[:cap(b)]
   468  	n, err := m.MarshalTo(b)
   469  	if err != nil {
   470  		return nil, err
   471  	}
   472  	return b[:n], nil
   473  }
   474  func (dst *MVCCCommitIntentOp) XXX_Merge(src proto.Message) {
   475  	xxx_messageInfo_MVCCCommitIntentOp.Merge(dst, src)
   476  }
   477  func (m *MVCCCommitIntentOp) XXX_Size() int {
   478  	return m.Size()
   479  }
   480  func (m *MVCCCommitIntentOp) XXX_DiscardUnknown() {
   481  	xxx_messageInfo_MVCCCommitIntentOp.DiscardUnknown(m)
   482  }
   483  
   484  var xxx_messageInfo_MVCCCommitIntentOp proto.InternalMessageInfo
   485  
   486  // MVCCAbortIntentOp corresponds to an intent being aborted for a given
   487  // transaction.
   488  //
   489  // This operation does not necessarily indicate that the intent's transaction
   490  // was aborted, just that an intent was removed without being committed. For
   491  // instance, a committed transaction will abort any intents it decided not to
   492  // write in its final epoch.
   493  type MVCCAbortIntentOp struct {
   494  	TxnID github_com_cockroachdb_cockroach_pkg_util_uuid.UUID `protobuf:"bytes,1,opt,name=txn_id,json=txnId,proto3,customtype=github.com/cockroachdb/cockroach/pkg/util/uuid.UUID" json:"txn_id"`
   495  }
   496  
   497  func (m *MVCCAbortIntentOp) Reset()         { *m = MVCCAbortIntentOp{} }
   498  func (m *MVCCAbortIntentOp) String() string { return proto.CompactTextString(m) }
   499  func (*MVCCAbortIntentOp) ProtoMessage()    {}
   500  func (*MVCCAbortIntentOp) Descriptor() ([]byte, []int) {
   501  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{9}
   502  }
   503  func (m *MVCCAbortIntentOp) XXX_Unmarshal(b []byte) error {
   504  	return m.Unmarshal(b)
   505  }
   506  func (m *MVCCAbortIntentOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   507  	b = b[:cap(b)]
   508  	n, err := m.MarshalTo(b)
   509  	if err != nil {
   510  		return nil, err
   511  	}
   512  	return b[:n], nil
   513  }
   514  func (dst *MVCCAbortIntentOp) XXX_Merge(src proto.Message) {
   515  	xxx_messageInfo_MVCCAbortIntentOp.Merge(dst, src)
   516  }
   517  func (m *MVCCAbortIntentOp) XXX_Size() int {
   518  	return m.Size()
   519  }
   520  func (m *MVCCAbortIntentOp) XXX_DiscardUnknown() {
   521  	xxx_messageInfo_MVCCAbortIntentOp.DiscardUnknown(m)
   522  }
   523  
   524  var xxx_messageInfo_MVCCAbortIntentOp proto.InternalMessageInfo
   525  
   526  // MVCCAbortTxnOp corresponds to an entire transaction being aborted. The
   527  // operation indicates that none of the transaction's intents will ever be
   528  // committed.
   529  type MVCCAbortTxnOp struct {
   530  	TxnID github_com_cockroachdb_cockroach_pkg_util_uuid.UUID `protobuf:"bytes,1,opt,name=txn_id,json=txnId,proto3,customtype=github.com/cockroachdb/cockroach/pkg/util/uuid.UUID" json:"txn_id"`
   531  }
   532  
   533  func (m *MVCCAbortTxnOp) Reset()         { *m = MVCCAbortTxnOp{} }
   534  func (m *MVCCAbortTxnOp) String() string { return proto.CompactTextString(m) }
   535  func (*MVCCAbortTxnOp) ProtoMessage()    {}
   536  func (*MVCCAbortTxnOp) Descriptor() ([]byte, []int) {
   537  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{10}
   538  }
   539  func (m *MVCCAbortTxnOp) XXX_Unmarshal(b []byte) error {
   540  	return m.Unmarshal(b)
   541  }
   542  func (m *MVCCAbortTxnOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   543  	b = b[:cap(b)]
   544  	n, err := m.MarshalTo(b)
   545  	if err != nil {
   546  		return nil, err
   547  	}
   548  	return b[:n], nil
   549  }
   550  func (dst *MVCCAbortTxnOp) XXX_Merge(src proto.Message) {
   551  	xxx_messageInfo_MVCCAbortTxnOp.Merge(dst, src)
   552  }
   553  func (m *MVCCAbortTxnOp) XXX_Size() int {
   554  	return m.Size()
   555  }
   556  func (m *MVCCAbortTxnOp) XXX_DiscardUnknown() {
   557  	xxx_messageInfo_MVCCAbortTxnOp.DiscardUnknown(m)
   558  }
   559  
   560  var xxx_messageInfo_MVCCAbortTxnOp proto.InternalMessageInfo
   561  
   562  // MVCCLogicalOp is a union of all logical MVCC operation types.
   563  type MVCCLogicalOp struct {
   564  	WriteValue   *MVCCWriteValueOp   `protobuf:"bytes,1,opt,name=write_value,json=writeValue,proto3" json:"write_value,omitempty"`
   565  	WriteIntent  *MVCCWriteIntentOp  `protobuf:"bytes,2,opt,name=write_intent,json=writeIntent,proto3" json:"write_intent,omitempty"`
   566  	UpdateIntent *MVCCUpdateIntentOp `protobuf:"bytes,3,opt,name=update_intent,json=updateIntent,proto3" json:"update_intent,omitempty"`
   567  	CommitIntent *MVCCCommitIntentOp `protobuf:"bytes,4,opt,name=commit_intent,json=commitIntent,proto3" json:"commit_intent,omitempty"`
   568  	AbortIntent  *MVCCAbortIntentOp  `protobuf:"bytes,5,opt,name=abort_intent,json=abortIntent,proto3" json:"abort_intent,omitempty"`
   569  	AbortTxn     *MVCCAbortTxnOp     `protobuf:"bytes,6,opt,name=abort_txn,json=abortTxn,proto3" json:"abort_txn,omitempty"`
   570  }
   571  
   572  func (m *MVCCLogicalOp) Reset()         { *m = MVCCLogicalOp{} }
   573  func (m *MVCCLogicalOp) String() string { return proto.CompactTextString(m) }
   574  func (*MVCCLogicalOp) ProtoMessage()    {}
   575  func (*MVCCLogicalOp) Descriptor() ([]byte, []int) {
   576  	return fileDescriptor_mvcc3_9bc532bf92053320, []int{11}
   577  }
   578  func (m *MVCCLogicalOp) XXX_Unmarshal(b []byte) error {
   579  	return m.Unmarshal(b)
   580  }
   581  func (m *MVCCLogicalOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   582  	b = b[:cap(b)]
   583  	n, err := m.MarshalTo(b)
   584  	if err != nil {
   585  		return nil, err
   586  	}
   587  	return b[:n], nil
   588  }
   589  func (dst *MVCCLogicalOp) XXX_Merge(src proto.Message) {
   590  	xxx_messageInfo_MVCCLogicalOp.Merge(dst, src)
   591  }
   592  func (m *MVCCLogicalOp) XXX_Size() int {
   593  	return m.Size()
   594  }
   595  func (m *MVCCLogicalOp) XXX_DiscardUnknown() {
   596  	xxx_messageInfo_MVCCLogicalOp.DiscardUnknown(m)
   597  }
   598  
   599  var xxx_messageInfo_MVCCLogicalOp proto.InternalMessageInfo
   600  
   601  func init() {
   602  	proto.RegisterType((*TxnMeta)(nil), "cockroach.storage.enginepb.TxnMeta")
   603  	proto.RegisterType((*IgnoredSeqNumRange)(nil), "cockroach.storage.enginepb.IgnoredSeqNumRange")
   604  	proto.RegisterType((*MVCCStatsDelta)(nil), "cockroach.storage.enginepb.MVCCStatsDelta")
   605  	proto.RegisterType((*MVCCPersistentStats)(nil), "cockroach.storage.enginepb.MVCCPersistentStats")
   606  	proto.RegisterType((*RangeAppliedState)(nil), "cockroach.storage.enginepb.RangeAppliedState")
   607  	proto.RegisterType((*MVCCWriteValueOp)(nil), "cockroach.storage.enginepb.MVCCWriteValueOp")
   608  	proto.RegisterType((*MVCCWriteIntentOp)(nil), "cockroach.storage.enginepb.MVCCWriteIntentOp")
   609  	proto.RegisterType((*MVCCUpdateIntentOp)(nil), "cockroach.storage.enginepb.MVCCUpdateIntentOp")
   610  	proto.RegisterType((*MVCCCommitIntentOp)(nil), "cockroach.storage.enginepb.MVCCCommitIntentOp")
   611  	proto.RegisterType((*MVCCAbortIntentOp)(nil), "cockroach.storage.enginepb.MVCCAbortIntentOp")
   612  	proto.RegisterType((*MVCCAbortTxnOp)(nil), "cockroach.storage.enginepb.MVCCAbortTxnOp")
   613  	proto.RegisterType((*MVCCLogicalOp)(nil), "cockroach.storage.enginepb.MVCCLogicalOp")
   614  }
   615  func (this *TxnMeta) Equal(that interface{}) bool {
   616  	if that == nil {
   617  		return this == nil
   618  	}
   619  
   620  	that1, ok := that.(*TxnMeta)
   621  	if !ok {
   622  		that2, ok := that.(TxnMeta)
   623  		if ok {
   624  			that1 = &that2
   625  		} else {
   626  			return false
   627  		}
   628  	}
   629  	if that1 == nil {
   630  		return this == nil
   631  	} else if this == nil {
   632  		return false
   633  	}
   634  	if !this.ID.Equal(that1.ID) {
   635  		return false
   636  	}
   637  	if !bytes.Equal(this.Key, that1.Key) {
   638  		return false
   639  	}
   640  	if this.Epoch != that1.Epoch {
   641  		return false
   642  	}
   643  	if !this.WriteTimestamp.Equal(&that1.WriteTimestamp) {
   644  		return false
   645  	}
   646  	if !this.MinTimestamp.Equal(&that1.MinTimestamp) {
   647  		return false
   648  	}
   649  	if this.Priority != that1.Priority {
   650  		return false
   651  	}
   652  	if this.Sequence != that1.Sequence {
   653  		return false
   654  	}
   655  	return true
   656  }
   657  func (this *IgnoredSeqNumRange) Equal(that interface{}) bool {
   658  	if that == nil {
   659  		return this == nil
   660  	}
   661  
   662  	that1, ok := that.(*IgnoredSeqNumRange)
   663  	if !ok {
   664  		that2, ok := that.(IgnoredSeqNumRange)
   665  		if ok {
   666  			that1 = &that2
   667  		} else {
   668  			return false
   669  		}
   670  	}
   671  	if that1 == nil {
   672  		return this == nil
   673  	} else if this == nil {
   674  		return false
   675  	}
   676  	if this.Start != that1.Start {
   677  		return false
   678  	}
   679  	if this.End != that1.End {
   680  		return false
   681  	}
   682  	return true
   683  }
   684  func (this *MVCCStatsDelta) Equal(that interface{}) bool {
   685  	if that == nil {
   686  		return this == nil
   687  	}
   688  
   689  	that1, ok := that.(*MVCCStatsDelta)
   690  	if !ok {
   691  		that2, ok := that.(MVCCStatsDelta)
   692  		if ok {
   693  			that1 = &that2
   694  		} else {
   695  			return false
   696  		}
   697  	}
   698  	if that1 == nil {
   699  		return this == nil
   700  	} else if this == nil {
   701  		return false
   702  	}
   703  	if this.ContainsEstimates != that1.ContainsEstimates {
   704  		return false
   705  	}
   706  	if this.LastUpdateNanos != that1.LastUpdateNanos {
   707  		return false
   708  	}
   709  	if this.IntentAge != that1.IntentAge {
   710  		return false
   711  	}
   712  	if this.GCBytesAge != that1.GCBytesAge {
   713  		return false
   714  	}
   715  	if this.LiveBytes != that1.LiveBytes {
   716  		return false
   717  	}
   718  	if this.LiveCount != that1.LiveCount {
   719  		return false
   720  	}
   721  	if this.KeyBytes != that1.KeyBytes {
   722  		return false
   723  	}
   724  	if this.KeyCount != that1.KeyCount {
   725  		return false
   726  	}
   727  	if this.ValBytes != that1.ValBytes {
   728  		return false
   729  	}
   730  	if this.ValCount != that1.ValCount {
   731  		return false
   732  	}
   733  	if this.IntentBytes != that1.IntentBytes {
   734  		return false
   735  	}
   736  	if this.IntentCount != that1.IntentCount {
   737  		return false
   738  	}
   739  	if this.SysBytes != that1.SysBytes {
   740  		return false
   741  	}
   742  	if this.SysCount != that1.SysCount {
   743  		return false
   744  	}
   745  	return true
   746  }
   747  func (this *MVCCPersistentStats) Equal(that interface{}) bool {
   748  	if that == nil {
   749  		return this == nil
   750  	}
   751  
   752  	that1, ok := that.(*MVCCPersistentStats)
   753  	if !ok {
   754  		that2, ok := that.(MVCCPersistentStats)
   755  		if ok {
   756  			that1 = &that2
   757  		} else {
   758  			return false
   759  		}
   760  	}
   761  	if that1 == nil {
   762  		return this == nil
   763  	} else if this == nil {
   764  		return false
   765  	}
   766  	if this.ContainsEstimates != that1.ContainsEstimates {
   767  		return false
   768  	}
   769  	if this.LastUpdateNanos != that1.LastUpdateNanos {
   770  		return false
   771  	}
   772  	if this.IntentAge != that1.IntentAge {
   773  		return false
   774  	}
   775  	if this.GCBytesAge != that1.GCBytesAge {
   776  		return false
   777  	}
   778  	if this.LiveBytes != that1.LiveBytes {
   779  		return false
   780  	}
   781  	if this.LiveCount != that1.LiveCount {
   782  		return false
   783  	}
   784  	if this.KeyBytes != that1.KeyBytes {
   785  		return false
   786  	}
   787  	if this.KeyCount != that1.KeyCount {
   788  		return false
   789  	}
   790  	if this.ValBytes != that1.ValBytes {
   791  		return false
   792  	}
   793  	if this.ValCount != that1.ValCount {
   794  		return false
   795  	}
   796  	if this.IntentBytes != that1.IntentBytes {
   797  		return false
   798  	}
   799  	if this.IntentCount != that1.IntentCount {
   800  		return false
   801  	}
   802  	if this.SysBytes != that1.SysBytes {
   803  		return false
   804  	}
   805  	if this.SysCount != that1.SysCount {
   806  		return false
   807  	}
   808  	return true
   809  }
   810  func (this *RangeAppliedState) Equal(that interface{}) bool {
   811  	if that == nil {
   812  		return this == nil
   813  	}
   814  
   815  	that1, ok := that.(*RangeAppliedState)
   816  	if !ok {
   817  		that2, ok := that.(RangeAppliedState)
   818  		if ok {
   819  			that1 = &that2
   820  		} else {
   821  			return false
   822  		}
   823  	}
   824  	if that1 == nil {
   825  		return this == nil
   826  	} else if this == nil {
   827  		return false
   828  	}
   829  	if this.RaftAppliedIndex != that1.RaftAppliedIndex {
   830  		return false
   831  	}
   832  	if this.LeaseAppliedIndex != that1.LeaseAppliedIndex {
   833  		return false
   834  	}
   835  	if !this.RangeStats.Equal(&that1.RangeStats) {
   836  		return false
   837  	}
   838  	return true
   839  }
   840  func (m *TxnMeta) Marshal() (dAtA []byte, err error) {
   841  	size := m.Size()
   842  	dAtA = make([]byte, size)
   843  	n, err := m.MarshalTo(dAtA)
   844  	if err != nil {
   845  		return nil, err
   846  	}
   847  	return dAtA[:n], nil
   848  }
   849  
   850  func (m *TxnMeta) MarshalTo(dAtA []byte) (int, error) {
   851  	var i int
   852  	_ = i
   853  	var l int
   854  	_ = l
   855  	dAtA[i] = 0xa
   856  	i++
   857  	i = encodeVarintMvcc3(dAtA, i, uint64(m.ID.Size()))
   858  	n1, err := m.ID.MarshalTo(dAtA[i:])
   859  	if err != nil {
   860  		return 0, err
   861  	}
   862  	i += n1
   863  	if len(m.Key) > 0 {
   864  		dAtA[i] = 0x1a
   865  		i++
   866  		i = encodeVarintMvcc3(dAtA, i, uint64(len(m.Key)))
   867  		i += copy(dAtA[i:], m.Key)
   868  	}
   869  	if m.Epoch != 0 {
   870  		dAtA[i] = 0x20
   871  		i++
   872  		i = encodeVarintMvcc3(dAtA, i, uint64(m.Epoch))
   873  	}
   874  	dAtA[i] = 0x2a
   875  	i++
   876  	i = encodeVarintMvcc3(dAtA, i, uint64(m.WriteTimestamp.Size()))
   877  	n2, err := m.WriteTimestamp.MarshalTo(dAtA[i:])
   878  	if err != nil {
   879  		return 0, err
   880  	}
   881  	i += n2
   882  	if m.Priority != 0 {
   883  		dAtA[i] = 0x30
   884  		i++
   885  		i = encodeVarintMvcc3(dAtA, i, uint64(m.Priority))
   886  	}
   887  	if m.Sequence != 0 {
   888  		dAtA[i] = 0x38
   889  		i++
   890  		i = encodeVarintMvcc3(dAtA, i, uint64(m.Sequence))
   891  	}
   892  	dAtA[i] = 0x4a
   893  	i++
   894  	i = encodeVarintMvcc3(dAtA, i, uint64(m.MinTimestamp.Size()))
   895  	n3, err := m.MinTimestamp.MarshalTo(dAtA[i:])
   896  	if err != nil {
   897  		return 0, err
   898  	}
   899  	i += n3
   900  	return i, nil
   901  }
   902  
   903  func (m *IgnoredSeqNumRange) Marshal() (dAtA []byte, err error) {
   904  	size := m.Size()
   905  	dAtA = make([]byte, size)
   906  	n, err := m.MarshalTo(dAtA)
   907  	if err != nil {
   908  		return nil, err
   909  	}
   910  	return dAtA[:n], nil
   911  }
   912  
   913  func (m *IgnoredSeqNumRange) MarshalTo(dAtA []byte) (int, error) {
   914  	var i int
   915  	_ = i
   916  	var l int
   917  	_ = l
   918  	if m.Start != 0 {
   919  		dAtA[i] = 0x8
   920  		i++
   921  		i = encodeVarintMvcc3(dAtA, i, uint64(m.Start))
   922  	}
   923  	if m.End != 0 {
   924  		dAtA[i] = 0x10
   925  		i++
   926  		i = encodeVarintMvcc3(dAtA, i, uint64(m.End))
   927  	}
   928  	return i, nil
   929  }
   930  
   931  func (m *MVCCStatsDelta) Marshal() (dAtA []byte, err error) {
   932  	size := m.Size()
   933  	dAtA = make([]byte, size)
   934  	n, err := m.MarshalTo(dAtA)
   935  	if err != nil {
   936  		return nil, err
   937  	}
   938  	return dAtA[:n], nil
   939  }
   940  
   941  func (m *MVCCStatsDelta) MarshalTo(dAtA []byte) (int, error) {
   942  	var i int
   943  	_ = i
   944  	var l int
   945  	_ = l
   946  	if m.LastUpdateNanos != 0 {
   947  		dAtA[i] = 0x9
   948  		i++
   949  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.LastUpdateNanos))
   950  		i += 8
   951  	}
   952  	if m.IntentAge != 0 {
   953  		dAtA[i] = 0x11
   954  		i++
   955  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.IntentAge))
   956  		i += 8
   957  	}
   958  	if m.GCBytesAge != 0 {
   959  		dAtA[i] = 0x19
   960  		i++
   961  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.GCBytesAge))
   962  		i += 8
   963  	}
   964  	if m.LiveBytes != 0 {
   965  		dAtA[i] = 0x20
   966  		i++
   967  		i = encodeVarintMvcc3(dAtA, i, uint64((uint64(m.LiveBytes)<<1)^uint64((m.LiveBytes>>63))))
   968  	}
   969  	if m.LiveCount != 0 {
   970  		dAtA[i] = 0x28
   971  		i++
   972  		i = encodeVarintMvcc3(dAtA, i, uint64((uint64(m.LiveCount)<<1)^uint64((m.LiveCount>>63))))
   973  	}
   974  	if m.KeyBytes != 0 {
   975  		dAtA[i] = 0x30
   976  		i++
   977  		i = encodeVarintMvcc3(dAtA, i, uint64((uint64(m.KeyBytes)<<1)^uint64((m.KeyBytes>>63))))
   978  	}
   979  	if m.KeyCount != 0 {
   980  		dAtA[i] = 0x38
   981  		i++
   982  		i = encodeVarintMvcc3(dAtA, i, uint64((uint64(m.KeyCount)<<1)^uint64((m.KeyCount>>63))))
   983  	}
   984  	if m.ValBytes != 0 {
   985  		dAtA[i] = 0x40
   986  		i++
   987  		i = encodeVarintMvcc3(dAtA, i, uint64((uint64(m.ValBytes)<<1)^uint64((m.ValBytes>>63))))
   988  	}
   989  	if m.ValCount != 0 {
   990  		dAtA[i] = 0x48
   991  		i++
   992  		i = encodeVarintMvcc3(dAtA, i, uint64((uint64(m.ValCount)<<1)^uint64((m.ValCount>>63))))
   993  	}
   994  	if m.IntentBytes != 0 {
   995  		dAtA[i] = 0x50
   996  		i++
   997  		i = encodeVarintMvcc3(dAtA, i, uint64((uint64(m.IntentBytes)<<1)^uint64((m.IntentBytes>>63))))
   998  	}
   999  	if m.IntentCount != 0 {
  1000  		dAtA[i] = 0x58
  1001  		i++
  1002  		i = encodeVarintMvcc3(dAtA, i, uint64((uint64(m.IntentCount)<<1)^uint64((m.IntentCount>>63))))
  1003  	}
  1004  	if m.SysBytes != 0 {
  1005  		dAtA[i] = 0x60
  1006  		i++
  1007  		i = encodeVarintMvcc3(dAtA, i, uint64((uint64(m.SysBytes)<<1)^uint64((m.SysBytes>>63))))
  1008  	}
  1009  	if m.SysCount != 0 {
  1010  		dAtA[i] = 0x68
  1011  		i++
  1012  		i = encodeVarintMvcc3(dAtA, i, uint64((uint64(m.SysCount)<<1)^uint64((m.SysCount>>63))))
  1013  	}
  1014  	if m.ContainsEstimates != 0 {
  1015  		dAtA[i] = 0x70
  1016  		i++
  1017  		i = encodeVarintMvcc3(dAtA, i, uint64(m.ContainsEstimates))
  1018  	}
  1019  	return i, nil
  1020  }
  1021  
  1022  func (m *MVCCPersistentStats) Marshal() (dAtA []byte, err error) {
  1023  	size := m.Size()
  1024  	dAtA = make([]byte, size)
  1025  	n, err := m.MarshalTo(dAtA)
  1026  	if err != nil {
  1027  		return nil, err
  1028  	}
  1029  	return dAtA[:n], nil
  1030  }
  1031  
  1032  func (m *MVCCPersistentStats) MarshalTo(dAtA []byte) (int, error) {
  1033  	var i int
  1034  	_ = i
  1035  	var l int
  1036  	_ = l
  1037  	if m.LastUpdateNanos != 0 {
  1038  		dAtA[i] = 0x9
  1039  		i++
  1040  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.LastUpdateNanos))
  1041  		i += 8
  1042  	}
  1043  	if m.IntentAge != 0 {
  1044  		dAtA[i] = 0x11
  1045  		i++
  1046  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.IntentAge))
  1047  		i += 8
  1048  	}
  1049  	if m.GCBytesAge != 0 {
  1050  		dAtA[i] = 0x19
  1051  		i++
  1052  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.GCBytesAge))
  1053  		i += 8
  1054  	}
  1055  	if m.LiveBytes != 0 {
  1056  		dAtA[i] = 0x20
  1057  		i++
  1058  		i = encodeVarintMvcc3(dAtA, i, uint64(m.LiveBytes))
  1059  	}
  1060  	if m.LiveCount != 0 {
  1061  		dAtA[i] = 0x28
  1062  		i++
  1063  		i = encodeVarintMvcc3(dAtA, i, uint64(m.LiveCount))
  1064  	}
  1065  	if m.KeyBytes != 0 {
  1066  		dAtA[i] = 0x30
  1067  		i++
  1068  		i = encodeVarintMvcc3(dAtA, i, uint64(m.KeyBytes))
  1069  	}
  1070  	if m.KeyCount != 0 {
  1071  		dAtA[i] = 0x38
  1072  		i++
  1073  		i = encodeVarintMvcc3(dAtA, i, uint64(m.KeyCount))
  1074  	}
  1075  	if m.ValBytes != 0 {
  1076  		dAtA[i] = 0x40
  1077  		i++
  1078  		i = encodeVarintMvcc3(dAtA, i, uint64(m.ValBytes))
  1079  	}
  1080  	if m.ValCount != 0 {
  1081  		dAtA[i] = 0x48
  1082  		i++
  1083  		i = encodeVarintMvcc3(dAtA, i, uint64(m.ValCount))
  1084  	}
  1085  	if m.IntentBytes != 0 {
  1086  		dAtA[i] = 0x50
  1087  		i++
  1088  		i = encodeVarintMvcc3(dAtA, i, uint64(m.IntentBytes))
  1089  	}
  1090  	if m.IntentCount != 0 {
  1091  		dAtA[i] = 0x58
  1092  		i++
  1093  		i = encodeVarintMvcc3(dAtA, i, uint64(m.IntentCount))
  1094  	}
  1095  	if m.SysBytes != 0 {
  1096  		dAtA[i] = 0x60
  1097  		i++
  1098  		i = encodeVarintMvcc3(dAtA, i, uint64(m.SysBytes))
  1099  	}
  1100  	if m.SysCount != 0 {
  1101  		dAtA[i] = 0x68
  1102  		i++
  1103  		i = encodeVarintMvcc3(dAtA, i, uint64(m.SysCount))
  1104  	}
  1105  	if m.ContainsEstimates != 0 {
  1106  		dAtA[i] = 0x70
  1107  		i++
  1108  		i = encodeVarintMvcc3(dAtA, i, uint64(m.ContainsEstimates))
  1109  	}
  1110  	return i, nil
  1111  }
  1112  
  1113  func (m *RangeAppliedState) Marshal() (dAtA []byte, err error) {
  1114  	size := m.Size()
  1115  	dAtA = make([]byte, size)
  1116  	n, err := m.MarshalTo(dAtA)
  1117  	if err != nil {
  1118  		return nil, err
  1119  	}
  1120  	return dAtA[:n], nil
  1121  }
  1122  
  1123  func (m *RangeAppliedState) MarshalTo(dAtA []byte) (int, error) {
  1124  	var i int
  1125  	_ = i
  1126  	var l int
  1127  	_ = l
  1128  	if m.RaftAppliedIndex != 0 {
  1129  		dAtA[i] = 0x8
  1130  		i++
  1131  		i = encodeVarintMvcc3(dAtA, i, uint64(m.RaftAppliedIndex))
  1132  	}
  1133  	if m.LeaseAppliedIndex != 0 {
  1134  		dAtA[i] = 0x10
  1135  		i++
  1136  		i = encodeVarintMvcc3(dAtA, i, uint64(m.LeaseAppliedIndex))
  1137  	}
  1138  	dAtA[i] = 0x1a
  1139  	i++
  1140  	i = encodeVarintMvcc3(dAtA, i, uint64(m.RangeStats.Size()))
  1141  	n4, err := m.RangeStats.MarshalTo(dAtA[i:])
  1142  	if err != nil {
  1143  		return 0, err
  1144  	}
  1145  	i += n4
  1146  	return i, nil
  1147  }
  1148  
  1149  func (m *MVCCWriteValueOp) Marshal() (dAtA []byte, err error) {
  1150  	size := m.Size()
  1151  	dAtA = make([]byte, size)
  1152  	n, err := m.MarshalTo(dAtA)
  1153  	if err != nil {
  1154  		return nil, err
  1155  	}
  1156  	return dAtA[:n], nil
  1157  }
  1158  
  1159  func (m *MVCCWriteValueOp) MarshalTo(dAtA []byte) (int, error) {
  1160  	var i int
  1161  	_ = i
  1162  	var l int
  1163  	_ = l
  1164  	if len(m.Key) > 0 {
  1165  		dAtA[i] = 0xa
  1166  		i++
  1167  		i = encodeVarintMvcc3(dAtA, i, uint64(len(m.Key)))
  1168  		i += copy(dAtA[i:], m.Key)
  1169  	}
  1170  	dAtA[i] = 0x12
  1171  	i++
  1172  	i = encodeVarintMvcc3(dAtA, i, uint64(m.Timestamp.Size()))
  1173  	n5, err := m.Timestamp.MarshalTo(dAtA[i:])
  1174  	if err != nil {
  1175  		return 0, err
  1176  	}
  1177  	i += n5
  1178  	if len(m.Value) > 0 {
  1179  		dAtA[i] = 0x1a
  1180  		i++
  1181  		i = encodeVarintMvcc3(dAtA, i, uint64(len(m.Value)))
  1182  		i += copy(dAtA[i:], m.Value)
  1183  	}
  1184  	if len(m.PrevValue) > 0 {
  1185  		dAtA[i] = 0x22
  1186  		i++
  1187  		i = encodeVarintMvcc3(dAtA, i, uint64(len(m.PrevValue)))
  1188  		i += copy(dAtA[i:], m.PrevValue)
  1189  	}
  1190  	return i, nil
  1191  }
  1192  
  1193  func (m *MVCCWriteIntentOp) Marshal() (dAtA []byte, err error) {
  1194  	size := m.Size()
  1195  	dAtA = make([]byte, size)
  1196  	n, err := m.MarshalTo(dAtA)
  1197  	if err != nil {
  1198  		return nil, err
  1199  	}
  1200  	return dAtA[:n], nil
  1201  }
  1202  
  1203  func (m *MVCCWriteIntentOp) MarshalTo(dAtA []byte) (int, error) {
  1204  	var i int
  1205  	_ = i
  1206  	var l int
  1207  	_ = l
  1208  	dAtA[i] = 0xa
  1209  	i++
  1210  	i = encodeVarintMvcc3(dAtA, i, uint64(m.TxnID.Size()))
  1211  	n6, err := m.TxnID.MarshalTo(dAtA[i:])
  1212  	if err != nil {
  1213  		return 0, err
  1214  	}
  1215  	i += n6
  1216  	if len(m.TxnKey) > 0 {
  1217  		dAtA[i] = 0x12
  1218  		i++
  1219  		i = encodeVarintMvcc3(dAtA, i, uint64(len(m.TxnKey)))
  1220  		i += copy(dAtA[i:], m.TxnKey)
  1221  	}
  1222  	dAtA[i] = 0x1a
  1223  	i++
  1224  	i = encodeVarintMvcc3(dAtA, i, uint64(m.Timestamp.Size()))
  1225  	n7, err := m.Timestamp.MarshalTo(dAtA[i:])
  1226  	if err != nil {
  1227  		return 0, err
  1228  	}
  1229  	i += n7
  1230  	dAtA[i] = 0x22
  1231  	i++
  1232  	i = encodeVarintMvcc3(dAtA, i, uint64(m.TxnMinTimestamp.Size()))
  1233  	n8, err := m.TxnMinTimestamp.MarshalTo(dAtA[i:])
  1234  	if err != nil {
  1235  		return 0, err
  1236  	}
  1237  	i += n8
  1238  	return i, nil
  1239  }
  1240  
  1241  func (m *MVCCUpdateIntentOp) Marshal() (dAtA []byte, err error) {
  1242  	size := m.Size()
  1243  	dAtA = make([]byte, size)
  1244  	n, err := m.MarshalTo(dAtA)
  1245  	if err != nil {
  1246  		return nil, err
  1247  	}
  1248  	return dAtA[:n], nil
  1249  }
  1250  
  1251  func (m *MVCCUpdateIntentOp) MarshalTo(dAtA []byte) (int, error) {
  1252  	var i int
  1253  	_ = i
  1254  	var l int
  1255  	_ = l
  1256  	dAtA[i] = 0xa
  1257  	i++
  1258  	i = encodeVarintMvcc3(dAtA, i, uint64(m.TxnID.Size()))
  1259  	n9, err := m.TxnID.MarshalTo(dAtA[i:])
  1260  	if err != nil {
  1261  		return 0, err
  1262  	}
  1263  	i += n9
  1264  	dAtA[i] = 0x12
  1265  	i++
  1266  	i = encodeVarintMvcc3(dAtA, i, uint64(m.Timestamp.Size()))
  1267  	n10, err := m.Timestamp.MarshalTo(dAtA[i:])
  1268  	if err != nil {
  1269  		return 0, err
  1270  	}
  1271  	i += n10
  1272  	return i, nil
  1273  }
  1274  
  1275  func (m *MVCCCommitIntentOp) Marshal() (dAtA []byte, err error) {
  1276  	size := m.Size()
  1277  	dAtA = make([]byte, size)
  1278  	n, err := m.MarshalTo(dAtA)
  1279  	if err != nil {
  1280  		return nil, err
  1281  	}
  1282  	return dAtA[:n], nil
  1283  }
  1284  
  1285  func (m *MVCCCommitIntentOp) MarshalTo(dAtA []byte) (int, error) {
  1286  	var i int
  1287  	_ = i
  1288  	var l int
  1289  	_ = l
  1290  	dAtA[i] = 0xa
  1291  	i++
  1292  	i = encodeVarintMvcc3(dAtA, i, uint64(m.TxnID.Size()))
  1293  	n11, err := m.TxnID.MarshalTo(dAtA[i:])
  1294  	if err != nil {
  1295  		return 0, err
  1296  	}
  1297  	i += n11
  1298  	if len(m.Key) > 0 {
  1299  		dAtA[i] = 0x12
  1300  		i++
  1301  		i = encodeVarintMvcc3(dAtA, i, uint64(len(m.Key)))
  1302  		i += copy(dAtA[i:], m.Key)
  1303  	}
  1304  	dAtA[i] = 0x1a
  1305  	i++
  1306  	i = encodeVarintMvcc3(dAtA, i, uint64(m.Timestamp.Size()))
  1307  	n12, err := m.Timestamp.MarshalTo(dAtA[i:])
  1308  	if err != nil {
  1309  		return 0, err
  1310  	}
  1311  	i += n12
  1312  	if len(m.Value) > 0 {
  1313  		dAtA[i] = 0x22
  1314  		i++
  1315  		i = encodeVarintMvcc3(dAtA, i, uint64(len(m.Value)))
  1316  		i += copy(dAtA[i:], m.Value)
  1317  	}
  1318  	if len(m.PrevValue) > 0 {
  1319  		dAtA[i] = 0x2a
  1320  		i++
  1321  		i = encodeVarintMvcc3(dAtA, i, uint64(len(m.PrevValue)))
  1322  		i += copy(dAtA[i:], m.PrevValue)
  1323  	}
  1324  	return i, nil
  1325  }
  1326  
  1327  func (m *MVCCAbortIntentOp) Marshal() (dAtA []byte, err error) {
  1328  	size := m.Size()
  1329  	dAtA = make([]byte, size)
  1330  	n, err := m.MarshalTo(dAtA)
  1331  	if err != nil {
  1332  		return nil, err
  1333  	}
  1334  	return dAtA[:n], nil
  1335  }
  1336  
  1337  func (m *MVCCAbortIntentOp) MarshalTo(dAtA []byte) (int, error) {
  1338  	var i int
  1339  	_ = i
  1340  	var l int
  1341  	_ = l
  1342  	dAtA[i] = 0xa
  1343  	i++
  1344  	i = encodeVarintMvcc3(dAtA, i, uint64(m.TxnID.Size()))
  1345  	n13, err := m.TxnID.MarshalTo(dAtA[i:])
  1346  	if err != nil {
  1347  		return 0, err
  1348  	}
  1349  	i += n13
  1350  	return i, nil
  1351  }
  1352  
  1353  func (m *MVCCAbortTxnOp) Marshal() (dAtA []byte, err error) {
  1354  	size := m.Size()
  1355  	dAtA = make([]byte, size)
  1356  	n, err := m.MarshalTo(dAtA)
  1357  	if err != nil {
  1358  		return nil, err
  1359  	}
  1360  	return dAtA[:n], nil
  1361  }
  1362  
  1363  func (m *MVCCAbortTxnOp) MarshalTo(dAtA []byte) (int, error) {
  1364  	var i int
  1365  	_ = i
  1366  	var l int
  1367  	_ = l
  1368  	dAtA[i] = 0xa
  1369  	i++
  1370  	i = encodeVarintMvcc3(dAtA, i, uint64(m.TxnID.Size()))
  1371  	n14, err := m.TxnID.MarshalTo(dAtA[i:])
  1372  	if err != nil {
  1373  		return 0, err
  1374  	}
  1375  	i += n14
  1376  	return i, nil
  1377  }
  1378  
  1379  func (m *MVCCLogicalOp) Marshal() (dAtA []byte, err error) {
  1380  	size := m.Size()
  1381  	dAtA = make([]byte, size)
  1382  	n, err := m.MarshalTo(dAtA)
  1383  	if err != nil {
  1384  		return nil, err
  1385  	}
  1386  	return dAtA[:n], nil
  1387  }
  1388  
  1389  func (m *MVCCLogicalOp) MarshalTo(dAtA []byte) (int, error) {
  1390  	var i int
  1391  	_ = i
  1392  	var l int
  1393  	_ = l
  1394  	if m.WriteValue != nil {
  1395  		dAtA[i] = 0xa
  1396  		i++
  1397  		i = encodeVarintMvcc3(dAtA, i, uint64(m.WriteValue.Size()))
  1398  		n15, err := m.WriteValue.MarshalTo(dAtA[i:])
  1399  		if err != nil {
  1400  			return 0, err
  1401  		}
  1402  		i += n15
  1403  	}
  1404  	if m.WriteIntent != nil {
  1405  		dAtA[i] = 0x12
  1406  		i++
  1407  		i = encodeVarintMvcc3(dAtA, i, uint64(m.WriteIntent.Size()))
  1408  		n16, err := m.WriteIntent.MarshalTo(dAtA[i:])
  1409  		if err != nil {
  1410  			return 0, err
  1411  		}
  1412  		i += n16
  1413  	}
  1414  	if m.UpdateIntent != nil {
  1415  		dAtA[i] = 0x1a
  1416  		i++
  1417  		i = encodeVarintMvcc3(dAtA, i, uint64(m.UpdateIntent.Size()))
  1418  		n17, err := m.UpdateIntent.MarshalTo(dAtA[i:])
  1419  		if err != nil {
  1420  			return 0, err
  1421  		}
  1422  		i += n17
  1423  	}
  1424  	if m.CommitIntent != nil {
  1425  		dAtA[i] = 0x22
  1426  		i++
  1427  		i = encodeVarintMvcc3(dAtA, i, uint64(m.CommitIntent.Size()))
  1428  		n18, err := m.CommitIntent.MarshalTo(dAtA[i:])
  1429  		if err != nil {
  1430  			return 0, err
  1431  		}
  1432  		i += n18
  1433  	}
  1434  	if m.AbortIntent != nil {
  1435  		dAtA[i] = 0x2a
  1436  		i++
  1437  		i = encodeVarintMvcc3(dAtA, i, uint64(m.AbortIntent.Size()))
  1438  		n19, err := m.AbortIntent.MarshalTo(dAtA[i:])
  1439  		if err != nil {
  1440  			return 0, err
  1441  		}
  1442  		i += n19
  1443  	}
  1444  	if m.AbortTxn != nil {
  1445  		dAtA[i] = 0x32
  1446  		i++
  1447  		i = encodeVarintMvcc3(dAtA, i, uint64(m.AbortTxn.Size()))
  1448  		n20, err := m.AbortTxn.MarshalTo(dAtA[i:])
  1449  		if err != nil {
  1450  			return 0, err
  1451  		}
  1452  		i += n20
  1453  	}
  1454  	return i, nil
  1455  }
  1456  
  1457  func encodeVarintMvcc3(dAtA []byte, offset int, v uint64) int {
  1458  	for v >= 1<<7 {
  1459  		dAtA[offset] = uint8(v&0x7f | 0x80)
  1460  		v >>= 7
  1461  		offset++
  1462  	}
  1463  	dAtA[offset] = uint8(v)
  1464  	return offset + 1
  1465  }
  1466  func NewPopulatedTxnMeta(r randyMvcc3, easy bool) *TxnMeta {
  1467  	this := &TxnMeta{}
  1468  	v1 := github_com_cockroachdb_cockroach_pkg_util_uuid.NewPopulatedUUID(r)
  1469  	this.ID = *v1
  1470  	v2 := r.Intn(100)
  1471  	this.Key = make([]byte, v2)
  1472  	for i := 0; i < v2; i++ {
  1473  		this.Key[i] = byte(r.Intn(256))
  1474  	}
  1475  	this.Epoch = TxnEpoch(r.Int31())
  1476  	if r.Intn(2) == 0 {
  1477  		this.Epoch *= -1
  1478  	}
  1479  	v3 := hlc.NewPopulatedTimestamp(r, easy)
  1480  	this.WriteTimestamp = *v3
  1481  	this.Priority = TxnPriority(r.Int31())
  1482  	if r.Intn(2) == 0 {
  1483  		this.Priority *= -1
  1484  	}
  1485  	this.Sequence = TxnSeq(r.Int31())
  1486  	if r.Intn(2) == 0 {
  1487  		this.Sequence *= -1
  1488  	}
  1489  	v4 := hlc.NewPopulatedTimestamp(r, easy)
  1490  	this.MinTimestamp = *v4
  1491  	if !easy && r.Intn(10) != 0 {
  1492  	}
  1493  	return this
  1494  }
  1495  
  1496  func NewPopulatedIgnoredSeqNumRange(r randyMvcc3, easy bool) *IgnoredSeqNumRange {
  1497  	this := &IgnoredSeqNumRange{}
  1498  	this.Start = TxnSeq(r.Int31())
  1499  	if r.Intn(2) == 0 {
  1500  		this.Start *= -1
  1501  	}
  1502  	this.End = TxnSeq(r.Int31())
  1503  	if r.Intn(2) == 0 {
  1504  		this.End *= -1
  1505  	}
  1506  	if !easy && r.Intn(10) != 0 {
  1507  	}
  1508  	return this
  1509  }
  1510  
  1511  func NewPopulatedMVCCPersistentStats(r randyMvcc3, easy bool) *MVCCPersistentStats {
  1512  	this := &MVCCPersistentStats{}
  1513  	this.LastUpdateNanos = int64(r.Int63())
  1514  	if r.Intn(2) == 0 {
  1515  		this.LastUpdateNanos *= -1
  1516  	}
  1517  	this.IntentAge = int64(r.Int63())
  1518  	if r.Intn(2) == 0 {
  1519  		this.IntentAge *= -1
  1520  	}
  1521  	this.GCBytesAge = int64(r.Int63())
  1522  	if r.Intn(2) == 0 {
  1523  		this.GCBytesAge *= -1
  1524  	}
  1525  	this.LiveBytes = int64(r.Int63())
  1526  	if r.Intn(2) == 0 {
  1527  		this.LiveBytes *= -1
  1528  	}
  1529  	this.LiveCount = int64(r.Int63())
  1530  	if r.Intn(2) == 0 {
  1531  		this.LiveCount *= -1
  1532  	}
  1533  	this.KeyBytes = int64(r.Int63())
  1534  	if r.Intn(2) == 0 {
  1535  		this.KeyBytes *= -1
  1536  	}
  1537  	this.KeyCount = int64(r.Int63())
  1538  	if r.Intn(2) == 0 {
  1539  		this.KeyCount *= -1
  1540  	}
  1541  	this.ValBytes = int64(r.Int63())
  1542  	if r.Intn(2) == 0 {
  1543  		this.ValBytes *= -1
  1544  	}
  1545  	this.ValCount = int64(r.Int63())
  1546  	if r.Intn(2) == 0 {
  1547  		this.ValCount *= -1
  1548  	}
  1549  	this.IntentBytes = int64(r.Int63())
  1550  	if r.Intn(2) == 0 {
  1551  		this.IntentBytes *= -1
  1552  	}
  1553  	this.IntentCount = int64(r.Int63())
  1554  	if r.Intn(2) == 0 {
  1555  		this.IntentCount *= -1
  1556  	}
  1557  	this.SysBytes = int64(r.Int63())
  1558  	if r.Intn(2) == 0 {
  1559  		this.SysBytes *= -1
  1560  	}
  1561  	this.SysCount = int64(r.Int63())
  1562  	if r.Intn(2) == 0 {
  1563  		this.SysCount *= -1
  1564  	}
  1565  	this.ContainsEstimates = int64(r.Int63())
  1566  	if r.Intn(2) == 0 {
  1567  		this.ContainsEstimates *= -1
  1568  	}
  1569  	if !easy && r.Intn(10) != 0 {
  1570  	}
  1571  	return this
  1572  }
  1573  
  1574  func NewPopulatedRangeAppliedState(r randyMvcc3, easy bool) *RangeAppliedState {
  1575  	this := &RangeAppliedState{}
  1576  	this.RaftAppliedIndex = uint64(uint64(r.Uint32()))
  1577  	this.LeaseAppliedIndex = uint64(uint64(r.Uint32()))
  1578  	v5 := NewPopulatedMVCCPersistentStats(r, easy)
  1579  	this.RangeStats = *v5
  1580  	if !easy && r.Intn(10) != 0 {
  1581  	}
  1582  	return this
  1583  }
  1584  
  1585  type randyMvcc3 interface {
  1586  	Float32() float32
  1587  	Float64() float64
  1588  	Int63() int64
  1589  	Int31() int32
  1590  	Uint32() uint32
  1591  	Intn(n int) int
  1592  }
  1593  
  1594  func randUTF8RuneMvcc3(r randyMvcc3) rune {
  1595  	ru := r.Intn(62)
  1596  	if ru < 10 {
  1597  		return rune(ru + 48)
  1598  	} else if ru < 36 {
  1599  		return rune(ru + 55)
  1600  	}
  1601  	return rune(ru + 61)
  1602  }
  1603  func randStringMvcc3(r randyMvcc3) string {
  1604  	v6 := r.Intn(100)
  1605  	tmps := make([]rune, v6)
  1606  	for i := 0; i < v6; i++ {
  1607  		tmps[i] = randUTF8RuneMvcc3(r)
  1608  	}
  1609  	return string(tmps)
  1610  }
  1611  func randUnrecognizedMvcc3(r randyMvcc3, maxFieldNumber int) (dAtA []byte) {
  1612  	l := r.Intn(5)
  1613  	for i := 0; i < l; i++ {
  1614  		wire := r.Intn(4)
  1615  		if wire == 3 {
  1616  			wire = 5
  1617  		}
  1618  		fieldNumber := maxFieldNumber + r.Intn(100)
  1619  		dAtA = randFieldMvcc3(dAtA, r, fieldNumber, wire)
  1620  	}
  1621  	return dAtA
  1622  }
  1623  func randFieldMvcc3(dAtA []byte, r randyMvcc3, fieldNumber int, wire int) []byte {
  1624  	key := uint32(fieldNumber)<<3 | uint32(wire)
  1625  	switch wire {
  1626  	case 0:
  1627  		dAtA = encodeVarintPopulateMvcc3(dAtA, uint64(key))
  1628  		v7 := r.Int63()
  1629  		if r.Intn(2) == 0 {
  1630  			v7 *= -1
  1631  		}
  1632  		dAtA = encodeVarintPopulateMvcc3(dAtA, uint64(v7))
  1633  	case 1:
  1634  		dAtA = encodeVarintPopulateMvcc3(dAtA, uint64(key))
  1635  		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
  1636  	case 2:
  1637  		dAtA = encodeVarintPopulateMvcc3(dAtA, uint64(key))
  1638  		ll := r.Intn(100)
  1639  		dAtA = encodeVarintPopulateMvcc3(dAtA, uint64(ll))
  1640  		for j := 0; j < ll; j++ {
  1641  			dAtA = append(dAtA, byte(r.Intn(256)))
  1642  		}
  1643  	default:
  1644  		dAtA = encodeVarintPopulateMvcc3(dAtA, uint64(key))
  1645  		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
  1646  	}
  1647  	return dAtA
  1648  }
  1649  func encodeVarintPopulateMvcc3(dAtA []byte, v uint64) []byte {
  1650  	for v >= 1<<7 {
  1651  		dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
  1652  		v >>= 7
  1653  	}
  1654  	dAtA = append(dAtA, uint8(v))
  1655  	return dAtA
  1656  }
  1657  func (m *TxnMeta) Size() (n int) {
  1658  	if m == nil {
  1659  		return 0
  1660  	}
  1661  	var l int
  1662  	_ = l
  1663  	l = m.ID.Size()
  1664  	n += 1 + l + sovMvcc3(uint64(l))
  1665  	l = len(m.Key)
  1666  	if l > 0 {
  1667  		n += 1 + l + sovMvcc3(uint64(l))
  1668  	}
  1669  	if m.Epoch != 0 {
  1670  		n += 1 + sovMvcc3(uint64(m.Epoch))
  1671  	}
  1672  	l = m.WriteTimestamp.Size()
  1673  	n += 1 + l + sovMvcc3(uint64(l))
  1674  	if m.Priority != 0 {
  1675  		n += 1 + sovMvcc3(uint64(m.Priority))
  1676  	}
  1677  	if m.Sequence != 0 {
  1678  		n += 1 + sovMvcc3(uint64(m.Sequence))
  1679  	}
  1680  	l = m.MinTimestamp.Size()
  1681  	n += 1 + l + sovMvcc3(uint64(l))
  1682  	return n
  1683  }
  1684  
  1685  func (m *IgnoredSeqNumRange) Size() (n int) {
  1686  	if m == nil {
  1687  		return 0
  1688  	}
  1689  	var l int
  1690  	_ = l
  1691  	if m.Start != 0 {
  1692  		n += 1 + sovMvcc3(uint64(m.Start))
  1693  	}
  1694  	if m.End != 0 {
  1695  		n += 1 + sovMvcc3(uint64(m.End))
  1696  	}
  1697  	return n
  1698  }
  1699  
  1700  func (m *MVCCStatsDelta) Size() (n int) {
  1701  	if m == nil {
  1702  		return 0
  1703  	}
  1704  	var l int
  1705  	_ = l
  1706  	if m.LastUpdateNanos != 0 {
  1707  		n += 9
  1708  	}
  1709  	if m.IntentAge != 0 {
  1710  		n += 9
  1711  	}
  1712  	if m.GCBytesAge != 0 {
  1713  		n += 9
  1714  	}
  1715  	if m.LiveBytes != 0 {
  1716  		n += 1 + sozMvcc3(uint64(m.LiveBytes))
  1717  	}
  1718  	if m.LiveCount != 0 {
  1719  		n += 1 + sozMvcc3(uint64(m.LiveCount))
  1720  	}
  1721  	if m.KeyBytes != 0 {
  1722  		n += 1 + sozMvcc3(uint64(m.KeyBytes))
  1723  	}
  1724  	if m.KeyCount != 0 {
  1725  		n += 1 + sozMvcc3(uint64(m.KeyCount))
  1726  	}
  1727  	if m.ValBytes != 0 {
  1728  		n += 1 + sozMvcc3(uint64(m.ValBytes))
  1729  	}
  1730  	if m.ValCount != 0 {
  1731  		n += 1 + sozMvcc3(uint64(m.ValCount))
  1732  	}
  1733  	if m.IntentBytes != 0 {
  1734  		n += 1 + sozMvcc3(uint64(m.IntentBytes))
  1735  	}
  1736  	if m.IntentCount != 0 {
  1737  		n += 1 + sozMvcc3(uint64(m.IntentCount))
  1738  	}
  1739  	if m.SysBytes != 0 {
  1740  		n += 1 + sozMvcc3(uint64(m.SysBytes))
  1741  	}
  1742  	if m.SysCount != 0 {
  1743  		n += 1 + sozMvcc3(uint64(m.SysCount))
  1744  	}
  1745  	if m.ContainsEstimates != 0 {
  1746  		n += 1 + sovMvcc3(uint64(m.ContainsEstimates))
  1747  	}
  1748  	return n
  1749  }
  1750  
  1751  func (m *MVCCPersistentStats) Size() (n int) {
  1752  	if m == nil {
  1753  		return 0
  1754  	}
  1755  	var l int
  1756  	_ = l
  1757  	if m.LastUpdateNanos != 0 {
  1758  		n += 9
  1759  	}
  1760  	if m.IntentAge != 0 {
  1761  		n += 9
  1762  	}
  1763  	if m.GCBytesAge != 0 {
  1764  		n += 9
  1765  	}
  1766  	if m.LiveBytes != 0 {
  1767  		n += 1 + sovMvcc3(uint64(m.LiveBytes))
  1768  	}
  1769  	if m.LiveCount != 0 {
  1770  		n += 1 + sovMvcc3(uint64(m.LiveCount))
  1771  	}
  1772  	if m.KeyBytes != 0 {
  1773  		n += 1 + sovMvcc3(uint64(m.KeyBytes))
  1774  	}
  1775  	if m.KeyCount != 0 {
  1776  		n += 1 + sovMvcc3(uint64(m.KeyCount))
  1777  	}
  1778  	if m.ValBytes != 0 {
  1779  		n += 1 + sovMvcc3(uint64(m.ValBytes))
  1780  	}
  1781  	if m.ValCount != 0 {
  1782  		n += 1 + sovMvcc3(uint64(m.ValCount))
  1783  	}
  1784  	if m.IntentBytes != 0 {
  1785  		n += 1 + sovMvcc3(uint64(m.IntentBytes))
  1786  	}
  1787  	if m.IntentCount != 0 {
  1788  		n += 1 + sovMvcc3(uint64(m.IntentCount))
  1789  	}
  1790  	if m.SysBytes != 0 {
  1791  		n += 1 + sovMvcc3(uint64(m.SysBytes))
  1792  	}
  1793  	if m.SysCount != 0 {
  1794  		n += 1 + sovMvcc3(uint64(m.SysCount))
  1795  	}
  1796  	if m.ContainsEstimates != 0 {
  1797  		n += 1 + sovMvcc3(uint64(m.ContainsEstimates))
  1798  	}
  1799  	return n
  1800  }
  1801  
  1802  func (m *RangeAppliedState) Size() (n int) {
  1803  	if m == nil {
  1804  		return 0
  1805  	}
  1806  	var l int
  1807  	_ = l
  1808  	if m.RaftAppliedIndex != 0 {
  1809  		n += 1 + sovMvcc3(uint64(m.RaftAppliedIndex))
  1810  	}
  1811  	if m.LeaseAppliedIndex != 0 {
  1812  		n += 1 + sovMvcc3(uint64(m.LeaseAppliedIndex))
  1813  	}
  1814  	l = m.RangeStats.Size()
  1815  	n += 1 + l + sovMvcc3(uint64(l))
  1816  	return n
  1817  }
  1818  
  1819  func (m *MVCCWriteValueOp) Size() (n int) {
  1820  	if m == nil {
  1821  		return 0
  1822  	}
  1823  	var l int
  1824  	_ = l
  1825  	l = len(m.Key)
  1826  	if l > 0 {
  1827  		n += 1 + l + sovMvcc3(uint64(l))
  1828  	}
  1829  	l = m.Timestamp.Size()
  1830  	n += 1 + l + sovMvcc3(uint64(l))
  1831  	l = len(m.Value)
  1832  	if l > 0 {
  1833  		n += 1 + l + sovMvcc3(uint64(l))
  1834  	}
  1835  	l = len(m.PrevValue)
  1836  	if l > 0 {
  1837  		n += 1 + l + sovMvcc3(uint64(l))
  1838  	}
  1839  	return n
  1840  }
  1841  
  1842  func (m *MVCCWriteIntentOp) Size() (n int) {
  1843  	if m == nil {
  1844  		return 0
  1845  	}
  1846  	var l int
  1847  	_ = l
  1848  	l = m.TxnID.Size()
  1849  	n += 1 + l + sovMvcc3(uint64(l))
  1850  	l = len(m.TxnKey)
  1851  	if l > 0 {
  1852  		n += 1 + l + sovMvcc3(uint64(l))
  1853  	}
  1854  	l = m.Timestamp.Size()
  1855  	n += 1 + l + sovMvcc3(uint64(l))
  1856  	l = m.TxnMinTimestamp.Size()
  1857  	n += 1 + l + sovMvcc3(uint64(l))
  1858  	return n
  1859  }
  1860  
  1861  func (m *MVCCUpdateIntentOp) Size() (n int) {
  1862  	if m == nil {
  1863  		return 0
  1864  	}
  1865  	var l int
  1866  	_ = l
  1867  	l = m.TxnID.Size()
  1868  	n += 1 + l + sovMvcc3(uint64(l))
  1869  	l = m.Timestamp.Size()
  1870  	n += 1 + l + sovMvcc3(uint64(l))
  1871  	return n
  1872  }
  1873  
  1874  func (m *MVCCCommitIntentOp) Size() (n int) {
  1875  	if m == nil {
  1876  		return 0
  1877  	}
  1878  	var l int
  1879  	_ = l
  1880  	l = m.TxnID.Size()
  1881  	n += 1 + l + sovMvcc3(uint64(l))
  1882  	l = len(m.Key)
  1883  	if l > 0 {
  1884  		n += 1 + l + sovMvcc3(uint64(l))
  1885  	}
  1886  	l = m.Timestamp.Size()
  1887  	n += 1 + l + sovMvcc3(uint64(l))
  1888  	l = len(m.Value)
  1889  	if l > 0 {
  1890  		n += 1 + l + sovMvcc3(uint64(l))
  1891  	}
  1892  	l = len(m.PrevValue)
  1893  	if l > 0 {
  1894  		n += 1 + l + sovMvcc3(uint64(l))
  1895  	}
  1896  	return n
  1897  }
  1898  
  1899  func (m *MVCCAbortIntentOp) Size() (n int) {
  1900  	if m == nil {
  1901  		return 0
  1902  	}
  1903  	var l int
  1904  	_ = l
  1905  	l = m.TxnID.Size()
  1906  	n += 1 + l + sovMvcc3(uint64(l))
  1907  	return n
  1908  }
  1909  
  1910  func (m *MVCCAbortTxnOp) Size() (n int) {
  1911  	if m == nil {
  1912  		return 0
  1913  	}
  1914  	var l int
  1915  	_ = l
  1916  	l = m.TxnID.Size()
  1917  	n += 1 + l + sovMvcc3(uint64(l))
  1918  	return n
  1919  }
  1920  
  1921  func (m *MVCCLogicalOp) Size() (n int) {
  1922  	if m == nil {
  1923  		return 0
  1924  	}
  1925  	var l int
  1926  	_ = l
  1927  	if m.WriteValue != nil {
  1928  		l = m.WriteValue.Size()
  1929  		n += 1 + l + sovMvcc3(uint64(l))
  1930  	}
  1931  	if m.WriteIntent != nil {
  1932  		l = m.WriteIntent.Size()
  1933  		n += 1 + l + sovMvcc3(uint64(l))
  1934  	}
  1935  	if m.UpdateIntent != nil {
  1936  		l = m.UpdateIntent.Size()
  1937  		n += 1 + l + sovMvcc3(uint64(l))
  1938  	}
  1939  	if m.CommitIntent != nil {
  1940  		l = m.CommitIntent.Size()
  1941  		n += 1 + l + sovMvcc3(uint64(l))
  1942  	}
  1943  	if m.AbortIntent != nil {
  1944  		l = m.AbortIntent.Size()
  1945  		n += 1 + l + sovMvcc3(uint64(l))
  1946  	}
  1947  	if m.AbortTxn != nil {
  1948  		l = m.AbortTxn.Size()
  1949  		n += 1 + l + sovMvcc3(uint64(l))
  1950  	}
  1951  	return n
  1952  }
  1953  
  1954  func sovMvcc3(x uint64) (n int) {
  1955  	for {
  1956  		n++
  1957  		x >>= 7
  1958  		if x == 0 {
  1959  			break
  1960  		}
  1961  	}
  1962  	return n
  1963  }
  1964  func sozMvcc3(x uint64) (n int) {
  1965  	return sovMvcc3(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1966  }
  1967  func (this *MVCCLogicalOp) GetValue() interface{} {
  1968  	if this.WriteValue != nil {
  1969  		return this.WriteValue
  1970  	}
  1971  	if this.WriteIntent != nil {
  1972  		return this.WriteIntent
  1973  	}
  1974  	if this.UpdateIntent != nil {
  1975  		return this.UpdateIntent
  1976  	}
  1977  	if this.CommitIntent != nil {
  1978  		return this.CommitIntent
  1979  	}
  1980  	if this.AbortIntent != nil {
  1981  		return this.AbortIntent
  1982  	}
  1983  	if this.AbortTxn != nil {
  1984  		return this.AbortTxn
  1985  	}
  1986  	return nil
  1987  }
  1988  
  1989  func (this *MVCCLogicalOp) SetValue(value interface{}) bool {
  1990  	switch vt := value.(type) {
  1991  	case *MVCCWriteValueOp:
  1992  		this.WriteValue = vt
  1993  	case *MVCCWriteIntentOp:
  1994  		this.WriteIntent = vt
  1995  	case *MVCCUpdateIntentOp:
  1996  		this.UpdateIntent = vt
  1997  	case *MVCCCommitIntentOp:
  1998  		this.CommitIntent = vt
  1999  	case *MVCCAbortIntentOp:
  2000  		this.AbortIntent = vt
  2001  	case *MVCCAbortTxnOp:
  2002  		this.AbortTxn = vt
  2003  	default:
  2004  		return false
  2005  	}
  2006  	return true
  2007  }
  2008  func (m *TxnMeta) Unmarshal(dAtA []byte) error {
  2009  	l := len(dAtA)
  2010  	iNdEx := 0
  2011  	for iNdEx < l {
  2012  		preIndex := iNdEx
  2013  		var wire uint64
  2014  		for shift := uint(0); ; shift += 7 {
  2015  			if shift >= 64 {
  2016  				return ErrIntOverflowMvcc3
  2017  			}
  2018  			if iNdEx >= l {
  2019  				return io.ErrUnexpectedEOF
  2020  			}
  2021  			b := dAtA[iNdEx]
  2022  			iNdEx++
  2023  			wire |= (uint64(b) & 0x7F) << shift
  2024  			if b < 0x80 {
  2025  				break
  2026  			}
  2027  		}
  2028  		fieldNum := int32(wire >> 3)
  2029  		wireType := int(wire & 0x7)
  2030  		if wireType == 4 {
  2031  			return fmt.Errorf("proto: TxnMeta: wiretype end group for non-group")
  2032  		}
  2033  		if fieldNum <= 0 {
  2034  			return fmt.Errorf("proto: TxnMeta: illegal tag %d (wire type %d)", fieldNum, wire)
  2035  		}
  2036  		switch fieldNum {
  2037  		case 1:
  2038  			if wireType != 2 {
  2039  				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
  2040  			}
  2041  			var byteLen int
  2042  			for shift := uint(0); ; shift += 7 {
  2043  				if shift >= 64 {
  2044  					return ErrIntOverflowMvcc3
  2045  				}
  2046  				if iNdEx >= l {
  2047  					return io.ErrUnexpectedEOF
  2048  				}
  2049  				b := dAtA[iNdEx]
  2050  				iNdEx++
  2051  				byteLen |= (int(b) & 0x7F) << shift
  2052  				if b < 0x80 {
  2053  					break
  2054  				}
  2055  			}
  2056  			if byteLen < 0 {
  2057  				return ErrInvalidLengthMvcc3
  2058  			}
  2059  			postIndex := iNdEx + byteLen
  2060  			if postIndex > l {
  2061  				return io.ErrUnexpectedEOF
  2062  			}
  2063  			if err := m.ID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2064  				return err
  2065  			}
  2066  			iNdEx = postIndex
  2067  		case 3:
  2068  			if wireType != 2 {
  2069  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  2070  			}
  2071  			var byteLen int
  2072  			for shift := uint(0); ; shift += 7 {
  2073  				if shift >= 64 {
  2074  					return ErrIntOverflowMvcc3
  2075  				}
  2076  				if iNdEx >= l {
  2077  					return io.ErrUnexpectedEOF
  2078  				}
  2079  				b := dAtA[iNdEx]
  2080  				iNdEx++
  2081  				byteLen |= (int(b) & 0x7F) << shift
  2082  				if b < 0x80 {
  2083  					break
  2084  				}
  2085  			}
  2086  			if byteLen < 0 {
  2087  				return ErrInvalidLengthMvcc3
  2088  			}
  2089  			postIndex := iNdEx + byteLen
  2090  			if postIndex > l {
  2091  				return io.ErrUnexpectedEOF
  2092  			}
  2093  			m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  2094  			if m.Key == nil {
  2095  				m.Key = []byte{}
  2096  			}
  2097  			iNdEx = postIndex
  2098  		case 4:
  2099  			if wireType != 0 {
  2100  				return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType)
  2101  			}
  2102  			m.Epoch = 0
  2103  			for shift := uint(0); ; shift += 7 {
  2104  				if shift >= 64 {
  2105  					return ErrIntOverflowMvcc3
  2106  				}
  2107  				if iNdEx >= l {
  2108  					return io.ErrUnexpectedEOF
  2109  				}
  2110  				b := dAtA[iNdEx]
  2111  				iNdEx++
  2112  				m.Epoch |= (TxnEpoch(b) & 0x7F) << shift
  2113  				if b < 0x80 {
  2114  					break
  2115  				}
  2116  			}
  2117  		case 5:
  2118  			if wireType != 2 {
  2119  				return fmt.Errorf("proto: wrong wireType = %d for field WriteTimestamp", wireType)
  2120  			}
  2121  			var msglen int
  2122  			for shift := uint(0); ; shift += 7 {
  2123  				if shift >= 64 {
  2124  					return ErrIntOverflowMvcc3
  2125  				}
  2126  				if iNdEx >= l {
  2127  					return io.ErrUnexpectedEOF
  2128  				}
  2129  				b := dAtA[iNdEx]
  2130  				iNdEx++
  2131  				msglen |= (int(b) & 0x7F) << shift
  2132  				if b < 0x80 {
  2133  					break
  2134  				}
  2135  			}
  2136  			if msglen < 0 {
  2137  				return ErrInvalidLengthMvcc3
  2138  			}
  2139  			postIndex := iNdEx + msglen
  2140  			if postIndex > l {
  2141  				return io.ErrUnexpectedEOF
  2142  			}
  2143  			if err := m.WriteTimestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2144  				return err
  2145  			}
  2146  			iNdEx = postIndex
  2147  		case 6:
  2148  			if wireType != 0 {
  2149  				return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType)
  2150  			}
  2151  			m.Priority = 0
  2152  			for shift := uint(0); ; shift += 7 {
  2153  				if shift >= 64 {
  2154  					return ErrIntOverflowMvcc3
  2155  				}
  2156  				if iNdEx >= l {
  2157  					return io.ErrUnexpectedEOF
  2158  				}
  2159  				b := dAtA[iNdEx]
  2160  				iNdEx++
  2161  				m.Priority |= (TxnPriority(b) & 0x7F) << shift
  2162  				if b < 0x80 {
  2163  					break
  2164  				}
  2165  			}
  2166  		case 7:
  2167  			if wireType != 0 {
  2168  				return fmt.Errorf("proto: wrong wireType = %d for field Sequence", wireType)
  2169  			}
  2170  			m.Sequence = 0
  2171  			for shift := uint(0); ; shift += 7 {
  2172  				if shift >= 64 {
  2173  					return ErrIntOverflowMvcc3
  2174  				}
  2175  				if iNdEx >= l {
  2176  					return io.ErrUnexpectedEOF
  2177  				}
  2178  				b := dAtA[iNdEx]
  2179  				iNdEx++
  2180  				m.Sequence |= (TxnSeq(b) & 0x7F) << shift
  2181  				if b < 0x80 {
  2182  					break
  2183  				}
  2184  			}
  2185  		case 9:
  2186  			if wireType != 2 {
  2187  				return fmt.Errorf("proto: wrong wireType = %d for field MinTimestamp", wireType)
  2188  			}
  2189  			var msglen int
  2190  			for shift := uint(0); ; shift += 7 {
  2191  				if shift >= 64 {
  2192  					return ErrIntOverflowMvcc3
  2193  				}
  2194  				if iNdEx >= l {
  2195  					return io.ErrUnexpectedEOF
  2196  				}
  2197  				b := dAtA[iNdEx]
  2198  				iNdEx++
  2199  				msglen |= (int(b) & 0x7F) << shift
  2200  				if b < 0x80 {
  2201  					break
  2202  				}
  2203  			}
  2204  			if msglen < 0 {
  2205  				return ErrInvalidLengthMvcc3
  2206  			}
  2207  			postIndex := iNdEx + msglen
  2208  			if postIndex > l {
  2209  				return io.ErrUnexpectedEOF
  2210  			}
  2211  			if err := m.MinTimestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2212  				return err
  2213  			}
  2214  			iNdEx = postIndex
  2215  		default:
  2216  			iNdEx = preIndex
  2217  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  2218  			if err != nil {
  2219  				return err
  2220  			}
  2221  			if skippy < 0 {
  2222  				return ErrInvalidLengthMvcc3
  2223  			}
  2224  			if (iNdEx + skippy) > l {
  2225  				return io.ErrUnexpectedEOF
  2226  			}
  2227  			iNdEx += skippy
  2228  		}
  2229  	}
  2230  
  2231  	if iNdEx > l {
  2232  		return io.ErrUnexpectedEOF
  2233  	}
  2234  	return nil
  2235  }
  2236  func (m *IgnoredSeqNumRange) Unmarshal(dAtA []byte) error {
  2237  	l := len(dAtA)
  2238  	iNdEx := 0
  2239  	for iNdEx < l {
  2240  		preIndex := iNdEx
  2241  		var wire uint64
  2242  		for shift := uint(0); ; shift += 7 {
  2243  			if shift >= 64 {
  2244  				return ErrIntOverflowMvcc3
  2245  			}
  2246  			if iNdEx >= l {
  2247  				return io.ErrUnexpectedEOF
  2248  			}
  2249  			b := dAtA[iNdEx]
  2250  			iNdEx++
  2251  			wire |= (uint64(b) & 0x7F) << shift
  2252  			if b < 0x80 {
  2253  				break
  2254  			}
  2255  		}
  2256  		fieldNum := int32(wire >> 3)
  2257  		wireType := int(wire & 0x7)
  2258  		if wireType == 4 {
  2259  			return fmt.Errorf("proto: IgnoredSeqNumRange: wiretype end group for non-group")
  2260  		}
  2261  		if fieldNum <= 0 {
  2262  			return fmt.Errorf("proto: IgnoredSeqNumRange: illegal tag %d (wire type %d)", fieldNum, wire)
  2263  		}
  2264  		switch fieldNum {
  2265  		case 1:
  2266  			if wireType != 0 {
  2267  				return fmt.Errorf("proto: wrong wireType = %d for field Start", wireType)
  2268  			}
  2269  			m.Start = 0
  2270  			for shift := uint(0); ; shift += 7 {
  2271  				if shift >= 64 {
  2272  					return ErrIntOverflowMvcc3
  2273  				}
  2274  				if iNdEx >= l {
  2275  					return io.ErrUnexpectedEOF
  2276  				}
  2277  				b := dAtA[iNdEx]
  2278  				iNdEx++
  2279  				m.Start |= (TxnSeq(b) & 0x7F) << shift
  2280  				if b < 0x80 {
  2281  					break
  2282  				}
  2283  			}
  2284  		case 2:
  2285  			if wireType != 0 {
  2286  				return fmt.Errorf("proto: wrong wireType = %d for field End", wireType)
  2287  			}
  2288  			m.End = 0
  2289  			for shift := uint(0); ; shift += 7 {
  2290  				if shift >= 64 {
  2291  					return ErrIntOverflowMvcc3
  2292  				}
  2293  				if iNdEx >= l {
  2294  					return io.ErrUnexpectedEOF
  2295  				}
  2296  				b := dAtA[iNdEx]
  2297  				iNdEx++
  2298  				m.End |= (TxnSeq(b) & 0x7F) << shift
  2299  				if b < 0x80 {
  2300  					break
  2301  				}
  2302  			}
  2303  		default:
  2304  			iNdEx = preIndex
  2305  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  2306  			if err != nil {
  2307  				return err
  2308  			}
  2309  			if skippy < 0 {
  2310  				return ErrInvalidLengthMvcc3
  2311  			}
  2312  			if (iNdEx + skippy) > l {
  2313  				return io.ErrUnexpectedEOF
  2314  			}
  2315  			iNdEx += skippy
  2316  		}
  2317  	}
  2318  
  2319  	if iNdEx > l {
  2320  		return io.ErrUnexpectedEOF
  2321  	}
  2322  	return nil
  2323  }
  2324  func (m *MVCCStatsDelta) Unmarshal(dAtA []byte) error {
  2325  	l := len(dAtA)
  2326  	iNdEx := 0
  2327  	for iNdEx < l {
  2328  		preIndex := iNdEx
  2329  		var wire uint64
  2330  		for shift := uint(0); ; shift += 7 {
  2331  			if shift >= 64 {
  2332  				return ErrIntOverflowMvcc3
  2333  			}
  2334  			if iNdEx >= l {
  2335  				return io.ErrUnexpectedEOF
  2336  			}
  2337  			b := dAtA[iNdEx]
  2338  			iNdEx++
  2339  			wire |= (uint64(b) & 0x7F) << shift
  2340  			if b < 0x80 {
  2341  				break
  2342  			}
  2343  		}
  2344  		fieldNum := int32(wire >> 3)
  2345  		wireType := int(wire & 0x7)
  2346  		if wireType == 4 {
  2347  			return fmt.Errorf("proto: MVCCStatsDelta: wiretype end group for non-group")
  2348  		}
  2349  		if fieldNum <= 0 {
  2350  			return fmt.Errorf("proto: MVCCStatsDelta: illegal tag %d (wire type %d)", fieldNum, wire)
  2351  		}
  2352  		switch fieldNum {
  2353  		case 1:
  2354  			if wireType != 1 {
  2355  				return fmt.Errorf("proto: wrong wireType = %d for field LastUpdateNanos", wireType)
  2356  			}
  2357  			m.LastUpdateNanos = 0
  2358  			if (iNdEx + 8) > l {
  2359  				return io.ErrUnexpectedEOF
  2360  			}
  2361  			m.LastUpdateNanos = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2362  			iNdEx += 8
  2363  		case 2:
  2364  			if wireType != 1 {
  2365  				return fmt.Errorf("proto: wrong wireType = %d for field IntentAge", wireType)
  2366  			}
  2367  			m.IntentAge = 0
  2368  			if (iNdEx + 8) > l {
  2369  				return io.ErrUnexpectedEOF
  2370  			}
  2371  			m.IntentAge = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2372  			iNdEx += 8
  2373  		case 3:
  2374  			if wireType != 1 {
  2375  				return fmt.Errorf("proto: wrong wireType = %d for field GCBytesAge", wireType)
  2376  			}
  2377  			m.GCBytesAge = 0
  2378  			if (iNdEx + 8) > l {
  2379  				return io.ErrUnexpectedEOF
  2380  			}
  2381  			m.GCBytesAge = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2382  			iNdEx += 8
  2383  		case 4:
  2384  			if wireType != 0 {
  2385  				return fmt.Errorf("proto: wrong wireType = %d for field LiveBytes", wireType)
  2386  			}
  2387  			var v uint64
  2388  			for shift := uint(0); ; shift += 7 {
  2389  				if shift >= 64 {
  2390  					return ErrIntOverflowMvcc3
  2391  				}
  2392  				if iNdEx >= l {
  2393  					return io.ErrUnexpectedEOF
  2394  				}
  2395  				b := dAtA[iNdEx]
  2396  				iNdEx++
  2397  				v |= (uint64(b) & 0x7F) << shift
  2398  				if b < 0x80 {
  2399  					break
  2400  				}
  2401  			}
  2402  			v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  2403  			m.LiveBytes = int64(v)
  2404  		case 5:
  2405  			if wireType != 0 {
  2406  				return fmt.Errorf("proto: wrong wireType = %d for field LiveCount", wireType)
  2407  			}
  2408  			var v uint64
  2409  			for shift := uint(0); ; shift += 7 {
  2410  				if shift >= 64 {
  2411  					return ErrIntOverflowMvcc3
  2412  				}
  2413  				if iNdEx >= l {
  2414  					return io.ErrUnexpectedEOF
  2415  				}
  2416  				b := dAtA[iNdEx]
  2417  				iNdEx++
  2418  				v |= (uint64(b) & 0x7F) << shift
  2419  				if b < 0x80 {
  2420  					break
  2421  				}
  2422  			}
  2423  			v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  2424  			m.LiveCount = int64(v)
  2425  		case 6:
  2426  			if wireType != 0 {
  2427  				return fmt.Errorf("proto: wrong wireType = %d for field KeyBytes", wireType)
  2428  			}
  2429  			var v uint64
  2430  			for shift := uint(0); ; shift += 7 {
  2431  				if shift >= 64 {
  2432  					return ErrIntOverflowMvcc3
  2433  				}
  2434  				if iNdEx >= l {
  2435  					return io.ErrUnexpectedEOF
  2436  				}
  2437  				b := dAtA[iNdEx]
  2438  				iNdEx++
  2439  				v |= (uint64(b) & 0x7F) << shift
  2440  				if b < 0x80 {
  2441  					break
  2442  				}
  2443  			}
  2444  			v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  2445  			m.KeyBytes = int64(v)
  2446  		case 7:
  2447  			if wireType != 0 {
  2448  				return fmt.Errorf("proto: wrong wireType = %d for field KeyCount", wireType)
  2449  			}
  2450  			var v uint64
  2451  			for shift := uint(0); ; shift += 7 {
  2452  				if shift >= 64 {
  2453  					return ErrIntOverflowMvcc3
  2454  				}
  2455  				if iNdEx >= l {
  2456  					return io.ErrUnexpectedEOF
  2457  				}
  2458  				b := dAtA[iNdEx]
  2459  				iNdEx++
  2460  				v |= (uint64(b) & 0x7F) << shift
  2461  				if b < 0x80 {
  2462  					break
  2463  				}
  2464  			}
  2465  			v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  2466  			m.KeyCount = int64(v)
  2467  		case 8:
  2468  			if wireType != 0 {
  2469  				return fmt.Errorf("proto: wrong wireType = %d for field ValBytes", wireType)
  2470  			}
  2471  			var v uint64
  2472  			for shift := uint(0); ; shift += 7 {
  2473  				if shift >= 64 {
  2474  					return ErrIntOverflowMvcc3
  2475  				}
  2476  				if iNdEx >= l {
  2477  					return io.ErrUnexpectedEOF
  2478  				}
  2479  				b := dAtA[iNdEx]
  2480  				iNdEx++
  2481  				v |= (uint64(b) & 0x7F) << shift
  2482  				if b < 0x80 {
  2483  					break
  2484  				}
  2485  			}
  2486  			v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  2487  			m.ValBytes = int64(v)
  2488  		case 9:
  2489  			if wireType != 0 {
  2490  				return fmt.Errorf("proto: wrong wireType = %d for field ValCount", wireType)
  2491  			}
  2492  			var v uint64
  2493  			for shift := uint(0); ; shift += 7 {
  2494  				if shift >= 64 {
  2495  					return ErrIntOverflowMvcc3
  2496  				}
  2497  				if iNdEx >= l {
  2498  					return io.ErrUnexpectedEOF
  2499  				}
  2500  				b := dAtA[iNdEx]
  2501  				iNdEx++
  2502  				v |= (uint64(b) & 0x7F) << shift
  2503  				if b < 0x80 {
  2504  					break
  2505  				}
  2506  			}
  2507  			v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  2508  			m.ValCount = int64(v)
  2509  		case 10:
  2510  			if wireType != 0 {
  2511  				return fmt.Errorf("proto: wrong wireType = %d for field IntentBytes", wireType)
  2512  			}
  2513  			var v uint64
  2514  			for shift := uint(0); ; shift += 7 {
  2515  				if shift >= 64 {
  2516  					return ErrIntOverflowMvcc3
  2517  				}
  2518  				if iNdEx >= l {
  2519  					return io.ErrUnexpectedEOF
  2520  				}
  2521  				b := dAtA[iNdEx]
  2522  				iNdEx++
  2523  				v |= (uint64(b) & 0x7F) << shift
  2524  				if b < 0x80 {
  2525  					break
  2526  				}
  2527  			}
  2528  			v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  2529  			m.IntentBytes = int64(v)
  2530  		case 11:
  2531  			if wireType != 0 {
  2532  				return fmt.Errorf("proto: wrong wireType = %d for field IntentCount", wireType)
  2533  			}
  2534  			var v uint64
  2535  			for shift := uint(0); ; shift += 7 {
  2536  				if shift >= 64 {
  2537  					return ErrIntOverflowMvcc3
  2538  				}
  2539  				if iNdEx >= l {
  2540  					return io.ErrUnexpectedEOF
  2541  				}
  2542  				b := dAtA[iNdEx]
  2543  				iNdEx++
  2544  				v |= (uint64(b) & 0x7F) << shift
  2545  				if b < 0x80 {
  2546  					break
  2547  				}
  2548  			}
  2549  			v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  2550  			m.IntentCount = int64(v)
  2551  		case 12:
  2552  			if wireType != 0 {
  2553  				return fmt.Errorf("proto: wrong wireType = %d for field SysBytes", wireType)
  2554  			}
  2555  			var v uint64
  2556  			for shift := uint(0); ; shift += 7 {
  2557  				if shift >= 64 {
  2558  					return ErrIntOverflowMvcc3
  2559  				}
  2560  				if iNdEx >= l {
  2561  					return io.ErrUnexpectedEOF
  2562  				}
  2563  				b := dAtA[iNdEx]
  2564  				iNdEx++
  2565  				v |= (uint64(b) & 0x7F) << shift
  2566  				if b < 0x80 {
  2567  					break
  2568  				}
  2569  			}
  2570  			v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  2571  			m.SysBytes = int64(v)
  2572  		case 13:
  2573  			if wireType != 0 {
  2574  				return fmt.Errorf("proto: wrong wireType = %d for field SysCount", wireType)
  2575  			}
  2576  			var v uint64
  2577  			for shift := uint(0); ; shift += 7 {
  2578  				if shift >= 64 {
  2579  					return ErrIntOverflowMvcc3
  2580  				}
  2581  				if iNdEx >= l {
  2582  					return io.ErrUnexpectedEOF
  2583  				}
  2584  				b := dAtA[iNdEx]
  2585  				iNdEx++
  2586  				v |= (uint64(b) & 0x7F) << shift
  2587  				if b < 0x80 {
  2588  					break
  2589  				}
  2590  			}
  2591  			v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  2592  			m.SysCount = int64(v)
  2593  		case 14:
  2594  			if wireType != 0 {
  2595  				return fmt.Errorf("proto: wrong wireType = %d for field ContainsEstimates", wireType)
  2596  			}
  2597  			m.ContainsEstimates = 0
  2598  			for shift := uint(0); ; shift += 7 {
  2599  				if shift >= 64 {
  2600  					return ErrIntOverflowMvcc3
  2601  				}
  2602  				if iNdEx >= l {
  2603  					return io.ErrUnexpectedEOF
  2604  				}
  2605  				b := dAtA[iNdEx]
  2606  				iNdEx++
  2607  				m.ContainsEstimates |= (int64(b) & 0x7F) << shift
  2608  				if b < 0x80 {
  2609  					break
  2610  				}
  2611  			}
  2612  		default:
  2613  			iNdEx = preIndex
  2614  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  2615  			if err != nil {
  2616  				return err
  2617  			}
  2618  			if skippy < 0 {
  2619  				return ErrInvalidLengthMvcc3
  2620  			}
  2621  			if (iNdEx + skippy) > l {
  2622  				return io.ErrUnexpectedEOF
  2623  			}
  2624  			iNdEx += skippy
  2625  		}
  2626  	}
  2627  
  2628  	if iNdEx > l {
  2629  		return io.ErrUnexpectedEOF
  2630  	}
  2631  	return nil
  2632  }
  2633  func (m *MVCCPersistentStats) Unmarshal(dAtA []byte) error {
  2634  	l := len(dAtA)
  2635  	iNdEx := 0
  2636  	for iNdEx < l {
  2637  		preIndex := iNdEx
  2638  		var wire uint64
  2639  		for shift := uint(0); ; shift += 7 {
  2640  			if shift >= 64 {
  2641  				return ErrIntOverflowMvcc3
  2642  			}
  2643  			if iNdEx >= l {
  2644  				return io.ErrUnexpectedEOF
  2645  			}
  2646  			b := dAtA[iNdEx]
  2647  			iNdEx++
  2648  			wire |= (uint64(b) & 0x7F) << shift
  2649  			if b < 0x80 {
  2650  				break
  2651  			}
  2652  		}
  2653  		fieldNum := int32(wire >> 3)
  2654  		wireType := int(wire & 0x7)
  2655  		if wireType == 4 {
  2656  			return fmt.Errorf("proto: MVCCPersistentStats: wiretype end group for non-group")
  2657  		}
  2658  		if fieldNum <= 0 {
  2659  			return fmt.Errorf("proto: MVCCPersistentStats: illegal tag %d (wire type %d)", fieldNum, wire)
  2660  		}
  2661  		switch fieldNum {
  2662  		case 1:
  2663  			if wireType != 1 {
  2664  				return fmt.Errorf("proto: wrong wireType = %d for field LastUpdateNanos", wireType)
  2665  			}
  2666  			m.LastUpdateNanos = 0
  2667  			if (iNdEx + 8) > l {
  2668  				return io.ErrUnexpectedEOF
  2669  			}
  2670  			m.LastUpdateNanos = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2671  			iNdEx += 8
  2672  		case 2:
  2673  			if wireType != 1 {
  2674  				return fmt.Errorf("proto: wrong wireType = %d for field IntentAge", wireType)
  2675  			}
  2676  			m.IntentAge = 0
  2677  			if (iNdEx + 8) > l {
  2678  				return io.ErrUnexpectedEOF
  2679  			}
  2680  			m.IntentAge = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2681  			iNdEx += 8
  2682  		case 3:
  2683  			if wireType != 1 {
  2684  				return fmt.Errorf("proto: wrong wireType = %d for field GCBytesAge", wireType)
  2685  			}
  2686  			m.GCBytesAge = 0
  2687  			if (iNdEx + 8) > l {
  2688  				return io.ErrUnexpectedEOF
  2689  			}
  2690  			m.GCBytesAge = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2691  			iNdEx += 8
  2692  		case 4:
  2693  			if wireType != 0 {
  2694  				return fmt.Errorf("proto: wrong wireType = %d for field LiveBytes", wireType)
  2695  			}
  2696  			m.LiveBytes = 0
  2697  			for shift := uint(0); ; shift += 7 {
  2698  				if shift >= 64 {
  2699  					return ErrIntOverflowMvcc3
  2700  				}
  2701  				if iNdEx >= l {
  2702  					return io.ErrUnexpectedEOF
  2703  				}
  2704  				b := dAtA[iNdEx]
  2705  				iNdEx++
  2706  				m.LiveBytes |= (int64(b) & 0x7F) << shift
  2707  				if b < 0x80 {
  2708  					break
  2709  				}
  2710  			}
  2711  		case 5:
  2712  			if wireType != 0 {
  2713  				return fmt.Errorf("proto: wrong wireType = %d for field LiveCount", wireType)
  2714  			}
  2715  			m.LiveCount = 0
  2716  			for shift := uint(0); ; shift += 7 {
  2717  				if shift >= 64 {
  2718  					return ErrIntOverflowMvcc3
  2719  				}
  2720  				if iNdEx >= l {
  2721  					return io.ErrUnexpectedEOF
  2722  				}
  2723  				b := dAtA[iNdEx]
  2724  				iNdEx++
  2725  				m.LiveCount |= (int64(b) & 0x7F) << shift
  2726  				if b < 0x80 {
  2727  					break
  2728  				}
  2729  			}
  2730  		case 6:
  2731  			if wireType != 0 {
  2732  				return fmt.Errorf("proto: wrong wireType = %d for field KeyBytes", wireType)
  2733  			}
  2734  			m.KeyBytes = 0
  2735  			for shift := uint(0); ; shift += 7 {
  2736  				if shift >= 64 {
  2737  					return ErrIntOverflowMvcc3
  2738  				}
  2739  				if iNdEx >= l {
  2740  					return io.ErrUnexpectedEOF
  2741  				}
  2742  				b := dAtA[iNdEx]
  2743  				iNdEx++
  2744  				m.KeyBytes |= (int64(b) & 0x7F) << shift
  2745  				if b < 0x80 {
  2746  					break
  2747  				}
  2748  			}
  2749  		case 7:
  2750  			if wireType != 0 {
  2751  				return fmt.Errorf("proto: wrong wireType = %d for field KeyCount", wireType)
  2752  			}
  2753  			m.KeyCount = 0
  2754  			for shift := uint(0); ; shift += 7 {
  2755  				if shift >= 64 {
  2756  					return ErrIntOverflowMvcc3
  2757  				}
  2758  				if iNdEx >= l {
  2759  					return io.ErrUnexpectedEOF
  2760  				}
  2761  				b := dAtA[iNdEx]
  2762  				iNdEx++
  2763  				m.KeyCount |= (int64(b) & 0x7F) << shift
  2764  				if b < 0x80 {
  2765  					break
  2766  				}
  2767  			}
  2768  		case 8:
  2769  			if wireType != 0 {
  2770  				return fmt.Errorf("proto: wrong wireType = %d for field ValBytes", wireType)
  2771  			}
  2772  			m.ValBytes = 0
  2773  			for shift := uint(0); ; shift += 7 {
  2774  				if shift >= 64 {
  2775  					return ErrIntOverflowMvcc3
  2776  				}
  2777  				if iNdEx >= l {
  2778  					return io.ErrUnexpectedEOF
  2779  				}
  2780  				b := dAtA[iNdEx]
  2781  				iNdEx++
  2782  				m.ValBytes |= (int64(b) & 0x7F) << shift
  2783  				if b < 0x80 {
  2784  					break
  2785  				}
  2786  			}
  2787  		case 9:
  2788  			if wireType != 0 {
  2789  				return fmt.Errorf("proto: wrong wireType = %d for field ValCount", wireType)
  2790  			}
  2791  			m.ValCount = 0
  2792  			for shift := uint(0); ; shift += 7 {
  2793  				if shift >= 64 {
  2794  					return ErrIntOverflowMvcc3
  2795  				}
  2796  				if iNdEx >= l {
  2797  					return io.ErrUnexpectedEOF
  2798  				}
  2799  				b := dAtA[iNdEx]
  2800  				iNdEx++
  2801  				m.ValCount |= (int64(b) & 0x7F) << shift
  2802  				if b < 0x80 {
  2803  					break
  2804  				}
  2805  			}
  2806  		case 10:
  2807  			if wireType != 0 {
  2808  				return fmt.Errorf("proto: wrong wireType = %d for field IntentBytes", wireType)
  2809  			}
  2810  			m.IntentBytes = 0
  2811  			for shift := uint(0); ; shift += 7 {
  2812  				if shift >= 64 {
  2813  					return ErrIntOverflowMvcc3
  2814  				}
  2815  				if iNdEx >= l {
  2816  					return io.ErrUnexpectedEOF
  2817  				}
  2818  				b := dAtA[iNdEx]
  2819  				iNdEx++
  2820  				m.IntentBytes |= (int64(b) & 0x7F) << shift
  2821  				if b < 0x80 {
  2822  					break
  2823  				}
  2824  			}
  2825  		case 11:
  2826  			if wireType != 0 {
  2827  				return fmt.Errorf("proto: wrong wireType = %d for field IntentCount", wireType)
  2828  			}
  2829  			m.IntentCount = 0
  2830  			for shift := uint(0); ; shift += 7 {
  2831  				if shift >= 64 {
  2832  					return ErrIntOverflowMvcc3
  2833  				}
  2834  				if iNdEx >= l {
  2835  					return io.ErrUnexpectedEOF
  2836  				}
  2837  				b := dAtA[iNdEx]
  2838  				iNdEx++
  2839  				m.IntentCount |= (int64(b) & 0x7F) << shift
  2840  				if b < 0x80 {
  2841  					break
  2842  				}
  2843  			}
  2844  		case 12:
  2845  			if wireType != 0 {
  2846  				return fmt.Errorf("proto: wrong wireType = %d for field SysBytes", wireType)
  2847  			}
  2848  			m.SysBytes = 0
  2849  			for shift := uint(0); ; shift += 7 {
  2850  				if shift >= 64 {
  2851  					return ErrIntOverflowMvcc3
  2852  				}
  2853  				if iNdEx >= l {
  2854  					return io.ErrUnexpectedEOF
  2855  				}
  2856  				b := dAtA[iNdEx]
  2857  				iNdEx++
  2858  				m.SysBytes |= (int64(b) & 0x7F) << shift
  2859  				if b < 0x80 {
  2860  					break
  2861  				}
  2862  			}
  2863  		case 13:
  2864  			if wireType != 0 {
  2865  				return fmt.Errorf("proto: wrong wireType = %d for field SysCount", wireType)
  2866  			}
  2867  			m.SysCount = 0
  2868  			for shift := uint(0); ; shift += 7 {
  2869  				if shift >= 64 {
  2870  					return ErrIntOverflowMvcc3
  2871  				}
  2872  				if iNdEx >= l {
  2873  					return io.ErrUnexpectedEOF
  2874  				}
  2875  				b := dAtA[iNdEx]
  2876  				iNdEx++
  2877  				m.SysCount |= (int64(b) & 0x7F) << shift
  2878  				if b < 0x80 {
  2879  					break
  2880  				}
  2881  			}
  2882  		case 14:
  2883  			if wireType != 0 {
  2884  				return fmt.Errorf("proto: wrong wireType = %d for field ContainsEstimates", wireType)
  2885  			}
  2886  			m.ContainsEstimates = 0
  2887  			for shift := uint(0); ; shift += 7 {
  2888  				if shift >= 64 {
  2889  					return ErrIntOverflowMvcc3
  2890  				}
  2891  				if iNdEx >= l {
  2892  					return io.ErrUnexpectedEOF
  2893  				}
  2894  				b := dAtA[iNdEx]
  2895  				iNdEx++
  2896  				m.ContainsEstimates |= (int64(b) & 0x7F) << shift
  2897  				if b < 0x80 {
  2898  					break
  2899  				}
  2900  			}
  2901  		default:
  2902  			iNdEx = preIndex
  2903  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  2904  			if err != nil {
  2905  				return err
  2906  			}
  2907  			if skippy < 0 {
  2908  				return ErrInvalidLengthMvcc3
  2909  			}
  2910  			if (iNdEx + skippy) > l {
  2911  				return io.ErrUnexpectedEOF
  2912  			}
  2913  			iNdEx += skippy
  2914  		}
  2915  	}
  2916  
  2917  	if iNdEx > l {
  2918  		return io.ErrUnexpectedEOF
  2919  	}
  2920  	return nil
  2921  }
  2922  func (m *RangeAppliedState) Unmarshal(dAtA []byte) error {
  2923  	l := len(dAtA)
  2924  	iNdEx := 0
  2925  	for iNdEx < l {
  2926  		preIndex := iNdEx
  2927  		var wire uint64
  2928  		for shift := uint(0); ; shift += 7 {
  2929  			if shift >= 64 {
  2930  				return ErrIntOverflowMvcc3
  2931  			}
  2932  			if iNdEx >= l {
  2933  				return io.ErrUnexpectedEOF
  2934  			}
  2935  			b := dAtA[iNdEx]
  2936  			iNdEx++
  2937  			wire |= (uint64(b) & 0x7F) << shift
  2938  			if b < 0x80 {
  2939  				break
  2940  			}
  2941  		}
  2942  		fieldNum := int32(wire >> 3)
  2943  		wireType := int(wire & 0x7)
  2944  		if wireType == 4 {
  2945  			return fmt.Errorf("proto: RangeAppliedState: wiretype end group for non-group")
  2946  		}
  2947  		if fieldNum <= 0 {
  2948  			return fmt.Errorf("proto: RangeAppliedState: illegal tag %d (wire type %d)", fieldNum, wire)
  2949  		}
  2950  		switch fieldNum {
  2951  		case 1:
  2952  			if wireType != 0 {
  2953  				return fmt.Errorf("proto: wrong wireType = %d for field RaftAppliedIndex", wireType)
  2954  			}
  2955  			m.RaftAppliedIndex = 0
  2956  			for shift := uint(0); ; shift += 7 {
  2957  				if shift >= 64 {
  2958  					return ErrIntOverflowMvcc3
  2959  				}
  2960  				if iNdEx >= l {
  2961  					return io.ErrUnexpectedEOF
  2962  				}
  2963  				b := dAtA[iNdEx]
  2964  				iNdEx++
  2965  				m.RaftAppliedIndex |= (uint64(b) & 0x7F) << shift
  2966  				if b < 0x80 {
  2967  					break
  2968  				}
  2969  			}
  2970  		case 2:
  2971  			if wireType != 0 {
  2972  				return fmt.Errorf("proto: wrong wireType = %d for field LeaseAppliedIndex", wireType)
  2973  			}
  2974  			m.LeaseAppliedIndex = 0
  2975  			for shift := uint(0); ; shift += 7 {
  2976  				if shift >= 64 {
  2977  					return ErrIntOverflowMvcc3
  2978  				}
  2979  				if iNdEx >= l {
  2980  					return io.ErrUnexpectedEOF
  2981  				}
  2982  				b := dAtA[iNdEx]
  2983  				iNdEx++
  2984  				m.LeaseAppliedIndex |= (uint64(b) & 0x7F) << shift
  2985  				if b < 0x80 {
  2986  					break
  2987  				}
  2988  			}
  2989  		case 3:
  2990  			if wireType != 2 {
  2991  				return fmt.Errorf("proto: wrong wireType = %d for field RangeStats", wireType)
  2992  			}
  2993  			var msglen int
  2994  			for shift := uint(0); ; shift += 7 {
  2995  				if shift >= 64 {
  2996  					return ErrIntOverflowMvcc3
  2997  				}
  2998  				if iNdEx >= l {
  2999  					return io.ErrUnexpectedEOF
  3000  				}
  3001  				b := dAtA[iNdEx]
  3002  				iNdEx++
  3003  				msglen |= (int(b) & 0x7F) << shift
  3004  				if b < 0x80 {
  3005  					break
  3006  				}
  3007  			}
  3008  			if msglen < 0 {
  3009  				return ErrInvalidLengthMvcc3
  3010  			}
  3011  			postIndex := iNdEx + msglen
  3012  			if postIndex > l {
  3013  				return io.ErrUnexpectedEOF
  3014  			}
  3015  			if err := m.RangeStats.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3016  				return err
  3017  			}
  3018  			iNdEx = postIndex
  3019  		default:
  3020  			iNdEx = preIndex
  3021  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  3022  			if err != nil {
  3023  				return err
  3024  			}
  3025  			if skippy < 0 {
  3026  				return ErrInvalidLengthMvcc3
  3027  			}
  3028  			if (iNdEx + skippy) > l {
  3029  				return io.ErrUnexpectedEOF
  3030  			}
  3031  			iNdEx += skippy
  3032  		}
  3033  	}
  3034  
  3035  	if iNdEx > l {
  3036  		return io.ErrUnexpectedEOF
  3037  	}
  3038  	return nil
  3039  }
  3040  func (m *MVCCWriteValueOp) Unmarshal(dAtA []byte) error {
  3041  	l := len(dAtA)
  3042  	iNdEx := 0
  3043  	for iNdEx < l {
  3044  		preIndex := iNdEx
  3045  		var wire uint64
  3046  		for shift := uint(0); ; shift += 7 {
  3047  			if shift >= 64 {
  3048  				return ErrIntOverflowMvcc3
  3049  			}
  3050  			if iNdEx >= l {
  3051  				return io.ErrUnexpectedEOF
  3052  			}
  3053  			b := dAtA[iNdEx]
  3054  			iNdEx++
  3055  			wire |= (uint64(b) & 0x7F) << shift
  3056  			if b < 0x80 {
  3057  				break
  3058  			}
  3059  		}
  3060  		fieldNum := int32(wire >> 3)
  3061  		wireType := int(wire & 0x7)
  3062  		if wireType == 4 {
  3063  			return fmt.Errorf("proto: MVCCWriteValueOp: wiretype end group for non-group")
  3064  		}
  3065  		if fieldNum <= 0 {
  3066  			return fmt.Errorf("proto: MVCCWriteValueOp: illegal tag %d (wire type %d)", fieldNum, wire)
  3067  		}
  3068  		switch fieldNum {
  3069  		case 1:
  3070  			if wireType != 2 {
  3071  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  3072  			}
  3073  			var byteLen int
  3074  			for shift := uint(0); ; shift += 7 {
  3075  				if shift >= 64 {
  3076  					return ErrIntOverflowMvcc3
  3077  				}
  3078  				if iNdEx >= l {
  3079  					return io.ErrUnexpectedEOF
  3080  				}
  3081  				b := dAtA[iNdEx]
  3082  				iNdEx++
  3083  				byteLen |= (int(b) & 0x7F) << shift
  3084  				if b < 0x80 {
  3085  					break
  3086  				}
  3087  			}
  3088  			if byteLen < 0 {
  3089  				return ErrInvalidLengthMvcc3
  3090  			}
  3091  			postIndex := iNdEx + byteLen
  3092  			if postIndex > l {
  3093  				return io.ErrUnexpectedEOF
  3094  			}
  3095  			m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  3096  			if m.Key == nil {
  3097  				m.Key = []byte{}
  3098  			}
  3099  			iNdEx = postIndex
  3100  		case 2:
  3101  			if wireType != 2 {
  3102  				return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType)
  3103  			}
  3104  			var msglen int
  3105  			for shift := uint(0); ; shift += 7 {
  3106  				if shift >= 64 {
  3107  					return ErrIntOverflowMvcc3
  3108  				}
  3109  				if iNdEx >= l {
  3110  					return io.ErrUnexpectedEOF
  3111  				}
  3112  				b := dAtA[iNdEx]
  3113  				iNdEx++
  3114  				msglen |= (int(b) & 0x7F) << shift
  3115  				if b < 0x80 {
  3116  					break
  3117  				}
  3118  			}
  3119  			if msglen < 0 {
  3120  				return ErrInvalidLengthMvcc3
  3121  			}
  3122  			postIndex := iNdEx + msglen
  3123  			if postIndex > l {
  3124  				return io.ErrUnexpectedEOF
  3125  			}
  3126  			if err := m.Timestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3127  				return err
  3128  			}
  3129  			iNdEx = postIndex
  3130  		case 3:
  3131  			if wireType != 2 {
  3132  				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  3133  			}
  3134  			var byteLen int
  3135  			for shift := uint(0); ; shift += 7 {
  3136  				if shift >= 64 {
  3137  					return ErrIntOverflowMvcc3
  3138  				}
  3139  				if iNdEx >= l {
  3140  					return io.ErrUnexpectedEOF
  3141  				}
  3142  				b := dAtA[iNdEx]
  3143  				iNdEx++
  3144  				byteLen |= (int(b) & 0x7F) << shift
  3145  				if b < 0x80 {
  3146  					break
  3147  				}
  3148  			}
  3149  			if byteLen < 0 {
  3150  				return ErrInvalidLengthMvcc3
  3151  			}
  3152  			postIndex := iNdEx + byteLen
  3153  			if postIndex > l {
  3154  				return io.ErrUnexpectedEOF
  3155  			}
  3156  			m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)
  3157  			if m.Value == nil {
  3158  				m.Value = []byte{}
  3159  			}
  3160  			iNdEx = postIndex
  3161  		case 4:
  3162  			if wireType != 2 {
  3163  				return fmt.Errorf("proto: wrong wireType = %d for field PrevValue", wireType)
  3164  			}
  3165  			var byteLen int
  3166  			for shift := uint(0); ; shift += 7 {
  3167  				if shift >= 64 {
  3168  					return ErrIntOverflowMvcc3
  3169  				}
  3170  				if iNdEx >= l {
  3171  					return io.ErrUnexpectedEOF
  3172  				}
  3173  				b := dAtA[iNdEx]
  3174  				iNdEx++
  3175  				byteLen |= (int(b) & 0x7F) << shift
  3176  				if b < 0x80 {
  3177  					break
  3178  				}
  3179  			}
  3180  			if byteLen < 0 {
  3181  				return ErrInvalidLengthMvcc3
  3182  			}
  3183  			postIndex := iNdEx + byteLen
  3184  			if postIndex > l {
  3185  				return io.ErrUnexpectedEOF
  3186  			}
  3187  			m.PrevValue = append(m.PrevValue[:0], dAtA[iNdEx:postIndex]...)
  3188  			if m.PrevValue == nil {
  3189  				m.PrevValue = []byte{}
  3190  			}
  3191  			iNdEx = postIndex
  3192  		default:
  3193  			iNdEx = preIndex
  3194  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  3195  			if err != nil {
  3196  				return err
  3197  			}
  3198  			if skippy < 0 {
  3199  				return ErrInvalidLengthMvcc3
  3200  			}
  3201  			if (iNdEx + skippy) > l {
  3202  				return io.ErrUnexpectedEOF
  3203  			}
  3204  			iNdEx += skippy
  3205  		}
  3206  	}
  3207  
  3208  	if iNdEx > l {
  3209  		return io.ErrUnexpectedEOF
  3210  	}
  3211  	return nil
  3212  }
  3213  func (m *MVCCWriteIntentOp) Unmarshal(dAtA []byte) error {
  3214  	l := len(dAtA)
  3215  	iNdEx := 0
  3216  	for iNdEx < l {
  3217  		preIndex := iNdEx
  3218  		var wire uint64
  3219  		for shift := uint(0); ; shift += 7 {
  3220  			if shift >= 64 {
  3221  				return ErrIntOverflowMvcc3
  3222  			}
  3223  			if iNdEx >= l {
  3224  				return io.ErrUnexpectedEOF
  3225  			}
  3226  			b := dAtA[iNdEx]
  3227  			iNdEx++
  3228  			wire |= (uint64(b) & 0x7F) << shift
  3229  			if b < 0x80 {
  3230  				break
  3231  			}
  3232  		}
  3233  		fieldNum := int32(wire >> 3)
  3234  		wireType := int(wire & 0x7)
  3235  		if wireType == 4 {
  3236  			return fmt.Errorf("proto: MVCCWriteIntentOp: wiretype end group for non-group")
  3237  		}
  3238  		if fieldNum <= 0 {
  3239  			return fmt.Errorf("proto: MVCCWriteIntentOp: illegal tag %d (wire type %d)", fieldNum, wire)
  3240  		}
  3241  		switch fieldNum {
  3242  		case 1:
  3243  			if wireType != 2 {
  3244  				return fmt.Errorf("proto: wrong wireType = %d for field TxnID", wireType)
  3245  			}
  3246  			var byteLen int
  3247  			for shift := uint(0); ; shift += 7 {
  3248  				if shift >= 64 {
  3249  					return ErrIntOverflowMvcc3
  3250  				}
  3251  				if iNdEx >= l {
  3252  					return io.ErrUnexpectedEOF
  3253  				}
  3254  				b := dAtA[iNdEx]
  3255  				iNdEx++
  3256  				byteLen |= (int(b) & 0x7F) << shift
  3257  				if b < 0x80 {
  3258  					break
  3259  				}
  3260  			}
  3261  			if byteLen < 0 {
  3262  				return ErrInvalidLengthMvcc3
  3263  			}
  3264  			postIndex := iNdEx + byteLen
  3265  			if postIndex > l {
  3266  				return io.ErrUnexpectedEOF
  3267  			}
  3268  			if err := m.TxnID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3269  				return err
  3270  			}
  3271  			iNdEx = postIndex
  3272  		case 2:
  3273  			if wireType != 2 {
  3274  				return fmt.Errorf("proto: wrong wireType = %d for field TxnKey", wireType)
  3275  			}
  3276  			var byteLen int
  3277  			for shift := uint(0); ; shift += 7 {
  3278  				if shift >= 64 {
  3279  					return ErrIntOverflowMvcc3
  3280  				}
  3281  				if iNdEx >= l {
  3282  					return io.ErrUnexpectedEOF
  3283  				}
  3284  				b := dAtA[iNdEx]
  3285  				iNdEx++
  3286  				byteLen |= (int(b) & 0x7F) << shift
  3287  				if b < 0x80 {
  3288  					break
  3289  				}
  3290  			}
  3291  			if byteLen < 0 {
  3292  				return ErrInvalidLengthMvcc3
  3293  			}
  3294  			postIndex := iNdEx + byteLen
  3295  			if postIndex > l {
  3296  				return io.ErrUnexpectedEOF
  3297  			}
  3298  			m.TxnKey = append(m.TxnKey[:0], dAtA[iNdEx:postIndex]...)
  3299  			if m.TxnKey == nil {
  3300  				m.TxnKey = []byte{}
  3301  			}
  3302  			iNdEx = postIndex
  3303  		case 3:
  3304  			if wireType != 2 {
  3305  				return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType)
  3306  			}
  3307  			var msglen int
  3308  			for shift := uint(0); ; shift += 7 {
  3309  				if shift >= 64 {
  3310  					return ErrIntOverflowMvcc3
  3311  				}
  3312  				if iNdEx >= l {
  3313  					return io.ErrUnexpectedEOF
  3314  				}
  3315  				b := dAtA[iNdEx]
  3316  				iNdEx++
  3317  				msglen |= (int(b) & 0x7F) << shift
  3318  				if b < 0x80 {
  3319  					break
  3320  				}
  3321  			}
  3322  			if msglen < 0 {
  3323  				return ErrInvalidLengthMvcc3
  3324  			}
  3325  			postIndex := iNdEx + msglen
  3326  			if postIndex > l {
  3327  				return io.ErrUnexpectedEOF
  3328  			}
  3329  			if err := m.Timestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3330  				return err
  3331  			}
  3332  			iNdEx = postIndex
  3333  		case 4:
  3334  			if wireType != 2 {
  3335  				return fmt.Errorf("proto: wrong wireType = %d for field TxnMinTimestamp", wireType)
  3336  			}
  3337  			var msglen int
  3338  			for shift := uint(0); ; shift += 7 {
  3339  				if shift >= 64 {
  3340  					return ErrIntOverflowMvcc3
  3341  				}
  3342  				if iNdEx >= l {
  3343  					return io.ErrUnexpectedEOF
  3344  				}
  3345  				b := dAtA[iNdEx]
  3346  				iNdEx++
  3347  				msglen |= (int(b) & 0x7F) << shift
  3348  				if b < 0x80 {
  3349  					break
  3350  				}
  3351  			}
  3352  			if msglen < 0 {
  3353  				return ErrInvalidLengthMvcc3
  3354  			}
  3355  			postIndex := iNdEx + msglen
  3356  			if postIndex > l {
  3357  				return io.ErrUnexpectedEOF
  3358  			}
  3359  			if err := m.TxnMinTimestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3360  				return err
  3361  			}
  3362  			iNdEx = postIndex
  3363  		default:
  3364  			iNdEx = preIndex
  3365  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  3366  			if err != nil {
  3367  				return err
  3368  			}
  3369  			if skippy < 0 {
  3370  				return ErrInvalidLengthMvcc3
  3371  			}
  3372  			if (iNdEx + skippy) > l {
  3373  				return io.ErrUnexpectedEOF
  3374  			}
  3375  			iNdEx += skippy
  3376  		}
  3377  	}
  3378  
  3379  	if iNdEx > l {
  3380  		return io.ErrUnexpectedEOF
  3381  	}
  3382  	return nil
  3383  }
  3384  func (m *MVCCUpdateIntentOp) Unmarshal(dAtA []byte) error {
  3385  	l := len(dAtA)
  3386  	iNdEx := 0
  3387  	for iNdEx < l {
  3388  		preIndex := iNdEx
  3389  		var wire uint64
  3390  		for shift := uint(0); ; shift += 7 {
  3391  			if shift >= 64 {
  3392  				return ErrIntOverflowMvcc3
  3393  			}
  3394  			if iNdEx >= l {
  3395  				return io.ErrUnexpectedEOF
  3396  			}
  3397  			b := dAtA[iNdEx]
  3398  			iNdEx++
  3399  			wire |= (uint64(b) & 0x7F) << shift
  3400  			if b < 0x80 {
  3401  				break
  3402  			}
  3403  		}
  3404  		fieldNum := int32(wire >> 3)
  3405  		wireType := int(wire & 0x7)
  3406  		if wireType == 4 {
  3407  			return fmt.Errorf("proto: MVCCUpdateIntentOp: wiretype end group for non-group")
  3408  		}
  3409  		if fieldNum <= 0 {
  3410  			return fmt.Errorf("proto: MVCCUpdateIntentOp: illegal tag %d (wire type %d)", fieldNum, wire)
  3411  		}
  3412  		switch fieldNum {
  3413  		case 1:
  3414  			if wireType != 2 {
  3415  				return fmt.Errorf("proto: wrong wireType = %d for field TxnID", wireType)
  3416  			}
  3417  			var byteLen int
  3418  			for shift := uint(0); ; shift += 7 {
  3419  				if shift >= 64 {
  3420  					return ErrIntOverflowMvcc3
  3421  				}
  3422  				if iNdEx >= l {
  3423  					return io.ErrUnexpectedEOF
  3424  				}
  3425  				b := dAtA[iNdEx]
  3426  				iNdEx++
  3427  				byteLen |= (int(b) & 0x7F) << shift
  3428  				if b < 0x80 {
  3429  					break
  3430  				}
  3431  			}
  3432  			if byteLen < 0 {
  3433  				return ErrInvalidLengthMvcc3
  3434  			}
  3435  			postIndex := iNdEx + byteLen
  3436  			if postIndex > l {
  3437  				return io.ErrUnexpectedEOF
  3438  			}
  3439  			if err := m.TxnID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3440  				return err
  3441  			}
  3442  			iNdEx = postIndex
  3443  		case 2:
  3444  			if wireType != 2 {
  3445  				return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType)
  3446  			}
  3447  			var msglen int
  3448  			for shift := uint(0); ; shift += 7 {
  3449  				if shift >= 64 {
  3450  					return ErrIntOverflowMvcc3
  3451  				}
  3452  				if iNdEx >= l {
  3453  					return io.ErrUnexpectedEOF
  3454  				}
  3455  				b := dAtA[iNdEx]
  3456  				iNdEx++
  3457  				msglen |= (int(b) & 0x7F) << shift
  3458  				if b < 0x80 {
  3459  					break
  3460  				}
  3461  			}
  3462  			if msglen < 0 {
  3463  				return ErrInvalidLengthMvcc3
  3464  			}
  3465  			postIndex := iNdEx + msglen
  3466  			if postIndex > l {
  3467  				return io.ErrUnexpectedEOF
  3468  			}
  3469  			if err := m.Timestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3470  				return err
  3471  			}
  3472  			iNdEx = postIndex
  3473  		default:
  3474  			iNdEx = preIndex
  3475  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  3476  			if err != nil {
  3477  				return err
  3478  			}
  3479  			if skippy < 0 {
  3480  				return ErrInvalidLengthMvcc3
  3481  			}
  3482  			if (iNdEx + skippy) > l {
  3483  				return io.ErrUnexpectedEOF
  3484  			}
  3485  			iNdEx += skippy
  3486  		}
  3487  	}
  3488  
  3489  	if iNdEx > l {
  3490  		return io.ErrUnexpectedEOF
  3491  	}
  3492  	return nil
  3493  }
  3494  func (m *MVCCCommitIntentOp) Unmarshal(dAtA []byte) error {
  3495  	l := len(dAtA)
  3496  	iNdEx := 0
  3497  	for iNdEx < l {
  3498  		preIndex := iNdEx
  3499  		var wire uint64
  3500  		for shift := uint(0); ; shift += 7 {
  3501  			if shift >= 64 {
  3502  				return ErrIntOverflowMvcc3
  3503  			}
  3504  			if iNdEx >= l {
  3505  				return io.ErrUnexpectedEOF
  3506  			}
  3507  			b := dAtA[iNdEx]
  3508  			iNdEx++
  3509  			wire |= (uint64(b) & 0x7F) << shift
  3510  			if b < 0x80 {
  3511  				break
  3512  			}
  3513  		}
  3514  		fieldNum := int32(wire >> 3)
  3515  		wireType := int(wire & 0x7)
  3516  		if wireType == 4 {
  3517  			return fmt.Errorf("proto: MVCCCommitIntentOp: wiretype end group for non-group")
  3518  		}
  3519  		if fieldNum <= 0 {
  3520  			return fmt.Errorf("proto: MVCCCommitIntentOp: illegal tag %d (wire type %d)", fieldNum, wire)
  3521  		}
  3522  		switch fieldNum {
  3523  		case 1:
  3524  			if wireType != 2 {
  3525  				return fmt.Errorf("proto: wrong wireType = %d for field TxnID", wireType)
  3526  			}
  3527  			var byteLen int
  3528  			for shift := uint(0); ; shift += 7 {
  3529  				if shift >= 64 {
  3530  					return ErrIntOverflowMvcc3
  3531  				}
  3532  				if iNdEx >= l {
  3533  					return io.ErrUnexpectedEOF
  3534  				}
  3535  				b := dAtA[iNdEx]
  3536  				iNdEx++
  3537  				byteLen |= (int(b) & 0x7F) << shift
  3538  				if b < 0x80 {
  3539  					break
  3540  				}
  3541  			}
  3542  			if byteLen < 0 {
  3543  				return ErrInvalidLengthMvcc3
  3544  			}
  3545  			postIndex := iNdEx + byteLen
  3546  			if postIndex > l {
  3547  				return io.ErrUnexpectedEOF
  3548  			}
  3549  			if err := m.TxnID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3550  				return err
  3551  			}
  3552  			iNdEx = postIndex
  3553  		case 2:
  3554  			if wireType != 2 {
  3555  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  3556  			}
  3557  			var byteLen int
  3558  			for shift := uint(0); ; shift += 7 {
  3559  				if shift >= 64 {
  3560  					return ErrIntOverflowMvcc3
  3561  				}
  3562  				if iNdEx >= l {
  3563  					return io.ErrUnexpectedEOF
  3564  				}
  3565  				b := dAtA[iNdEx]
  3566  				iNdEx++
  3567  				byteLen |= (int(b) & 0x7F) << shift
  3568  				if b < 0x80 {
  3569  					break
  3570  				}
  3571  			}
  3572  			if byteLen < 0 {
  3573  				return ErrInvalidLengthMvcc3
  3574  			}
  3575  			postIndex := iNdEx + byteLen
  3576  			if postIndex > l {
  3577  				return io.ErrUnexpectedEOF
  3578  			}
  3579  			m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  3580  			if m.Key == nil {
  3581  				m.Key = []byte{}
  3582  			}
  3583  			iNdEx = postIndex
  3584  		case 3:
  3585  			if wireType != 2 {
  3586  				return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType)
  3587  			}
  3588  			var msglen int
  3589  			for shift := uint(0); ; shift += 7 {
  3590  				if shift >= 64 {
  3591  					return ErrIntOverflowMvcc3
  3592  				}
  3593  				if iNdEx >= l {
  3594  					return io.ErrUnexpectedEOF
  3595  				}
  3596  				b := dAtA[iNdEx]
  3597  				iNdEx++
  3598  				msglen |= (int(b) & 0x7F) << shift
  3599  				if b < 0x80 {
  3600  					break
  3601  				}
  3602  			}
  3603  			if msglen < 0 {
  3604  				return ErrInvalidLengthMvcc3
  3605  			}
  3606  			postIndex := iNdEx + msglen
  3607  			if postIndex > l {
  3608  				return io.ErrUnexpectedEOF
  3609  			}
  3610  			if err := m.Timestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3611  				return err
  3612  			}
  3613  			iNdEx = postIndex
  3614  		case 4:
  3615  			if wireType != 2 {
  3616  				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  3617  			}
  3618  			var byteLen int
  3619  			for shift := uint(0); ; shift += 7 {
  3620  				if shift >= 64 {
  3621  					return ErrIntOverflowMvcc3
  3622  				}
  3623  				if iNdEx >= l {
  3624  					return io.ErrUnexpectedEOF
  3625  				}
  3626  				b := dAtA[iNdEx]
  3627  				iNdEx++
  3628  				byteLen |= (int(b) & 0x7F) << shift
  3629  				if b < 0x80 {
  3630  					break
  3631  				}
  3632  			}
  3633  			if byteLen < 0 {
  3634  				return ErrInvalidLengthMvcc3
  3635  			}
  3636  			postIndex := iNdEx + byteLen
  3637  			if postIndex > l {
  3638  				return io.ErrUnexpectedEOF
  3639  			}
  3640  			m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)
  3641  			if m.Value == nil {
  3642  				m.Value = []byte{}
  3643  			}
  3644  			iNdEx = postIndex
  3645  		case 5:
  3646  			if wireType != 2 {
  3647  				return fmt.Errorf("proto: wrong wireType = %d for field PrevValue", wireType)
  3648  			}
  3649  			var byteLen int
  3650  			for shift := uint(0); ; shift += 7 {
  3651  				if shift >= 64 {
  3652  					return ErrIntOverflowMvcc3
  3653  				}
  3654  				if iNdEx >= l {
  3655  					return io.ErrUnexpectedEOF
  3656  				}
  3657  				b := dAtA[iNdEx]
  3658  				iNdEx++
  3659  				byteLen |= (int(b) & 0x7F) << shift
  3660  				if b < 0x80 {
  3661  					break
  3662  				}
  3663  			}
  3664  			if byteLen < 0 {
  3665  				return ErrInvalidLengthMvcc3
  3666  			}
  3667  			postIndex := iNdEx + byteLen
  3668  			if postIndex > l {
  3669  				return io.ErrUnexpectedEOF
  3670  			}
  3671  			m.PrevValue = append(m.PrevValue[:0], dAtA[iNdEx:postIndex]...)
  3672  			if m.PrevValue == nil {
  3673  				m.PrevValue = []byte{}
  3674  			}
  3675  			iNdEx = postIndex
  3676  		default:
  3677  			iNdEx = preIndex
  3678  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  3679  			if err != nil {
  3680  				return err
  3681  			}
  3682  			if skippy < 0 {
  3683  				return ErrInvalidLengthMvcc3
  3684  			}
  3685  			if (iNdEx + skippy) > l {
  3686  				return io.ErrUnexpectedEOF
  3687  			}
  3688  			iNdEx += skippy
  3689  		}
  3690  	}
  3691  
  3692  	if iNdEx > l {
  3693  		return io.ErrUnexpectedEOF
  3694  	}
  3695  	return nil
  3696  }
  3697  func (m *MVCCAbortIntentOp) Unmarshal(dAtA []byte) error {
  3698  	l := len(dAtA)
  3699  	iNdEx := 0
  3700  	for iNdEx < l {
  3701  		preIndex := iNdEx
  3702  		var wire uint64
  3703  		for shift := uint(0); ; shift += 7 {
  3704  			if shift >= 64 {
  3705  				return ErrIntOverflowMvcc3
  3706  			}
  3707  			if iNdEx >= l {
  3708  				return io.ErrUnexpectedEOF
  3709  			}
  3710  			b := dAtA[iNdEx]
  3711  			iNdEx++
  3712  			wire |= (uint64(b) & 0x7F) << shift
  3713  			if b < 0x80 {
  3714  				break
  3715  			}
  3716  		}
  3717  		fieldNum := int32(wire >> 3)
  3718  		wireType := int(wire & 0x7)
  3719  		if wireType == 4 {
  3720  			return fmt.Errorf("proto: MVCCAbortIntentOp: wiretype end group for non-group")
  3721  		}
  3722  		if fieldNum <= 0 {
  3723  			return fmt.Errorf("proto: MVCCAbortIntentOp: illegal tag %d (wire type %d)", fieldNum, wire)
  3724  		}
  3725  		switch fieldNum {
  3726  		case 1:
  3727  			if wireType != 2 {
  3728  				return fmt.Errorf("proto: wrong wireType = %d for field TxnID", wireType)
  3729  			}
  3730  			var byteLen int
  3731  			for shift := uint(0); ; shift += 7 {
  3732  				if shift >= 64 {
  3733  					return ErrIntOverflowMvcc3
  3734  				}
  3735  				if iNdEx >= l {
  3736  					return io.ErrUnexpectedEOF
  3737  				}
  3738  				b := dAtA[iNdEx]
  3739  				iNdEx++
  3740  				byteLen |= (int(b) & 0x7F) << shift
  3741  				if b < 0x80 {
  3742  					break
  3743  				}
  3744  			}
  3745  			if byteLen < 0 {
  3746  				return ErrInvalidLengthMvcc3
  3747  			}
  3748  			postIndex := iNdEx + byteLen
  3749  			if postIndex > l {
  3750  				return io.ErrUnexpectedEOF
  3751  			}
  3752  			if err := m.TxnID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3753  				return err
  3754  			}
  3755  			iNdEx = postIndex
  3756  		default:
  3757  			iNdEx = preIndex
  3758  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  3759  			if err != nil {
  3760  				return err
  3761  			}
  3762  			if skippy < 0 {
  3763  				return ErrInvalidLengthMvcc3
  3764  			}
  3765  			if (iNdEx + skippy) > l {
  3766  				return io.ErrUnexpectedEOF
  3767  			}
  3768  			iNdEx += skippy
  3769  		}
  3770  	}
  3771  
  3772  	if iNdEx > l {
  3773  		return io.ErrUnexpectedEOF
  3774  	}
  3775  	return nil
  3776  }
  3777  func (m *MVCCAbortTxnOp) Unmarshal(dAtA []byte) error {
  3778  	l := len(dAtA)
  3779  	iNdEx := 0
  3780  	for iNdEx < l {
  3781  		preIndex := iNdEx
  3782  		var wire uint64
  3783  		for shift := uint(0); ; shift += 7 {
  3784  			if shift >= 64 {
  3785  				return ErrIntOverflowMvcc3
  3786  			}
  3787  			if iNdEx >= l {
  3788  				return io.ErrUnexpectedEOF
  3789  			}
  3790  			b := dAtA[iNdEx]
  3791  			iNdEx++
  3792  			wire |= (uint64(b) & 0x7F) << shift
  3793  			if b < 0x80 {
  3794  				break
  3795  			}
  3796  		}
  3797  		fieldNum := int32(wire >> 3)
  3798  		wireType := int(wire & 0x7)
  3799  		if wireType == 4 {
  3800  			return fmt.Errorf("proto: MVCCAbortTxnOp: wiretype end group for non-group")
  3801  		}
  3802  		if fieldNum <= 0 {
  3803  			return fmt.Errorf("proto: MVCCAbortTxnOp: illegal tag %d (wire type %d)", fieldNum, wire)
  3804  		}
  3805  		switch fieldNum {
  3806  		case 1:
  3807  			if wireType != 2 {
  3808  				return fmt.Errorf("proto: wrong wireType = %d for field TxnID", wireType)
  3809  			}
  3810  			var byteLen int
  3811  			for shift := uint(0); ; shift += 7 {
  3812  				if shift >= 64 {
  3813  					return ErrIntOverflowMvcc3
  3814  				}
  3815  				if iNdEx >= l {
  3816  					return io.ErrUnexpectedEOF
  3817  				}
  3818  				b := dAtA[iNdEx]
  3819  				iNdEx++
  3820  				byteLen |= (int(b) & 0x7F) << shift
  3821  				if b < 0x80 {
  3822  					break
  3823  				}
  3824  			}
  3825  			if byteLen < 0 {
  3826  				return ErrInvalidLengthMvcc3
  3827  			}
  3828  			postIndex := iNdEx + byteLen
  3829  			if postIndex > l {
  3830  				return io.ErrUnexpectedEOF
  3831  			}
  3832  			if err := m.TxnID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3833  				return err
  3834  			}
  3835  			iNdEx = postIndex
  3836  		default:
  3837  			iNdEx = preIndex
  3838  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  3839  			if err != nil {
  3840  				return err
  3841  			}
  3842  			if skippy < 0 {
  3843  				return ErrInvalidLengthMvcc3
  3844  			}
  3845  			if (iNdEx + skippy) > l {
  3846  				return io.ErrUnexpectedEOF
  3847  			}
  3848  			iNdEx += skippy
  3849  		}
  3850  	}
  3851  
  3852  	if iNdEx > l {
  3853  		return io.ErrUnexpectedEOF
  3854  	}
  3855  	return nil
  3856  }
  3857  func (m *MVCCLogicalOp) Unmarshal(dAtA []byte) error {
  3858  	l := len(dAtA)
  3859  	iNdEx := 0
  3860  	for iNdEx < l {
  3861  		preIndex := iNdEx
  3862  		var wire uint64
  3863  		for shift := uint(0); ; shift += 7 {
  3864  			if shift >= 64 {
  3865  				return ErrIntOverflowMvcc3
  3866  			}
  3867  			if iNdEx >= l {
  3868  				return io.ErrUnexpectedEOF
  3869  			}
  3870  			b := dAtA[iNdEx]
  3871  			iNdEx++
  3872  			wire |= (uint64(b) & 0x7F) << shift
  3873  			if b < 0x80 {
  3874  				break
  3875  			}
  3876  		}
  3877  		fieldNum := int32(wire >> 3)
  3878  		wireType := int(wire & 0x7)
  3879  		if wireType == 4 {
  3880  			return fmt.Errorf("proto: MVCCLogicalOp: wiretype end group for non-group")
  3881  		}
  3882  		if fieldNum <= 0 {
  3883  			return fmt.Errorf("proto: MVCCLogicalOp: illegal tag %d (wire type %d)", fieldNum, wire)
  3884  		}
  3885  		switch fieldNum {
  3886  		case 1:
  3887  			if wireType != 2 {
  3888  				return fmt.Errorf("proto: wrong wireType = %d for field WriteValue", wireType)
  3889  			}
  3890  			var msglen int
  3891  			for shift := uint(0); ; shift += 7 {
  3892  				if shift >= 64 {
  3893  					return ErrIntOverflowMvcc3
  3894  				}
  3895  				if iNdEx >= l {
  3896  					return io.ErrUnexpectedEOF
  3897  				}
  3898  				b := dAtA[iNdEx]
  3899  				iNdEx++
  3900  				msglen |= (int(b) & 0x7F) << shift
  3901  				if b < 0x80 {
  3902  					break
  3903  				}
  3904  			}
  3905  			if msglen < 0 {
  3906  				return ErrInvalidLengthMvcc3
  3907  			}
  3908  			postIndex := iNdEx + msglen
  3909  			if postIndex > l {
  3910  				return io.ErrUnexpectedEOF
  3911  			}
  3912  			if m.WriteValue == nil {
  3913  				m.WriteValue = &MVCCWriteValueOp{}
  3914  			}
  3915  			if err := m.WriteValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3916  				return err
  3917  			}
  3918  			iNdEx = postIndex
  3919  		case 2:
  3920  			if wireType != 2 {
  3921  				return fmt.Errorf("proto: wrong wireType = %d for field WriteIntent", wireType)
  3922  			}
  3923  			var msglen int
  3924  			for shift := uint(0); ; shift += 7 {
  3925  				if shift >= 64 {
  3926  					return ErrIntOverflowMvcc3
  3927  				}
  3928  				if iNdEx >= l {
  3929  					return io.ErrUnexpectedEOF
  3930  				}
  3931  				b := dAtA[iNdEx]
  3932  				iNdEx++
  3933  				msglen |= (int(b) & 0x7F) << shift
  3934  				if b < 0x80 {
  3935  					break
  3936  				}
  3937  			}
  3938  			if msglen < 0 {
  3939  				return ErrInvalidLengthMvcc3
  3940  			}
  3941  			postIndex := iNdEx + msglen
  3942  			if postIndex > l {
  3943  				return io.ErrUnexpectedEOF
  3944  			}
  3945  			if m.WriteIntent == nil {
  3946  				m.WriteIntent = &MVCCWriteIntentOp{}
  3947  			}
  3948  			if err := m.WriteIntent.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3949  				return err
  3950  			}
  3951  			iNdEx = postIndex
  3952  		case 3:
  3953  			if wireType != 2 {
  3954  				return fmt.Errorf("proto: wrong wireType = %d for field UpdateIntent", wireType)
  3955  			}
  3956  			var msglen int
  3957  			for shift := uint(0); ; shift += 7 {
  3958  				if shift >= 64 {
  3959  					return ErrIntOverflowMvcc3
  3960  				}
  3961  				if iNdEx >= l {
  3962  					return io.ErrUnexpectedEOF
  3963  				}
  3964  				b := dAtA[iNdEx]
  3965  				iNdEx++
  3966  				msglen |= (int(b) & 0x7F) << shift
  3967  				if b < 0x80 {
  3968  					break
  3969  				}
  3970  			}
  3971  			if msglen < 0 {
  3972  				return ErrInvalidLengthMvcc3
  3973  			}
  3974  			postIndex := iNdEx + msglen
  3975  			if postIndex > l {
  3976  				return io.ErrUnexpectedEOF
  3977  			}
  3978  			if m.UpdateIntent == nil {
  3979  				m.UpdateIntent = &MVCCUpdateIntentOp{}
  3980  			}
  3981  			if err := m.UpdateIntent.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3982  				return err
  3983  			}
  3984  			iNdEx = postIndex
  3985  		case 4:
  3986  			if wireType != 2 {
  3987  				return fmt.Errorf("proto: wrong wireType = %d for field CommitIntent", wireType)
  3988  			}
  3989  			var msglen int
  3990  			for shift := uint(0); ; shift += 7 {
  3991  				if shift >= 64 {
  3992  					return ErrIntOverflowMvcc3
  3993  				}
  3994  				if iNdEx >= l {
  3995  					return io.ErrUnexpectedEOF
  3996  				}
  3997  				b := dAtA[iNdEx]
  3998  				iNdEx++
  3999  				msglen |= (int(b) & 0x7F) << shift
  4000  				if b < 0x80 {
  4001  					break
  4002  				}
  4003  			}
  4004  			if msglen < 0 {
  4005  				return ErrInvalidLengthMvcc3
  4006  			}
  4007  			postIndex := iNdEx + msglen
  4008  			if postIndex > l {
  4009  				return io.ErrUnexpectedEOF
  4010  			}
  4011  			if m.CommitIntent == nil {
  4012  				m.CommitIntent = &MVCCCommitIntentOp{}
  4013  			}
  4014  			if err := m.CommitIntent.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4015  				return err
  4016  			}
  4017  			iNdEx = postIndex
  4018  		case 5:
  4019  			if wireType != 2 {
  4020  				return fmt.Errorf("proto: wrong wireType = %d for field AbortIntent", wireType)
  4021  			}
  4022  			var msglen int
  4023  			for shift := uint(0); ; shift += 7 {
  4024  				if shift >= 64 {
  4025  					return ErrIntOverflowMvcc3
  4026  				}
  4027  				if iNdEx >= l {
  4028  					return io.ErrUnexpectedEOF
  4029  				}
  4030  				b := dAtA[iNdEx]
  4031  				iNdEx++
  4032  				msglen |= (int(b) & 0x7F) << shift
  4033  				if b < 0x80 {
  4034  					break
  4035  				}
  4036  			}
  4037  			if msglen < 0 {
  4038  				return ErrInvalidLengthMvcc3
  4039  			}
  4040  			postIndex := iNdEx + msglen
  4041  			if postIndex > l {
  4042  				return io.ErrUnexpectedEOF
  4043  			}
  4044  			if m.AbortIntent == nil {
  4045  				m.AbortIntent = &MVCCAbortIntentOp{}
  4046  			}
  4047  			if err := m.AbortIntent.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4048  				return err
  4049  			}
  4050  			iNdEx = postIndex
  4051  		case 6:
  4052  			if wireType != 2 {
  4053  				return fmt.Errorf("proto: wrong wireType = %d for field AbortTxn", wireType)
  4054  			}
  4055  			var msglen int
  4056  			for shift := uint(0); ; shift += 7 {
  4057  				if shift >= 64 {
  4058  					return ErrIntOverflowMvcc3
  4059  				}
  4060  				if iNdEx >= l {
  4061  					return io.ErrUnexpectedEOF
  4062  				}
  4063  				b := dAtA[iNdEx]
  4064  				iNdEx++
  4065  				msglen |= (int(b) & 0x7F) << shift
  4066  				if b < 0x80 {
  4067  					break
  4068  				}
  4069  			}
  4070  			if msglen < 0 {
  4071  				return ErrInvalidLengthMvcc3
  4072  			}
  4073  			postIndex := iNdEx + msglen
  4074  			if postIndex > l {
  4075  				return io.ErrUnexpectedEOF
  4076  			}
  4077  			if m.AbortTxn == nil {
  4078  				m.AbortTxn = &MVCCAbortTxnOp{}
  4079  			}
  4080  			if err := m.AbortTxn.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4081  				return err
  4082  			}
  4083  			iNdEx = postIndex
  4084  		default:
  4085  			iNdEx = preIndex
  4086  			skippy, err := skipMvcc3(dAtA[iNdEx:])
  4087  			if err != nil {
  4088  				return err
  4089  			}
  4090  			if skippy < 0 {
  4091  				return ErrInvalidLengthMvcc3
  4092  			}
  4093  			if (iNdEx + skippy) > l {
  4094  				return io.ErrUnexpectedEOF
  4095  			}
  4096  			iNdEx += skippy
  4097  		}
  4098  	}
  4099  
  4100  	if iNdEx > l {
  4101  		return io.ErrUnexpectedEOF
  4102  	}
  4103  	return nil
  4104  }
  4105  func skipMvcc3(dAtA []byte) (n int, err error) {
  4106  	l := len(dAtA)
  4107  	iNdEx := 0
  4108  	for iNdEx < l {
  4109  		var wire uint64
  4110  		for shift := uint(0); ; shift += 7 {
  4111  			if shift >= 64 {
  4112  				return 0, ErrIntOverflowMvcc3
  4113  			}
  4114  			if iNdEx >= l {
  4115  				return 0, io.ErrUnexpectedEOF
  4116  			}
  4117  			b := dAtA[iNdEx]
  4118  			iNdEx++
  4119  			wire |= (uint64(b) & 0x7F) << shift
  4120  			if b < 0x80 {
  4121  				break
  4122  			}
  4123  		}
  4124  		wireType := int(wire & 0x7)
  4125  		switch wireType {
  4126  		case 0:
  4127  			for shift := uint(0); ; shift += 7 {
  4128  				if shift >= 64 {
  4129  					return 0, ErrIntOverflowMvcc3
  4130  				}
  4131  				if iNdEx >= l {
  4132  					return 0, io.ErrUnexpectedEOF
  4133  				}
  4134  				iNdEx++
  4135  				if dAtA[iNdEx-1] < 0x80 {
  4136  					break
  4137  				}
  4138  			}
  4139  			return iNdEx, nil
  4140  		case 1:
  4141  			iNdEx += 8
  4142  			return iNdEx, nil
  4143  		case 2:
  4144  			var length int
  4145  			for shift := uint(0); ; shift += 7 {
  4146  				if shift >= 64 {
  4147  					return 0, ErrIntOverflowMvcc3
  4148  				}
  4149  				if iNdEx >= l {
  4150  					return 0, io.ErrUnexpectedEOF
  4151  				}
  4152  				b := dAtA[iNdEx]
  4153  				iNdEx++
  4154  				length |= (int(b) & 0x7F) << shift
  4155  				if b < 0x80 {
  4156  					break
  4157  				}
  4158  			}
  4159  			iNdEx += length
  4160  			if length < 0 {
  4161  				return 0, ErrInvalidLengthMvcc3
  4162  			}
  4163  			return iNdEx, nil
  4164  		case 3:
  4165  			for {
  4166  				var innerWire uint64
  4167  				var start int = iNdEx
  4168  				for shift := uint(0); ; shift += 7 {
  4169  					if shift >= 64 {
  4170  						return 0, ErrIntOverflowMvcc3
  4171  					}
  4172  					if iNdEx >= l {
  4173  						return 0, io.ErrUnexpectedEOF
  4174  					}
  4175  					b := dAtA[iNdEx]
  4176  					iNdEx++
  4177  					innerWire |= (uint64(b) & 0x7F) << shift
  4178  					if b < 0x80 {
  4179  						break
  4180  					}
  4181  				}
  4182  				innerWireType := int(innerWire & 0x7)
  4183  				if innerWireType == 4 {
  4184  					break
  4185  				}
  4186  				next, err := skipMvcc3(dAtA[start:])
  4187  				if err != nil {
  4188  					return 0, err
  4189  				}
  4190  				iNdEx = start + next
  4191  			}
  4192  			return iNdEx, nil
  4193  		case 4:
  4194  			return iNdEx, nil
  4195  		case 5:
  4196  			iNdEx += 4
  4197  			return iNdEx, nil
  4198  		default:
  4199  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  4200  		}
  4201  	}
  4202  	panic("unreachable")
  4203  }
  4204  
  4205  var (
  4206  	ErrInvalidLengthMvcc3 = fmt.Errorf("proto: negative length found during unmarshaling")
  4207  	ErrIntOverflowMvcc3   = fmt.Errorf("proto: integer overflow")
  4208  )
  4209  
  4210  func init() { proto.RegisterFile("storage/enginepb/mvcc3.proto", fileDescriptor_mvcc3_9bc532bf92053320) }
  4211  
  4212  var fileDescriptor_mvcc3_9bc532bf92053320 = []byte{
  4213  	// 1165 bytes of a gzipped FileDescriptorProto
  4214  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x41, 0x6f, 0x1a, 0x47,
  4215  	0x14, 0x66, 0x59, 0xb0, 0xe1, 0x81, 0x6d, 0x98, 0x44, 0x2a, 0x4a, 0x13, 0xa0, 0x1c, 0x2a, 0x2b,
  4216  	0x4d, 0x96, 0xca, 0xbe, 0xf9, 0x06, 0x76, 0x94, 0x92, 0xc6, 0xb1, 0xbb, 0xc6, 0xee, 0xa1, 0x52,
  4217  	0xd1, 0xb0, 0x4c, 0xd7, 0x2b, 0x2f, 0xb3, 0xeb, 0xdd, 0x81, 0x2c, 0xff, 0xa2, 0xc7, 0x56, 0x6a,
  4218  	0x25, 0xff, 0x88, 0x1e, 0xfa, 0x13, 0x7c, 0x8c, 0xd4, 0x4b, 0xd4, 0x03, 0x6a, 0xf1, 0xa5, 0x3f,
  4219  	0xa0, 0x27, 0x47, 0x95, 0xaa, 0x99, 0x59, 0x16, 0x70, 0x6b, 0x8c, 0x62, 0xd5, 0xea, 0x6d, 0xe6,
  4220  	0x7d, 0xef, 0x7d, 0xef, 0xcd, 0xbc, 0x8f, 0x79, 0x0b, 0x3c, 0xf4, 0x99, 0xe3, 0x61, 0x93, 0x54,
  4221  	0x09, 0x35, 0x2d, 0x4a, 0xdc, 0x76, 0xb5, 0xdb, 0x37, 0x8c, 0x4d, 0xcd, 0xf5, 0x1c, 0xe6, 0xa0,
  4222  	0x07, 0x86, 0x63, 0x9c, 0x78, 0x0e, 0x36, 0x8e, 0xb5, 0xd0, 0x4f, 0x1b, 0xfb, 0x3d, 0x28, 0xf4,
  4223  	0x98, 0x65, 0x57, 0x8f, 0x6d, 0xa3, 0xca, 0xac, 0x2e, 0xf1, 0x19, 0xee, 0xba, 0x32, 0xea, 0xc1,
  4224  	0x7d, 0xd3, 0x31, 0x1d, 0xb1, 0xac, 0xf2, 0x95, 0xb4, 0x56, 0xbe, 0x57, 0x61, 0xb9, 0x19, 0xd0,
  4225  	0x5d, 0xc2, 0x30, 0xfa, 0x02, 0xe2, 0x56, 0xa7, 0xa0, 0x94, 0x95, 0xf5, 0x6c, 0xbd, 0x76, 0x3e,
  4226  	0x2c, 0xc5, 0x7e, 0x1d, 0x96, 0x36, 0x4d, 0x8b, 0x1d, 0xf7, 0xda, 0x9a, 0xe1, 0x74, 0xab, 0x51,
  4227  	0xda, 0x4e, 0x7b, 0xb2, 0xae, 0xba, 0x27, 0x66, 0x55, 0x24, 0xed, 0xf5, 0xac, 0x8e, 0x76, 0x78,
  4228  	0xd8, 0xd8, 0x19, 0x0d, 0x4b, 0xf1, 0xc6, 0x8e, 0x1e, 0xb7, 0x3a, 0x28, 0x07, 0xea, 0x09, 0x19,
  4229  	0x14, 0x54, 0xce, 0xa9, 0xf3, 0x25, 0xaa, 0x40, 0x92, 0xb8, 0x8e, 0x71, 0x5c, 0x48, 0x94, 0x95,
  4230  	0xf5, 0x64, 0x3d, 0x7b, 0x39, 0x2c, 0xa5, 0x9a, 0x01, 0x7d, 0xc6, 0x6d, 0xba, 0x84, 0xd0, 0x4b,
  4231  	0x58, 0x7b, 0xed, 0x59, 0x8c, 0xb4, 0xa2, 0x33, 0x14, 0x92, 0x65, 0x65, 0x3d, 0xb3, 0xf1, 0x48,
  4232  	0x9b, 0x1c, 0x9d, 0xe7, 0xd4, 0x8e, 0x6d, 0x43, 0x6b, 0x8e, 0x9d, 0xea, 0x09, 0x5e, 0xb4, 0xbe,
  4233  	0x2a, 0x62, 0x23, 0x2b, 0xfa, 0x04, 0x52, 0xae, 0x67, 0x39, 0x9e, 0xc5, 0x06, 0x85, 0x25, 0x91,
  4234  	0x74, 0xed, 0x72, 0x58, 0xca, 0x34, 0x03, 0xba, 0x1f, 0x9a, 0xf5, 0xc8, 0x01, 0x7d, 0x0c, 0x29,
  4235  	0x9f, 0x9c, 0xf6, 0x08, 0x35, 0x48, 0x61, 0x59, 0x38, 0xc3, 0xe5, 0xb0, 0xb4, 0xd4, 0x0c, 0xe8,
  4236  	0x01, 0x39, 0xd5, 0x23, 0x0c, 0x7d, 0x06, 0x2b, 0x5d, 0x8b, 0x4e, 0x15, 0x98, 0x5e, 0xbc, 0xc0,
  4237  	0x6c, 0xd7, 0xa2, 0x91, 0x6d, 0x2b, 0xfb, 0xdd, 0x59, 0x29, 0xf6, 0xf3, 0x59, 0x49, 0xf9, 0xe3,
  4238  	0xac, 0xa4, 0xbc, 0x48, 0xa4, 0xe2, 0x39, 0xf5, 0x45, 0x22, 0x95, 0xca, 0xa5, 0x2b, 0x5f, 0x03,
  4239  	0x6a, 0x98, 0xd4, 0xf1, 0x48, 0xe7, 0x80, 0x9c, 0xbe, 0xea, 0x75, 0x75, 0x4c, 0x4d, 0x82, 0xca,
  4240  	0x90, 0xf4, 0x19, 0xf6, 0x98, 0x68, 0xd4, 0x6c, 0x79, 0x12, 0x40, 0x0f, 0x41, 0x25, 0xb4, 0x53,
  4241  	0x88, 0xff, 0x03, 0xe7, 0xe6, 0xad, 0xd4, 0x38, 0x57, 0xe5, 0x4f, 0x15, 0x56, 0x77, 0x8f, 0xb6,
  4242  	0xb7, 0x0f, 0x18, 0x66, 0xfe, 0x0e, 0xb1, 0x19, 0x46, 0x8f, 0x21, 0x6f, 0x63, 0x9f, 0xb5, 0x7a,
  4243  	0x6e, 0x07, 0x33, 0xd2, 0xa2, 0x98, 0x3a, 0xbe, 0x48, 0x94, 0xd3, 0xd7, 0x38, 0x70, 0x28, 0xec,
  4244  	0xaf, 0xb8, 0x19, 0x3d, 0x02, 0xb0, 0x28, 0x23, 0x94, 0xb5, 0xb0, 0x49, 0x44, 0xb6, 0x9c, 0x9e,
  4245  	0x96, 0x96, 0x9a, 0x49, 0xd0, 0xa7, 0x90, 0x35, 0x8d, 0x56, 0x7b, 0xc0, 0x88, 0x2f, 0x1c, 0xb8,
  4246  	0x06, 0x72, 0xf5, 0xd5, 0xd1, 0xb0, 0x04, 0xcf, 0xb7, 0xeb, 0xdc, 0x5c, 0x33, 0x89, 0x0e, 0xa6,
  4247  	0x31, 0x5e, 0x73, 0x42, 0xdb, 0xea, 0x13, 0x19, 0x23, 0xf4, 0x81, 0xf4, 0x34, 0xb7, 0x08, 0x8f,
  4248  	0x08, 0x36, 0x9c, 0x1e, 0x65, 0x42, 0x10, 0x21, 0xbc, 0xcd, 0x0d, 0xe8, 0x43, 0x48, 0x9f, 0x90,
  4249  	0x41, 0x18, 0xbc, 0x24, 0xd0, 0xd4, 0x09, 0x19, 0xc8, 0xd8, 0x10, 0x94, 0xa1, 0xcb, 0x11, 0x18,
  4250  	0x45, 0xf6, 0xb1, 0x1d, 0x46, 0xa6, 0x24, 0xd8, 0xc7, 0x76, 0x14, 0xc9, 0x41, 0x19, 0x99, 0x8e,
  4251  	0x40, 0x19, 0xf9, 0x11, 0x64, 0xc3, 0x2b, 0x90, 0xc1, 0x20, 0xf0, 0x8c, 0xb4, 0xc9, 0xf8, 0x89,
  4252  	0x8b, 0xa4, 0xc8, 0x4c, 0xbb, 0x44, 0xf9, 0xfd, 0x81, 0x1f, 0x52, 0x64, 0x65, 0x0a, 0x7f, 0xe0,
  4253  	0x47, 0xf9, 0x39, 0x28, 0x83, 0x57, 0x22, 0x50, 0x46, 0x3e, 0x05, 0x64, 0x38, 0x94, 0x61, 0x8b,
  4254  	0xfa, 0x2d, 0xe2, 0x33, 0xab, 0x8b, 0x39, 0xc5, 0x6a, 0x59, 0x59, 0x57, 0xf5, 0xfc, 0x18, 0x79,
  4255  	0x36, 0x06, 0xb6, 0x12, 0xa2, 0xed, 0x7f, 0xa9, 0x70, 0x8f, 0xb7, 0x7d, 0x9f, 0x78, 0xbe, 0xe5,
  4256  	0xf3, 0x32, 0x84, 0x00, 0xfe, 0x6f, 0xbd, 0x57, 0xe7, 0xf7, 0x5e, 0x9d, 0xdb, 0x7b, 0x75, 0x5e,
  4257  	0xef, 0xd5, 0x79, 0xbd, 0x57, 0xe7, 0xf5, 0x5e, 0xbd, 0xa1, 0xf7, 0xea, 0xcd, 0xbd, 0x57, 0x6f,
  4258  	0xe8, 0xbd, 0x3a, 0xaf, 0xf7, 0xea, 0xfb, 0xf7, 0x7e, 0xf2, 0xb3, 0xff, 0x45, 0x81, 0xbc, 0x78,
  4259  	0x4a, 0x6a, 0xae, 0x6b, 0x5b, 0xa4, 0xc3, 0xbb, 0x4f, 0xd0, 0x13, 0x40, 0x1e, 0xfe, 0x86, 0xb5,
  4260  	0xb0, 0x34, 0xb6, 0x2c, 0xda, 0x21, 0x81, 0x68, 0x7f, 0x42, 0xcf, 0x71, 0x24, 0xf4, 0x6e, 0x70,
  4261  	0x3b, 0xd2, 0xe0, 0x9e, 0x4d, 0xb0, 0x4f, 0xae, 0xb8, 0xc7, 0x85, 0x7b, 0x5e, 0x40, 0x33, 0xfe,
  4262  	0x47, 0x90, 0xf1, 0x78, 0xca, 0x96, 0xcf, 0xa5, 0x26, 0xf4, 0x90, 0xd9, 0xa8, 0x6a, 0xd7, 0x0f,
  4263  	0x32, 0xed, 0x5f, 0x14, 0x1a, 0x3e, 0x9f, 0x20, 0x98, 0x84, 0x65, 0xea, 0x54, 0x3f, 0x28, 0x90,
  4264  	0xe3, 0x31, 0x5f, 0xf2, 0xc7, 0xff, 0x08, 0xdb, 0x3d, 0xb2, 0xe7, 0x8e, 0xc7, 0x8f, 0x32, 0x19,
  4265  	0x3f, 0x35, 0x48, 0x4f, 0xde, 0xec, 0xf8, 0xe2, 0x6f, 0xf6, 0x24, 0x0a, 0xdd, 0x87, 0x64, 0x9f,
  4266  	0xf3, 0x87, 0x53, 0x4d, 0x6e, 0xb8, 0x42, 0x5d, 0x8f, 0xf4, 0x5b, 0x12, 0x4a, 0x08, 0x28, 0xcd,
  4267  	0x2d, 0xa2, 0x96, 0xca, 0x8f, 0x71, 0xc8, 0x47, 0xe5, 0x35, 0x84, 0x00, 0xf6, 0x5c, 0xf4, 0x15,
  4268  	0x2c, 0xb1, 0x80, 0xb6, 0xa2, 0xa9, 0xbb, 0x73, 0xbb, 0xa9, 0x9b, 0x6c, 0x06, 0xb4, 0xb1, 0xa3,
  4269  	0x27, 0x59, 0x40, 0x1b, 0x1d, 0xf4, 0x01, 0x2c, 0x73, 0x72, 0x7e, 0x01, 0x71, 0x51, 0x0e, 0xcf,
  4270  	0xf5, 0xf9, 0xd5, 0x3b, 0x50, 0xdf, 0xeb, 0x0e, 0xf6, 0x20, 0xcf, 0xb9, 0x67, 0x47, 0x60, 0x62,
  4271  	0x71, 0xaa, 0x35, 0x16, 0xd0, 0xdd, 0xa9, 0x29, 0x58, 0xf9, 0x49, 0x01, 0xc4, 0xef, 0x47, 0x3e,
  4272  	0x32, 0x77, 0x73, 0x41, 0xb7, 0xd7, 0x42, 0xe5, 0x5d, 0x58, 0xf6, 0xb6, 0xd3, 0xed, 0x5a, 0xec,
  4273  	0x6e, 0xca, 0x0e, 0x45, 0x1d, 0xbf, 0x46, 0xd4, 0xea, 0xed, 0x44, 0x9d, 0xb8, 0x5e, 0xd4, 0xc9,
  4274  	0xab, 0xa2, 0x76, 0xa5, 0xa6, 0x6b, 0x6d, 0xc7, 0xbb, 0x9b, 0xb3, 0x57, 0xba, 0xf2, 0x8b, 0x45,
  4275  	0x64, 0x6c, 0x06, 0xf4, 0xbf, 0x4e, 0xf7, 0x4e, 0x85, 0x15, 0x9e, 0xef, 0xa5, 0x63, 0x5a, 0x06,
  4276  	0xb6, 0xf7, 0x5c, 0xb4, 0x0b, 0x19, 0xf9, 0x69, 0x2a, 0xaf, 0x44, 0x11, 0x97, 0xfd, 0xe4, 0xa6,
  4277  	0x87, 0x6c, 0xfa, 0x51, 0xd2, 0xe1, 0x75, 0xb4, 0x43, 0xfb, 0x90, 0x95, 0x74, 0x72, 0x26, 0x84,
  4278  	0x2a, 0x7c, 0xba, 0x10, 0xdf, 0xf8, 0xc6, 0x75, 0x59, 0x91, 0xdc, 0xa2, 0x03, 0x58, 0x09, 0x07,
  4279  	0x78, 0x48, 0x29, 0xf5, 0xa0, 0xdd, 0x44, 0x39, 0xfb, 0xc3, 0xd3, 0xb3, 0xbd, 0xa9, 0x3d, 0x27,
  4280  	0x35, 0x84, 0xc2, 0xc7, 0xa4, 0x89, 0xc5, 0x48, 0x67, 0x7f, 0x16, 0x7a, 0xd6, 0x98, 0xda, 0xf3,
  4281  	0xb3, 0x63, 0xde, 0xc7, 0x31, 0x67, 0x72, 0xb1, 0xb3, 0xcf, 0xa8, 0x4d, 0xcf, 0xe0, 0xc9, 0x16,
  4282  	0x3d, 0x87, 0xb4, 0x64, 0x64, 0x01, 0x15, 0x9f, 0x01, 0x99, 0x8d, 0xc7, 0x0b, 0xd1, 0x09, 0x29,
  4283  	0xe9, 0x29, 0x1c, 0xae, 0xb7, 0x12, 0xe7, 0x67, 0x25, 0xa5, 0x5e, 0x3e, 0xff, 0xbd, 0x18, 0x3b,
  4284  	0x1f, 0x15, 0x95, 0x37, 0xa3, 0xa2, 0xf2, 0x76, 0x54, 0x54, 0x7e, 0x1b, 0x15, 0x95, 0x6f, 0x2f,
  4285  	0x8a, 0xb1, 0x37, 0x17, 0xc5, 0xd8, 0xdb, 0x8b, 0x62, 0xac, 0xbd, 0x24, 0xfe, 0x44, 0x6d, 0xfe,
  4286  	0x1d, 0x00, 0x00, 0xff, 0xff, 0x5f, 0x4e, 0x56, 0x59, 0xb0, 0x0d, 0x00, 0x00,
  4287  }