diff --git a/c-deps/libroach/protos/roachpb/api.pb.cc b/c-deps/libroach/protos/roachpb/api.pb.cc index 5c431ef85a4d..f2ac754c8600 100644 --- a/c-deps/libroach/protos/roachpb/api.pb.cc +++ b/c-deps/libroach/protos/roachpb/api.pb.cc @@ -39,8 +39,6 @@ extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobu extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_AdminTransferLeaseResponse; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_AdminUnsplitRequest; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_AdminUnsplitResponse; -extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_BeginTransactionRequest; -extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_BeginTransactionResponse; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ClearRangeRequest; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ClearRangeResponse; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ComputeChecksumResponse; @@ -121,8 +119,8 @@ extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobu extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ResolveIntentRangeRequest; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ResponseHeader; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_SubsumeResponse; -extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<43> scc_info_ResponseUnion; -extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<44> scc_info_RequestUnion; +extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<42> scc_info_ResponseUnion; +extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<43> scc_info_RequestUnion; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_AdminChangeReplicasRequest; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_BatchResponse_Header; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_ExportRequest; @@ -319,16 +317,6 @@ class RecomputeStatsResponseDefaultTypeInternal { ::google::protobuf::internal::ExplicitlyConstructed _instance; } _RecomputeStatsResponse_default_instance_; -class BeginTransactionRequestDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _BeginTransactionRequest_default_instance_; -class BeginTransactionResponseDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _BeginTransactionResponse_default_instance_; class EndTransactionRequestDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed @@ -712,7 +700,6 @@ class RequestUnionDefaultTypeInternal { const ::cockroach::roachpb::ClearRangeRequest* clear_range_; const ::cockroach::roachpb::RevertRangeRequest* revert_range_; const ::cockroach::roachpb::ScanRequest* scan_; - const ::cockroach::roachpb::BeginTransactionRequest* begin_transaction_; const ::cockroach::roachpb::EndTransactionRequest* end_transaction_; const ::cockroach::roachpb::AdminSplitRequest* admin_split_; const ::cockroach::roachpb::AdminUnsplitRequest* admin_unsplit_; @@ -761,7 +748,6 @@ class ResponseUnionDefaultTypeInternal { const ::cockroach::roachpb::ClearRangeResponse* clear_range_; const ::cockroach::roachpb::RevertRangeResponse* revert_range_; const ::cockroach::roachpb::ScanResponse* scan_; - const ::cockroach::roachpb::BeginTransactionResponse* begin_transaction_; const ::cockroach::roachpb::EndTransactionResponse* end_transaction_; const ::cockroach::roachpb::AdminSplitResponse* admin_split_; const ::cockroach::roachpb::AdminUnsplitResponse* admin_unsplit_; @@ -1319,36 +1305,6 @@ ::google::protobuf::internal::SCCInfo<2> scc_info_RecomputeStatsResponse = &protobuf_roachpb_2fapi_2eproto::scc_info_ResponseHeader.base, &protobuf_storage_2fengine_2fenginepb_2fmvcc3_2eproto::scc_info_MVCCStatsDelta.base,}}; -static void InitDefaultsBeginTransactionRequest() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - - { - void* ptr = &::cockroach::roachpb::_BeginTransactionRequest_default_instance_; - new (ptr) ::cockroach::roachpb::BeginTransactionRequest(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::cockroach::roachpb::BeginTransactionRequest::InitAsDefaultInstance(); -} - -::google::protobuf::internal::SCCInfo<1> scc_info_BeginTransactionRequest = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsBeginTransactionRequest}, { - &protobuf_roachpb_2fapi_2eproto::scc_info_RequestHeader.base,}}; - -static void InitDefaultsBeginTransactionResponse() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - - { - void* ptr = &::cockroach::roachpb::_BeginTransactionResponse_default_instance_; - new (ptr) ::cockroach::roachpb::BeginTransactionResponse(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::cockroach::roachpb::BeginTransactionResponse::InitAsDefaultInstance(); -} - -::google::protobuf::internal::SCCInfo<1> scc_info_BeginTransactionResponse = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsBeginTransactionResponse}, { - &protobuf_roachpb_2fapi_2eproto::scc_info_ResponseHeader.base,}}; - static void InitDefaultsEndTransactionRequest() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -2518,8 +2474,8 @@ static void InitDefaultsRequestUnion() { ::cockroach::roachpb::RequestUnion::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<44> scc_info_RequestUnion = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 44, InitDefaultsRequestUnion}, { +::google::protobuf::internal::SCCInfo<43> scc_info_RequestUnion = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 43, InitDefaultsRequestUnion}, { &protobuf_roachpb_2fapi_2eproto::scc_info_GetRequest.base, &protobuf_roachpb_2fapi_2eproto::scc_info_PutRequest.base, &protobuf_roachpb_2fapi_2eproto::scc_info_ConditionalPutRequest.base, @@ -2529,7 +2485,6 @@ ::google::protobuf::internal::SCCInfo<44> scc_info_RequestUnion = &protobuf_roachpb_2fapi_2eproto::scc_info_ClearRangeRequest.base, &protobuf_roachpb_2fapi_2eproto::scc_info_RevertRangeRequest.base, &protobuf_roachpb_2fapi_2eproto::scc_info_ScanRequest.base, - &protobuf_roachpb_2fapi_2eproto::scc_info_BeginTransactionRequest.base, &protobuf_roachpb_2fapi_2eproto::scc_info_EndTransactionRequest.base, &protobuf_roachpb_2fapi_2eproto::scc_info_AdminSplitRequest.base, &protobuf_roachpb_2fapi_2eproto::scc_info_AdminUnsplitRequest.base, @@ -2576,8 +2531,8 @@ static void InitDefaultsResponseUnion() { ::cockroach::roachpb::ResponseUnion::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<43> scc_info_ResponseUnion = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 43, InitDefaultsResponseUnion}, { +::google::protobuf::internal::SCCInfo<42> scc_info_ResponseUnion = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 42, InitDefaultsResponseUnion}, { &protobuf_roachpb_2fapi_2eproto::scc_info_GetResponse.base, &protobuf_roachpb_2fapi_2eproto::scc_info_PutResponse.base, &protobuf_roachpb_2fapi_2eproto::scc_info_ConditionalPutResponse.base, @@ -2587,7 +2542,6 @@ ::google::protobuf::internal::SCCInfo<43> scc_info_ResponseUnion = &protobuf_roachpb_2fapi_2eproto::scc_info_ClearRangeResponse.base, &protobuf_roachpb_2fapi_2eproto::scc_info_RevertRangeResponse.base, &protobuf_roachpb_2fapi_2eproto::scc_info_ScanResponse.base, - &protobuf_roachpb_2fapi_2eproto::scc_info_BeginTransactionResponse.base, &protobuf_roachpb_2fapi_2eproto::scc_info_EndTransactionResponse.base, &protobuf_roachpb_2fapi_2eproto::scc_info_AdminSplitResponse.base, &protobuf_roachpb_2fapi_2eproto::scc_info_AdminUnsplitResponse.base, @@ -2801,8 +2755,6 @@ void InitDefaults() { ::google::protobuf::internal::InitSCC(&scc_info_CheckConsistencyResponse.base); ::google::protobuf::internal::InitSCC(&scc_info_RecomputeStatsRequest.base); ::google::protobuf::internal::InitSCC(&scc_info_RecomputeStatsResponse.base); - ::google::protobuf::internal::InitSCC(&scc_info_BeginTransactionRequest.base); - ::google::protobuf::internal::InitSCC(&scc_info_BeginTransactionResponse.base); ::google::protobuf::internal::InitSCC(&scc_info_EndTransactionRequest.base); ::google::protobuf::internal::InitSCC(&scc_info_EndTransactionResponse.base); ::google::protobuf::internal::InitSCC(&scc_info_AdminSplitRequest.base); @@ -10444,380 +10396,6 @@ ::std::string RecomputeStatsResponse::GetTypeName() const { } -// =================================================================== - -void BeginTransactionRequest::InitAsDefaultInstance() { - ::cockroach::roachpb::_BeginTransactionRequest_default_instance_._instance.get_mutable()->header_ = const_cast< ::cockroach::roachpb::RequestHeader*>( - ::cockroach::roachpb::RequestHeader::internal_default_instance()); -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int BeginTransactionRequest::kHeaderFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -BeginTransactionRequest::BeginTransactionRequest() - : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) { - ::google::protobuf::internal::InitSCC( - &protobuf_roachpb_2fapi_2eproto::scc_info_BeginTransactionRequest.base); - SharedCtor(); - // @@protoc_insertion_point(constructor:cockroach.roachpb.BeginTransactionRequest) -} -BeginTransactionRequest::BeginTransactionRequest(const BeginTransactionRequest& from) - : ::google::protobuf::MessageLite(), - _internal_metadata_(NULL) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - if (from.has_header()) { - header_ = new ::cockroach::roachpb::RequestHeader(*from.header_); - } else { - header_ = NULL; - } - // @@protoc_insertion_point(copy_constructor:cockroach.roachpb.BeginTransactionRequest) -} - -void BeginTransactionRequest::SharedCtor() { - header_ = NULL; -} - -BeginTransactionRequest::~BeginTransactionRequest() { - // @@protoc_insertion_point(destructor:cockroach.roachpb.BeginTransactionRequest) - SharedDtor(); -} - -void BeginTransactionRequest::SharedDtor() { - if (this != internal_default_instance()) delete header_; -} - -void BeginTransactionRequest::SetCachedSize(int size) const { - _cached_size_.Set(size); -} -const BeginTransactionRequest& BeginTransactionRequest::default_instance() { - ::google::protobuf::internal::InitSCC(&protobuf_roachpb_2fapi_2eproto::scc_info_BeginTransactionRequest.base); - return *internal_default_instance(); -} - - -void BeginTransactionRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:cockroach.roachpb.BeginTransactionRequest) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - if (GetArenaNoVirtual() == NULL && header_ != NULL) { - delete header_; - } - header_ = NULL; - _internal_metadata_.Clear(); -} - -bool BeginTransactionRequest::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - ::google::protobuf::internal::LiteUnknownFieldSetter unknown_fields_setter( - &_internal_metadata_); - ::google::protobuf::io::StringOutputStream unknown_fields_output( - unknown_fields_setter.buffer()); - ::google::protobuf::io::CodedOutputStream unknown_fields_stream( - &unknown_fields_output, false); - // @@protoc_insertion_point(parse_start:cockroach.roachpb.BeginTransactionRequest) - for (;;) { - ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_header())); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormatLite::SkipField( - input, tag, &unknown_fields_stream)); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:cockroach.roachpb.BeginTransactionRequest) - return true; -failure: - // @@protoc_insertion_point(parse_failure:cockroach.roachpb.BeginTransactionRequest) - return false; -#undef DO_ -} - -void BeginTransactionRequest::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:cockroach.roachpb.BeginTransactionRequest) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (this->has_header()) { - ::google::protobuf::internal::WireFormatLite::WriteMessage( - 1, this->_internal_header(), output); - } - - output->WriteRaw((::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).data(), - static_cast((::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).size())); - // @@protoc_insertion_point(serialize_end:cockroach.roachpb.BeginTransactionRequest) -} - -size_t BeginTransactionRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:cockroach.roachpb.BeginTransactionRequest) - size_t total_size = 0; - - total_size += (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).size(); - - if (this->has_header()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *header_); - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - SetCachedSize(cached_size); - return total_size; -} - -void BeginTransactionRequest::CheckTypeAndMergeFrom( - const ::google::protobuf::MessageLite& from) { - MergeFrom(*::google::protobuf::down_cast(&from)); -} - -void BeginTransactionRequest::MergeFrom(const BeginTransactionRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:cockroach.roachpb.BeginTransactionRequest) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.has_header()) { - mutable_header()->::cockroach::roachpb::RequestHeader::MergeFrom(from.header()); - } -} - -void BeginTransactionRequest::CopyFrom(const BeginTransactionRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:cockroach.roachpb.BeginTransactionRequest) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool BeginTransactionRequest::IsInitialized() const { - return true; -} - -void BeginTransactionRequest::Swap(BeginTransactionRequest* other) { - if (other == this) return; - InternalSwap(other); -} -void BeginTransactionRequest::InternalSwap(BeginTransactionRequest* other) { - using std::swap; - swap(header_, other->header_); - _internal_metadata_.Swap(&other->_internal_metadata_); -} - -::std::string BeginTransactionRequest::GetTypeName() const { - return "cockroach.roachpb.BeginTransactionRequest"; -} - - -// =================================================================== - -void BeginTransactionResponse::InitAsDefaultInstance() { - ::cockroach::roachpb::_BeginTransactionResponse_default_instance_._instance.get_mutable()->header_ = const_cast< ::cockroach::roachpb::ResponseHeader*>( - ::cockroach::roachpb::ResponseHeader::internal_default_instance()); -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int BeginTransactionResponse::kHeaderFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -BeginTransactionResponse::BeginTransactionResponse() - : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) { - ::google::protobuf::internal::InitSCC( - &protobuf_roachpb_2fapi_2eproto::scc_info_BeginTransactionResponse.base); - SharedCtor(); - // @@protoc_insertion_point(constructor:cockroach.roachpb.BeginTransactionResponse) -} -BeginTransactionResponse::BeginTransactionResponse(const BeginTransactionResponse& from) - : ::google::protobuf::MessageLite(), - _internal_metadata_(NULL) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - if (from.has_header()) { - header_ = new ::cockroach::roachpb::ResponseHeader(*from.header_); - } else { - header_ = NULL; - } - // @@protoc_insertion_point(copy_constructor:cockroach.roachpb.BeginTransactionResponse) -} - -void BeginTransactionResponse::SharedCtor() { - header_ = NULL; -} - -BeginTransactionResponse::~BeginTransactionResponse() { - // @@protoc_insertion_point(destructor:cockroach.roachpb.BeginTransactionResponse) - SharedDtor(); -} - -void BeginTransactionResponse::SharedDtor() { - if (this != internal_default_instance()) delete header_; -} - -void BeginTransactionResponse::SetCachedSize(int size) const { - _cached_size_.Set(size); -} -const BeginTransactionResponse& BeginTransactionResponse::default_instance() { - ::google::protobuf::internal::InitSCC(&protobuf_roachpb_2fapi_2eproto::scc_info_BeginTransactionResponse.base); - return *internal_default_instance(); -} - - -void BeginTransactionResponse::Clear() { -// @@protoc_insertion_point(message_clear_start:cockroach.roachpb.BeginTransactionResponse) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - if (GetArenaNoVirtual() == NULL && header_ != NULL) { - delete header_; - } - header_ = NULL; - _internal_metadata_.Clear(); -} - -bool BeginTransactionResponse::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - ::google::protobuf::internal::LiteUnknownFieldSetter unknown_fields_setter( - &_internal_metadata_); - ::google::protobuf::io::StringOutputStream unknown_fields_output( - unknown_fields_setter.buffer()); - ::google::protobuf::io::CodedOutputStream unknown_fields_stream( - &unknown_fields_output, false); - // @@protoc_insertion_point(parse_start:cockroach.roachpb.BeginTransactionResponse) - for (;;) { - ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_header())); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormatLite::SkipField( - input, tag, &unknown_fields_stream)); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:cockroach.roachpb.BeginTransactionResponse) - return true; -failure: - // @@protoc_insertion_point(parse_failure:cockroach.roachpb.BeginTransactionResponse) - return false; -#undef DO_ -} - -void BeginTransactionResponse::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:cockroach.roachpb.BeginTransactionResponse) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (this->has_header()) { - ::google::protobuf::internal::WireFormatLite::WriteMessage( - 1, this->_internal_header(), output); - } - - output->WriteRaw((::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).data(), - static_cast((::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).size())); - // @@protoc_insertion_point(serialize_end:cockroach.roachpb.BeginTransactionResponse) -} - -size_t BeginTransactionResponse::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:cockroach.roachpb.BeginTransactionResponse) - size_t total_size = 0; - - total_size += (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).size(); - - if (this->has_header()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *header_); - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - SetCachedSize(cached_size); - return total_size; -} - -void BeginTransactionResponse::CheckTypeAndMergeFrom( - const ::google::protobuf::MessageLite& from) { - MergeFrom(*::google::protobuf::down_cast(&from)); -} - -void BeginTransactionResponse::MergeFrom(const BeginTransactionResponse& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:cockroach.roachpb.BeginTransactionResponse) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.has_header()) { - mutable_header()->::cockroach::roachpb::ResponseHeader::MergeFrom(from.header()); - } -} - -void BeginTransactionResponse::CopyFrom(const BeginTransactionResponse& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:cockroach.roachpb.BeginTransactionResponse) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool BeginTransactionResponse::IsInitialized() const { - return true; -} - -void BeginTransactionResponse::Swap(BeginTransactionResponse* other) { - if (other == this) return; - InternalSwap(other); -} -void BeginTransactionResponse::InternalSwap(BeginTransactionResponse* other) { - using std::swap; - swap(header_, other->header_); - _internal_metadata_.Swap(&other->_internal_metadata_); -} - -::std::string BeginTransactionResponse::GetTypeName() const { - return "cockroach.roachpb.BeginTransactionResponse"; -} - - // =================================================================== void EndTransactionRequest::InitAsDefaultInstance() { @@ -30087,20 +29665,6 @@ void RequestUnion::set_allocated_scan(::cockroach::roachpb::ScanRequest* scan) { } // @@protoc_insertion_point(field_set_allocated:cockroach.roachpb.RequestUnion.scan) } -void RequestUnion::set_allocated_begin_transaction(::cockroach::roachpb::BeginTransactionRequest* begin_transaction) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_value(); - if (begin_transaction) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - begin_transaction = ::google::protobuf::internal::GetOwnedMessage( - message_arena, begin_transaction, submessage_arena); - } - set_has_begin_transaction(); - value_.begin_transaction_ = begin_transaction; - } - // @@protoc_insertion_point(field_set_allocated:cockroach.roachpb.RequestUnion.begin_transaction) -} void RequestUnion::set_allocated_end_transaction(::cockroach::roachpb::EndTransactionRequest* end_transaction) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); clear_value(); @@ -30587,7 +30151,6 @@ const int RequestUnion::kDeleteRangeFieldNumber; const int RequestUnion::kClearRangeFieldNumber; const int RequestUnion::kRevertRangeFieldNumber; const int RequestUnion::kScanFieldNumber; -const int RequestUnion::kBeginTransactionFieldNumber; const int RequestUnion::kEndTransactionFieldNumber; const int RequestUnion::kAdminSplitFieldNumber; const int RequestUnion::kAdminUnsplitFieldNumber; @@ -30673,10 +30236,6 @@ RequestUnion::RequestUnion(const RequestUnion& from) mutable_scan()->::cockroach::roachpb::ScanRequest::MergeFrom(from.scan()); break; } - case kBeginTransaction: { - mutable_begin_transaction()->::cockroach::roachpb::BeginTransactionRequest::MergeFrom(from.begin_transaction()); - break; - } case kEndTransaction: { mutable_end_transaction()->::cockroach::roachpb::EndTransactionRequest::MergeFrom(from.end_transaction()); break; @@ -30883,10 +30442,6 @@ void RequestUnion::clear_value() { delete value_.scan_; break; } - case kBeginTransaction: { - delete value_.begin_transaction_; - break; - } case kEndTransaction: { delete value_.end_transaction_; break; @@ -31141,18 +30696,6 @@ bool RequestUnion::MergePartialFromCodedStream( break; } - // .cockroach.roachpb.BeginTransactionRequest begin_transaction = 8; - case 8: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(66u /* 66 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_begin_transaction())); - } else { - goto handle_unusual; - } - break; - } - // .cockroach.roachpb.EndTransactionRequest end_transaction = 9; case 9: { if (static_cast< ::google::protobuf::uint8>(tag) == @@ -31653,12 +31196,6 @@ void RequestUnion::SerializeWithCachedSizes( 7, this->_internal_scan(), output); } - // .cockroach.roachpb.BeginTransactionRequest begin_transaction = 8; - if (has_begin_transaction()) { - ::google::protobuf::internal::WireFormatLite::WriteMessage( - 8, this->_internal_begin_transaction(), output); - } - // .cockroach.roachpb.EndTransactionRequest end_transaction = 9; if (has_end_transaction()) { ::google::protobuf::internal::WireFormatLite::WriteMessage( @@ -31950,13 +31487,6 @@ size_t RequestUnion::ByteSizeLong() const { *value_.scan_); break; } - // .cockroach.roachpb.BeginTransactionRequest begin_transaction = 8; - case kBeginTransaction: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *value_.begin_transaction_); - break; - } // .cockroach.roachpb.EndTransactionRequest end_transaction = 9; case kEndTransaction: { total_size += 1 + @@ -32253,10 +31783,6 @@ void RequestUnion::MergeFrom(const RequestUnion& from) { mutable_scan()->::cockroach::roachpb::ScanRequest::MergeFrom(from.scan()); break; } - case kBeginTransaction: { - mutable_begin_transaction()->::cockroach::roachpb::BeginTransactionRequest::MergeFrom(from.begin_transaction()); - break; - } case kEndTransaction: { mutable_end_transaction()->::cockroach::roachpb::EndTransactionRequest::MergeFrom(from.end_transaction()); break; @@ -32556,20 +32082,6 @@ void ResponseUnion::set_allocated_scan(::cockroach::roachpb::ScanResponse* scan) } // @@protoc_insertion_point(field_set_allocated:cockroach.roachpb.ResponseUnion.scan) } -void ResponseUnion::set_allocated_begin_transaction(::cockroach::roachpb::BeginTransactionResponse* begin_transaction) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - clear_value(); - if (begin_transaction) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - begin_transaction = ::google::protobuf::internal::GetOwnedMessage( - message_arena, begin_transaction, submessage_arena); - } - set_has_begin_transaction(); - value_.begin_transaction_ = begin_transaction; - } - // @@protoc_insertion_point(field_set_allocated:cockroach.roachpb.ResponseUnion.begin_transaction) -} void ResponseUnion::set_allocated_end_transaction(::cockroach::roachpb::EndTransactionResponse* end_transaction) { ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); clear_value(); @@ -33042,7 +32554,6 @@ const int ResponseUnion::kDeleteRangeFieldNumber; const int ResponseUnion::kClearRangeFieldNumber; const int ResponseUnion::kRevertRangeFieldNumber; const int ResponseUnion::kScanFieldNumber; -const int ResponseUnion::kBeginTransactionFieldNumber; const int ResponseUnion::kEndTransactionFieldNumber; const int ResponseUnion::kAdminSplitFieldNumber; const int ResponseUnion::kAdminUnsplitFieldNumber; @@ -33127,10 +32638,6 @@ ResponseUnion::ResponseUnion(const ResponseUnion& from) mutable_scan()->::cockroach::roachpb::ScanResponse::MergeFrom(from.scan()); break; } - case kBeginTransaction: { - mutable_begin_transaction()->::cockroach::roachpb::BeginTransactionResponse::MergeFrom(from.begin_transaction()); - break; - } case kEndTransaction: { mutable_end_transaction()->::cockroach::roachpb::EndTransactionResponse::MergeFrom(from.end_transaction()); break; @@ -33333,10 +32840,6 @@ void ResponseUnion::clear_value() { delete value_.scan_; break; } - case kBeginTransaction: { - delete value_.begin_transaction_; - break; - } case kEndTransaction: { delete value_.end_transaction_; break; @@ -33587,18 +33090,6 @@ bool ResponseUnion::MergePartialFromCodedStream( break; } - // .cockroach.roachpb.BeginTransactionResponse begin_transaction = 8; - case 8: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(66u /* 66 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_begin_transaction())); - } else { - goto handle_unusual; - } - break; - } - // .cockroach.roachpb.EndTransactionResponse end_transaction = 9; case 9: { if (static_cast< ::google::protobuf::uint8>(tag) == @@ -34087,12 +33578,6 @@ void ResponseUnion::SerializeWithCachedSizes( 7, this->_internal_scan(), output); } - // .cockroach.roachpb.BeginTransactionResponse begin_transaction = 8; - if (has_begin_transaction()) { - ::google::protobuf::internal::WireFormatLite::WriteMessage( - 8, this->_internal_begin_transaction(), output); - } - // .cockroach.roachpb.EndTransactionResponse end_transaction = 9; if (has_end_transaction()) { ::google::protobuf::internal::WireFormatLite::WriteMessage( @@ -34378,13 +33863,6 @@ size_t ResponseUnion::ByteSizeLong() const { *value_.scan_); break; } - // .cockroach.roachpb.BeginTransactionResponse begin_transaction = 8; - case kBeginTransaction: { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *value_.begin_transaction_); - break; - } // .cockroach.roachpb.EndTransactionResponse end_transaction = 9; case kEndTransaction: { total_size += 1 + @@ -34674,10 +34152,6 @@ void ResponseUnion::MergeFrom(const ResponseUnion& from) { mutable_scan()->::cockroach::roachpb::ScanResponse::MergeFrom(from.scan()); break; } - case kBeginTransaction: { - mutable_begin_transaction()->::cockroach::roachpb::BeginTransactionResponse::MergeFrom(from.begin_transaction()); - break; - } case kEndTransaction: { mutable_end_transaction()->::cockroach::roachpb::EndTransactionResponse::MergeFrom(from.end_transaction()); break; @@ -37603,12 +37077,6 @@ template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::cockroach::roachpb::RecomputeSta template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::cockroach::roachpb::RecomputeStatsResponse* Arena::CreateMaybeMessage< ::cockroach::roachpb::RecomputeStatsResponse >(Arena* arena) { return Arena::CreateInternal< ::cockroach::roachpb::RecomputeStatsResponse >(arena); } -template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::cockroach::roachpb::BeginTransactionRequest* Arena::CreateMaybeMessage< ::cockroach::roachpb::BeginTransactionRequest >(Arena* arena) { - return Arena::CreateInternal< ::cockroach::roachpb::BeginTransactionRequest >(arena); -} -template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::cockroach::roachpb::BeginTransactionResponse* Arena::CreateMaybeMessage< ::cockroach::roachpb::BeginTransactionResponse >(Arena* arena) { - return Arena::CreateInternal< ::cockroach::roachpb::BeginTransactionResponse >(arena); -} template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::cockroach::roachpb::EndTransactionRequest* Arena::CreateMaybeMessage< ::cockroach::roachpb::EndTransactionRequest >(Arena* arena) { return Arena::CreateInternal< ::cockroach::roachpb::EndTransactionRequest >(arena); } diff --git a/c-deps/libroach/protos/roachpb/api.pb.h b/c-deps/libroach/protos/roachpb/api.pb.h index 1891ffacc3fe..dc9cff5439f6 100644 --- a/c-deps/libroach/protos/roachpb/api.pb.h +++ b/c-deps/libroach/protos/roachpb/api.pb.h @@ -48,7 +48,7 @@ namespace protobuf_roachpb_2fapi_2eproto { struct TableStruct { static const ::google::protobuf::internal::ParseTableField entries[]; static const ::google::protobuf::internal::AuxillaryParseTableField aux[]; - static const ::google::protobuf::internal::ParseTable schema[118]; + static const ::google::protobuf::internal::ParseTable schema[116]; static const ::google::protobuf::internal::FieldMetadata field_metadata[]; static const ::google::protobuf::internal::SerializationTable serialization_table[]; static const ::google::protobuf::uint32 offsets[]; @@ -116,12 +116,6 @@ extern BatchResponseDefaultTypeInternal _BatchResponse_default_instance_; class BatchResponse_Header; class BatchResponse_HeaderDefaultTypeInternal; extern BatchResponse_HeaderDefaultTypeInternal _BatchResponse_Header_default_instance_; -class BeginTransactionRequest; -class BeginTransactionRequestDefaultTypeInternal; -extern BeginTransactionRequestDefaultTypeInternal _BeginTransactionRequest_default_instance_; -class BeginTransactionResponse; -class BeginTransactionResponseDefaultTypeInternal; -extern BeginTransactionResponseDefaultTypeInternal _BeginTransactionResponse_default_instance_; class BulkOpSummary; class BulkOpSummaryDefaultTypeInternal; extern BulkOpSummaryDefaultTypeInternal _BulkOpSummary_default_instance_; @@ -434,8 +428,6 @@ template<> ::cockroach::roachpb::AdminUnsplitResponse* Arena::CreateMaybeMessage template<> ::cockroach::roachpb::BatchRequest* Arena::CreateMaybeMessage<::cockroach::roachpb::BatchRequest>(Arena*); template<> ::cockroach::roachpb::BatchResponse* Arena::CreateMaybeMessage<::cockroach::roachpb::BatchResponse>(Arena*); template<> ::cockroach::roachpb::BatchResponse_Header* Arena::CreateMaybeMessage<::cockroach::roachpb::BatchResponse_Header>(Arena*); -template<> ::cockroach::roachpb::BeginTransactionRequest* Arena::CreateMaybeMessage<::cockroach::roachpb::BeginTransactionRequest>(Arena*); -template<> ::cockroach::roachpb::BeginTransactionResponse* Arena::CreateMaybeMessage<::cockroach::roachpb::BeginTransactionResponse>(Arena*); template<> ::cockroach::roachpb::BulkOpSummary* Arena::CreateMaybeMessage<::cockroach::roachpb::BulkOpSummary>(Arena*); template<> ::cockroach::roachpb::CheckConsistencyRequest* Arena::CreateMaybeMessage<::cockroach::roachpb::CheckConsistencyRequest>(Arena*); template<> ::cockroach::roachpb::CheckConsistencyResponse* Arena::CreateMaybeMessage<::cockroach::roachpb::CheckConsistencyResponse>(Arena*); @@ -4423,218 +4415,6 @@ class RecomputeStatsResponse : public ::google::protobuf::MessageLite /* @@proto }; // ------------------------------------------------------------------- -class BeginTransactionRequest : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:cockroach.roachpb.BeginTransactionRequest) */ { - public: - BeginTransactionRequest(); - virtual ~BeginTransactionRequest(); - - BeginTransactionRequest(const BeginTransactionRequest& from); - - inline BeginTransactionRequest& operator=(const BeginTransactionRequest& from) { - CopyFrom(from); - return *this; - } - #if LANG_CXX11 - BeginTransactionRequest(BeginTransactionRequest&& from) noexcept - : BeginTransactionRequest() { - *this = ::std::move(from); - } - - inline BeginTransactionRequest& operator=(BeginTransactionRequest&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - #endif - static const BeginTransactionRequest& default_instance(); - - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const BeginTransactionRequest* internal_default_instance() { - return reinterpret_cast( - &_BeginTransactionRequest_default_instance_); - } - static constexpr int kIndexInFileMessages = - 31; - - void Swap(BeginTransactionRequest* other); - friend void swap(BeginTransactionRequest& a, BeginTransactionRequest& b) { - a.Swap(&b); - } - - // implements Message ---------------------------------------------- - - inline BeginTransactionRequest* New() const final { - return CreateMaybeMessage(NULL); - } - - BeginTransactionRequest* New(::google::protobuf::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from) - final; - void CopyFrom(const BeginTransactionRequest& from); - void MergeFrom(const BeginTransactionRequest& from); - void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) final; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const final; - void DiscardUnknownFields(); - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const; - void InternalSwap(BeginTransactionRequest* other); - private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; - } - public: - - ::std::string GetTypeName() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - bool has_header() const; - void clear_header(); - static const int kHeaderFieldNumber = 1; - private: - const ::cockroach::roachpb::RequestHeader& _internal_header() const; - public: - const ::cockroach::roachpb::RequestHeader& header() const; - ::cockroach::roachpb::RequestHeader* release_header(); - ::cockroach::roachpb::RequestHeader* mutable_header(); - void set_allocated_header(::cockroach::roachpb::RequestHeader* header); - - // @@protoc_insertion_point(class_scope:cockroach.roachpb.BeginTransactionRequest) - private: - - ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_; - ::cockroach::roachpb::RequestHeader* header_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - friend struct ::protobuf_roachpb_2fapi_2eproto::TableStruct; -}; -// ------------------------------------------------------------------- - -class BeginTransactionResponse : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:cockroach.roachpb.BeginTransactionResponse) */ { - public: - BeginTransactionResponse(); - virtual ~BeginTransactionResponse(); - - BeginTransactionResponse(const BeginTransactionResponse& from); - - inline BeginTransactionResponse& operator=(const BeginTransactionResponse& from) { - CopyFrom(from); - return *this; - } - #if LANG_CXX11 - BeginTransactionResponse(BeginTransactionResponse&& from) noexcept - : BeginTransactionResponse() { - *this = ::std::move(from); - } - - inline BeginTransactionResponse& operator=(BeginTransactionResponse&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - #endif - static const BeginTransactionResponse& default_instance(); - - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const BeginTransactionResponse* internal_default_instance() { - return reinterpret_cast( - &_BeginTransactionResponse_default_instance_); - } - static constexpr int kIndexInFileMessages = - 32; - - void Swap(BeginTransactionResponse* other); - friend void swap(BeginTransactionResponse& a, BeginTransactionResponse& b) { - a.Swap(&b); - } - - // implements Message ---------------------------------------------- - - inline BeginTransactionResponse* New() const final { - return CreateMaybeMessage(NULL); - } - - BeginTransactionResponse* New(::google::protobuf::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from) - final; - void CopyFrom(const BeginTransactionResponse& from); - void MergeFrom(const BeginTransactionResponse& from); - void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) final; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const final; - void DiscardUnknownFields(); - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const; - void InternalSwap(BeginTransactionResponse* other); - private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; - } - public: - - ::std::string GetTypeName() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - bool has_header() const; - void clear_header(); - static const int kHeaderFieldNumber = 1; - private: - const ::cockroach::roachpb::ResponseHeader& _internal_header() const; - public: - const ::cockroach::roachpb::ResponseHeader& header() const; - ::cockroach::roachpb::ResponseHeader* release_header(); - ::cockroach::roachpb::ResponseHeader* mutable_header(); - void set_allocated_header(::cockroach::roachpb::ResponseHeader* header); - - // @@protoc_insertion_point(class_scope:cockroach.roachpb.BeginTransactionResponse) - private: - - ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_; - ::cockroach::roachpb::ResponseHeader* header_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - friend struct ::protobuf_roachpb_2fapi_2eproto::TableStruct; -}; -// ------------------------------------------------------------------- - class EndTransactionRequest : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:cockroach.roachpb.EndTransactionRequest) */ { public: EndTransactionRequest(); @@ -4669,7 +4449,7 @@ class EndTransactionRequest : public ::google::protobuf::MessageLite /* @@protoc &_EndTransactionRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 33; + 31; void Swap(EndTransactionRequest* other); friend void swap(EndTransactionRequest& a, EndTransactionRequest& b) { @@ -4852,7 +4632,7 @@ class EndTransactionResponse : public ::google::protobuf::MessageLite /* @@proto &_EndTransactionResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 34; + 32; void Swap(EndTransactionResponse* other); friend void swap(EndTransactionResponse& a, EndTransactionResponse& b) { @@ -4977,7 +4757,7 @@ class AdminSplitRequest : public ::google::protobuf::MessageLite /* @@protoc_ins &_AdminSplitRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 35; + 33; void Swap(AdminSplitRequest* other); friend void swap(AdminSplitRequest& a, AdminSplitRequest& b) { @@ -5109,7 +4889,7 @@ class AdminSplitResponse : public ::google::protobuf::MessageLite /* @@protoc_in &_AdminSplitResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 36; + 34; void Swap(AdminSplitResponse* other); friend void swap(AdminSplitResponse& a, AdminSplitResponse& b) { @@ -5215,7 +4995,7 @@ class AdminUnsplitRequest : public ::google::protobuf::MessageLite /* @@protoc_i &_AdminUnsplitRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 37; + 35; void Swap(AdminUnsplitRequest* other); friend void swap(AdminUnsplitRequest& a, AdminUnsplitRequest& b) { @@ -5321,7 +5101,7 @@ class AdminUnsplitResponse : public ::google::protobuf::MessageLite /* @@protoc_ &_AdminUnsplitResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 38; + 36; void Swap(AdminUnsplitResponse* other); friend void swap(AdminUnsplitResponse& a, AdminUnsplitResponse& b) { @@ -5427,7 +5207,7 @@ class AdminMergeRequest : public ::google::protobuf::MessageLite /* @@protoc_ins &_AdminMergeRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 39; + 37; void Swap(AdminMergeRequest* other); friend void swap(AdminMergeRequest& a, AdminMergeRequest& b) { @@ -5533,7 +5313,7 @@ class AdminMergeResponse : public ::google::protobuf::MessageLite /* @@protoc_in &_AdminMergeResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 40; + 38; void Swap(AdminMergeResponse* other); friend void swap(AdminMergeResponse& a, AdminMergeResponse& b) { @@ -5639,7 +5419,7 @@ class AdminTransferLeaseRequest : public ::google::protobuf::MessageLite /* @@pr &_AdminTransferLeaseRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 41; + 39; void Swap(AdminTransferLeaseRequest* other); friend void swap(AdminTransferLeaseRequest& a, AdminTransferLeaseRequest& b) { @@ -5751,7 +5531,7 @@ class AdminTransferLeaseResponse : public ::google::protobuf::MessageLite /* @@p &_AdminTransferLeaseResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 42; + 40; void Swap(AdminTransferLeaseResponse* other); friend void swap(AdminTransferLeaseResponse& a, AdminTransferLeaseResponse& b) { @@ -5857,7 +5637,7 @@ class ReplicationChange : public ::google::protobuf::MessageLite /* @@protoc_ins &_ReplicationChange_default_instance_); } static constexpr int kIndexInFileMessages = - 43; + 41; void Swap(ReplicationChange* other); friend void swap(ReplicationChange& a, ReplicationChange& b) { @@ -5970,7 +5750,7 @@ class AdminChangeReplicasRequest : public ::google::protobuf::MessageLite /* @@p &_AdminChangeReplicasRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 44; + 42; void Swap(AdminChangeReplicasRequest* other); friend void swap(AdminChangeReplicasRequest& a, AdminChangeReplicasRequest& b) { @@ -6119,7 +5899,7 @@ class AdminChangeReplicasResponse : public ::google::protobuf::MessageLite /* @@ &_AdminChangeReplicasResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 45; + 43; void Swap(AdminChangeReplicasResponse* other); friend void swap(AdminChangeReplicasResponse& a, AdminChangeReplicasResponse& b) { @@ -6237,7 +6017,7 @@ class AdminRelocateRangeRequest : public ::google::protobuf::MessageLite /* @@pr &_AdminRelocateRangeRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 46; + 44; void Swap(AdminRelocateRangeRequest* other); friend void swap(AdminRelocateRangeRequest& a, AdminRelocateRangeRequest& b) { @@ -6355,7 +6135,7 @@ class AdminRelocateRangeResponse : public ::google::protobuf::MessageLite /* @@p &_AdminRelocateRangeResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 47; + 45; void Swap(AdminRelocateRangeResponse* other); friend void swap(AdminRelocateRangeResponse& a, AdminRelocateRangeResponse& b) { @@ -6461,7 +6241,7 @@ class HeartbeatTxnRequest : public ::google::protobuf::MessageLite /* @@protoc_i &_HeartbeatTxnRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 48; + 46; void Swap(HeartbeatTxnRequest* other); friend void swap(HeartbeatTxnRequest& a, HeartbeatTxnRequest& b) { @@ -6579,7 +6359,7 @@ class HeartbeatTxnResponse : public ::google::protobuf::MessageLite /* @@protoc_ &_HeartbeatTxnResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 49; + 47; void Swap(HeartbeatTxnResponse* other); friend void swap(HeartbeatTxnResponse& a, HeartbeatTxnResponse& b) { @@ -6685,7 +6465,7 @@ class GCRequest_GCKey : public ::google::protobuf::MessageLite /* @@protoc_inser &_GCRequest_GCKey_default_instance_); } static constexpr int kIndexInFileMessages = - 50; + 48; void Swap(GCRequest_GCKey* other); friend void swap(GCRequest_GCKey& a, GCRequest_GCKey& b) { @@ -6805,7 +6585,7 @@ class GCRequest : public ::google::protobuf::MessageLite /* @@protoc_insertion_p &_GCRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 51; + 49; void Swap(GCRequest* other); friend void swap(GCRequest& a, GCRequest& b) { @@ -6937,7 +6717,7 @@ class GCResponse : public ::google::protobuf::MessageLite /* @@protoc_insertion_ &_GCResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 52; + 50; void Swap(GCResponse* other); friend void swap(GCResponse& a, GCResponse& b) { @@ -7043,7 +6823,7 @@ class PushTxnRequest : public ::google::protobuf::MessageLite /* @@protoc_insert &_PushTxnRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 53; + 51; void Swap(PushTxnRequest* other); friend void swap(PushTxnRequest& a, PushTxnRequest& b) { @@ -7206,7 +6986,7 @@ class PushTxnResponse : public ::google::protobuf::MessageLite /* @@protoc_inser &_PushTxnResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 54; + 52; void Swap(PushTxnResponse* other); friend void swap(PushTxnResponse& a, PushTxnResponse& b) { @@ -7324,7 +7104,7 @@ class RecoverTxnRequest : public ::google::protobuf::MessageLite /* @@protoc_ins &_RecoverTxnRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 55; + 53; void Swap(RecoverTxnRequest* other); friend void swap(RecoverTxnRequest& a, RecoverTxnRequest& b) { @@ -7449,7 +7229,7 @@ class RecoverTxnResponse : public ::google::protobuf::MessageLite /* @@protoc_in &_RecoverTxnResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 56; + 54; void Swap(RecoverTxnResponse* other); friend void swap(RecoverTxnResponse& a, RecoverTxnResponse& b) { @@ -7567,7 +7347,7 @@ class QueryTxnRequest : public ::google::protobuf::MessageLite /* @@protoc_inser &_QueryTxnRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 57; + 55; void Swap(QueryTxnRequest* other); friend void swap(QueryTxnRequest& a, QueryTxnRequest& b) { @@ -7714,7 +7494,7 @@ class QueryTxnResponse : public ::google::protobuf::MessageLite /* @@protoc_inse &_QueryTxnResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 58; + 56; void Swap(QueryTxnResponse* other); friend void swap(QueryTxnResponse& a, QueryTxnResponse& b) { @@ -7854,7 +7634,7 @@ class QueryIntentRequest : public ::google::protobuf::MessageLite /* @@protoc_in &_QueryIntentRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 59; + 57; void Swap(QueryIntentRequest* other); friend void swap(QueryIntentRequest& a, QueryIntentRequest& b) { @@ -7979,7 +7759,7 @@ class QueryIntentResponse : public ::google::protobuf::MessageLite /* @@protoc_i &_QueryIntentResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 60; + 58; void Swap(QueryIntentResponse* other); friend void swap(QueryIntentResponse& a, QueryIntentResponse& b) { @@ -8092,7 +7872,7 @@ class ResolveIntentRequest : public ::google::protobuf::MessageLite /* @@protoc_ &_ResolveIntentRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 61; + 59; void Swap(ResolveIntentRequest* other); friend void swap(ResolveIntentRequest& a, ResolveIntentRequest& b) { @@ -8224,7 +8004,7 @@ class ResolveIntentResponse : public ::google::protobuf::MessageLite /* @@protoc &_ResolveIntentResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 62; + 60; void Swap(ResolveIntentResponse* other); friend void swap(ResolveIntentResponse& a, ResolveIntentResponse& b) { @@ -8330,7 +8110,7 @@ class ResolveIntentRangeRequest : public ::google::protobuf::MessageLite /* @@pr &_ResolveIntentRangeRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 63; + 61; void Swap(ResolveIntentRangeRequest* other); friend void swap(ResolveIntentRangeRequest& a, ResolveIntentRangeRequest& b) { @@ -8474,7 +8254,7 @@ class ResolveIntentRangeResponse : public ::google::protobuf::MessageLite /* @@p &_ResolveIntentRangeResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 64; + 62; void Swap(ResolveIntentRangeResponse* other); friend void swap(ResolveIntentRangeResponse& a, ResolveIntentRangeResponse& b) { @@ -8580,7 +8360,7 @@ class MergeRequest : public ::google::protobuf::MessageLite /* @@protoc_insertio &_MergeRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 65; + 63; void Swap(MergeRequest* other); friend void swap(MergeRequest& a, MergeRequest& b) { @@ -8698,7 +8478,7 @@ class MergeResponse : public ::google::protobuf::MessageLite /* @@protoc_inserti &_MergeResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 66; + 64; void Swap(MergeResponse* other); friend void swap(MergeResponse& a, MergeResponse& b) { @@ -8804,7 +8584,7 @@ class TruncateLogRequest : public ::google::protobuf::MessageLite /* @@protoc_in &_TruncateLogRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 67; + 65; void Swap(TruncateLogRequest* other); friend void swap(TruncateLogRequest& a, TruncateLogRequest& b) { @@ -8923,7 +8703,7 @@ class TruncateLogResponse : public ::google::protobuf::MessageLite /* @@protoc_i &_TruncateLogResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 68; + 66; void Swap(TruncateLogResponse* other); friend void swap(TruncateLogResponse& a, TruncateLogResponse& b) { @@ -9029,7 +8809,7 @@ class RequestLeaseRequest : public ::google::protobuf::MessageLite /* @@protoc_i &_RequestLeaseRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 69; + 67; void Swap(RequestLeaseRequest* other); friend void swap(RequestLeaseRequest& a, RequestLeaseRequest& b) { @@ -9171,7 +8951,7 @@ class TransferLeaseRequest : public ::google::protobuf::MessageLite /* @@protoc_ &_TransferLeaseRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 70; + 68; void Swap(TransferLeaseRequest* other); friend void swap(TransferLeaseRequest& a, TransferLeaseRequest& b) { @@ -9301,7 +9081,7 @@ class LeaseInfoRequest : public ::google::protobuf::MessageLite /* @@protoc_inse &_LeaseInfoRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 71; + 69; void Swap(LeaseInfoRequest* other); friend void swap(LeaseInfoRequest& a, LeaseInfoRequest& b) { @@ -9407,7 +9187,7 @@ class LeaseInfoResponse : public ::google::protobuf::MessageLite /* @@protoc_ins &_LeaseInfoResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 72; + 70; void Swap(LeaseInfoResponse* other); friend void swap(LeaseInfoResponse& a, LeaseInfoResponse& b) { @@ -9525,7 +9305,7 @@ class RequestLeaseResponse : public ::google::protobuf::MessageLite /* @@protoc_ &_RequestLeaseResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 73; + 71; void Swap(RequestLeaseResponse* other); friend void swap(RequestLeaseResponse& a, RequestLeaseResponse& b) { @@ -9631,7 +9411,7 @@ class ComputeChecksumRequest : public ::google::protobuf::MessageLite /* @@proto &_ComputeChecksumRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 74; + 72; void Swap(ComputeChecksumRequest* other); friend void swap(ComputeChecksumRequest& a, ComputeChecksumRequest& b) { @@ -9777,7 +9557,7 @@ class ComputeChecksumResponse : public ::google::protobuf::MessageLite /* @@prot &_ComputeChecksumResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 75; + 73; void Swap(ComputeChecksumResponse* other); friend void swap(ComputeChecksumResponse& a, ComputeChecksumResponse& b) { @@ -9897,7 +9677,7 @@ class ExternalStorage_LocalFilePath : public ::google::protobuf::MessageLite /* &_ExternalStorage_LocalFilePath_default_instance_); } static constexpr int kIndexInFileMessages = - 76; + 74; void Swap(ExternalStorage_LocalFilePath* other); friend void swap(ExternalStorage_LocalFilePath& a, ExternalStorage_LocalFilePath& b) { @@ -10012,7 +9792,7 @@ class ExternalStorage_Http : public ::google::protobuf::MessageLite /* @@protoc_ &_ExternalStorage_Http_default_instance_); } static constexpr int kIndexInFileMessages = - 77; + 75; void Swap(ExternalStorage_Http* other); friend void swap(ExternalStorage_Http& a, ExternalStorage_Http& b) { @@ -10121,7 +9901,7 @@ class ExternalStorage_S3 : public ::google::protobuf::MessageLite /* @@protoc_in &_ExternalStorage_S3_default_instance_); } static constexpr int kIndexInFileMessages = - 78; + 76; void Swap(ExternalStorage_S3* other); friend void swap(ExternalStorage_S3& a, ExternalStorage_S3& b) { @@ -10335,7 +10115,7 @@ class ExternalStorage_GCS : public ::google::protobuf::MessageLite /* @@protoc_i &_ExternalStorage_GCS_default_instance_); } static constexpr int kIndexInFileMessages = - 79; + 77; void Swap(ExternalStorage_GCS* other); friend void swap(ExternalStorage_GCS& a, ExternalStorage_GCS& b) { @@ -10504,7 +10284,7 @@ class ExternalStorage_Azure : public ::google::protobuf::MessageLite /* @@protoc &_ExternalStorage_Azure_default_instance_); } static constexpr int kIndexInFileMessages = - 80; + 78; void Swap(ExternalStorage_Azure* other); friend void swap(ExternalStorage_Azure& a, ExternalStorage_Azure& b) { @@ -10658,7 +10438,7 @@ class ExternalStorage_Workload : public ::google::protobuf::MessageLite /* @@pro &_ExternalStorage_Workload_default_instance_); } static constexpr int kIndexInFileMessages = - 81; + 79; void Swap(ExternalStorage_Workload* other); friend void swap(ExternalStorage_Workload& a, ExternalStorage_Workload& b) { @@ -10849,7 +10629,7 @@ class ExternalStorage : public ::google::protobuf::MessageLite /* @@protoc_inser &_ExternalStorage_default_instance_); } static constexpr int kIndexInFileMessages = - 82; + 80; void Swap(ExternalStorage* other); friend void swap(ExternalStorage& a, ExternalStorage& b) { @@ -11033,7 +10813,7 @@ class WriteBatchRequest : public ::google::protobuf::MessageLite /* @@protoc_ins &_WriteBatchRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 83; + 81; void Swap(WriteBatchRequest* other); friend void swap(WriteBatchRequest& a, WriteBatchRequest& b) { @@ -11166,7 +10946,7 @@ class WriteBatchResponse : public ::google::protobuf::MessageLite /* @@protoc_in &_WriteBatchResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 84; + 82; void Swap(WriteBatchResponse* other); friend void swap(WriteBatchResponse& a, WriteBatchResponse& b) { @@ -11291,7 +11071,7 @@ class ExportRequest : public ::google::protobuf::MessageLite /* @@protoc_inserti &_ExportRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 86; + 84; void Swap(ExportRequest* other); friend void swap(ExportRequest& a, ExportRequest& b) { @@ -11462,7 +11242,7 @@ class BulkOpSummary : public ::google::protobuf::MessageLite /* @@protoc_inserti &_BulkOpSummary_default_instance_); } static constexpr int kIndexInFileMessages = - 87; + 85; void Swap(BulkOpSummary* other); friend void swap(BulkOpSummary& a, BulkOpSummary& b) { @@ -11584,7 +11364,7 @@ class ExportResponse_File : public ::google::protobuf::MessageLite /* @@protoc_i &_ExportResponse_File_default_instance_); } static constexpr int kIndexInFileMessages = - 88; + 86; void Swap(ExportResponse_File* other); friend void swap(ExportResponse_File& a, ExportResponse_File& b) { @@ -11760,7 +11540,7 @@ class ExportResponse : public ::google::protobuf::MessageLite /* @@protoc_insert &_ExportResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 89; + 87; void Swap(ExportResponse* other); friend void swap(ExportResponse& a, ExportResponse& b) { @@ -11892,7 +11672,7 @@ class ImportRequest_File : public ::google::protobuf::MessageLite /* @@protoc_in &_ImportRequest_File_default_instance_); } static constexpr int kIndexInFileMessages = - 90; + 88; void Swap(ImportRequest_File* other); friend void swap(ImportRequest_File& a, ImportRequest_File& b) { @@ -12028,7 +11808,7 @@ class ImportRequest_TableRekey : public ::google::protobuf::MessageLite /* @@pro &_ImportRequest_TableRekey_default_instance_); } static constexpr int kIndexInFileMessages = - 91; + 89; void Swap(ImportRequest_TableRekey* other); friend void swap(ImportRequest_TableRekey& a, ImportRequest_TableRekey& b) { @@ -12143,7 +11923,7 @@ class ImportRequest : public ::google::protobuf::MessageLite /* @@protoc_inserti &_ImportRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 92; + 90; void Swap(ImportRequest* other); friend void swap(ImportRequest& a, ImportRequest& b) { @@ -12300,7 +12080,7 @@ class ImportResponse : public ::google::protobuf::MessageLite /* @@protoc_insert &_ImportResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 93; + 91; void Swap(ImportResponse* other); friend void swap(ImportResponse& a, ImportResponse& b) { @@ -12418,7 +12198,7 @@ class AdminScatterRequest : public ::google::protobuf::MessageLite /* @@protoc_i &_AdminScatterRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 94; + 92; void Swap(AdminScatterRequest* other); friend void swap(AdminScatterRequest& a, AdminScatterRequest& b) { @@ -12531,7 +12311,7 @@ class AdminScatterResponse_Range : public ::google::protobuf::MessageLite /* @@p &_AdminScatterResponse_Range_default_instance_); } static constexpr int kIndexInFileMessages = - 95; + 93; void Swap(AdminScatterResponse_Range* other); friend void swap(AdminScatterResponse_Range& a, AdminScatterResponse_Range& b) { @@ -12637,7 +12417,7 @@ class AdminScatterResponse : public ::google::protobuf::MessageLite /* @@protoc_ &_AdminScatterResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 96; + 94; void Swap(AdminScatterResponse* other); friend void swap(AdminScatterResponse& a, AdminScatterResponse& b) { @@ -12757,7 +12537,7 @@ class AddSSTableRequest : public ::google::protobuf::MessageLite /* @@protoc_ins &_AddSSTableRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 97; + 95; void Swap(AddSSTableRequest* other); friend void swap(AddSSTableRequest& a, AddSSTableRequest& b) { @@ -12904,7 +12684,7 @@ class AddSSTableResponse : public ::google::protobuf::MessageLite /* @@protoc_in &_AddSSTableResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 98; + 96; void Swap(AddSSTableResponse* other); friend void swap(AddSSTableResponse& a, AddSSTableResponse& b) { @@ -13010,7 +12790,7 @@ class RefreshRequest : public ::google::protobuf::MessageLite /* @@protoc_insert &_RefreshRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 99; + 97; void Swap(RefreshRequest* other); friend void swap(RefreshRequest& a, RefreshRequest& b) { @@ -13135,7 +12915,7 @@ class RefreshResponse : public ::google::protobuf::MessageLite /* @@protoc_inser &_RefreshResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 100; + 98; void Swap(RefreshResponse* other); friend void swap(RefreshResponse& a, RefreshResponse& b) { @@ -13241,7 +13021,7 @@ class RefreshRangeRequest : public ::google::protobuf::MessageLite /* @@protoc_i &_RefreshRangeRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 101; + 99; void Swap(RefreshRangeRequest* other); friend void swap(RefreshRangeRequest& a, RefreshRangeRequest& b) { @@ -13366,7 +13146,7 @@ class RefreshRangeResponse : public ::google::protobuf::MessageLite /* @@protoc_ &_RefreshRangeResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 102; + 100; void Swap(RefreshRangeResponse* other); friend void swap(RefreshRangeResponse& a, RefreshRangeResponse& b) { @@ -13472,7 +13252,7 @@ class SubsumeRequest : public ::google::protobuf::MessageLite /* @@protoc_insert &_SubsumeRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 103; + 101; void Swap(SubsumeRequest* other); friend void swap(SubsumeRequest& a, SubsumeRequest& b) { @@ -13603,7 +13383,7 @@ class SubsumeResponse : public ::google::protobuf::MessageLite /* @@protoc_inser &_SubsumeResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 104; + 102; void Swap(SubsumeResponse* other); friend void swap(SubsumeResponse& a, SubsumeResponse& b) { @@ -13740,7 +13520,7 @@ class RangeStatsRequest : public ::google::protobuf::MessageLite /* @@protoc_ins &_RangeStatsRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 105; + 103; void Swap(RangeStatsRequest* other); friend void swap(RangeStatsRequest& a, RangeStatsRequest& b) { @@ -13846,7 +13626,7 @@ class RangeStatsResponse : public ::google::protobuf::MessageLite /* @@protoc_in &_RangeStatsResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 106; + 104; void Swap(RangeStatsResponse* other); friend void swap(RangeStatsResponse& a, RangeStatsResponse& b) { @@ -13975,7 +13755,6 @@ class RequestUnion : public ::google::protobuf::MessageLite /* @@protoc_insertio kClearRange = 38, kRevertRange = 48, kScan = 7, - kBeginTransaction = 8, kEndTransaction = 9, kAdminSplit = 10, kAdminUnsplit = 47, @@ -14019,7 +13798,7 @@ class RequestUnion : public ::google::protobuf::MessageLite /* @@protoc_insertio &_RequestUnion_default_instance_); } static constexpr int kIndexInFileMessages = - 107; + 105; void Swap(RequestUnion* other); friend void swap(RequestUnion& a, RequestUnion& b) { @@ -14178,18 +13957,6 @@ class RequestUnion : public ::google::protobuf::MessageLite /* @@protoc_insertio ::cockroach::roachpb::ScanRequest* mutable_scan(); void set_allocated_scan(::cockroach::roachpb::ScanRequest* scan); - // .cockroach.roachpb.BeginTransactionRequest begin_transaction = 8; - bool has_begin_transaction() const; - void clear_begin_transaction(); - static const int kBeginTransactionFieldNumber = 8; - private: - const ::cockroach::roachpb::BeginTransactionRequest& _internal_begin_transaction() const; - public: - const ::cockroach::roachpb::BeginTransactionRequest& begin_transaction() const; - ::cockroach::roachpb::BeginTransactionRequest* release_begin_transaction(); - ::cockroach::roachpb::BeginTransactionRequest* mutable_begin_transaction(); - void set_allocated_begin_transaction(::cockroach::roachpb::BeginTransactionRequest* begin_transaction); - // .cockroach.roachpb.EndTransactionRequest end_transaction = 9; bool has_end_transaction() const; void clear_end_transaction(); @@ -14611,7 +14378,6 @@ class RequestUnion : public ::google::protobuf::MessageLite /* @@protoc_insertio void set_has_clear_range(); void set_has_revert_range(); void set_has_scan(); - void set_has_begin_transaction(); void set_has_end_transaction(); void set_has_admin_split(); void set_has_admin_unsplit(); @@ -14662,7 +14428,6 @@ class RequestUnion : public ::google::protobuf::MessageLite /* @@protoc_insertio ::cockroach::roachpb::ClearRangeRequest* clear_range_; ::cockroach::roachpb::RevertRangeRequest* revert_range_; ::cockroach::roachpb::ScanRequest* scan_; - ::cockroach::roachpb::BeginTransactionRequest* begin_transaction_; ::cockroach::roachpb::EndTransactionRequest* end_transaction_; ::cockroach::roachpb::AdminSplitRequest* admin_split_; ::cockroach::roachpb::AdminUnsplitRequest* admin_unsplit_; @@ -14743,7 +14508,6 @@ class ResponseUnion : public ::google::protobuf::MessageLite /* @@protoc_inserti kClearRange = 38, kRevertRange = 48, kScan = 7, - kBeginTransaction = 8, kEndTransaction = 9, kAdminSplit = 10, kAdminUnsplit = 47, @@ -14786,7 +14550,7 @@ class ResponseUnion : public ::google::protobuf::MessageLite /* @@protoc_inserti &_ResponseUnion_default_instance_); } static constexpr int kIndexInFileMessages = - 108; + 106; void Swap(ResponseUnion* other); friend void swap(ResponseUnion& a, ResponseUnion& b) { @@ -14945,18 +14709,6 @@ class ResponseUnion : public ::google::protobuf::MessageLite /* @@protoc_inserti ::cockroach::roachpb::ScanResponse* mutable_scan(); void set_allocated_scan(::cockroach::roachpb::ScanResponse* scan); - // .cockroach.roachpb.BeginTransactionResponse begin_transaction = 8; - bool has_begin_transaction() const; - void clear_begin_transaction(); - static const int kBeginTransactionFieldNumber = 8; - private: - const ::cockroach::roachpb::BeginTransactionResponse& _internal_begin_transaction() const; - public: - const ::cockroach::roachpb::BeginTransactionResponse& begin_transaction() const; - ::cockroach::roachpb::BeginTransactionResponse* release_begin_transaction(); - ::cockroach::roachpb::BeginTransactionResponse* mutable_begin_transaction(); - void set_allocated_begin_transaction(::cockroach::roachpb::BeginTransactionResponse* begin_transaction); - // .cockroach.roachpb.EndTransactionResponse end_transaction = 9; bool has_end_transaction() const; void clear_end_transaction(); @@ -15366,7 +15118,6 @@ class ResponseUnion : public ::google::protobuf::MessageLite /* @@protoc_inserti void set_has_clear_range(); void set_has_revert_range(); void set_has_scan(); - void set_has_begin_transaction(); void set_has_end_transaction(); void set_has_admin_split(); void set_has_admin_unsplit(); @@ -15416,7 +15167,6 @@ class ResponseUnion : public ::google::protobuf::MessageLite /* @@protoc_inserti ::cockroach::roachpb::ClearRangeResponse* clear_range_; ::cockroach::roachpb::RevertRangeResponse* revert_range_; ::cockroach::roachpb::ScanResponse* scan_; - ::cockroach::roachpb::BeginTransactionResponse* begin_transaction_; ::cockroach::roachpb::EndTransactionResponse* end_transaction_; ::cockroach::roachpb::AdminSplitResponse* admin_split_; ::cockroach::roachpb::AdminUnsplitResponse* admin_unsplit_; @@ -15492,7 +15242,7 @@ class Header : public ::google::protobuf::MessageLite /* @@protoc_insertion_poin &_Header_default_instance_); } static constexpr int kIndexInFileMessages = - 109; + 107; void Swap(Header* other); friend void swap(Header& a, Header& b) { @@ -15696,7 +15446,7 @@ class BatchRequest : public ::google::protobuf::MessageLite /* @@protoc_insertio &_BatchRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 110; + 108; void Swap(BatchRequest* other); friend void swap(BatchRequest& a, BatchRequest& b) { @@ -15814,7 +15564,7 @@ class BatchResponse_Header : public ::google::protobuf::MessageLite /* @@protoc_ &_BatchResponse_Header_default_instance_); } static constexpr int kIndexInFileMessages = - 111; + 109; void Swap(BatchResponse_Header* other); friend void swap(BatchResponse_Header& a, BatchResponse_Header& b) { @@ -15970,7 +15720,7 @@ class BatchResponse : public ::google::protobuf::MessageLite /* @@protoc_inserti &_BatchResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 112; + 110; void Swap(BatchResponse* other); friend void swap(BatchResponse& a, BatchResponse& b) { @@ -16090,7 +15840,7 @@ class RangeFeedRequest : public ::google::protobuf::MessageLite /* @@protoc_inse &_RangeFeedRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 113; + 111; void Swap(RangeFeedRequest* other); friend void swap(RangeFeedRequest& a, RangeFeedRequest& b) { @@ -16215,7 +15965,7 @@ class RangeFeedValue : public ::google::protobuf::MessageLite /* @@protoc_insert &_RangeFeedValue_default_instance_); } static constexpr int kIndexInFileMessages = - 114; + 112; void Swap(RangeFeedValue* other); friend void swap(RangeFeedValue& a, RangeFeedValue& b) { @@ -16347,7 +16097,7 @@ class RangeFeedCheckpoint : public ::google::protobuf::MessageLite /* @@protoc_i &_RangeFeedCheckpoint_default_instance_); } static constexpr int kIndexInFileMessages = - 115; + 113; void Swap(RangeFeedCheckpoint* other); friend void swap(RangeFeedCheckpoint& a, RangeFeedCheckpoint& b) { @@ -16465,7 +16215,7 @@ class RangeFeedError : public ::google::protobuf::MessageLite /* @@protoc_insert &_RangeFeedError_default_instance_); } static constexpr int kIndexInFileMessages = - 116; + 114; void Swap(RangeFeedError* other); friend void swap(RangeFeedError& a, RangeFeedError& b) { @@ -16571,7 +16321,7 @@ class RangeFeedEvent : public ::google::protobuf::MessageLite /* @@protoc_insert &_RangeFeedEvent_default_instance_); } static constexpr int kIndexInFileMessages = - 117; + 115; void Swap(RangeFeedEvent* other); friend void swap(RangeFeedEvent& a, RangeFeedEvent& b) { @@ -19672,120 +19422,6 @@ inline void RecomputeStatsResponse::set_allocated_added_delta(::cockroach::stora // ------------------------------------------------------------------- -// BeginTransactionRequest - -inline bool BeginTransactionRequest::has_header() const { - return this != internal_default_instance() && header_ != NULL; -} -inline void BeginTransactionRequest::clear_header() { - if (GetArenaNoVirtual() == NULL && header_ != NULL) { - delete header_; - } - header_ = NULL; -} -inline const ::cockroach::roachpb::RequestHeader& BeginTransactionRequest::_internal_header() const { - return *header_; -} -inline const ::cockroach::roachpb::RequestHeader& BeginTransactionRequest::header() const { - const ::cockroach::roachpb::RequestHeader* p = header_; - // @@protoc_insertion_point(field_get:cockroach.roachpb.BeginTransactionRequest.header) - return p != NULL ? *p : *reinterpret_cast( - &::cockroach::roachpb::_RequestHeader_default_instance_); -} -inline ::cockroach::roachpb::RequestHeader* BeginTransactionRequest::release_header() { - // @@protoc_insertion_point(field_release:cockroach.roachpb.BeginTransactionRequest.header) - - ::cockroach::roachpb::RequestHeader* temp = header_; - header_ = NULL; - return temp; -} -inline ::cockroach::roachpb::RequestHeader* BeginTransactionRequest::mutable_header() { - - if (header_ == NULL) { - auto* p = CreateMaybeMessage<::cockroach::roachpb::RequestHeader>(GetArenaNoVirtual()); - header_ = p; - } - // @@protoc_insertion_point(field_mutable:cockroach.roachpb.BeginTransactionRequest.header) - return header_; -} -inline void BeginTransactionRequest::set_allocated_header(::cockroach::roachpb::RequestHeader* header) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - if (message_arena == NULL) { - delete header_; - } - if (header) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - header = ::google::protobuf::internal::GetOwnedMessage( - message_arena, header, submessage_arena); - } - - } else { - - } - header_ = header; - // @@protoc_insertion_point(field_set_allocated:cockroach.roachpb.BeginTransactionRequest.header) -} - -// ------------------------------------------------------------------- - -// BeginTransactionResponse - -inline bool BeginTransactionResponse::has_header() const { - return this != internal_default_instance() && header_ != NULL; -} -inline void BeginTransactionResponse::clear_header() { - if (GetArenaNoVirtual() == NULL && header_ != NULL) { - delete header_; - } - header_ = NULL; -} -inline const ::cockroach::roachpb::ResponseHeader& BeginTransactionResponse::_internal_header() const { - return *header_; -} -inline const ::cockroach::roachpb::ResponseHeader& BeginTransactionResponse::header() const { - const ::cockroach::roachpb::ResponseHeader* p = header_; - // @@protoc_insertion_point(field_get:cockroach.roachpb.BeginTransactionResponse.header) - return p != NULL ? *p : *reinterpret_cast( - &::cockroach::roachpb::_ResponseHeader_default_instance_); -} -inline ::cockroach::roachpb::ResponseHeader* BeginTransactionResponse::release_header() { - // @@protoc_insertion_point(field_release:cockroach.roachpb.BeginTransactionResponse.header) - - ::cockroach::roachpb::ResponseHeader* temp = header_; - header_ = NULL; - return temp; -} -inline ::cockroach::roachpb::ResponseHeader* BeginTransactionResponse::mutable_header() { - - if (header_ == NULL) { - auto* p = CreateMaybeMessage<::cockroach::roachpb::ResponseHeader>(GetArenaNoVirtual()); - header_ = p; - } - // @@protoc_insertion_point(field_mutable:cockroach.roachpb.BeginTransactionResponse.header) - return header_; -} -inline void BeginTransactionResponse::set_allocated_header(::cockroach::roachpb::ResponseHeader* header) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - if (message_arena == NULL) { - delete header_; - } - if (header) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - header = ::google::protobuf::internal::GetOwnedMessage( - message_arena, header, submessage_arena); - } - - } else { - - } - header_ = header; - // @@protoc_insertion_point(field_set_allocated:cockroach.roachpb.BeginTransactionResponse.header) -} - -// ------------------------------------------------------------------- - // EndTransactionRequest inline bool EndTransactionRequest::has_header() const { @@ -29209,50 +28845,6 @@ inline ::cockroach::roachpb::ScanRequest* RequestUnion::mutable_scan() { return value_.scan_; } -// .cockroach.roachpb.BeginTransactionRequest begin_transaction = 8; -inline bool RequestUnion::has_begin_transaction() const { - return value_case() == kBeginTransaction; -} -inline void RequestUnion::set_has_begin_transaction() { - _oneof_case_[0] = kBeginTransaction; -} -inline void RequestUnion::clear_begin_transaction() { - if (has_begin_transaction()) { - delete value_.begin_transaction_; - clear_has_value(); - } -} -inline const ::cockroach::roachpb::BeginTransactionRequest& RequestUnion::_internal_begin_transaction() const { - return *value_.begin_transaction_; -} -inline ::cockroach::roachpb::BeginTransactionRequest* RequestUnion::release_begin_transaction() { - // @@protoc_insertion_point(field_release:cockroach.roachpb.RequestUnion.begin_transaction) - if (has_begin_transaction()) { - clear_has_value(); - ::cockroach::roachpb::BeginTransactionRequest* temp = value_.begin_transaction_; - value_.begin_transaction_ = NULL; - return temp; - } else { - return NULL; - } -} -inline const ::cockroach::roachpb::BeginTransactionRequest& RequestUnion::begin_transaction() const { - // @@protoc_insertion_point(field_get:cockroach.roachpb.RequestUnion.begin_transaction) - return has_begin_transaction() - ? *value_.begin_transaction_ - : *reinterpret_cast< ::cockroach::roachpb::BeginTransactionRequest*>(&::cockroach::roachpb::_BeginTransactionRequest_default_instance_); -} -inline ::cockroach::roachpb::BeginTransactionRequest* RequestUnion::mutable_begin_transaction() { - if (!has_begin_transaction()) { - clear_value(); - set_has_begin_transaction(); - value_.begin_transaction_ = CreateMaybeMessage< ::cockroach::roachpb::BeginTransactionRequest >( - GetArenaNoVirtual()); - } - // @@protoc_insertion_point(field_mutable:cockroach.roachpb.RequestUnion.begin_transaction) - return value_.begin_transaction_; -} - // .cockroach.roachpb.EndTransactionRequest end_transaction = 9; inline bool RequestUnion::has_end_transaction() const { return value_case() == kEndTransaction; @@ -31158,50 +30750,6 @@ inline ::cockroach::roachpb::ScanResponse* ResponseUnion::mutable_scan() { return value_.scan_; } -// .cockroach.roachpb.BeginTransactionResponse begin_transaction = 8; -inline bool ResponseUnion::has_begin_transaction() const { - return value_case() == kBeginTransaction; -} -inline void ResponseUnion::set_has_begin_transaction() { - _oneof_case_[0] = kBeginTransaction; -} -inline void ResponseUnion::clear_begin_transaction() { - if (has_begin_transaction()) { - delete value_.begin_transaction_; - clear_has_value(); - } -} -inline const ::cockroach::roachpb::BeginTransactionResponse& ResponseUnion::_internal_begin_transaction() const { - return *value_.begin_transaction_; -} -inline ::cockroach::roachpb::BeginTransactionResponse* ResponseUnion::release_begin_transaction() { - // @@protoc_insertion_point(field_release:cockroach.roachpb.ResponseUnion.begin_transaction) - if (has_begin_transaction()) { - clear_has_value(); - ::cockroach::roachpb::BeginTransactionResponse* temp = value_.begin_transaction_; - value_.begin_transaction_ = NULL; - return temp; - } else { - return NULL; - } -} -inline const ::cockroach::roachpb::BeginTransactionResponse& ResponseUnion::begin_transaction() const { - // @@protoc_insertion_point(field_get:cockroach.roachpb.ResponseUnion.begin_transaction) - return has_begin_transaction() - ? *value_.begin_transaction_ - : *reinterpret_cast< ::cockroach::roachpb::BeginTransactionResponse*>(&::cockroach::roachpb::_BeginTransactionResponse_default_instance_); -} -inline ::cockroach::roachpb::BeginTransactionResponse* ResponseUnion::mutable_begin_transaction() { - if (!has_begin_transaction()) { - clear_value(); - set_has_begin_transaction(); - value_.begin_transaction_ = CreateMaybeMessage< ::cockroach::roachpb::BeginTransactionResponse >( - GetArenaNoVirtual()); - } - // @@protoc_insertion_point(field_mutable:cockroach.roachpb.ResponseUnion.begin_transaction) - return value_.begin_transaction_; -} - // .cockroach.roachpb.EndTransactionResponse end_transaction = 9; inline bool ResponseUnion::has_end_transaction() const { return value_case() == kEndTransaction; @@ -34194,10 +33742,6 @@ inline void RangeFeedEvent::set_allocated_error(::cockroach::roachpb::RangeFeedE // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) diff --git a/pkg/internal/client/batch.go b/pkg/internal/client/batch.go index 2fe23bebdc75..29de05096375 100644 --- a/pkg/internal/client/batch.go +++ b/pkg/internal/client/batch.go @@ -242,7 +242,6 @@ func (b *Batch) fillResults(ctx context.Context) { // Nothing to do for all methods below as they do not generate // any rows. - case *roachpb.BeginTransactionRequest: case *roachpb.EndTransactionRequest: case *roachpb.AdminMergeRequest: case *roachpb.AdminSplitRequest: diff --git a/pkg/kv/dist_sender.go b/pkg/kv/dist_sender.go index 0fcf329798e7..8b0440774986 100644 --- a/pkg/kv/dist_sender.go +++ b/pkg/kv/dist_sender.go @@ -577,7 +577,7 @@ func (ds *DistSender) initAndVerifyBatch( case *roachpb.QueryIntentRequest, *roachpb.ResolveIntentRangeRequest: continue - case *roachpb.BeginTransactionRequest, *roachpb.EndTransactionRequest, *roachpb.ReverseScanRequest: + case *roachpb.EndTransactionRequest, *roachpb.ReverseScanRequest: continue case *roachpb.RevertRangeRequest: @@ -594,7 +594,7 @@ func (ds *DistSender) initAndVerifyBatch( switch req.GetInner().(type) { case *roachpb.ScanRequest, *roachpb.ReverseScanRequest: // Scans are supported. - case *roachpb.BeginTransactionRequest, *roachpb.EndTransactionRequest: + case *roachpb.EndTransactionRequest: // These requests are ignored. default: return roachpb.NewErrorf("batch with scan option has non-scans: %s", ba) diff --git a/pkg/kv/txn_coord_sender.go b/pkg/kv/txn_coord_sender.go index e7a17e36b0d1..dca7c15163d4 100644 --- a/pkg/kv/txn_coord_sender.go +++ b/pkg/kv/txn_coord_sender.go @@ -88,7 +88,7 @@ const ( // Since it is stateful, the TxnCoordSender needs to understand when a // transaction is "finished" and the state can be destroyed. As such there's a // contract that the client.Txn needs obey. Read-only transactions don't matter -// - they're stateless. For the others, once a BeginTransaction is sent by the +// - they're stateless. For the others, once an intent write is sent by the // client, the TxnCoordSender considers the transactions completed in the // following situations: // - A batch containing an EndTransactions (commit or rollback) succeeds. @@ -783,10 +783,6 @@ func (tc *TxnCoordSender) Send( startNs := tc.clock.PhysicalNow() - if _, ok := ba.GetArg(roachpb.BeginTransaction); ok { - return nil, roachpb.NewErrorf("BeginTransaction added before the TxnCoordSender") - } - ctx, sp := tc.AnnotateCtxWithSpan(ctx, opTxnCoordSender) defer sp.Finish() diff --git a/pkg/kv/txn_coord_sender_test.go b/pkg/kv/txn_coord_sender_test.go index 3c172156ce71..e5e3ef47949f 100644 --- a/pkg/kv/txn_coord_sender_test.go +++ b/pkg/kv/txn_coord_sender_test.go @@ -1440,12 +1440,12 @@ func TestRollbackErrorStopsHeartbeat(t *testing.T) { } // Test that intent tracking behaves correctly for transactions that attempt to -// run a batch containing both a BeginTransaction and an EndTransaction. Since -// in case of an error it's not easy to determine whether any intents have been -// laid down (i.e. in case the batch was split by the DistSender and then there -// was mixed success for the sub-batches, or in case a retriable error is -// returned), the test verifies that all possible intents are properly tracked -// and attached to a subsequent EndTransaction. +// run a batch containing an EndTransaction. Since in case of an error it's not +// easy to determine whether any intents have been laid down (i.e. in case the +// batch was split by the DistSender and then there was mixed success for the +// sub-batches, or in case a retriable error is returned), the test verifies +// that all possible intents are properly tracked and attached to a subsequent +// EndTransaction. func TestOnePCErrorTracking(t *testing.T) { defer leaktest.AfterTest(t)() ctx := context.Background() diff --git a/pkg/kv/txn_interceptor_pipeliner.go b/pkg/kv/txn_interceptor_pipeliner.go index da84a0727968..a7b5b1ecfa34 100644 --- a/pkg/kv/txn_interceptor_pipeliner.go +++ b/pkg/kv/txn_interceptor_pipeliner.go @@ -308,9 +308,6 @@ func (tp *txnPipeliner) chainToInFlightWrites(ba roachpb.BatchRequest) roachpb.B // batch synchronously and avoid all of the overhead of pipelining. if maxBatch := pipelinedWritesMaxBatchSize.Get(&tp.st.SV); maxBatch > 0 { batchSize := int64(len(ba.Requests)) - if _, hasBT := ba.GetArg(roachpb.BeginTransaction); hasBT { - batchSize-- - } if batchSize > maxBatch { asyncConsensus = false } @@ -329,14 +326,7 @@ func (tp *txnPipeliner) chainToInFlightWrites(ba roachpb.BatchRequest) roachpb.B // short-circuit immediately. break } - req := ru.GetInner() - if req.Method() == roachpb.BeginTransaction { - // Ignore BeginTransaction requests. They'll always be the first - // request in a batch and will never need to chain on any existing - // writes. - continue - } if asyncConsensus { // If we're currently planning on performing the batch with diff --git a/pkg/kv/txn_interceptor_seq_num_allocator_test.go b/pkg/kv/txn_interceptor_seq_num_allocator_test.go index 4fcfa8529f64..71b52ab210bc 100644 --- a/pkg/kv/txn_interceptor_seq_num_allocator_test.go +++ b/pkg/kv/txn_interceptor_seq_num_allocator_test.go @@ -105,8 +105,8 @@ func TestSequenceNumberAllocation(t *testing.T) { } // TestSequenceNumberAllocationTxnRequests tests sequence number allocation's -// interaction with transaction state requests (BeginTxn, HeartbeatTxn, and -// EndTxn). Only EndTxn requests should be assigned unique sequence numbers. +// interaction with transaction state requests (HeartbeatTxn and EndTxn). Only +// EndTxn requests should be assigned unique sequence numbers. func TestSequenceNumberAllocationTxnRequests(t *testing.T) { defer leaktest.AfterTest(t)() ctx := context.Background() @@ -117,15 +117,13 @@ func TestSequenceNumberAllocationTxnRequests(t *testing.T) { var ba roachpb.BatchRequest ba.Header = roachpb.Header{Txn: &txn} - ba.Add(&roachpb.BeginTransactionRequest{RequestHeader: roachpb.RequestHeader{Key: keyA}}) ba.Add(&roachpb.HeartbeatTxnRequest{RequestHeader: roachpb.RequestHeader{Key: keyA}}) ba.Add(&roachpb.EndTransactionRequest{RequestHeader: roachpb.RequestHeader{Key: keyA}}) mockSender.MockSend(func(ba roachpb.BatchRequest) (*roachpb.BatchResponse, *roachpb.Error) { - require.Len(t, ba.Requests, 3) + require.Len(t, ba.Requests, 2) require.Equal(t, enginepb.TxnSeq(0), ba.Requests[0].GetInner().Header().Sequence) - require.Equal(t, enginepb.TxnSeq(0), ba.Requests[1].GetInner().Header().Sequence) - require.Equal(t, enginepb.TxnSeq(1), ba.Requests[2].GetInner().Header().Sequence) + require.Equal(t, enginepb.TxnSeq(1), ba.Requests[1].GetInner().Header().Sequence) br := ba.CreateReply() br.Txn = ba.Txn diff --git a/pkg/roachpb/api.go b/pkg/roachpb/api.go index 0522a9da4a0f..8559af9ebdb1 100644 --- a/pkg/roachpb/api.go +++ b/pkg/roachpb/api.go @@ -504,9 +504,6 @@ func (*ReverseScanRequest) Method() Method { return ReverseScan } // Method implements the Request interface. func (*CheckConsistencyRequest) Method() Method { return CheckConsistency } -// Method implements the Request interface. -func (*BeginTransactionRequest) Method() Method { return BeginTransaction } - // Method implements the Request interface. func (*EndTransactionRequest) Method() Method { return EndTransaction } @@ -672,12 +669,6 @@ func (ccr *CheckConsistencyRequest) ShallowCopy() Request { return &shallowCopy } -// ShallowCopy implements the Request interface. -func (btr *BeginTransactionRequest) ShallowCopy() Request { - shallowCopy := *btr - return &shallowCopy -} - // ShallowCopy implements the Request interface. func (etr *EndTransactionRequest) ShallowCopy() Request { shallowCopy := *etr @@ -1066,7 +1057,6 @@ func (*ScanRequest) flags() int { return isRead | isRange | isTxn | updatesReadT func (*ReverseScanRequest) flags() int { return isRead | isRange | isReverse | isTxn | updatesReadTSCache | needsRefresh } -func (*BeginTransactionRequest) flags() int { return isWrite | isTxn } // EndTransaction updates the write timestamp cache to prevent // replays. Replays for the same transaction key and timestamp will diff --git a/pkg/roachpb/api.pb.go b/pkg/roachpb/api.pb.go index d51095fb16ce..73ab3cdf4b59 100644 --- a/pkg/roachpb/api.pb.go +++ b/pkg/roachpb/api.pb.go @@ -71,7 +71,7 @@ func (x ReadConsistencyType) String() string { return proto.EnumName(ReadConsistencyType_name, int32(x)) } func (ReadConsistencyType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{0} + return fileDescriptor_api_3cb09c3a3f17353f, []int{0} } // ScanFormat is an enumeration of the available response formats for MVCCScan @@ -99,7 +99,7 @@ func (x ScanFormat) String() string { return proto.EnumName(ScanFormat_name, int32(x)) } func (ScanFormat) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{1} + return fileDescriptor_api_3cb09c3a3f17353f, []int{1} } type ChecksumMode int32 @@ -146,7 +146,7 @@ func (x ChecksumMode) String() string { return proto.EnumName(ChecksumMode_name, int32(x)) } func (ChecksumMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{2} + return fileDescriptor_api_3cb09c3a3f17353f, []int{2} } // PushTxnType determines what action to take when pushing a transaction. @@ -177,7 +177,7 @@ func (x PushTxnType) String() string { return proto.EnumName(PushTxnType_name, int32(x)) } func (PushTxnType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{3} + return fileDescriptor_api_3cb09c3a3f17353f, []int{3} } type ExternalStorageProvider int32 @@ -215,7 +215,7 @@ func (x ExternalStorageProvider) String() string { return proto.EnumName(ExternalStorageProvider_name, int32(x)) } func (ExternalStorageProvider) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{4} + return fileDescriptor_api_3cb09c3a3f17353f, []int{4} } type MVCCFilter int32 @@ -238,7 +238,7 @@ func (x MVCCFilter) String() string { return proto.EnumName(MVCCFilter_name, int32(x)) } func (MVCCFilter) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{5} + return fileDescriptor_api_3cb09c3a3f17353f, []int{5} } type ResponseHeader_ResumeReason int32 @@ -270,7 +270,7 @@ func (x ResponseHeader_ResumeReason) String() string { return proto.EnumName(ResponseHeader_ResumeReason_name, int32(x)) } func (ResponseHeader_ResumeReason) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{2, 0} + return fileDescriptor_api_3cb09c3a3f17353f, []int{2, 0} } type CheckConsistencyResponse_Status int32 @@ -312,7 +312,7 @@ func (x CheckConsistencyResponse_Status) String() string { return proto.EnumName(CheckConsistencyResponse_Status_name, int32(x)) } func (CheckConsistencyResponse_Status) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{27, 0} + return fileDescriptor_api_3cb09c3a3f17353f, []int{27, 0} } // RangeInfo describes a range which executed a request. It contains @@ -326,7 +326,7 @@ func (m *RangeInfo) Reset() { *m = RangeInfo{} } func (m *RangeInfo) String() string { return proto.CompactTextString(m) } func (*RangeInfo) ProtoMessage() {} func (*RangeInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{0} + return fileDescriptor_api_3cb09c3a3f17353f, []int{0} } func (m *RangeInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -369,7 +369,7 @@ func (m *RequestHeader) Reset() { *m = RequestHeader{} } func (m *RequestHeader) String() string { return proto.CompactTextString(m) } func (*RequestHeader) ProtoMessage() {} func (*RequestHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{1} + return fileDescriptor_api_3cb09c3a3f17353f, []int{1} } func (m *RequestHeader) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -431,7 +431,7 @@ func (m *ResponseHeader) Reset() { *m = ResponseHeader{} } func (m *ResponseHeader) String() string { return proto.CompactTextString(m) } func (*ResponseHeader) ProtoMessage() {} func (*ResponseHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{2} + return fileDescriptor_api_3cb09c3a3f17353f, []int{2} } func (m *ResponseHeader) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -465,7 +465,7 @@ func (m *GetRequest) Reset() { *m = GetRequest{} } func (m *GetRequest) String() string { return proto.CompactTextString(m) } func (*GetRequest) ProtoMessage() {} func (*GetRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{3} + return fileDescriptor_api_3cb09c3a3f17353f, []int{3} } func (m *GetRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -503,7 +503,7 @@ func (m *GetResponse) Reset() { *m = GetResponse{} } func (m *GetResponse) String() string { return proto.CompactTextString(m) } func (*GetResponse) ProtoMessage() {} func (*GetResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{4} + return fileDescriptor_api_3cb09c3a3f17353f, []int{4} } func (m *GetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -546,7 +546,7 @@ func (m *PutRequest) Reset() { *m = PutRequest{} } func (m *PutRequest) String() string { return proto.CompactTextString(m) } func (*PutRequest) ProtoMessage() {} func (*PutRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{5} + return fileDescriptor_api_3cb09c3a3f17353f, []int{5} } func (m *PutRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -580,7 +580,7 @@ func (m *PutResponse) Reset() { *m = PutResponse{} } func (m *PutResponse) String() string { return proto.CompactTextString(m) } func (*PutResponse) ProtoMessage() {} func (*PutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{6} + return fileDescriptor_api_3cb09c3a3f17353f, []int{6} } func (m *PutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -634,7 +634,7 @@ func (m *ConditionalPutRequest) Reset() { *m = ConditionalPutRequest{} } func (m *ConditionalPutRequest) String() string { return proto.CompactTextString(m) } func (*ConditionalPutRequest) ProtoMessage() {} func (*ConditionalPutRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{7} + return fileDescriptor_api_3cb09c3a3f17353f, []int{7} } func (m *ConditionalPutRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -669,7 +669,7 @@ func (m *ConditionalPutResponse) Reset() { *m = ConditionalPutResponse{} func (m *ConditionalPutResponse) String() string { return proto.CompactTextString(m) } func (*ConditionalPutResponse) ProtoMessage() {} func (*ConditionalPutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{8} + return fileDescriptor_api_3cb09c3a3f17353f, []int{8} } func (m *ConditionalPutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -715,7 +715,7 @@ func (m *InitPutRequest) Reset() { *m = InitPutRequest{} } func (m *InitPutRequest) String() string { return proto.CompactTextString(m) } func (*InitPutRequest) ProtoMessage() {} func (*InitPutRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{9} + return fileDescriptor_api_3cb09c3a3f17353f, []int{9} } func (m *InitPutRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -749,7 +749,7 @@ func (m *InitPutResponse) Reset() { *m = InitPutResponse{} } func (m *InitPutResponse) String() string { return proto.CompactTextString(m) } func (*InitPutResponse) ProtoMessage() {} func (*InitPutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{10} + return fileDescriptor_api_3cb09c3a3f17353f, []int{10} } func (m *InitPutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -789,7 +789,7 @@ func (m *IncrementRequest) Reset() { *m = IncrementRequest{} } func (m *IncrementRequest) String() string { return proto.CompactTextString(m) } func (*IncrementRequest) ProtoMessage() {} func (*IncrementRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{11} + return fileDescriptor_api_3cb09c3a3f17353f, []int{11} } func (m *IncrementRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -826,7 +826,7 @@ func (m *IncrementResponse) Reset() { *m = IncrementResponse{} } func (m *IncrementResponse) String() string { return proto.CompactTextString(m) } func (*IncrementResponse) ProtoMessage() {} func (*IncrementResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{12} + return fileDescriptor_api_3cb09c3a3f17353f, []int{12} } func (m *IncrementResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -860,7 +860,7 @@ func (m *DeleteRequest) Reset() { *m = DeleteRequest{} } func (m *DeleteRequest) String() string { return proto.CompactTextString(m) } func (*DeleteRequest) ProtoMessage() {} func (*DeleteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{13} + return fileDescriptor_api_3cb09c3a3f17353f, []int{13} } func (m *DeleteRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -894,7 +894,7 @@ func (m *DeleteResponse) Reset() { *m = DeleteResponse{} } func (m *DeleteResponse) String() string { return proto.CompactTextString(m) } func (*DeleteResponse) ProtoMessage() {} func (*DeleteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{14} + return fileDescriptor_api_3cb09c3a3f17353f, []int{14} } func (m *DeleteResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -946,7 +946,7 @@ func (m *DeleteRangeRequest) Reset() { *m = DeleteRangeRequest{} } func (m *DeleteRangeRequest) String() string { return proto.CompactTextString(m) } func (*DeleteRangeRequest) ProtoMessage() {} func (*DeleteRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{15} + return fileDescriptor_api_3cb09c3a3f17353f, []int{15} } func (m *DeleteRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -983,7 +983,7 @@ func (m *DeleteRangeResponse) Reset() { *m = DeleteRangeResponse{} } func (m *DeleteRangeResponse) String() string { return proto.CompactTextString(m) } func (*DeleteRangeResponse) ProtoMessage() {} func (*DeleteRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{16} + return fileDescriptor_api_3cb09c3a3f17353f, []int{16} } func (m *DeleteRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1030,7 +1030,7 @@ func (m *ClearRangeRequest) Reset() { *m = ClearRangeRequest{} } func (m *ClearRangeRequest) String() string { return proto.CompactTextString(m) } func (*ClearRangeRequest) ProtoMessage() {} func (*ClearRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{17} + return fileDescriptor_api_3cb09c3a3f17353f, []int{17} } func (m *ClearRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1064,7 +1064,7 @@ func (m *ClearRangeResponse) Reset() { *m = ClearRangeResponse{} } func (m *ClearRangeResponse) String() string { return proto.CompactTextString(m) } func (*ClearRangeResponse) ProtoMessage() {} func (*ClearRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{18} + return fileDescriptor_api_3cb09c3a3f17353f, []int{18} } func (m *ClearRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1105,7 +1105,7 @@ func (m *RevertRangeRequest) Reset() { *m = RevertRangeRequest{} } func (m *RevertRangeRequest) String() string { return proto.CompactTextString(m) } func (*RevertRangeRequest) ProtoMessage() {} func (*RevertRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{19} + return fileDescriptor_api_3cb09c3a3f17353f, []int{19} } func (m *RevertRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1139,7 +1139,7 @@ func (m *RevertRangeResponse) Reset() { *m = RevertRangeResponse{} } func (m *RevertRangeResponse) String() string { return proto.CompactTextString(m) } func (*RevertRangeResponse) ProtoMessage() {} func (*RevertRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{20} + return fileDescriptor_api_3cb09c3a3f17353f, []int{20} } func (m *RevertRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1168,9 +1168,8 @@ var xxx_messageInfo_RevertRangeResponse proto.InternalMessageInfo // apply to all the scans in the batch. // // If ScanOptions is present on a batch, the batch can only be made up of scan -// requests (i.e. {Reverse,}ScanReques), except for -// {Begin,End}TransactionRequest which are still allowed. Moreover, the batch -// cannot mix forward and reverse scans. +// requests (i.e. {Reverse,}ScanReques), except for EndTransactionRequest which +// are still allowed. Moreover, the batch cannot mix forward and reverse scans. // // TODO(andrei): add option to stop scan(s) when an intent is encountered. type ScanOptions struct { @@ -1208,7 +1207,7 @@ func (m *ScanOptions) Reset() { *m = ScanOptions{} } func (m *ScanOptions) String() string { return proto.CompactTextString(m) } func (*ScanOptions) ProtoMessage() {} func (*ScanOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{21} + return fileDescriptor_api_3cb09c3a3f17353f, []int{21} } func (m *ScanOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1248,7 +1247,7 @@ func (m *ScanRequest) Reset() { *m = ScanRequest{} } func (m *ScanRequest) String() string { return proto.CompactTextString(m) } func (*ScanRequest) ProtoMessage() {} func (*ScanRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{22} + return fileDescriptor_api_3cb09c3a3f17353f, []int{22} } func (m *ScanRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1295,7 +1294,7 @@ func (m *ScanResponse) Reset() { *m = ScanResponse{} } func (m *ScanResponse) String() string { return proto.CompactTextString(m) } func (*ScanResponse) ProtoMessage() {} func (*ScanResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{23} + return fileDescriptor_api_3cb09c3a3f17353f, []int{23} } func (m *ScanResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1335,7 +1334,7 @@ func (m *ReverseScanRequest) Reset() { *m = ReverseScanRequest{} } func (m *ReverseScanRequest) String() string { return proto.CompactTextString(m) } func (*ReverseScanRequest) ProtoMessage() {} func (*ReverseScanRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{24} + return fileDescriptor_api_3cb09c3a3f17353f, []int{24} } func (m *ReverseScanRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1382,7 +1381,7 @@ func (m *ReverseScanResponse) Reset() { *m = ReverseScanResponse{} } func (m *ReverseScanResponse) String() string { return proto.CompactTextString(m) } func (*ReverseScanResponse) ProtoMessage() {} func (*ReverseScanResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{25} + return fileDescriptor_api_3cb09c3a3f17353f, []int{25} } func (m *ReverseScanResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1435,7 +1434,7 @@ func (m *CheckConsistencyRequest) Reset() { *m = CheckConsistencyRequest func (m *CheckConsistencyRequest) String() string { return proto.CompactTextString(m) } func (*CheckConsistencyRequest) ProtoMessage() {} func (*CheckConsistencyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{26} + return fileDescriptor_api_3cb09c3a3f17353f, []int{26} } func (m *CheckConsistencyRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1472,7 +1471,7 @@ func (m *CheckConsistencyResponse) Reset() { *m = CheckConsistencyRespon func (m *CheckConsistencyResponse) String() string { return proto.CompactTextString(m) } func (*CheckConsistencyResponse) ProtoMessage() {} func (*CheckConsistencyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{27} + return fileDescriptor_api_3cb09c3a3f17353f, []int{27} } func (m *CheckConsistencyResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1516,7 +1515,7 @@ func (m *CheckConsistencyResponse_Result) Reset() { *m = CheckConsistenc func (m *CheckConsistencyResponse_Result) String() string { return proto.CompactTextString(m) } func (*CheckConsistencyResponse_Result) ProtoMessage() {} func (*CheckConsistencyResponse_Result) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{27, 0} + return fileDescriptor_api_3cb09c3a3f17353f, []int{27, 0} } func (m *CheckConsistencyResponse_Result) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1564,7 +1563,7 @@ func (m *RecomputeStatsRequest) Reset() { *m = RecomputeStatsRequest{} } func (m *RecomputeStatsRequest) String() string { return proto.CompactTextString(m) } func (*RecomputeStatsRequest) ProtoMessage() {} func (*RecomputeStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{28} + return fileDescriptor_api_3cb09c3a3f17353f, []int{28} } func (m *RecomputeStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1600,7 +1599,7 @@ func (m *RecomputeStatsResponse) Reset() { *m = RecomputeStatsResponse{} func (m *RecomputeStatsResponse) String() string { return proto.CompactTextString(m) } func (*RecomputeStatsResponse) ProtoMessage() {} func (*RecomputeStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{29} + return fileDescriptor_api_3cb09c3a3f17353f, []int{29} } func (m *RecomputeStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1625,74 +1624,6 @@ func (m *RecomputeStatsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_RecomputeStatsResponse proto.InternalMessageInfo -// A BeginTransactionRequest is the argument to the BeginTransaction() method. -type BeginTransactionRequest struct { - RequestHeader `protobuf:"bytes,1,opt,name=header,proto3,embedded=header" json:"header"` -} - -func (m *BeginTransactionRequest) Reset() { *m = BeginTransactionRequest{} } -func (m *BeginTransactionRequest) String() string { return proto.CompactTextString(m) } -func (*BeginTransactionRequest) ProtoMessage() {} -func (*BeginTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{30} -} -func (m *BeginTransactionRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *BeginTransactionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil -} -func (dst *BeginTransactionRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_BeginTransactionRequest.Merge(dst, src) -} -func (m *BeginTransactionRequest) XXX_Size() int { - return m.Size() -} -func (m *BeginTransactionRequest) XXX_DiscardUnknown() { - xxx_messageInfo_BeginTransactionRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_BeginTransactionRequest proto.InternalMessageInfo - -// A BeginTransactionResponse is the return value from the BeginTransaction() method. -type BeginTransactionResponse struct { - ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3,embedded=header" json:"header"` -} - -func (m *BeginTransactionResponse) Reset() { *m = BeginTransactionResponse{} } -func (m *BeginTransactionResponse) String() string { return proto.CompactTextString(m) } -func (*BeginTransactionResponse) ProtoMessage() {} -func (*BeginTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{31} -} -func (m *BeginTransactionResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *BeginTransactionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - b = b[:cap(b)] - n, err := m.MarshalTo(b) - if err != nil { - return nil, err - } - return b[:n], nil -} -func (dst *BeginTransactionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_BeginTransactionResponse.Merge(dst, src) -} -func (m *BeginTransactionResponse) XXX_Size() int { - return m.Size() -} -func (m *BeginTransactionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_BeginTransactionResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_BeginTransactionResponse proto.InternalMessageInfo - // An EndTransactionRequest is the argument to the EndTransaction() method. It // specifies whether to commit or roll back an extant transaction. type EndTransactionRequest struct { @@ -1756,7 +1687,7 @@ func (m *EndTransactionRequest) Reset() { *m = EndTransactionRequest{} } func (m *EndTransactionRequest) String() string { return proto.CompactTextString(m) } func (*EndTransactionRequest) ProtoMessage() {} func (*EndTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{32} + return fileDescriptor_api_3cb09c3a3f17353f, []int{30} } func (m *EndTransactionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1803,7 +1734,7 @@ func (m *EndTransactionResponse) Reset() { *m = EndTransactionResponse{} func (m *EndTransactionResponse) String() string { return proto.CompactTextString(m) } func (*EndTransactionResponse) ProtoMessage() {} func (*EndTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{33} + return fileDescriptor_api_3cb09c3a3f17353f, []int{31} } func (m *EndTransactionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1864,7 +1795,7 @@ func (m *AdminSplitRequest) Reset() { *m = AdminSplitRequest{} } func (m *AdminSplitRequest) String() string { return proto.CompactTextString(m) } func (*AdminSplitRequest) ProtoMessage() {} func (*AdminSplitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{34} + return fileDescriptor_api_3cb09c3a3f17353f, []int{32} } func (m *AdminSplitRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1899,7 +1830,7 @@ func (m *AdminSplitResponse) Reset() { *m = AdminSplitResponse{} } func (m *AdminSplitResponse) String() string { return proto.CompactTextString(m) } func (*AdminSplitResponse) ProtoMessage() {} func (*AdminSplitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{35} + return fileDescriptor_api_3cb09c3a3f17353f, []int{33} } func (m *AdminSplitResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1938,7 +1869,7 @@ func (m *AdminUnsplitRequest) Reset() { *m = AdminUnsplitRequest{} } func (m *AdminUnsplitRequest) String() string { return proto.CompactTextString(m) } func (*AdminUnsplitRequest) ProtoMessage() {} func (*AdminUnsplitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{36} + return fileDescriptor_api_3cb09c3a3f17353f, []int{34} } func (m *AdminUnsplitRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1973,7 +1904,7 @@ func (m *AdminUnsplitResponse) Reset() { *m = AdminUnsplitResponse{} } func (m *AdminUnsplitResponse) String() string { return proto.CompactTextString(m) } func (*AdminUnsplitResponse) ProtoMessage() {} func (*AdminUnsplitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{37} + return fileDescriptor_api_3cb09c3a3f17353f, []int{35} } func (m *AdminUnsplitResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2016,7 +1947,7 @@ func (m *AdminMergeRequest) Reset() { *m = AdminMergeRequest{} } func (m *AdminMergeRequest) String() string { return proto.CompactTextString(m) } func (*AdminMergeRequest) ProtoMessage() {} func (*AdminMergeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{38} + return fileDescriptor_api_3cb09c3a3f17353f, []int{36} } func (m *AdminMergeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2051,7 +1982,7 @@ func (m *AdminMergeResponse) Reset() { *m = AdminMergeResponse{} } func (m *AdminMergeResponse) String() string { return proto.CompactTextString(m) } func (*AdminMergeResponse) ProtoMessage() {} func (*AdminMergeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{39} + return fileDescriptor_api_3cb09c3a3f17353f, []int{37} } func (m *AdminMergeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2089,7 +2020,7 @@ func (m *AdminTransferLeaseRequest) Reset() { *m = AdminTransferLeaseReq func (m *AdminTransferLeaseRequest) String() string { return proto.CompactTextString(m) } func (*AdminTransferLeaseRequest) ProtoMessage() {} func (*AdminTransferLeaseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{40} + return fileDescriptor_api_3cb09c3a3f17353f, []int{38} } func (m *AdminTransferLeaseRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2122,7 +2053,7 @@ func (m *AdminTransferLeaseResponse) Reset() { *m = AdminTransferLeaseRe func (m *AdminTransferLeaseResponse) String() string { return proto.CompactTextString(m) } func (*AdminTransferLeaseResponse) ProtoMessage() {} func (*AdminTransferLeaseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{41} + return fileDescriptor_api_3cb09c3a3f17353f, []int{39} } func (m *AdminTransferLeaseResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2157,7 +2088,7 @@ func (m *ReplicationChange) Reset() { *m = ReplicationChange{} } func (m *ReplicationChange) String() string { return proto.CompactTextString(m) } func (*ReplicationChange) ProtoMessage() {} func (*ReplicationChange) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{42} + return fileDescriptor_api_3cb09c3a3f17353f, []int{40} } func (m *ReplicationChange) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2215,7 +2146,7 @@ func (m *AdminChangeReplicasRequest) Reset() { *m = AdminChangeReplicasR func (m *AdminChangeReplicasRequest) String() string { return proto.CompactTextString(m) } func (*AdminChangeReplicasRequest) ProtoMessage() {} func (*AdminChangeReplicasRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{43} + return fileDescriptor_api_3cb09c3a3f17353f, []int{41} } func (m *AdminChangeReplicasRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2250,7 +2181,7 @@ func (m *AdminChangeReplicasResponse) Reset() { *m = AdminChangeReplicas func (m *AdminChangeReplicasResponse) String() string { return proto.CompactTextString(m) } func (*AdminChangeReplicasResponse) ProtoMessage() {} func (*AdminChangeReplicasResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{44} + return fileDescriptor_api_3cb09c3a3f17353f, []int{42} } func (m *AdminChangeReplicasResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2287,7 +2218,7 @@ func (m *AdminRelocateRangeRequest) Reset() { *m = AdminRelocateRangeReq func (m *AdminRelocateRangeRequest) String() string { return proto.CompactTextString(m) } func (*AdminRelocateRangeRequest) ProtoMessage() {} func (*AdminRelocateRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{45} + return fileDescriptor_api_3cb09c3a3f17353f, []int{43} } func (m *AdminRelocateRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2320,7 +2251,7 @@ func (m *AdminRelocateRangeResponse) Reset() { *m = AdminRelocateRangeRe func (m *AdminRelocateRangeResponse) String() string { return proto.CompactTextString(m) } func (*AdminRelocateRangeResponse) ProtoMessage() {} func (*AdminRelocateRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{46} + return fileDescriptor_api_3cb09c3a3f17353f, []int{44} } func (m *AdminRelocateRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2359,7 +2290,7 @@ func (m *HeartbeatTxnRequest) Reset() { *m = HeartbeatTxnRequest{} } func (m *HeartbeatTxnRequest) String() string { return proto.CompactTextString(m) } func (*HeartbeatTxnRequest) ProtoMessage() {} func (*HeartbeatTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{47} + return fileDescriptor_api_3cb09c3a3f17353f, []int{45} } func (m *HeartbeatTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2396,7 +2327,7 @@ func (m *HeartbeatTxnResponse) Reset() { *m = HeartbeatTxnResponse{} } func (m *HeartbeatTxnResponse) String() string { return proto.CompactTextString(m) } func (*HeartbeatTxnResponse) ProtoMessage() {} func (*HeartbeatTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{48} + return fileDescriptor_api_3cb09c3a3f17353f, []int{46} } func (m *HeartbeatTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2434,7 +2365,7 @@ func (m *GCRequest) Reset() { *m = GCRequest{} } func (m *GCRequest) String() string { return proto.CompactTextString(m) } func (*GCRequest) ProtoMessage() {} func (*GCRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{49} + return fileDescriptor_api_3cb09c3a3f17353f, []int{47} } func (m *GCRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2468,7 +2399,7 @@ func (m *GCRequest_GCKey) Reset() { *m = GCRequest_GCKey{} } func (m *GCRequest_GCKey) String() string { return proto.CompactTextString(m) } func (*GCRequest_GCKey) ProtoMessage() {} func (*GCRequest_GCKey) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{49, 0} + return fileDescriptor_api_3cb09c3a3f17353f, []int{47, 0} } func (m *GCRequest_GCKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2502,7 +2433,7 @@ func (m *GCResponse) Reset() { *m = GCResponse{} } func (m *GCResponse) String() string { return proto.CompactTextString(m) } func (*GCResponse) ProtoMessage() {} func (*GCResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{50} + return fileDescriptor_api_3cb09c3a3f17353f, []int{48} } func (m *GCResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2577,7 +2508,7 @@ func (m *PushTxnRequest) Reset() { *m = PushTxnRequest{} } func (m *PushTxnRequest) String() string { return proto.CompactTextString(m) } func (*PushTxnRequest) ProtoMessage() {} func (*PushTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{51} + return fileDescriptor_api_3cb09c3a3f17353f, []int{49} } func (m *PushTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2620,7 +2551,7 @@ func (m *PushTxnResponse) Reset() { *m = PushTxnResponse{} } func (m *PushTxnResponse) String() string { return proto.CompactTextString(m) } func (*PushTxnResponse) ProtoMessage() {} func (*PushTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{52} + return fileDescriptor_api_3cb09c3a3f17353f, []int{50} } func (m *PushTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2667,7 +2598,7 @@ func (m *RecoverTxnRequest) Reset() { *m = RecoverTxnRequest{} } func (m *RecoverTxnRequest) String() string { return proto.CompactTextString(m) } func (*RecoverTxnRequest) ProtoMessage() {} func (*RecoverTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{53} + return fileDescriptor_api_3cb09c3a3f17353f, []int{51} } func (m *RecoverTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2703,7 +2634,7 @@ func (m *RecoverTxnResponse) Reset() { *m = RecoverTxnResponse{} } func (m *RecoverTxnResponse) String() string { return proto.CompactTextString(m) } func (*RecoverTxnResponse) ProtoMessage() {} func (*RecoverTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{54} + return fileDescriptor_api_3cb09c3a3f17353f, []int{52} } func (m *RecoverTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2747,7 +2678,7 @@ func (m *QueryTxnRequest) Reset() { *m = QueryTxnRequest{} } func (m *QueryTxnRequest) String() string { return proto.CompactTextString(m) } func (*QueryTxnRequest) ProtoMessage() {} func (*QueryTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{55} + return fileDescriptor_api_3cb09c3a3f17353f, []int{53} } func (m *QueryTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2786,7 +2717,7 @@ func (m *QueryTxnResponse) Reset() { *m = QueryTxnResponse{} } func (m *QueryTxnResponse) String() string { return proto.CompactTextString(m) } func (*QueryTxnResponse) ProtoMessage() {} func (*QueryTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{56} + return fileDescriptor_api_3cb09c3a3f17353f, []int{54} } func (m *QueryTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2846,7 +2777,7 @@ func (m *QueryIntentRequest) Reset() { *m = QueryIntentRequest{} } func (m *QueryIntentRequest) String() string { return proto.CompactTextString(m) } func (*QueryIntentRequest) ProtoMessage() {} func (*QueryIntentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{57} + return fileDescriptor_api_3cb09c3a3f17353f, []int{55} } func (m *QueryIntentRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2882,7 +2813,7 @@ func (m *QueryIntentResponse) Reset() { *m = QueryIntentResponse{} } func (m *QueryIntentResponse) String() string { return proto.CompactTextString(m) } func (*QueryIntentResponse) ProtoMessage() {} func (*QueryIntentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{58} + return fileDescriptor_api_3cb09c3a3f17353f, []int{56} } func (m *QueryIntentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2926,7 +2857,7 @@ func (m *ResolveIntentRequest) Reset() { *m = ResolveIntentRequest{} } func (m *ResolveIntentRequest) String() string { return proto.CompactTextString(m) } func (*ResolveIntentRequest) ProtoMessage() {} func (*ResolveIntentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{59} + return fileDescriptor_api_3cb09c3a3f17353f, []int{57} } func (m *ResolveIntentRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2961,7 +2892,7 @@ func (m *ResolveIntentResponse) Reset() { *m = ResolveIntentResponse{} } func (m *ResolveIntentResponse) String() string { return proto.CompactTextString(m) } func (*ResolveIntentResponse) ProtoMessage() {} func (*ResolveIntentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{60} + return fileDescriptor_api_3cb09c3a3f17353f, []int{58} } func (m *ResolveIntentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3009,7 +2940,7 @@ func (m *ResolveIntentRangeRequest) Reset() { *m = ResolveIntentRangeReq func (m *ResolveIntentRangeRequest) String() string { return proto.CompactTextString(m) } func (*ResolveIntentRangeRequest) ProtoMessage() {} func (*ResolveIntentRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{61} + return fileDescriptor_api_3cb09c3a3f17353f, []int{59} } func (m *ResolveIntentRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3044,7 +2975,7 @@ func (m *ResolveIntentRangeResponse) Reset() { *m = ResolveIntentRangeRe func (m *ResolveIntentRangeResponse) String() string { return proto.CompactTextString(m) } func (*ResolveIntentRangeResponse) ProtoMessage() {} func (*ResolveIntentRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{62} + return fileDescriptor_api_3cb09c3a3f17353f, []int{60} } func (m *ResolveIntentRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3081,7 +3012,7 @@ func (m *MergeRequest) Reset() { *m = MergeRequest{} } func (m *MergeRequest) String() string { return proto.CompactTextString(m) } func (*MergeRequest) ProtoMessage() {} func (*MergeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{63} + return fileDescriptor_api_3cb09c3a3f17353f, []int{61} } func (m *MergeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3115,7 +3046,7 @@ func (m *MergeResponse) Reset() { *m = MergeResponse{} } func (m *MergeResponse) String() string { return proto.CompactTextString(m) } func (*MergeResponse) ProtoMessage() {} func (*MergeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{64} + return fileDescriptor_api_3cb09c3a3f17353f, []int{62} } func (m *MergeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3160,7 +3091,7 @@ func (m *TruncateLogRequest) Reset() { *m = TruncateLogRequest{} } func (m *TruncateLogRequest) String() string { return proto.CompactTextString(m) } func (*TruncateLogRequest) ProtoMessage() {} func (*TruncateLogRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{65} + return fileDescriptor_api_3cb09c3a3f17353f, []int{63} } func (m *TruncateLogRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3194,7 +3125,7 @@ func (m *TruncateLogResponse) Reset() { *m = TruncateLogResponse{} } func (m *TruncateLogResponse) String() string { return proto.CompactTextString(m) } func (*TruncateLogResponse) ProtoMessage() {} func (*TruncateLogResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{66} + return fileDescriptor_api_3cb09c3a3f17353f, []int{64} } func (m *TruncateLogResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3238,7 +3169,7 @@ func (m *RequestLeaseRequest) Reset() { *m = RequestLeaseRequest{} } func (m *RequestLeaseRequest) String() string { return proto.CompactTextString(m) } func (*RequestLeaseRequest) ProtoMessage() {} func (*RequestLeaseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{67} + return fileDescriptor_api_3cb09c3a3f17353f, []int{65} } func (m *RequestLeaseRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3287,7 +3218,7 @@ func (m *TransferLeaseRequest) Reset() { *m = TransferLeaseRequest{} } func (m *TransferLeaseRequest) String() string { return proto.CompactTextString(m) } func (*TransferLeaseRequest) ProtoMessage() {} func (*TransferLeaseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{68} + return fileDescriptor_api_3cb09c3a3f17353f, []int{66} } func (m *TransferLeaseRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3324,7 +3255,7 @@ func (m *LeaseInfoRequest) Reset() { *m = LeaseInfoRequest{} } func (m *LeaseInfoRequest) String() string { return proto.CompactTextString(m) } func (*LeaseInfoRequest) ProtoMessage() {} func (*LeaseInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{69} + return fileDescriptor_api_3cb09c3a3f17353f, []int{67} } func (m *LeaseInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3361,7 +3292,7 @@ func (m *LeaseInfoResponse) Reset() { *m = LeaseInfoResponse{} } func (m *LeaseInfoResponse) String() string { return proto.CompactTextString(m) } func (*LeaseInfoResponse) ProtoMessage() {} func (*LeaseInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{70} + return fileDescriptor_api_3cb09c3a3f17353f, []int{68} } func (m *LeaseInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3396,7 +3327,7 @@ func (m *RequestLeaseResponse) Reset() { *m = RequestLeaseResponse{} } func (m *RequestLeaseResponse) String() string { return proto.CompactTextString(m) } func (*RequestLeaseResponse) ProtoMessage() {} func (*RequestLeaseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{71} + return fileDescriptor_api_3cb09c3a3f17353f, []int{69} } func (m *RequestLeaseResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3451,7 +3382,7 @@ func (m *ComputeChecksumRequest) Reset() { *m = ComputeChecksumRequest{} func (m *ComputeChecksumRequest) String() string { return proto.CompactTextString(m) } func (*ComputeChecksumRequest) ProtoMessage() {} func (*ComputeChecksumRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{72} + return fileDescriptor_api_3cb09c3a3f17353f, []int{70} } func (m *ComputeChecksumRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3488,7 +3419,7 @@ func (m *ComputeChecksumResponse) Reset() { *m = ComputeChecksumResponse func (m *ComputeChecksumResponse) String() string { return proto.CompactTextString(m) } func (*ComputeChecksumResponse) ProtoMessage() {} func (*ComputeChecksumResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{73} + return fileDescriptor_api_3cb09c3a3f17353f, []int{71} } func (m *ComputeChecksumResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3527,7 +3458,7 @@ func (m *ExternalStorage) Reset() { *m = ExternalStorage{} } func (m *ExternalStorage) String() string { return proto.CompactTextString(m) } func (*ExternalStorage) ProtoMessage() {} func (*ExternalStorage) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{74} + return fileDescriptor_api_3cb09c3a3f17353f, []int{72} } func (m *ExternalStorage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3561,7 +3492,7 @@ func (m *ExternalStorage_LocalFilePath) Reset() { *m = ExternalStorage_L func (m *ExternalStorage_LocalFilePath) String() string { return proto.CompactTextString(m) } func (*ExternalStorage_LocalFilePath) ProtoMessage() {} func (*ExternalStorage_LocalFilePath) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{74, 0} + return fileDescriptor_api_3cb09c3a3f17353f, []int{72, 0} } func (m *ExternalStorage_LocalFilePath) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3594,7 +3525,7 @@ func (m *ExternalStorage_Http) Reset() { *m = ExternalStorage_Http{} } func (m *ExternalStorage_Http) String() string { return proto.CompactTextString(m) } func (*ExternalStorage_Http) ProtoMessage() {} func (*ExternalStorage_Http) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{74, 1} + return fileDescriptor_api_3cb09c3a3f17353f, []int{72, 1} } func (m *ExternalStorage_Http) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3634,7 +3565,7 @@ func (m *ExternalStorage_S3) Reset() { *m = ExternalStorage_S3{} } func (m *ExternalStorage_S3) String() string { return proto.CompactTextString(m) } func (*ExternalStorage_S3) ProtoMessage() {} func (*ExternalStorage_S3) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{74, 2} + return fileDescriptor_api_3cb09c3a3f17353f, []int{72, 2} } func (m *ExternalStorage_S3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3673,7 +3604,7 @@ func (m *ExternalStorage_GCS) Reset() { *m = ExternalStorage_GCS{} } func (m *ExternalStorage_GCS) String() string { return proto.CompactTextString(m) } func (*ExternalStorage_GCS) ProtoMessage() {} func (*ExternalStorage_GCS) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{74, 3} + return fileDescriptor_api_3cb09c3a3f17353f, []int{72, 3} } func (m *ExternalStorage_GCS) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3709,7 +3640,7 @@ func (m *ExternalStorage_Azure) Reset() { *m = ExternalStorage_Azure{} } func (m *ExternalStorage_Azure) String() string { return proto.CompactTextString(m) } func (*ExternalStorage_Azure) ProtoMessage() {} func (*ExternalStorage_Azure) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{74, 4} + return fileDescriptor_api_3cb09c3a3f17353f, []int{72, 4} } func (m *ExternalStorage_Azure) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3748,7 +3679,7 @@ func (m *ExternalStorage_Workload) Reset() { *m = ExternalStorage_Worklo func (m *ExternalStorage_Workload) String() string { return proto.CompactTextString(m) } func (*ExternalStorage_Workload) ProtoMessage() {} func (*ExternalStorage_Workload) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{74, 5} + return fileDescriptor_api_3cb09c3a3f17353f, []int{72, 5} } func (m *ExternalStorage_Workload) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3788,7 +3719,7 @@ func (m *WriteBatchRequest) Reset() { *m = WriteBatchRequest{} } func (m *WriteBatchRequest) String() string { return proto.CompactTextString(m) } func (*WriteBatchRequest) ProtoMessage() {} func (*WriteBatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{75} + return fileDescriptor_api_3cb09c3a3f17353f, []int{73} } func (m *WriteBatchRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3822,7 +3753,7 @@ func (m *WriteBatchResponse) Reset() { *m = WriteBatchResponse{} } func (m *WriteBatchResponse) String() string { return proto.CompactTextString(m) } func (*WriteBatchResponse) ProtoMessage() {} func (*WriteBatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{76} + return fileDescriptor_api_3cb09c3a3f17353f, []int{74} } func (m *WriteBatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3884,7 +3815,7 @@ func (m *ExportRequest) Reset() { *m = ExportRequest{} } func (m *ExportRequest) String() string { return proto.CompactTextString(m) } func (*ExportRequest) ProtoMessage() {} func (*ExportRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{77} + return fileDescriptor_api_3cb09c3a3f17353f, []int{75} } func (m *ExportRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3920,7 +3851,7 @@ func (m *BulkOpSummary) Reset() { *m = BulkOpSummary{} } func (m *BulkOpSummary) String() string { return proto.CompactTextString(m) } func (*BulkOpSummary) ProtoMessage() {} func (*BulkOpSummary) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{78} + return fileDescriptor_api_3cb09c3a3f17353f, []int{76} } func (m *BulkOpSummary) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3956,7 +3887,7 @@ func (m *ExportResponse) Reset() { *m = ExportResponse{} } func (m *ExportResponse) String() string { return proto.CompactTextString(m) } func (*ExportResponse) ProtoMessage() {} func (*ExportResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{79} + return fileDescriptor_api_3cb09c3a3f17353f, []int{77} } func (m *ExportResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3996,7 +3927,7 @@ func (m *ExportResponse_File) Reset() { *m = ExportResponse_File{} } func (m *ExportResponse_File) String() string { return proto.CompactTextString(m) } func (*ExportResponse_File) ProtoMessage() {} func (*ExportResponse_File) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{79, 0} + return fileDescriptor_api_3cb09c3a3f17353f, []int{77, 0} } func (m *ExportResponse_File) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4046,7 +3977,7 @@ func (m *ImportRequest) Reset() { *m = ImportRequest{} } func (m *ImportRequest) String() string { return proto.CompactTextString(m) } func (*ImportRequest) ProtoMessage() {} func (*ImportRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{80} + return fileDescriptor_api_3cb09c3a3f17353f, []int{78} } func (m *ImportRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4081,7 +4012,7 @@ func (m *ImportRequest_File) Reset() { *m = ImportRequest_File{} } func (m *ImportRequest_File) String() string { return proto.CompactTextString(m) } func (*ImportRequest_File) ProtoMessage() {} func (*ImportRequest_File) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{80, 0} + return fileDescriptor_api_3cb09c3a3f17353f, []int{78, 0} } func (m *ImportRequest_File) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4117,7 +4048,7 @@ func (m *ImportRequest_TableRekey) Reset() { *m = ImportRequest_TableRek func (m *ImportRequest_TableRekey) String() string { return proto.CompactTextString(m) } func (*ImportRequest_TableRekey) ProtoMessage() {} func (*ImportRequest_TableRekey) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{80, 1} + return fileDescriptor_api_3cb09c3a3f17353f, []int{78, 1} } func (m *ImportRequest_TableRekey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4152,7 +4083,7 @@ func (m *ImportResponse) Reset() { *m = ImportResponse{} } func (m *ImportResponse) String() string { return proto.CompactTextString(m) } func (*ImportResponse) ProtoMessage() {} func (*ImportResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{81} + return fileDescriptor_api_3cb09c3a3f17353f, []int{79} } func (m *ImportResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4190,7 +4121,7 @@ func (m *AdminScatterRequest) Reset() { *m = AdminScatterRequest{} } func (m *AdminScatterRequest) String() string { return proto.CompactTextString(m) } func (*AdminScatterRequest) ProtoMessage() {} func (*AdminScatterRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{82} + return fileDescriptor_api_3cb09c3a3f17353f, []int{80} } func (m *AdminScatterRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4225,7 +4156,7 @@ func (m *AdminScatterResponse) Reset() { *m = AdminScatterResponse{} } func (m *AdminScatterResponse) String() string { return proto.CompactTextString(m) } func (*AdminScatterResponse) ProtoMessage() {} func (*AdminScatterResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{83} + return fileDescriptor_api_3cb09c3a3f17353f, []int{81} } func (m *AdminScatterResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4258,7 +4189,7 @@ func (m *AdminScatterResponse_Range) Reset() { *m = AdminScatterResponse func (m *AdminScatterResponse_Range) String() string { return proto.CompactTextString(m) } func (*AdminScatterResponse_Range) ProtoMessage() {} func (*AdminScatterResponse_Range) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{83, 0} + return fileDescriptor_api_3cb09c3a3f17353f, []int{81, 0} } func (m *AdminScatterResponse_Range) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4311,7 +4242,7 @@ func (m *AddSSTableRequest) Reset() { *m = AddSSTableRequest{} } func (m *AddSSTableRequest) String() string { return proto.CompactTextString(m) } func (*AddSSTableRequest) ProtoMessage() {} func (*AddSSTableRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{84} + return fileDescriptor_api_3cb09c3a3f17353f, []int{82} } func (m *AddSSTableRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4345,7 +4276,7 @@ func (m *AddSSTableResponse) Reset() { *m = AddSSTableResponse{} } func (m *AddSSTableResponse) String() string { return proto.CompactTextString(m) } func (*AddSSTableResponse) ProtoMessage() {} func (*AddSSTableResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{85} + return fileDescriptor_api_3cb09c3a3f17353f, []int{83} } func (m *AddSSTableResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4394,7 +4325,7 @@ func (m *RefreshRequest) Reset() { *m = RefreshRequest{} } func (m *RefreshRequest) String() string { return proto.CompactTextString(m) } func (*RefreshRequest) ProtoMessage() {} func (*RefreshRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{86} + return fileDescriptor_api_3cb09c3a3f17353f, []int{84} } func (m *RefreshRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4428,7 +4359,7 @@ func (m *RefreshResponse) Reset() { *m = RefreshResponse{} } func (m *RefreshResponse) String() string { return proto.CompactTextString(m) } func (*RefreshResponse) ProtoMessage() {} func (*RefreshResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{87} + return fileDescriptor_api_3cb09c3a3f17353f, []int{85} } func (m *RefreshResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4471,7 +4402,7 @@ func (m *RefreshRangeRequest) Reset() { *m = RefreshRangeRequest{} } func (m *RefreshRangeRequest) String() string { return proto.CompactTextString(m) } func (*RefreshRangeRequest) ProtoMessage() {} func (*RefreshRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{88} + return fileDescriptor_api_3cb09c3a3f17353f, []int{86} } func (m *RefreshRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4505,7 +4436,7 @@ func (m *RefreshRangeResponse) Reset() { *m = RefreshRangeResponse{} } func (m *RefreshRangeResponse) String() string { return proto.CompactTextString(m) } func (*RefreshRangeResponse) ProtoMessage() {} func (*RefreshRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{89} + return fileDescriptor_api_3cb09c3a3f17353f, []int{87} } func (m *RefreshRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4557,7 +4488,7 @@ func (m *SubsumeRequest) Reset() { *m = SubsumeRequest{} } func (m *SubsumeRequest) String() string { return proto.CompactTextString(m) } func (*SubsumeRequest) ProtoMessage() {} func (*SubsumeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{90} + return fileDescriptor_api_3cb09c3a3f17353f, []int{88} } func (m *SubsumeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4606,7 +4537,7 @@ func (m *SubsumeResponse) Reset() { *m = SubsumeResponse{} } func (m *SubsumeResponse) String() string { return proto.CompactTextString(m) } func (*SubsumeResponse) ProtoMessage() {} func (*SubsumeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{91} + return fileDescriptor_api_3cb09c3a3f17353f, []int{89} } func (m *SubsumeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4641,7 +4572,7 @@ func (m *RangeStatsRequest) Reset() { *m = RangeStatsRequest{} } func (m *RangeStatsRequest) String() string { return proto.CompactTextString(m) } func (*RangeStatsRequest) ProtoMessage() {} func (*RangeStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{92} + return fileDescriptor_api_3cb09c3a3f17353f, []int{90} } func (m *RangeStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4680,7 +4611,7 @@ func (m *RangeStatsResponse) Reset() { *m = RangeStatsResponse{} } func (m *RangeStatsResponse) String() string { return proto.CompactTextString(m) } func (*RangeStatsResponse) ProtoMessage() {} func (*RangeStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{93} + return fileDescriptor_api_3cb09c3a3f17353f, []int{91} } func (m *RangeStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4721,7 +4652,6 @@ type RequestUnion struct { // *RequestUnion_ClearRange // *RequestUnion_RevertRange // *RequestUnion_Scan - // *RequestUnion_BeginTransaction // *RequestUnion_EndTransaction // *RequestUnion_AdminSplit // *RequestUnion_AdminUnsplit @@ -4763,7 +4693,7 @@ func (m *RequestUnion) Reset() { *m = RequestUnion{} } func (m *RequestUnion) String() string { return proto.CompactTextString(m) } func (*RequestUnion) ProtoMessage() {} func (*RequestUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{94} + return fileDescriptor_api_3cb09c3a3f17353f, []int{92} } func (m *RequestUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4821,9 +4751,6 @@ type RequestUnion_RevertRange struct { type RequestUnion_Scan struct { Scan *ScanRequest `protobuf:"bytes,7,opt,name=scan,proto3,oneof"` } -type RequestUnion_BeginTransaction struct { - BeginTransaction *BeginTransactionRequest `protobuf:"bytes,8,opt,name=begin_transaction,json=beginTransaction,proto3,oneof"` -} type RequestUnion_EndTransaction struct { EndTransaction *EndTransactionRequest `protobuf:"bytes,9,opt,name=end_transaction,json=endTransaction,proto3,oneof"` } @@ -4936,7 +4863,6 @@ func (*RequestUnion_DeleteRange) isRequestUnion_Value() {} func (*RequestUnion_ClearRange) isRequestUnion_Value() {} func (*RequestUnion_RevertRange) isRequestUnion_Value() {} func (*RequestUnion_Scan) isRequestUnion_Value() {} -func (*RequestUnion_BeginTransaction) isRequestUnion_Value() {} func (*RequestUnion_EndTransaction) isRequestUnion_Value() {} func (*RequestUnion_AdminSplit) isRequestUnion_Value() {} func (*RequestUnion_AdminUnsplit) isRequestUnion_Value() {} @@ -5042,13 +4968,6 @@ func (m *RequestUnion) GetScan() *ScanRequest { return nil } -func (m *RequestUnion) GetBeginTransaction() *BeginTransactionRequest { - if x, ok := m.GetValue().(*RequestUnion_BeginTransaction); ok { - return x.BeginTransaction - } - return nil -} - func (m *RequestUnion) GetEndTransaction() *EndTransactionRequest { if x, ok := m.GetValue().(*RequestUnion_EndTransaction); ok { return x.EndTransaction @@ -5299,7 +5218,6 @@ func (*RequestUnion) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) (*RequestUnion_ClearRange)(nil), (*RequestUnion_RevertRange)(nil), (*RequestUnion_Scan)(nil), - (*RequestUnion_BeginTransaction)(nil), (*RequestUnion_EndTransaction)(nil), (*RequestUnion_AdminSplit)(nil), (*RequestUnion_AdminUnsplit)(nil), @@ -5386,11 +5304,6 @@ func _RequestUnion_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { if err := b.EncodeMessage(x.Scan); err != nil { return err } - case *RequestUnion_BeginTransaction: - _ = b.EncodeVarint(8<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.BeginTransaction); err != nil { - return err - } case *RequestUnion_EndTransaction: _ = b.EncodeVarint(9<<3 | proto.WireBytes) if err := b.EncodeMessage(x.EndTransaction); err != nil { @@ -5643,14 +5556,6 @@ func _RequestUnion_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.B err := b.DecodeMessage(msg) m.Value = &RequestUnion_Scan{msg} return true, err - case 8: // value.begin_transaction - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(BeginTransactionRequest) - err := b.DecodeMessage(msg) - m.Value = &RequestUnion_BeginTransaction{msg} - return true, err case 9: // value.end_transaction if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType @@ -5977,11 +5882,6 @@ func _RequestUnion_OneofSizer(msg proto.Message) (n int) { n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s - case *RequestUnion_BeginTransaction: - s := proto.Size(x.BeginTransaction) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s case *RequestUnion_EndTransaction: s := proto.Size(x.EndTransaction) n += 1 // tag and wire @@ -6172,7 +6072,6 @@ type ResponseUnion struct { // *ResponseUnion_ClearRange // *ResponseUnion_RevertRange // *ResponseUnion_Scan - // *ResponseUnion_BeginTransaction // *ResponseUnion_EndTransaction // *ResponseUnion_AdminSplit // *ResponseUnion_AdminUnsplit @@ -6213,7 +6112,7 @@ func (m *ResponseUnion) Reset() { *m = ResponseUnion{} } func (m *ResponseUnion) String() string { return proto.CompactTextString(m) } func (*ResponseUnion) ProtoMessage() {} func (*ResponseUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{95} + return fileDescriptor_api_3cb09c3a3f17353f, []int{93} } func (m *ResponseUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6271,9 +6170,6 @@ type ResponseUnion_RevertRange struct { type ResponseUnion_Scan struct { Scan *ScanResponse `protobuf:"bytes,7,opt,name=scan,proto3,oneof"` } -type ResponseUnion_BeginTransaction struct { - BeginTransaction *BeginTransactionResponse `protobuf:"bytes,8,opt,name=begin_transaction,json=beginTransaction,proto3,oneof"` -} type ResponseUnion_EndTransaction struct { EndTransaction *EndTransactionResponse `protobuf:"bytes,9,opt,name=end_transaction,json=endTransaction,proto3,oneof"` } @@ -6383,7 +6279,6 @@ func (*ResponseUnion_DeleteRange) isResponseUnion_Value() {} func (*ResponseUnion_ClearRange) isResponseUnion_Value() {} func (*ResponseUnion_RevertRange) isResponseUnion_Value() {} func (*ResponseUnion_Scan) isResponseUnion_Value() {} -func (*ResponseUnion_BeginTransaction) isResponseUnion_Value() {} func (*ResponseUnion_EndTransaction) isResponseUnion_Value() {} func (*ResponseUnion_AdminSplit) isResponseUnion_Value() {} func (*ResponseUnion_AdminUnsplit) isResponseUnion_Value() {} @@ -6488,13 +6383,6 @@ func (m *ResponseUnion) GetScan() *ScanResponse { return nil } -func (m *ResponseUnion) GetBeginTransaction() *BeginTransactionResponse { - if x, ok := m.GetValue().(*ResponseUnion_BeginTransaction); ok { - return x.BeginTransaction - } - return nil -} - func (m *ResponseUnion) GetEndTransaction() *EndTransactionResponse { if x, ok := m.GetValue().(*ResponseUnion_EndTransaction); ok { return x.EndTransaction @@ -6738,7 +6626,6 @@ func (*ResponseUnion) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) (*ResponseUnion_ClearRange)(nil), (*ResponseUnion_RevertRange)(nil), (*ResponseUnion_Scan)(nil), - (*ResponseUnion_BeginTransaction)(nil), (*ResponseUnion_EndTransaction)(nil), (*ResponseUnion_AdminSplit)(nil), (*ResponseUnion_AdminUnsplit)(nil), @@ -6824,11 +6711,6 @@ func _ResponseUnion_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { if err := b.EncodeMessage(x.Scan); err != nil { return err } - case *ResponseUnion_BeginTransaction: - _ = b.EncodeVarint(8<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.BeginTransaction); err != nil { - return err - } case *ResponseUnion_EndTransaction: _ = b.EncodeVarint(9<<3 | proto.WireBytes) if err := b.EncodeMessage(x.EndTransaction); err != nil { @@ -7076,14 +6958,6 @@ func _ResponseUnion_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto. err := b.DecodeMessage(msg) m.Value = &ResponseUnion_Scan{msg} return true, err - case 8: // value.begin_transaction - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(BeginTransactionResponse) - err := b.DecodeMessage(msg) - m.Value = &ResponseUnion_BeginTransaction{msg} - return true, err case 9: // value.end_transaction if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType @@ -7402,11 +7276,6 @@ func _ResponseUnion_OneofSizer(msg proto.Message) (n int) { n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s - case *ResponseUnion_BeginTransaction: - s := proto.Size(x.BeginTransaction) - n += 1 // tag and wire - n += proto.SizeVarint(uint64(s)) - n += s case *ResponseUnion_EndTransaction: s := proto.Size(x.EndTransaction) n += 1 // tag and wire @@ -7660,7 +7529,7 @@ func (m *Header) Reset() { *m = Header{} } func (m *Header) String() string { return proto.CompactTextString(m) } func (*Header) ProtoMessage() {} func (*Header) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{96} + return fileDescriptor_api_3cb09c3a3f17353f, []int{94} } func (m *Header) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7696,7 +7565,7 @@ type BatchRequest struct { func (m *BatchRequest) Reset() { *m = BatchRequest{} } func (*BatchRequest) ProtoMessage() {} func (*BatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{97} + return fileDescriptor_api_3cb09c3a3f17353f, []int{95} } func (m *BatchRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7733,7 +7602,7 @@ type BatchResponse struct { func (m *BatchResponse) Reset() { *m = BatchResponse{} } func (*BatchResponse) ProtoMessage() {} func (*BatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{98} + return fileDescriptor_api_3cb09c3a3f17353f, []int{96} } func (m *BatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7792,7 +7661,7 @@ func (m *BatchResponse_Header) Reset() { *m = BatchResponse_Header{} } func (m *BatchResponse_Header) String() string { return proto.CompactTextString(m) } func (*BatchResponse_Header) ProtoMessage() {} func (*BatchResponse_Header) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{98, 0} + return fileDescriptor_api_3cb09c3a3f17353f, []int{96, 0} } func (m *BatchResponse_Header) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7831,7 +7700,7 @@ func (m *RangeFeedRequest) Reset() { *m = RangeFeedRequest{} } func (m *RangeFeedRequest) String() string { return proto.CompactTextString(m) } func (*RangeFeedRequest) ProtoMessage() {} func (*RangeFeedRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{99} + return fileDescriptor_api_3cb09c3a3f17353f, []int{97} } func (m *RangeFeedRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7872,7 +7741,7 @@ func (m *RangeFeedValue) Reset() { *m = RangeFeedValue{} } func (m *RangeFeedValue) String() string { return proto.CompactTextString(m) } func (*RangeFeedValue) ProtoMessage() {} func (*RangeFeedValue) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{100} + return fileDescriptor_api_3cb09c3a3f17353f, []int{98} } func (m *RangeFeedValue) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7913,7 +7782,7 @@ func (m *RangeFeedCheckpoint) Reset() { *m = RangeFeedCheckpoint{} } func (m *RangeFeedCheckpoint) String() string { return proto.CompactTextString(m) } func (*RangeFeedCheckpoint) ProtoMessage() {} func (*RangeFeedCheckpoint) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{101} + return fileDescriptor_api_3cb09c3a3f17353f, []int{99} } func (m *RangeFeedCheckpoint) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7950,7 +7819,7 @@ func (m *RangeFeedError) Reset() { *m = RangeFeedError{} } func (m *RangeFeedError) String() string { return proto.CompactTextString(m) } func (*RangeFeedError) ProtoMessage() {} func (*RangeFeedError) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{102} + return fileDescriptor_api_3cb09c3a3f17353f, []int{100} } func (m *RangeFeedError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7987,7 +7856,7 @@ func (m *RangeFeedEvent) Reset() { *m = RangeFeedEvent{} } func (m *RangeFeedEvent) String() string { return proto.CompactTextString(m) } func (*RangeFeedEvent) ProtoMessage() {} func (*RangeFeedEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_api_414b47f508b5449f, []int{103} + return fileDescriptor_api_3cb09c3a3f17353f, []int{101} } func (m *RangeFeedEvent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8044,8 +7913,6 @@ func init() { proto.RegisterType((*CheckConsistencyResponse_Result)(nil), "cockroach.roachpb.CheckConsistencyResponse.Result") proto.RegisterType((*RecomputeStatsRequest)(nil), "cockroach.roachpb.RecomputeStatsRequest") proto.RegisterType((*RecomputeStatsResponse)(nil), "cockroach.roachpb.RecomputeStatsResponse") - proto.RegisterType((*BeginTransactionRequest)(nil), "cockroach.roachpb.BeginTransactionRequest") - proto.RegisterType((*BeginTransactionResponse)(nil), "cockroach.roachpb.BeginTransactionResponse") proto.RegisterType((*EndTransactionRequest)(nil), "cockroach.roachpb.EndTransactionRequest") proto.RegisterType((*EndTransactionResponse)(nil), "cockroach.roachpb.EndTransactionResponse") proto.RegisterType((*AdminSplitRequest)(nil), "cockroach.roachpb.AdminSplitRequest") @@ -8577,30 +8444,6 @@ func (this *RecomputeStatsRequest) Equal(that interface{}) bool { } return true } -func (this *BeginTransactionRequest) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*BeginTransactionRequest) - if !ok { - that2, ok := that.(BeginTransactionRequest) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if !this.RequestHeader.Equal(&that1.RequestHeader) { - return false - } - return true -} func (this *EndTransactionRequest) Equal(that interface{}) bool { if that == nil { return this == nil @@ -11282,58 +11125,6 @@ func (m *RecomputeStatsResponse) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func (m *BeginTransactionRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalTo(dAtA) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BeginTransactionRequest) MarshalTo(dAtA []byte) (int, error) { - var i int - _ = i - var l int - _ = l - dAtA[i] = 0xa - i++ - i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n39, err := m.RequestHeader.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n39 - return i, nil -} - -func (m *BeginTransactionResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalTo(dAtA) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BeginTransactionResponse) MarshalTo(dAtA []byte) (int, error) { - var i int - _ = i - var l int - _ = l - dAtA[i] = 0xa - i++ - i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n40, err := m.ResponseHeader.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n40 - return i, nil -} - func (m *EndTransactionRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -11352,11 +11143,11 @@ func (m *EndTransactionRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n41, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n39, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n41 + i += n39 if m.Commit { dAtA[i] = 0x10 i++ @@ -11371,21 +11162,21 @@ func (m *EndTransactionRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.Deadline.Size())) - n42, err := m.Deadline.MarshalTo(dAtA[i:]) + n40, err := m.Deadline.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n42 + i += n40 } if m.InternalCommitTrigger != nil { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.InternalCommitTrigger.Size())) - n43, err := m.InternalCommitTrigger.MarshalTo(dAtA[i:]) + n41, err := m.InternalCommitTrigger.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n43 + i += n41 } if len(m.IntentSpans) > 0 { for _, msg := range m.IntentSpans { @@ -11464,11 +11255,11 @@ func (m *EndTransactionResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n44, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n42, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n44 + i += n42 if m.OnePhaseCommit { dAtA[i] = 0x20 i++ @@ -11482,11 +11273,11 @@ func (m *EndTransactionResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.StagingTimestamp.Size())) - n45, err := m.StagingTimestamp.MarshalTo(dAtA[i:]) + n43, err := m.StagingTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n45 + i += n43 return i, nil } @@ -11508,11 +11299,11 @@ func (m *AdminSplitRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n46, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n44, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n46 + i += n44 if len(m.SplitKey) > 0 { dAtA[i] = 0x12 i++ @@ -11522,11 +11313,11 @@ func (m *AdminSplitRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.ExpirationTime.Size())) - n47, err := m.ExpirationTime.MarshalTo(dAtA[i:]) + n45, err := m.ExpirationTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n47 + i += n45 return i, nil } @@ -11548,11 +11339,11 @@ func (m *AdminSplitResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n48, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n46, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n48 + i += n46 return i, nil } @@ -11574,11 +11365,11 @@ func (m *AdminUnsplitRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n49, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n47, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n49 + i += n47 return i, nil } @@ -11600,11 +11391,11 @@ func (m *AdminUnsplitResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n50, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n48, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n50 + i += n48 return i, nil } @@ -11626,11 +11417,11 @@ func (m *AdminMergeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n51, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n49, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n51 + i += n49 return i, nil } @@ -11652,11 +11443,11 @@ func (m *AdminMergeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n52, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n50, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n52 + i += n50 return i, nil } @@ -11678,11 +11469,11 @@ func (m *AdminTransferLeaseRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n53, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n51, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n53 + i += n51 if m.Target != 0 { dAtA[i] = 0x10 i++ @@ -11709,11 +11500,11 @@ func (m *AdminTransferLeaseResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n54, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n52, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n54 + i += n52 return i, nil } @@ -11740,11 +11531,11 @@ func (m *ReplicationChange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Target.Size())) - n55, err := m.Target.MarshalTo(dAtA[i:]) + n53, err := m.Target.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n55 + i += n53 return i, nil } @@ -11766,11 +11557,11 @@ func (m *AdminChangeReplicasRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n56, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n54, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n56 + i += n54 if m.DeprecatedChangeType != 0 { dAtA[i] = 0x10 i++ @@ -11791,11 +11582,11 @@ func (m *AdminChangeReplicasRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.ExpDesc.Size())) - n57, err := m.ExpDesc.MarshalTo(dAtA[i:]) + n55, err := m.ExpDesc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n57 + i += n55 if len(m.InternalChanges) > 0 { for _, msg := range m.InternalChanges { dAtA[i] = 0x2a @@ -11829,19 +11620,19 @@ func (m *AdminChangeReplicasResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n58, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n56, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n58 + i += n56 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Desc.Size())) - n59, err := m.Desc.MarshalTo(dAtA[i:]) + n57, err := m.Desc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n59 + i += n57 return i, nil } @@ -11863,11 +11654,11 @@ func (m *AdminRelocateRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n60, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n58, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n60 + i += n58 if len(m.Targets) > 0 { for _, msg := range m.Targets { dAtA[i] = 0x12 @@ -11901,11 +11692,11 @@ func (m *AdminRelocateRangeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n61, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n59, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n61 + i += n59 return i, nil } @@ -11927,19 +11718,19 @@ func (m *HeartbeatTxnRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n62, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n60, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n62 + i += n60 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Now.Size())) - n63, err := m.Now.MarshalTo(dAtA[i:]) + n61, err := m.Now.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n63 + i += n61 return i, nil } @@ -11961,11 +11752,11 @@ func (m *HeartbeatTxnResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n64, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n62, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n64 + i += n62 return i, nil } @@ -11987,11 +11778,11 @@ func (m *GCRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n65, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n63, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n65 + i += n63 if len(m.Keys) > 0 { for _, msg := range m.Keys { dAtA[i] = 0x1a @@ -12007,11 +11798,11 @@ func (m *GCRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.Threshold.Size())) - n66, err := m.Threshold.MarshalTo(dAtA[i:]) + n64, err := m.Threshold.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n66 + i += n64 return i, nil } @@ -12039,11 +11830,11 @@ func (m *GCRequest_GCKey) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Timestamp.Size())) - n67, err := m.Timestamp.MarshalTo(dAtA[i:]) + n65, err := m.Timestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n67 + i += n65 return i, nil } @@ -12065,11 +11856,11 @@ func (m *GCResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n68, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n66, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n68 + i += n66 return i, nil } @@ -12091,35 +11882,35 @@ func (m *PushTxnRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n69, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n67, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n69 + i += n67 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.PusherTxn.Size())) - n70, err := m.PusherTxn.MarshalTo(dAtA[i:]) + n68, err := m.PusherTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n70 + i += n68 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.PusheeTxn.Size())) - n71, err := m.PusheeTxn.MarshalTo(dAtA[i:]) + n69, err := m.PusheeTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n71 + i += n69 dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.PushTo.Size())) - n72, err := m.PushTo.MarshalTo(dAtA[i:]) + n70, err := m.PushTo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n72 + i += n70 if m.PushType != 0 { dAtA[i] = 0x30 i++ @@ -12166,19 +11957,19 @@ func (m *PushTxnResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n73, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n71, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n73 + i += n71 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.PusheeTxn.Size())) - n74, err := m.PusheeTxn.MarshalTo(dAtA[i:]) + n72, err := m.PusheeTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n74 + i += n72 return i, nil } @@ -12200,19 +11991,19 @@ func (m *RecoverTxnRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n75, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n73, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n75 + i += n73 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n76, err := m.Txn.MarshalTo(dAtA[i:]) + n74, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n76 + i += n74 if m.ImplicitlyCommitted { dAtA[i] = 0x18 i++ @@ -12244,19 +12035,19 @@ func (m *RecoverTxnResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n77, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n75, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n77 + i += n75 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecoveredTxn.Size())) - n78, err := m.RecoveredTxn.MarshalTo(dAtA[i:]) + n76, err := m.RecoveredTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n78 + i += n76 return i, nil } @@ -12278,19 +12069,19 @@ func (m *QueryTxnRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n79, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n77, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n79 + i += n77 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n80, err := m.Txn.MarshalTo(dAtA[i:]) + n78, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n80 + i += n78 if m.WaitForUpdate { dAtA[i] = 0x18 i++ @@ -12334,19 +12125,19 @@ func (m *QueryTxnResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n81, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n79, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n81 + i += n79 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueriedTxn.Size())) - n82, err := m.QueriedTxn.MarshalTo(dAtA[i:]) + n80, err := m.QueriedTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n82 + i += n80 if len(m.WaitingTxns) > 0 { for _, msg := range m.WaitingTxns { dAtA[i] = 0x1a @@ -12380,19 +12171,19 @@ func (m *QueryIntentRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n83, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n81, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n83 + i += n81 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n84, err := m.Txn.MarshalTo(dAtA[i:]) + n82, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n84 + i += n82 if m.ErrorIfMissing { dAtA[i] = 0x18 i++ @@ -12424,11 +12215,11 @@ func (m *QueryIntentResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n85, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n83, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n85 + i += n83 if m.FoundIntent { dAtA[i] = 0x10 i++ @@ -12460,19 +12251,19 @@ func (m *ResolveIntentRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n86, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n84, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n86 + i += n84 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.IntentTxn.Size())) - n87, err := m.IntentTxn.MarshalTo(dAtA[i:]) + n85, err := m.IntentTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n87 + i += n85 if m.Status != 0 { dAtA[i] = 0x18 i++ @@ -12509,11 +12300,11 @@ func (m *ResolveIntentResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n88, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n86, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n88 + i += n86 return i, nil } @@ -12535,19 +12326,19 @@ func (m *ResolveIntentRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n89, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n87, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n89 + i += n87 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.IntentTxn.Size())) - n90, err := m.IntentTxn.MarshalTo(dAtA[i:]) + n88, err := m.IntentTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n90 + i += n88 if m.Status != 0 { dAtA[i] = 0x18 i++ @@ -12566,11 +12357,11 @@ func (m *ResolveIntentRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.MinTimestamp.Size())) - n91, err := m.MinTimestamp.MarshalTo(dAtA[i:]) + n89, err := m.MinTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n91 + i += n89 return i, nil } @@ -12592,11 +12383,11 @@ func (m *ResolveIntentRangeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n92, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n90, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n92 + i += n90 return i, nil } @@ -12618,19 +12409,19 @@ func (m *MergeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n93, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n91, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n93 + i += n91 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Value.Size())) - n94, err := m.Value.MarshalTo(dAtA[i:]) + n92, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n94 + i += n92 return i, nil } @@ -12652,11 +12443,11 @@ func (m *MergeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n95, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n93, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n95 + i += n93 return i, nil } @@ -12678,11 +12469,11 @@ func (m *TruncateLogRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n96, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n94, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n96 + i += n94 if m.Index != 0 { dAtA[i] = 0x10 i++ @@ -12714,11 +12505,11 @@ func (m *TruncateLogResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n97, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n95, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n97 + i += n95 return i, nil } @@ -12740,36 +12531,36 @@ func (m *RequestLeaseRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n98, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n96, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n98 + i += n96 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Lease.Size())) - n99, err := m.Lease.MarshalTo(dAtA[i:]) + n97, err := m.Lease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n99 + i += n97 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.PrevLease.Size())) - n100, err := m.PrevLease.MarshalTo(dAtA[i:]) + n98, err := m.PrevLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n100 + i += n98 if m.MinProposedTS != nil { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.MinProposedTS.Size())) - n101, err := m.MinProposedTS.MarshalTo(dAtA[i:]) + n99, err := m.MinProposedTS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n101 + i += n99 } return i, nil } @@ -12792,27 +12583,27 @@ func (m *TransferLeaseRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n102, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n100, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n102 + i += n100 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Lease.Size())) - n103, err := m.Lease.MarshalTo(dAtA[i:]) + n101, err := m.Lease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n103 + i += n101 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.PrevLease.Size())) - n104, err := m.PrevLease.MarshalTo(dAtA[i:]) + n102, err := m.PrevLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n104 + i += n102 return i, nil } @@ -12834,11 +12625,11 @@ func (m *LeaseInfoRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n105, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n103, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n105 + i += n103 return i, nil } @@ -12860,19 +12651,19 @@ func (m *LeaseInfoResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n106, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n104, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n106 + i += n104 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Lease.Size())) - n107, err := m.Lease.MarshalTo(dAtA[i:]) + n105, err := m.Lease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n107 + i += n105 return i, nil } @@ -12894,11 +12685,11 @@ func (m *RequestLeaseResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n108, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n106, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n108 + i += n106 return i, nil } @@ -12920,11 +12711,11 @@ func (m *ComputeChecksumRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n109, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n107, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n109 + i += n107 if m.Version != 0 { dAtA[i] = 0x10 i++ @@ -12988,19 +12779,19 @@ func (m *ComputeChecksumResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n110, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n108, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n110 + i += n108 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.ChecksumID.Size())) - n111, err := m.ChecksumID.MarshalTo(dAtA[i:]) + n109, err := m.ChecksumID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n111 + i += n109 return i, nil } @@ -13027,58 +12818,58 @@ func (m *ExternalStorage) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.LocalFile.Size())) - n112, err := m.LocalFile.MarshalTo(dAtA[i:]) + n110, err := m.LocalFile.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n112 + i += n110 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.HttpPath.Size())) - n113, err := m.HttpPath.MarshalTo(dAtA[i:]) + n111, err := m.HttpPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n113 + i += n111 if m.GoogleCloudConfig != nil { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.GoogleCloudConfig.Size())) - n114, err := m.GoogleCloudConfig.MarshalTo(dAtA[i:]) + n112, err := m.GoogleCloudConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n114 + i += n112 } if m.S3Config != nil { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.S3Config.Size())) - n115, err := m.S3Config.MarshalTo(dAtA[i:]) + n113, err := m.S3Config.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n115 + i += n113 } if m.AzureConfig != nil { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.AzureConfig.Size())) - n116, err := m.AzureConfig.MarshalTo(dAtA[i:]) + n114, err := m.AzureConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n116 + i += n114 } if m.WorkloadConfig != nil { dAtA[i] = 0x3a i++ i = encodeVarintApi(dAtA, i, uint64(m.WorkloadConfig.Size())) - n117, err := m.WorkloadConfig.MarshalTo(dAtA[i:]) + n115, err := m.WorkloadConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n117 + i += n115 } return i, nil } @@ -13377,19 +13168,19 @@ func (m *WriteBatchRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n118, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n116, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n118 + i += n116 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.DataSpan.Size())) - n119, err := m.DataSpan.MarshalTo(dAtA[i:]) + n117, err := m.DataSpan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n119 + i += n117 if len(m.Data) > 0 { dAtA[i] = 0x1a i++ @@ -13417,11 +13208,11 @@ func (m *WriteBatchResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n120, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n118, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n120 + i += n118 return i, nil } @@ -13443,27 +13234,27 @@ func (m *ExportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n121, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n119, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n121 + i += n119 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Storage.Size())) - n122, err := m.Storage.MarshalTo(dAtA[i:]) + n120, err := m.Storage.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n122 + i += n120 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.StartTime.Size())) - n123, err := m.StartTime.MarshalTo(dAtA[i:]) + n121, err := m.StartTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n123 + i += n121 if m.MVCCFilter != 0 { dAtA[i] = 0x20 i++ @@ -13524,11 +13315,11 @@ func (m *ExportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(v.Size())) - n124, err := v.MarshalTo(dAtA[i:]) + n122, err := v.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n124 + i += n122 } } } @@ -13591,11 +13382,11 @@ func (m *ExportResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n125, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n123, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n125 + i += n123 if len(m.Files) > 0 { for _, msg := range m.Files { dAtA[i] = 0x12 @@ -13611,11 +13402,11 @@ func (m *ExportResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.StartTime.Size())) - n126, err := m.StartTime.MarshalTo(dAtA[i:]) + n124, err := m.StartTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n126 + i += n124 return i, nil } @@ -13637,11 +13428,11 @@ func (m *ExportResponse_File) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n127, err := m.Span.MarshalTo(dAtA[i:]) + n125, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n127 + i += n125 if len(m.Path) > 0 { dAtA[i] = 0x12 i++ @@ -13657,11 +13448,11 @@ func (m *ExportResponse_File) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.Exported.Size())) - n128, err := m.Exported.MarshalTo(dAtA[i:]) + n126, err := m.Exported.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n128 + i += n126 if len(m.SST) > 0 { dAtA[i] = 0x3a i++ @@ -13695,11 +13486,11 @@ func (m *ImportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n129, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n127, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n129 + i += n127 if len(m.Files) > 0 { for _, msg := range m.Files { dAtA[i] = 0x12 @@ -13715,11 +13506,11 @@ func (m *ImportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.DataSpan.Size())) - n130, err := m.DataSpan.MarshalTo(dAtA[i:]) + n128, err := m.DataSpan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n130 + i += n128 if len(m.Rekeys) > 0 { for _, msg := range m.Rekeys { dAtA[i] = 0x2a @@ -13735,11 +13526,11 @@ func (m *ImportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.EndTime.Size())) - n131, err := m.EndTime.MarshalTo(dAtA[i:]) + n129, err := m.EndTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n131 + i += n129 return i, nil } @@ -13761,11 +13552,11 @@ func (m *ImportRequest_File) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Dir.Size())) - n132, err := m.Dir.MarshalTo(dAtA[i:]) + n130, err := m.Dir.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n132 + i += n130 if len(m.Path) > 0 { dAtA[i] = 0x12 i++ @@ -13828,19 +13619,19 @@ func (m *ImportResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n133, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n131, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n133 + i += n131 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.Imported.Size())) - n134, err := m.Imported.MarshalTo(dAtA[i:]) + n132, err := m.Imported.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n134 + i += n132 return i, nil } @@ -13862,11 +13653,11 @@ func (m *AdminScatterRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n135, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n133, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n135 + i += n133 if m.RandomizeLeases { dAtA[i] = 0x10 i++ @@ -13898,11 +13689,11 @@ func (m *AdminScatterResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n136, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n134, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n136 + i += n134 if len(m.Ranges) > 0 { for _, msg := range m.Ranges { dAtA[i] = 0x12 @@ -13936,11 +13727,11 @@ func (m *AdminScatterResponse_Range) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n137, err := m.Span.MarshalTo(dAtA[i:]) + n135, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n137 + i += n135 return i, nil } @@ -13962,11 +13753,11 @@ func (m *AddSSTableRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n138, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n136, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n138 + i += n136 if len(m.Data) > 0 { dAtA[i] = 0x12 i++ @@ -13987,11 +13778,11 @@ func (m *AddSSTableRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.MVCCStats.Size())) - n139, err := m.MVCCStats.MarshalTo(dAtA[i:]) + n137, err := m.MVCCStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n139 + i += n137 } if m.IngestAsWrites { dAtA[i] = 0x28 @@ -14024,11 +13815,11 @@ func (m *AddSSTableResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n140, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n138, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n140 + i += n138 return i, nil } @@ -14050,11 +13841,11 @@ func (m *RefreshRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n141, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n139, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n141 + i += n139 if m.Write { dAtA[i] = 0x10 i++ @@ -14068,11 +13859,11 @@ func (m *RefreshRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.RefreshFrom.Size())) - n142, err := m.RefreshFrom.MarshalTo(dAtA[i:]) + n140, err := m.RefreshFrom.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n142 + i += n140 return i, nil } @@ -14094,11 +13885,11 @@ func (m *RefreshResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n143, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n141, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n143 + i += n141 return i, nil } @@ -14120,11 +13911,11 @@ func (m *RefreshRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n144, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n142, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n144 + i += n142 if m.Write { dAtA[i] = 0x10 i++ @@ -14138,11 +13929,11 @@ func (m *RefreshRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.RefreshFrom.Size())) - n145, err := m.RefreshFrom.MarshalTo(dAtA[i:]) + n143, err := m.RefreshFrom.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n145 + i += n143 return i, nil } @@ -14164,11 +13955,11 @@ func (m *RefreshRangeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n146, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n144, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n146 + i += n144 return i, nil } @@ -14190,28 +13981,28 @@ func (m *SubsumeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n147, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n145, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n147 + i += n145 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.LeftDesc.Size())) - n148, err := m.LeftDesc.MarshalTo(dAtA[i:]) + n146, err := m.LeftDesc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n148 + i += n146 if m.RightDesc != nil { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.RightDesc.Size())) - n149, err := m.RightDesc.MarshalTo(dAtA[i:]) + n147, err := m.RightDesc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n149 + i += n147 } return i, nil } @@ -14234,19 +14025,19 @@ func (m *SubsumeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n150, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n148, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n150 + i += n148 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.MVCCStats.Size())) - n151, err := m.MVCCStats.MarshalTo(dAtA[i:]) + n149, err := m.MVCCStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n151 + i += n149 if m.LeaseAppliedIndex != 0 { dAtA[i] = 0x20 i++ @@ -14255,11 +14046,11 @@ func (m *SubsumeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.FreezeStart.Size())) - n152, err := m.FreezeStart.MarshalTo(dAtA[i:]) + n150, err := m.FreezeStart.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n152 + i += n150 return i, nil } @@ -14281,11 +14072,11 @@ func (m *RangeStatsRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n153, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n151, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n153 + i += n151 return i, nil } @@ -14307,19 +14098,19 @@ func (m *RangeStatsResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n154, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n152, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n154 + i += n152 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.MVCCStats.Size())) - n155, err := m.MVCCStats.MarshalTo(dAtA[i:]) + n153, err := m.MVCCStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n155 + i += n153 if m.QueriesPerSecond != 0 { dAtA[i] = 0x19 i++ @@ -14345,11 +14136,11 @@ func (m *RequestUnion) MarshalTo(dAtA []byte) (int, error) { var l int _ = l if m.Value != nil { - nn156, err := m.Value.MarshalTo(dAtA[i:]) + nn154, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += nn156 + i += nn154 } return i, nil } @@ -14360,11 +14151,11 @@ func (m *RequestUnion_Get) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Get.Size())) - n157, err := m.Get.MarshalTo(dAtA[i:]) + n155, err := m.Get.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n157 + i += n155 } return i, nil } @@ -14374,11 +14165,11 @@ func (m *RequestUnion_Put) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Put.Size())) - n158, err := m.Put.MarshalTo(dAtA[i:]) + n156, err := m.Put.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n158 + i += n156 } return i, nil } @@ -14388,11 +14179,11 @@ func (m *RequestUnion_ConditionalPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.ConditionalPut.Size())) - n159, err := m.ConditionalPut.MarshalTo(dAtA[i:]) + n157, err := m.ConditionalPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n159 + i += n157 } return i, nil } @@ -14402,11 +14193,11 @@ func (m *RequestUnion_Increment) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.Increment.Size())) - n160, err := m.Increment.MarshalTo(dAtA[i:]) + n158, err := m.Increment.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n160 + i += n158 } return i, nil } @@ -14416,11 +14207,11 @@ func (m *RequestUnion_Delete) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Delete.Size())) - n161, err := m.Delete.MarshalTo(dAtA[i:]) + n159, err := m.Delete.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n161 + i += n159 } return i, nil } @@ -14430,11 +14221,11 @@ func (m *RequestUnion_DeleteRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.DeleteRange.Size())) - n162, err := m.DeleteRange.MarshalTo(dAtA[i:]) + n160, err := m.DeleteRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n162 + i += n160 } return i, nil } @@ -14444,25 +14235,11 @@ func (m *RequestUnion_Scan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintApi(dAtA, i, uint64(m.Scan.Size())) - n163, err := m.Scan.MarshalTo(dAtA[i:]) + n161, err := m.Scan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n163 - } - return i, nil -} -func (m *RequestUnion_BeginTransaction) MarshalTo(dAtA []byte) (int, error) { - i := 0 - if m.BeginTransaction != nil { - dAtA[i] = 0x42 - i++ - i = encodeVarintApi(dAtA, i, uint64(m.BeginTransaction.Size())) - n164, err := m.BeginTransaction.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n164 + i += n161 } return i, nil } @@ -14472,11 +14249,11 @@ func (m *RequestUnion_EndTransaction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x4a i++ i = encodeVarintApi(dAtA, i, uint64(m.EndTransaction.Size())) - n165, err := m.EndTransaction.MarshalTo(dAtA[i:]) + n162, err := m.EndTransaction.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n165 + i += n162 } return i, nil } @@ -14486,11 +14263,11 @@ func (m *RequestUnion_AdminSplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminSplit.Size())) - n166, err := m.AdminSplit.MarshalTo(dAtA[i:]) + n163, err := m.AdminSplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n166 + i += n163 } return i, nil } @@ -14500,11 +14277,11 @@ func (m *RequestUnion_AdminMerge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x5a i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminMerge.Size())) - n167, err := m.AdminMerge.MarshalTo(dAtA[i:]) + n164, err := m.AdminMerge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n167 + i += n164 } return i, nil } @@ -14514,11 +14291,11 @@ func (m *RequestUnion_HeartbeatTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x62 i++ i = encodeVarintApi(dAtA, i, uint64(m.HeartbeatTxn.Size())) - n168, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) + n165, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n168 + i += n165 } return i, nil } @@ -14528,11 +14305,11 @@ func (m *RequestUnion_Gc) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x6a i++ i = encodeVarintApi(dAtA, i, uint64(m.Gc.Size())) - n169, err := m.Gc.MarshalTo(dAtA[i:]) + n166, err := m.Gc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n169 + i += n166 } return i, nil } @@ -14542,11 +14319,11 @@ func (m *RequestUnion_PushTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintApi(dAtA, i, uint64(m.PushTxn.Size())) - n170, err := m.PushTxn.MarshalTo(dAtA[i:]) + n167, err := m.PushTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n170 + i += n167 } return i, nil } @@ -14558,11 +14335,11 @@ func (m *RequestUnion_ResolveIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntent.Size())) - n171, err := m.ResolveIntent.MarshalTo(dAtA[i:]) + n168, err := m.ResolveIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n171 + i += n168 } return i, nil } @@ -14574,11 +14351,11 @@ func (m *RequestUnion_ResolveIntentRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntentRange.Size())) - n172, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) + n169, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n172 + i += n169 } return i, nil } @@ -14590,11 +14367,11 @@ func (m *RequestUnion_Merge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.Merge.Size())) - n173, err := m.Merge.MarshalTo(dAtA[i:]) + n170, err := m.Merge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n173 + i += n170 } return i, nil } @@ -14606,11 +14383,11 @@ func (m *RequestUnion_TruncateLog) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.TruncateLog.Size())) - n174, err := m.TruncateLog.MarshalTo(dAtA[i:]) + n171, err := m.TruncateLog.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n174 + i += n171 } return i, nil } @@ -14622,11 +14399,11 @@ func (m *RequestUnion_RequestLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestLease.Size())) - n175, err := m.RequestLease.MarshalTo(dAtA[i:]) + n172, err := m.RequestLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n175 + i += n172 } return i, nil } @@ -14638,11 +14415,11 @@ func (m *RequestUnion_ReverseScan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ReverseScan.Size())) - n176, err := m.ReverseScan.MarshalTo(dAtA[i:]) + n173, err := m.ReverseScan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n176 + i += n173 } return i, nil } @@ -14654,11 +14431,11 @@ func (m *RequestUnion_ComputeChecksum) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ComputeChecksum.Size())) - n177, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) + n174, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n177 + i += n174 } return i, nil } @@ -14670,11 +14447,11 @@ func (m *RequestUnion_CheckConsistency) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.CheckConsistency.Size())) - n178, err := m.CheckConsistency.MarshalTo(dAtA[i:]) + n175, err := m.CheckConsistency.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n178 + i += n175 } return i, nil } @@ -14686,11 +14463,11 @@ func (m *RequestUnion_InitPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.InitPut.Size())) - n179, err := m.InitPut.MarshalTo(dAtA[i:]) + n176, err := m.InitPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n179 + i += n176 } return i, nil } @@ -14702,11 +14479,11 @@ func (m *RequestUnion_TransferLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.TransferLease.Size())) - n180, err := m.TransferLease.MarshalTo(dAtA[i:]) + n177, err := m.TransferLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n180 + i += n177 } return i, nil } @@ -14718,11 +14495,11 @@ func (m *RequestUnion_AdminTransferLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminTransferLease.Size())) - n181, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) + n178, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n181 + i += n178 } return i, nil } @@ -14734,11 +14511,11 @@ func (m *RequestUnion_LeaseInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.LeaseInfo.Size())) - n182, err := m.LeaseInfo.MarshalTo(dAtA[i:]) + n179, err := m.LeaseInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n182 + i += n179 } return i, nil } @@ -14750,11 +14527,11 @@ func (m *RequestUnion_WriteBatch) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.WriteBatch.Size())) - n183, err := m.WriteBatch.MarshalTo(dAtA[i:]) + n180, err := m.WriteBatch.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n183 + i += n180 } return i, nil } @@ -14766,11 +14543,11 @@ func (m *RequestUnion_Export) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Export.Size())) - n184, err := m.Export.MarshalTo(dAtA[i:]) + n181, err := m.Export.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n184 + i += n181 } return i, nil } @@ -14782,11 +14559,11 @@ func (m *RequestUnion_QueryTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryTxn.Size())) - n185, err := m.QueryTxn.MarshalTo(dAtA[i:]) + n182, err := m.QueryTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n185 + i += n182 } return i, nil } @@ -14798,11 +14575,11 @@ func (m *RequestUnion_Import) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Import.Size())) - n186, err := m.Import.MarshalTo(dAtA[i:]) + n183, err := m.Import.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n186 + i += n183 } return i, nil } @@ -14814,11 +14591,11 @@ func (m *RequestUnion_AdminChangeReplicas) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminChangeReplicas.Size())) - n187, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) + n184, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n187 + i += n184 } return i, nil } @@ -14830,11 +14607,11 @@ func (m *RequestUnion_AdminScatter) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminScatter.Size())) - n188, err := m.AdminScatter.MarshalTo(dAtA[i:]) + n185, err := m.AdminScatter.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n188 + i += n185 } return i, nil } @@ -14846,11 +14623,11 @@ func (m *RequestUnion_AddSstable) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AddSstable.Size())) - n189, err := m.AddSstable.MarshalTo(dAtA[i:]) + n186, err := m.AddSstable.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n189 + i += n186 } return i, nil } @@ -14862,11 +14639,11 @@ func (m *RequestUnion_ClearRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.ClearRange.Size())) - n190, err := m.ClearRange.MarshalTo(dAtA[i:]) + n187, err := m.ClearRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n190 + i += n187 } return i, nil } @@ -14878,11 +14655,11 @@ func (m *RequestUnion_RecomputeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecomputeStats.Size())) - n191, err := m.RecomputeStats.MarshalTo(dAtA[i:]) + n188, err := m.RecomputeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n191 + i += n188 } return i, nil } @@ -14894,11 +14671,11 @@ func (m *RequestUnion_Refresh) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Refresh.Size())) - n192, err := m.Refresh.MarshalTo(dAtA[i:]) + n189, err := m.Refresh.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n192 + i += n189 } return i, nil } @@ -14910,11 +14687,11 @@ func (m *RequestUnion_RefreshRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RefreshRange.Size())) - n193, err := m.RefreshRange.MarshalTo(dAtA[i:]) + n190, err := m.RefreshRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n193 + i += n190 } return i, nil } @@ -14926,11 +14703,11 @@ func (m *RequestUnion_QueryIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryIntent.Size())) - n194, err := m.QueryIntent.MarshalTo(dAtA[i:]) + n191, err := m.QueryIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n194 + i += n191 } return i, nil } @@ -14942,11 +14719,11 @@ func (m *RequestUnion_Subsume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Subsume.Size())) - n195, err := m.Subsume.MarshalTo(dAtA[i:]) + n192, err := m.Subsume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n195 + i += n192 } return i, nil } @@ -14958,11 +14735,11 @@ func (m *RequestUnion_RangeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RangeStats.Size())) - n196, err := m.RangeStats.MarshalTo(dAtA[i:]) + n193, err := m.RangeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n196 + i += n193 } return i, nil } @@ -14974,11 +14751,11 @@ func (m *RequestUnion_AdminRelocateRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminRelocateRange.Size())) - n197, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) + n194, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n197 + i += n194 } return i, nil } @@ -14990,11 +14767,11 @@ func (m *RequestUnion_RecoverTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecoverTxn.Size())) - n198, err := m.RecoverTxn.MarshalTo(dAtA[i:]) + n195, err := m.RecoverTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n198 + i += n195 } return i, nil } @@ -15006,11 +14783,11 @@ func (m *RequestUnion_AdminUnsplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminUnsplit.Size())) - n199, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) + n196, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n199 + i += n196 } return i, nil } @@ -15022,11 +14799,11 @@ func (m *RequestUnion_RevertRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3 i++ i = encodeVarintApi(dAtA, i, uint64(m.RevertRange.Size())) - n200, err := m.RevertRange.MarshalTo(dAtA[i:]) + n197, err := m.RevertRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n200 + i += n197 } return i, nil } @@ -15046,11 +14823,11 @@ func (m *ResponseUnion) MarshalTo(dAtA []byte) (int, error) { var l int _ = l if m.Value != nil { - nn201, err := m.Value.MarshalTo(dAtA[i:]) + nn198, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += nn201 + i += nn198 } return i, nil } @@ -15061,11 +14838,11 @@ func (m *ResponseUnion_Get) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Get.Size())) - n202, err := m.Get.MarshalTo(dAtA[i:]) + n199, err := m.Get.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n202 + i += n199 } return i, nil } @@ -15075,11 +14852,11 @@ func (m *ResponseUnion_Put) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Put.Size())) - n203, err := m.Put.MarshalTo(dAtA[i:]) + n200, err := m.Put.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n203 + i += n200 } return i, nil } @@ -15089,11 +14866,11 @@ func (m *ResponseUnion_ConditionalPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.ConditionalPut.Size())) - n204, err := m.ConditionalPut.MarshalTo(dAtA[i:]) + n201, err := m.ConditionalPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n204 + i += n201 } return i, nil } @@ -15103,11 +14880,11 @@ func (m *ResponseUnion_Increment) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.Increment.Size())) - n205, err := m.Increment.MarshalTo(dAtA[i:]) + n202, err := m.Increment.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n205 + i += n202 } return i, nil } @@ -15117,11 +14894,11 @@ func (m *ResponseUnion_Delete) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Delete.Size())) - n206, err := m.Delete.MarshalTo(dAtA[i:]) + n203, err := m.Delete.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n206 + i += n203 } return i, nil } @@ -15131,11 +14908,11 @@ func (m *ResponseUnion_DeleteRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.DeleteRange.Size())) - n207, err := m.DeleteRange.MarshalTo(dAtA[i:]) + n204, err := m.DeleteRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n207 + i += n204 } return i, nil } @@ -15145,25 +14922,11 @@ func (m *ResponseUnion_Scan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintApi(dAtA, i, uint64(m.Scan.Size())) - n208, err := m.Scan.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n208 - } - return i, nil -} -func (m *ResponseUnion_BeginTransaction) MarshalTo(dAtA []byte) (int, error) { - i := 0 - if m.BeginTransaction != nil { - dAtA[i] = 0x42 - i++ - i = encodeVarintApi(dAtA, i, uint64(m.BeginTransaction.Size())) - n209, err := m.BeginTransaction.MarshalTo(dAtA[i:]) + n205, err := m.Scan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n209 + i += n205 } return i, nil } @@ -15173,11 +14936,11 @@ func (m *ResponseUnion_EndTransaction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x4a i++ i = encodeVarintApi(dAtA, i, uint64(m.EndTransaction.Size())) - n210, err := m.EndTransaction.MarshalTo(dAtA[i:]) + n206, err := m.EndTransaction.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n210 + i += n206 } return i, nil } @@ -15187,11 +14950,11 @@ func (m *ResponseUnion_AdminSplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminSplit.Size())) - n211, err := m.AdminSplit.MarshalTo(dAtA[i:]) + n207, err := m.AdminSplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n211 + i += n207 } return i, nil } @@ -15201,11 +14964,11 @@ func (m *ResponseUnion_AdminMerge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x5a i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminMerge.Size())) - n212, err := m.AdminMerge.MarshalTo(dAtA[i:]) + n208, err := m.AdminMerge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n212 + i += n208 } return i, nil } @@ -15215,11 +14978,11 @@ func (m *ResponseUnion_HeartbeatTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x62 i++ i = encodeVarintApi(dAtA, i, uint64(m.HeartbeatTxn.Size())) - n213, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) + n209, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n213 + i += n209 } return i, nil } @@ -15229,11 +14992,11 @@ func (m *ResponseUnion_Gc) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x6a i++ i = encodeVarintApi(dAtA, i, uint64(m.Gc.Size())) - n214, err := m.Gc.MarshalTo(dAtA[i:]) + n210, err := m.Gc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n214 + i += n210 } return i, nil } @@ -15243,11 +15006,11 @@ func (m *ResponseUnion_PushTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintApi(dAtA, i, uint64(m.PushTxn.Size())) - n215, err := m.PushTxn.MarshalTo(dAtA[i:]) + n211, err := m.PushTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n215 + i += n211 } return i, nil } @@ -15259,11 +15022,11 @@ func (m *ResponseUnion_ResolveIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntent.Size())) - n216, err := m.ResolveIntent.MarshalTo(dAtA[i:]) + n212, err := m.ResolveIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n216 + i += n212 } return i, nil } @@ -15275,11 +15038,11 @@ func (m *ResponseUnion_ResolveIntentRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntentRange.Size())) - n217, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) + n213, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n217 + i += n213 } return i, nil } @@ -15291,11 +15054,11 @@ func (m *ResponseUnion_Merge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.Merge.Size())) - n218, err := m.Merge.MarshalTo(dAtA[i:]) + n214, err := m.Merge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n218 + i += n214 } return i, nil } @@ -15307,11 +15070,11 @@ func (m *ResponseUnion_TruncateLog) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.TruncateLog.Size())) - n219, err := m.TruncateLog.MarshalTo(dAtA[i:]) + n215, err := m.TruncateLog.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n219 + i += n215 } return i, nil } @@ -15323,11 +15086,11 @@ func (m *ResponseUnion_RequestLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestLease.Size())) - n220, err := m.RequestLease.MarshalTo(dAtA[i:]) + n216, err := m.RequestLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n220 + i += n216 } return i, nil } @@ -15339,11 +15102,11 @@ func (m *ResponseUnion_ReverseScan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ReverseScan.Size())) - n221, err := m.ReverseScan.MarshalTo(dAtA[i:]) + n217, err := m.ReverseScan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n221 + i += n217 } return i, nil } @@ -15355,11 +15118,11 @@ func (m *ResponseUnion_ComputeChecksum) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ComputeChecksum.Size())) - n222, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) + n218, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n222 + i += n218 } return i, nil } @@ -15371,11 +15134,11 @@ func (m *ResponseUnion_CheckConsistency) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.CheckConsistency.Size())) - n223, err := m.CheckConsistency.MarshalTo(dAtA[i:]) + n219, err := m.CheckConsistency.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n223 + i += n219 } return i, nil } @@ -15387,11 +15150,11 @@ func (m *ResponseUnion_InitPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.InitPut.Size())) - n224, err := m.InitPut.MarshalTo(dAtA[i:]) + n220, err := m.InitPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n224 + i += n220 } return i, nil } @@ -15403,11 +15166,11 @@ func (m *ResponseUnion_AdminTransferLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminTransferLease.Size())) - n225, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) + n221, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n225 + i += n221 } return i, nil } @@ -15419,11 +15182,11 @@ func (m *ResponseUnion_LeaseInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.LeaseInfo.Size())) - n226, err := m.LeaseInfo.MarshalTo(dAtA[i:]) + n222, err := m.LeaseInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n226 + i += n222 } return i, nil } @@ -15435,11 +15198,11 @@ func (m *ResponseUnion_WriteBatch) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.WriteBatch.Size())) - n227, err := m.WriteBatch.MarshalTo(dAtA[i:]) + n223, err := m.WriteBatch.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n227 + i += n223 } return i, nil } @@ -15451,11 +15214,11 @@ func (m *ResponseUnion_Export) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Export.Size())) - n228, err := m.Export.MarshalTo(dAtA[i:]) + n224, err := m.Export.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n228 + i += n224 } return i, nil } @@ -15467,11 +15230,11 @@ func (m *ResponseUnion_QueryTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryTxn.Size())) - n229, err := m.QueryTxn.MarshalTo(dAtA[i:]) + n225, err := m.QueryTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n229 + i += n225 } return i, nil } @@ -15483,11 +15246,11 @@ func (m *ResponseUnion_Import) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Import.Size())) - n230, err := m.Import.MarshalTo(dAtA[i:]) + n226, err := m.Import.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n230 + i += n226 } return i, nil } @@ -15499,11 +15262,11 @@ func (m *ResponseUnion_AdminChangeReplicas) MarshalTo(dAtA []byte) (int, error) dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminChangeReplicas.Size())) - n231, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) + n227, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n231 + i += n227 } return i, nil } @@ -15515,11 +15278,11 @@ func (m *ResponseUnion_AdminScatter) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminScatter.Size())) - n232, err := m.AdminScatter.MarshalTo(dAtA[i:]) + n228, err := m.AdminScatter.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n232 + i += n228 } return i, nil } @@ -15531,11 +15294,11 @@ func (m *ResponseUnion_AddSstable) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AddSstable.Size())) - n233, err := m.AddSstable.MarshalTo(dAtA[i:]) + n229, err := m.AddSstable.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n233 + i += n229 } return i, nil } @@ -15547,11 +15310,11 @@ func (m *ResponseUnion_ClearRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.ClearRange.Size())) - n234, err := m.ClearRange.MarshalTo(dAtA[i:]) + n230, err := m.ClearRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n234 + i += n230 } return i, nil } @@ -15563,11 +15326,11 @@ func (m *ResponseUnion_RecomputeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecomputeStats.Size())) - n235, err := m.RecomputeStats.MarshalTo(dAtA[i:]) + n231, err := m.RecomputeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n235 + i += n231 } return i, nil } @@ -15579,11 +15342,11 @@ func (m *ResponseUnion_Refresh) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Refresh.Size())) - n236, err := m.Refresh.MarshalTo(dAtA[i:]) + n232, err := m.Refresh.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n236 + i += n232 } return i, nil } @@ -15595,11 +15358,11 @@ func (m *ResponseUnion_RefreshRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RefreshRange.Size())) - n237, err := m.RefreshRange.MarshalTo(dAtA[i:]) + n233, err := m.RefreshRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n237 + i += n233 } return i, nil } @@ -15611,11 +15374,11 @@ func (m *ResponseUnion_QueryIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryIntent.Size())) - n238, err := m.QueryIntent.MarshalTo(dAtA[i:]) + n234, err := m.QueryIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n238 + i += n234 } return i, nil } @@ -15627,11 +15390,11 @@ func (m *ResponseUnion_Subsume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Subsume.Size())) - n239, err := m.Subsume.MarshalTo(dAtA[i:]) + n235, err := m.Subsume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n239 + i += n235 } return i, nil } @@ -15643,11 +15406,11 @@ func (m *ResponseUnion_RangeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RangeStats.Size())) - n240, err := m.RangeStats.MarshalTo(dAtA[i:]) + n236, err := m.RangeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n240 + i += n236 } return i, nil } @@ -15659,11 +15422,11 @@ func (m *ResponseUnion_AdminRelocateRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminRelocateRange.Size())) - n241, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) + n237, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n241 + i += n237 } return i, nil } @@ -15675,11 +15438,11 @@ func (m *ResponseUnion_RecoverTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecoverTxn.Size())) - n242, err := m.RecoverTxn.MarshalTo(dAtA[i:]) + n238, err := m.RecoverTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n242 + i += n238 } return i, nil } @@ -15691,11 +15454,11 @@ func (m *ResponseUnion_AdminUnsplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminUnsplit.Size())) - n243, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) + n239, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n243 + i += n239 } return i, nil } @@ -15707,11 +15470,11 @@ func (m *ResponseUnion_RevertRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3 i++ i = encodeVarintApi(dAtA, i, uint64(m.RevertRange.Size())) - n244, err := m.RevertRange.MarshalTo(dAtA[i:]) + n240, err := m.RevertRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n244 + i += n240 } return i, nil } @@ -15733,19 +15496,19 @@ func (m *Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Timestamp.Size())) - n245, err := m.Timestamp.MarshalTo(dAtA[i:]) + n241, err := m.Timestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n245 + i += n241 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Replica.Size())) - n246, err := m.Replica.MarshalTo(dAtA[i:]) + n242, err := m.Replica.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n246 + i += n242 if m.RangeID != 0 { dAtA[i] = 0x18 i++ @@ -15761,11 +15524,11 @@ func (m *Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n247, err := m.Txn.MarshalTo(dAtA[i:]) + n243, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n247 + i += n243 } if m.ReadConsistency != 0 { dAtA[i] = 0x30 @@ -15806,11 +15569,11 @@ func (m *Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x62 i++ i = encodeVarintApi(dAtA, i, uint64(m.ScanOptions.Size())) - n248, err := m.ScanOptions.MarshalTo(dAtA[i:]) + n244, err := m.ScanOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n248 + i += n244 } if m.AsyncConsensus { dAtA[i] = 0x68 @@ -15853,11 +15616,11 @@ func (m *BatchRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Header.Size())) - n249, err := m.Header.MarshalTo(dAtA[i:]) + n245, err := m.Header.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n249 + i += n245 if len(m.Requests) > 0 { for _, msg := range m.Requests { dAtA[i] = 0x12 @@ -15891,11 +15654,11 @@ func (m *BatchResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.BatchResponse_Header.Size())) - n250, err := m.BatchResponse_Header.MarshalTo(dAtA[i:]) + n246, err := m.BatchResponse_Header.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n250 + i += n246 if len(m.Responses) > 0 { for _, msg := range m.Responses { dAtA[i] = 0x12 @@ -15930,38 +15693,38 @@ func (m *BatchResponse_Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Error.Size())) - n251, err := m.Error.MarshalTo(dAtA[i:]) + n247, err := m.Error.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n251 + i += n247 } dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Timestamp.Size())) - n252, err := m.Timestamp.MarshalTo(dAtA[i:]) + n248, err := m.Timestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n252 + i += n248 if m.Txn != nil { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n253, err := m.Txn.MarshalTo(dAtA[i:]) + n249, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n253 + i += n249 } dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Now.Size())) - n254, err := m.Now.MarshalTo(dAtA[i:]) + n250, err := m.Now.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n254 + i += n250 if len(m.CollectedSpans) > 0 { for _, msg := range m.CollectedSpans { dAtA[i] = 0x32 @@ -15995,19 +15758,19 @@ func (m *RangeFeedRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Header.Size())) - n255, err := m.Header.MarshalTo(dAtA[i:]) + n251, err := m.Header.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n255 + i += n251 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n256, err := m.Span.MarshalTo(dAtA[i:]) + n252, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n256 + i += n252 if m.WithDiff { dAtA[i] = 0x18 i++ @@ -16045,19 +15808,19 @@ func (m *RangeFeedValue) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Value.Size())) - n257, err := m.Value.MarshalTo(dAtA[i:]) + n253, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n257 + i += n253 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.PrevValue.Size())) - n258, err := m.PrevValue.MarshalTo(dAtA[i:]) + n254, err := m.PrevValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n258 + i += n254 return i, nil } @@ -16079,19 +15842,19 @@ func (m *RangeFeedCheckpoint) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n259, err := m.Span.MarshalTo(dAtA[i:]) + n255, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n259 + i += n255 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolvedTS.Size())) - n260, err := m.ResolvedTS.MarshalTo(dAtA[i:]) + n256, err := m.ResolvedTS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n260 + i += n256 return i, nil } @@ -16113,11 +15876,11 @@ func (m *RangeFeedError) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Error.Size())) - n261, err := m.Error.MarshalTo(dAtA[i:]) + n257, err := m.Error.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n261 + i += n257 return i, nil } @@ -16140,31 +15903,31 @@ func (m *RangeFeedEvent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Val.Size())) - n262, err := m.Val.MarshalTo(dAtA[i:]) + n258, err := m.Val.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n262 + i += n258 } if m.Checkpoint != nil { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Checkpoint.Size())) - n263, err := m.Checkpoint.MarshalTo(dAtA[i:]) + n259, err := m.Checkpoint.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n263 + i += n259 } if m.Error != nil { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.Error.Size())) - n264, err := m.Error.MarshalTo(dAtA[i:]) + n260, err := m.Error.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n264 + i += n260 } return i, nil } @@ -16688,28 +16451,6 @@ func (m *RecomputeStatsResponse) Size() (n int) { return n } -func (m *BeginTransactionRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.RequestHeader.Size() - n += 1 + l + sovApi(uint64(l)) - return n -} - -func (m *BeginTransactionResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.ResponseHeader.Size() - n += 1 + l + sovApi(uint64(l)) - return n -} - func (m *EndTransactionRequest) Size() (n int) { if m == nil { return 0 @@ -18077,18 +17818,6 @@ func (m *RequestUnion_Scan) Size() (n int) { } return n } -func (m *RequestUnion_BeginTransaction) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.BeginTransaction != nil { - l = m.BeginTransaction.Size() - n += 1 + l + sovApi(uint64(l)) - } - return n -} func (m *RequestUnion_EndTransaction) Size() (n int) { if m == nil { return 0 @@ -18617,18 +18346,6 @@ func (m *ResponseUnion_Scan) Size() (n int) { } return n } -func (m *ResponseUnion_BeginTransaction) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.BeginTransaction != nil { - l = m.BeginTransaction.Size() - n += 1 + l + sovApi(uint64(l)) - } - return n -} func (m *ResponseUnion_EndTransaction) Size() (n int) { if m == nil { return 0 @@ -22855,166 +22572,6 @@ func (m *RecomputeStatsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *BeginTransactionRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowApi - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BeginTransactionRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BeginTransactionRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestHeader", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowApi - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthApi - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.RequestHeader.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipApi(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthApi - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BeginTransactionResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowApi - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BeginTransactionResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BeginTransactionResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResponseHeader", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowApi - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthApi - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.ResponseHeader.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipApi(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthApi - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *EndTransactionRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -32794,38 +32351,6 @@ func (m *RequestUnion) Unmarshal(dAtA []byte) error { } m.Value = &RequestUnion_Scan{v} iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BeginTransaction", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowApi - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthApi - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &BeginTransactionRequest{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Value = &RequestUnion_BeginTransaction{v} - iNdEx = postIndex case 9: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field EndTransaction", wireType) @@ -34252,38 +33777,6 @@ func (m *ResponseUnion) Unmarshal(dAtA []byte) error { } m.Value = &ResponseUnion_Scan{v} iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BeginTransaction", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowApi - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthApi - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &BeginTransactionResponse{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Value = &ResponseUnion_BeginTransaction{v} - iNdEx = postIndex case 9: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field EndTransaction", wireType) @@ -36912,451 +36405,448 @@ var ( ErrIntOverflowApi = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("roachpb/api.proto", fileDescriptor_api_414b47f508b5449f) } - -var fileDescriptor_api_414b47f508b5449f = []byte{ - // 7085 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0xdb, 0x6f, 0x23, 0xc9, - 0x75, 0xb7, 0x9a, 0xa4, 0x24, 0xf2, 0x90, 0xa2, 0x5a, 0x25, 0xcd, 0x0c, 0x47, 0xbb, 0x2b, 0x69, - 0x38, 0xd7, 0x9d, 0xdd, 0xd5, 0xec, 0xcc, 0x78, 0x3f, 0xaf, 0x77, 0xed, 0xb5, 0x25, 0x8a, 0x33, - 0xd4, 0x68, 0x74, 0xd9, 0x26, 0x35, 0xeb, 0x59, 0x7f, 0x9b, 0x76, 0xab, 0xbb, 0x44, 0xb5, 0x87, - 0xec, 0xe6, 0x74, 0x37, 0x47, 0xd2, 0x00, 0x41, 0x90, 0x27, 0x07, 0x8e, 0x61, 0xe4, 0x21, 0x08, - 0x02, 0x3b, 0x81, 0x17, 0x70, 0x90, 0x00, 0x09, 0x62, 0x20, 0x40, 0x90, 0xc4, 0x41, 0x02, 0x3f, - 0xe4, 0x65, 0x63, 0xf8, 0x61, 0x11, 0x24, 0x8e, 0x91, 0x07, 0x21, 0x1e, 0x27, 0x88, 0x91, 0x3f, - 0x20, 0x06, 0xf6, 0x21, 0x08, 0xea, 0xd2, 0x37, 0xb2, 0x9b, 0xa2, 0xe4, 0xde, 0x64, 0x83, 0x3c, - 0x91, 0x7d, 0xaa, 0xce, 0xe9, 0xaa, 0x53, 0x55, 0xa7, 0xce, 0xaf, 0xea, 0x54, 0x35, 0x4c, 0x59, - 0xa6, 0xa2, 0xee, 0x75, 0x76, 0x6e, 0x28, 0x1d, 0x7d, 0xb1, 0x63, 0x99, 0x8e, 0x89, 0xa6, 0x54, - 0x53, 0x7d, 0x44, 0xc9, 0x8b, 0x3c, 0x71, 0x16, 0xb9, 0xb9, 0x34, 0xc5, 0x51, 0x58, 0xb6, 0xd9, - 0x19, 0x97, 0x86, 0x2d, 0xcb, 0xb4, 0x6c, 0x4e, 0x3d, 0xeb, 0x52, 0xdb, 0xd8, 0x51, 0x02, 0xb9, - 0xcb, 0xb6, 0x63, 0x5a, 0x4a, 0x13, 0xdf, 0xc0, 0x46, 0x53, 0x37, 0xdc, 0x1f, 0x92, 0xef, 0x89, - 0xaa, 0xf2, 0x3c, 0x17, 0x07, 0xe5, 0xb9, 0xcd, 0x33, 0x95, 0xba, 0x8e, 0xde, 0xba, 0xb1, 0xd7, - 0x52, 0x6f, 0x38, 0x7a, 0x1b, 0xdb, 0x8e, 0xd2, 0xee, 0xf0, 0x94, 0x05, 0x9a, 0xe2, 0x58, 0x8a, - 0xaa, 0x1b, 0xcd, 0x1b, 0x16, 0x56, 0x4d, 0x4b, 0xc3, 0x9a, 0x6c, 0x77, 0x14, 0xc3, 0x2d, 0x72, - 0xd3, 0x6c, 0x9a, 0xf4, 0xef, 0x0d, 0xf2, 0x8f, 0x51, 0xcb, 0xbf, 0x02, 0x39, 0x49, 0x31, 0x9a, - 0x78, 0xd5, 0xd8, 0x35, 0xd1, 0x67, 0x21, 0xa3, 0x61, 0x5b, 0x2d, 0x09, 0x0b, 0xc2, 0xb5, 0xfc, - 0xad, 0xf2, 0x62, 0x9f, 0x2e, 0x16, 0x69, 0xde, 0x15, 0x6c, 0xab, 0x96, 0xde, 0x71, 0x4c, 0x6b, - 0x39, 0xf3, 0xc1, 0xd1, 0xfc, 0x88, 0x44, 0xb9, 0xd0, 0xa7, 0x60, 0xb4, 0x85, 0x15, 0x1b, 0x97, - 0x52, 0x94, 0xbd, 0x14, 0xc1, 0x7e, 0x9f, 0xa4, 0x73, 0x26, 0x96, 0xb9, 0xfc, 0x37, 0x02, 0x4c, - 0x48, 0xf8, 0x71, 0x17, 0xdb, 0x4e, 0x0d, 0x2b, 0x1a, 0xb6, 0xd0, 0x79, 0x48, 0x3f, 0xc2, 0x87, - 0xa5, 0xf4, 0x82, 0x70, 0xad, 0xb0, 0x3c, 0xfe, 0xd1, 0xd1, 0x7c, 0x7a, 0x0d, 0x1f, 0x4a, 0x84, - 0x86, 0x16, 0x60, 0x1c, 0x1b, 0x9a, 0x4c, 0x92, 0x33, 0xe1, 0xe4, 0x31, 0x6c, 0x68, 0x6b, 0xf8, - 0x10, 0xa9, 0x90, 0xb5, 0x89, 0x34, 0x43, 0xc5, 0xa5, 0xd1, 0x05, 0xe1, 0xda, 0xe8, 0xf2, 0xdd, - 0x8f, 0x8e, 0xe6, 0x2b, 0x4d, 0xdd, 0xd9, 0xeb, 0xee, 0x2c, 0xaa, 0x66, 0xfb, 0x86, 0x57, 0x2a, - 0x6d, 0xc7, 0xff, 0x7f, 0xa3, 0xf3, 0xa8, 0x79, 0x23, 0xa6, 0x05, 0x16, 0x1b, 0x07, 0x46, 0x1d, - 0x3f, 0x96, 0x3c, 0xc1, 0x6f, 0x64, 0x7e, 0xf6, 0xfe, 0xbc, 0x70, 0x2f, 0x93, 0x15, 0xc4, 0xd4, - 0xbd, 0x4c, 0x36, 0x25, 0xa6, 0xcb, 0x5f, 0x4f, 0x43, 0x51, 0xc2, 0x76, 0xc7, 0x34, 0x6c, 0xcc, - 0xab, 0xf1, 0x2a, 0xa4, 0x9d, 0x03, 0x83, 0x56, 0x23, 0x7f, 0x6b, 0x2e, 0x42, 0x19, 0x0d, 0x4b, - 0x31, 0x6c, 0x45, 0x75, 0x74, 0xd3, 0x90, 0x48, 0x56, 0xf4, 0x3a, 0xe4, 0x2d, 0x6c, 0x77, 0xdb, - 0x98, 0x36, 0x1b, 0xad, 0x61, 0xfe, 0xd6, 0xb9, 0x08, 0xce, 0x7a, 0x47, 0x31, 0x24, 0x60, 0x79, - 0xc9, 0x7f, 0x74, 0x1e, 0xb2, 0x46, 0xb7, 0x4d, 0xf4, 0x62, 0xd3, 0x5a, 0xa7, 0xa5, 0x71, 0xa3, - 0xdb, 0x5e, 0xc3, 0x87, 0x36, 0xaa, 0x40, 0xde, 0x22, 0x8d, 0x26, 0xeb, 0xc6, 0xae, 0x69, 0x97, - 0xc6, 0x16, 0xd2, 0xd7, 0xf2, 0xb7, 0x9e, 0x8f, 0x6b, 0x5a, 0xd2, 0x0d, 0x78, 0xfb, 0x80, 0xe5, - 0x12, 0x6c, 0x54, 0x87, 0x09, 0x5e, 0x32, 0x0b, 0x2b, 0xb6, 0x69, 0x94, 0xc6, 0x17, 0x84, 0x6b, - 0xc5, 0x5b, 0x8b, 0x51, 0x62, 0x42, 0x5a, 0x20, 0x8f, 0xdd, 0x36, 0x96, 0x28, 0x97, 0x54, 0xb0, - 0x02, 0x4f, 0xe5, 0x87, 0x50, 0x08, 0xa6, 0x22, 0x04, 0x45, 0xa9, 0x5a, 0xdf, 0x5e, 0xaf, 0xca, - 0xdb, 0x1b, 0x6b, 0x1b, 0x9b, 0xef, 0x6c, 0x88, 0x23, 0x68, 0x06, 0x44, 0x4e, 0x5b, 0xab, 0x3e, - 0x94, 0xef, 0xaf, 0xae, 0xaf, 0x36, 0x44, 0x01, 0x9d, 0x87, 0x33, 0x9c, 0x2a, 0x2d, 0x6d, 0xdc, - 0xad, 0xca, 0xcb, 0x9b, 0xdb, 0x1b, 0x2b, 0x4b, 0xd2, 0x43, 0x31, 0x35, 0x9b, 0xf9, 0xb5, 0xef, - 0xcc, 0x8d, 0x94, 0x1f, 0x00, 0xdc, 0xc5, 0x0e, 0xef, 0x56, 0x68, 0x19, 0xc6, 0xf6, 0x68, 0x69, - 0x78, 0xc7, 0x5e, 0x88, 0x2c, 0x76, 0xa0, 0x0b, 0x2e, 0x67, 0x89, 0x06, 0x3e, 0x3c, 0x9a, 0x17, - 0x24, 0xce, 0xc9, 0x9a, 0xbc, 0xfc, 0x7d, 0x01, 0xf2, 0x54, 0x30, 0xab, 0x23, 0xaa, 0xf4, 0x48, - 0xbe, 0x70, 0xac, 0x42, 0xfa, 0x45, 0xa3, 0x45, 0x18, 0x7d, 0xa2, 0xb4, 0xba, 0x83, 0xc6, 0xcd, - 0x03, 0x92, 0x2e, 0xb1, 0x6c, 0xe8, 0x4d, 0x28, 0xe8, 0x86, 0x83, 0x0d, 0x47, 0x66, 0x6c, 0xe9, - 0x63, 0xd8, 0xf2, 0x2c, 0x37, 0x7d, 0x28, 0xff, 0xa5, 0x00, 0xb0, 0xd5, 0x4d, 0x52, 0x35, 0x64, - 0xdc, 0x0f, 0x55, 0x7e, 0x77, 0xdc, 0xb3, 0x5a, 0x9c, 0x85, 0x31, 0xdd, 0x68, 0xe9, 0x06, 0x2b, - 0x7f, 0x56, 0xe2, 0x4f, 0x68, 0x06, 0x46, 0x77, 0x5a, 0xba, 0xa1, 0xd1, 0xee, 0x9f, 0x95, 0xd8, - 0x03, 0x57, 0xbf, 0x04, 0x79, 0x5a, 0xf6, 0x04, 0xb5, 0x5f, 0xfe, 0x66, 0x0a, 0xce, 0x54, 0x4c, - 0x43, 0xd3, 0xc9, 0x38, 0x54, 0x5a, 0x9f, 0x08, 0xdd, 0xbc, 0x06, 0x39, 0x7c, 0xd0, 0x19, 0xb2, - 0x79, 0xb3, 0xf8, 0xa0, 0x43, 0xff, 0x45, 0xab, 0x0e, 0x7d, 0x0a, 0xce, 0x29, 0xad, 0x96, 0xb9, - 0x2f, 0xeb, 0xbb, 0xb2, 0x66, 0x62, 0x5b, 0x36, 0x4c, 0x47, 0xc6, 0x07, 0xba, 0xed, 0x50, 0x53, - 0x91, 0x95, 0xa6, 0x69, 0xf2, 0xea, 0xee, 0x8a, 0x89, 0xed, 0x0d, 0xd3, 0xa9, 0x92, 0x24, 0xae, - 0xf0, 0xf7, 0xe0, 0x6c, 0xaf, 0x6e, 0x92, 0xd4, 0xfd, 0xdf, 0x09, 0x50, 0x5c, 0x35, 0x74, 0xe7, - 0x13, 0xa1, 0x74, 0x4f, 0x7b, 0xe9, 0xa0, 0xf6, 0xae, 0x83, 0xb8, 0xab, 0xe8, 0xad, 0x4d, 0xa3, - 0x61, 0xb6, 0x77, 0x6c, 0xc7, 0x34, 0xb0, 0xcd, 0xd5, 0xdb, 0x47, 0xe7, 0x3a, 0x7b, 0x00, 0x93, - 0x5e, 0x9d, 0x92, 0x54, 0xd6, 0x53, 0x10, 0x57, 0x0d, 0xd5, 0xc2, 0x6d, 0x6c, 0x24, 0xaa, 0xad, - 0xe7, 0x21, 0xa7, 0xbb, 0x72, 0xa9, 0xc6, 0xd2, 0x92, 0x4f, 0xe0, 0x75, 0xea, 0xc2, 0x54, 0xe0, - 0xdd, 0x49, 0x1a, 0xbf, 0xe7, 0x20, 0x67, 0xe0, 0x7d, 0xd9, 0x6f, 0xaf, 0xb4, 0x94, 0x35, 0xf0, - 0x3e, 0x33, 0x56, 0x0f, 0x61, 0x62, 0x05, 0xb7, 0xb0, 0x83, 0x93, 0xb7, 0xe4, 0xdb, 0x50, 0x74, - 0x45, 0x27, 0xd9, 0x48, 0xbf, 0x2b, 0x00, 0xe2, 0x72, 0xc9, 0xec, 0x99, 0x64, 0x3b, 0xcd, 0x13, - 0xef, 0xc0, 0xe9, 0x5a, 0x06, 0x9b, 0xe6, 0x59, 0x2f, 0x05, 0x46, 0xa2, 0x33, 0xbd, 0x6f, 0x51, - 0x33, 0x41, 0x8b, 0xea, 0x79, 0x2b, 0xc4, 0x4f, 0xd9, 0x87, 0xe9, 0x50, 0xf1, 0x92, 0x6d, 0xca, - 0x0c, 0x2d, 0x59, 0x6a, 0x21, 0x1d, 0xf4, 0xcc, 0x28, 0xb1, 0xfc, 0x1e, 0x4c, 0x55, 0x5a, 0x58, - 0xb1, 0x92, 0x56, 0x0b, 0x6f, 0xce, 0x87, 0x80, 0x82, 0xe2, 0x93, 0x6c, 0xd2, 0xdf, 0x13, 0x00, - 0x49, 0xf8, 0x09, 0xb6, 0x9c, 0xc4, 0x9b, 0x74, 0x05, 0xf2, 0x8e, 0x62, 0x35, 0xb1, 0x23, 0x13, - 0x77, 0x9e, 0x9b, 0xab, 0x17, 0x02, 0x82, 0x88, 0x53, 0xbf, 0xb8, 0xd7, 0x52, 0x17, 0x1b, 0xae, - 0xbb, 0xef, 0x3a, 0x67, 0x8c, 0x8f, 0x90, 0xb9, 0x06, 0xde, 0x85, 0xe9, 0x50, 0x29, 0x93, 0x54, - 0x81, 0x0e, 0xf9, 0xba, 0xaa, 0x18, 0x9b, 0x1d, 0x32, 0x0f, 0xd8, 0xe8, 0x36, 0x9c, 0xb5, 0x1d, - 0xb3, 0x23, 0x2b, 0x8e, 0xcc, 0x5c, 0xcb, 0x1d, 0xb3, 0x6b, 0x68, 0x8a, 0x75, 0x48, 0xdf, 0x91, - 0x95, 0xa6, 0x49, 0xea, 0x12, 0x2b, 0xc8, 0x32, 0x4f, 0x22, 0xdd, 0xb7, 0xad, 0x1b, 0x32, 0xf1, - 0x00, 0x5b, 0x8e, 0xcd, 0x87, 0x3a, 0xb4, 0x75, 0x43, 0x62, 0x14, 0x5e, 0x8d, 0xef, 0x08, 0xec, - 0x5d, 0x49, 0xaa, 0xf9, 0x2d, 0xc8, 0xdb, 0xaa, 0x62, 0xc8, 0xbb, 0xa6, 0xd5, 0x56, 0x1c, 0x3a, - 0x3a, 0x8a, 0x21, 0x35, 0x7b, 0x7e, 0xb5, 0xaa, 0x18, 0x77, 0x68, 0x26, 0x09, 0x6c, 0xef, 0x7f, - 0x70, 0x00, 0xdd, 0xcb, 0x64, 0xd3, 0x62, 0xa6, 0xfc, 0x73, 0x01, 0x0a, 0xac, 0x94, 0x49, 0x0e, - 0xa0, 0xd7, 0x20, 0x63, 0x99, 0xfb, 0x6c, 0x00, 0xe5, 0x6f, 0x3d, 0x17, 0x21, 0x62, 0x0d, 0x1f, - 0x06, 0x67, 0x2e, 0x9a, 0x1d, 0x2d, 0x03, 0xf7, 0xf0, 0x64, 0xca, 0x9d, 0x1e, 0x96, 0x1b, 0x18, - 0x97, 0x44, 0x64, 0x5c, 0x85, 0xc9, 0x1d, 0xc5, 0x51, 0xf7, 0x48, 0xfb, 0xd0, 0x42, 0x92, 0x59, - 0x2e, 0x7d, 0xad, 0x20, 0x15, 0x29, 0xd9, 0x2d, 0xba, 0x5d, 0xfe, 0x43, 0x77, 0x34, 0xd8, 0xf8, - 0x93, 0xdf, 0x4c, 0xff, 0x29, 0xf0, 0x41, 0xe1, 0x16, 0xf6, 0xff, 0x5a, 0x6b, 0x7d, 0x3b, 0x05, - 0xe7, 0x2a, 0x7b, 0x58, 0x7d, 0x54, 0x31, 0x0d, 0x5b, 0xb7, 0x1d, 0x6c, 0xa8, 0x87, 0x49, 0x36, - 0xd9, 0x73, 0x90, 0xdb, 0xd7, 0x9d, 0x3d, 0x59, 0xd3, 0x77, 0x77, 0xe9, 0x90, 0xce, 0x4a, 0x59, - 0x42, 0x58, 0xd1, 0x77, 0x77, 0xd1, 0x6d, 0xc8, 0xb4, 0x4d, 0x8d, 0x39, 0xb0, 0xc5, 0x5b, 0xf3, - 0x11, 0xe2, 0x69, 0xd1, 0xec, 0x6e, 0x7b, 0xdd, 0xd4, 0xb0, 0x44, 0x33, 0xa3, 0x39, 0x00, 0x95, - 0x50, 0x3b, 0xa6, 0x6e, 0x38, 0x7c, 0x22, 0x0b, 0x50, 0x50, 0x0d, 0x72, 0x0e, 0xb6, 0xda, 0xba, - 0xa1, 0x38, 0x04, 0xe0, 0x13, 0xe5, 0x5d, 0x8a, 0x2c, 0x78, 0xa7, 0xa5, 0xab, 0x4a, 0xdf, 0x4a, - 0x85, 0xcf, 0xcc, 0xed, 0xcd, 0x37, 0x32, 0x50, 0xea, 0xd7, 0x50, 0x92, 0xfd, 0x64, 0x0b, 0xc6, - 0x98, 0xd1, 0xe3, 0x3d, 0xe5, 0x56, 0x9c, 0x22, 0x22, 0x4a, 0xb0, 0xc8, 0x8c, 0x23, 0x2f, 0x3c, - 0x97, 0x33, 0xfb, 0x57, 0x02, 0x8c, 0xb1, 0x04, 0x74, 0x13, 0xb2, 0x1c, 0xdd, 0x6b, 0xb4, 0x8c, - 0xe9, 0xe5, 0xb3, 0xcf, 0x8e, 0xe6, 0xc7, 0x19, 0x96, 0x5f, 0xf9, 0xc8, 0xff, 0x2b, 0x8d, 0x33, - 0x38, 0xaf, 0x91, 0x36, 0xb3, 0x1d, 0xc5, 0x72, 0xe8, 0x2a, 0x0a, 0x69, 0xb3, 0x82, 0x94, 0xa5, - 0x84, 0x35, 0x7c, 0x88, 0xee, 0xc1, 0x98, 0xed, 0x28, 0x4e, 0xd7, 0xe6, 0xad, 0x76, 0xa2, 0xc2, - 0xd6, 0x29, 0xa7, 0xc4, 0x25, 0x10, 0x7f, 0x44, 0xc3, 0x8e, 0xa2, 0xb7, 0x68, 0x33, 0xe6, 0x24, - 0xfe, 0x54, 0xfe, 0x96, 0x00, 0x63, 0x2c, 0x2b, 0x3a, 0x07, 0xd3, 0x0c, 0xc1, 0xaf, 0x6e, 0xac, - 0x54, 0x1b, 0x55, 0x69, 0x7d, 0x75, 0x63, 0xa9, 0x51, 0x15, 0x47, 0xd0, 0x59, 0x40, 0x6e, 0x42, - 0x65, 0x73, 0xa3, 0xbe, 0x5a, 0x6f, 0x54, 0x37, 0x08, 0xf2, 0x9f, 0x01, 0x91, 0xd1, 0x03, 0xd4, - 0x14, 0xba, 0x04, 0x0b, 0xbd, 0x54, 0xb9, 0xde, 0x58, 0x6a, 0xd4, 0xe5, 0x6a, 0xbd, 0xb1, 0xba, - 0xbe, 0xd4, 0xa8, 0xae, 0x88, 0xe9, 0x01, 0xb9, 0xc8, 0x4b, 0x24, 0xa9, 0x5a, 0x69, 0x88, 0x99, - 0xf2, 0x53, 0x38, 0x23, 0x61, 0xd5, 0x6c, 0x77, 0xba, 0x0e, 0x26, 0xa5, 0xb4, 0x93, 0x1c, 0x2f, - 0xe7, 0x60, 0x5c, 0xb3, 0x0e, 0x65, 0xab, 0x6b, 0xf0, 0xd1, 0x32, 0xa6, 0x59, 0x87, 0x52, 0xd7, - 0xe0, 0x9d, 0xf1, 0xcf, 0x05, 0x38, 0xdb, 0xfb, 0xf2, 0x24, 0xbb, 0xe2, 0x17, 0x21, 0xaf, 0x68, - 0x1a, 0xd6, 0x64, 0x0d, 0xb7, 0x1c, 0x85, 0xfb, 0x1b, 0x37, 0x03, 0x92, 0xf8, 0x0a, 0xd8, 0x22, - 0x5b, 0xfa, 0x5a, 0xf4, 0x56, 0xc0, 0xd6, 0x1f, 0x54, 0x2a, 0xb4, 0x3c, 0x2b, 0x84, 0xd1, 0xb5, - 0x48, 0x54, 0x16, 0xa5, 0x94, 0x55, 0x38, 0xb7, 0x8c, 0x9b, 0xba, 0x11, 0x5c, 0xd3, 0x4a, 0xdc, - 0xc9, 0x93, 0xa1, 0xd4, 0xff, 0x92, 0x44, 0x5d, 0xbd, 0x0c, 0x9c, 0xa9, 0x1a, 0xda, 0xc7, 0x53, - 0x09, 0x32, 0x1e, 0x54, 0xb3, 0xdd, 0xd6, 0x1d, 0xb7, 0xed, 0xd9, 0x13, 0xfa, 0x0c, 0x64, 0x35, - 0xac, 0x68, 0xde, 0x5a, 0xc8, 0x71, 0x2e, 0xa0, 0xe4, 0x65, 0x47, 0x5f, 0x86, 0x73, 0x64, 0x5a, - 0xb0, 0x0c, 0xa5, 0x25, 0x33, 0x69, 0xb2, 0x63, 0xe9, 0xcd, 0x26, 0xb6, 0xf8, 0xea, 0xe1, 0xb5, - 0x88, 0x72, 0xae, 0x72, 0x8e, 0x0a, 0x65, 0x68, 0xb0, 0xfc, 0xd2, 0x19, 0x3d, 0x8a, 0x8c, 0xbe, - 0xe0, 0x2d, 0x36, 0xd9, 0x1d, 0xc5, 0xb0, 0xb9, 0xc9, 0x8d, 0x5b, 0x94, 0xe4, 0x3d, 0x83, 0xcf, - 0x70, 0x84, 0x62, 0xa3, 0x1b, 0x04, 0xb7, 0x3c, 0xee, 0xea, 0x16, 0x96, 0x6f, 0x76, 0xd4, 0xd2, - 0x18, 0xa9, 0xfb, 0x72, 0xf1, 0xd9, 0xd1, 0x3c, 0x48, 0x8c, 0x7c, 0x73, 0xab, 0x42, 0x70, 0x0c, - 0xfb, 0xdf, 0x51, 0xd1, 0x35, 0x10, 0x0d, 0x53, 0xb6, 0xf0, 0xae, 0x85, 0xed, 0x3d, 0xfe, 0xda, - 0x2c, 0xd5, 0x58, 0xd1, 0x30, 0x25, 0x46, 0x66, 0xa2, 0xcf, 0xc2, 0x58, 0xc7, 0xd4, 0x6d, 0xd3, - 0x28, 0xe5, 0x98, 0x46, 0xd9, 0x13, 0x7a, 0x1b, 0x44, 0xdd, 0x90, 0x77, 0x5b, 0x7a, 0x73, 0xcf, - 0x91, 0xf7, 0x2d, 0xdd, 0xc1, 0x76, 0x69, 0x8a, 0x16, 0x3c, 0xaa, 0x5b, 0xd4, 0xf9, 0xb2, 0xae, - 0xf6, 0x0e, 0xc9, 0xc9, 0xab, 0x50, 0xd4, 0x8d, 0x3b, 0x94, 0x9f, 0x12, 0x6d, 0xcf, 0xb9, 0x18, - 0x17, 0xb3, 0xe5, 0x7f, 0x15, 0xe0, 0x6c, 0x6f, 0x37, 0x49, 0x72, 0x98, 0x5e, 0x03, 0xd1, 0x34, - 0xb0, 0xdc, 0xd9, 0x53, 0x6c, 0xcc, 0x9b, 0x95, 0xcf, 0x84, 0x45, 0xd3, 0xc0, 0x5b, 0x84, 0xcc, - 0x1a, 0x09, 0x6d, 0xc1, 0x94, 0xed, 0x28, 0x4d, 0xdd, 0x68, 0xca, 0xde, 0x86, 0x00, 0x5d, 0xd5, - 0x19, 0x12, 0x46, 0x88, 0x9c, 0xdb, 0xa3, 0x87, 0xdc, 0xa7, 0x7f, 0x14, 0x60, 0x6a, 0x49, 0x6b, - 0xeb, 0x46, 0xbd, 0xd3, 0xd2, 0x13, 0x5d, 0x73, 0xb8, 0x04, 0x39, 0x9b, 0xc8, 0xf4, 0xe7, 0x20, - 0x1f, 0x2f, 0x66, 0x69, 0x0a, 0x99, 0x8c, 0xee, 0xc3, 0x24, 0x3e, 0xe8, 0xe8, 0x96, 0x42, 0x54, - 0xcc, 0x20, 0x52, 0x66, 0xf8, 0xba, 0x15, 0x7d, 0x5e, 0x1f, 0x26, 0xf1, 0x9a, 0x3d, 0x04, 0x14, - 0xac, 0x58, 0x92, 0x36, 0x44, 0x86, 0x69, 0x2a, 0x7a, 0xdb, 0xb0, 0x13, 0xd6, 0x1a, 0xb7, 0x82, - 0x5f, 0x82, 0x99, 0xf0, 0x0b, 0x92, 0x2c, 0xfd, 0x7b, 0xbc, 0xc5, 0xd7, 0xb1, 0xf5, 0x31, 0xc1, - 0xf4, 0xa0, 0xf8, 0x24, 0x4b, 0xfe, 0x35, 0x01, 0xce, 0x53, 0xd9, 0x74, 0x58, 0xee, 0x62, 0x8b, - 0xee, 0x35, 0x25, 0xd9, 0x69, 0x2f, 0xc2, 0x18, 0x43, 0xdd, 0xb4, 0xc7, 0x8e, 0x2e, 0xe7, 0x89, - 0x7b, 0x55, 0x77, 0x4c, 0x8b, 0xb8, 0x57, 0x3c, 0x89, 0xd7, 0x53, 0x81, 0xd9, 0xa8, 0xb2, 0x24, - 0xbc, 0x2c, 0x31, 0xc5, 0xbd, 0x5c, 0xd2, 0xc5, 0x2b, 0x7b, 0xc4, 0xbd, 0x43, 0x55, 0xc8, 0xab, - 0xf4, 0x9f, 0xec, 0x1c, 0x76, 0x30, 0x95, 0x5f, 0x1c, 0xe4, 0x20, 0x33, 0xb6, 0xc6, 0x61, 0x07, - 0x13, 0x2f, 0xdb, 0xfd, 0x4f, 0xd4, 0x15, 0xa8, 0xea, 0x40, 0x17, 0x9b, 0x8e, 0x2f, 0x9a, 0xd7, - 0xf5, 0x52, 0x43, 0x9a, 0xf8, 0x5e, 0x9a, 0xab, 0x82, 0xbd, 0x89, 0x33, 0x25, 0xea, 0x54, 0xbd, - 0x0b, 0x67, 0x35, 0xdc, 0xb1, 0xb0, 0xaa, 0x38, 0x58, 0x93, 0x83, 0xd5, 0x4f, 0x9d, 0xa0, 0xfa, - 0x33, 0xbe, 0x0c, 0x9f, 0x8a, 0x1e, 0x02, 0x0a, 0xc8, 0x66, 0x35, 0x73, 0x41, 0xdb, 0x49, 0x94, - 0x32, 0xe5, 0x4b, 0x61, 0x74, 0x1b, 0x55, 0x20, 0x8b, 0x0f, 0x3a, 0x32, 0xdd, 0x70, 0xcd, 0x9c, - 0x70, 0xc3, 0x75, 0x1c, 0x1f, 0x74, 0x08, 0x11, 0x6d, 0x93, 0x99, 0xce, 0x75, 0x00, 0x68, 0xb1, - 0xed, 0xe3, 0x51, 0x91, 0xdf, 0x5f, 0xb8, 0xb8, 0x49, 0x6f, 0xee, 0x67, 0x22, 0x78, 0xdb, 0xbd, - 0x2f, 0xc0, 0x73, 0x91, 0x6d, 0x97, 0xe4, 0x64, 0xe7, 0xee, 0x39, 0xa7, 0x4e, 0xb3, 0xe7, 0x5c, - 0xfe, 0x23, 0x77, 0xd4, 0x4b, 0xb8, 0x65, 0x12, 0xf5, 0x7e, 0x0c, 0x6b, 0x74, 0xe3, 0x6e, 0xb3, - 0xa7, 0x4e, 0xdc, 0xec, 0x2e, 0x6b, 0x8f, 0x59, 0xe8, 0x29, 0x6c, 0x92, 0x66, 0xe1, 0xb7, 0x04, - 0x98, 0xae, 0x61, 0xc5, 0x72, 0x76, 0xb0, 0xe2, 0x34, 0x0e, 0x12, 0x75, 0x60, 0x5f, 0x83, 0xb4, - 0x61, 0xee, 0x9f, 0x64, 0x99, 0x92, 0xe4, 0xf7, 0xa7, 0xad, 0x70, 0xb9, 0x92, 0xac, 0xf5, 0xdf, - 0xa6, 0x20, 0x77, 0xb7, 0x92, 0x64, 0x5d, 0x3f, 0xcb, 0x17, 0xb3, 0xd9, 0x50, 0x8f, 0xea, 0x96, - 0xde, 0xfb, 0x16, 0xef, 0x56, 0xd6, 0xf0, 0xa1, 0xdb, 0x2d, 0x09, 0x17, 0x5a, 0x82, 0x9c, 0xb3, - 0x47, 0xfc, 0x54, 0xb3, 0xa5, 0x9d, 0xc4, 0x67, 0xf1, 0xb9, 0x66, 0x1f, 0xc1, 0x28, 0x95, 0xeb, - 0x86, 0x43, 0x08, 0x11, 0xe1, 0x10, 0xe4, 0x35, 0x9e, 0xdb, 0x97, 0x3a, 0xc9, 0x6b, 0x5c, 0x02, - 0x6b, 0x1c, 0xcf, 0x37, 0x1a, 0x15, 0xc7, 0xca, 0x6f, 0x03, 0x90, 0xaa, 0x25, 0xd9, 0x3c, 0xdf, - 0x4b, 0x43, 0x71, 0xab, 0x6b, 0xef, 0x25, 0xdc, 0x1f, 0x2b, 0x00, 0x9d, 0xae, 0xbd, 0x87, 0x2d, - 0xd9, 0x39, 0x30, 0x78, 0xfd, 0x8f, 0x09, 0xb4, 0x70, 0x15, 0xc0, 0xf8, 0x1a, 0x07, 0x06, 0xda, - 0xe4, 0x42, 0xb0, 0xec, 0x47, 0x6b, 0x5c, 0x1f, 0x02, 0x12, 0x37, 0x0e, 0x8c, 0x75, 0xec, 0x61, - 0x61, 0x26, 0x10, 0x13, 0x81, 0x9f, 0x85, 0x71, 0xf2, 0x20, 0x3b, 0xe6, 0x49, 0x5a, 0x7e, 0x8c, - 0xf0, 0x34, 0x4c, 0xf4, 0x26, 0xe4, 0x18, 0x37, 0x99, 0xbf, 0xc6, 0xe8, 0xfc, 0x15, 0x55, 0x25, - 0xae, 0x4d, 0x3a, 0x73, 0x65, 0x29, 0x2b, 0x99, 0xad, 0x66, 0x60, 0x74, 0xd7, 0xb4, 0x54, 0x4c, - 0xc3, 0x33, 0xb2, 0x12, 0x7b, 0x40, 0xd7, 0x61, 0x4a, 0x37, 0xd4, 0x56, 0xd7, 0xd6, 0x9f, 0x60, - 0xd9, 0x2d, 0x1a, 0x03, 0x4c, 0x93, 0x5e, 0x02, 0x15, 0x68, 0x06, 0x3b, 0xc2, 0xbd, 0x4c, 0x36, - 0x2b, 0xe6, 0xca, 0xdf, 0x12, 0x60, 0xd2, 0x6b, 0xbb, 0x24, 0x0d, 0x7f, 0x25, 0xa4, 0xf8, 0x93, - 0xb7, 0x1e, 0x51, 0x76, 0xf9, 0xef, 0xa9, 0x17, 0xa4, 0x9a, 0x4f, 0x68, 0x63, 0x26, 0xd9, 0xb9, - 0x96, 0x59, 0xf8, 0x4e, 0xea, 0x94, 0x1d, 0x82, 0x06, 0xf4, 0xdc, 0x84, 0x19, 0xbd, 0x4d, 0x66, - 0x06, 0xdd, 0x69, 0x1d, 0x72, 0x24, 0xe7, 0x60, 0x77, 0x87, 0x79, 0xda, 0x4f, 0xab, 0xb8, 0x49, - 0xdc, 0x58, 0xb2, 0x3d, 0x27, 0xbf, 0x5a, 0x49, 0xea, 0x7d, 0x15, 0x26, 0x2c, 0x26, 0x9a, 0x78, - 0x34, 0x27, 0x54, 0x7d, 0xc1, 0x63, 0x25, 0xda, 0xff, 0x6e, 0x0a, 0x26, 0xdf, 0xee, 0x62, 0xeb, - 0xf0, 0x13, 0xa8, 0xfb, 0x2b, 0x30, 0xb9, 0xaf, 0xe8, 0x8e, 0xbc, 0x6b, 0x5a, 0x72, 0xb7, 0xa3, - 0x29, 0x8e, 0x1b, 0x68, 0x32, 0x41, 0xc8, 0x77, 0x4c, 0x6b, 0x9b, 0x12, 0x11, 0x06, 0xf4, 0xc8, - 0x30, 0xf7, 0x0d, 0x99, 0x90, 0x29, 0x90, 0x3e, 0x30, 0xf8, 0x72, 0xfa, 0xf2, 0xa7, 0xff, 0xe9, - 0x68, 0xfe, 0xf6, 0x50, 0xa1, 0x63, 0x34, 0xfa, 0xae, 0xdb, 0xd5, 0xb5, 0xc5, 0xed, 0xed, 0xd5, - 0x15, 0x49, 0xa4, 0x22, 0xdf, 0x61, 0x12, 0x1b, 0x07, 0x86, 0xeb, 0x00, 0x7c, 0x24, 0x80, 0xe8, - 0x2b, 0x2c, 0xc9, 0x56, 0xad, 0x42, 0xfe, 0x71, 0x17, 0x5b, 0xfa, 0x29, 0xda, 0x14, 0x38, 0x23, - 0x31, 0x5e, 0xef, 0x42, 0x21, 0xa4, 0x87, 0xf4, 0x2f, 0xa6, 0x87, 0xfc, 0xbe, 0xaf, 0x82, 0xf2, - 0x0f, 0x05, 0x40, 0xb4, 0xf2, 0xab, 0x6c, 0x27, 0xe3, 0x13, 0xd6, 0x61, 0xae, 0x81, 0x48, 0x83, - 0x39, 0x65, 0x7d, 0x57, 0x6e, 0xeb, 0xb6, 0xad, 0x1b, 0x4d, 0xde, 0x63, 0x8a, 0x94, 0xbe, 0xba, - 0xbb, 0xce, 0xa8, 0xbc, 0x2d, 0x7f, 0x19, 0xa6, 0x43, 0xb5, 0x49, 0xb2, 0x35, 0x2f, 0x40, 0x61, - 0xd7, 0xec, 0x1a, 0x9a, 0xcc, 0x16, 0xd2, 0xf8, 0x82, 0x61, 0x9e, 0xd2, 0xd8, 0xfb, 0xca, 0x5f, - 0x4d, 0xc1, 0x8c, 0x84, 0x6d, 0xb3, 0xf5, 0x04, 0x27, 0xaf, 0xcf, 0x4d, 0xe0, 0xdb, 0x4d, 0xf2, - 0x2f, 0xa2, 0xd6, 0x1c, 0x93, 0xc1, 0x26, 0xc5, 0xf0, 0xbe, 0xc2, 0xa5, 0xc1, 0x3d, 0xb3, 0x7f, - 0x27, 0x81, 0xaf, 0xf3, 0x65, 0x82, 0xeb, 0x7c, 0xbc, 0x21, 0xfe, 0x3f, 0x9c, 0xe9, 0x51, 0x44, - 0x92, 0xbe, 0xcb, 0x8f, 0x52, 0x70, 0x3e, 0x2c, 0x3e, 0x69, 0x84, 0xf1, 0xbf, 0x43, 0xd9, 0xa8, - 0x06, 0x13, 0x6d, 0xdd, 0x38, 0xdd, 0x3a, 0x63, 0xa1, 0xad, 0x1b, 0x8d, 0xb0, 0xcf, 0x49, 0xc0, - 0x50, 0x94, 0x5e, 0x93, 0x6c, 0xbb, 0x6f, 0x08, 0x50, 0x48, 0x7a, 0x25, 0xeb, 0x74, 0xd1, 0x65, - 0xbc, 0xce, 0x0d, 0x98, 0xf8, 0x18, 0x96, 0xbe, 0xfe, 0x40, 0x00, 0xd4, 0xb0, 0xba, 0x06, 0x81, - 0x94, 0xf7, 0xcd, 0x66, 0x92, 0x95, 0x9d, 0x81, 0x51, 0xdd, 0xd0, 0xf0, 0x01, 0xad, 0x6c, 0x46, - 0x62, 0x0f, 0xa1, 0x5d, 0xc7, 0xf4, 0x50, 0xbb, 0x8e, 0x7e, 0x90, 0x4a, 0xa8, 0xa0, 0x49, 0x6a, - 0xe1, 0xbb, 0x29, 0x98, 0xe6, 0xd5, 0x49, 0x7c, 0xe9, 0xef, 0x54, 0xa1, 0xed, 0xe8, 0x73, 0x00, - 0x1d, 0x0b, 0x3f, 0x91, 0x19, 0x6b, 0x7a, 0x28, 0xd6, 0x1c, 0xe1, 0xa0, 0x04, 0xf4, 0x45, 0x98, - 0x24, 0x03, 0xae, 0x63, 0x99, 0x1d, 0xd3, 0x26, 0xf3, 0xba, 0x3d, 0x1c, 0xa0, 0x98, 0x7a, 0x76, - 0x34, 0x3f, 0xb1, 0xae, 0x1b, 0x5b, 0x9c, 0xb1, 0x51, 0x97, 0xc8, 0xc8, 0xf5, 0x1e, 0x5d, 0x67, - 0xe4, 0x1f, 0x04, 0x98, 0xf9, 0xd8, 0x16, 0x4b, 0xff, 0x27, 0x34, 0xe6, 0xcd, 0x07, 0x22, 0x7d, - 0x5c, 0x35, 0x76, 0xcd, 0xe4, 0x97, 0xb0, 0xbf, 0x21, 0xc0, 0x54, 0x40, 0x7c, 0x92, 0xb3, 0xfe, - 0xe9, 0x0e, 0x50, 0x7c, 0x89, 0xf8, 0x01, 0xc1, 0x6e, 0x9f, 0xe4, 0xa0, 0xfa, 0xeb, 0x14, 0x9c, - 0xad, 0xb0, 0xfd, 0x68, 0x37, 0x58, 0x23, 0xc9, 0x5e, 0x52, 0x82, 0xf1, 0x27, 0xd8, 0xb2, 0x75, - 0x93, 0xcd, 0x7b, 0x13, 0x92, 0xfb, 0x88, 0x66, 0x21, 0x6b, 0x1b, 0x4a, 0xc7, 0xde, 0x33, 0xdd, - 0xbd, 0x2f, 0xef, 0xd9, 0x0b, 0x2c, 0x19, 0x3d, 0x7d, 0x60, 0xc9, 0xd8, 0xe0, 0xc0, 0x92, 0xf1, - 0x5f, 0x38, 0xb0, 0x84, 0x6f, 0x34, 0xfd, 0x40, 0x80, 0x73, 0x7d, 0xfa, 0x4b, 0xb2, 0xcf, 0x7c, - 0x05, 0xf2, 0x2a, 0x17, 0x4c, 0xac, 0x31, 0xdb, 0x4b, 0x5b, 0x25, 0xd9, 0x4e, 0xe9, 0xb3, 0x3f, - 0x3b, 0x9a, 0x07, 0xb7, 0xa8, 0xab, 0x2b, 0x5c, 0x45, 0xe4, 0xbf, 0x56, 0xfe, 0xf5, 0x3c, 0x4c, - 0x56, 0x0f, 0xd8, 0x4a, 0x71, 0x9d, 0x39, 0x25, 0xe8, 0x0e, 0x64, 0x3b, 0x96, 0xf9, 0x44, 0x77, - 0xab, 0x51, 0x0c, 0xb9, 0x2e, 0x6e, 0x35, 0x7a, 0xb8, 0xb6, 0x38, 0x87, 0xe4, 0xf1, 0xa2, 0x06, - 0xe4, 0xee, 0x9b, 0xaa, 0xd2, 0xba, 0xa3, 0xb7, 0xdc, 0xfe, 0xff, 0xea, 0xf1, 0x82, 0x16, 0x3d, - 0x9e, 0x2d, 0xc5, 0xd9, 0x73, 0x9b, 0xc2, 0x23, 0xa2, 0x55, 0xc8, 0xd6, 0x1c, 0xa7, 0x43, 0x12, - 0xb9, 0x35, 0xb9, 0x3a, 0x84, 0x50, 0xc2, 0xc2, 0x65, 0x79, 0xec, 0xa8, 0x01, 0x53, 0x77, 0x4d, - 0xb3, 0xd9, 0xc2, 0x95, 0x96, 0xd9, 0xd5, 0x2a, 0xa6, 0xb1, 0xab, 0x37, 0xb9, 0x3d, 0xbe, 0x32, - 0x84, 0xcc, 0xbb, 0x95, 0xba, 0xd4, 0x2f, 0x00, 0x2d, 0x41, 0xb6, 0x7e, 0x9b, 0x0b, 0x63, 0xfe, - 0xd4, 0xe5, 0x21, 0x84, 0xd5, 0x6f, 0x4b, 0x1e, 0x1b, 0xba, 0x07, 0xf9, 0xa5, 0xa7, 0x5d, 0x0b, - 0x73, 0x29, 0x63, 0xb1, 0xfb, 0xfe, 0xbd, 0x52, 0x28, 0x97, 0x14, 0x64, 0x46, 0x75, 0x28, 0xbe, - 0x63, 0x5a, 0x8f, 0x5a, 0xa6, 0xe2, 0xd6, 0x70, 0x9c, 0x8a, 0x7b, 0x69, 0x08, 0x71, 0x2e, 0xa3, - 0xd4, 0x23, 0x62, 0xf6, 0x8b, 0x30, 0x11, 0x6a, 0x26, 0x84, 0x20, 0xd3, 0x21, 0x2d, 0x22, 0xd0, - 0xb0, 0x20, 0xfa, 0x1f, 0xbd, 0x02, 0xe3, 0x86, 0xa9, 0x61, 0xb7, 0x0f, 0x4f, 0x2c, 0xcf, 0x3c, - 0x3b, 0x9a, 0x1f, 0xdb, 0x30, 0x35, 0xe6, 0x50, 0xf0, 0x7f, 0xd2, 0x18, 0xc9, 0xe4, 0xba, 0x13, - 0xb3, 0x57, 0x20, 0x43, 0xda, 0x87, 0x98, 0x91, 0x1d, 0xc5, 0xc6, 0xdb, 0x96, 0xce, 0x65, 0xba, - 0x8f, 0x3c, 0xdf, 0x8f, 0x05, 0x48, 0xd5, 0x6f, 0x13, 0xcf, 0x76, 0xa7, 0xab, 0x3e, 0xc2, 0x0e, - 0xcf, 0xc5, 0x9f, 0xa8, 0xc7, 0x6b, 0xe1, 0x5d, 0x9d, 0x79, 0x39, 0x39, 0x89, 0x3f, 0xa1, 0x17, - 0x00, 0x14, 0x55, 0xc5, 0xb6, 0x2d, 0xbb, 0xe7, 0xd1, 0x72, 0x52, 0x8e, 0x51, 0xd6, 0xf0, 0x21, - 0x61, 0xb3, 0xb1, 0x6a, 0x61, 0xc7, 0x8d, 0x6f, 0x62, 0x4f, 0x84, 0xcd, 0xc1, 0xed, 0x8e, 0xec, - 0x98, 0x8f, 0xb0, 0x41, 0x5b, 0x35, 0x47, 0xcc, 0x43, 0xbb, 0xd3, 0x20, 0x04, 0x62, 0xd9, 0xb0, - 0xa1, 0xf9, 0x66, 0x28, 0x27, 0x79, 0xcf, 0x44, 0xa4, 0x85, 0x9b, 0x3a, 0x3f, 0x60, 0x95, 0x93, - 0xf8, 0x13, 0xd1, 0x98, 0xd2, 0x75, 0xf6, 0x68, 0x18, 0x44, 0x4e, 0xa2, 0xff, 0x79, 0xd5, 0xbe, - 0x29, 0x40, 0xfa, 0x6e, 0xa5, 0x7e, 0xe2, 0xba, 0xb9, 0x12, 0xd3, 0xbe, 0x44, 0x1a, 0x56, 0xa8, - 0xb7, 0x5a, 0x04, 0xfc, 0x77, 0x2c, 0xf3, 0x2b, 0x58, 0x75, 0x6b, 0x56, 0xe4, 0xe4, 0x2d, 0x46, - 0x45, 0x0b, 0x90, 0x57, 0x2d, 0xac, 0x61, 0xc3, 0xd1, 0x95, 0x96, 0xcd, 0xab, 0x18, 0x24, 0xf1, - 0xc2, 0x7d, 0x55, 0x80, 0x51, 0xda, 0xbd, 0xd0, 0xf3, 0x90, 0x53, 0x4d, 0xc3, 0x51, 0x74, 0x83, - 0xdb, 0x89, 0x9c, 0xe4, 0x13, 0x62, 0x0b, 0x79, 0x01, 0x0a, 0x8a, 0xaa, 0x9a, 0x5d, 0xc3, 0x91, - 0x0d, 0xa5, 0x8d, 0x79, 0x61, 0xf3, 0x9c, 0xb6, 0xa1, 0xb4, 0x31, 0x9a, 0x07, 0xf7, 0xd1, 0x3b, - 0x15, 0x98, 0x93, 0x80, 0x93, 0xd6, 0xf0, 0x21, 0x2f, 0xc9, 0x0f, 0x04, 0xc8, 0xba, 0xdd, 0x92, - 0x14, 0xa6, 0x89, 0x0d, 0x6c, 0x29, 0x8e, 0xe9, 0x15, 0xc6, 0x23, 0xf4, 0xce, 0x49, 0x39, 0x7f, - 0x4e, 0x9a, 0x81, 0x51, 0x47, 0xd9, 0x69, 0xb9, 0xe5, 0x60, 0x0f, 0x74, 0xd1, 0xb5, 0xa5, 0x34, - 0xd9, 0x9a, 0x51, 0x4e, 0x62, 0x0f, 0xa4, 0x4a, 0x3c, 0x8e, 0x95, 0x69, 0x87, 0x3f, 0x91, 0xf2, - 0xb2, 0xd0, 0xcd, 0x1d, 0xdc, 0xd4, 0x0d, 0xda, 0x01, 0xd2, 0x12, 0x50, 0x12, 0x8d, 0x6d, 0x42, - 0xcf, 0x41, 0x8e, 0x65, 0xc0, 0x86, 0x46, 0x7b, 0x41, 0x5a, 0xca, 0x52, 0x42, 0xd5, 0x3d, 0x06, - 0xc5, 0x1d, 0x91, 0x3f, 0x16, 0x60, 0x8a, 0x45, 0xac, 0xb0, 0x98, 0xcf, 0xe4, 0x66, 0xe5, 0x37, - 0x20, 0xa7, 0x29, 0x8e, 0xc2, 0x4e, 0x21, 0xa6, 0x06, 0x9e, 0x42, 0x74, 0xcd, 0x24, 0xc9, 0x4f, - 0x4f, 0x22, 0x22, 0xc8, 0x90, 0xff, 0xec, 0xf4, 0xa6, 0x44, 0xff, 0xfb, 0x7b, 0xff, 0xc1, 0xe2, - 0x26, 0xe9, 0xa5, 0x7c, 0x38, 0x0a, 0x13, 0xd5, 0x83, 0x8e, 0x69, 0x25, 0xbc, 0xa8, 0x34, 0xce, - 0xa1, 0xf7, 0x80, 0xcd, 0xc9, 0x1e, 0x2b, 0xe8, 0xee, 0xfb, 0x71, 0x46, 0xb4, 0x0c, 0xc0, 0x82, - 0x2d, 0x69, 0xf4, 0x4a, 0xfa, 0x04, 0x5b, 0x34, 0x94, 0x8d, 0x50, 0xd1, 0x06, 0xe4, 0xdb, 0x4f, - 0x54, 0x55, 0xde, 0xd5, 0x5b, 0x0e, 0x0f, 0xec, 0x8a, 0x8e, 0x8b, 0x5e, 0x7f, 0x50, 0xa9, 0xdc, - 0xa1, 0x99, 0x58, 0x7c, 0x95, 0xff, 0x2c, 0x01, 0x91, 0xc0, 0xfe, 0xa3, 0x97, 0x81, 0x9f, 0x1a, - 0x91, 0x6d, 0xf7, 0x0c, 0xd8, 0xf2, 0xc4, 0xb3, 0xa3, 0xf9, 0x9c, 0x44, 0xa9, 0xf5, 0x7a, 0x43, - 0xca, 0xb1, 0x0c, 0x75, 0xdb, 0x41, 0x17, 0x61, 0xc2, 0x6c, 0xeb, 0x8e, 0xec, 0xfa, 0x01, 0xdc, - 0x75, 0x2a, 0x10, 0xa2, 0xeb, 0x27, 0xa0, 0x06, 0x5c, 0xc5, 0x06, 0x19, 0x0d, 0xb4, 0x9e, 0xec, - 0x3c, 0x80, 0xac, 0x3b, 0x6c, 0x44, 0xc9, 0x66, 0xc7, 0xd1, 0xdb, 0xfa, 0x53, 0xba, 0x3d, 0xca, - 0xb7, 0x26, 0x2e, 0xb2, 0xec, 0xa4, 0x7e, 0xf4, 0x84, 0xc0, 0x2a, 0xcf, 0xbb, 0x19, 0xc8, 0x8a, - 0xbe, 0x2a, 0xd0, 0x83, 0x06, 0x44, 0x91, 0xf2, 0xce, 0xa1, 0xdc, 0x22, 0x93, 0x88, 0xee, 0x1c, - 0xca, 0x8f, 0x9e, 0x94, 0xb2, 0xd4, 0x41, 0xfb, 0x4c, 0x64, 0x83, 0x04, 0xfa, 0xc1, 0xa2, 0xdb, - 0x2c, 0x87, 0xf7, 0x39, 0xf3, 0xda, 0x93, 0xaa, 0xe1, 0x58, 0x87, 0xcb, 0xe7, 0x9e, 0x1d, 0xcd, - 0x4f, 0xf7, 0xa7, 0x3e, 0xa0, 0x87, 0x17, 0x7a, 0x59, 0x66, 0xbf, 0x02, 0xa5, 0x38, 0x49, 0x48, - 0xf4, 0xf7, 0xe7, 0x72, 0x6c, 0x5b, 0xee, 0xf5, 0xf0, 0x0a, 0xc1, 0x10, 0xdd, 0xc6, 0x5d, 0x25, - 0x48, 0xbd, 0xee, 0x8e, 0xee, 0xaf, 0x0b, 0x30, 0xb1, 0xdc, 0x6d, 0x3d, 0xda, 0xec, 0xd4, 0xbb, - 0xed, 0xb6, 0x62, 0x1d, 0x12, 0xc3, 0xc0, 0x46, 0xa5, 0xfe, 0x94, 0x05, 0x76, 0xa4, 0xf9, 0xb0, - 0xd3, 0x9f, 0x62, 0x32, 0xec, 0x78, 0x30, 0x3a, 0xa1, 0xb3, 0x48, 0xf3, 0x8b, 0x30, 0x41, 0xe1, - 0xba, 0x8c, 0x0d, 0xc7, 0xd2, 0x31, 0x5b, 0x0d, 0x4a, 0x4b, 0x05, 0x4a, 0xac, 0x32, 0x1a, 0xba, - 0x0c, 0x45, 0xfb, 0xd0, 0x76, 0x70, 0x5b, 0x66, 0x67, 0xc6, 0x19, 0xc6, 0x4c, 0x4b, 0x13, 0x8c, - 0x2a, 0x31, 0x62, 0xf9, 0x27, 0x69, 0x28, 0xba, 0x9a, 0x4d, 0xd2, 0x7d, 0x5d, 0x86, 0xd1, 0x5d, - 0xbd, 0x85, 0xdd, 0xbd, 0xf5, 0x2b, 0x03, 0x1a, 0x94, 0x07, 0x19, 0x13, 0x2f, 0xc2, 0x05, 0x40, - 0x94, 0x35, 0x89, 0x31, 0x36, 0xfb, 0xab, 0x29, 0xc8, 0x50, 0x8f, 0xf1, 0x26, 0x64, 0xa8, 0xd9, - 0x13, 0x86, 0x31, 0x7b, 0x34, 0xab, 0xe7, 0xce, 0xa4, 0x02, 0xee, 0x0c, 0xf1, 0x0d, 0xf6, 0x94, - 0xd7, 0x6e, 0xde, 0xa2, 0xe3, 0xab, 0x20, 0xf1, 0x27, 0xb4, 0x4c, 0x83, 0x3e, 0x4c, 0xcb, 0xc1, - 0x1a, 0xf7, 0xd4, 0xa2, 0x2c, 0x53, 0xa8, 0xe1, 0x5d, 0x13, 0xeb, 0xf2, 0xa1, 0xf3, 0x90, 0x26, - 0x03, 0x77, 0x9c, 0x6d, 0x08, 0x3f, 0x3b, 0x9a, 0x4f, 0x93, 0x21, 0x4b, 0x68, 0xe8, 0x06, 0xe4, - 0xc3, 0xa3, 0x44, 0xb8, 0x96, 0x63, 0xb6, 0x20, 0xd0, 0xc3, 0xa1, 0xe5, 0xf5, 0x60, 0x86, 0x52, - 0xee, 0x65, 0xb2, 0x19, 0x71, 0xb4, 0xfc, 0x67, 0x19, 0x98, 0x58, 0x6d, 0x27, 0x6d, 0x45, 0x97, - 0xc2, 0x2d, 0x1c, 0xe5, 0xde, 0x86, 0x5e, 0x1a, 0xd1, 0xc0, 0xa1, 0xf9, 0x28, 0x7d, 0xb2, 0xf9, - 0x68, 0x95, 0x78, 0x54, 0xfc, 0x5c, 0x7c, 0x3a, 0xc6, 0x93, 0x0d, 0xbf, 0xbf, 0x41, 0x0c, 0x93, - 0x44, 0x78, 0xfc, 0xb0, 0x7b, 0xba, 0xa9, 0xff, 0x16, 0x75, 0xdc, 0x58, 0x2f, 0x1b, 0x1b, 0xbe, - 0x97, 0x8d, 0x63, 0x43, 0xa3, 0x7d, 0xec, 0x29, 0xef, 0x62, 0x6f, 0x40, 0x5a, 0xd3, 0xad, 0x01, - 0x97, 0x2c, 0x44, 0xcf, 0x29, 0x84, 0xe9, 0x98, 0xbe, 0x96, 0x09, 0xf6, 0xb5, 0x20, 0x0e, 0x9d, - 0xdd, 0x04, 0xf0, 0xeb, 0x85, 0x16, 0x60, 0xcc, 0x6c, 0x69, 0xee, 0x99, 0x81, 0x89, 0xe5, 0xdc, - 0xb3, 0xa3, 0xf9, 0xd1, 0xcd, 0x96, 0xb6, 0xba, 0x22, 0x8d, 0x9a, 0x2d, 0x6d, 0x55, 0xa3, 0x17, - 0x0a, 0xe0, 0x7d, 0xd9, 0x8b, 0xcc, 0x29, 0x48, 0xe3, 0x06, 0xde, 0x27, 0xa8, 0xb7, 0x27, 0x62, - 0x80, 0x74, 0x9c, 0x6f, 0x0b, 0x50, 0x74, 0x75, 0x98, 0xac, 0x71, 0xc8, 0xea, 0x6d, 0x3e, 0x58, - 0xd2, 0x27, 0x1b, 0x2c, 0x2e, 0x1f, 0x3f, 0xf6, 0xf8, 0x35, 0x81, 0x47, 0x65, 0xd6, 0x55, 0xc5, - 0x21, 0xf3, 0x61, 0x82, 0x1d, 0xfc, 0x45, 0x10, 0x2d, 0xc5, 0xd0, 0xcc, 0xb6, 0xfe, 0x14, 0xb3, - 0x85, 0x2b, 0x9b, 0xef, 0xd7, 0x4c, 0x7a, 0x74, 0xba, 0x32, 0xe3, 0xae, 0xbb, 0xfd, 0xbb, 0xc0, - 0x23, 0x38, 0xbd, 0xc2, 0x24, 0xa9, 0xb4, 0x35, 0x18, 0xb3, 0x58, 0x1c, 0x18, 0x1b, 0x70, 0xaf, - 0x44, 0x08, 0x89, 0x7a, 0x3b, 0x0b, 0xb3, 0xf2, 0xba, 0x3c, 0x15, 0x31, 0xfb, 0x05, 0x18, 0xa5, - 0xe4, 0x53, 0x98, 0x45, 0xae, 0xf9, 0xdf, 0x4f, 0xc1, 0xd4, 0x92, 0xa6, 0xd5, 0xeb, 0xbc, 0xfb, - 0x25, 0xa7, 0x77, 0xd7, 0xd3, 0x4c, 0xf9, 0x9e, 0x26, 0x7a, 0x05, 0x90, 0xa6, 0xdb, 0xec, 0xb8, - 0xbb, 0xbd, 0xa7, 0x68, 0xe6, 0xbe, 0xbf, 0x8b, 0x37, 0xe5, 0xa6, 0xd4, 0xdd, 0x04, 0xf4, 0x2e, - 0x50, 0xbf, 0x48, 0xb6, 0x1d, 0xc5, 0x5b, 0x5c, 0x7d, 0xf9, 0x24, 0xc7, 0x21, 0x98, 0xdf, 0xe4, - 0x3d, 0x4a, 0x39, 0x22, 0x8e, 0xfe, 0x45, 0xd7, 0x40, 0xd4, 0x89, 0x0e, 0x1d, 0x59, 0xb1, 0xdd, - 0x18, 0x74, 0x76, 0xde, 0xbe, 0xc8, 0xe8, 0x4b, 0x76, 0x30, 0xb4, 0x9c, 0x85, 0xc6, 0xfa, 0x7a, - 0x4a, 0xd2, 0x3d, 0xfe, 0x0b, 0x01, 0x8a, 0x3c, 0x6e, 0x3e, 0xe1, 0xbd, 0x01, 0x5a, 0x2f, 0xde, - 0xdb, 0xd9, 0x03, 0xba, 0x03, 0x05, 0x37, 0x74, 0x7f, 0xd7, 0x32, 0xdb, 0x27, 0x99, 0x8f, 0xf3, - 0x9c, 0xf1, 0x8e, 0x65, 0xb6, 0xfd, 0xc3, 0xf4, 0x5e, 0xc9, 0x13, 0x5d, 0xd7, 0xa4, 0x27, 0x03, - 0x99, 0xe0, 0xa4, 0xf7, 0xf3, 0xfe, 0x3b, 0xf4, 0x42, 0x17, 0x7d, 0x83, 0xc5, 0x4f, 0x52, 0x39, - 0xff, 0x22, 0x40, 0xb1, 0xde, 0xdd, 0x61, 0x57, 0xb3, 0x24, 0xa7, 0x97, 0x2a, 0xe4, 0x5a, 0x78, - 0xd7, 0x91, 0x4f, 0x15, 0xee, 0x99, 0x25, 0xac, 0x34, 0xe4, 0x75, 0x09, 0xc0, 0xa2, 0x07, 0x3b, - 0xa8, 0x9c, 0xf4, 0xb0, 0x72, 0xa4, 0x1c, 0xe5, 0xf2, 0xa7, 0xb0, 0xf2, 0x9f, 0xa6, 0x60, 0xd2, - 0xab, 0x66, 0x92, 0x26, 0xf8, 0x97, 0x42, 0x66, 0x25, 0x7d, 0x0a, 0xb3, 0x32, 0x45, 0x64, 0xc6, - 0x9a, 0x96, 0x45, 0x98, 0xa6, 0xf3, 0x8c, 0xac, 0x74, 0x3a, 0x2d, 0x1d, 0x6b, 0x32, 0xdb, 0xa2, - 0xcb, 0xd0, 0x2d, 0xba, 0x29, 0x9a, 0xb4, 0xc4, 0x52, 0x56, 0xe9, 0x76, 0xdd, 0x1d, 0x28, 0xec, - 0x5a, 0x18, 0x3f, 0xc5, 0x32, 0x75, 0x78, 0x4f, 0xb2, 0x71, 0x9b, 0x67, 0x8c, 0x75, 0xc2, 0xc7, - 0x2d, 0xfa, 0x7b, 0x30, 0x45, 0x55, 0x9b, 0xf4, 0xe1, 0x38, 0xde, 0x2a, 0xff, 0x26, 0x00, 0x0a, - 0xca, 0xff, 0xf8, 0x1a, 0x26, 0x95, 0x78, 0xc3, 0xbc, 0x0c, 0x88, 0xc5, 0xd2, 0xd8, 0x72, 0x07, - 0x5b, 0xb2, 0x8d, 0x55, 0x93, 0xdf, 0x27, 0x22, 0x48, 0x22, 0x4f, 0xd9, 0xc2, 0x56, 0x9d, 0xd2, - 0xcb, 0xff, 0x71, 0x1e, 0x0a, 0x5c, 0x27, 0xdb, 0x06, 0xc1, 0xbb, 0x37, 0x21, 0xdd, 0xe4, 0x0b, - 0x78, 0xf9, 0x48, 0x80, 0xef, 0xdf, 0x69, 0x54, 0x1b, 0x91, 0x48, 0x5e, 0xc2, 0xd2, 0xe9, 0x3a, - 0x11, 0xb1, 0x9f, 0x7e, 0xa0, 0x60, 0x90, 0xa5, 0xd3, 0x75, 0x50, 0x1d, 0x26, 0x55, 0xff, 0x4e, - 0x17, 0x99, 0xb0, 0xa7, 0x63, 0xd7, 0x8c, 0x23, 0x6f, 0xc6, 0xa9, 0x8d, 0x48, 0x45, 0x35, 0x94, - 0x80, 0x2a, 0xc1, 0x4b, 0x44, 0xd8, 0x44, 0x7a, 0x31, 0xf2, 0xe8, 0x59, 0xf8, 0x02, 0x93, 0xda, - 0x48, 0xe0, 0xae, 0x11, 0xf4, 0x06, 0x8c, 0x69, 0xf4, 0x72, 0x0a, 0xde, 0x43, 0xa3, 0x3a, 0x51, - 0xe8, 0x3e, 0x90, 0xda, 0x88, 0xc4, 0x39, 0xd0, 0x3d, 0x28, 0xb0, 0x7f, 0xec, 0x4a, 0x02, 0xee, - 0xa0, 0x5f, 0x8e, 0x97, 0x10, 0xb0, 0xfa, 0xb5, 0x11, 0x29, 0xaf, 0xf9, 0x54, 0xf4, 0x29, 0xc8, - 0xd8, 0xaa, 0x62, 0xf0, 0xb5, 0xef, 0xb9, 0x98, 0x13, 0xe8, 0x3e, 0x33, 0xcd, 0x8d, 0x1e, 0xc2, - 0x14, 0x5d, 0xd3, 0x93, 0x1d, 0x3f, 0xb4, 0x82, 0x22, 0xb0, 0x7c, 0xe4, 0x96, 0x48, 0xcc, 0x71, - 0xc9, 0xda, 0x88, 0x24, 0xee, 0xf4, 0x24, 0x91, 0x26, 0xa3, 0xc8, 0x23, 0x20, 0x38, 0x17, 0xbf, - 0xcc, 0x1f, 0x75, 0x80, 0x91, 0x34, 0x19, 0x0e, 0x25, 0xa0, 0xbb, 0x90, 0x57, 0x88, 0x1f, 0x28, - 0xd3, 0x63, 0x44, 0x25, 0x88, 0x3d, 0xe8, 0xd1, 0x77, 0x04, 0xac, 0x46, 0xcf, 0x7e, 0xba, 0x44, - 0x5f, 0x50, 0x1b, 0x5b, 0x4d, 0x5c, 0xca, 0x0f, 0x16, 0x14, 0x8c, 0xc7, 0xf0, 0x04, 0x51, 0x22, - 0x5a, 0x87, 0x89, 0x3d, 0x37, 0x44, 0x9c, 0xc6, 0xc2, 0x14, 0x62, 0xb7, 0x57, 0x22, 0x42, 0xdc, - 0x6b, 0x23, 0x52, 0x61, 0x2f, 0x40, 0x46, 0x8b, 0x90, 0x6a, 0xaa, 0xa5, 0x09, 0x2a, 0xe3, 0xf9, - 0x41, 0x01, 0xdc, 0xb5, 0x11, 0x29, 0xd5, 0x54, 0x09, 0xbe, 0x63, 0xd1, 0xb1, 0x07, 0x46, 0xa9, - 0x18, 0x6b, 0x64, 0xc2, 0x71, 0xcc, 0xb5, 0x11, 0x89, 0x46, 0xfb, 0x92, 0xf7, 0x6d, 0x41, 0xd1, - 0x62, 0x01, 0x2d, 0x6e, 0xd8, 0x96, 0x18, 0xbb, 0xe5, 0x14, 0x15, 0xb9, 0x55, 0x1b, 0x91, 0x26, - 0xac, 0x20, 0x1d, 0x7d, 0x19, 0x66, 0xc2, 0x12, 0x79, 0xe7, 0x9e, 0xea, 0xb3, 0x5c, 0xd1, 0x72, - 0xc3, 0x7d, 0x1c, 0x59, 0x7d, 0x89, 0xe8, 0xd3, 0x30, 0xca, 0x5a, 0x0d, 0x51, 0x91, 0x51, 0x7b, - 0xa9, 0x3d, 0x0d, 0xc6, 0xf2, 0x93, 0xf1, 0xe6, 0xf0, 0x48, 0x0e, 0xb9, 0x65, 0x36, 0x4b, 0xd3, - 0xb1, 0xe3, 0xad, 0x3f, 0x32, 0x85, 0x8c, 0x37, 0xc7, 0xa7, 0x92, 0x76, 0xb7, 0x58, 0x0a, 0xdf, - 0xf8, 0x9f, 0x89, 0x6d, 0xf7, 0x88, 0x00, 0x8f, 0x1a, 0x8d, 0x4a, 0xf5, 0xc9, 0xa4, 0x68, 0x16, - 0xbb, 0xf4, 0x41, 0xa6, 0xc3, 0xf8, 0x4c, 0x6c, 0xd1, 0xfa, 0x2f, 0xb2, 0xa8, 0x51, 0x6f, 0xcb, - 0xa3, 0xa2, 0x07, 0x20, 0xf2, 0xe3, 0xd8, 0xfe, 0x02, 0xe8, 0x59, 0x2a, 0xef, 0xc5, 0x48, 0x6b, - 0x19, 0xb5, 0x53, 0x5e, 0x1b, 0x91, 0x26, 0xd5, 0x70, 0x0a, 0x31, 0x16, 0x54, 0x9e, 0xac, 0xfa, - 0xe7, 0xe8, 0x4b, 0xa5, 0x58, 0x63, 0x11, 0x73, 0x87, 0x03, 0x31, 0x16, 0x6a, 0x4f, 0x12, 0xe9, - 0xc6, 0xba, 0xa1, 0x3b, 0xd4, 0xb0, 0xcf, 0xc6, 0x76, 0xe3, 0xf0, 0xb5, 0x5b, 0xa4, 0x1b, 0xeb, - 0x8c, 0x42, 0xba, 0xb1, 0xc3, 0xa3, 0x42, 0x78, 0x73, 0x3c, 0x1f, 0xdb, 0x8d, 0xa3, 0xc2, 0x47, - 0x48, 0x37, 0x76, 0x82, 0x74, 0xd2, 0x8d, 0x99, 0x81, 0xe8, 0x91, 0xfb, 0x42, 0x6c, 0x37, 0x8e, - 0x3d, 0xc8, 0x47, 0xba, 0xb1, 0xd2, 0x97, 0x88, 0x56, 0x00, 0x98, 0x47, 0xa4, 0x1b, 0xbb, 0x66, - 0x69, 0x2e, 0x76, 0xfe, 0xe9, 0x8d, 0x0b, 0x21, 0xf3, 0x4f, 0xcb, 0xa5, 0x11, 0x43, 0x46, 0x7d, - 0x75, 0x99, 0xee, 0xb7, 0x94, 0xe6, 0x63, 0x0d, 0x59, 0xdf, 0xb6, 0x0b, 0x31, 0x64, 0xfb, 0x1e, - 0x91, 0x4c, 0x64, 0x6c, 0xb5, 0xae, 0xb4, 0x10, 0x3b, 0x91, 0x85, 0xd6, 0xa9, 0xc9, 0x44, 0xc6, - 0x38, 0xd0, 0x12, 0xe4, 0x88, 0xa7, 0x70, 0x48, 0xcd, 0xd0, 0x85, 0x58, 0xef, 0xb6, 0x27, 0xec, - 0xba, 0x36, 0x22, 0x65, 0x1f, 0x73, 0x12, 0x79, 0x3d, 0x5b, 0xff, 0x28, 0x95, 0x63, 0x5f, 0x1f, - 0x5a, 0xf3, 0x22, 0xaf, 0x67, 0x1c, 0x48, 0x85, 0x33, 0xac, 0xad, 0xf8, 0x39, 0x3a, 0x8b, 0x1f, - 0xfa, 0x2a, 0x5d, 0xa4, 0xa2, 0x62, 0x57, 0x13, 0x22, 0x8f, 0xf7, 0xd5, 0x46, 0xa4, 0x69, 0xa5, - 0x3f, 0x95, 0x0c, 0x78, 0x3e, 0xf5, 0xb0, 0x35, 0x88, 0xd2, 0xa5, 0xd8, 0x01, 0x1f, 0xb1, 0x6a, - 0x43, 0x06, 0xbc, 0x12, 0x20, 0xb3, 0x09, 0x48, 0x93, 0x6d, 0x9b, 0xed, 0xce, 0x5d, 0x1e, 0x30, - 0x01, 0xf5, 0x2c, 0x44, 0xb0, 0x09, 0x48, 0xab, 0x33, 0x4e, 0x22, 0x48, 0x6d, 0x61, 0xc5, 0xe2, - 0x66, 0xf6, 0x4a, 0xac, 0xa0, 0xbe, 0xab, 0xac, 0x88, 0x20, 0xd5, 0x23, 0x92, 0x09, 0xdb, 0x72, - 0xef, 0x71, 0xe0, 0xde, 0xe6, 0xd5, 0xd8, 0x09, 0x3b, 0xf2, 0xba, 0x09, 0x32, 0x61, 0x5b, 0xa1, - 0x04, 0xf4, 0x39, 0x18, 0xe7, 0x40, 0xb0, 0x74, 0x6d, 0x80, 0x0f, 0x1c, 0xc4, 0xf9, 0x64, 0x5c, - 0x73, 0x1e, 0x66, 0x65, 0x19, 0x00, 0x65, 0xd5, 0x7b, 0x71, 0x80, 0x95, 0xed, 0x43, 0xc6, 0xcc, - 0xca, 0xfa, 0x64, 0x62, 0x65, 0x59, 0x3f, 0xe5, 0x73, 0xdd, 0xf5, 0x58, 0x2b, 0xdb, 0x1f, 0xf3, - 0x4d, 0xac, 0xec, 0x63, 0x9f, 0x4a, 0x6a, 0x66, 0x33, 0x20, 0x56, 0x7a, 0x29, 0xb6, 0x66, 0x61, - 0x44, 0x4a, 0x6a, 0xc6, 0x79, 0x48, 0xb3, 0xb1, 0x70, 0x44, 0xa6, 0xe9, 0x97, 0xe3, 0x8f, 0xac, - 0xf6, 0xe2, 0x96, 0x9a, 0x7b, 0xcd, 0x29, 0xd3, 0xb0, 0x67, 0xa8, 0x2c, 0x7e, 0x40, 0x8f, 0x6b, - 0xea, 0x95, 0xc1, 0x86, 0x2a, 0xea, 0xec, 0xa1, 0x67, 0xa8, 0x42, 0x89, 0xb4, 0xa8, 0xec, 0x04, - 0x05, 0x1d, 0xdf, 0x8b, 0x03, 0x4e, 0xd7, 0xf6, 0x1c, 0x6a, 0xa1, 0x45, 0xf5, 0x88, 0xfe, 0x10, - 0xea, 0xb2, 0x63, 0xe0, 0xa5, 0x1b, 0x83, 0x87, 0x50, 0xf8, 0x38, 0xba, 0x37, 0x84, 0x38, 0xd9, - 0x9b, 0x33, 0x5d, 0x0f, 0xe3, 0xd5, 0xc1, 0x73, 0x66, 0xaf, 0x6b, 0xc1, 0xe6, 0x4c, 0x7e, 0xe3, - 0xd7, 0x38, 0xdf, 0xfe, 0xba, 0x97, 0xc9, 0x4e, 0x8a, 0xe2, 0xbd, 0x4c, 0xf6, 0x9c, 0x58, 0xba, - 0x97, 0xc9, 0x9e, 0x17, 0x67, 0xef, 0x65, 0xb2, 0xcf, 0x89, 0xcf, 0x97, 0x7f, 0x74, 0x1e, 0x26, - 0x5c, 0xac, 0xc6, 0x90, 0xcf, 0xad, 0x20, 0xf2, 0x99, 0x8b, 0x43, 0x3e, 0x1c, 0xdd, 0x71, 0xe8, - 0x73, 0x2b, 0x08, 0x7d, 0xe6, 0xe2, 0xa0, 0x8f, 0xcf, 0x43, 0xb0, 0x4f, 0x23, 0x0e, 0xfb, 0xbc, - 0x38, 0x04, 0xf6, 0xf1, 0x44, 0xf5, 0x82, 0x9f, 0x95, 0x7e, 0xf0, 0x73, 0x69, 0x30, 0xf8, 0xf1, - 0x44, 0x05, 0xd0, 0xcf, 0x9b, 0x3d, 0xe8, 0xe7, 0xc2, 0x00, 0xf4, 0xe3, 0xf1, 0xbb, 0xf0, 0x67, - 0x2d, 0x12, 0xfe, 0x5c, 0x39, 0x0e, 0xfe, 0x78, 0x72, 0x42, 0xf8, 0xe7, 0xb5, 0x10, 0xfe, 0x99, - 0x8f, 0xc5, 0x3f, 0x1e, 0x37, 0x03, 0x40, 0xef, 0xc6, 0x03, 0xa0, 0x97, 0x86, 0x02, 0x40, 0x9e, - 0xbc, 0x7e, 0x04, 0xd4, 0x88, 0x43, 0x40, 0x2f, 0x0e, 0x81, 0x80, 0xfc, 0x86, 0xeb, 0x81, 0x40, - 0xb5, 0x28, 0x08, 0x74, 0xf9, 0x18, 0x08, 0xe4, 0x49, 0x0b, 0x62, 0xa0, 0x5a, 0x14, 0x06, 0xba, - 0x7c, 0x0c, 0x06, 0xea, 0x91, 0xc4, 0x40, 0xd0, 0x46, 0x34, 0x08, 0xba, 0x7a, 0x2c, 0x08, 0xf2, - 0xa4, 0x85, 0x51, 0xd0, 0x8d, 0x00, 0x0a, 0x7a, 0x21, 0x06, 0x05, 0x79, 0xac, 0x04, 0x06, 0x7d, - 0xbe, 0x0f, 0x06, 0x95, 0x07, 0xc1, 0x20, 0x8f, 0xd7, 0xc3, 0x41, 0x6f, 0xc7, 0xe0, 0xa0, 0x6b, - 0xc7, 0xe3, 0x20, 0x4f, 0x58, 0x0f, 0x10, 0x52, 0x06, 0x02, 0xa1, 0x57, 0x86, 0x04, 0x42, 0x9e, - 0xf4, 0x28, 0x24, 0xf4, 0x7a, 0x18, 0x09, 0x2d, 0xc4, 0x23, 0x21, 0x4f, 0x0c, 0x87, 0x42, 0x6b, - 0x91, 0x50, 0xe8, 0xca, 0x71, 0x50, 0xc8, 0x1f, 0x7b, 0x41, 0x2c, 0xb4, 0x11, 0x8d, 0x85, 0xae, - 0x1e, 0x8b, 0x85, 0xfc, 0xe6, 0x0f, 0x81, 0xa1, 0xb5, 0x48, 0x30, 0x74, 0xe5, 0x38, 0x30, 0xe4, - 0x17, 0x2e, 0x88, 0x86, 0xde, 0x89, 0x45, 0x43, 0xd7, 0x87, 0x41, 0x43, 0x9e, 0xd0, 0x3e, 0x38, - 0xf4, 0x6e, 0x3c, 0x1c, 0x7a, 0xe9, 0x04, 0x37, 0x90, 0x45, 0xe2, 0xa1, 0xcf, 0xf7, 0xe1, 0xa1, - 0xf2, 0x20, 0x3c, 0xe4, 0xf7, 0x67, 0x17, 0x10, 0x29, 0x03, 0xe1, 0xcb, 0x2b, 0x43, 0xc2, 0x17, - 0xbf, 0xf3, 0x45, 0xe0, 0x97, 0x6a, 0x04, 0x7e, 0xb9, 0x34, 0x18, 0xbf, 0xf8, 0x53, 0x88, 0x0f, - 0x60, 0x6a, 0x51, 0x00, 0xe6, 0xf2, 0x31, 0x00, 0xc6, 0xb7, 0x42, 0x01, 0x04, 0xf3, 0x66, 0x0f, - 0x82, 0xb9, 0x70, 0x6c, 0x60, 0x46, 0x00, 0xc2, 0x2c, 0xf7, 0x43, 0x98, 0x8b, 0x03, 0x21, 0x8c, - 0x27, 0xc1, 0xc7, 0x30, 0x6f, 0xf6, 0x60, 0x98, 0x0b, 0x03, 0x30, 0x8c, 0x5f, 0x00, 0x0e, 0x62, - 0xb4, 0xc1, 0x20, 0x66, 0x71, 0x58, 0x10, 0xe3, 0x09, 0x8e, 0x44, 0x31, 0x1b, 0xd1, 0x28, 0xe6, - 0xea, 0x90, 0x1b, 0xae, 0x7d, 0x30, 0xa6, 0x16, 0x05, 0x63, 0x2e, 0x1f, 0x03, 0x63, 0x82, 0x73, - 0x88, 0x87, 0x63, 0x6a, 0x51, 0x38, 0xe6, 0xf2, 0x31, 0x38, 0xc6, 0x97, 0x14, 0x00, 0x32, 0x8d, - 0x38, 0x20, 0xf3, 0xe2, 0x10, 0x40, 0xc6, 0x9f, 0x77, 0x7b, 0x90, 0xcc, 0x5b, 0xbd, 0x48, 0xa6, - 0x3c, 0x08, 0xc9, 0xf8, 0x23, 0xd2, 0x85, 0x32, 0x1b, 0xd1, 0x50, 0xe6, 0xea, 0xb1, 0x50, 0x26, - 0x68, 0x24, 0x03, 0x58, 0x66, 0x2d, 0x12, 0xcb, 0x5c, 0x39, 0x0e, 0xcb, 0xf8, 0x46, 0x32, 0x08, - 0x66, 0xde, 0xea, 0x05, 0x33, 0xe5, 0x41, 0x60, 0xc6, 0xaf, 0x9c, 0x8b, 0x66, 0x6a, 0x51, 0x68, - 0xe6, 0xf2, 0x31, 0x68, 0xc6, 0x6f, 0xbc, 0x00, 0x9c, 0x51, 0x06, 0xc2, 0x99, 0x57, 0x86, 0x84, - 0x33, 0x3d, 0x86, 0x2b, 0x8c, 0x67, 0x6a, 0x51, 0x78, 0xe6, 0xf2, 0x31, 0x78, 0x26, 0x50, 0x58, - 0x1f, 0xd0, 0x6c, 0x44, 0x03, 0x9a, 0xab, 0xc7, 0x02, 0x9a, 0x9e, 0xd1, 0xe4, 0x22, 0x9a, 0xb5, - 0x48, 0x44, 0x73, 0xe5, 0x38, 0x44, 0xd3, 0x33, 0xf1, 0x0d, 0x09, 0x69, 0xee, 0x65, 0xb2, 0xcf, - 0x8b, 0x2f, 0x94, 0x7f, 0x3e, 0x0a, 0x63, 0x35, 0x37, 0xec, 0x29, 0x70, 0x35, 0x87, 0x70, 0x9a, - 0xab, 0x39, 0xd0, 0x0a, 0x19, 0x25, 0xd4, 0xd6, 0x1c, 0x7f, 0x0b, 0x53, 0xff, 0x0d, 0x41, 0x9c, - 0xf5, 0x14, 0x67, 0xf5, 0xd0, 0x6b, 0x30, 0xd1, 0xb5, 0xb1, 0x25, 0x77, 0x2c, 0xdd, 0xb4, 0x74, - 0x87, 0x45, 0x55, 0x0b, 0xcb, 0xe2, 0x47, 0x47, 0xf3, 0x85, 0x6d, 0x1b, 0x5b, 0x5b, 0x9c, 0x2e, - 0x15, 0xba, 0x81, 0x27, 0xf7, 0x83, 0x27, 0xa3, 0xc3, 0x7f, 0xf0, 0xe4, 0x6d, 0x10, 0x2d, 0xac, - 0x68, 0xa1, 0x59, 0x9f, 0xdd, 0x79, 0x11, 0xdd, 0x4e, 0xf4, 0x48, 0x81, 0x9b, 0x93, 0xde, 0x7d, - 0x31, 0x69, 0x85, 0x89, 0xe8, 0x26, 0x9c, 0x69, 0x2b, 0x07, 0x34, 0x54, 0x4c, 0x76, 0x1d, 0x29, - 0x1a, 0xfe, 0x95, 0xa5, 0x61, 0x8d, 0xa8, 0xad, 0x1c, 0xd0, 0xaf, 0xa7, 0xb0, 0x24, 0x7a, 0x6f, - 0xfa, 0x65, 0x28, 0x6a, 0xba, 0xed, 0xe8, 0x86, 0xea, 0x5e, 0x72, 0xc8, 0x2e, 0xc7, 0x98, 0x70, - 0xa9, 0xec, 0xb2, 0xc1, 0xeb, 0x30, 0xc5, 0xc3, 0x66, 0xfd, 0xef, 0xa9, 0x50, 0xc8, 0x90, 0x25, - 0xa5, 0x20, 0x09, 0xfe, 0x87, 0x74, 0x2a, 0x30, 0xd9, 0x54, 0x1c, 0xbc, 0xaf, 0x1c, 0xca, 0xee, - 0xa9, 0x86, 0x3c, 0xbd, 0x33, 0xec, 0xb9, 0x67, 0x47, 0xf3, 0x13, 0x77, 0x59, 0x52, 0xdf, 0xe1, - 0x86, 0x89, 0x66, 0x20, 0x41, 0x43, 0x4b, 0x50, 0xa0, 0xf7, 0x21, 0x9b, 0xec, 0xda, 0x6d, 0x0e, - 0x04, 0xe2, 0xb6, 0xa3, 0xf8, 0xe5, 0xdc, 0x12, 0xbd, 0x43, 0xd9, 0xbd, 0xa9, 0xfb, 0x2a, 0x4c, - 0x2a, 0xf6, 0xa1, 0xa1, 0x52, 0x0d, 0x63, 0xc3, 0xee, 0xda, 0x14, 0x09, 0x64, 0xa5, 0x22, 0x25, - 0x57, 0x5c, 0x2a, 0x7a, 0x1d, 0xce, 0x6b, 0x98, 0xb8, 0x36, 0xcc, 0x7f, 0x70, 0x4c, 0x53, 0x36, - 0x5b, 0x9a, 0x4c, 0x0f, 0xbe, 0x53, 0x14, 0x90, 0x95, 0xce, 0xd0, 0x0c, 0xd4, 0x73, 0x68, 0x98, - 0xe6, 0x66, 0x4b, 0xab, 0x92, 0x44, 0x7e, 0x25, 0xe2, 0x6f, 0x0a, 0x50, 0x08, 0xc5, 0xa1, 0xbf, - 0xd9, 0xb3, 0x5f, 0x7b, 0x3e, 0x1a, 0xbf, 0xc4, 0xc5, 0x0c, 0x66, 0x79, 0xdb, 0xb9, 0x51, 0x4c, - 0xf3, 0xf1, 0xfe, 0x2f, 0x5d, 0x41, 0x70, 0xa3, 0x04, 0x5c, 0xb6, 0x37, 0x32, 0xbf, 0xfd, 0xfe, - 0xfc, 0x48, 0xf9, 0x67, 0x69, 0x98, 0x08, 0xc7, 0x9b, 0xaf, 0xf6, 0x94, 0x2b, 0xca, 0xbe, 0x84, - 0x38, 0x16, 0x07, 0xdc, 0x0c, 0x95, 0xf3, 0xef, 0x5f, 0x66, 0xc5, 0x5c, 0x18, 0xb0, 0x2b, 0x1d, - 0x2c, 0xa7, 0xcf, 0x38, 0xfb, 0xfd, 0x94, 0x67, 0x33, 0x16, 0x61, 0x94, 0x29, 0x5c, 0x88, 0x3d, - 0xff, 0x47, 0x75, 0x2e, 0xb1, 0x6c, 0xc4, 0xc6, 0x34, 0x4e, 0x75, 0xfd, 0x8f, 0x47, 0x38, 0xc5, - 0x47, 0x8a, 0xf8, 0x25, 0x50, 0xa3, 0x27, 0xbb, 0x04, 0x8a, 0xed, 0x3a, 0xb7, 0x5a, 0x58, 0x75, - 0xf8, 0x57, 0xa9, 0xdc, 0x4f, 0x11, 0x5d, 0xea, 0x15, 0xc1, 0xbf, 0x61, 0xb5, 0x28, 0xf1, 0x6f, - 0x58, 0x05, 0x02, 0xcb, 0x8a, 0x9e, 0x08, 0x3a, 0x24, 0x59, 0xf8, 0x21, 0x6f, 0xea, 0x6f, 0x0b, - 0x20, 0xd2, 0x01, 0x78, 0x07, 0x63, 0x2d, 0x91, 0x5e, 0xe8, 0xc6, 0xbc, 0xa5, 0x86, 0x0f, 0x05, - 0x0e, 0xdd, 0x87, 0x9d, 0x0e, 0xdf, 0x87, 0x5d, 0x7e, 0x5f, 0x80, 0xa2, 0x57, 0x42, 0xf6, 0xc5, - 0x96, 0x01, 0x77, 0x3b, 0x9d, 0xee, 0x23, 0x26, 0xee, 0x01, 0xda, 0xa1, 0x3e, 0x1d, 0x13, 0x3c, - 0x40, 0xcb, 0x3e, 0xb8, 0xf1, 0x3b, 0x02, 0x4c, 0x7b, 0x45, 0xac, 0xf8, 0x87, 0x23, 0x4f, 0x11, - 0x15, 0x2d, 0xd1, 0x8f, 0x59, 0x11, 0x94, 0x4d, 0x4f, 0x2e, 0x0f, 0xd5, 0x3d, 0x11, 0x8f, 0xae, - 0x00, 0x8e, 0xde, 0xb5, 0x46, 0x9d, 0x7e, 0xe6, 0x8a, 0xfd, 0xb7, 0xcb, 0x77, 0x02, 0x0a, 0xa4, - 0x23, 0x81, 0x68, 0x69, 0xa8, 0x21, 0xe3, 0x6a, 0x89, 0x66, 0x2e, 0xff, 0x30, 0xd8, 0x12, 0xd5, - 0x27, 0xc4, 0x6b, 0xbb, 0x0d, 0xe9, 0x27, 0x4a, 0x6b, 0x50, 0x70, 0x49, 0xa8, 0xe5, 0x24, 0x92, - 0x1b, 0xdd, 0x09, 0x9d, 0x29, 0x4d, 0xc5, 0x7b, 0x18, 0xfd, 0x2a, 0x0d, 0x9d, 0x3d, 0xfd, 0xb4, - 0x5b, 0x8b, 0xf4, 0xf1, 0xaf, 0x0f, 0x5a, 0x80, 0x37, 0x32, 0x1f, 0xbc, 0x3f, 0x2f, 0x5c, 0xaf, - 0xc3, 0x74, 0xc4, 0xdc, 0x88, 0x8a, 0x00, 0x81, 0x5b, 0xb2, 0xf9, 0xb7, 0xb4, 0x96, 0x56, 0xe4, - 0xed, 0x8d, 0xca, 0xe6, 0xfa, 0xfa, 0x6a, 0xa3, 0x51, 0x5d, 0x11, 0x05, 0x24, 0x42, 0x21, 0x74, - 0xc7, 0x36, 0xff, 0x84, 0xd6, 0xf5, 0xff, 0x07, 0xe0, 0xdf, 0xb3, 0x4f, 0x64, 0xad, 0x55, 0x1f, - 0xca, 0x0f, 0x96, 0xee, 0x6f, 0x57, 0xeb, 0xe2, 0x08, 0x42, 0x50, 0x5c, 0x5e, 0x6a, 0x54, 0x6a, - 0xb2, 0x54, 0xad, 0x6f, 0x6d, 0x6e, 0xd4, 0xab, 0xa2, 0xc0, 0xf9, 0x56, 0xa0, 0x10, 0x3c, 0x7d, - 0x8b, 0xa6, 0x61, 0xb2, 0x52, 0xab, 0x56, 0xd6, 0xe4, 0x07, 0xab, 0x4b, 0xf2, 0xdb, 0xdb, 0xd5, - 0xed, 0xaa, 0x38, 0x42, 0x8b, 0x46, 0x89, 0x77, 0xb6, 0xef, 0xdf, 0x17, 0x05, 0x34, 0x09, 0x79, - 0xf6, 0x4c, 0xef, 0xe3, 0x16, 0x53, 0xd7, 0xd7, 0x21, 0x1f, 0xb8, 0xe2, 0x8a, 0xbc, 0x6e, 0x6b, - 0xbb, 0x5e, 0x93, 0x1b, 0xab, 0xeb, 0xd5, 0x7a, 0x63, 0x69, 0x7d, 0x8b, 0xc9, 0xa0, 0xb4, 0xa5, - 0xe5, 0x4d, 0xa9, 0x21, 0x0a, 0xde, 0x73, 0x63, 0x73, 0xbb, 0x52, 0xf3, 0xbe, 0x04, 0x96, 0xc9, - 0xa6, 0xc5, 0xf4, 0xf5, 0xc7, 0x70, 0x2e, 0xe6, 0x08, 0x2a, 0xca, 0xc3, 0xf8, 0xb6, 0x41, 0xaf, - 0xeb, 0x11, 0x47, 0xd0, 0x44, 0xe0, 0x14, 0xaa, 0x28, 0xa0, 0x2c, 0x3b, 0x5f, 0x28, 0xa6, 0xd0, - 0x18, 0xa4, 0xea, 0xb7, 0xc5, 0x34, 0x29, 0x68, 0xe0, 0x10, 0xa7, 0x98, 0x41, 0x39, 0x7e, 0xc2, - 0x4d, 0x1c, 0x45, 0x05, 0xff, 0x88, 0x99, 0x38, 0x76, 0xfd, 0x02, 0x04, 0xce, 0xdf, 0x20, 0x80, - 0xb1, 0xfb, 0x8a, 0x83, 0x6d, 0x47, 0x1c, 0x41, 0xe3, 0x90, 0x5e, 0x6a, 0xb5, 0x44, 0xe1, 0xd6, - 0x9f, 0x08, 0x90, 0x75, 0x2f, 0x63, 0x46, 0xf7, 0x61, 0x94, 0x41, 0xef, 0xf9, 0xf8, 0x19, 0x89, - 0x1a, 0xb5, 0xd9, 0x85, 0xe3, 0xa6, 0xac, 0xf2, 0x08, 0x7a, 0x87, 0x7f, 0xd6, 0x8f, 0xf4, 0x18, - 0x74, 0x71, 0x50, 0x7f, 0x72, 0xa5, 0x0e, 0xee, 0x74, 0x64, 0x8c, 0x94, 0x47, 0x5e, 0x15, 0x96, - 0x5f, 0xfc, 0xe0, 0x27, 0x73, 0x23, 0x1f, 0x3c, 0x9b, 0x13, 0x3e, 0x7c, 0x36, 0x27, 0xfc, 0xf8, - 0xd9, 0x9c, 0xf0, 0xcf, 0xcf, 0xe6, 0x84, 0xdf, 0xf8, 0xe9, 0xdc, 0xc8, 0x87, 0x3f, 0x9d, 0x1b, - 0xf9, 0xf1, 0x4f, 0xe7, 0x46, 0xde, 0x1d, 0xe7, 0xdc, 0x3b, 0x63, 0xf4, 0x0b, 0x83, 0xb7, 0xff, - 0x2b, 0x00, 0x00, 0xff, 0xff, 0x7c, 0x06, 0x14, 0x5c, 0x66, 0x71, 0x00, 0x00, +func init() { proto.RegisterFile("roachpb/api.proto", fileDescriptor_api_3cb09c3a3f17353f) } + +var fileDescriptor_api_3cb09c3a3f17353f = []byte{ + // 7032 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5d, 0xcd, 0x6f, 0x23, 0xc9, + 0x75, 0x57, 0x93, 0x94, 0x44, 0x3e, 0x7e, 0xa8, 0x55, 0xd2, 0xcc, 0x70, 0xb4, 0xbb, 0x92, 0x86, + 0xf3, 0xb9, 0xe3, 0x5d, 0xcd, 0xce, 0x8c, 0x37, 0x5e, 0xef, 0xda, 0x6b, 0x4b, 0x14, 0x67, 0xc8, + 0xd1, 0xe8, 0x63, 0x9b, 0xd4, 0xac, 0x67, 0x9d, 0x4d, 0xbb, 0xd5, 0x5d, 0xa2, 0xda, 0x43, 0x76, + 0x73, 0xba, 0x9b, 0x23, 0x69, 0x80, 0x20, 0xc9, 0xc9, 0x81, 0x63, 0x18, 0x39, 0x04, 0x41, 0x60, + 0x27, 0xf0, 0x06, 0x36, 0x12, 0x20, 0x41, 0x0c, 0x04, 0x08, 0x92, 0x38, 0x48, 0xe0, 0x43, 0x2e, + 0x1b, 0xc3, 0x87, 0x45, 0x90, 0x0f, 0x23, 0x07, 0x21, 0x1e, 0x27, 0x88, 0x91, 0x7f, 0xc0, 0xc0, + 0x1e, 0x82, 0xa0, 0x3e, 0xfa, 0x8b, 0x6c, 0x52, 0x94, 0xdc, 0x9b, 0x6c, 0x90, 0x13, 0xd9, 0xaf, + 0xea, 0xbd, 0xae, 0x7a, 0x55, 0xf5, 0xea, 0xfd, 0xaa, 0x5e, 0x55, 0xc3, 0xb4, 0x65, 0x2a, 0xea, + 0x5e, 0x67, 0xe7, 0x86, 0xd2, 0xd1, 0x97, 0x3a, 0x96, 0xe9, 0x98, 0x68, 0x5a, 0x35, 0xd5, 0x47, + 0x94, 0xbc, 0xc4, 0x13, 0xe7, 0x90, 0x9b, 0x4b, 0x53, 0x1c, 0x85, 0x65, 0x9b, 0x9b, 0x75, 0x69, + 0xd8, 0xb2, 0x4c, 0xcb, 0xe6, 0xd4, 0xb3, 0x2e, 0xb5, 0x8d, 0x1d, 0x25, 0x90, 0xbb, 0x64, 0x3b, + 0xa6, 0xa5, 0x34, 0xf1, 0x0d, 0x6c, 0x34, 0x75, 0xc3, 0xfd, 0x21, 0xf9, 0x9e, 0xa8, 0x2a, 0xcf, + 0x73, 0x71, 0x58, 0x9e, 0xdb, 0x3c, 0x53, 0xb1, 0xeb, 0xe8, 0xad, 0x1b, 0x7b, 0x2d, 0xf5, 0x86, + 0xa3, 0xb7, 0xb1, 0xed, 0x28, 0xed, 0x0e, 0x4f, 0x59, 0xa4, 0x29, 0x8e, 0xa5, 0xa8, 0xba, 0xd1, + 0xbc, 0x61, 0x61, 0xd5, 0xb4, 0x34, 0xac, 0xc9, 0x76, 0x47, 0x31, 0xdc, 0x22, 0x37, 0xcd, 0xa6, + 0x49, 0xff, 0xde, 0x20, 0xff, 0x18, 0xb5, 0xf4, 0x2b, 0x90, 0x91, 0x14, 0xa3, 0x89, 0x6b, 0xc6, + 0xae, 0x89, 0x3e, 0x03, 0x29, 0x0d, 0xdb, 0x6a, 0x51, 0x58, 0x14, 0xae, 0x65, 0x6f, 0x95, 0x96, + 0xfa, 0x74, 0xb1, 0x44, 0xf3, 0xae, 0x62, 0x5b, 0xb5, 0xf4, 0x8e, 0x63, 0x5a, 0x2b, 0xa9, 0xf7, + 0x8f, 0x16, 0xc6, 0x24, 0xca, 0x85, 0x3e, 0x09, 0xe3, 0x2d, 0xac, 0xd8, 0xb8, 0x98, 0xa0, 0xec, + 0xc5, 0x08, 0xf6, 0xfb, 0x24, 0x9d, 0x33, 0xb1, 0xcc, 0xa5, 0xbf, 0x15, 0x20, 0x2f, 0xe1, 0xc7, + 0x5d, 0x6c, 0x3b, 0x55, 0xac, 0x68, 0xd8, 0x42, 0xe7, 0x21, 0xf9, 0x08, 0x1f, 0x16, 0x93, 0x8b, + 0xc2, 0xb5, 0xdc, 0xca, 0xe4, 0x87, 0x47, 0x0b, 0xc9, 0x35, 0x7c, 0x28, 0x11, 0x1a, 0x5a, 0x84, + 0x49, 0x6c, 0x68, 0x32, 0x49, 0x4e, 0x85, 0x93, 0x27, 0xb0, 0xa1, 0xad, 0xe1, 0x43, 0xa4, 0x42, + 0xda, 0x26, 0xd2, 0x0c, 0x15, 0x17, 0xc7, 0x17, 0x85, 0x6b, 0xe3, 0x2b, 0x77, 0x3f, 0x3c, 0x5a, + 0x28, 0x37, 0x75, 0x67, 0xaf, 0xbb, 0xb3, 0xa4, 0x9a, 0xed, 0x1b, 0x5e, 0xa9, 0xb4, 0x1d, 0xff, + 0xff, 0x8d, 0xce, 0xa3, 0xe6, 0x8d, 0x01, 0x2d, 0xb0, 0xd4, 0x38, 0x30, 0xea, 0xf8, 0xb1, 0xe4, + 0x09, 0x7e, 0x3d, 0xf5, 0xd3, 0xf7, 0x16, 0x84, 0x7b, 0xa9, 0xb4, 0x20, 0x26, 0xee, 0xa5, 0xd2, + 0x09, 0x31, 0x59, 0xfa, 0x5a, 0x12, 0x0a, 0x12, 0xb6, 0x3b, 0xa6, 0x61, 0x63, 0x5e, 0x8d, 0x57, + 0x20, 0xe9, 0x1c, 0x18, 0xb4, 0x1a, 0xd9, 0x5b, 0xf3, 0x11, 0xca, 0x68, 0x58, 0x8a, 0x61, 0x2b, + 0xaa, 0xa3, 0x9b, 0x86, 0x44, 0xb2, 0xa2, 0xd7, 0x20, 0x6b, 0x61, 0xbb, 0xdb, 0xc6, 0xb4, 0xd9, + 0x68, 0x0d, 0xb3, 0xb7, 0xce, 0x45, 0x70, 0xd6, 0x3b, 0x8a, 0x21, 0x01, 0xcb, 0x4b, 0xfe, 0xa3, + 0xf3, 0x90, 0x36, 0xba, 0x6d, 0xa2, 0x17, 0x9b, 0xd6, 0x3a, 0x29, 0x4d, 0x1a, 0xdd, 0xf6, 0x1a, + 0x3e, 0xb4, 0x51, 0x19, 0xb2, 0x16, 0x69, 0x34, 0x59, 0x37, 0x76, 0x4d, 0xbb, 0x38, 0xb1, 0x98, + 0xbc, 0x96, 0xbd, 0xf5, 0xfc, 0xa0, 0xa6, 0x25, 0xdd, 0x80, 0xb7, 0x0f, 0x58, 0x2e, 0xc1, 0x46, + 0x75, 0xc8, 0xf3, 0x92, 0x59, 0x58, 0xb1, 0x4d, 0xa3, 0x38, 0xb9, 0x28, 0x5c, 0x2b, 0xdc, 0x5a, + 0x8a, 0x12, 0x13, 0xd2, 0x02, 0x79, 0xec, 0xb6, 0xb1, 0x44, 0xb9, 0xa4, 0x9c, 0x15, 0x78, 0x2a, + 0x3d, 0x84, 0x5c, 0x30, 0x15, 0x21, 0x28, 0x48, 0x95, 0xfa, 0xf6, 0x7a, 0x45, 0xde, 0xde, 0x58, + 0xdb, 0xd8, 0x7c, 0x7b, 0x43, 0x1c, 0x43, 0xb3, 0x20, 0x72, 0xda, 0x5a, 0xe5, 0xa1, 0x7c, 0xbf, + 0xb6, 0x5e, 0x6b, 0x88, 0x02, 0x3a, 0x0f, 0x67, 0x38, 0x55, 0x5a, 0xde, 0xb8, 0x5b, 0x91, 0x57, + 0x36, 0xb7, 0x37, 0x56, 0x97, 0xa5, 0x87, 0x62, 0x62, 0x2e, 0xf5, 0xeb, 0xdf, 0x9e, 0x1f, 0x2b, + 0x3d, 0x00, 0xb8, 0x8b, 0x1d, 0xde, 0xad, 0xd0, 0x0a, 0x4c, 0xec, 0xd1, 0xd2, 0xf0, 0x8e, 0xbd, + 0x18, 0x59, 0xec, 0x40, 0x17, 0x5c, 0x49, 0x13, 0x0d, 0x7c, 0x70, 0xb4, 0x20, 0x48, 0x9c, 0x93, + 0x35, 0x79, 0xe9, 0xfb, 0x02, 0x64, 0xa9, 0x60, 0x56, 0x47, 0x54, 0xee, 0x91, 0x7c, 0xe1, 0x58, + 0x85, 0xf4, 0x8b, 0x46, 0x4b, 0x30, 0xfe, 0x44, 0x69, 0x75, 0x87, 0x8d, 0x9b, 0x07, 0x24, 0x5d, + 0x62, 0xd9, 0xd0, 0x1b, 0x90, 0xd3, 0x0d, 0x07, 0x1b, 0x8e, 0xcc, 0xd8, 0x92, 0xc7, 0xb0, 0x65, + 0x59, 0x6e, 0xfa, 0x50, 0xfa, 0x2b, 0x01, 0x60, 0xab, 0x1b, 0xa7, 0x6a, 0xc8, 0xb8, 0x1f, 0xa9, + 0xfc, 0xee, 0xb8, 0x67, 0xb5, 0x38, 0x0b, 0x13, 0xba, 0xd1, 0xd2, 0x0d, 0x56, 0xfe, 0xb4, 0xc4, + 0x9f, 0xd0, 0x2c, 0x8c, 0xef, 0xb4, 0x74, 0x43, 0xa3, 0xdd, 0x3f, 0x2d, 0xb1, 0x07, 0xae, 0x7e, + 0x09, 0xb2, 0xb4, 0xec, 0x31, 0x6a, 0xbf, 0xf4, 0x8d, 0x04, 0x9c, 0x29, 0x9b, 0x86, 0xa6, 0x93, + 0x71, 0xa8, 0xb4, 0x3e, 0x16, 0xba, 0x79, 0x15, 0x32, 0xf8, 0xa0, 0x33, 0x62, 0xf3, 0xa6, 0xf1, + 0x41, 0x87, 0xfe, 0x8b, 0x56, 0x1d, 0xfa, 0x24, 0x9c, 0x53, 0x5a, 0x2d, 0x73, 0x5f, 0xd6, 0x77, + 0x65, 0xcd, 0xc4, 0xb6, 0x6c, 0x98, 0x8e, 0x8c, 0x0f, 0x74, 0xdb, 0xa1, 0xa6, 0x22, 0x2d, 0xcd, + 0xd0, 0xe4, 0xda, 0xee, 0xaa, 0x89, 0xed, 0x0d, 0xd3, 0xa9, 0x90, 0x24, 0xae, 0xf0, 0x77, 0xe1, + 0x6c, 0xaf, 0x6e, 0xe2, 0xd4, 0xfd, 0xdf, 0x0b, 0x50, 0xa8, 0x19, 0xba, 0xf3, 0xb1, 0x50, 0xba, + 0xa7, 0xbd, 0x64, 0x50, 0x7b, 0xd7, 0x41, 0xdc, 0x55, 0xf4, 0xd6, 0xa6, 0xd1, 0x30, 0xdb, 0x3b, + 0xb6, 0x63, 0x1a, 0xd8, 0xe6, 0xea, 0xed, 0xa3, 0x73, 0x9d, 0x3d, 0x80, 0x29, 0xaf, 0x4e, 0x71, + 0x2a, 0xeb, 0x29, 0x88, 0x35, 0x43, 0xb5, 0x70, 0x1b, 0x1b, 0xb1, 0x6a, 0xeb, 0x79, 0xc8, 0xe8, + 0xae, 0x5c, 0xaa, 0xb1, 0xa4, 0xe4, 0x13, 0x78, 0x9d, 0xba, 0x30, 0x1d, 0x78, 0x77, 0x9c, 0xc6, + 0xef, 0x39, 0xc8, 0x18, 0x78, 0x5f, 0xf6, 0xdb, 0x2b, 0x29, 0xa5, 0x0d, 0xbc, 0xcf, 0x8c, 0xd5, + 0x43, 0xc8, 0xaf, 0xe2, 0x16, 0x76, 0x70, 0xfc, 0x96, 0x7c, 0x1b, 0x0a, 0xae, 0xe8, 0x38, 0x1b, + 0xe9, 0xf7, 0x04, 0x40, 0x5c, 0x2e, 0x99, 0x3d, 0xe3, 0x6c, 0xa7, 0x05, 0xe2, 0x1d, 0x38, 0x5d, + 0xcb, 0x60, 0xd3, 0x3c, 0xeb, 0xa5, 0xc0, 0x48, 0x74, 0xa6, 0xf7, 0x2d, 0x6a, 0x2a, 0x68, 0x51, + 0x3d, 0x6f, 0x85, 0xf8, 0x29, 0xfb, 0x30, 0x13, 0x2a, 0x5e, 0xbc, 0x4d, 0x99, 0xa2, 0x25, 0x4b, + 0x2c, 0x26, 0x83, 0x9e, 0x19, 0x25, 0x96, 0xde, 0x85, 0xe9, 0x72, 0x0b, 0x2b, 0x56, 0xdc, 0x6a, + 0xe1, 0xcd, 0xf9, 0x10, 0x50, 0x50, 0x7c, 0x9c, 0x4d, 0xfa, 0x1d, 0x01, 0x90, 0x84, 0x9f, 0x60, + 0xcb, 0x89, 0xbd, 0x49, 0x57, 0x21, 0xeb, 0x28, 0x56, 0x13, 0x3b, 0x32, 0x71, 0xe7, 0xb9, 0xb9, + 0x7a, 0x21, 0x20, 0x88, 0x38, 0xf5, 0x4b, 0x7b, 0x2d, 0x75, 0xa9, 0xe1, 0xba, 0xfb, 0xae, 0x73, + 0xc6, 0xf8, 0x08, 0x99, 0x6b, 0xe0, 0x1d, 0x98, 0x09, 0x95, 0x32, 0x4e, 0x15, 0xe8, 0x90, 0xad, + 0xab, 0x8a, 0xb1, 0xd9, 0x21, 0xf3, 0x80, 0x8d, 0x6e, 0xc3, 0x59, 0xdb, 0x31, 0x3b, 0xb2, 0xe2, + 0xc8, 0xcc, 0xb5, 0xdc, 0x31, 0xbb, 0x86, 0xa6, 0x58, 0x87, 0xf4, 0x1d, 0x69, 0x69, 0x86, 0xa4, + 0x2e, 0xb3, 0x82, 0xac, 0xf0, 0x24, 0xd2, 0x7d, 0xdb, 0xba, 0x21, 0x13, 0x0f, 0xb0, 0xe5, 0xd8, + 0x7c, 0xa8, 0x43, 0x5b, 0x37, 0x24, 0x46, 0xe1, 0xd5, 0xf8, 0xb6, 0xc0, 0xde, 0x15, 0xa7, 0x9a, + 0xdf, 0x84, 0xac, 0xad, 0x2a, 0x86, 0xbc, 0x6b, 0x5a, 0x6d, 0xc5, 0xa1, 0xa3, 0xa3, 0x10, 0x52, + 0xb3, 0xe7, 0x57, 0xab, 0x8a, 0x71, 0x87, 0x66, 0x92, 0xc0, 0xf6, 0xfe, 0x07, 0x07, 0xd0, 0xbd, + 0x54, 0x3a, 0x29, 0xa6, 0x4a, 0x3f, 0x13, 0x20, 0xc7, 0x4a, 0x19, 0xe7, 0x00, 0x7a, 0x15, 0x52, + 0x96, 0xb9, 0xcf, 0x06, 0x50, 0xf6, 0xd6, 0x73, 0x11, 0x22, 0xd6, 0xf0, 0x61, 0x70, 0xe6, 0xa2, + 0xd9, 0xd1, 0x0a, 0x70, 0x0f, 0x4f, 0xa6, 0xdc, 0xc9, 0x51, 0xb9, 0x81, 0x71, 0x49, 0x44, 0xc6, + 0x55, 0x98, 0xda, 0x51, 0x1c, 0x75, 0x8f, 0xb4, 0x0f, 0x2d, 0x24, 0x99, 0xe5, 0x92, 0xd7, 0x72, + 0x52, 0x81, 0x92, 0xdd, 0xa2, 0xdb, 0xa5, 0x3f, 0x72, 0x47, 0x83, 0x8d, 0x3f, 0xfe, 0xcd, 0xf4, + 0x5f, 0x02, 0x1f, 0x14, 0x6e, 0x61, 0xff, 0xbf, 0xb5, 0xd6, 0xb7, 0x12, 0x70, 0xae, 0xbc, 0x87, + 0xd5, 0x47, 0x65, 0xd3, 0xb0, 0x75, 0xdb, 0xc1, 0x86, 0x7a, 0x18, 0x67, 0x93, 0x3d, 0x07, 0x99, + 0x7d, 0xdd, 0xd9, 0x93, 0x35, 0x7d, 0x77, 0x97, 0x0e, 0xe9, 0xb4, 0x94, 0x26, 0x84, 0x55, 0x7d, + 0x77, 0x17, 0xdd, 0x86, 0x54, 0xdb, 0xd4, 0x98, 0x03, 0x5b, 0xb8, 0xb5, 0x10, 0x21, 0x9e, 0x16, + 0xcd, 0xee, 0xb6, 0xd7, 0x4d, 0x0d, 0x4b, 0x34, 0x33, 0x9a, 0x07, 0x50, 0x09, 0xb5, 0x63, 0xea, + 0x86, 0xc3, 0x27, 0xb2, 0x00, 0x05, 0x55, 0x21, 0xe3, 0x60, 0xab, 0xad, 0x1b, 0x8a, 0x43, 0x00, + 0x3e, 0x51, 0xde, 0xa5, 0xc8, 0x82, 0x77, 0x5a, 0xba, 0xaa, 0xf4, 0xad, 0x54, 0xf8, 0xcc, 0xdc, + 0xde, 0x7c, 0x3d, 0x05, 0xc5, 0x7e, 0x0d, 0xc5, 0xd9, 0x4f, 0xb6, 0x60, 0x82, 0x19, 0x3d, 0xde, + 0x53, 0x6e, 0x0d, 0x52, 0x44, 0x44, 0x09, 0x96, 0x98, 0x71, 0xe4, 0x85, 0xe7, 0x72, 0xe6, 0xfe, + 0x5a, 0x80, 0x09, 0x96, 0x80, 0x6e, 0x42, 0x9a, 0xa3, 0x7b, 0x8d, 0x96, 0x31, 0xb9, 0x72, 0xf6, + 0xd9, 0xd1, 0xc2, 0x24, 0xc3, 0xf2, 0xab, 0x1f, 0xfa, 0x7f, 0xa5, 0x49, 0x06, 0xe7, 0x35, 0xd2, + 0x66, 0xb6, 0xa3, 0x58, 0x0e, 0x5d, 0x45, 0x21, 0x6d, 0x96, 0x93, 0xd2, 0x94, 0xb0, 0x86, 0x0f, + 0xd1, 0x3d, 0x98, 0xb0, 0x1d, 0xc5, 0xe9, 0xda, 0xbc, 0xd5, 0x4e, 0x54, 0xd8, 0x3a, 0xe5, 0x94, + 0xb8, 0x04, 0xe2, 0x8f, 0x68, 0xd8, 0x51, 0xf4, 0x16, 0x6d, 0xc6, 0x8c, 0xc4, 0x9f, 0x4a, 0xdf, + 0x14, 0x60, 0x82, 0x65, 0x45, 0xe7, 0x60, 0x86, 0x21, 0xf8, 0xda, 0xc6, 0x6a, 0xa5, 0x51, 0x91, + 0xd6, 0x6b, 0x1b, 0xcb, 0x8d, 0x8a, 0x38, 0x86, 0xce, 0x02, 0x72, 0x13, 0xca, 0x9b, 0x1b, 0xf5, + 0x5a, 0xbd, 0x51, 0xd9, 0x20, 0xc8, 0x7f, 0x16, 0x44, 0x46, 0x0f, 0x50, 0x13, 0xe8, 0x12, 0x2c, + 0xf6, 0x52, 0xe5, 0x7a, 0x63, 0xb9, 0x51, 0x97, 0x2b, 0xf5, 0x46, 0x6d, 0x7d, 0xb9, 0x51, 0x59, + 0x15, 0x93, 0x43, 0x72, 0x91, 0x97, 0x48, 0x52, 0xa5, 0xdc, 0x10, 0x53, 0xa5, 0xa7, 0x70, 0x46, + 0xc2, 0xaa, 0xd9, 0xee, 0x74, 0x1d, 0x4c, 0x4a, 0x69, 0xc7, 0x39, 0x5e, 0xce, 0xc1, 0xa4, 0x66, + 0x1d, 0xca, 0x56, 0xd7, 0xe0, 0xa3, 0x65, 0x42, 0xb3, 0x0e, 0xa5, 0xae, 0xc1, 0x3b, 0xe3, 0x5f, + 0x08, 0x70, 0xb6, 0xf7, 0xe5, 0x71, 0x76, 0xc5, 0x2f, 0x40, 0x56, 0xd1, 0x34, 0xac, 0xc9, 0x1a, + 0x6e, 0x39, 0x0a, 0xf7, 0x37, 0x6e, 0x06, 0x24, 0xf1, 0x15, 0xb0, 0x25, 0xb6, 0xf4, 0xb5, 0xe4, + 0xad, 0x80, 0xad, 0x3f, 0x28, 0x97, 0x69, 0x79, 0x56, 0x09, 0xa3, 0x6b, 0x91, 0xa8, 0x2c, 0x4a, + 0x29, 0x7d, 0x27, 0x05, 0x67, 0x2a, 0x86, 0x16, 0x5c, 0xd2, 0x8a, 0x51, 0x6d, 0x67, 0x61, 0x42, + 0x35, 0xdb, 0x6d, 0xdd, 0x71, 0xb5, 0xc6, 0x9e, 0xd0, 0xa7, 0x21, 0xad, 0x61, 0x45, 0xf3, 0x56, + 0x11, 0x8e, 0x73, 0x9e, 0x24, 0x2f, 0x3b, 0xfa, 0x12, 0x9c, 0x23, 0x06, 0xd5, 0x32, 0x94, 0x96, + 0xcc, 0xa4, 0xc9, 0x8e, 0xa5, 0x37, 0x9b, 0xd8, 0xe2, 0xeb, 0x6e, 0xd7, 0x22, 0xca, 0x59, 0xe3, + 0x1c, 0x65, 0xca, 0xd0, 0x60, 0xf9, 0xa5, 0x33, 0x7a, 0x14, 0x19, 0x7d, 0xde, 0x5b, 0xa6, 0xb1, + 0x3b, 0x8a, 0x61, 0x73, 0x63, 0x35, 0x68, 0x39, 0x8f, 0xeb, 0x94, 0xcf, 0x0d, 0x84, 0x62, 0xa3, + 0x1b, 0xc4, 0xe3, 0x7f, 0xdc, 0xd5, 0x2d, 0x2c, 0xdf, 0xec, 0xa8, 0xc5, 0x09, 0x52, 0xf7, 0x95, + 0xc2, 0xb3, 0xa3, 0x05, 0x90, 0x18, 0xf9, 0xe6, 0x56, 0x99, 0x20, 0x00, 0xf6, 0xbf, 0xa3, 0xa2, + 0x6b, 0x20, 0x1a, 0xa6, 0x6c, 0xe1, 0x5d, 0x0b, 0xdb, 0x7b, 0xfc, 0xb5, 0x69, 0xaa, 0xb1, 0x82, + 0x61, 0x4a, 0x8c, 0xcc, 0x44, 0x9f, 0x85, 0x89, 0x8e, 0xa9, 0xdb, 0xa6, 0x51, 0xcc, 0x30, 0x8d, + 0xb2, 0x27, 0xf4, 0x16, 0x88, 0xba, 0x21, 0xef, 0xb6, 0xf4, 0xe6, 0x9e, 0x23, 0xef, 0x5b, 0xba, + 0x83, 0xed, 0xe2, 0x34, 0x2d, 0x78, 0x54, 0x87, 0xab, 0xf3, 0x05, 0x51, 0xed, 0x6d, 0x92, 0x93, + 0x57, 0xa1, 0xa0, 0x1b, 0x77, 0x28, 0x3f, 0x25, 0xda, 0xde, 0xb4, 0x3c, 0x29, 0xa6, 0x4b, 0xff, + 0x2e, 0xc0, 0xd9, 0xde, 0x6e, 0x12, 0x67, 0x07, 0xbf, 0x06, 0xa2, 0x69, 0x60, 0xb9, 0xb3, 0xa7, + 0xd8, 0x98, 0x37, 0x2b, 0x9f, 0x43, 0x0a, 0xa6, 0x81, 0xb7, 0x08, 0x99, 0x35, 0x12, 0xda, 0x82, + 0x69, 0xdb, 0x51, 0x9a, 0xba, 0xd1, 0x94, 0xbd, 0xa5, 0x74, 0xba, 0x1e, 0x32, 0xa2, 0x03, 0x2e, + 0x72, 0x6e, 0x8f, 0x1e, 0x72, 0x3c, 0xfe, 0x59, 0x80, 0xe9, 0x65, 0xad, 0xad, 0x1b, 0xf5, 0x4e, + 0x4b, 0x8f, 0x15, 0xad, 0x5f, 0x82, 0x8c, 0x4d, 0x64, 0xfa, 0xd6, 0xdb, 0x47, 0x5a, 0x69, 0x9a, + 0x42, 0xcc, 0xf8, 0x7d, 0x98, 0xc2, 0x07, 0x1d, 0xdd, 0x52, 0x88, 0x8a, 0x19, 0xb8, 0x48, 0x8d, + 0x5e, 0xb7, 0x82, 0xcf, 0xeb, 0x03, 0x0c, 0x5e, 0xb3, 0x87, 0x80, 0x82, 0x15, 0x8b, 0x13, 0x65, + 0xc8, 0x30, 0x43, 0x45, 0x6f, 0x1b, 0x76, 0xcc, 0x5a, 0xe3, 0xe6, 0xf5, 0x8b, 0x30, 0x1b, 0x7e, + 0x41, 0x9c, 0xa5, 0x7f, 0x97, 0xb7, 0xf8, 0x3a, 0xb6, 0x3e, 0x22, 0x80, 0x1b, 0x14, 0x1f, 0x67, + 0xc9, 0xbf, 0x2a, 0xc0, 0x79, 0x2a, 0x9b, 0x0e, 0xcb, 0x5d, 0x6c, 0xd1, 0x5d, 0x9a, 0x38, 0x3b, + 0xed, 0x45, 0x98, 0x60, 0x78, 0x95, 0xf6, 0xd8, 0xf1, 0x95, 0x2c, 0x71, 0x4c, 0xea, 0x8e, 0x69, + 0x11, 0xc7, 0x84, 0x27, 0xf1, 0x7a, 0x2a, 0x30, 0x17, 0x55, 0x96, 0x98, 0x01, 0xfd, 0x34, 0xf7, + 0x0f, 0x49, 0x17, 0x2f, 0xef, 0x11, 0xc7, 0x08, 0x55, 0x20, 0xab, 0xd2, 0x7f, 0xb2, 0x73, 0xd8, + 0xc1, 0x54, 0x7e, 0x61, 0x98, 0x6b, 0xc9, 0xd8, 0x1a, 0x87, 0x1d, 0x4c, 0xfc, 0x53, 0xf7, 0x3f, + 0x51, 0x57, 0xa0, 0xaa, 0x43, 0x9d, 0x53, 0x3a, 0xbe, 0x68, 0x5e, 0xd7, 0xbf, 0x0b, 0x69, 0xe2, + 0x7b, 0x49, 0xae, 0x0a, 0xf6, 0x26, 0xce, 0x14, 0xab, 0x3b, 0xf2, 0x0e, 0x9c, 0xd5, 0x70, 0xc7, + 0xc2, 0xaa, 0xe2, 0x60, 0x4d, 0x0e, 0x56, 0x3f, 0x71, 0x82, 0xea, 0xcf, 0xfa, 0x32, 0x7c, 0x2a, + 0x7a, 0x08, 0x28, 0x20, 0x9b, 0xd5, 0xcc, 0x85, 0x3b, 0x27, 0x51, 0xca, 0xb4, 0x2f, 0x85, 0xd1, + 0x6d, 0x54, 0x86, 0x34, 0x3e, 0xe8, 0xc8, 0x74, 0xab, 0x32, 0x75, 0xc2, 0xad, 0xca, 0x49, 0x7c, + 0xd0, 0x21, 0x44, 0xb4, 0x4d, 0x66, 0x3a, 0xd7, 0x01, 0xa0, 0xc5, 0xb6, 0x8f, 0xc7, 0x13, 0x7e, + 0x7f, 0xe1, 0xe2, 0xa6, 0xbc, 0xb9, 0x9f, 0x89, 0xe0, 0x6d, 0xf7, 0x9e, 0x00, 0xcf, 0x45, 0xb6, + 0x5d, 0x9c, 0x93, 0x9d, 0xbb, 0x5b, 0x9b, 0x38, 0xcd, 0x6e, 0x6d, 0xe9, 0x8f, 0xdd, 0x51, 0x2f, + 0xe1, 0x96, 0x49, 0xd4, 0xfb, 0x11, 0xac, 0x6e, 0x4d, 0xba, 0xcd, 0x9e, 0x38, 0x71, 0xb3, 0xbb, + 0xac, 0x3d, 0x66, 0xa1, 0xa7, 0xb0, 0x71, 0x9a, 0x85, 0xdf, 0x16, 0x60, 0xa6, 0x8a, 0x15, 0xcb, + 0xd9, 0xc1, 0x8a, 0xd3, 0x38, 0x88, 0xd5, 0x81, 0x7d, 0x15, 0x92, 0x86, 0xb9, 0x7f, 0x92, 0x05, + 0x3e, 0x92, 0xdf, 0x9f, 0xb6, 0xc2, 0xe5, 0x8a, 0xb3, 0xd6, 0x7f, 0x97, 0x80, 0xcc, 0xdd, 0x72, + 0x9c, 0x75, 0xfd, 0x0c, 0x5f, 0x06, 0x66, 0x43, 0x3d, 0xaa, 0x5b, 0x7a, 0xef, 0x5b, 0xba, 0x5b, + 0x5e, 0xc3, 0x87, 0x6e, 0xb7, 0x24, 0x5c, 0x68, 0x19, 0x32, 0xce, 0x1e, 0xf1, 0x53, 0xcd, 0x96, + 0x76, 0x12, 0x9f, 0xc5, 0xe7, 0x9a, 0x7b, 0x04, 0xe3, 0x54, 0xae, 0x1b, 0x48, 0x20, 0x44, 0x04, + 0x12, 0x90, 0xd7, 0x78, 0x6e, 0x5f, 0xe2, 0x24, 0xaf, 0x71, 0x09, 0xac, 0x71, 0x3c, 0xdf, 0x68, + 0x5c, 0x9c, 0x28, 0xbd, 0x05, 0x40, 0xaa, 0x16, 0x67, 0xf3, 0x7c, 0x2f, 0x09, 0x85, 0xad, 0xae, + 0xbd, 0x17, 0x73, 0x7f, 0x2c, 0x03, 0x74, 0xba, 0xf6, 0x1e, 0xb6, 0x64, 0xe7, 0xc0, 0xe0, 0xf5, + 0x3f, 0x26, 0x44, 0xc1, 0x55, 0x00, 0xe3, 0x6b, 0x1c, 0x18, 0x68, 0x93, 0x0b, 0xc1, 0xb2, 0x1f, + 0xe7, 0x70, 0x7d, 0x04, 0x30, 0xd9, 0x38, 0x30, 0xd6, 0xb1, 0x87, 0x22, 0x99, 0x40, 0x4c, 0x04, + 0x7e, 0x06, 0x26, 0xc9, 0x83, 0xec, 0x98, 0x27, 0x69, 0xf9, 0x09, 0xc2, 0xd3, 0x30, 0xd1, 0x1b, + 0x90, 0x61, 0xdc, 0x64, 0xfe, 0x9a, 0xa0, 0xf3, 0x57, 0x54, 0x95, 0xb8, 0x36, 0xe9, 0xcc, 0x95, + 0xa6, 0xac, 0x64, 0xb6, 0x9a, 0x85, 0xf1, 0x5d, 0xd3, 0x52, 0x31, 0x0d, 0x6c, 0x48, 0x4b, 0xec, + 0x01, 0x5d, 0x87, 0x69, 0xdd, 0x50, 0x5b, 0x5d, 0x5b, 0x7f, 0x82, 0x65, 0xb7, 0x68, 0x0c, 0x30, + 0x4d, 0x79, 0x09, 0x54, 0xa0, 0x19, 0xec, 0x08, 0xf7, 0x52, 0xe9, 0xb4, 0x98, 0x29, 0x7d, 0x53, + 0x80, 0x29, 0xaf, 0xed, 0xe2, 0x34, 0xfc, 0xe5, 0x90, 0xe2, 0x4f, 0xde, 0x7a, 0x44, 0xd9, 0xa5, + 0x7f, 0xa0, 0x5e, 0x90, 0x6a, 0x3e, 0xa1, 0x8d, 0x19, 0x67, 0xe7, 0x5a, 0x61, 0x81, 0x2f, 0x89, + 0x53, 0x76, 0x08, 0x1a, 0x0a, 0x73, 0x13, 0x66, 0xf5, 0x36, 0x99, 0x19, 0x74, 0xa7, 0x75, 0xc8, + 0x91, 0x9c, 0x83, 0xdd, 0xbd, 0xd9, 0x19, 0x3f, 0xad, 0xec, 0x26, 0x71, 0x63, 0xc9, 0x76, 0x6b, + 0xfc, 0x6a, 0xc5, 0xa9, 0xf7, 0x1a, 0xe4, 0x2d, 0x26, 0x9a, 0x78, 0x34, 0x27, 0x54, 0x7d, 0xce, + 0x63, 0x25, 0xda, 0xff, 0x6e, 0x02, 0xa6, 0xde, 0xea, 0x62, 0xeb, 0xf0, 0x63, 0xa8, 0xfb, 0x2b, + 0x30, 0xb5, 0xaf, 0xe8, 0x8e, 0xbc, 0x6b, 0x5a, 0x72, 0xb7, 0xa3, 0x29, 0x8e, 0x1b, 0xa2, 0x91, + 0x27, 0xe4, 0x3b, 0xa6, 0xb5, 0x4d, 0x89, 0x08, 0x03, 0x7a, 0x64, 0x98, 0xfb, 0x86, 0x4c, 0xc8, + 0x14, 0x48, 0x1f, 0x18, 0x7c, 0x21, 0x7a, 0xe5, 0x53, 0xff, 0x72, 0xb4, 0x70, 0x7b, 0xa4, 0xa0, + 0x2b, 0x1a, 0xb7, 0xd6, 0xed, 0xea, 0xda, 0xd2, 0xf6, 0x76, 0x6d, 0x55, 0x12, 0xa9, 0xc8, 0xb7, + 0x99, 0xc4, 0xc6, 0x81, 0xe1, 0x3a, 0x00, 0x1f, 0x0a, 0x20, 0xfa, 0x0a, 0x8b, 0xb3, 0x55, 0x2b, + 0x90, 0x7d, 0xdc, 0xc5, 0x96, 0x7e, 0x8a, 0x36, 0x05, 0xce, 0x48, 0x8c, 0xd7, 0x3b, 0x90, 0x0b, + 0xe9, 0x21, 0xf9, 0xf3, 0xe9, 0x21, 0xbb, 0xef, 0xab, 0xa0, 0xf4, 0x43, 0x01, 0x10, 0xad, 0x7c, + 0x8d, 0xed, 0x01, 0x7c, 0xcc, 0x3a, 0xcc, 0x35, 0x10, 0x69, 0x18, 0xa4, 0xac, 0xef, 0xca, 0x6d, + 0xdd, 0xb6, 0x75, 0xa3, 0xc9, 0x7b, 0x4c, 0x81, 0xd2, 0x6b, 0xbb, 0xeb, 0x8c, 0xca, 0xdb, 0xf2, + 0x97, 0x61, 0x26, 0x54, 0x9b, 0x38, 0x5b, 0xf3, 0x02, 0xe4, 0x76, 0xcd, 0xae, 0xa1, 0xc9, 0x6c, + 0x21, 0x8d, 0x2f, 0x18, 0x66, 0x29, 0x8d, 0xbd, 0xaf, 0xf4, 0x95, 0x04, 0xcc, 0x4a, 0xd8, 0x36, + 0x5b, 0x4f, 0x70, 0xfc, 0xfa, 0xdc, 0x04, 0xbe, 0x51, 0x23, 0xff, 0x3c, 0x6a, 0xcd, 0x30, 0x19, + 0x6c, 0x52, 0x0c, 0xaf, 0xc8, 0x5f, 0x1a, 0xde, 0x33, 0xfb, 0xd7, 0xe0, 0xf9, 0x3a, 0x5f, 0x2a, + 0xb8, 0xce, 0xc7, 0x1b, 0xe2, 0x17, 0xe1, 0x4c, 0x8f, 0x22, 0xe2, 0xf4, 0x5d, 0xfe, 0x29, 0x01, + 0xe7, 0xc3, 0xe2, 0xe3, 0x46, 0x18, 0xff, 0x37, 0x94, 0x8d, 0xaa, 0x90, 0x6f, 0xeb, 0xc6, 0xe9, + 0xd6, 0x19, 0x73, 0x6d, 0xdd, 0x68, 0x84, 0x7d, 0x4e, 0x02, 0x86, 0xa2, 0xf4, 0x1a, 0x67, 0xdb, + 0x7d, 0x5d, 0x80, 0x5c, 0xdc, 0x2b, 0x59, 0xa7, 0x8b, 0xcb, 0xe2, 0x75, 0x6e, 0x40, 0xfe, 0x23, + 0x58, 0xfa, 0xfa, 0x43, 0x01, 0x50, 0xc3, 0xea, 0x1a, 0x04, 0x52, 0xde, 0x37, 0x9b, 0x71, 0x56, + 0x76, 0x16, 0xc6, 0x75, 0x43, 0xc3, 0x07, 0xb4, 0xb2, 0x29, 0x89, 0x3d, 0x84, 0xf6, 0xeb, 0x92, + 0x23, 0xed, 0xd7, 0xf9, 0xe1, 0x1d, 0xa1, 0x82, 0xc6, 0xa9, 0x85, 0xef, 0x26, 0x60, 0x86, 0x57, + 0x27, 0xf6, 0xa5, 0xbf, 0x53, 0x05, 0x85, 0xa3, 0xcf, 0x02, 0x74, 0x2c, 0xfc, 0x44, 0x66, 0xac, + 0xc9, 0x91, 0x58, 0x33, 0x84, 0x83, 0x12, 0xd0, 0x17, 0x60, 0x8a, 0x0c, 0xb8, 0x8e, 0x65, 0x76, + 0x4c, 0x9b, 0xcc, 0xeb, 0xf6, 0x68, 0x80, 0x62, 0xfa, 0xd9, 0xd1, 0x42, 0x7e, 0x5d, 0x37, 0xb6, + 0x38, 0x63, 0xa3, 0x2e, 0x91, 0x91, 0xeb, 0x3d, 0xba, 0xce, 0xc8, 0x3f, 0x0a, 0x30, 0xfb, 0x91, + 0x2d, 0x96, 0xfe, 0x6f, 0x68, 0xcc, 0x9b, 0x0f, 0x44, 0xfa, 0x58, 0x33, 0x76, 0xcd, 0xf8, 0x97, + 0xb0, 0xbf, 0x2e, 0xc0, 0x74, 0x40, 0x7c, 0x9c, 0xb3, 0xfe, 0xe9, 0x8e, 0x1e, 0x7c, 0x91, 0xf8, + 0x01, 0xc1, 0x6e, 0x1f, 0xe7, 0xa0, 0xfa, 0x9b, 0x04, 0x9c, 0x2d, 0xb3, 0x9d, 0x5c, 0x37, 0xcc, + 0x21, 0xce, 0x5e, 0x52, 0x84, 0xc9, 0x27, 0xd8, 0xb2, 0x75, 0x93, 0xcd, 0x7b, 0x79, 0xc9, 0x7d, + 0x44, 0x73, 0x90, 0xb6, 0x0d, 0xa5, 0x63, 0xef, 0x99, 0xee, 0xde, 0x97, 0xf7, 0xec, 0x85, 0x64, + 0x8c, 0x9f, 0x3e, 0x24, 0x63, 0x62, 0x78, 0x48, 0xc6, 0xe4, 0xcf, 0x1d, 0x92, 0xc1, 0x37, 0x9a, + 0x7e, 0x20, 0xc0, 0xb9, 0x3e, 0xfd, 0xc5, 0xd9, 0x67, 0xbe, 0x0c, 0x59, 0x95, 0x0b, 0x26, 0xd6, + 0x98, 0xed, 0xa5, 0xd5, 0x48, 0xb6, 0x53, 0xfa, 0xec, 0xcf, 0x8e, 0x16, 0xc0, 0x2d, 0x6a, 0x6d, + 0x95, 0xab, 0x88, 0xfc, 0xd7, 0x4a, 0xbf, 0x91, 0x85, 0xa9, 0xca, 0x01, 0x5b, 0x29, 0xae, 0x33, + 0xa7, 0x04, 0xdd, 0x81, 0x74, 0xc7, 0x32, 0x9f, 0xe8, 0x6e, 0x35, 0x0a, 0x21, 0xd7, 0xc5, 0xad, + 0x46, 0x0f, 0xd7, 0x16, 0xe7, 0x90, 0x3c, 0x5e, 0xd4, 0x80, 0xcc, 0x7d, 0x53, 0x55, 0x5a, 0x77, + 0xf4, 0x96, 0xdb, 0xff, 0x5f, 0x39, 0x5e, 0xd0, 0x92, 0xc7, 0xb3, 0xa5, 0x38, 0x7b, 0x6e, 0x53, + 0x78, 0x44, 0x54, 0x83, 0x74, 0xd5, 0x71, 0x3a, 0x24, 0x91, 0x5b, 0x93, 0xab, 0x23, 0x08, 0x25, + 0x2c, 0x5c, 0x96, 0xc7, 0x8e, 0x1a, 0x30, 0x7d, 0xd7, 0x34, 0x9b, 0x2d, 0x5c, 0x6e, 0x99, 0x5d, + 0xad, 0x6c, 0x1a, 0xbb, 0x7a, 0x93, 0xdb, 0xe3, 0x2b, 0x23, 0xc8, 0xbc, 0x5b, 0xae, 0x4b, 0xfd, + 0x02, 0xd0, 0x32, 0xa4, 0xeb, 0xb7, 0xb9, 0x30, 0xe6, 0x4f, 0x5d, 0x1e, 0x41, 0x58, 0xfd, 0xb6, + 0xe4, 0xb1, 0xa1, 0x7b, 0x90, 0x5d, 0x7e, 0xda, 0xb5, 0x30, 0x97, 0x32, 0x31, 0x70, 0xdf, 0xbf, + 0x57, 0x0a, 0xe5, 0x92, 0x82, 0xcc, 0xa8, 0x0e, 0x85, 0xb7, 0x4d, 0xeb, 0x51, 0xcb, 0x54, 0xdc, + 0x1a, 0x4e, 0x52, 0x71, 0x9f, 0x18, 0x41, 0x9c, 0xcb, 0x28, 0xf5, 0x88, 0x98, 0xfb, 0x02, 0xe4, + 0x43, 0xcd, 0x84, 0x10, 0xa4, 0x3a, 0xa4, 0x45, 0x04, 0x1a, 0x50, 0x43, 0xff, 0xa3, 0x97, 0x61, + 0xd2, 0x30, 0x35, 0xec, 0xf6, 0xe1, 0xfc, 0xca, 0xec, 0xb3, 0xa3, 0x85, 0x89, 0x0d, 0x53, 0x63, + 0x0e, 0x05, 0xff, 0x27, 0x4d, 0x90, 0x4c, 0xae, 0x3b, 0x31, 0x77, 0x05, 0x52, 0xa4, 0x7d, 0x88, + 0x19, 0xd9, 0x51, 0x6c, 0xbc, 0x6d, 0xe9, 0x5c, 0xa6, 0xfb, 0xc8, 0xf3, 0xfd, 0x48, 0x80, 0x44, + 0xfd, 0x36, 0xf1, 0x6c, 0x77, 0xba, 0xea, 0x23, 0xec, 0xf0, 0x5c, 0xfc, 0x89, 0x7a, 0xbc, 0x16, + 0xde, 0xd5, 0x99, 0x97, 0x93, 0x91, 0xf8, 0x13, 0x7a, 0x01, 0x40, 0x51, 0x55, 0x6c, 0xdb, 0xb2, + 0x7b, 0x92, 0x2b, 0x23, 0x65, 0x18, 0x65, 0x0d, 0x1f, 0x12, 0x36, 0x1b, 0xab, 0x16, 0x76, 0xdc, + 0xc8, 0x20, 0xf6, 0x44, 0xd8, 0x1c, 0xdc, 0xee, 0xc8, 0x8e, 0xf9, 0x08, 0x1b, 0xb4, 0x55, 0x33, + 0xc4, 0x3c, 0xb4, 0x3b, 0x0d, 0x42, 0x20, 0x96, 0x0d, 0x1b, 0x9a, 0x6f, 0x86, 0x32, 0x92, 0xf7, + 0x4c, 0x44, 0x5a, 0xb8, 0xa9, 0xf3, 0xa3, 0x49, 0x19, 0x89, 0x3f, 0x11, 0x8d, 0x29, 0x5d, 0x67, + 0x8f, 0x86, 0x41, 0x64, 0x24, 0xfa, 0x9f, 0x57, 0xed, 0x1b, 0x02, 0x24, 0xef, 0x96, 0xeb, 0x27, + 0xae, 0x9b, 0x2b, 0x31, 0xe9, 0x4b, 0xa4, 0x01, 0x79, 0x7a, 0xab, 0x45, 0xc0, 0x7f, 0xc7, 0x32, + 0xbf, 0x8c, 0x55, 0xb7, 0x66, 0x05, 0x4e, 0xde, 0x62, 0x54, 0xb4, 0x08, 0x59, 0xd5, 0xc2, 0x1a, + 0x36, 0x1c, 0x5d, 0x69, 0xd9, 0xbc, 0x8a, 0x41, 0x12, 0x2f, 0xdc, 0x57, 0x04, 0x18, 0xa7, 0xdd, + 0x0b, 0x3d, 0x0f, 0x19, 0xd5, 0x34, 0x1c, 0x45, 0x37, 0xb8, 0x9d, 0xc8, 0x48, 0x3e, 0x61, 0x60, + 0x21, 0x2f, 0x40, 0x4e, 0x51, 0x55, 0xb3, 0x6b, 0x38, 0xb2, 0xa1, 0xb4, 0x31, 0x2f, 0x6c, 0x96, + 0xd3, 0x36, 0x94, 0x36, 0x46, 0x0b, 0xe0, 0x3e, 0x7a, 0xe7, 0xe9, 0x32, 0x12, 0x70, 0xd2, 0x1a, + 0x3e, 0xe4, 0x25, 0xf9, 0x81, 0x00, 0x69, 0xb7, 0x5b, 0x92, 0xc2, 0x34, 0xb1, 0x81, 0x2d, 0xc5, + 0x31, 0xbd, 0xc2, 0x78, 0x84, 0xde, 0x39, 0x29, 0xe3, 0xcf, 0x49, 0xb3, 0x30, 0xee, 0x28, 0x3b, + 0x2d, 0xb7, 0x1c, 0xec, 0x81, 0x2e, 0xba, 0xb6, 0x94, 0x26, 0x5b, 0x33, 0xca, 0x48, 0xec, 0x81, + 0x54, 0x89, 0x47, 0x80, 0x32, 0xed, 0xf0, 0x27, 0x52, 0x5e, 0x16, 0xf4, 0xb8, 0x83, 0x9b, 0xba, + 0x41, 0x3b, 0x40, 0x52, 0x02, 0x4a, 0x5a, 0x21, 0x14, 0xf4, 0x1c, 0x64, 0x58, 0x06, 0x6c, 0x68, + 0xb4, 0x17, 0x24, 0xa5, 0x34, 0x25, 0x54, 0xdc, 0x03, 0x44, 0xdc, 0x11, 0xf9, 0x13, 0x01, 0xa6, + 0x59, 0xc4, 0x0a, 0x8b, 0x96, 0x8c, 0x6f, 0x56, 0x7e, 0x1d, 0x32, 0x9a, 0xe2, 0x28, 0xec, 0xfc, + 0x5e, 0x62, 0xe8, 0xf9, 0x3d, 0xd7, 0x4c, 0x92, 0xfc, 0xf4, 0x0c, 0x1f, 0x82, 0x14, 0xf9, 0xcf, + 0xce, 0x3d, 0x4a, 0xf4, 0xbf, 0xbf, 0xf7, 0x1f, 0x2c, 0x6e, 0x9c, 0x5e, 0xca, 0x07, 0xe3, 0x90, + 0xaf, 0x1c, 0x74, 0x4c, 0x2b, 0xe6, 0x45, 0xa5, 0x49, 0x0e, 0xbd, 0x87, 0x6c, 0x4e, 0xf6, 0x58, + 0x41, 0x77, 0xdf, 0x8f, 0x33, 0xa2, 0x15, 0x00, 0x16, 0xa6, 0x48, 0xa3, 0x57, 0x92, 0x27, 0xd8, + 0xa2, 0xa1, 0x6c, 0x84, 0x8a, 0x36, 0x20, 0xdb, 0x7e, 0xa2, 0xaa, 0xf2, 0xae, 0xde, 0x72, 0x78, + 0x60, 0x57, 0x74, 0x44, 0xf1, 0xfa, 0x83, 0x72, 0xf9, 0x0e, 0xcd, 0xc4, 0xe2, 0xab, 0xfc, 0x67, + 0x09, 0x88, 0x04, 0xf6, 0x1f, 0xbd, 0x04, 0xfc, 0xbc, 0x85, 0x6c, 0xbb, 0xa7, 0xa7, 0x56, 0xf2, + 0xcf, 0x8e, 0x16, 0x32, 0x12, 0xa5, 0xd6, 0xeb, 0x0d, 0x29, 0xc3, 0x32, 0xd4, 0x6d, 0x07, 0x5d, + 0x84, 0xbc, 0xd9, 0xd6, 0x1d, 0xd9, 0xf5, 0x03, 0xb8, 0xeb, 0x94, 0x23, 0x44, 0xd7, 0x4f, 0x40, + 0x0d, 0xb8, 0x8a, 0x0d, 0x32, 0x1a, 0x68, 0x3d, 0x59, 0x24, 0xbd, 0xac, 0x3b, 0x6c, 0x44, 0xc9, + 0x66, 0xc7, 0xd1, 0xdb, 0xfa, 0x53, 0xba, 0x3d, 0xca, 0xb7, 0x26, 0x2e, 0xb2, 0xec, 0xa4, 0x7e, + 0x34, 0xb6, 0xbe, 0xc6, 0xf3, 0x6e, 0x06, 0xb2, 0xa2, 0xaf, 0x08, 0x34, 0x44, 0x9f, 0x28, 0x52, + 0xde, 0x39, 0x94, 0x5b, 0x64, 0x12, 0xd1, 0x9d, 0x43, 0xf9, 0xd1, 0x93, 0x62, 0x9a, 0x3a, 0x68, + 0x9f, 0x8e, 0x6c, 0x90, 0x40, 0x3f, 0x58, 0x72, 0x9b, 0xe5, 0xf0, 0x3e, 0x67, 0x5e, 0x7b, 0x52, + 0x31, 0x1c, 0xeb, 0x70, 0xe5, 0xdc, 0xb3, 0xa3, 0x85, 0x99, 0xfe, 0xd4, 0x07, 0x34, 0xec, 0xbf, + 0x97, 0x65, 0xee, 0xcb, 0x50, 0x1c, 0x24, 0x09, 0x89, 0xfe, 0xfe, 0x5c, 0x86, 0x6d, 0xcb, 0xbd, + 0x16, 0x5e, 0x21, 0x18, 0xa1, 0xdb, 0xb8, 0xab, 0x04, 0x89, 0xd7, 0xdc, 0xd1, 0xfd, 0x35, 0x01, + 0xf2, 0x2b, 0xdd, 0xd6, 0xa3, 0xcd, 0x4e, 0xbd, 0xdb, 0x6e, 0x2b, 0xd6, 0x21, 0x31, 0x0c, 0x6c, + 0x54, 0xea, 0x4f, 0x59, 0x60, 0x47, 0x92, 0x0f, 0x3b, 0xfd, 0x29, 0x26, 0xc3, 0x8e, 0x87, 0x71, + 0x13, 0x3a, 0x8b, 0xd1, 0xbe, 0x08, 0x79, 0x0a, 0xd7, 0x65, 0x6c, 0x38, 0x96, 0x8e, 0xd9, 0x6a, + 0x50, 0x52, 0xca, 0x51, 0x62, 0x85, 0xd1, 0xd0, 0x65, 0x28, 0xd8, 0x87, 0xb6, 0x83, 0xdb, 0x32, + 0x3b, 0x6d, 0xcd, 0x30, 0x66, 0x52, 0xca, 0x33, 0xaa, 0xc4, 0x88, 0xa5, 0x1f, 0x27, 0xa1, 0xe0, + 0x6a, 0x36, 0x4e, 0xf7, 0x75, 0x05, 0xc6, 0x77, 0xf5, 0x16, 0x76, 0xf7, 0xd6, 0xaf, 0x0c, 0x69, + 0x50, 0x1e, 0x9e, 0x4b, 0xbc, 0x08, 0x17, 0x00, 0x51, 0xd6, 0x38, 0xc6, 0xd8, 0xdc, 0xaf, 0x25, + 0x20, 0x45, 0x3d, 0xc6, 0x9b, 0x90, 0xa2, 0x66, 0x4f, 0x18, 0xc5, 0xec, 0xd1, 0xac, 0x9e, 0x3b, + 0x93, 0x08, 0xb8, 0x33, 0xc4, 0x37, 0xd8, 0x53, 0x5e, 0xbd, 0x79, 0x8b, 0x8e, 0xaf, 0x9c, 0xc4, + 0x9f, 0xd0, 0x0a, 0x0d, 0xfa, 0x30, 0x2d, 0x07, 0x6b, 0xdc, 0x53, 0x8b, 0xb2, 0x4c, 0xa1, 0x86, + 0x77, 0x4d, 0xac, 0xcb, 0x87, 0xce, 0x43, 0x92, 0x0c, 0xdc, 0x49, 0xb6, 0x21, 0xfc, 0xec, 0x68, + 0x21, 0x49, 0x86, 0x2c, 0xa1, 0xa1, 0x1b, 0x90, 0x0d, 0x8f, 0x12, 0xe1, 0x5a, 0x86, 0xd9, 0x82, + 0x40, 0x0f, 0x87, 0x96, 0xd7, 0x83, 0x19, 0x4a, 0xb9, 0x97, 0x4a, 0xa7, 0xc4, 0xf1, 0xd2, 0x9f, + 0xa7, 0x20, 0x5f, 0x6b, 0xc7, 0x6d, 0x45, 0x97, 0xc3, 0x2d, 0x1c, 0xe5, 0xde, 0x86, 0x5e, 0x1a, + 0xd1, 0xc0, 0xa1, 0xf9, 0x28, 0x79, 0xb2, 0xf9, 0xa8, 0x46, 0x3c, 0x2a, 0x7e, 0xa2, 0x3c, 0x39, + 0xc0, 0x93, 0x0d, 0xbf, 0xbf, 0x41, 0x0c, 0x93, 0x44, 0x78, 0xfc, 0x80, 0x75, 0xba, 0xa9, 0xff, + 0x26, 0x75, 0xdc, 0x58, 0x2f, 0x9b, 0x18, 0xbd, 0x97, 0x4d, 0x62, 0x43, 0xa3, 0x7d, 0xec, 0x29, + 0xef, 0x62, 0xaf, 0x43, 0x52, 0xd3, 0xad, 0x21, 0xd7, 0x13, 0x44, 0xcf, 0x29, 0x84, 0xe9, 0x98, + 0xbe, 0x96, 0x0a, 0xf6, 0xb5, 0x20, 0x0e, 0x9d, 0xdb, 0x04, 0xf0, 0xeb, 0x85, 0x16, 0x61, 0xc2, + 0x6c, 0x69, 0x6e, 0xb4, 0x7d, 0x7e, 0x25, 0xf3, 0xec, 0x68, 0x61, 0x7c, 0xb3, 0xa5, 0xd5, 0x56, + 0xa5, 0x71, 0xb3, 0xa5, 0xd5, 0x34, 0x7a, 0x14, 0x1f, 0xef, 0xcb, 0x5e, 0x64, 0x4e, 0x4e, 0x9a, + 0x34, 0xf0, 0x3e, 0x41, 0xbd, 0x3d, 0x11, 0x03, 0xa4, 0xe3, 0x7c, 0x4b, 0x80, 0x82, 0xab, 0xc3, + 0x78, 0x8d, 0x43, 0x5a, 0x6f, 0xf3, 0xc1, 0x92, 0x3c, 0xd9, 0x60, 0x71, 0xf9, 0xf8, 0x81, 0xc1, + 0xaf, 0x0a, 0x3c, 0x2a, 0xb3, 0xae, 0x2a, 0x0e, 0x99, 0x0f, 0x63, 0xec, 0xe0, 0x2f, 0x82, 0x68, + 0x29, 0x86, 0x66, 0xb6, 0xf5, 0xa7, 0x98, 0x2d, 0x5c, 0xd9, 0x7c, 0xbf, 0x66, 0xca, 0xa3, 0xd3, + 0x95, 0x19, 0x77, 0xdd, 0xed, 0x3f, 0x05, 0x1e, 0xc1, 0xe9, 0x15, 0x26, 0x4e, 0xa5, 0xad, 0xc1, + 0x84, 0xc5, 0xe2, 0xc0, 0xd8, 0x80, 0x7b, 0x39, 0x42, 0x48, 0xd4, 0xdb, 0x59, 0x98, 0x95, 0xd7, + 0xe5, 0xa9, 0x88, 0xb9, 0xcf, 0xc3, 0x38, 0x25, 0x9f, 0xc2, 0x2c, 0x72, 0xcd, 0xff, 0x41, 0x02, + 0xa6, 0x97, 0x35, 0xad, 0x5e, 0xe7, 0xdd, 0x2f, 0x3e, 0xbd, 0xbb, 0x9e, 0x66, 0xc2, 0xf7, 0x34, + 0xd1, 0xcb, 0x80, 0x34, 0xdd, 0x66, 0x07, 0xc5, 0xed, 0x3d, 0x45, 0x33, 0xf7, 0xfd, 0x5d, 0xbc, + 0x69, 0x37, 0xa5, 0xee, 0x26, 0xa0, 0x77, 0x80, 0xfa, 0x45, 0xb2, 0xed, 0x28, 0xde, 0xe2, 0xea, + 0x4b, 0x27, 0x39, 0x48, 0xc0, 0xfc, 0x26, 0xef, 0x51, 0xca, 0x10, 0x71, 0xf4, 0x2f, 0xba, 0x06, + 0xa2, 0x4e, 0x74, 0xe8, 0xc8, 0x8a, 0xed, 0xc6, 0xa0, 0xb3, 0x93, 0xea, 0x05, 0x46, 0x5f, 0xb6, + 0x83, 0xa1, 0xe5, 0x2c, 0x34, 0xd6, 0xd7, 0x53, 0x9c, 0xee, 0xf1, 0x5f, 0x0a, 0x50, 0xe0, 0x71, + 0xf3, 0x31, 0xef, 0x0d, 0xd0, 0x7a, 0xf1, 0xde, 0xce, 0x1e, 0xd0, 0x1d, 0xc8, 0xb9, 0xa1, 0xfb, + 0xbb, 0x96, 0xd9, 0x3e, 0xc9, 0x7c, 0x9c, 0xe5, 0x8c, 0x77, 0x2c, 0xb3, 0xed, 0x1f, 0x43, 0xf7, + 0x4a, 0x1e, 0xeb, 0xba, 0x26, 0x3d, 0x53, 0xc7, 0x04, 0xc7, 0xbd, 0x9f, 0xf7, 0x3f, 0xa1, 0x17, + 0xba, 0xe8, 0x1b, 0x2c, 0x7e, 0x9c, 0xca, 0xf9, 0x37, 0x01, 0x0a, 0xf5, 0xee, 0x0e, 0xbb, 0xd4, + 0x24, 0x3e, 0xbd, 0x54, 0x20, 0xd3, 0xc2, 0xbb, 0x8e, 0x7c, 0xaa, 0x70, 0xcf, 0x34, 0x61, 0xa5, + 0x21, 0xaf, 0xcb, 0x00, 0x16, 0x3d, 0xd8, 0x41, 0xe5, 0x24, 0x47, 0x95, 0x23, 0x65, 0x28, 0x97, + 0x3f, 0x85, 0x95, 0xfe, 0x2c, 0x01, 0x53, 0x5e, 0x35, 0xe3, 0x34, 0xc1, 0xbf, 0x14, 0x32, 0x2b, + 0xc9, 0x53, 0x98, 0x95, 0x69, 0x22, 0x73, 0xa0, 0x69, 0x59, 0x82, 0x19, 0x3a, 0xcf, 0xc8, 0x4a, + 0xa7, 0xd3, 0xd2, 0xb1, 0x26, 0xb3, 0x2d, 0xba, 0x14, 0xdd, 0xa2, 0x9b, 0xa6, 0x49, 0xcb, 0x2c, + 0xa5, 0x46, 0xb7, 0xeb, 0xee, 0x40, 0x6e, 0xd7, 0xc2, 0xf8, 0x29, 0x96, 0xa9, 0xc3, 0x7b, 0x92, + 0x8d, 0xdb, 0x2c, 0x63, 0xac, 0x13, 0x3e, 0x6e, 0xd1, 0xdf, 0x85, 0x69, 0xaa, 0xda, 0xb8, 0x8f, + 0x95, 0xf1, 0x56, 0xf9, 0x0f, 0x01, 0x50, 0x50, 0xfe, 0x47, 0xd7, 0x30, 0x89, 0xd8, 0x1b, 0xe6, + 0x25, 0x40, 0x2c, 0x96, 0xc6, 0x96, 0x3b, 0xd8, 0x92, 0x6d, 0xac, 0x9a, 0xfc, 0x26, 0x0e, 0x41, + 0x12, 0x79, 0xca, 0x16, 0xb6, 0xea, 0x94, 0x5e, 0xfa, 0xfd, 0xf3, 0x90, 0xe3, 0x3a, 0xd9, 0x36, + 0x08, 0xde, 0xbd, 0x09, 0xc9, 0x26, 0x5f, 0xc0, 0xcb, 0x46, 0x02, 0x7c, 0xff, 0x36, 0xa0, 0xea, + 0x98, 0x44, 0xf2, 0x12, 0x96, 0x4e, 0xd7, 0x89, 0x88, 0xfd, 0xf4, 0x03, 0x05, 0x83, 0x2c, 0x9d, + 0xae, 0x83, 0xea, 0x30, 0xa5, 0xfa, 0xb7, 0xa1, 0xc8, 0x84, 0x3d, 0x39, 0x70, 0xcd, 0x38, 0xf2, + 0x4e, 0x99, 0xea, 0x98, 0x54, 0x50, 0x43, 0x09, 0xa8, 0x1c, 0xbc, 0x7e, 0x83, 0x4d, 0xa4, 0x17, + 0x23, 0x8f, 0x9e, 0x85, 0xaf, 0xfe, 0xa8, 0x8e, 0x05, 0x6e, 0xe9, 0x40, 0xaf, 0xc3, 0x84, 0x46, + 0xaf, 0x75, 0xe0, 0x3d, 0x34, 0xaa, 0x13, 0x85, 0x6e, 0xd2, 0xa8, 0x8e, 0x49, 0x9c, 0x03, 0xdd, + 0x83, 0x1c, 0xfb, 0xc7, 0x0e, 0xf3, 0x73, 0x07, 0xfd, 0xf2, 0x60, 0x09, 0x01, 0xab, 0x5f, 0x1d, + 0x93, 0xb2, 0x9a, 0x4f, 0x45, 0x9f, 0x84, 0x94, 0xad, 0x2a, 0x06, 0x5f, 0xfb, 0x9e, 0x1f, 0x70, + 0x76, 0xdb, 0x67, 0xa6, 0xb9, 0x89, 0x5e, 0x29, 0x3c, 0xf0, 0x03, 0x2b, 0x68, 0x90, 0xe5, 0x80, + 0xb5, 0xf8, 0xa8, 0x53, 0x86, 0x44, 0xaf, 0x38, 0x94, 0x80, 0xee, 0x42, 0x56, 0x21, 0xce, 0x9a, + 0x4c, 0xcf, 0xfa, 0x14, 0x61, 0xe0, 0x69, 0x8c, 0xbe, 0x73, 0x5a, 0x55, 0x7a, 0xb4, 0xd1, 0x25, + 0xfa, 0x82, 0xda, 0xd8, 0x6a, 0xe2, 0x62, 0x76, 0xb8, 0xa0, 0x60, 0xd0, 0x84, 0x27, 0x88, 0x12, + 0xd1, 0x3a, 0xe4, 0xf7, 0xdc, 0x38, 0x6e, 0x1a, 0xb0, 0x92, 0x1b, 0xb8, 0x07, 0x12, 0x11, 0x87, + 0x5e, 0x1d, 0x93, 0x72, 0x7b, 0x01, 0x32, 0x5a, 0x82, 0x44, 0x53, 0x2d, 0xe6, 0xa9, 0x8c, 0xe7, + 0x87, 0x45, 0x59, 0x57, 0xc7, 0xa4, 0x44, 0x53, 0x25, 0x20, 0x8c, 0x85, 0xb0, 0x1e, 0x18, 0xc5, + 0xc2, 0x40, 0x4b, 0x10, 0x0e, 0x36, 0xae, 0x8e, 0x49, 0x34, 0x24, 0x97, 0xbc, 0x6f, 0x0b, 0x0a, + 0x16, 0x8b, 0x3a, 0x71, 0x63, 0xab, 0xc4, 0x81, 0xfb, 0x42, 0x51, 0xe1, 0x55, 0xd5, 0x31, 0x29, + 0x6f, 0x05, 0xe9, 0xe8, 0x4b, 0x30, 0x1b, 0x96, 0xc8, 0x7b, 0xe0, 0x74, 0x9f, 0x79, 0x89, 0x96, + 0x1b, 0xee, 0x88, 0xc8, 0xea, 0x4b, 0x44, 0x9f, 0x82, 0x71, 0xd6, 0x6a, 0x88, 0x8a, 0x8c, 0xda, + 0xf0, 0xec, 0x69, 0x30, 0x96, 0x9f, 0x0c, 0x0a, 0x87, 0x87, 0x5b, 0xc8, 0x2d, 0xb3, 0x59, 0x9c, + 0x19, 0x38, 0x28, 0xfa, 0xc3, 0x47, 0xc8, 0xa0, 0x70, 0x7c, 0x2a, 0x69, 0x77, 0x8b, 0xa5, 0xf0, + 0xdd, 0xf9, 0xd9, 0x81, 0xed, 0x1e, 0x11, 0x85, 0x51, 0xa5, 0xa1, 0xa3, 0x3e, 0x99, 0x14, 0xcd, + 0x62, 0x77, 0x1a, 0xc8, 0x74, 0xac, 0x9d, 0x19, 0x58, 0xb4, 0xfe, 0x7b, 0x1a, 0xaa, 0xd4, 0x25, + 0xf2, 0xa8, 0xe8, 0x01, 0x88, 0xfc, 0xb4, 0xb1, 0xbf, 0x4a, 0x79, 0x96, 0xca, 0x7b, 0x31, 0xd2, + 0xa4, 0x45, 0x6d, 0x67, 0x57, 0xc7, 0xa4, 0x29, 0x35, 0x9c, 0x82, 0x1e, 0xc2, 0x34, 0x95, 0x27, + 0xab, 0xfe, 0x31, 0xf1, 0x62, 0xb1, 0x2f, 0x3e, 0x6b, 0xf0, 0x89, 0x72, 0x57, 0xb2, 0xa8, 0xf6, + 0x24, 0x91, 0x6e, 0xac, 0x1b, 0xba, 0x43, 0xad, 0xef, 0xdc, 0xc0, 0x6e, 0x1c, 0xbe, 0x55, 0x8a, + 0x74, 0x63, 0x9d, 0x51, 0x48, 0x37, 0x76, 0x78, 0xe8, 0x06, 0x6f, 0x8e, 0xe7, 0x07, 0x76, 0xe3, + 0xa8, 0x18, 0x0f, 0xd2, 0x8d, 0x9d, 0x20, 0x9d, 0x74, 0x63, 0x66, 0x20, 0x7a, 0xe4, 0xbe, 0x30, + 0xb0, 0x1b, 0x0f, 0x3c, 0x6d, 0x47, 0xba, 0xb1, 0xd2, 0x97, 0x88, 0x56, 0x01, 0x98, 0xdb, 0xa2, + 0x1b, 0xbb, 0x66, 0x71, 0x7e, 0xe0, 0x24, 0xd1, 0x1b, 0xbc, 0x41, 0x26, 0x89, 0x96, 0x4b, 0x23, + 0x86, 0x8c, 0x3a, 0xd4, 0x32, 0xdd, 0x14, 0x29, 0x2e, 0x0c, 0x34, 0x64, 0x7d, 0x7b, 0x23, 0xc4, + 0x90, 0xed, 0x7b, 0x44, 0x32, 0xdb, 0xb0, 0x25, 0xb5, 0xe2, 0xe2, 0xc0, 0xd9, 0x26, 0xb4, 0x98, + 0x4c, 0x66, 0x1b, 0xc6, 0x81, 0x96, 0x21, 0x43, 0xa6, 0xf3, 0x43, 0x6a, 0x86, 0x2e, 0x0c, 0x74, + 0x41, 0x7b, 0x62, 0xa3, 0xab, 0x63, 0x52, 0xfa, 0x31, 0x27, 0x91, 0xd7, 0xb3, 0x45, 0x8a, 0x62, + 0x69, 0xe0, 0xeb, 0x43, 0x0b, 0x53, 0xe4, 0xf5, 0x8c, 0x03, 0xa9, 0x70, 0x86, 0xb5, 0x15, 0x3f, + 0xec, 0x66, 0xf1, 0x93, 0x59, 0xc5, 0x8b, 0x54, 0xd4, 0x40, 0xc8, 0x1f, 0x79, 0x06, 0xaf, 0x3a, + 0x26, 0xcd, 0x28, 0xfd, 0xa9, 0x64, 0xc0, 0xf3, 0xa9, 0x87, 0x2d, 0x14, 0x14, 0x2f, 0x0d, 0x1c, + 0xf0, 0x11, 0x4b, 0x2b, 0x64, 0xc0, 0x2b, 0x01, 0x32, 0x9b, 0x80, 0x34, 0xd9, 0xb6, 0xd9, 0x16, + 0xda, 0xe5, 0x21, 0x13, 0x50, 0xcf, 0x6a, 0x01, 0x9b, 0x80, 0xb4, 0x3a, 0xe3, 0x24, 0x82, 0xd4, + 0x16, 0x56, 0x2c, 0x6e, 0x66, 0xaf, 0x0c, 0x14, 0xd4, 0x77, 0x53, 0x13, 0x11, 0xa4, 0x7a, 0x44, + 0x32, 0x61, 0x5b, 0xee, 0x35, 0x05, 0xdc, 0x25, 0xbc, 0x3a, 0x70, 0xc2, 0x8e, 0xbc, 0x4d, 0x81, + 0x4c, 0xd8, 0x56, 0x28, 0x01, 0x7d, 0x16, 0x26, 0x39, 0x5a, 0x2b, 0x5e, 0x1b, 0xe2, 0xa8, 0x06, + 0xc1, 0x38, 0x19, 0xd7, 0x9c, 0x87, 0x59, 0x59, 0x86, 0x12, 0x59, 0xf5, 0x5e, 0x1c, 0x62, 0x65, + 0xfb, 0xe0, 0x2b, 0xb3, 0xb2, 0x3e, 0x99, 0x58, 0x59, 0xd6, 0x4f, 0xf9, 0x5c, 0x77, 0x7d, 0xa0, + 0x95, 0xed, 0x0f, 0xcc, 0x26, 0x56, 0xf6, 0xb1, 0x4f, 0x25, 0x35, 0xb3, 0x19, 0x5a, 0x2a, 0x7e, + 0x62, 0x60, 0xcd, 0xc2, 0xb0, 0x91, 0xd4, 0x8c, 0xf3, 0x90, 0x66, 0x63, 0x31, 0x83, 0x4c, 0xd3, + 0x2f, 0x0d, 0x3e, 0x57, 0xda, 0x0b, 0x2e, 0xaa, 0xee, 0x2d, 0x9e, 0x4c, 0xc3, 0x9e, 0xa1, 0xb2, + 0xf8, 0x29, 0x3a, 0xae, 0xa9, 0x97, 0x87, 0x1b, 0xaa, 0xa8, 0x03, 0x82, 0x9e, 0xa1, 0x0a, 0x25, + 0xd2, 0xa2, 0xb2, 0x63, 0x0e, 0x74, 0x7c, 0x2f, 0x0d, 0x39, 0x02, 0xdb, 0x73, 0xf2, 0x84, 0x16, + 0xd5, 0x23, 0xfa, 0x43, 0xa8, 0xcb, 0xce, 0x6a, 0x17, 0x6f, 0x0c, 0x1f, 0x42, 0xe1, 0x33, 0xe3, + 0xde, 0x10, 0xe2, 0x64, 0x6f, 0xce, 0x74, 0x3d, 0x8c, 0x57, 0x86, 0xcf, 0x99, 0xbd, 0xae, 0x05, + 0x9b, 0x33, 0xf9, 0x85, 0x56, 0x93, 0x7c, 0x8f, 0x8a, 0x9d, 0xf2, 0xb9, 0x97, 0x4a, 0x4f, 0x89, + 0xe2, 0xbd, 0x54, 0xfa, 0x9c, 0x58, 0xbc, 0x97, 0x4a, 0x9f, 0x17, 0xe7, 0xee, 0xa5, 0xd2, 0xcf, + 0x89, 0xcf, 0x97, 0x7e, 0xf5, 0x3c, 0xe4, 0x5d, 0x58, 0xc5, 0x40, 0xca, 0xad, 0x20, 0x48, 0x99, + 0x1f, 0x04, 0x52, 0x38, 0x10, 0xe3, 0x28, 0xe5, 0x56, 0x10, 0xa5, 0xcc, 0x0f, 0x42, 0x29, 0x3e, + 0x0f, 0x81, 0x29, 0x8d, 0x41, 0x30, 0xe5, 0xc5, 0x11, 0x60, 0x8a, 0x27, 0xaa, 0x17, 0xa7, 0xac, + 0xf6, 0xe3, 0x94, 0x4b, 0xc3, 0x71, 0x8a, 0x27, 0x2a, 0x00, 0x54, 0xde, 0xe8, 0x01, 0x2a, 0x17, + 0x86, 0x00, 0x15, 0x8f, 0xdf, 0x45, 0x2a, 0x6b, 0x91, 0x48, 0xe5, 0xca, 0x71, 0x48, 0xc5, 0x93, + 0x13, 0x82, 0x2a, 0xaf, 0x86, 0xa0, 0xca, 0xc2, 0x40, 0xa8, 0xe2, 0x71, 0x33, 0xac, 0xd2, 0x18, + 0x84, 0x55, 0x5e, 0x1c, 0x01, 0xab, 0xf8, 0xca, 0xed, 0x01, 0x2b, 0xd5, 0x28, 0xb0, 0x72, 0xf9, + 0x18, 0xb0, 0xe2, 0x49, 0x0b, 0xa2, 0x95, 0x6a, 0x14, 0x5a, 0xb9, 0x7c, 0x0c, 0x5a, 0xe9, 0x91, + 0xc4, 0xe0, 0xca, 0x46, 0x34, 0x5c, 0xb9, 0x7a, 0x2c, 0x5c, 0xf1, 0xa4, 0x85, 0xf1, 0xca, 0x8d, + 0x00, 0x5e, 0x79, 0x61, 0x00, 0x5e, 0xf1, 0x58, 0x09, 0x60, 0xf9, 0x5c, 0x1f, 0x60, 0x29, 0x0d, + 0x03, 0x2c, 0x1e, 0xaf, 0x87, 0x58, 0xde, 0x1a, 0x80, 0x58, 0xae, 0x1d, 0x8f, 0x58, 0x3c, 0x61, + 0x3d, 0x90, 0x45, 0x19, 0x0a, 0x59, 0x5e, 0x1e, 0x11, 0xb2, 0x78, 0xd2, 0xa3, 0x30, 0xcb, 0x6b, + 0x61, 0xcc, 0xb2, 0x38, 0x18, 0xb3, 0x78, 0x62, 0x38, 0x68, 0x59, 0x8b, 0x04, 0x2d, 0x57, 0x8e, + 0x03, 0x2d, 0xfe, 0xf8, 0x08, 0xa2, 0x96, 0x8d, 0x68, 0xd4, 0x72, 0xf5, 0x58, 0xd4, 0xe2, 0x37, + 0x7f, 0x08, 0xb6, 0xac, 0x45, 0xc2, 0x96, 0x2b, 0xc7, 0xc1, 0x16, 0xbf, 0x70, 0x41, 0xdc, 0xf2, + 0xf6, 0x40, 0xdc, 0x72, 0x7d, 0x14, 0xdc, 0xe2, 0x09, 0xed, 0x03, 0x2e, 0xef, 0x0c, 0x06, 0x2e, + 0x9f, 0x38, 0xc1, 0x55, 0x58, 0x91, 0xc8, 0xe5, 0x73, 0x7d, 0xc8, 0xa5, 0x34, 0x0c, 0xb9, 0xf8, + 0xfd, 0xd9, 0x85, 0x2e, 0xca, 0x50, 0xa0, 0xf1, 0xf2, 0x88, 0x40, 0xc3, 0xef, 0x7c, 0x11, 0x48, + 0xa3, 0x12, 0x81, 0x34, 0x2e, 0x0d, 0x47, 0x1a, 0xbe, 0x99, 0xf7, 0xa1, 0x46, 0x35, 0x0a, 0x6a, + 0x5c, 0x3e, 0x06, 0x6a, 0xf8, 0x56, 0x28, 0x80, 0x35, 0xde, 0xe8, 0xc1, 0x1a, 0x17, 0x8e, 0x8d, + 0x73, 0x08, 0x80, 0x8d, 0x95, 0x7e, 0xb0, 0x71, 0x71, 0x28, 0xd8, 0xf0, 0x24, 0xf8, 0x68, 0xe3, + 0x8d, 0x1e, 0xb4, 0x71, 0x61, 0x08, 0xda, 0xf0, 0x0b, 0xc0, 0xe1, 0x86, 0x36, 0x1c, 0x6e, 0x2c, + 0x8d, 0x0a, 0x37, 0x3c, 0xc1, 0x91, 0x78, 0x63, 0x23, 0x1a, 0x6f, 0x5c, 0x1d, 0x71, 0xff, 0xb2, + 0x0f, 0x70, 0x54, 0xa3, 0x00, 0xc7, 0xe5, 0x63, 0x00, 0x47, 0x70, 0x0e, 0xf1, 0x10, 0x47, 0x35, + 0x0a, 0x71, 0x5c, 0x3e, 0x06, 0x71, 0xf8, 0x92, 0x02, 0x90, 0xa3, 0x31, 0x08, 0x72, 0xbc, 0x38, + 0x02, 0xe4, 0xf0, 0xe7, 0xdd, 0x1e, 0xcc, 0xf1, 0x66, 0x2f, 0xe6, 0x28, 0x0d, 0xc3, 0x1c, 0xfe, + 0x88, 0x74, 0x41, 0xc7, 0x46, 0x34, 0xe8, 0xb8, 0x7a, 0x2c, 0xe8, 0x08, 0x1a, 0xc9, 0x00, 0xea, + 0x58, 0x8b, 0x44, 0x1d, 0x57, 0x8e, 0x43, 0x1d, 0xbe, 0x91, 0x0c, 0xc2, 0x8e, 0x37, 0x7b, 0x61, + 0x47, 0x69, 0x18, 0xec, 0xf0, 0x2b, 0xe7, 0xe2, 0x8e, 0x6a, 0x14, 0xee, 0xb8, 0x7c, 0x0c, 0xee, + 0xf0, 0x1b, 0x2f, 0x00, 0x3c, 0x94, 0xa1, 0xc0, 0xe3, 0xe5, 0x11, 0x81, 0x47, 0x8f, 0xe1, 0x0a, + 0x23, 0x8f, 0x6a, 0x14, 0xf2, 0xb8, 0x7c, 0x0c, 0xf2, 0x08, 0x14, 0xd6, 0x87, 0x1e, 0x1b, 0xd1, + 0xd0, 0xe3, 0xea, 0xb1, 0xd0, 0xa3, 0x67, 0x34, 0xb9, 0xd8, 0x63, 0x2d, 0x12, 0x7b, 0x5c, 0x39, + 0x0e, 0x7b, 0xf4, 0x4c, 0x7c, 0x27, 0x02, 0x1f, 0xf7, 0x52, 0xe9, 0xe7, 0xc5, 0x17, 0x4a, 0x3f, + 0x1b, 0x87, 0x89, 0xaa, 0x1b, 0x4b, 0x14, 0xb8, 0xef, 0x42, 0x38, 0xcd, 0x7d, 0x17, 0x68, 0x95, + 0x8c, 0x15, 0x6a, 0x71, 0x8e, 0xbf, 0xda, 0xa8, 0xff, 0xda, 0x1d, 0xce, 0x7a, 0x8a, 0x03, 0x70, + 0xe8, 0x55, 0xc8, 0x77, 0x6d, 0x6c, 0xc9, 0x1d, 0x4b, 0x37, 0x2d, 0xdd, 0x61, 0xa1, 0xca, 0xc2, + 0x8a, 0xf8, 0xe1, 0xd1, 0x42, 0x6e, 0xdb, 0xc6, 0xd6, 0x16, 0xa7, 0x4b, 0xb9, 0x6e, 0xe0, 0xc9, + 0xfd, 0xfe, 0xc6, 0xf8, 0xe8, 0xdf, 0xdf, 0x78, 0x0b, 0x44, 0x0b, 0x2b, 0x5a, 0x68, 0xee, 0x67, + 0x17, 0x49, 0x44, 0xb7, 0x16, 0x8d, 0xd3, 0x77, 0x73, 0xd2, 0x0b, 0x25, 0xa6, 0xac, 0x30, 0x11, + 0xdd, 0x84, 0x33, 0x6d, 0xe5, 0x80, 0xc6, 0x5f, 0xc9, 0xae, 0x3b, 0x45, 0x63, 0xaa, 0xd2, 0x34, + 0x56, 0x10, 0xb5, 0x95, 0x03, 0xfa, 0x31, 0x0f, 0x96, 0x44, 0xaf, 0xf1, 0xbe, 0x0c, 0x05, 0x4d, + 0xb7, 0x1d, 0xdd, 0x50, 0xdd, 0x9b, 0x03, 0xd9, 0x8d, 0x13, 0x79, 0x97, 0xca, 0x6e, 0xf0, 0xbb, + 0x0e, 0xd3, 0x3c, 0x16, 0xd5, 0xff, 0xbc, 0x07, 0x05, 0x0e, 0x69, 0x52, 0x0a, 0x92, 0xe0, 0x7f, + 0xd7, 0xa5, 0x0c, 0x53, 0x4d, 0xc5, 0xc1, 0xfb, 0xca, 0xa1, 0xec, 0x1e, 0x15, 0xc8, 0xd2, 0x8b, + 0xb8, 0x9e, 0x7b, 0x76, 0xb4, 0x90, 0xbf, 0xcb, 0x92, 0xfa, 0x4e, 0x0c, 0xe4, 0x9b, 0x81, 0x04, + 0x0d, 0x2d, 0x43, 0x8e, 0x5e, 0xcf, 0x6b, 0xb2, 0x5b, 0xa0, 0x39, 0x1c, 0x18, 0xb4, 0xc7, 0xc3, + 0xef, 0x8a, 0x96, 0xe8, 0x95, 0xbe, 0xee, 0xc5, 0xd1, 0x57, 0x61, 0x4a, 0xb1, 0x0f, 0x0d, 0x95, + 0x6a, 0x18, 0x1b, 0x76, 0xd7, 0xa6, 0x78, 0x20, 0x2d, 0x15, 0x28, 0xb9, 0xec, 0x52, 0xd1, 0x6b, + 0x70, 0x5e, 0xc3, 0xc4, 0xc1, 0x61, 0x5e, 0x84, 0x63, 0x9a, 0xb2, 0xd9, 0xd2, 0x64, 0x7a, 0x9a, + 0x9c, 0x62, 0x81, 0xb4, 0x74, 0x86, 0x66, 0xa0, 0xfe, 0x43, 0xc3, 0x34, 0x37, 0x5b, 0x5a, 0x85, + 0x24, 0xf2, 0x7b, 0x06, 0x7f, 0x4b, 0x80, 0x5c, 0x28, 0xb8, 0xfb, 0x8d, 0x9e, 0x4d, 0xd0, 0xf3, + 0xd1, 0x28, 0x66, 0x50, 0x20, 0x5e, 0x9a, 0xb7, 0x9d, 0x1b, 0x1a, 0xb4, 0x30, 0xd8, 0x0b, 0xa6, + 0x58, 0xdf, 0xdd, 0x7a, 0x77, 0xd9, 0x5e, 0x4f, 0xfd, 0xce, 0x7b, 0x0b, 0x63, 0xa5, 0x9f, 0x26, + 0x21, 0x1f, 0x0e, 0xe2, 0xae, 0xf5, 0x94, 0x2b, 0xca, 0xca, 0x84, 0x38, 0x96, 0x86, 0x5c, 0xb7, + 0x94, 0xf1, 0xaf, 0x03, 0x66, 0xc5, 0x5c, 0x1c, 0xb2, 0xd5, 0x1b, 0x2c, 0xa7, 0xcf, 0x38, 0xf7, + 0xfd, 0x84, 0x67, 0x33, 0x96, 0x60, 0x9c, 0x29, 0x5c, 0x18, 0x78, 0xa8, 0x8e, 0xea, 0x5c, 0x62, + 0xd9, 0x88, 0x8d, 0x69, 0x9c, 0xea, 0x4e, 0x1d, 0x8f, 0x70, 0x8a, 0x6f, 0xe6, 0xf0, 0x9b, 0x95, + 0xc6, 0x4f, 0x76, 0xb3, 0x12, 0xdb, 0xca, 0x6d, 0xb5, 0xb0, 0xea, 0xf0, 0x8f, 0x24, 0xb9, 0x5f, + 0xc6, 0xb9, 0xd4, 0x2b, 0x82, 0x7f, 0x52, 0x69, 0x49, 0xe2, 0x9f, 0x54, 0x0a, 0x44, 0x6b, 0x15, + 0x3c, 0x11, 0x74, 0x48, 0xb2, 0x98, 0x3e, 0xde, 0xd4, 0xdf, 0x12, 0x40, 0xa4, 0x03, 0xf0, 0x0e, + 0xc6, 0x5a, 0x2c, 0xbd, 0xd0, 0x0d, 0x24, 0x4b, 0x8c, 0x1e, 0x5f, 0x1b, 0xba, 0x9e, 0x39, 0x19, + 0xbe, 0x9e, 0xb9, 0xf4, 0x9e, 0x00, 0x05, 0xaf, 0x84, 0xec, 0x03, 0x22, 0x43, 0x2e, 0x4c, 0x3a, + 0xdd, 0x37, 0x35, 0xdc, 0x53, 0xa9, 0x23, 0x7d, 0xc9, 0x24, 0x78, 0x2a, 0x95, 0x7d, 0xff, 0xe1, + 0x77, 0x05, 0x98, 0xf1, 0x8a, 0x58, 0xf6, 0x4f, 0x1c, 0x9e, 0x22, 0xd4, 0x58, 0xa2, 0xdf, 0x56, + 0x22, 0x58, 0x9b, 0x1e, 0x07, 0x1e, 0xa9, 0x7b, 0x22, 0x1e, 0xb2, 0x00, 0x1c, 0xc3, 0x6b, 0x8d, + 0x3a, 0xfd, 0xea, 0x12, 0xfb, 0x6f, 0x97, 0xee, 0x04, 0x14, 0x48, 0x47, 0x02, 0xd1, 0xd2, 0x48, + 0x43, 0xc6, 0xd5, 0x12, 0xcd, 0x5c, 0xfa, 0x61, 0xb0, 0x25, 0x2a, 0x4f, 0x88, 0xef, 0x76, 0x1b, + 0x92, 0x4f, 0x94, 0xd6, 0xb0, 0x88, 0x8d, 0x50, 0xcb, 0x49, 0x24, 0x37, 0xba, 0x13, 0x3a, 0xa8, + 0x99, 0x18, 0xec, 0x67, 0xf4, 0xab, 0x34, 0x74, 0xa0, 0xf3, 0x53, 0x6e, 0x2d, 0x92, 0xc7, 0xbf, + 0x3e, 0x68, 0x01, 0x5e, 0x4f, 0xbd, 0xff, 0xde, 0x82, 0x70, 0xbd, 0x0e, 0x33, 0x11, 0x73, 0x23, + 0x2a, 0x00, 0x04, 0x2e, 0x6d, 0xe6, 0x9f, 0x76, 0x5a, 0x5e, 0x95, 0xb7, 0x37, 0xca, 0x9b, 0xeb, + 0xeb, 0xb5, 0x46, 0xa3, 0xb2, 0x2a, 0x0a, 0x48, 0x84, 0x5c, 0xe8, 0xca, 0x67, 0xfe, 0x45, 0xa7, + 0xeb, 0xbf, 0x00, 0xe0, 0x5f, 0xfb, 0x4e, 0x64, 0xad, 0x55, 0x1e, 0xca, 0x0f, 0x96, 0xef, 0x6f, + 0x57, 0xea, 0xe2, 0x18, 0x42, 0x50, 0x58, 0x59, 0x6e, 0x94, 0xab, 0xb2, 0x54, 0xa9, 0x6f, 0x6d, + 0x6e, 0xd4, 0x2b, 0xa2, 0xc0, 0xf9, 0x56, 0x21, 0x17, 0x3c, 0xd2, 0x8a, 0x66, 0x60, 0xaa, 0x5c, + 0xad, 0x94, 0xd7, 0xe4, 0x07, 0xb5, 0x65, 0xf9, 0xad, 0xed, 0xca, 0x76, 0x45, 0x1c, 0xa3, 0x45, + 0xa3, 0xc4, 0x3b, 0xdb, 0xf7, 0xef, 0x8b, 0x02, 0x9a, 0x82, 0x2c, 0x7b, 0xa6, 0xd7, 0x43, 0x8b, + 0x89, 0xeb, 0xeb, 0x90, 0x0d, 0xdc, 0x1b, 0x45, 0x5e, 0xb7, 0xb5, 0x5d, 0xaf, 0xca, 0x8d, 0xda, + 0x7a, 0xa5, 0xde, 0x58, 0x5e, 0xdf, 0x62, 0x32, 0x28, 0x6d, 0x79, 0x65, 0x53, 0x6a, 0x88, 0x82, + 0xf7, 0xdc, 0xd8, 0xdc, 0x2e, 0x57, 0xbd, 0x0f, 0x53, 0xa5, 0xd2, 0x49, 0x31, 0x79, 0xfd, 0x31, + 0x9c, 0x1b, 0x70, 0xae, 0x13, 0x65, 0x61, 0x72, 0xdb, 0xa0, 0x77, 0xe0, 0x88, 0x63, 0x28, 0x1f, + 0x38, 0xda, 0x29, 0x0a, 0x28, 0xcd, 0x0e, 0xed, 0x89, 0x09, 0x34, 0x01, 0x89, 0xfa, 0x6d, 0x31, + 0x49, 0x0a, 0x1a, 0x38, 0x19, 0x29, 0xa6, 0x50, 0x86, 0x1f, 0x1b, 0x13, 0xc7, 0x51, 0xce, 0x3f, + 0xb7, 0x25, 0x4e, 0x5c, 0xbf, 0x00, 0x81, 0x43, 0x2d, 0x08, 0x60, 0xe2, 0xbe, 0xe2, 0x60, 0xdb, + 0x11, 0xc7, 0xd0, 0x24, 0x24, 0x97, 0x5b, 0x2d, 0x51, 0xb8, 0xf5, 0xa7, 0x02, 0xa4, 0xdd, 0x1b, + 0x8e, 0xd1, 0x7d, 0x18, 0x67, 0x00, 0x7c, 0x61, 0xf0, 0x8c, 0x44, 0x8d, 0xda, 0xdc, 0xe2, 0x71, + 0x53, 0x56, 0x69, 0x0c, 0xbd, 0xcd, 0xbf, 0x32, 0x47, 0x7a, 0x0c, 0xba, 0x38, 0xac, 0x3f, 0xb9, + 0x52, 0x87, 0x77, 0x3a, 0x32, 0x46, 0x4a, 0x63, 0xaf, 0x08, 0x2b, 0x2f, 0xbe, 0xff, 0xe3, 0xf9, + 0xb1, 0xf7, 0x9f, 0xcd, 0x0b, 0x1f, 0x3c, 0x9b, 0x17, 0x7e, 0xf4, 0x6c, 0x5e, 0xf8, 0xd7, 0x67, + 0xf3, 0xc2, 0x6f, 0xfe, 0x64, 0x7e, 0xec, 0x83, 0x9f, 0xcc, 0x8f, 0xfd, 0xe8, 0x27, 0xf3, 0x63, + 0xef, 0x4c, 0x72, 0xee, 0x9d, 0x09, 0xfa, 0xc1, 0xbb, 0xdb, 0xff, 0x1d, 0x00, 0x00, 0xff, 0xff, + 0xe8, 0xec, 0xbb, 0x69, 0xf5, 0x6f, 0x00, 0x00, } diff --git a/pkg/roachpb/api.proto b/pkg/roachpb/api.proto index 5c4298015da8..7704c9b671f5 100644 --- a/pkg/roachpb/api.proto +++ b/pkg/roachpb/api.proto @@ -325,9 +325,8 @@ message RevertRangeResponse { // apply to all the scans in the batch. // // If ScanOptions is present on a batch, the batch can only be made up of scan -// requests (i.e. {Reverse,}ScanReques), except for -// {Begin,End}TransactionRequest which are still allowed. Moreover, the batch -// cannot mix forward and reverse scans. +// requests (i.e. {Reverse,}ScanReques), except for EndTransactionRequest which +// are still allowed. Moreover, the batch cannot mix forward and reverse scans. // // TODO(andrei): add option to stop scan(s) when an intent is encountered. message ScanOptions { @@ -572,18 +571,6 @@ message RecomputeStatsResponse { storage.engine.enginepb.MVCCStatsDelta added_delta = 2 [(gogoproto.nullable) = false]; } -// A BeginTransactionRequest is the argument to the BeginTransaction() method. -message BeginTransactionRequest { - option (gogoproto.equal) = true; - - RequestHeader header = 1 [(gogoproto.nullable) = false, (gogoproto.embed) = true]; -} - -// A BeginTransactionResponse is the return value from the BeginTransaction() method. -message BeginTransactionResponse { - ResponseHeader header = 1 [(gogoproto.nullable) = false, (gogoproto.embed) = true]; -} - // An EndTransactionRequest is the argument to the EndTransaction() method. It // specifies whether to commit or roll back an extant transaction. message EndTransactionRequest { @@ -1649,7 +1636,6 @@ message RequestUnion { ClearRangeRequest clear_range = 38; RevertRangeRequest revert_range = 48; ScanRequest scan = 7; - BeginTransactionRequest begin_transaction = 8; EndTransactionRequest end_transaction = 9; AdminSplitRequest admin_split = 10; AdminUnsplitRequest admin_unsplit = 47; @@ -1685,7 +1671,7 @@ message RequestUnion { SubsumeRequest subsume = 43; RangeStatsRequest range_stats = 44; } - reserved 15, 23, 25, 27; + reserved 8, 15, 23, 25, 27; } // A ResponseUnion contains exactly one of the responses. @@ -1701,7 +1687,6 @@ message ResponseUnion { ClearRangeResponse clear_range = 38; RevertRangeResponse revert_range = 48; ScanResponse scan = 7; - BeginTransactionResponse begin_transaction = 8; EndTransactionResponse end_transaction = 9; AdminSplitResponse admin_split = 10; AdminUnsplitResponse admin_unsplit = 47; @@ -1736,7 +1721,7 @@ message ResponseUnion { SubsumeResponse subsume = 43; RangeStatsResponse range_stats = 44; } - reserved 15, 23, 25, 27, 28; + reserved 8, 15, 23, 25, 27, 28; } // A Header is attached to a BatchRequest, encapsulating routing and auxiliary diff --git a/pkg/roachpb/batch.go b/pkg/roachpb/batch.go index bdf47ac8467e..465768d8596b 100644 --- a/pkg/roachpb/batch.go +++ b/pkg/roachpb/batch.go @@ -242,12 +242,6 @@ func (ba *BatchRequest) IsCompleteTransaction() bool { if !hasET || !et.(*EndTransactionRequest).Commit { return false } - if _, hasBegin := ba.GetArg(BeginTransaction); hasBegin { - // TODO(nvanbenschoten): Remove this condition in 2.3. It can be removed - // in 2.3 once we're sure that all nodes will properly set sequence - // numbers (i.e. on writes only). - return true - } maxSeq := et.Header().Sequence switch maxSeq { case 0: diff --git a/pkg/roachpb/batch_generated.go b/pkg/roachpb/batch_generated.go index 43b3ac352be2..108376dad4a5 100644 --- a/pkg/roachpb/batch_generated.go +++ b/pkg/roachpb/batch_generated.go @@ -96,8 +96,6 @@ func (ru RequestUnion) GetInner() Request { return t.RevertRange case *RequestUnion_Scan: return t.Scan - case *RequestUnion_BeginTransaction: - return t.BeginTransaction case *RequestUnion_EndTransaction: return t.EndTransaction case *RequestUnion_AdminSplit: @@ -192,8 +190,6 @@ func (ru ResponseUnion) GetInner() Response { return t.RevertRange case *ResponseUnion_Scan: return t.Scan - case *ResponseUnion_BeginTransaction: - return t.BeginTransaction case *ResponseUnion_EndTransaction: return t.EndTransaction case *ResponseUnion_AdminSplit: @@ -356,8 +352,6 @@ func (ru *RequestUnion) SetInner(r Request) bool { union = &RequestUnion_RevertRange{t} case *ScanRequest: union = &RequestUnion_Scan{t} - case *BeginTransactionRequest: - union = &RequestUnion_BeginTransaction{t} case *EndTransactionRequest: union = &RequestUnion_EndTransaction{t} case *AdminSplitRequest: @@ -455,8 +449,6 @@ func (ru *ResponseUnion) SetInner(r Response) bool { union = &ResponseUnion_RevertRange{t} case *ScanResponse: union = &ResponseUnion_Scan{t} - case *BeginTransactionResponse: - union = &ResponseUnion_BeginTransaction{t} case *EndTransactionResponse: union = &ResponseUnion_EndTransaction{t} case *AdminSplitResponse: @@ -530,7 +522,7 @@ func (ru *ResponseUnion) SetInner(r Response) bool { return true } -type reqCounts [44]int32 +type reqCounts [43]int32 // getReqCounts returns the number of times each // request type appears in the batch. @@ -556,76 +548,74 @@ func (ba *BatchRequest) getReqCounts() reqCounts { counts[7]++ case *RequestUnion_Scan: counts[8]++ - case *RequestUnion_BeginTransaction: - counts[9]++ case *RequestUnion_EndTransaction: - counts[10]++ + counts[9]++ case *RequestUnion_AdminSplit: - counts[11]++ + counts[10]++ case *RequestUnion_AdminUnsplit: - counts[12]++ + counts[11]++ case *RequestUnion_AdminMerge: - counts[13]++ + counts[12]++ case *RequestUnion_AdminTransferLease: - counts[14]++ + counts[13]++ case *RequestUnion_AdminChangeReplicas: - counts[15]++ + counts[14]++ case *RequestUnion_AdminRelocateRange: - counts[16]++ + counts[15]++ case *RequestUnion_HeartbeatTxn: - counts[17]++ + counts[16]++ case *RequestUnion_Gc: - counts[18]++ + counts[17]++ case *RequestUnion_PushTxn: - counts[19]++ + counts[18]++ case *RequestUnion_RecoverTxn: - counts[20]++ + counts[19]++ case *RequestUnion_ResolveIntent: - counts[21]++ + counts[20]++ case *RequestUnion_ResolveIntentRange: - counts[22]++ + counts[21]++ case *RequestUnion_Merge: - counts[23]++ + counts[22]++ case *RequestUnion_TruncateLog: - counts[24]++ + counts[23]++ case *RequestUnion_RequestLease: - counts[25]++ + counts[24]++ case *RequestUnion_ReverseScan: - counts[26]++ + counts[25]++ case *RequestUnion_ComputeChecksum: - counts[27]++ + counts[26]++ case *RequestUnion_CheckConsistency: - counts[28]++ + counts[27]++ case *RequestUnion_InitPut: - counts[29]++ + counts[28]++ case *RequestUnion_TransferLease: - counts[30]++ + counts[29]++ case *RequestUnion_LeaseInfo: - counts[31]++ + counts[30]++ case *RequestUnion_WriteBatch: - counts[32]++ + counts[31]++ case *RequestUnion_Export: - counts[33]++ + counts[32]++ case *RequestUnion_Import: - counts[34]++ + counts[33]++ case *RequestUnion_QueryTxn: - counts[35]++ + counts[34]++ case *RequestUnion_QueryIntent: - counts[36]++ + counts[35]++ case *RequestUnion_AdminScatter: - counts[37]++ + counts[36]++ case *RequestUnion_AddSstable: - counts[38]++ + counts[37]++ case *RequestUnion_RecomputeStats: - counts[39]++ + counts[38]++ case *RequestUnion_Refresh: - counts[40]++ + counts[39]++ case *RequestUnion_RefreshRange: - counts[41]++ + counts[40]++ case *RequestUnion_Subsume: - counts[42]++ + counts[41]++ case *RequestUnion_RangeStats: - counts[43]++ + counts[42]++ default: panic(fmt.Sprintf("unsupported request: %+v", ru)) } @@ -643,7 +633,6 @@ var requestNames = []string{ "ClearRng", "RevertRng", "Scan", - "BeginTxn", "EndTxn", "AdmSplit", "AdmUnsplit", @@ -749,10 +738,6 @@ type scanResponseAlloc struct { union ResponseUnion_Scan resp ScanResponse } -type beginTransactionResponseAlloc struct { - union ResponseUnion_BeginTransaction - resp BeginTransactionResponse -} type endTransactionResponseAlloc struct { union ResponseUnion_EndTransaction resp EndTransactionResponse @@ -904,41 +889,40 @@ func (ba *BatchRequest) CreateReply() *BatchResponse { var buf6 []clearRangeResponseAlloc var buf7 []revertRangeResponseAlloc var buf8 []scanResponseAlloc - var buf9 []beginTransactionResponseAlloc - var buf10 []endTransactionResponseAlloc - var buf11 []adminSplitResponseAlloc - var buf12 []adminUnsplitResponseAlloc - var buf13 []adminMergeResponseAlloc - var buf14 []adminTransferLeaseResponseAlloc - var buf15 []adminChangeReplicasResponseAlloc - var buf16 []adminRelocateRangeResponseAlloc - var buf17 []heartbeatTxnResponseAlloc - var buf18 []gCResponseAlloc - var buf19 []pushTxnResponseAlloc - var buf20 []recoverTxnResponseAlloc - var buf21 []resolveIntentResponseAlloc - var buf22 []resolveIntentRangeResponseAlloc - var buf23 []mergeResponseAlloc - var buf24 []truncateLogResponseAlloc - var buf25 []requestLeaseResponseAlloc - var buf26 []reverseScanResponseAlloc - var buf27 []computeChecksumResponseAlloc - var buf28 []checkConsistencyResponseAlloc - var buf29 []initPutResponseAlloc - var buf30 []requestLeaseResponseAlloc - var buf31 []leaseInfoResponseAlloc - var buf32 []writeBatchResponseAlloc - var buf33 []exportResponseAlloc - var buf34 []importResponseAlloc - var buf35 []queryTxnResponseAlloc - var buf36 []queryIntentResponseAlloc - var buf37 []adminScatterResponseAlloc - var buf38 []addSSTableResponseAlloc - var buf39 []recomputeStatsResponseAlloc - var buf40 []refreshResponseAlloc - var buf41 []refreshRangeResponseAlloc - var buf42 []subsumeResponseAlloc - var buf43 []rangeStatsResponseAlloc + var buf9 []endTransactionResponseAlloc + var buf10 []adminSplitResponseAlloc + var buf11 []adminUnsplitResponseAlloc + var buf12 []adminMergeResponseAlloc + var buf13 []adminTransferLeaseResponseAlloc + var buf14 []adminChangeReplicasResponseAlloc + var buf15 []adminRelocateRangeResponseAlloc + var buf16 []heartbeatTxnResponseAlloc + var buf17 []gCResponseAlloc + var buf18 []pushTxnResponseAlloc + var buf19 []recoverTxnResponseAlloc + var buf20 []resolveIntentResponseAlloc + var buf21 []resolveIntentRangeResponseAlloc + var buf22 []mergeResponseAlloc + var buf23 []truncateLogResponseAlloc + var buf24 []requestLeaseResponseAlloc + var buf25 []reverseScanResponseAlloc + var buf26 []computeChecksumResponseAlloc + var buf27 []checkConsistencyResponseAlloc + var buf28 []initPutResponseAlloc + var buf29 []requestLeaseResponseAlloc + var buf30 []leaseInfoResponseAlloc + var buf31 []writeBatchResponseAlloc + var buf32 []exportResponseAlloc + var buf33 []importResponseAlloc + var buf34 []queryTxnResponseAlloc + var buf35 []queryIntentResponseAlloc + var buf36 []adminScatterResponseAlloc + var buf37 []addSSTableResponseAlloc + var buf38 []recomputeStatsResponseAlloc + var buf39 []refreshResponseAlloc + var buf40 []refreshRangeResponseAlloc + var buf41 []subsumeResponseAlloc + var buf42 []rangeStatsResponseAlloc for i, r := range ba.Requests { switch r.GetValue().(type) { @@ -1005,251 +989,244 @@ func (ba *BatchRequest) CreateReply() *BatchResponse { buf8[0].union.Scan = &buf8[0].resp br.Responses[i].Value = &buf8[0].union buf8 = buf8[1:] - case *RequestUnion_BeginTransaction: + case *RequestUnion_EndTransaction: if buf9 == nil { - buf9 = make([]beginTransactionResponseAlloc, counts[9]) + buf9 = make([]endTransactionResponseAlloc, counts[9]) } - buf9[0].union.BeginTransaction = &buf9[0].resp + buf9[0].union.EndTransaction = &buf9[0].resp br.Responses[i].Value = &buf9[0].union buf9 = buf9[1:] - case *RequestUnion_EndTransaction: + case *RequestUnion_AdminSplit: if buf10 == nil { - buf10 = make([]endTransactionResponseAlloc, counts[10]) + buf10 = make([]adminSplitResponseAlloc, counts[10]) } - buf10[0].union.EndTransaction = &buf10[0].resp + buf10[0].union.AdminSplit = &buf10[0].resp br.Responses[i].Value = &buf10[0].union buf10 = buf10[1:] - case *RequestUnion_AdminSplit: + case *RequestUnion_AdminUnsplit: if buf11 == nil { - buf11 = make([]adminSplitResponseAlloc, counts[11]) + buf11 = make([]adminUnsplitResponseAlloc, counts[11]) } - buf11[0].union.AdminSplit = &buf11[0].resp + buf11[0].union.AdminUnsplit = &buf11[0].resp br.Responses[i].Value = &buf11[0].union buf11 = buf11[1:] - case *RequestUnion_AdminUnsplit: + case *RequestUnion_AdminMerge: if buf12 == nil { - buf12 = make([]adminUnsplitResponseAlloc, counts[12]) + buf12 = make([]adminMergeResponseAlloc, counts[12]) } - buf12[0].union.AdminUnsplit = &buf12[0].resp + buf12[0].union.AdminMerge = &buf12[0].resp br.Responses[i].Value = &buf12[0].union buf12 = buf12[1:] - case *RequestUnion_AdminMerge: + case *RequestUnion_AdminTransferLease: if buf13 == nil { - buf13 = make([]adminMergeResponseAlloc, counts[13]) + buf13 = make([]adminTransferLeaseResponseAlloc, counts[13]) } - buf13[0].union.AdminMerge = &buf13[0].resp + buf13[0].union.AdminTransferLease = &buf13[0].resp br.Responses[i].Value = &buf13[0].union buf13 = buf13[1:] - case *RequestUnion_AdminTransferLease: + case *RequestUnion_AdminChangeReplicas: if buf14 == nil { - buf14 = make([]adminTransferLeaseResponseAlloc, counts[14]) + buf14 = make([]adminChangeReplicasResponseAlloc, counts[14]) } - buf14[0].union.AdminTransferLease = &buf14[0].resp + buf14[0].union.AdminChangeReplicas = &buf14[0].resp br.Responses[i].Value = &buf14[0].union buf14 = buf14[1:] - case *RequestUnion_AdminChangeReplicas: + case *RequestUnion_AdminRelocateRange: if buf15 == nil { - buf15 = make([]adminChangeReplicasResponseAlloc, counts[15]) + buf15 = make([]adminRelocateRangeResponseAlloc, counts[15]) } - buf15[0].union.AdminChangeReplicas = &buf15[0].resp + buf15[0].union.AdminRelocateRange = &buf15[0].resp br.Responses[i].Value = &buf15[0].union buf15 = buf15[1:] - case *RequestUnion_AdminRelocateRange: + case *RequestUnion_HeartbeatTxn: if buf16 == nil { - buf16 = make([]adminRelocateRangeResponseAlloc, counts[16]) + buf16 = make([]heartbeatTxnResponseAlloc, counts[16]) } - buf16[0].union.AdminRelocateRange = &buf16[0].resp + buf16[0].union.HeartbeatTxn = &buf16[0].resp br.Responses[i].Value = &buf16[0].union buf16 = buf16[1:] - case *RequestUnion_HeartbeatTxn: + case *RequestUnion_Gc: if buf17 == nil { - buf17 = make([]heartbeatTxnResponseAlloc, counts[17]) + buf17 = make([]gCResponseAlloc, counts[17]) } - buf17[0].union.HeartbeatTxn = &buf17[0].resp + buf17[0].union.Gc = &buf17[0].resp br.Responses[i].Value = &buf17[0].union buf17 = buf17[1:] - case *RequestUnion_Gc: + case *RequestUnion_PushTxn: if buf18 == nil { - buf18 = make([]gCResponseAlloc, counts[18]) + buf18 = make([]pushTxnResponseAlloc, counts[18]) } - buf18[0].union.Gc = &buf18[0].resp + buf18[0].union.PushTxn = &buf18[0].resp br.Responses[i].Value = &buf18[0].union buf18 = buf18[1:] - case *RequestUnion_PushTxn: + case *RequestUnion_RecoverTxn: if buf19 == nil { - buf19 = make([]pushTxnResponseAlloc, counts[19]) + buf19 = make([]recoverTxnResponseAlloc, counts[19]) } - buf19[0].union.PushTxn = &buf19[0].resp + buf19[0].union.RecoverTxn = &buf19[0].resp br.Responses[i].Value = &buf19[0].union buf19 = buf19[1:] - case *RequestUnion_RecoverTxn: + case *RequestUnion_ResolveIntent: if buf20 == nil { - buf20 = make([]recoverTxnResponseAlloc, counts[20]) + buf20 = make([]resolveIntentResponseAlloc, counts[20]) } - buf20[0].union.RecoverTxn = &buf20[0].resp + buf20[0].union.ResolveIntent = &buf20[0].resp br.Responses[i].Value = &buf20[0].union buf20 = buf20[1:] - case *RequestUnion_ResolveIntent: + case *RequestUnion_ResolveIntentRange: if buf21 == nil { - buf21 = make([]resolveIntentResponseAlloc, counts[21]) + buf21 = make([]resolveIntentRangeResponseAlloc, counts[21]) } - buf21[0].union.ResolveIntent = &buf21[0].resp + buf21[0].union.ResolveIntentRange = &buf21[0].resp br.Responses[i].Value = &buf21[0].union buf21 = buf21[1:] - case *RequestUnion_ResolveIntentRange: + case *RequestUnion_Merge: if buf22 == nil { - buf22 = make([]resolveIntentRangeResponseAlloc, counts[22]) + buf22 = make([]mergeResponseAlloc, counts[22]) } - buf22[0].union.ResolveIntentRange = &buf22[0].resp + buf22[0].union.Merge = &buf22[0].resp br.Responses[i].Value = &buf22[0].union buf22 = buf22[1:] - case *RequestUnion_Merge: + case *RequestUnion_TruncateLog: if buf23 == nil { - buf23 = make([]mergeResponseAlloc, counts[23]) + buf23 = make([]truncateLogResponseAlloc, counts[23]) } - buf23[0].union.Merge = &buf23[0].resp + buf23[0].union.TruncateLog = &buf23[0].resp br.Responses[i].Value = &buf23[0].union buf23 = buf23[1:] - case *RequestUnion_TruncateLog: + case *RequestUnion_RequestLease: if buf24 == nil { - buf24 = make([]truncateLogResponseAlloc, counts[24]) + buf24 = make([]requestLeaseResponseAlloc, counts[24]) } - buf24[0].union.TruncateLog = &buf24[0].resp + buf24[0].union.RequestLease = &buf24[0].resp br.Responses[i].Value = &buf24[0].union buf24 = buf24[1:] - case *RequestUnion_RequestLease: + case *RequestUnion_ReverseScan: if buf25 == nil { - buf25 = make([]requestLeaseResponseAlloc, counts[25]) + buf25 = make([]reverseScanResponseAlloc, counts[25]) } - buf25[0].union.RequestLease = &buf25[0].resp + buf25[0].union.ReverseScan = &buf25[0].resp br.Responses[i].Value = &buf25[0].union buf25 = buf25[1:] - case *RequestUnion_ReverseScan: + case *RequestUnion_ComputeChecksum: if buf26 == nil { - buf26 = make([]reverseScanResponseAlloc, counts[26]) + buf26 = make([]computeChecksumResponseAlloc, counts[26]) } - buf26[0].union.ReverseScan = &buf26[0].resp + buf26[0].union.ComputeChecksum = &buf26[0].resp br.Responses[i].Value = &buf26[0].union buf26 = buf26[1:] - case *RequestUnion_ComputeChecksum: + case *RequestUnion_CheckConsistency: if buf27 == nil { - buf27 = make([]computeChecksumResponseAlloc, counts[27]) + buf27 = make([]checkConsistencyResponseAlloc, counts[27]) } - buf27[0].union.ComputeChecksum = &buf27[0].resp + buf27[0].union.CheckConsistency = &buf27[0].resp br.Responses[i].Value = &buf27[0].union buf27 = buf27[1:] - case *RequestUnion_CheckConsistency: + case *RequestUnion_InitPut: if buf28 == nil { - buf28 = make([]checkConsistencyResponseAlloc, counts[28]) + buf28 = make([]initPutResponseAlloc, counts[28]) } - buf28[0].union.CheckConsistency = &buf28[0].resp + buf28[0].union.InitPut = &buf28[0].resp br.Responses[i].Value = &buf28[0].union buf28 = buf28[1:] - case *RequestUnion_InitPut: + case *RequestUnion_TransferLease: if buf29 == nil { - buf29 = make([]initPutResponseAlloc, counts[29]) + buf29 = make([]requestLeaseResponseAlloc, counts[29]) } - buf29[0].union.InitPut = &buf29[0].resp + buf29[0].union.RequestLease = &buf29[0].resp br.Responses[i].Value = &buf29[0].union buf29 = buf29[1:] - case *RequestUnion_TransferLease: + case *RequestUnion_LeaseInfo: if buf30 == nil { - buf30 = make([]requestLeaseResponseAlloc, counts[30]) + buf30 = make([]leaseInfoResponseAlloc, counts[30]) } - buf30[0].union.RequestLease = &buf30[0].resp + buf30[0].union.LeaseInfo = &buf30[0].resp br.Responses[i].Value = &buf30[0].union buf30 = buf30[1:] - case *RequestUnion_LeaseInfo: + case *RequestUnion_WriteBatch: if buf31 == nil { - buf31 = make([]leaseInfoResponseAlloc, counts[31]) + buf31 = make([]writeBatchResponseAlloc, counts[31]) } - buf31[0].union.LeaseInfo = &buf31[0].resp + buf31[0].union.WriteBatch = &buf31[0].resp br.Responses[i].Value = &buf31[0].union buf31 = buf31[1:] - case *RequestUnion_WriteBatch: + case *RequestUnion_Export: if buf32 == nil { - buf32 = make([]writeBatchResponseAlloc, counts[32]) + buf32 = make([]exportResponseAlloc, counts[32]) } - buf32[0].union.WriteBatch = &buf32[0].resp + buf32[0].union.Export = &buf32[0].resp br.Responses[i].Value = &buf32[0].union buf32 = buf32[1:] - case *RequestUnion_Export: + case *RequestUnion_Import: if buf33 == nil { - buf33 = make([]exportResponseAlloc, counts[33]) + buf33 = make([]importResponseAlloc, counts[33]) } - buf33[0].union.Export = &buf33[0].resp + buf33[0].union.Import = &buf33[0].resp br.Responses[i].Value = &buf33[0].union buf33 = buf33[1:] - case *RequestUnion_Import: + case *RequestUnion_QueryTxn: if buf34 == nil { - buf34 = make([]importResponseAlloc, counts[34]) + buf34 = make([]queryTxnResponseAlloc, counts[34]) } - buf34[0].union.Import = &buf34[0].resp + buf34[0].union.QueryTxn = &buf34[0].resp br.Responses[i].Value = &buf34[0].union buf34 = buf34[1:] - case *RequestUnion_QueryTxn: + case *RequestUnion_QueryIntent: if buf35 == nil { - buf35 = make([]queryTxnResponseAlloc, counts[35]) + buf35 = make([]queryIntentResponseAlloc, counts[35]) } - buf35[0].union.QueryTxn = &buf35[0].resp + buf35[0].union.QueryIntent = &buf35[0].resp br.Responses[i].Value = &buf35[0].union buf35 = buf35[1:] - case *RequestUnion_QueryIntent: + case *RequestUnion_AdminScatter: if buf36 == nil { - buf36 = make([]queryIntentResponseAlloc, counts[36]) + buf36 = make([]adminScatterResponseAlloc, counts[36]) } - buf36[0].union.QueryIntent = &buf36[0].resp + buf36[0].union.AdminScatter = &buf36[0].resp br.Responses[i].Value = &buf36[0].union buf36 = buf36[1:] - case *RequestUnion_AdminScatter: + case *RequestUnion_AddSstable: if buf37 == nil { - buf37 = make([]adminScatterResponseAlloc, counts[37]) + buf37 = make([]addSSTableResponseAlloc, counts[37]) } - buf37[0].union.AdminScatter = &buf37[0].resp + buf37[0].union.AddSstable = &buf37[0].resp br.Responses[i].Value = &buf37[0].union buf37 = buf37[1:] - case *RequestUnion_AddSstable: + case *RequestUnion_RecomputeStats: if buf38 == nil { - buf38 = make([]addSSTableResponseAlloc, counts[38]) + buf38 = make([]recomputeStatsResponseAlloc, counts[38]) } - buf38[0].union.AddSstable = &buf38[0].resp + buf38[0].union.RecomputeStats = &buf38[0].resp br.Responses[i].Value = &buf38[0].union buf38 = buf38[1:] - case *RequestUnion_RecomputeStats: + case *RequestUnion_Refresh: if buf39 == nil { - buf39 = make([]recomputeStatsResponseAlloc, counts[39]) + buf39 = make([]refreshResponseAlloc, counts[39]) } - buf39[0].union.RecomputeStats = &buf39[0].resp + buf39[0].union.Refresh = &buf39[0].resp br.Responses[i].Value = &buf39[0].union buf39 = buf39[1:] - case *RequestUnion_Refresh: + case *RequestUnion_RefreshRange: if buf40 == nil { - buf40 = make([]refreshResponseAlloc, counts[40]) + buf40 = make([]refreshRangeResponseAlloc, counts[40]) } - buf40[0].union.Refresh = &buf40[0].resp + buf40[0].union.RefreshRange = &buf40[0].resp br.Responses[i].Value = &buf40[0].union buf40 = buf40[1:] - case *RequestUnion_RefreshRange: + case *RequestUnion_Subsume: if buf41 == nil { - buf41 = make([]refreshRangeResponseAlloc, counts[41]) + buf41 = make([]subsumeResponseAlloc, counts[41]) } - buf41[0].union.RefreshRange = &buf41[0].resp + buf41[0].union.Subsume = &buf41[0].resp br.Responses[i].Value = &buf41[0].union buf41 = buf41[1:] - case *RequestUnion_Subsume: + case *RequestUnion_RangeStats: if buf42 == nil { - buf42 = make([]subsumeResponseAlloc, counts[42]) + buf42 = make([]rangeStatsResponseAlloc, counts[42]) } - buf42[0].union.Subsume = &buf42[0].resp + buf42[0].union.RangeStats = &buf42[0].resp br.Responses[i].Value = &buf42[0].union buf42 = buf42[1:] - case *RequestUnion_RangeStats: - if buf43 == nil { - buf43 = make([]rangeStatsResponseAlloc, counts[43]) - } - buf43[0].union.RangeStats = &buf43[0].resp - br.Responses[i].Value = &buf43[0].union - buf43 = buf43[1:] default: panic(fmt.Sprintf("unsupported request: %+v", r)) } diff --git a/pkg/roachpb/batch_test.go b/pkg/roachpb/batch_test.go index 1369d76f6e33..9be4b1adfe04 100644 --- a/pkg/roachpb/batch_test.go +++ b/pkg/roachpb/batch_test.go @@ -22,7 +22,6 @@ import ( func TestBatchIsCompleteTransaction(t *testing.T) { get := &GetRequest{} put := &PutRequest{} - bt := &BeginTransactionRequest{} etA := &EndTransactionRequest{Commit: false} etC := &EndTransactionRequest{Commit: true} withSeq := func(r Request, s enginepb.TxnSeq) Request { @@ -37,16 +36,13 @@ func TestBatchIsCompleteTransaction(t *testing.T) { isComplete bool }{ {[]Request{get, put}, false}, - {[]Request{bt}, false}, + {[]Request{put, get}, false}, {[]Request{etA}, false}, {[]Request{etC}, false}, - {[]Request{bt, put, get}, false}, + {[]Request{get, etA}, false}, + {[]Request{get, etC}, false}, {[]Request{put, get, etA}, false}, {[]Request{put, get, etC}, false}, - {[]Request{bt, put, get, etA}, false}, - {[]Request{bt, put, get, etC}, true}, - {[]Request{bt, get, etA}, false}, - {[]Request{bt, get, etC}, true}, {[]Request{withSeq(etA, 1)}, false}, {[]Request{withSeq(etC, 1)}, true}, {[]Request{put, withSeq(etC, 3)}, false}, @@ -62,13 +58,6 @@ func TestBatchIsCompleteTransaction(t *testing.T) { {[]Request{withSeq(get, 0), withSeq(put, 1), withSeq(put, 2), withSeq(get, 2), withSeq(etC, 3)}, true}, {[]Request{withSeq(put, 1), withSeq(get, 1), withSeq(put, 2), withSeq(etC, 4)}, false}, {[]Request{withSeq(get, 0), withSeq(put, 1), withSeq(put, 2), withSeq(put, 3), withSeq(get, 3), withSeq(etC, 4)}, true}, - // These cases will be removed in 2.3 once we're sure that all nodes - // will properly set sequence numbers (i.e. on writes only). - {[]Request{bt, withSeq(put, 1), withSeq(etC, 3)}, true}, - {[]Request{bt, withSeq(put, 2), withSeq(etC, 3)}, true}, - {[]Request{bt, withSeq(put, 1), withSeq(put, 2), withSeq(etC, 3)}, true}, - {[]Request{bt, withSeq(put, 1), withSeq(put, 2), withSeq(etC, 4)}, true}, - {[]Request{bt, withSeq(put, 1), withSeq(put, 2), withSeq(put, 3), withSeq(etC, 4)}, true}, } for i, test := range testCases { ba := BatchRequest{} @@ -88,7 +77,6 @@ func TestBatchSplit(t *testing.T) { put := &PutRequest{} spl := &AdminSplitRequest{} dr := &DeleteRangeRequest{} - bt := &BeginTransactionRequest{} et := &EndTransactionRequest{} qi := &QueryIntentRequest{} rv := &ReverseScanRequest{} @@ -98,10 +86,10 @@ func TestBatchSplit(t *testing.T) { canSplitET bool }{ {[]Request{get, put}, []int{1, 1}, true}, + {[]Request{put, et}, []int{1, 1}, true}, {[]Request{get, get, get, put, put, get, get}, []int{3, 2, 2}, true}, {[]Request{spl, get, scan, spl, get}, []int{1, 2, 1, 1}, true}, {[]Request{spl, spl, get, spl}, []int{1, 1, 1, 1}, true}, - {[]Request{bt, put, et}, []int{2, 1}, true}, {[]Request{get, scan, get, dr, rv, put, et}, []int{3, 1, 1, 1, 1}, true}, // Same one again, but this time don't allow EndTransaction to be split. {[]Request{get, scan, get, dr, rv, put, et}, []int{3, 1, 1, 2}, false}, diff --git a/pkg/roachpb/errors.pb.go b/pkg/roachpb/errors.pb.go index 1ded9f549939..57f0538e7a92 100644 --- a/pkg/roachpb/errors.pb.go +++ b/pkg/roachpb/errors.pb.go @@ -35,12 +35,12 @@ type TransactionAbortedReason int32 const ( // For backwards compatibility. ABORT_REASON_UNKNOWN TransactionAbortedReason = 0 - // A BeginTransaction, HeartbeatTxn, or EndTransaction(commit=true) request - // found an aborted transaction record. Another txn must have written this - // record - that other txn probably ran into one of our intents and pushed our - // transaction record successfully. Either a high-priority transaction simply - // pushed us or we failed to heartbeat for a while and another txn (of any - // priority) considered us abandoned and pushed us. + // A HeartbeatTxn or EndTransaction(commit=true) request found an aborted + // transaction record. Another txn must have written this record - that other + // txn probably ran into one of our intents and pushed our transaction record + // successfully. Either a high-priority transaction simply pushed us or we + // failed to heartbeat for a while and another txn (of any priority) + // considered us abandoned and pushed us. ABORT_REASON_ABORTED_RECORD_FOUND TransactionAbortedReason = 1 // The client is trying to use a transaction that's already been aborted. The // TxnCoordSender detects this. Either the client is misusing a txn, or the @@ -105,7 +105,7 @@ func (x *TransactionAbortedReason) UnmarshalJSON(data []byte) error { return nil } func (TransactionAbortedReason) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{0} + return fileDescriptor_errors_732b46652e57bf24, []int{0} } // TransactionRetryReason specifies what caused a transaction retry. @@ -162,7 +162,7 @@ func (x *TransactionRetryReason) UnmarshalJSON(data []byte) error { return nil } func (TransactionRetryReason) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{1} + return fileDescriptor_errors_732b46652e57bf24, []int{1} } // TransactionRestart indicates how an error should be handled in a @@ -213,7 +213,7 @@ func (x *TransactionRestart) UnmarshalJSON(data []byte) error { return nil } func (TransactionRestart) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{2} + return fileDescriptor_errors_732b46652e57bf24, []int{2} } // Reason specifies what caused the error. @@ -252,7 +252,7 @@ func (x *TransactionStatusError_Reason) UnmarshalJSON(data []byte) error { return nil } func (TransactionStatusError_Reason) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{9, 0} + return fileDescriptor_errors_732b46652e57bf24, []int{9, 0} } // Reason specifies what caused the error. @@ -308,7 +308,7 @@ func (x *RangeFeedRetryError_Reason) UnmarshalJSON(data []byte) error { return nil } func (RangeFeedRetryError_Reason) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{28, 0} + return fileDescriptor_errors_732b46652e57bf24, []int{28, 0} } // A NotLeaseHolderError indicates that the current range is not the lease @@ -335,7 +335,7 @@ func (m *NotLeaseHolderError) Reset() { *m = NotLeaseHolderError{} } func (m *NotLeaseHolderError) String() string { return proto.CompactTextString(m) } func (*NotLeaseHolderError) ProtoMessage() {} func (*NotLeaseHolderError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{0} + return fileDescriptor_errors_732b46652e57bf24, []int{0} } func (m *NotLeaseHolderError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -370,7 +370,7 @@ func (m *NodeUnavailableError) Reset() { *m = NodeUnavailableError{} } func (m *NodeUnavailableError) String() string { return proto.CompactTextString(m) } func (*NodeUnavailableError) ProtoMessage() {} func (*NodeUnavailableError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{1} + return fileDescriptor_errors_732b46652e57bf24, []int{1} } func (m *NodeUnavailableError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -404,7 +404,7 @@ func (m *UnsupportedRequestError) Reset() { *m = UnsupportedRequestError func (m *UnsupportedRequestError) String() string { return proto.CompactTextString(m) } func (*UnsupportedRequestError) ProtoMessage() {} func (*UnsupportedRequestError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{2} + return fileDescriptor_errors_732b46652e57bf24, []int{2} } func (m *UnsupportedRequestError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -441,7 +441,7 @@ func (m *RangeNotFoundError) Reset() { *m = RangeNotFoundError{} } func (m *RangeNotFoundError) String() string { return proto.CompactTextString(m) } func (*RangeNotFoundError) ProtoMessage() {} func (*RangeNotFoundError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{3} + return fileDescriptor_errors_732b46652e57bf24, []int{3} } func (m *RangeNotFoundError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -485,7 +485,7 @@ func (m *RangeKeyMismatchError) Reset() { *m = RangeKeyMismatchError{} } func (m *RangeKeyMismatchError) String() string { return proto.CompactTextString(m) } func (*RangeKeyMismatchError) ProtoMessage() {} func (*RangeKeyMismatchError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{4} + return fileDescriptor_errors_732b46652e57bf24, []int{4} } func (m *RangeKeyMismatchError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -531,7 +531,7 @@ func (m *ReadWithinUncertaintyIntervalError) Reset() { *m = ReadWithinUn func (m *ReadWithinUncertaintyIntervalError) String() string { return proto.CompactTextString(m) } func (*ReadWithinUncertaintyIntervalError) ProtoMessage() {} func (*ReadWithinUncertaintyIntervalError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{5} + return fileDescriptor_errors_732b46652e57bf24, []int{5} } func (m *ReadWithinUncertaintyIntervalError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -574,7 +574,7 @@ func (m *TransactionAbortedError) Reset() { *m = TransactionAbortedError func (m *TransactionAbortedError) String() string { return proto.CompactTextString(m) } func (*TransactionAbortedError) ProtoMessage() {} func (*TransactionAbortedError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{6} + return fileDescriptor_errors_732b46652e57bf24, []int{6} } func (m *TransactionAbortedError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -610,7 +610,7 @@ func (m *TransactionPushError) Reset() { *m = TransactionPushError{} } func (m *TransactionPushError) String() string { return proto.CompactTextString(m) } func (*TransactionPushError) ProtoMessage() {} func (*TransactionPushError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{7} + return fileDescriptor_errors_732b46652e57bf24, []int{7} } func (m *TransactionPushError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -646,7 +646,7 @@ func (m *TransactionRetryError) Reset() { *m = TransactionRetryError{} } func (m *TransactionRetryError) String() string { return proto.CompactTextString(m) } func (*TransactionRetryError) ProtoMessage() {} func (*TransactionRetryError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{8} + return fileDescriptor_errors_732b46652e57bf24, []int{8} } func (m *TransactionRetryError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -686,7 +686,7 @@ func (m *TransactionStatusError) Reset() { *m = TransactionStatusError{} func (m *TransactionStatusError) String() string { return proto.CompactTextString(m) } func (*TransactionStatusError) ProtoMessage() {} func (*TransactionStatusError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{9} + return fileDescriptor_errors_732b46652e57bf24, []int{9} } func (m *TransactionStatusError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -724,7 +724,7 @@ func (m *WriteIntentError) Reset() { *m = WriteIntentError{} } func (m *WriteIntentError) String() string { return proto.CompactTextString(m) } func (*WriteIntentError) ProtoMessage() {} func (*WriteIntentError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{10} + return fileDescriptor_errors_732b46652e57bf24, []int{10} } func (m *WriteIntentError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -762,7 +762,7 @@ func (m *WriteTooOldError) Reset() { *m = WriteTooOldError{} } func (m *WriteTooOldError) String() string { return proto.CompactTextString(m) } func (*WriteTooOldError) ProtoMessage() {} func (*WriteTooOldError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{11} + return fileDescriptor_errors_732b46652e57bf24, []int{11} } func (m *WriteTooOldError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -798,7 +798,7 @@ func (m *OpRequiresTxnError) Reset() { *m = OpRequiresTxnError{} } func (m *OpRequiresTxnError) String() string { return proto.CompactTextString(m) } func (*OpRequiresTxnError) ProtoMessage() {} func (*OpRequiresTxnError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{12} + return fileDescriptor_errors_732b46652e57bf24, []int{12} } func (m *OpRequiresTxnError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -835,7 +835,7 @@ func (m *ConditionFailedError) Reset() { *m = ConditionFailedError{} } func (m *ConditionFailedError) String() string { return proto.CompactTextString(m) } func (*ConditionFailedError) ProtoMessage() {} func (*ConditionFailedError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{13} + return fileDescriptor_errors_732b46652e57bf24, []int{13} } func (m *ConditionFailedError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -872,7 +872,7 @@ func (m *LeaseRejectedError) Reset() { *m = LeaseRejectedError{} } func (m *LeaseRejectedError) String() string { return proto.CompactTextString(m) } func (*LeaseRejectedError) ProtoMessage() {} func (*LeaseRejectedError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{14} + return fileDescriptor_errors_732b46652e57bf24, []int{14} } func (m *LeaseRejectedError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -907,7 +907,7 @@ func (m *SendError) Reset() { *m = SendError{} } func (m *SendError) String() string { return proto.CompactTextString(m) } func (*SendError) ProtoMessage() {} func (*SendError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{15} + return fileDescriptor_errors_732b46652e57bf24, []int{15} } func (m *SendError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -945,7 +945,7 @@ func (m *AmbiguousResultError) Reset() { *m = AmbiguousResultError{} } func (m *AmbiguousResultError) String() string { return proto.CompactTextString(m) } func (*AmbiguousResultError) ProtoMessage() {} func (*AmbiguousResultError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{16} + return fileDescriptor_errors_732b46652e57bf24, []int{16} } func (m *AmbiguousResultError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -979,7 +979,7 @@ func (m *RaftGroupDeletedError) Reset() { *m = RaftGroupDeletedError{} } func (m *RaftGroupDeletedError) String() string { return proto.CompactTextString(m) } func (*RaftGroupDeletedError) ProtoMessage() {} func (*RaftGroupDeletedError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{17} + return fileDescriptor_errors_732b46652e57bf24, []int{17} } func (m *RaftGroupDeletedError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1017,7 +1017,7 @@ func (m *ReplicaCorruptionError) Reset() { *m = ReplicaCorruptionError{} func (m *ReplicaCorruptionError) String() string { return proto.CompactTextString(m) } func (*ReplicaCorruptionError) ProtoMessage() {} func (*ReplicaCorruptionError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{18} + return fileDescriptor_errors_732b46652e57bf24, []int{18} } func (m *ReplicaCorruptionError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1054,7 +1054,7 @@ func (m *ReplicaTooOldError) Reset() { *m = ReplicaTooOldError{} } func (m *ReplicaTooOldError) String() string { return proto.CompactTextString(m) } func (*ReplicaTooOldError) ProtoMessage() {} func (*ReplicaTooOldError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{19} + return fileDescriptor_errors_732b46652e57bf24, []int{19} } func (m *ReplicaTooOldError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1089,7 +1089,7 @@ func (m *StoreNotFoundError) Reset() { *m = StoreNotFoundError{} } func (m *StoreNotFoundError) String() string { return proto.CompactTextString(m) } func (*StoreNotFoundError) ProtoMessage() {} func (*StoreNotFoundError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{20} + return fileDescriptor_errors_732b46652e57bf24, []int{20} } func (m *StoreNotFoundError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1135,7 +1135,7 @@ func (m *UnhandledRetryableError) Reset() { *m = UnhandledRetryableError func (m *UnhandledRetryableError) String() string { return proto.CompactTextString(m) } func (*UnhandledRetryableError) ProtoMessage() {} func (*UnhandledRetryableError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{21} + return fileDescriptor_errors_732b46652e57bf24, []int{21} } func (m *UnhandledRetryableError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1187,7 +1187,7 @@ func (m *TransactionRetryWithProtoRefreshError) Reset() { *m = Transacti func (m *TransactionRetryWithProtoRefreshError) String() string { return proto.CompactTextString(m) } func (*TransactionRetryWithProtoRefreshError) ProtoMessage() {} func (*TransactionRetryWithProtoRefreshError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{22} + return fileDescriptor_errors_732b46652e57bf24, []int{22} } func (m *TransactionRetryWithProtoRefreshError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1225,7 +1225,7 @@ func (m *TxnAlreadyEncounteredErrorError) Reset() { *m = TxnAlreadyEncou func (m *TxnAlreadyEncounteredErrorError) String() string { return proto.CompactTextString(m) } func (*TxnAlreadyEncounteredErrorError) ProtoMessage() {} func (*TxnAlreadyEncounteredErrorError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{23} + return fileDescriptor_errors_732b46652e57bf24, []int{23} } func (m *TxnAlreadyEncounteredErrorError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1262,7 +1262,7 @@ func (m *IntegerOverflowError) Reset() { *m = IntegerOverflowError{} } func (m *IntegerOverflowError) String() string { return proto.CompactTextString(m) } func (*IntegerOverflowError) ProtoMessage() {} func (*IntegerOverflowError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{24} + return fileDescriptor_errors_732b46652e57bf24, []int{24} } func (m *IntegerOverflowError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1298,7 +1298,7 @@ func (m *BatchTimestampBeforeGCError) Reset() { *m = BatchTimestampBefor func (m *BatchTimestampBeforeGCError) String() string { return proto.CompactTextString(m) } func (*BatchTimestampBeforeGCError) ProtoMessage() {} func (*BatchTimestampBeforeGCError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{25} + return fileDescriptor_errors_732b46652e57bf24, []int{25} } func (m *BatchTimestampBeforeGCError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1337,7 +1337,7 @@ func (m *IntentMissingError) Reset() { *m = IntentMissingError{} } func (m *IntentMissingError) String() string { return proto.CompactTextString(m) } func (*IntentMissingError) ProtoMessage() {} func (*IntentMissingError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{26} + return fileDescriptor_errors_732b46652e57bf24, []int{26} } func (m *IntentMissingError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1374,7 +1374,7 @@ func (m *MergeInProgressError) Reset() { *m = MergeInProgressError{} } func (m *MergeInProgressError) String() string { return proto.CompactTextString(m) } func (*MergeInProgressError) ProtoMessage() {} func (*MergeInProgressError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{27} + return fileDescriptor_errors_732b46652e57bf24, []int{27} } func (m *MergeInProgressError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1409,7 +1409,7 @@ func (m *RangeFeedRetryError) Reset() { *m = RangeFeedRetryError{} } func (m *RangeFeedRetryError) String() string { return proto.CompactTextString(m) } func (*RangeFeedRetryError) ProtoMessage() {} func (*RangeFeedRetryError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{28} + return fileDescriptor_errors_732b46652e57bf24, []int{28} } func (m *RangeFeedRetryError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1448,7 +1448,7 @@ func (m *IndeterminateCommitError) Reset() { *m = IndeterminateCommitErr func (m *IndeterminateCommitError) String() string { return proto.CompactTextString(m) } func (*IndeterminateCommitError) ProtoMessage() {} func (*IndeterminateCommitError) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{29} + return fileDescriptor_errors_732b46652e57bf24, []int{29} } func (m *IndeterminateCommitError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1512,7 +1512,7 @@ func (m *ErrorDetail) Reset() { *m = ErrorDetail{} } func (m *ErrorDetail) String() string { return proto.CompactTextString(m) } func (*ErrorDetail) ProtoMessage() {} func (*ErrorDetail) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{30} + return fileDescriptor_errors_732b46652e57bf24, []int{30} } func (m *ErrorDetail) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2470,7 +2470,7 @@ func (m *ErrPosition) Reset() { *m = ErrPosition{} } func (m *ErrPosition) String() string { return proto.CompactTextString(m) } func (*ErrPosition) ProtoMessage() {} func (*ErrPosition) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{31} + return fileDescriptor_errors_732b46652e57bf24, []int{31} } func (m *ErrPosition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2524,7 +2524,7 @@ type Error struct { func (m *Error) Reset() { *m = Error{} } func (*Error) ProtoMessage() {} func (*Error) Descriptor() ([]byte, []int) { - return fileDescriptor_errors_6c091de2f70790b7, []int{32} + return fileDescriptor_errors_732b46652e57bf24, []int{32} } func (m *Error) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10605,9 +10605,9 @@ var ( ErrIntOverflowErrors = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("roachpb/errors.proto", fileDescriptor_errors_6c091de2f70790b7) } +func init() { proto.RegisterFile("roachpb/errors.proto", fileDescriptor_errors_732b46652e57bf24) } -var fileDescriptor_errors_6c091de2f70790b7 = []byte{ +var fileDescriptor_errors_732b46652e57bf24 = []byte{ // 2855 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x59, 0x4b, 0x73, 0x1b, 0xc7, 0xb5, 0xc6, 0x80, 0x20, 0x09, 0x1e, 0xbe, 0x46, 0x2d, 0x5a, 0x1a, 0x51, 0x16, 0x48, 0x43, 0x96, diff --git a/pkg/roachpb/errors.proto b/pkg/roachpb/errors.proto index a4fe5141e708..8ae235ab8e8f 100644 --- a/pkg/roachpb/errors.proto +++ b/pkg/roachpb/errors.proto @@ -118,12 +118,12 @@ enum TransactionAbortedReason { // For backwards compatibility. ABORT_REASON_UNKNOWN = 0; - // A BeginTransaction, HeartbeatTxn, or EndTransaction(commit=true) request - // found an aborted transaction record. Another txn must have written this - // record - that other txn probably ran into one of our intents and pushed our - // transaction record successfully. Either a high-priority transaction simply - // pushed us or we failed to heartbeat for a while and another txn (of any - // priority) considered us abandoned and pushed us. + // A HeartbeatTxn or EndTransaction(commit=true) request found an aborted + // transaction record. Another txn must have written this record - that other + // txn probably ran into one of our intents and pushed our transaction record + // successfully. Either a high-priority transaction simply pushed us or we + // failed to heartbeat for a while and another txn (of any priority) + // considered us abandoned and pushed us. ABORT_REASON_ABORTED_RECORD_FOUND = 1; // The client is trying to use a transaction that's already been aborted. The diff --git a/pkg/roachpb/method.go b/pkg/roachpb/method.go index 2e6dc14cf66b..c09c8f53dcf4 100644 --- a/pkg/roachpb/method.go +++ b/pkg/roachpb/method.go @@ -54,12 +54,6 @@ const ( // args.RequestHeader.Key and args.RequestHeader.EndKey, with // the latter endpoint excluded. ReverseScan - // BeginTransaction writes a new transaction record, marking the - // beginning of the write-portion of a transaction. It is sent - // exclusively by the coordinating node along with the first - // transactional write and neither sent nor received by the client - // itself. - BeginTransaction // EndTransaction either commits or aborts an ongoing transaction. EndTransaction // AdminSplit is called to coordinate a split of a range. diff --git a/pkg/roachpb/method_string.go b/pkg/roachpb/method_string.go index bb22655cfe6e..f07628ce6a65 100644 --- a/pkg/roachpb/method_string.go +++ b/pkg/roachpb/method_string.go @@ -18,45 +18,44 @@ func _() { _ = x[RevertRange-7] _ = x[Scan-8] _ = x[ReverseScan-9] - _ = x[BeginTransaction-10] - _ = x[EndTransaction-11] - _ = x[AdminSplit-12] - _ = x[AdminUnsplit-13] - _ = x[AdminMerge-14] - _ = x[AdminTransferLease-15] - _ = x[AdminChangeReplicas-16] - _ = x[AdminRelocateRange-17] - _ = x[HeartbeatTxn-18] - _ = x[GC-19] - _ = x[PushTxn-20] - _ = x[RecoverTxn-21] - _ = x[QueryTxn-22] - _ = x[QueryIntent-23] - _ = x[ResolveIntent-24] - _ = x[ResolveIntentRange-25] - _ = x[Merge-26] - _ = x[TruncateLog-27] - _ = x[RequestLease-28] - _ = x[TransferLease-29] - _ = x[LeaseInfo-30] - _ = x[ComputeChecksum-31] - _ = x[CheckConsistency-32] - _ = x[InitPut-33] - _ = x[WriteBatch-34] - _ = x[Export-35] - _ = x[Import-36] - _ = x[AdminScatter-37] - _ = x[AddSSTable-38] - _ = x[RecomputeStats-39] - _ = x[Refresh-40] - _ = x[RefreshRange-41] - _ = x[Subsume-42] - _ = x[RangeStats-43] + _ = x[EndTransaction-10] + _ = x[AdminSplit-11] + _ = x[AdminUnsplit-12] + _ = x[AdminMerge-13] + _ = x[AdminTransferLease-14] + _ = x[AdminChangeReplicas-15] + _ = x[AdminRelocateRange-16] + _ = x[HeartbeatTxn-17] + _ = x[GC-18] + _ = x[PushTxn-19] + _ = x[RecoverTxn-20] + _ = x[QueryTxn-21] + _ = x[QueryIntent-22] + _ = x[ResolveIntent-23] + _ = x[ResolveIntentRange-24] + _ = x[Merge-25] + _ = x[TruncateLog-26] + _ = x[RequestLease-27] + _ = x[TransferLease-28] + _ = x[LeaseInfo-29] + _ = x[ComputeChecksum-30] + _ = x[CheckConsistency-31] + _ = x[InitPut-32] + _ = x[WriteBatch-33] + _ = x[Export-34] + _ = x[Import-35] + _ = x[AdminScatter-36] + _ = x[AddSSTable-37] + _ = x[RecomputeStats-38] + _ = x[Refresh-39] + _ = x[RefreshRange-40] + _ = x[Subsume-41] + _ = x[RangeStats-42] } -const _Method_name = "GetPutConditionalPutIncrementDeleteDeleteRangeClearRangeRevertRangeScanReverseScanBeginTransactionEndTransactionAdminSplitAdminUnsplitAdminMergeAdminTransferLeaseAdminChangeReplicasAdminRelocateRangeHeartbeatTxnGCPushTxnRecoverTxnQueryTxnQueryIntentResolveIntentResolveIntentRangeMergeTruncateLogRequestLeaseTransferLeaseLeaseInfoComputeChecksumCheckConsistencyInitPutWriteBatchExportImportAdminScatterAddSSTableRecomputeStatsRefreshRefreshRangeSubsumeRangeStats" +const _Method_name = "GetPutConditionalPutIncrementDeleteDeleteRangeClearRangeRevertRangeScanReverseScanEndTransactionAdminSplitAdminUnsplitAdminMergeAdminTransferLeaseAdminChangeReplicasAdminRelocateRangeHeartbeatTxnGCPushTxnRecoverTxnQueryTxnQueryIntentResolveIntentResolveIntentRangeMergeTruncateLogRequestLeaseTransferLeaseLeaseInfoComputeChecksumCheckConsistencyInitPutWriteBatchExportImportAdminScatterAddSSTableRecomputeStatsRefreshRefreshRangeSubsumeRangeStats" -var _Method_index = [...]uint16{0, 3, 6, 20, 29, 35, 46, 56, 67, 71, 82, 98, 112, 122, 134, 144, 162, 181, 199, 211, 213, 220, 230, 238, 249, 262, 280, 285, 296, 308, 321, 330, 345, 361, 368, 378, 384, 390, 402, 412, 426, 433, 445, 452, 462} +var _Method_index = [...]uint16{0, 3, 6, 20, 29, 35, 46, 56, 67, 71, 82, 96, 106, 118, 128, 146, 165, 183, 195, 197, 204, 214, 222, 233, 246, 264, 269, 280, 292, 305, 314, 329, 345, 352, 362, 368, 374, 386, 396, 410, 417, 429, 436, 446} func (i Method) String() string { if i < 0 || i >= Method(len(_Method_index)-1) { diff --git a/pkg/storage/batcheval/cmd_begin_transaction.go b/pkg/storage/batcheval/cmd_begin_transaction.go deleted file mode 100644 index dbbe50d9f966..000000000000 --- a/pkg/storage/batcheval/cmd_begin_transaction.go +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2014 The Cockroach Authors. -// -// Use of this software is governed by the Business Source License -// included in the file licenses/BSL.txt. -// -// As of the Change Date specified in that file, in accordance with -// the Business Source License, use of this software will be governed -// by the Apache License, Version 2.0, included in the file -// licenses/APL.txt. - -package batcheval - -import ( - "context" - "fmt" - - "github.com/cockroachdb/cockroach/pkg/keys" - "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/storage/batcheval/result" - "github.com/cockroachdb/cockroach/pkg/storage/engine" - "github.com/cockroachdb/cockroach/pkg/storage/spanset" - "github.com/cockroachdb/cockroach/pkg/util/hlc" -) - -func init() { - RegisterCommand(roachpb.BeginTransaction, declareKeysBeginTransaction, BeginTransaction) -} - -// declareKeysWriteTransaction is the shared portion of -// declareKeys{Begin,End,Heartbeat}Transaction. -func declareKeysWriteTransaction( - _ *roachpb.RangeDescriptor, header roachpb.Header, req roachpb.Request, spans *spanset.SpanSet, -) { - if header.Txn != nil { - header.Txn.AssertInitialized(context.TODO()) - spans.AddNonMVCC(spanset.SpanReadWrite, roachpb.Span{ - Key: keys.TransactionKey(req.Header().Key, header.Txn.ID), - }) - } -} - -func declareKeysBeginTransaction( - desc *roachpb.RangeDescriptor, header roachpb.Header, req roachpb.Request, spans *spanset.SpanSet, -) { - declareKeysWriteTransaction(desc, header, req, spans) - spans.AddNonMVCC(spanset.SpanReadOnly, roachpb.Span{ - Key: keys.AbortSpanKey(header.RangeID, header.Txn.ID), - }) -} - -// BeginTransaction writes the initial transaction record. Fails in -// the event that a transaction record is already written. This may -// occur if a transaction is started with a batch containing writes -// to different ranges, and the range containing the txn record fails -// to receive the write batch before a heartbeat or txn push is -// performed first and aborts the transaction. -func BeginTransaction( - ctx context.Context, batch engine.ReadWriter, cArgs CommandArgs, resp roachpb.Response, -) (result.Result, error) { - args := cArgs.Args.(*roachpb.BeginTransactionRequest) - h := cArgs.Header - reply := resp.(*roachpb.BeginTransactionResponse) - - if err := VerifyTransaction(h, args, roachpb.PENDING); err != nil { - return result.Result{}, err - } - key := keys.TransactionKey(h.Txn.Key, h.Txn.ID) - reply.Txn = h.Txn.Clone() - - // Check whether the transaction record already exists. If it already - // exists, check its current status and react accordingly. - var existingTxn roachpb.Transaction - if ok, err := engine.MVCCGetProto( - ctx, batch, key, hlc.Timestamp{}, &existingTxn, engine.MVCCGetOptions{}, - ); err != nil { - return result.Result{}, err - } else if !ok { - // Verify that it is safe to create the transaction record. - if err := CanCreateTxnRecord(cArgs.EvalCtx, reply.Txn); err != nil { - return result.Result{}, err - } - } else { - switch existingTxn.Status { - case roachpb.ABORTED: - // Check whether someone has come in ahead and already aborted the - // txn. - return result.Result{}, roachpb.NewTransactionAbortedError( - roachpb.ABORT_REASON_ABORTED_RECORD_FOUND, - ) - - case roachpb.PENDING: - if h.Txn.Epoch > existingTxn.Epoch { - // On a transaction retry there will be an extant txn record - // but this run should have an upgraded epoch. The extant txn - // record may have been pushed or otherwise updated, so update - // this command's txn and rewrite the record. - reply.Txn.Update(&existingTxn) - } else { - // Our txn record already exists. This is possible if the first - // transaction heartbeat evaluated before this BeginTransaction - // request or if the DistSender re-sent the batch. Either way, - // this request will contain no new information about the - // transaction, so treat the BeginTransaction as a no-op. - return result.Result{}, nil - } - - case roachpb.STAGING: - // NB: we could support this case, but there isn't a reason to. No - // cluster that's performing parallel commits should still be sending - // BeginTransaction requests. - fallthrough - - case roachpb.COMMITTED: - return result.Result{}, roachpb.NewTransactionStatusError( - fmt.Sprintf("BeginTransaction can't overwrite %s", existingTxn), - ) - - default: - return result.Result{}, roachpb.NewTransactionStatusError( - fmt.Sprintf("bad txn state: %s", existingTxn), - ) - } - } - - // Write the txn record. - txnRecord := reply.Txn.AsRecord() - return result.Result{}, engine.MVCCPutProto(ctx, batch, cArgs.Stats, key, hlc.Timestamp{}, nil, &txnRecord) -} diff --git a/pkg/storage/batcheval/cmd_end_transaction.go b/pkg/storage/batcheval/cmd_end_transaction.go index f617d4a2a30d..0e36496dcdfd 100644 --- a/pkg/storage/batcheval/cmd_end_transaction.go +++ b/pkg/storage/batcheval/cmd_end_transaction.go @@ -46,6 +46,19 @@ func init() { RegisterCommand(roachpb.EndTransaction, declareKeysEndTransaction, EndTransaction) } +// declareKeysWriteTransaction is the shared portion of +// declareKeys{End,Heartbeat}Transaction. +func declareKeysWriteTransaction( + _ *roachpb.RangeDescriptor, header roachpb.Header, req roachpb.Request, spans *spanset.SpanSet, +) { + if header.Txn != nil { + header.Txn.AssertInitialized(context.TODO()) + spans.AddNonMVCC(spanset.SpanReadWrite, roachpb.Span{ + Key: keys.TransactionKey(req.Header().Key, header.Txn.ID), + }) + } +} + func declareKeysEndTransaction( desc *roachpb.RangeDescriptor, header roachpb.Header, req roachpb.Request, spans *spanset.SpanSet, ) { @@ -340,8 +353,8 @@ func EndTransaction( // WriteTooOldError). However, the replayed intent cannot be resolved by a // subsequent replay of this EndTransaction call because the txn timestamp // will be too old. Replays of requests which attempt to create a new txn - // record (BeginTransaction, HeartbeatTxn, or EndTransaction) never succeed - // because EndTransaction inserts in the write timestamp cache in Replica's + // record (HeartbeatTxn or EndTransaction) never succeed because + // EndTransaction inserts in the write timestamp cache in Replica's // updateTimestampCache method, forcing the call to CanCreateTxnRecord to // return false, resulting in a transaction retry error. If the replay // didn't attempt to create a txn record, any push will immediately succeed diff --git a/pkg/storage/batcheval/cmd_heartbeat_txn.go b/pkg/storage/batcheval/cmd_heartbeat_txn.go index a203dad53d94..319671abc452 100644 --- a/pkg/storage/batcheval/cmd_heartbeat_txn.go +++ b/pkg/storage/batcheval/cmd_heartbeat_txn.go @@ -69,6 +69,9 @@ func HeartbeatTxn( } if !txn.Status.IsFinalized() { + // NOTE: this only updates the LastHeartbeat. It doesn't update any other + // field from h.Txn, even if it could. Whether that's a good thing or not + // is up for debate. txn.LastHeartbeat.Forward(args.Now) txnRecord := txn.AsRecord() if err := engine.MVCCPutProto(ctx, batch, cArgs.Stats, key, hlc.Timestamp{}, nil, &txnRecord); err != nil { diff --git a/pkg/storage/client_split_test.go b/pkg/storage/client_split_test.go index 72b988746db2..151d065b4dd6 100644 --- a/pkg/storage/client_split_test.go +++ b/pkg/storage/client_split_test.go @@ -2167,130 +2167,6 @@ func writeRandomTimeSeriesDataToRange( return midKey } -// TestStoreSplitBeginTxnPushMetaIntentRace prevents regression of -// #9265. It splits a range and blocks the update to the LHS range -// descriptor (and associated BeginTransaction request). Prior to the -// fix in #9287, holding up the BeginTransaction would allow the -// updates to meta addressing records to proceed. Because the test -// performs an initial split at the SystemPrefix, the dist sender ends -// up issuing a range lookup request after failing to send the entire -// txn to one range. The range lookup encounters the meta2 intents and -// trivially aborts the txn by writing an ABORTED txn record, because -// it doesn't exist. The meta2 intents are deleted. We then run a GC -// which cleans up the aborted txn. When the BeginTransaction -// proceeds, it succeeds and the rest of the txn runs to completion. -// -// This test verifies that the meta records are intact. -func TestStoreSplitBeginTxnPushMetaIntentRace(t *testing.T) { - defer leaktest.AfterTest(t)() - splitKey := roachpb.RKey("a") - - var startMu struct { - syncutil.Mutex - time time.Time - } - - wroteMeta2 := make(chan struct{}, 1) - - manual := hlc.NewManualClock(123) - storeCfg := storage.TestStoreConfig(hlc.NewClock(manual.UnixNano, time.Nanosecond)) - storeCfg.TestingKnobs.DisableSplitQueue = true - storeCfg.TestingKnobs.DisableMergeQueue = true - storeCfg.TestingKnobs.EvalKnobs.TestingEvalFilter = func(filterArgs storagebase.FilterArgs) *roachpb.Error { - startMu.Lock() - start := startMu.time - startMu.Unlock() - - if start.IsZero() { - return nil - } - - if _, ok := filterArgs.Req.(*roachpb.BeginTransactionRequest); ok { - // Return a node unavailable error for BeginTransaction request - // in the event we haven't waited 20ms. - if timeutil.Since(start) < 20*time.Millisecond { - return roachpb.NewError(&roachpb.NodeUnavailableError{}) - } - if log.V(1) { - log.Infof(context.TODO(), "allowing BeginTransaction to proceed after 20ms") - } - } else if filterArgs.Req.Method() == roachpb.Put && - filterArgs.Req.Header().Key.Equal(keys.RangeMetaKey(splitKey).AsRawKey()) { - select { - case wroteMeta2 <- struct{}{}: - default: - } - } - return nil - } - stopper := stop.NewStopper() - defer stopper.Stop(context.TODO()) - store := createTestStoreWithConfig(t, stopper, storeCfg) - - // Advance the clock past the transaction cleanup expiration. - manual.Increment(storagebase.TxnCleanupThreshold.Nanoseconds() + 1) - - // First, create a split after addressing records. - args := adminSplitArgs(keys.SystemPrefix) - if _, pErr := client.SendWrapped(context.Background(), store.TestSender(), args); pErr != nil { - t.Fatal(pErr) - } - - // Begin blocking BeginTransaction calls and signaling meta2 writes. - startMu.Lock() - startMu.time = timeutil.Now() - startMu.Unlock() - - // Initiate split at splitKey in a goroutine. - doneSplit := make(chan *roachpb.Error, 1) - go func() { - if log.V(1) { - log.Infof(context.TODO(), "splitting at %s", splitKey) - } - args := adminSplitArgs(splitKey.AsRawKey()) - _, pErr := client.SendWrappedWith(context.Background(), store, roachpb.Header{ - RangeID: store.LookupReplica(splitKey).RangeID, - }, args) - doneSplit <- pErr - }() - - // Wait for the write to the meta2 key to be initiated. - <-wroteMeta2 - - // Wait for 5ms to allow meta2 write to finish. - time.Sleep(5 * time.Millisecond) - - // GC the replica containing the range descriptor records. We use a - // SucceedsSoon because of the chance the GC is initiated before - // the range is fully split, meaning the initial GC may fail because - // it spans ranges. - testutils.SucceedsSoon(t, func() error { - return store.ManualGC(store.LookupReplica(splitKey)) - }) - - // Wait for the split to complete. - if pErr := <-doneSplit; pErr != nil { - t.Fatalf("failed split at %s: %s", splitKey, pErr) - } - - // Now verify that the meta2/splitKey meta2 record is present; do this - // within a SucceedSoon in order to give the intents time to resolve. - testutils.SucceedsSoon(t, func() error { - val, intent, err := engine.MVCCGet(context.Background(), store.Engine(), - keys.RangeMetaKey(splitKey).AsRawKey(), hlc.MaxTimestamp, engine.MVCCGetOptions{}) - if err != nil { - return err - } - if val == nil { - t.Errorf("expected meta2 record for %s", keys.RangeMetaKey(splitKey)) - } - if intent != nil { - t.Errorf("expected no intents; got %+v", intent) - } - return nil - }) -} - // TestStoreRangeGossipOnSplits verifies that the store descriptor // is gossiped on splits up until the point where an additional // split range doesn't exceed GossipWhenCapacityDeltaExceedsFraction. diff --git a/pkg/storage/intent_resolver_integration_test.go b/pkg/storage/intent_resolver_integration_test.go index ae19480c35af..ee2c30020b56 100644 --- a/pkg/storage/intent_resolver_integration_test.go +++ b/pkg/storage/intent_resolver_integration_test.go @@ -27,24 +27,20 @@ func beginTransaction( t *testing.T, store *Store, pri roachpb.UserPriority, key roachpb.Key, putKey bool, ) *roachpb.Transaction { txn := newTransaction("test", key, pri, store.Clock()) + if !putKey { + return txn + } var ba roachpb.BatchRequest - bt, header := beginTxnArgs(key, txn) - ba.Header = header - ba.Add(&bt) - assignSeqNumsForReqs(txn, &bt) - if putKey { - put := putArgs(key, []byte("value")) - ba.Add(&put) - assignSeqNumsForReqs(txn, &put) - } + ba.Header = roachpb.Header{Txn: txn} + put := putArgs(key, []byte("value")) + ba.Add(&put) + assignSeqNumsForReqs(txn, &put) br, pErr := store.TestSender().Send(context.Background(), ba) if pErr != nil { t.Fatal(pErr) } - txn = br.Txn - - return txn + return br.Txn } // TestContendedIntentWithDependencyCycle verifies that a queue of diff --git a/pkg/storage/intentresolver/contention_queue.go b/pkg/storage/intentresolver/contention_queue.go index bee1170919ea..5cda4bf84f2c 100644 --- a/pkg/storage/intentresolver/contention_queue.go +++ b/pkg/storage/intentresolver/contention_queue.go @@ -131,8 +131,7 @@ func txnID(txn *roachpb.Transaction) string { // add adds the intent specified in the supplied wiErr to the // contention queue. This may block the current goroutine if the -// pusher has no transaction or the transaction is not yet writing -// (i.e. read-only or hasn't successfully executed BeginTxn). +// pusher has no transaction or the transaction is not yet writing. // // Note that the supplied wiErr write intent error must have only a // single intent (len(wiErr.Intents) == 1). diff --git a/pkg/storage/replica_test.go b/pkg/storage/replica_test.go index 17944bb765bc..2a3396790b25 100644 --- a/pkg/storage/replica_test.go +++ b/pkg/storage/replica_test.go @@ -554,17 +554,14 @@ func TestIsOnePhaseCommit(t *testing.T) { putReq := makeReqs(withSeq(&roachpb.PutRequest{}, 1)) etReq := makeReqs(withSeq(&roachpb.EndTransactionRequest{Commit: true}, 1)) txnReqs := makeReqs( - withSeq(&roachpb.BeginTransactionRequest{}, 0), withSeq(&roachpb.PutRequest{}, 1), withSeq(&roachpb.EndTransactionRequest{Commit: true}, 2), ) txnReqsNoRefresh := makeReqs( - withSeq(&roachpb.BeginTransactionRequest{}, 0), withSeq(&roachpb.PutRequest{}, 1), withSeq(&roachpb.EndTransactionRequest{Commit: true, NoRefreshSpans: true}, 2), ) txnReqsRequire1PC := makeReqs( - withSeq(&roachpb.BeginTransactionRequest{}, 0), withSeq(&roachpb.PutRequest{}, 1), withSeq(&roachpb.EndTransactionRequest{Commit: true, Require1PC: true}, 2), ) @@ -589,9 +586,8 @@ func TestIsOnePhaseCommit(t *testing.T) { {ru: etReq, isTxn: true, isRestarted: true, isTSOff: true, exp1PC: false}, {ru: etReq, isTxn: true, isRestarted: true, isWTO: true, exp1PC: false}, {ru: etReq, isTxn: true, isRestarted: true, isWTO: true, isTSOff: true, exp1PC: false}, - {ru: txnReqs[0:2], isTxn: true, exp1PC: false}, - {ru: txnReqs[1:], isTxn: true, exp1PC: true}, - {ru: txnReqs[2:], isTxn: true, exp1PC: false}, + {ru: txnReqs[:1], isTxn: true, exp1PC: false}, + {ru: txnReqs[1:], isTxn: true, exp1PC: false}, {ru: txnReqs, isTxn: true, exp1PC: true}, {ru: txnReqs, isTxn: true, isTSOff: true, exp1PC: false}, {ru: txnReqs, isTxn: true, isWTO: true, exp1PC: false}, @@ -600,9 +596,8 @@ func TestIsOnePhaseCommit(t *testing.T) { {ru: txnReqs, isTxn: true, isRestarted: true, isTSOff: true, exp1PC: false}, {ru: txnReqs, isTxn: true, isRestarted: true, isWTO: true, exp1PC: false}, {ru: txnReqs, isTxn: true, isRestarted: true, isWTO: true, isTSOff: true, exp1PC: false}, - {ru: txnReqsNoRefresh[0:2], isTxn: true, exp1PC: false}, - {ru: txnReqsNoRefresh[1:], isTxn: true, exp1PC: true}, - {ru: txnReqsNoRefresh[2:], isTxn: true, exp1PC: false}, + {ru: txnReqsNoRefresh[:1], isTxn: true, exp1PC: false}, + {ru: txnReqsNoRefresh[1:], isTxn: true, exp1PC: false}, {ru: txnReqsNoRefresh, isTxn: true, exp1PC: true}, {ru: txnReqsNoRefresh, isTxn: true, isTSOff: true, exp1PC: true}, {ru: txnReqsNoRefresh, isTxn: true, isWTO: true, exp1PC: true}, @@ -611,9 +606,8 @@ func TestIsOnePhaseCommit(t *testing.T) { {ru: txnReqsNoRefresh, isTxn: true, isRestarted: true, isTSOff: true, exp1PC: false}, {ru: txnReqsNoRefresh, isTxn: true, isRestarted: true, isWTO: true, exp1PC: false}, {ru: txnReqsNoRefresh, isTxn: true, isRestarted: true, isWTO: true, isTSOff: true, exp1PC: false}, - {ru: txnReqsRequire1PC[0:2], isTxn: true, exp1PC: false}, - {ru: txnReqsRequire1PC[1:], isTxn: true, exp1PC: true}, - {ru: txnReqsRequire1PC[2:], isTxn: true, exp1PC: false}, + {ru: txnReqsRequire1PC[:1], isTxn: true, exp1PC: false}, + {ru: txnReqsRequire1PC[1:], isTxn: true, exp1PC: false}, {ru: txnReqsRequire1PC, isTxn: true, exp1PC: true}, {ru: txnReqsRequire1PC, isTxn: true, isTSOff: true, exp1PC: false}, {ru: txnReqsRequire1PC, isTxn: true, isWTO: true, exp1PC: false}, @@ -1751,16 +1745,6 @@ func reverseScanArgs(start, end []byte) roachpb.ReverseScanRequest { } } -func beginTxnArgs( - key []byte, txn *roachpb.Transaction, -) (roachpb.BeginTransactionRequest, roachpb.Header) { - return roachpb.BeginTransactionRequest{ - RequestHeader: roachpb.RequestHeader{ - Key: txn.Key, - }, - }, roachpb.Header{Txn: txn} -} - func heartbeatArgs( txn *roachpb.Transaction, now hlc.Timestamp, ) (roachpb.HeartbeatTxnRequest, roachpb.Header) { @@ -3790,13 +3774,9 @@ func TestSerializableDeadline(t *testing.T) { defer stopper.Stop(context.TODO()) tc.Start(t, stopper) + // Create our txn. It will be pushed next. key := roachpb.Key("key") - // Start our txn. It will be pushed next. txn := newTransaction("test txn", key, roachpb.MinUserPriority, tc.Clock()) - beginTxn, header := beginTxnArgs(key, txn) - if _, pErr := tc.SendWrappedWith(header, &beginTxn); pErr != nil { - t.Fatal(pErr.GoError()) - } tc.manualClock.Increment(100) pusher := newTransaction( @@ -3893,15 +3873,6 @@ func TestCreateTxnRecordAfterPushAndGC(t *testing.T) { { expErr := "TransactionAbortedError(ABORT_REASON_ABORTED_RECORD_FOUND)" - // BeginTransaction. - bt, btH := beginTxnArgs(key, pushee) - resp, pErr := tc.SendWrappedWith(btH, &bt) - if pErr == nil { - t.Fatalf("unexpected success: %+v", resp) - } else if !testutils.IsPError(pErr, regexp.QuoteMeta(expErr)) { - t.Fatalf("expected %s, got %v and response %+v", expErr, pErr, resp) - } - // HeartbeatTxn. hb, hbH := heartbeatArgs(pushee, tc.Clock().Now()) resp, pErr = tc.SendWrappedWith(hbH, &hb) @@ -3925,23 +3896,16 @@ func TestCreateTxnRecordAfterPushAndGC(t *testing.T) { // be prevented from writing its record. // See #9522. { - // BeginTransaction. - newTxn := newTransaction("foo", key, 1, tc.Clock()) - bt, btH := beginTxnArgs(key, newTxn) - if _, pErr := tc.SendWrappedWith(btH, &bt); pErr != nil { - t.Fatal(pErr) - } - // HeartbeatTxn. - newTxn2 := newTransaction("foo", key, 1, tc.Clock()) - hb, hbH := heartbeatArgs(newTxn2, tc.Clock().Now()) + newTxn1 := newTransaction("foo", key, 1, tc.Clock()) + hb, hbH := heartbeatArgs(newTxn1, tc.Clock().Now()) if _, pErr := tc.SendWrappedWith(hbH, &hb); pErr != nil { t.Fatal(pErr) } // EndTransaction. - newTxn3 := newTransaction("foo", key, 1, tc.Clock()) - et, etH := endTxnArgs(newTxn3, true) + newTxn2 := newTransaction("foo", key, 1, tc.Clock()) + et, etH := endTxnArgs(newTxn2, true) if _, pErr := tc.SendWrappedWith(etH, &et); pErr != nil { t.Fatal(pErr) } @@ -3960,7 +3924,6 @@ func TestEndTransactionDeadline_1PC(t *testing.T) { key := roachpb.Key("a") txn := newTransaction("test", key, 1, tc.Clock()) - bt, _ := beginTxnArgs(key, txn) put := putArgs(key, []byte("value")) et, etH := endTxnArgs(txn, true) // Past deadline. @@ -3969,8 +3932,8 @@ func TestEndTransactionDeadline_1PC(t *testing.T) { var ba roachpb.BatchRequest ba.Header = etH - ba.Add(&bt, &put, &et) - assignSeqNumsForReqs(txn, &bt, &put, &et) + ba.Add(&put, &et) + assignSeqNumsForReqs(txn, &put, &et) _, pErr := tc.Sender().Send(context.Background(), ba) retErr, ok := pErr.GetDetail().(*roachpb.TransactionRetryError) if !ok || retErr.Reason != roachpb.RETRY_COMMIT_DEADLINE_EXCEEDED { @@ -3992,7 +3955,6 @@ func Test1PCTransactionWriteTimestamp(t *testing.T) { key := roachpb.Key("key") txn := newTransaction("test", key, 1, tc.Clock()) - bt, _ := beginTxnArgs(key, txn) put := putArgs(key, []byte("value")) et, etH := endTxnArgs(txn, true) @@ -4005,8 +3967,8 @@ func Test1PCTransactionWriteTimestamp(t *testing.T) { // Now verify that the write triggers a retry. var ba roachpb.BatchRequest ba.Header = etH - ba.Add(&bt, &put, &et) - assignSeqNumsForReqs(txn, &bt, &put, &et) + ba.Add(&put, &et) + assignSeqNumsForReqs(txn, &put, &et) _, pErr := tc.Sender().Send(context.Background(), ba) if _, ok := pErr.GetDetail().(*roachpb.TransactionRetryError); !ok { t.Errorf("expected retry error; got %s", pErr) @@ -4081,52 +4043,43 @@ func TestEndTransactionBeforeHeartbeat(t *testing.T) { tc.Start(t, stopper) key := []byte("a") - testutils.RunTrueAndFalse(t, "begin", func(t *testing.T, begin bool) { - testutils.RunTrueAndFalse(t, "commit", func(t *testing.T, commit bool) { - key = roachpb.Key(key).Next() - txn := newTransaction("test", key, 1, tc.Clock()) - - var ba roachpb.BatchRequest - bt, btH := beginTxnArgs(key, txn) - put := putArgs(key, key) - assignSeqNumsForReqs(txn, &put) - ba.Header = btH - if begin { - ba.Add(&bt) - } - ba.Add(&put) - if _, pErr := tc.Sender().Send(context.Background(), ba); pErr != nil { - t.Fatal(pErr) - } + testutils.RunTrueAndFalse(t, "commit", func(t *testing.T, commit bool) { + key = roachpb.Key(key).Next() + txn := newTransaction("test", key, 1, tc.Clock()) + h := roachpb.Header{Txn: txn} - args, h := endTxnArgs(txn, commit) - assignSeqNumsForReqs(txn, &args) - resp, pErr := tc.SendWrappedWith(h, &args) - if pErr != nil { - t.Fatal(pErr) - } - reply := resp.(*roachpb.EndTransactionResponse) - expStatus := roachpb.COMMITTED - if !commit { - expStatus = roachpb.ABORTED - } - if reply.Txn.Status != expStatus { - t.Errorf("expected transaction status to be %s; got %s", expStatus, reply.Txn.Status) - } + put := putArgs(key, key) + assignSeqNumsForReqs(txn, &put) + if _, pErr := tc.SendWrappedWith(h, &put); pErr != nil { + t.Fatal(pErr) + } - // Try a heartbeat to the already-committed transaction; should get - // committed txn back, but without last heartbeat timestamp set. - hBA, h := heartbeatArgs(txn, tc.Clock().Now()) + et, _ := endTxnArgs(txn, commit) + assignSeqNumsForReqs(txn, &et) + resp, pErr := tc.SendWrappedWith(h, &et) + if pErr != nil { + t.Fatal(pErr) + } + reply := resp.(*roachpb.EndTransactionResponse) + expStatus := roachpb.COMMITTED + if !commit { + expStatus = roachpb.ABORTED + } + if reply.Txn.Status != expStatus { + t.Errorf("expected transaction status to be %s; got %s", expStatus, reply.Txn.Status) + } - resp, pErr = tc.SendWrappedWith(h, &hBA) - if pErr != nil { - t.Error(pErr) - } - hBR := resp.(*roachpb.HeartbeatTxnResponse) - if hBR.Txn.Status != expStatus { - t.Errorf("expected transaction status to be %s, but got %s", expStatus, hBR.Txn.Status) - } - }) + // Try a heartbeat to the already-committed transaction; should get + // committed txn back, but without last heartbeat timestamp set. + hBA, h := heartbeatArgs(txn, tc.Clock().Now()) + resp, pErr = tc.SendWrappedWith(h, &hBA) + if pErr != nil { + t.Error(pErr) + } + hBR := resp.(*roachpb.HeartbeatTxnResponse) + if hBR.Txn.Status != expStatus { + t.Errorf("expected transaction status to be %s, but got %s", expStatus, hBR.Txn.Status) + } }) } @@ -4140,56 +4093,46 @@ func TestEndTransactionAfterHeartbeat(t *testing.T) { tc.Start(t, stopper) key := roachpb.Key("a") - testutils.RunTrueAndFalse(t, "begin", func(t *testing.T, begin bool) { - testutils.RunTrueAndFalse(t, "commit", func(t *testing.T, commit bool) { - txn := newTransaction("test", key, 1, tc.Clock()) - - var ba roachpb.BatchRequest - bt, btH := beginTxnArgs(key, txn) - put := putArgs(key, key) - assignSeqNumsForReqs(txn, &put) - ba.Header = btH - if begin { - ba.Add(&bt) - } - ba.Add(&put) - if _, pErr := tc.Sender().Send(context.Background(), ba); pErr != nil { - t.Fatal(pErr) - } - - // Start out with a heartbeat to the transaction. - hBA, h := heartbeatArgs(txn, tc.Clock().Now()) + testutils.RunTrueAndFalse(t, "commit", func(t *testing.T, commit bool) { + txn := newTransaction("test", key, 1, tc.Clock()) + h := roachpb.Header{Txn: txn} - resp, pErr := tc.SendWrappedWith(h, &hBA) - if pErr != nil { - t.Fatal(pErr) - } - hBR := resp.(*roachpb.HeartbeatTxnResponse) - if hBR.Txn.Status != roachpb.PENDING { - t.Errorf("expected transaction status to be %s, but got %s", hBR.Txn.Status, roachpb.PENDING) - } + put := putArgs(key, key) + assignSeqNumsForReqs(txn, &put) + if _, pErr := tc.SendWrappedWith(h, &put); pErr != nil { + t.Fatal(pErr) + } - args, h := endTxnArgs(txn, commit) - assignSeqNumsForReqs(txn, &args) + // Start out with a heartbeat to the transaction. + hBA, _ := heartbeatArgs(txn, tc.Clock().Now()) + resp, pErr := tc.SendWrappedWith(h, &hBA) + if pErr != nil { + t.Fatal(pErr) + } + hBR := resp.(*roachpb.HeartbeatTxnResponse) + if hBR.Txn.Status != roachpb.PENDING { + t.Errorf("expected transaction status to be %s, but got %s", hBR.Txn.Status, roachpb.PENDING) + } - resp, pErr = tc.SendWrappedWith(h, &args) - if pErr != nil { - t.Error(pErr) - } - reply := resp.(*roachpb.EndTransactionResponse) - expStatus := roachpb.COMMITTED - if !commit { - expStatus = roachpb.ABORTED - } - if reply.Txn.Status != expStatus { - t.Errorf("expected transaction status to be %s; got %s", expStatus, reply.Txn.Status) - } - if reply.Txn.LastHeartbeat != hBR.Txn.LastHeartbeat { - t.Errorf("expected heartbeats to remain equal: %+v != %+v", - reply.Txn.LastHeartbeat, hBR.Txn.LastHeartbeat) - } - key = key.Next() - }) + et, h := endTxnArgs(txn, commit) + assignSeqNumsForReqs(txn, &et) + resp, pErr = tc.SendWrappedWith(h, &et) + if pErr != nil { + t.Error(pErr) + } + reply := resp.(*roachpb.EndTransactionResponse) + expStatus := roachpb.COMMITTED + if !commit { + expStatus = roachpb.ABORTED + } + if reply.Txn.Status != expStatus { + t.Errorf("expected transaction status to be %s; got %s", expStatus, reply.Txn.Status) + } + if reply.Txn.LastHeartbeat != hBR.Txn.LastHeartbeat { + t.Errorf("expected heartbeats to remain equal: %+v != %+v", + reply.Txn.LastHeartbeat, hBR.Txn.LastHeartbeat) + } + key = key.Next() }) } @@ -4456,17 +4399,15 @@ func TestRPCRetryProtectionInTxn(t *testing.T) { key := roachpb.Key("a") txn := newTransaction("test", key, 1, tc.Clock()) - // Send a batch with begin txn, put & end txn. + // Send a batch with put & end txn. var ba roachpb.BatchRequest - bt, btH := beginTxnArgs(key, txn) put := putArgs(key, []byte("value")) et, _ := endTxnArgs(txn, true) et.IntentSpans = []roachpb.Span{{Key: key, EndKey: nil}} - ba.Header = btH - ba.Add(&bt) + ba.Header = roachpb.Header{Txn: txn} ba.Add(&put) ba.Add(&et) - assignSeqNumsForReqs(txn, &bt, &put, &et) + assignSeqNumsForReqs(txn, &put, &et) _, pErr := tc.Sender().Send(context.Background(), ba) if pErr != nil { t.Fatalf("unexpected error: %s", pErr) @@ -4475,7 +4416,7 @@ func TestRPCRetryProtectionInTxn(t *testing.T) { // Replay the request. It initially tries to execute as a 1PC transaction, // but will fail because of a WriteTooOldError that pushes the transaction. // This forces the txn to execute normally, at which point it fails because - // the BeginTxn is detected to be a duplicate. + // the EndTxn is detected to be a duplicate. _, pErr = tc.Sender().Send(context.Background(), ba) if pErr == nil { t.Fatalf("expected error, got nil") @@ -4550,14 +4491,12 @@ func TestBatchRetryCantCommitIntents(t *testing.T) { keyB := roachpb.Key("b") txn := newTransaction("test", key, 1, tc.Clock()) - // Send a batch with put to key. + // Send a put for keyA. var ba roachpb.BatchRequest - bt, btH := beginTxnArgs(key, txn) put := putArgs(key, []byte("value")) - ba.Header = btH - ba.Add(&bt) + ba.Header = roachpb.Header{Txn: txn} ba.Add(&put) - assignSeqNumsForReqs(txn, &bt, &put) + assignSeqNumsForReqs(txn, &put) if err := ba.SetActiveTimestamp(tc.Clock().Now); err != nil { t.Fatal(err) } @@ -4603,12 +4542,10 @@ func TestBatchRetryCantCommitIntents(t *testing.T) { t.Errorf("expected transaction record to be cleared (%t): %+v", ok, err) } - // Now replay begin & put. BeginTransaction should fail with a - // TransactionAbortedError. + // Now replay put for key A; by default this fails with a WriteTooOldError. _, pErr = tc.Sender().Send(context.Background(), ba) - expErr := "TransactionAbortedError(ABORT_REASON_ALREADY_COMMITTED_OR_ROLLED_BACK_POSSIBLE_REPLAY)" - if !testutils.IsPError(pErr, regexp.QuoteMeta(expErr)) { - t.Errorf("expected %s; got %v", expErr, pErr) + if _, ok := pErr.GetDetail().(*roachpb.WriteTooOldError); !ok { + t.Errorf("expected WriteTooOldError, got: %v", pErr) } // Intent should not have been created. @@ -4633,6 +4570,7 @@ func TestBatchRetryCantCommitIntents(t *testing.T) { // Heartbeat should fail with a TransactionAbortedError. _, pErr = tc.SendWrappedWith(hbH, &hb) + expErr := "TransactionAbortedError(ABORT_REASON_ALREADY_COMMITTED_OR_ROLLED_BACK_POSSIBLE_REPLAY)" if !testutils.IsPError(pErr, regexp.QuoteMeta(expErr)) { t.Errorf("expected %s; got %v", expErr, pErr) } @@ -4651,33 +4589,6 @@ func TestBatchRetryCantCommitIntents(t *testing.T) { } } -// Test that a duplicate BeginTransaction becomes a no-op, as such recognizing -// that it's likely the result of the batch being retried by DistSender or the -// request being evaluated after the first HeartbeatTxn. -func TestDuplicateBeginTransaction(t *testing.T) { - defer leaktest.AfterTest(t)() - tc := testContext{} - stopper := stop.NewStopper() - defer stopper.Stop(context.TODO()) - tc.Start(t, stopper) - - key := roachpb.Key("a") - txn := newTransaction("test", key, 1, tc.Clock()) - bt, btH := beginTxnArgs(key, txn) - var ba roachpb.BatchRequest - ba.Header = btH - ba.Add(&bt) - _, pErr := tc.Sender().Send(context.Background(), ba) - if pErr != nil { - t.Fatal(pErr) - } - // Send the batch again. - _, pErr = tc.Sender().Send(context.Background(), ba) - if pErr != nil { - t.Fatal(pErr) - } -} - // TestEndTransactionGC verifies that a transaction record is immediately // garbage-collected upon EndTransaction iff all of the supplied intents are // local relative to the transaction record's location. @@ -4949,14 +4860,14 @@ func TestEndTransactionDirectGC_1PC(t *testing.T) { key := roachpb.Key("a") txn := newTransaction("test", key, 1, tc.Clock()) - bt, _ := beginTxnArgs(key, txn) put := putArgs(key, []byte("value")) et, etH := endTxnArgs(txn, commit) et.IntentSpans = []roachpb.Span{{Key: key}} + assignSeqNumsForReqs(txn, &put, &et) var ba roachpb.BatchRequest ba.Header = etH - ba.Add(&bt, &put, &et) + ba.Add(&put, &et) br, err := tc.Sender().Send(context.Background(), ba) if err != nil { t.Fatalf("commit=%t: %+v", commit, err) @@ -5031,13 +4942,12 @@ func TestReplicaTransactionRequires1PC(t *testing.T) { // Create the 1PC batch. var ba roachpb.BatchRequest txn := newTransaction("test", key, 1, tc.Clock()) - bt, _ := beginTxnArgs(key, txn) put := putArgs(key, []byte("value")) et, etH := endTxnArgs(txn, true) et.Require1PC = true ba.Header = etH - ba.Add(&bt, &put, &et) - assignSeqNumsForReqs(txn, &bt, &put, &et) + ba.Add(&put, &et) + assignSeqNumsForReqs(txn, &put, &et) // Run the setup method. test.setupFn(key) @@ -5070,14 +4980,13 @@ func TestReplicaEndTransactionWithRequire1PC(t *testing.T) { key := roachpb.Key("a") txn := newTransaction("test", key, 1, tc.Clock()) - bt, btH := beginTxnArgs(key, txn) - put := putArgs(key, []byte("value")) var ba roachpb.BatchRequest - ba.Header = btH - ba.Add(&bt, &put) - assignSeqNumsForReqs(txn, &bt, &put) + ba.Header = roachpb.Header{Txn: txn} + put := putArgs(key, []byte("value")) + ba.Add(&put) + assignSeqNumsForReqs(txn, &put) if _, pErr := tc.Sender().Send(context.Background(), ba); pErr != nil { - t.Fatalf("unexpected error beginning txn: %s", pErr) + t.Fatalf("unexpected error: %s", pErr) } et, etH := endTxnArgs(txn, true) @@ -5848,12 +5757,13 @@ func TestPushTxnPushTimestampAlreadyPushed(t *testing.T) { // but before the txn can be retried, it's pushed to t=2, an even // higher timestamp. The test verifies that the serializable commit // fails yet again, preventing regression of a bug in which we blindly -// overwrote the transaction record on BeginTransaction.. +// overwrote the transaction record on the second epoch. func TestPushTxnSerializableRestart(t *testing.T) { defer leaktest.AfterTest(t)() + ctx := context.Background() tc := testContext{} stopper := stop.NewStopper() - defer stopper.Stop(context.TODO()) + defer stopper.Stop(ctx) tc.Start(t, stopper) key := roachpb.Key("a") @@ -5868,11 +5778,10 @@ func TestPushTxnSerializableRestart(t *testing.T) { t.Fatal(pErr) } - // Begin the pushee's transaction & write to key. - btArgs, btH := beginTxnArgs(key, pushee) + // Write to a key. put := putArgs(key, []byte("foo")) assignSeqNumsForReqs(pushee, &put) - resp, pErr := client.SendWrappedWith(context.Background(), tc.Sender(), btH, &put) + resp, pErr := client.SendWrappedWith(ctx, tc.Sender(), roachpb.Header{Txn: pushee}, &put) if pErr != nil { t.Fatal(pErr) } @@ -5898,17 +5807,16 @@ func TestPushTxnSerializableRestart(t *testing.T) { // Try to end pushed transaction at restart timestamp, which is // earlier than its now-pushed timestamp. Should fail. var ba roachpb.BatchRequest - ba.Add(&btArgs) ba.Add(&put) ba.Add(&etArgs) ba.Header.Txn = pushee - assignSeqNumsForReqs(pushee, &btArgs, &put, &etArgs) - _, pErr = tc.Sender().Send(context.Background(), ba) + assignSeqNumsForReqs(pushee, &put, &etArgs) + _, pErr = tc.Sender().Send(ctx, ba) if _, ok := pErr.GetDetail().(*roachpb.TransactionRetryError); !ok { t.Fatalf("expected retry error; got %s", pErr) } // Verify that the returned transaction has timestamp equal to the - // pushed timestamp. This verifies that the BeginTransaction found + // pushed timestamp. This verifies that the EndTransaction found // the pushed record and propagated it. if txn := pErr.GetTxn(); txn.WriteTimestamp != pusher.WriteTimestamp.Next() { t.Errorf("expected retry error txn timestamp %s; got %s", pusher.WriteTimestamp, txn.WriteTimestamp) @@ -8339,14 +8247,12 @@ func TestFailureToProcessCommandClearsLocalResult(t *testing.T) { key := roachpb.Key("a") txn := newTransaction("test", key, 1, tc.Clock()) - bt, btH := beginTxnArgs(key, txn) - assignSeqNumsForReqs(txn, &bt) - put := putArgs(key, []byte("value")) - assignSeqNumsForReqs(txn, &put) var ba roachpb.BatchRequest - ba.Header = btH - ba.Add(&bt, &put) + ba.Header = roachpb.Header{Txn: txn} + put := putArgs(key, []byte("value")) + assignSeqNumsForReqs(txn, &put) + ba.Add(&put) if _, err := tc.Sender().Send(ctx, ba); err != nil { t.Fatal(err) } @@ -8909,8 +8815,9 @@ func TestNoopRequestsNotProposed(t *testing.T) { deleteReq := &roachpb.DeleteRequest{ RequestHeader: rh, } - beginTxnReq := &roachpb.BeginTransactionRequest{ + hbTxnReq := &roachpb.HeartbeatTxnRequest{ RequestHeader: rh, + Now: cfg.Clock.Now(), } pushTxnReq := &roachpb.PushTxnRequest{ RequestHeader: roachpb.RequestHeader{ @@ -8993,7 +8900,7 @@ func TestNoopRequestsNotProposed(t *testing.T) { { name: "push txn req", setup: func(ctx context.Context, repl *Replica) *roachpb.Error { - return sendReq(ctx, repl, beginTxnReq, txn) + return sendReq(ctx, repl, hbTxnReq, txn) }, req: pushTxnReq, expProposal: true, @@ -9001,7 +8908,7 @@ func TestNoopRequestsNotProposed(t *testing.T) { { name: "redundant push txn req", setup: func(ctx context.Context, repl *Replica) *roachpb.Error { - if pErr := sendReq(ctx, repl, beginTxnReq, txn); pErr != nil { + if pErr := sendReq(ctx, repl, hbTxnReq, txn); pErr != nil { return pErr } return sendReq(ctx, repl, pushTxnReq, nil /* txn */) @@ -9153,16 +9060,6 @@ func TestErrorInRaftApplicationClearsIntents(t *testing.T) { t.Fatal(err) } - txn := newTransaction("test", key, roachpb.NormalUserPriority, s.Clock()) - btArgs, _ := beginTxnArgs(key, txn) - var ba roachpb.BatchRequest - ba.Header.Txn = txn - ba.Add(&btArgs) - assignSeqNumsForReqs(txn, &btArgs) - if _, pErr := s.DB().GetFactory().NonTransactionalSender().Send(context.TODO(), ba); pErr != nil { - t.Fatal(pErr.GoError()) - } - // Fail future command applications. atomic.StoreInt32(&filterActive, 1) @@ -9172,14 +9069,14 @@ func TestErrorInRaftApplicationClearsIntents(t *testing.T) { // We do this by using replica.propose() directly, as opposed to going through // the DistSender, because we want to inspect the proposal's result after the // injected error. - txnCpy := *txn - etArgs, _ := endTxnArgs(&txnCpy, true /* commit */) + txn := newTransaction("test", key, roachpb.NormalUserPriority, s.Clock()) + etArgs, _ := endTxnArgs(txn, true /* commit */) etArgs.IntentSpans = []roachpb.Span{{Key: roachpb.Key("bb")}} - ba = roachpb.BatchRequest{} + var ba roachpb.BatchRequest ba.Timestamp = s.Clock().Now() - ba.Header.Txn = &txnCpy + ba.Header.Txn = txn ba.Add(&etArgs) - assignSeqNumsForReqs(&txnCpy, &etArgs) + assignSeqNumsForReqs(txn, &etArgs) // Get a reference to the txn's replica. stores := s.GetStores().(*Stores) store, err := stores.GetStore(s.GetFirstStoreID()) @@ -9898,11 +9795,10 @@ func TestReplicaLocalRetries(t *testing.T) { }, batchFn: func(ts hlc.Timestamp) (ba roachpb.BatchRequest, expTS hlc.Timestamp) { ba.Txn = newTxn("d", ts.Prev()) - bt, _ := beginTxnArgs(ba.Txn.Key, ba.Txn) cput := cPutArgs(ba.Txn.Key, []byte("cput"), []byte("put")) et, _ := endTxnArgs(ba.Txn, true /* commit */) - ba.Add(&bt, &cput, &et) - assignSeqNumsForReqs(ba.Txn, &bt, &cput, &et) + ba.Add(&cput, &et) + assignSeqNumsForReqs(ba.Txn, &cput, &et) return }, expErr: "RETRY_WRITE_TOO_OLD", @@ -9917,12 +9813,11 @@ func TestReplicaLocalRetries(t *testing.T) { batchFn: func(ts hlc.Timestamp) (ba roachpb.BatchRequest, expTS hlc.Timestamp) { ba.Txn = newTxn("e", ts.Prev()) expTS = ts.Next() - bt, _ := beginTxnArgs(ba.Txn.Key, ba.Txn) cput := cPutArgs(ba.Txn.Key, []byte("cput"), []byte("put")) et, _ := endTxnArgs(ba.Txn, true /* commit */) et.NoRefreshSpans = true // necessary to indicate local retry is possible - ba.Add(&bt, &cput, &et) - assignSeqNumsForReqs(ba.Txn, &bt, &cput, &et) + ba.Add(&cput, &et) + assignSeqNumsForReqs(ba.Txn, &cput, &et) return }, }, @@ -9963,9 +9858,6 @@ func TestReplicaLocalRetries(t *testing.T) { batchFn: func(ts hlc.Timestamp) (ba roachpb.BatchRequest, expTS hlc.Timestamp) { ba.Txn = newTxn("g1", ts.Prev()) expTS = ts.Next() - bt, _ := beginTxnArgs(ba.Txn.Key, ba.Txn) - ba.Add(&bt) - assignSeqNumsForReqs(ba.Txn, &bt) for i := 1; i <= 3; i++ { cput := cPutArgs(roachpb.Key(fmt.Sprintf("g%d", i)), []byte("cput"), []byte("put")) ba.Add(&cput) @@ -9989,11 +9881,11 @@ func TestReplicaLocalRetries(t *testing.T) { }, batchFn: func(ts hlc.Timestamp) (ba roachpb.BatchRequest, expTS hlc.Timestamp) { txn := newTxn("h", ts.Prev()) - // Send begin transaction first. + // Send write to another key first to avoid 1PC. ba.Txn = txn - bt, _ := beginTxnArgs(ba.Txn.Key, ba.Txn) - ba.Add(&bt) - assignSeqNumsForReqs(ba.Txn, &bt) + put := putArgs([]byte("h2"), []byte("otherput")) + ba.Add(&put) + assignSeqNumsForReqs(ba.Txn, &put) if _, err := send(ba); err != nil { panic(err) } @@ -10020,13 +9912,12 @@ func TestReplicaLocalRetries(t *testing.T) { batchFn: func(ts hlc.Timestamp) (ba roachpb.BatchRequest, expTS hlc.Timestamp) { ba.Txn = newTxn("a", ts.Prev()) expTS = ts.Next() - bt, _ := beginTxnArgs(ba.Txn.Key, ba.Txn) cput := putArgs(ba.Txn.Key, []byte("put")) et, _ := endTxnArgs(ba.Txn, true /* commit */) et.Require1PC = true // don't allow this to bypass the 1PC optimization et.NoRefreshSpans = true // necessary to indicate local retry is possible - ba.Add(&bt, &cput, &et) - assignSeqNumsForReqs(ba.Txn, &bt, &cput, &et) + ba.Add(&cput, &et) + assignSeqNumsForReqs(ba.Txn, &cput, &et) return }, }, @@ -10038,11 +9929,11 @@ func TestReplicaLocalRetries(t *testing.T) { }, batchFn: func(ts hlc.Timestamp) (ba roachpb.BatchRequest, expTS hlc.Timestamp) { txn := newTxn("i", ts.Prev()) - // Send begin transaction first. + // Send write to another key first to avoid 1PC. ba.Txn = txn - bt, _ := beginTxnArgs(ba.Txn.Key, ba.Txn) - ba.Add(&bt) - assignSeqNumsForReqs(ba.Txn, &bt) + put1 := putArgs([]byte("i2"), []byte("otherput")) + ba.Add(&put1) + assignSeqNumsForReqs(ba.Txn, &put1) if _, err := send(ba); err != nil { panic(err) } @@ -10050,12 +9941,12 @@ func TestReplicaLocalRetries(t *testing.T) { expTS = ts.Next() ba = roachpb.BatchRequest{} ba.Txn = txn - put := putArgs(ba.Txn.Key, []byte("newput")) - ba.Add(&put) + put2 := putArgs(ba.Txn.Key, []byte("newput")) + ba.Add(&put2) et, _ := endTxnArgs(ba.Txn, true /* commit */) et.NoRefreshSpans = true // necessary to indicate local retry is possible ba.Add(&et) - assignSeqNumsForReqs(ba.Txn, &put, &et) + assignSeqNumsForReqs(ba.Txn, &put2, &et) return }, }, @@ -10130,12 +10021,11 @@ func TestReplicaPushed1PC(t *testing.T) { // more detailed metrics we could assert that the 1PC path was // not even attempted here. var ba roachpb.BatchRequest - bt, h := beginTxnArgs(txn.Key, &txn) - ba.Header = h + ba.Header = roachpb.Header{Txn: &txn} put := putArgs(k, []byte("two")) et, _ := endTxnArgs(&txn, true) - ba.Add(&bt, &put, &et) - assignSeqNumsForReqs(&txn, &bt, &put, &et) + ba.Add(&put, &et) + assignSeqNumsForReqs(&txn, &put, &et) if br, pErr := tc.Sender().Send(ctx, ba); pErr == nil { t.Errorf("did not get expected error. resp=%s", br) } else if trErr, ok := pErr.GetDetail().(*roachpb.TransactionRetryError); !ok { @@ -10319,14 +10209,6 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { expError string // regexp pattern to match on run error, if not empty disableTxnAutoGC bool // disables auto txn record GC }{ - { - name: "begin transaction", - run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) - }, - expTxn: txnWithoutChanges, - }, { name: "heartbeat transaction", run: func(txn *roachpb.Transaction, now hlc.Timestamp) error { @@ -10428,59 +10310,49 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { expTxn: noTxnRecord, }, { - name: "begin transaction after begin transaction", - setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) - }, - run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) - }, - // The second begin transaction request should be treated as a no-op. - expError: "", - expTxn: txnWithoutChanges, - }, - { - name: "begin transaction with epoch bump after begin transaction", + name: "heartbeat transaction after heartbeat transaction", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, txn.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, now hlc.Timestamp) error { - clone := txn.Clone() - clone.Restart(-1, 0, now) - bt, btH := beginTxnArgs(clone.Key, clone) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, now.Add(0, 5)) + return sendWrappedWithErr(hbH, &hb) }, - expTxn: func(txn *roachpb.Transaction, now hlc.Timestamp) roachpb.TransactionRecord { + expTxn: func(txn *roachpb.Transaction, hbTs hlc.Timestamp) roachpb.TransactionRecord { record := txn.AsRecord() - record.Epoch = txn.Epoch + 1 - record.WriteTimestamp.Forward(now) + record.LastHeartbeat.Forward(hbTs.Add(0, 5)) return record }, }, { - name: "heartbeat transaction after begin transaction", + name: "heartbeat transaction with epoch bump after heartbeat transaction", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, txn.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, now hlc.Timestamp) error { - hb, hbH := heartbeatArgs(txn, now) + clone := txn.Clone() + clone.Restart(-1, 0, now) + hb, hbH := heartbeatArgs(clone, now.Add(0, 5)) return sendWrappedWithErr(hbH, &hb) }, expTxn: func(txn *roachpb.Transaction, hbTs hlc.Timestamp) roachpb.TransactionRecord { record := txn.AsRecord() - record.LastHeartbeat.Forward(hbTs) + // NOTE: the HeartbeatTxnRequest with the larger epoch does not + // update any fields other than LastHeartbeat. This is fine, + // although it's arguably not optimal. + // record.Epoch = txn.Epoch + 1 + // record.WriteTimestamp.Forward(hbTs) + record.LastHeartbeat.Forward(hbTs.Add(0, 5)) return record }, }, { - name: "end transaction (stage) after begin transaction", + name: "end transaction (stage) after heartbeat transaction", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, txn.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { et, etH := endTxnArgs(txn, true /* commit */) @@ -10490,10 +10362,10 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { expTxn: txnWithStagingStatusAndInFlightWrites, }, { - name: "end transaction (abort) after begin transaction", + name: "end transaction (abort) after heartbeat transaction", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, txn.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { et, etH := endTxnArgs(txn, false /* commit */) @@ -10503,10 +10375,10 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { expTxn: noTxnRecord, }, { - name: "end transaction (commit) after begin transaction", + name: "end transaction (commit) after heartbeat transaction", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, txn.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { et, etH := endTxnArgs(txn, true /* commit */) @@ -10516,10 +10388,10 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { expTxn: noTxnRecord, }, { - name: "end transaction (abort) without eager gc after begin transaction", + name: "end transaction (abort) without eager gc after heartbeat transaction", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, txn.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { et, etH := endTxnArgs(txn, false /* commit */) @@ -10529,10 +10401,10 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { disableTxnAutoGC: true, }, { - name: "end transaction (commit) without eager gc after begin transaction", + name: "end transaction (commit) without eager gc after heartbeat transaction", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, txn.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { et, etH := endTxnArgs(txn, true /* commit */) @@ -10542,10 +10414,10 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { disableTxnAutoGC: true, }, { - name: "push transaction (timestamp) after begin transaction", + name: "push transaction (timestamp) after heartbeat transaction", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, txn.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, now hlc.Timestamp) error { pt := pushTxnArgs(pusher, txn, roachpb.PUSH_TIMESTAMP) @@ -10560,10 +10432,10 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { }, }, { - name: "push transaction (abort) after begin transaction", + name: "push transaction (abort) after heartbeat transaction", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, txn.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { pt := pushTxnArgs(pusher, txn, roachpb.PUSH_ABORT) @@ -10575,54 +10447,6 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { return record }, }, - { - name: "begin transaction after heartbeat transaction", - setup: func(txn *roachpb.Transaction, now hlc.Timestamp) error { - hb, hbH := heartbeatArgs(txn, now) - return sendWrappedWithErr(hbH, &hb) - }, - run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) - }, - // The begin transaction request should be treated as a no-op. - expError: "", - expTxn: func(txn *roachpb.Transaction, hbTs hlc.Timestamp) roachpb.TransactionRecord { - record := txn.AsRecord() - record.LastHeartbeat.Forward(hbTs) - return record - }, - }, - { - name: "heartbeat transaction after heartbeat transaction", - setup: func(txn *roachpb.Transaction, now hlc.Timestamp) error { - hb, hbH := heartbeatArgs(txn, now) - return sendWrappedWithErr(hbH, &hb) - }, - run: func(txn *roachpb.Transaction, now hlc.Timestamp) error { - hb, hbH := heartbeatArgs(txn, now.Add(0, 5)) - return sendWrappedWithErr(hbH, &hb) - }, - expTxn: func(txn *roachpb.Transaction, hbTs hlc.Timestamp) roachpb.TransactionRecord { - record := txn.AsRecord() - record.LastHeartbeat.Forward(hbTs.Add(0, 5)) - return record - }, - }, - { - name: "begin transaction after end transaction (stage)", - setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - et, etH := endTxnArgs(txn, true /* commit */) - et.InFlightWrites = inFlightWrites - return sendWrappedWithErr(etH, &et) - }, - run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) - }, - expError: "TransactionStatusError: BeginTransaction can't overwrite", - expTxn: txnWithStagingStatusAndInFlightWrites, - }, { // Staging transaction records can still be heartbeat. name: "heartbeat transaction after end transaction (stage)", @@ -10900,19 +10724,6 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { return record }, }, - { - name: "begin transaction after end transaction (abort)", - setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - et, etH := endTxnArgs(txn, false /* commit */) - return sendWrappedWithErr(etH, &et) - }, - run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) - }, - expError: "TransactionAbortedError(ABORT_REASON_ALREADY_COMMITTED_OR_ROLLED_BACK_POSSIBLE_REPLAY)", - expTxn: noTxnRecord, - }, { name: "heartbeat transaction after end transaction (abort)", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { @@ -11013,19 +10824,6 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { }, expTxn: noTxnRecord, }, - { - name: "begin transaction after end transaction (commit)", - setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - et, etH := endTxnArgs(txn, true /* commit */) - return sendWrappedWithErr(etH, &et) - }, - run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) - }, - expError: "TransactionAbortedError(ABORT_REASON_ALREADY_COMMITTED_OR_ROLLED_BACK_POSSIBLE_REPLAY)", - expTxn: noTxnRecord, - }, { name: "heartbeat transaction after end transaction (commit)", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { @@ -11107,20 +10905,6 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { }, expTxn: noTxnRecord, }, - { - name: "begin transaction after end transaction (abort) without eager gc", - setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - et, etH := endTxnArgs(txn, false /* commit */) - return sendWrappedWithErr(etH, &et) - }, - run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) - }, - expError: "TransactionAbortedError(ABORT_REASON_ABORTED_RECORD_FOUND)", - expTxn: txnWithStatus(roachpb.ABORTED), - disableTxnAutoGC: true, - }, { name: "heartbeat transaction after end transaction (abort) without eager gc", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { @@ -11211,20 +10995,6 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { expTxn: txnWithStatus(roachpb.ABORTED), disableTxnAutoGC: true, }, - { - name: "begin transaction after end transaction (commit) without eager gc", - setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - et, etH := endTxnArgs(txn, true /* commit */) - return sendWrappedWithErr(etH, &et) - }, - run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) - }, - expError: "TransactionStatusError: BeginTransaction can't overwrite", - expTxn: txnWithStatus(roachpb.COMMITTED), - disableTxnAutoGC: true, - }, { name: "heartbeat transaction after end transaction (commit) without eager gc", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { @@ -11316,23 +11086,6 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { expTxn: txnWithStatus(roachpb.COMMITTED), disableTxnAutoGC: true, }, - { - name: "begin transaction after push transaction (timestamp)", - setup: func(txn *roachpb.Transaction, now hlc.Timestamp) error { - pt := pushTxnArgs(pusher, txn, roachpb.PUSH_TIMESTAMP) - pt.PushTo = now - return sendWrappedWithErr(roachpb.Header{}, &pt) - }, - run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) - }, - expTxn: func(txn *roachpb.Transaction, now hlc.Timestamp) roachpb.TransactionRecord { - record := txn.AsRecord() - record.WriteTimestamp.Forward(now) - return record - }, - }, { name: "heartbeat transaction after push transaction (timestamp)", setup: func(txn *roachpb.Transaction, now hlc.Timestamp) error { @@ -11399,19 +11152,6 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { // if it hits a serializable retry error. expTxn: noTxnRecord, }, - { - name: "begin transaction after push transaction (abort)", - setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - pt := pushTxnArgs(pusher, txn, roachpb.PUSH_ABORT) - return sendWrappedWithErr(roachpb.Header{}, &pt) - }, - run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) - }, - expError: "TransactionAbortedError(ABORT_REASON_ABORTED_RECORD_FOUND)", - expTxn: noTxnRecord, - }, { name: "heartbeat transaction after push transaction (abort)", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { @@ -11487,10 +11227,10 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { }, { // Should not be possible. - name: "recover transaction (implicitly committed) after begin transaction", + name: "recover transaction (implicitly committed) after heartbeat transaction", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, txn.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { rt := recoverTxnArgs(txn, true /* implicitlyCommitted */) @@ -11624,10 +11364,10 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { }, { // Should not be possible. - name: "recover transaction (not implicitly committed) after begin transaction", + name: "recover transaction (not implicitly committed) after heartbeat transaction", setup: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { - bt, btH := beginTxnArgs(txn.Key, txn) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(txn, txn.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { rt := recoverTxnArgs(txn, false /* implicitlyCommitted */) @@ -11639,12 +11379,12 @@ func TestTxnRecordLifecycleTransitions(t *testing.T) { { // Transaction coordinator restarted after failing to perform a // implicit commit. Common case. - name: "recover transaction (not implicitly committed) after begin transaction with epoch bump", + name: "recover transaction (not implicitly committed) after heartbeat transaction with epoch bump", setup: func(txn *roachpb.Transaction, now hlc.Timestamp) error { clone := txn.Clone() clone.Restart(-1, 0, now) - bt, btH := beginTxnArgs(clone.Key, clone) - return sendWrappedWithErr(btH, &bt) + hb, hbH := heartbeatArgs(clone, clone.MinTimestamp) + return sendWrappedWithErr(hbH, &hb) }, run: func(txn *roachpb.Transaction, _ hlc.Timestamp) error { rt := recoverTxnArgs(txn, false /* implicitlyCommitted */) @@ -11877,14 +11617,15 @@ func TestRollbackMissingTxnRecordNoError(t *testing.T) { } // For good measure, let's take the opportunity to check replay protection for - // a BeginTransaction arriving after the rollback. + // a HeartbeatTxn arriving after the rollback. _, pErr = client.SendWrappedWith(ctx, tc.Sender(), roachpb.Header{ RangeID: tc.repl.RangeID, Txn: txn, - }, &roachpb.BeginTransactionRequest{ + }, &roachpb.HeartbeatTxnRequest{ RequestHeader: roachpb.RequestHeader{ Key: key, }, + Now: tc.Clock().Now(), }) // Note that, as explained in the abort reason comments, the server generates // a retryable TransactionAbortedError, but if there's actually a sort of diff --git a/pkg/storage/replica_tscache.go b/pkg/storage/replica_tscache.go index d36c510f2b29..deaa94f45477 100644 --- a/pkg/storage/replica_tscache.go +++ b/pkg/storage/replica_tscache.go @@ -355,7 +355,7 @@ func (r *Replica) applyTimestampCache( // PushTxn(TIMESTAMP) HeartbeatTxn // then: v1 -> push.ts then: update record // +------+ +------+ -// PushTxn(ABORT) | | BeginTxn or HeartbeatTxn | | PushTxn(TIMESTAMP) +// PushTxn(ABORT) | | HeartbeatTxn | | PushTxn(TIMESTAMP) // then: v2 -> txn.ts | v if: v2 < txn.orig | v then: update record // +-----------------+ then: txn.ts -> v1 +--------------------+ // +----| | else: fail | |----+ diff --git a/pkg/storage/replica_write.go b/pkg/storage/replica_write.go index e1c713a1d2c0..48c76b06d0a9 100644 --- a/pkg/storage/replica_write.go +++ b/pkg/storage/replica_write.go @@ -246,7 +246,7 @@ and the following Raft status: %+v`, // evaluateWriteBatch evaluates the supplied batch. // // If the batch is transactional and has all the hallmarks of a 1PC -// commit (i.e. includes BeginTransaction & EndTransaction, and +// commit (i.e. includes all intent writes & EndTransaction, and // there's nothing to suggest that the transaction will require retry // or restart), the batch's txn is stripped and it's executed as an // atomic batch write. If the writes cannot all be completed at the @@ -260,7 +260,6 @@ func (r *Replica) evaluateWriteBatch( // If not transactional or there are indications that the batch's txn will // require restart or retry, execute as normal. if isOnePhaseCommit(ba) { - _, hasBegin := ba.GetArg(roachpb.BeginTransaction) arg, _ := ba.GetArg(roachpb.EndTransaction) etArg := arg.(*roachpb.EndTransactionRequest) @@ -269,11 +268,7 @@ func (r *Replica) evaluateWriteBatch( strippedBa := *ba strippedBa.Timestamp = strippedBa.Txn.WriteTimestamp strippedBa.Txn = nil - if hasBegin { - strippedBa.Requests = ba.Requests[1 : len(ba.Requests)-1] // strip begin/end txn reqs - } else { - strippedBa.Requests = ba.Requests[:len(ba.Requests)-1] // strip end txn req - } + strippedBa.Requests = ba.Requests[:len(ba.Requests)-1] // strip end txn req // Is the transaction allowed to retry locally in the event of // write too old errors? This is only allowed if it is able to @@ -311,18 +306,9 @@ func (r *Replica) evaluateWriteBatch( } } + // Add placeholder responses for end transaction requests. + br.Add(&roachpb.EndTransactionResponse{OnePhaseCommit: true}) br.Txn = clonedTxn - // Add placeholder responses for begin & end transaction requests. - var resps []roachpb.ResponseUnion - if hasBegin { - resps = make([]roachpb.ResponseUnion, len(br.Responses)+2) - resps[0].MustSetInner(&roachpb.BeginTransactionResponse{}) - copy(resps[1:], br.Responses) - } else { - resps = append(br.Responses, roachpb.ResponseUnion{}) - } - resps[len(resps)-1].MustSetInner(&roachpb.EndTransactionResponse{OnePhaseCommit: true}) - br.Responses = resps return batch, ms, br, res, nil } diff --git a/pkg/storage/txnwait/queue.go b/pkg/storage/txnwait/queue.go index cc09225ba6d3..82bcf831c381 100644 --- a/pkg/storage/txnwait/queue.go +++ b/pkg/storage/txnwait/queue.go @@ -796,8 +796,8 @@ func (q *Queue) startQueryPusherTxn( errCh <- pErr return } else if updatedPusher == nil { - // No pusher to query; the BeginTransaction hasn't yet created the - // pusher's record. Continue in order to backoff and retry. + // No pusher to query; the pusher's record hasn't yet been + // created. Continue in order to backoff and retry. // TODO(nvanbenschoten): we shouldn't hit this case in a 2.2 // cluster now that QueryTxn requests synthesize // transactions from their provided TxnMeta. However, we @@ -893,8 +893,8 @@ func (q *Queue) queryTxnStatus( } br := b.RawResponse() resp := br.Responses[0].GetInner().(*roachpb.QueryTxnResponse) - // ID can be nil if no BeginTransaction has been sent yet and we're talking - // to a 2.1 node. + // ID can be nil if no HeartbeatTxn has been sent yet and we're talking to a + // 2.1 node. // TODO(nvanbenschoten): Remove this in 2.3. if updatedTxn := &resp.QueriedTxn; updatedTxn.ID != (uuid.UUID{}) { return updatedTxn, resp.WaitingTxns, nil