зеркало из https://github.com/github/vitess-gh.git
2pc: export ResolveTransaction in grpc
This commit is contained in:
Родитель
ba41641552
Коммит
ed1f2c53d8
|
@ -83,6 +83,10 @@ func (c fallbackClient) Rollback(ctx context.Context, session *vtgatepb.Session)
|
|||
return c.fallback.Rollback(ctx, session)
|
||||
}
|
||||
|
||||
func (c fallbackClient) ResolveTransaction(ctx context.Context, dtid string) error {
|
||||
return c.fallback.ResolveTransaction(ctx, dtid)
|
||||
}
|
||||
|
||||
func (c fallbackClient) SplitQuery(
|
||||
ctx context.Context,
|
||||
keyspace string,
|
||||
|
|
|
@ -88,6 +88,10 @@ func (c *terminalClient) Rollback(ctx context.Context, session *vtgatepb.Session
|
|||
return errTerminal
|
||||
}
|
||||
|
||||
func (c *terminalClient) ResolveTransaction(ctx context.Context, dtid string) error {
|
||||
return errTerminal
|
||||
}
|
||||
|
||||
func (c *terminalClient) SplitQuery(
|
||||
ctx context.Context,
|
||||
keyspace string,
|
||||
|
|
|
@ -40,6 +40,8 @@ It has these top-level messages:
|
|||
CommitResponse
|
||||
RollbackRequest
|
||||
RollbackResponse
|
||||
ResolveTransactionRequest
|
||||
ResolveTransactionResponse
|
||||
SplitQueryRequest
|
||||
SplitQueryResponse
|
||||
GetSrvKeyspaceRequest
|
||||
|
@ -1211,6 +1213,36 @@ func (m *RollbackResponse) String() string { return proto.CompactText
|
|||
func (*RollbackResponse) ProtoMessage() {}
|
||||
func (*RollbackResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
|
||||
|
||||
// ResolveTransactionRequest is the payload to ResolveTransaction.
|
||||
type ResolveTransactionRequest struct {
|
||||
// caller_id identifies the caller. This is the effective caller ID,
|
||||
// set by the application to further identify the caller.
|
||||
CallerId *vtrpc.CallerID `protobuf:"bytes,1,opt,name=caller_id,json=callerId" json:"caller_id,omitempty"`
|
||||
// dtid is the dtid of the transaction to be resolved.
|
||||
Dtid string `protobuf:"bytes,2,opt,name=dtid" json:"dtid,omitempty"`
|
||||
}
|
||||
|
||||
func (m *ResolveTransactionRequest) Reset() { *m = ResolveTransactionRequest{} }
|
||||
func (m *ResolveTransactionRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*ResolveTransactionRequest) ProtoMessage() {}
|
||||
func (*ResolveTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
|
||||
|
||||
func (m *ResolveTransactionRequest) GetCallerId() *vtrpc.CallerID {
|
||||
if m != nil {
|
||||
return m.CallerId
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// ResolveTransactionResponse is the returned value from Rollback.
|
||||
type ResolveTransactionResponse struct {
|
||||
}
|
||||
|
||||
func (m *ResolveTransactionResponse) Reset() { *m = ResolveTransactionResponse{} }
|
||||
func (m *ResolveTransactionResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*ResolveTransactionResponse) ProtoMessage() {}
|
||||
func (*ResolveTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
|
||||
|
||||
// SplitQueryRequest is the payload to SplitQuery.
|
||||
//
|
||||
// SplitQuery takes a "SELECT" query and generates a list of queries called
|
||||
|
@ -1305,7 +1337,7 @@ type SplitQueryRequest struct {
|
|||
func (m *SplitQueryRequest) Reset() { *m = SplitQueryRequest{} }
|
||||
func (m *SplitQueryRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*SplitQueryRequest) ProtoMessage() {}
|
||||
func (*SplitQueryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
|
||||
func (*SplitQueryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
|
||||
|
||||
func (m *SplitQueryRequest) GetCallerId() *vtrpc.CallerID {
|
||||
if m != nil {
|
||||
|
@ -1330,7 +1362,7 @@ type SplitQueryResponse struct {
|
|||
func (m *SplitQueryResponse) Reset() { *m = SplitQueryResponse{} }
|
||||
func (m *SplitQueryResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*SplitQueryResponse) ProtoMessage() {}
|
||||
func (*SplitQueryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
|
||||
func (*SplitQueryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
|
||||
|
||||
func (m *SplitQueryResponse) GetSplits() []*SplitQueryResponse_Part {
|
||||
if m != nil {
|
||||
|
@ -1350,7 +1382,7 @@ func (m *SplitQueryResponse_KeyRangePart) Reset() { *m = SplitQueryRespo
|
|||
func (m *SplitQueryResponse_KeyRangePart) String() string { return proto.CompactTextString(m) }
|
||||
func (*SplitQueryResponse_KeyRangePart) ProtoMessage() {}
|
||||
func (*SplitQueryResponse_KeyRangePart) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor0, []int{32, 0}
|
||||
return fileDescriptor0, []int{34, 0}
|
||||
}
|
||||
|
||||
func (m *SplitQueryResponse_KeyRangePart) GetKeyRanges() []*topodata.KeyRange {
|
||||
|
@ -1371,7 +1403,7 @@ func (m *SplitQueryResponse_ShardPart) Reset() { *m = SplitQueryResponse
|
|||
func (m *SplitQueryResponse_ShardPart) String() string { return proto.CompactTextString(m) }
|
||||
func (*SplitQueryResponse_ShardPart) ProtoMessage() {}
|
||||
func (*SplitQueryResponse_ShardPart) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor0, []int{32, 1}
|
||||
return fileDescriptor0, []int{34, 1}
|
||||
}
|
||||
|
||||
type SplitQueryResponse_Part struct {
|
||||
|
@ -1389,7 +1421,7 @@ type SplitQueryResponse_Part struct {
|
|||
func (m *SplitQueryResponse_Part) Reset() { *m = SplitQueryResponse_Part{} }
|
||||
func (m *SplitQueryResponse_Part) String() string { return proto.CompactTextString(m) }
|
||||
func (*SplitQueryResponse_Part) ProtoMessage() {}
|
||||
func (*SplitQueryResponse_Part) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32, 2} }
|
||||
func (*SplitQueryResponse_Part) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34, 2} }
|
||||
|
||||
func (m *SplitQueryResponse_Part) GetQuery() *query.BoundQuery {
|
||||
if m != nil {
|
||||
|
@ -1421,7 +1453,7 @@ type GetSrvKeyspaceRequest struct {
|
|||
func (m *GetSrvKeyspaceRequest) Reset() { *m = GetSrvKeyspaceRequest{} }
|
||||
func (m *GetSrvKeyspaceRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetSrvKeyspaceRequest) ProtoMessage() {}
|
||||
func (*GetSrvKeyspaceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
|
||||
func (*GetSrvKeyspaceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
|
||||
|
||||
// GetSrvKeyspaceResponse is the returned value from GetSrvKeyspace.
|
||||
type GetSrvKeyspaceResponse struct {
|
||||
|
@ -1432,7 +1464,7 @@ type GetSrvKeyspaceResponse struct {
|
|||
func (m *GetSrvKeyspaceResponse) Reset() { *m = GetSrvKeyspaceResponse{} }
|
||||
func (m *GetSrvKeyspaceResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetSrvKeyspaceResponse) ProtoMessage() {}
|
||||
func (*GetSrvKeyspaceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
|
||||
func (*GetSrvKeyspaceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
|
||||
|
||||
func (m *GetSrvKeyspaceResponse) GetSrvKeyspace() *topodata.SrvKeyspace {
|
||||
if m != nil {
|
||||
|
@ -1468,7 +1500,7 @@ type UpdateStreamRequest struct {
|
|||
func (m *UpdateStreamRequest) Reset() { *m = UpdateStreamRequest{} }
|
||||
func (m *UpdateStreamRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*UpdateStreamRequest) ProtoMessage() {}
|
||||
func (*UpdateStreamRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
|
||||
func (*UpdateStreamRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
|
||||
|
||||
func (m *UpdateStreamRequest) GetCallerId() *vtrpc.CallerID {
|
||||
if m != nil {
|
||||
|
@ -1506,7 +1538,7 @@ type UpdateStreamResponse struct {
|
|||
func (m *UpdateStreamResponse) Reset() { *m = UpdateStreamResponse{} }
|
||||
func (m *UpdateStreamResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*UpdateStreamResponse) ProtoMessage() {}
|
||||
func (*UpdateStreamResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
|
||||
func (*UpdateStreamResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
|
||||
|
||||
func (m *UpdateStreamResponse) GetEvent() *query.StreamEvent {
|
||||
if m != nil {
|
||||
|
@ -1549,6 +1581,8 @@ func init() {
|
|||
proto.RegisterType((*CommitResponse)(nil), "vtgate.CommitResponse")
|
||||
proto.RegisterType((*RollbackRequest)(nil), "vtgate.RollbackRequest")
|
||||
proto.RegisterType((*RollbackResponse)(nil), "vtgate.RollbackResponse")
|
||||
proto.RegisterType((*ResolveTransactionRequest)(nil), "vtgate.ResolveTransactionRequest")
|
||||
proto.RegisterType((*ResolveTransactionResponse)(nil), "vtgate.ResolveTransactionResponse")
|
||||
proto.RegisterType((*SplitQueryRequest)(nil), "vtgate.SplitQueryRequest")
|
||||
proto.RegisterType((*SplitQueryResponse)(nil), "vtgate.SplitQueryResponse")
|
||||
proto.RegisterType((*SplitQueryResponse_KeyRangePart)(nil), "vtgate.SplitQueryResponse.KeyRangePart")
|
||||
|
@ -1563,98 +1597,100 @@ func init() {
|
|||
func init() { proto.RegisterFile("vtgate.proto", fileDescriptor0) }
|
||||
|
||||
var fileDescriptor0 = []byte{
|
||||
// 1488 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x59, 0x5d, 0x6f, 0x1b, 0xc5,
|
||||
0x1a, 0xd6, 0xae, 0xbf, 0x5f, 0x7f, 0x24, 0x9d, 0x3a, 0xad, 0x8f, 0x4f, 0x4f, 0xe3, 0xae, 0x4e,
|
||||
0x54, 0xf7, 0x9c, 0xc8, 0x55, 0x53, 0xbe, 0x84, 0x90, 0x80, 0x98, 0x08, 0x45, 0x85, 0x52, 0x26,
|
||||
0x01, 0x71, 0x01, 0x5a, 0x6d, 0xec, 0x51, 0xba, 0xd8, 0xfb, 0xd1, 0x9d, 0x59, 0x17, 0x73, 0x81,
|
||||
0xfa, 0x0f, 0x7a, 0x85, 0x84, 0x10, 0x12, 0x42, 0xe2, 0x96, 0x5b, 0x24, 0xee, 0xb8, 0x40, 0xe2,
|
||||
0x07, 0x70, 0xc1, 0x3d, 0x7f, 0x00, 0xc1, 0x2f, 0x40, 0x3b, 0x33, 0xfb, 0xe1, 0x4d, 0xec, 0x38,
|
||||
0x4e, 0x52, 0xb9, 0x57, 0xf6, 0xcc, 0xbc, 0x33, 0xf3, 0xcc, 0xf3, 0x3e, 0xf3, 0xbe, 0xf3, 0x6a,
|
||||
0xa1, 0x32, 0x62, 0x87, 0x06, 0x23, 0x1d, 0xd7, 0x73, 0x98, 0x83, 0xf2, 0xa2, 0xd5, 0x2c, 0x3f,
|
||||
0xf2, 0x89, 0x37, 0x16, 0x9d, 0xcd, 0x1a, 0x73, 0x5c, 0xa7, 0x6f, 0x30, 0x43, 0xb6, 0xcb, 0x23,
|
||||
0xe6, 0xb9, 0x3d, 0xd1, 0xd0, 0x7e, 0x53, 0xa0, 0xb0, 0x47, 0x28, 0x35, 0x1d, 0x1b, 0x6d, 0x40,
|
||||
0xcd, 0xb4, 0x75, 0xe6, 0x19, 0x36, 0x35, 0x7a, 0xcc, 0x74, 0xec, 0x86, 0xd2, 0x52, 0xda, 0x45,
|
||||
0x5c, 0x35, 0xed, 0xfd, 0xb8, 0x13, 0x75, 0xa1, 0x46, 0x1f, 0x1a, 0x5e, 0x5f, 0xa7, 0x62, 0x1e,
|
||||
0x6d, 0xa8, 0xad, 0x4c, 0xbb, 0xbc, 0x75, 0xad, 0x23, 0xb1, 0xc8, 0xf5, 0x3a, 0x7b, 0x81, 0x95,
|
||||
0x6c, 0xe0, 0x2a, 0x4d, 0xb4, 0x68, 0xf3, 0x63, 0xa8, 0x24, 0x87, 0xd1, 0x06, 0xe4, 0x99, 0xe1,
|
||||
0x1d, 0x12, 0xc6, 0xf7, 0x2c, 0x6f, 0x55, 0x3b, 0xe2, 0x08, 0xfb, 0xbc, 0x13, 0xcb, 0xc1, 0x00,
|
||||
0x62, 0x02, 0x9f, 0x6e, 0xf6, 0x1b, 0x6a, 0x4b, 0x69, 0x67, 0x70, 0x35, 0xd1, 0xbb, 0xdb, 0xd7,
|
||||
0x7e, 0x51, 0xa1, 0xb6, 0xf3, 0x19, 0xe9, 0xf9, 0x8c, 0x60, 0xf2, 0xc8, 0x27, 0x94, 0xa1, 0x4d,
|
||||
0x28, 0xf5, 0x8c, 0xe1, 0x90, 0x78, 0xc1, 0x24, 0xb1, 0xc7, 0x4a, 0x47, 0x30, 0xd1, 0xe5, 0xfd,
|
||||
0xbb, 0x6f, 0xe1, 0xa2, 0xb0, 0xd8, 0xed, 0xa3, 0x5b, 0x50, 0x90, 0xa7, 0xe3, 0x1b, 0x08, 0xdb,
|
||||
0xe4, 0xe1, 0x70, 0x38, 0x8e, 0x6e, 0x42, 0x8e, 0x43, 0x6d, 0x64, 0xb8, 0xe1, 0x25, 0x09, 0x7c,
|
||||
0xdb, 0xf1, 0xed, 0xfe, 0xfb, 0xc1, 0x5f, 0x2c, 0xc6, 0xd1, 0x8b, 0x50, 0x66, 0xc6, 0xc1, 0x90,
|
||||
0x30, 0x9d, 0x8d, 0x5d, 0xd2, 0xc8, 0xb6, 0x94, 0x76, 0x6d, 0xab, 0xde, 0x89, 0xbc, 0xb3, 0xcf,
|
||||
0x07, 0xf7, 0xc7, 0x2e, 0xc1, 0xc0, 0xa2, 0xff, 0x68, 0x13, 0x90, 0xed, 0x30, 0x3d, 0xe5, 0x99,
|
||||
0x1c, 0xf7, 0xcc, 0xaa, 0xed, 0xb0, 0xdd, 0x09, 0xe7, 0x34, 0xa1, 0x38, 0x20, 0x63, 0xea, 0x1a,
|
||||
0x3d, 0xd2, 0xc8, 0xb7, 0x94, 0x76, 0x09, 0x47, 0x6d, 0x74, 0x1b, 0x0a, 0x8e, 0xcb, 0xb8, 0xc7,
|
||||
0x0a, 0x1c, 0xeb, 0x9a, 0xc4, 0x2a, 0xa9, 0x7a, 0x4f, 0x0c, 0xe2, 0xd0, 0x4a, 0x7b, 0xaa, 0xc0,
|
||||
0x4a, 0x44, 0x23, 0x75, 0x1d, 0x9b, 0x12, 0xb4, 0x01, 0x39, 0xe2, 0x79, 0x8e, 0x97, 0xe2, 0x10,
|
||||
0x3f, 0xe8, 0xee, 0x04, 0xdd, 0x58, 0x8c, 0x9e, 0x86, 0xc0, 0xff, 0x41, 0xde, 0x23, 0xd4, 0x1f,
|
||||
0x32, 0xc9, 0x20, 0x92, 0xa8, 0x04, 0x79, 0x7c, 0x04, 0x4b, 0x0b, 0xed, 0x0f, 0x15, 0xea, 0x12,
|
||||
0x11, 0x97, 0x0f, 0x5d, 0x1e, 0xf7, 0x26, 0x99, 0xcf, 0xa6, 0x98, 0xbf, 0x02, 0x79, 0x2e, 0x7f,
|
||||
0xda, 0xc8, 0xb5, 0x32, 0xed, 0x12, 0x96, 0xad, 0xb4, 0x24, 0xf2, 0x67, 0x92, 0x44, 0x61, 0x8a,
|
||||
0x24, 0x12, 0x6e, 0x2f, 0xce, 0xe5, 0xf6, 0x2f, 0x15, 0x58, 0x4b, 0x91, 0xbc, 0x14, 0xce, 0xff,
|
||||
0x5b, 0x85, 0x7f, 0x49, 0x5c, 0xf7, 0x24, 0xb3, 0xbb, 0xcf, 0x8b, 0x02, 0x6e, 0x40, 0x25, 0xfc,
|
||||
0xaf, 0x9b, 0x52, 0x07, 0x15, 0x5c, 0x1e, 0xc4, 0xe7, 0x58, 0x52, 0x31, 0x7c, 0xad, 0x40, 0xf3,
|
||||
0x38, 0xd2, 0x97, 0x42, 0x11, 0x4f, 0x32, 0x70, 0x35, 0x06, 0x87, 0x0d, 0xfb, 0x90, 0x3c, 0x27,
|
||||
0x7a, 0xb8, 0x03, 0x30, 0x20, 0x63, 0xdd, 0xe3, 0x90, 0xb9, 0x1a, 0x82, 0x93, 0x46, 0xbe, 0x0e,
|
||||
0x4f, 0x83, 0x4b, 0x83, 0xf0, 0x5c, 0x4b, 0xaa, 0x8f, 0xaf, 0x14, 0x68, 0x1c, 0x75, 0xc1, 0x52,
|
||||
0xa8, 0xe3, 0xa7, 0x6c, 0xa4, 0x8e, 0x1d, 0x9b, 0x99, 0x6c, 0xfc, 0xdc, 0x44, 0x8b, 0x4d, 0x40,
|
||||
0x84, 0x23, 0xd6, 0x7b, 0xce, 0xd0, 0xb7, 0x6c, 0xdd, 0x36, 0x2c, 0xc2, 0x73, 0x7e, 0x09, 0xaf,
|
||||
0x8a, 0x91, 0x2e, 0x1f, 0xb8, 0x6f, 0x58, 0x04, 0x7d, 0x04, 0x97, 0xa5, 0xf5, 0x44, 0x88, 0xc9,
|
||||
0x73, 0x51, 0xb5, 0x43, 0xa4, 0x53, 0x98, 0xe8, 0x84, 0x1d, 0xf8, 0x92, 0x58, 0xe4, 0xde, 0xf4,
|
||||
0x90, 0x54, 0x38, 0x93, 0xe4, 0x8a, 0x27, 0x4b, 0xae, 0x34, 0x8f, 0xe4, 0x9a, 0x07, 0x50, 0x0c,
|
||||
0x41, 0xa3, 0x75, 0xc8, 0x72, 0x68, 0x0a, 0x87, 0x56, 0x0e, 0x5f, 0x8d, 0x01, 0x22, 0x3e, 0x80,
|
||||
0xea, 0x90, 0x1b, 0x19, 0x43, 0x9f, 0x70, 0xc7, 0x55, 0xb0, 0x68, 0xa0, 0x75, 0x28, 0x27, 0xb8,
|
||||
0xe2, 0xbe, 0xaa, 0x60, 0x88, 0xa3, 0x71, 0x52, 0xd6, 0x09, 0xc6, 0x96, 0x42, 0xd6, 0x36, 0xac,
|
||||
0x70, 0x35, 0xf1, 0xdc, 0xcc, 0x0d, 0x62, 0xd1, 0x29, 0xa7, 0x10, 0x9d, 0x3a, 0xf5, 0x91, 0x92,
|
||||
0x49, 0x3e, 0x52, 0xb4, 0x1f, 0xe3, 0xb4, 0xbb, 0x6d, 0xb0, 0xde, 0xc3, 0x67, 0xf4, 0xf0, 0xba,
|
||||
0x03, 0x85, 0x00, 0xb3, 0x49, 0x04, 0x9e, 0xf2, 0xd6, 0xd5, 0xd0, 0x34, 0x75, 0x7a, 0x1c, 0xda,
|
||||
0x2d, 0xfa, 0xc2, 0xde, 0x80, 0x9a, 0x41, 0x8f, 0x79, 0x5d, 0x57, 0x0d, 0x3a, 0x45, 0xa7, 0xf9,
|
||||
0xb9, 0x42, 0xe3, 0x37, 0x71, 0xea, 0x9c, 0x20, 0xee, 0xc2, 0x54, 0xb4, 0x09, 0x05, 0xa1, 0x91,
|
||||
0x90, 0xb2, 0xe3, 0x64, 0x14, 0x9a, 0x68, 0x5f, 0x40, 0x9d, 0x33, 0x19, 0x5f, 0xf8, 0x73, 0x14,
|
||||
0x53, 0xfa, 0xbd, 0x93, 0x39, 0xf2, 0xde, 0xd1, 0x7e, 0x56, 0xe1, 0x7a, 0x92, 0x9e, 0x67, 0xf9,
|
||||
0xa6, 0x7b, 0x29, 0x2d, 0xae, 0x6b, 0x13, 0xe2, 0x4a, 0x51, 0xb2, 0xb4, 0x0a, 0xfb, 0x4e, 0x81,
|
||||
0xf5, 0xa9, 0x14, 0x2e, 0x89, 0xcc, 0xfe, 0x52, 0xa0, 0xbe, 0xc7, 0x3c, 0x62, 0x58, 0x67, 0xaa,
|
||||
0xc8, 0x23, 0x55, 0xaa, 0xa7, 0x2b, 0xb3, 0x33, 0x73, 0xba, 0x68, 0x56, 0x3a, 0x4e, 0xf8, 0x25,
|
||||
0x37, 0x97, 0x5f, 0xba, 0xb0, 0x96, 0x3a, 0xb2, 0x74, 0x46, 0x1c, 0xe7, 0x95, 0x13, 0xe3, 0xfc,
|
||||
0x53, 0x15, 0x9a, 0x13, 0xab, 0x9c, 0x25, 0xf0, 0xce, 0x4d, 0x5f, 0x92, 0x87, 0xcc, 0xd4, 0x0c,
|
||||
0x91, 0x9d, 0x55, 0xc6, 0xe6, 0xe6, 0xa4, 0xfc, 0xd4, 0x72, 0xdf, 0x85, 0x7f, 0x1f, 0x4b, 0xc8,
|
||||
0x02, 0xe4, 0x7e, 0xab, 0xc2, 0xfa, 0xc4, 0x5a, 0x67, 0x8e, 0x3e, 0xe7, 0xc2, 0x70, 0x3a, 0x6c,
|
||||
0x66, 0x4f, 0x2c, 0x13, 0x2f, 0x8c, 0xec, 0xfb, 0xd0, 0x9a, 0x4e, 0xd0, 0x02, 0x8c, 0xff, 0xa0,
|
||||
0xc2, 0x7f, 0xd2, 0x0b, 0x9e, 0xa5, 0x62, 0x3b, 0x17, 0xbe, 0x27, 0xcb, 0xb0, 0xec, 0x02, 0x65,
|
||||
0xd8, 0x85, 0xf1, 0xff, 0x0e, 0x5c, 0x9f, 0x46, 0xd7, 0x02, 0xec, 0xbf, 0x06, 0x95, 0x6d, 0x72,
|
||||
0x68, 0xda, 0x0b, 0x71, 0xad, 0xbd, 0x0a, 0x55, 0x39, 0x5b, 0x6e, 0x9d, 0xc8, 0x16, 0xca, 0xec,
|
||||
0x6c, 0xa1, 0x3d, 0x51, 0xa0, 0xda, 0x75, 0x2c, 0xcb, 0x64, 0x17, 0x9e, 0xd5, 0xaf, 0x40, 0xde,
|
||||
0x60, 0x8e, 0x65, 0xf6, 0xb8, 0x9f, 0x8b, 0x58, 0xb6, 0xb4, 0x55, 0xa8, 0x85, 0x08, 0x04, 0x7e,
|
||||
0xed, 0x53, 0x58, 0xc1, 0xce, 0x70, 0x78, 0x60, 0xf4, 0x06, 0x17, 0x8d, 0x4a, 0x43, 0xb0, 0x1a,
|
||||
0xef, 0x25, 0xf7, 0xff, 0x53, 0x85, 0x4b, 0x7b, 0xee, 0xd0, 0x64, 0xd2, 0x57, 0x8b, 0x40, 0x98,
|
||||
0xf5, 0xfc, 0x9a, 0xbb, 0x0a, 0xbd, 0x01, 0x15, 0x1a, 0xe0, 0x90, 0x85, 0xa6, 0x0c, 0xec, 0x65,
|
||||
0xde, 0x27, 0x4a, 0xcc, 0xa0, 0x56, 0x0a, 0x4d, 0x7c, 0x9b, 0x71, 0xc1, 0x67, 0x30, 0x48, 0x0b,
|
||||
0xdf, 0x66, 0xe8, 0x05, 0xb8, 0x6a, 0xfb, 0x96, 0xee, 0x39, 0x8f, 0xa9, 0xee, 0x12, 0x4f, 0xe7,
|
||||
0x2b, 0xeb, 0xae, 0xe1, 0x31, 0x2e, 0xf5, 0x0c, 0xbe, 0x6c, 0xfb, 0x16, 0x76, 0x1e, 0xd3, 0x07,
|
||||
0xc4, 0xe3, 0x9b, 0x3f, 0x30, 0x3c, 0x86, 0xde, 0x80, 0x92, 0x31, 0x3c, 0x74, 0x3c, 0x93, 0x3d,
|
||||
0xb4, 0x64, 0x65, 0xa9, 0x49, 0x98, 0x47, 0x98, 0xe9, 0xbc, 0x19, 0x5a, 0xe2, 0x78, 0x12, 0xfa,
|
||||
0x3f, 0x20, 0x9f, 0x12, 0x5d, 0x80, 0x13, 0x9b, 0x8e, 0xb6, 0x64, 0x99, 0xb9, 0xe2, 0x53, 0x12,
|
||||
0x2f, 0xf3, 0xe1, 0x96, 0xf6, 0x6b, 0x06, 0x50, 0x72, 0x5d, 0x29, 0xe4, 0x97, 0x21, 0xcf, 0xe7,
|
||||
0xd3, 0x86, 0xc2, 0x2f, 0xff, 0x7a, 0xe4, 0xc6, 0x23, 0xb6, 0x9d, 0x00, 0x36, 0x96, 0xe6, 0xcd,
|
||||
0x4f, 0xa0, 0x12, 0xde, 0x48, 0x7e, 0x9c, 0xa4, 0x37, 0x94, 0x99, 0x51, 0x46, 0x9d, 0x23, 0xca,
|
||||
0x34, 0x5f, 0x87, 0x12, 0xcf, 0x6e, 0x27, 0xae, 0x1d, 0xe7, 0x64, 0x35, 0x99, 0x93, 0x9b, 0xbf,
|
||||
0x2b, 0x90, 0xe5, 0x93, 0xe7, 0x7e, 0xce, 0xbf, 0x0b, 0xb5, 0x08, 0xa5, 0xf0, 0x9e, 0x50, 0xf6,
|
||||
0xcd, 0x19, 0x94, 0x24, 0x29, 0xc0, 0x95, 0x41, 0x92, 0x90, 0x2e, 0x80, 0xf8, 0x4c, 0xc4, 0x97,
|
||||
0x12, 0x3a, 0xfc, 0xef, 0x8c, 0xa5, 0xa2, 0xe3, 0xe2, 0x12, 0x8d, 0x4e, 0x8e, 0x20, 0x4b, 0xcd,
|
||||
0xcf, 0xc5, 0x8b, 0x2c, 0x83, 0xf9, 0x7f, 0xed, 0x2e, 0xac, 0xbd, 0x4d, 0xd8, 0x9e, 0x37, 0x0a,
|
||||
0x33, 0x52, 0x78, 0x7d, 0x66, 0xd0, 0xa4, 0x61, 0xb8, 0x92, 0x9e, 0x24, 0x15, 0xf0, 0x0a, 0x54,
|
||||
0xa8, 0x37, 0xd2, 0x27, 0x66, 0x06, 0xd1, 0x39, 0x72, 0x4f, 0x72, 0x52, 0x99, 0xc6, 0x0d, 0xed,
|
||||
0x7b, 0x15, 0x2e, 0x7f, 0xe0, 0xf6, 0x0d, 0x46, 0x44, 0xa0, 0x3e, 0xff, 0x6b, 0x5c, 0x87, 0x1c,
|
||||
0xe7, 0x42, 0xe6, 0x2d, 0xd1, 0x40, 0xb7, 0xa1, 0x14, 0x39, 0x8a, 0x33, 0x73, 0xbc, 0x9a, 0x8a,
|
||||
0xa1, 0x3b, 0x16, 0x4d, 0x59, 0xd7, 0xa0, 0xc4, 0x4c, 0x8b, 0x50, 0x66, 0x58, 0xae, 0xbc, 0xc9,
|
||||
0x71, 0x47, 0xa0, 0x2b, 0x32, 0x22, 0x36, 0x93, 0xdf, 0x92, 0x42, 0x5d, 0xed, 0x04, 0x7d, 0xfb,
|
||||
0xce, 0x80, 0xd8, 0x58, 0x8c, 0x6b, 0x03, 0xa8, 0x4f, 0xb2, 0x24, 0x89, 0x6f, 0x87, 0x0b, 0x4c,
|
||||
0x66, 0x2f, 0x99, 0xf4, 0x82, 0x11, 0xb9, 0x02, 0xba, 0x05, 0xab, 0x41, 0x1a, 0xb3, 0x88, 0x1e,
|
||||
0xe3, 0x11, 0xdf, 0xfd, 0x56, 0x44, 0xff, 0x7e, 0xd8, 0xbd, 0xdd, 0x84, 0x46, 0xcf, 0xb1, 0x3a,
|
||||
0x63, 0xc7, 0x67, 0xfe, 0x01, 0xe9, 0x8c, 0x4c, 0x46, 0x28, 0x15, 0xdf, 0x3a, 0x0f, 0xf2, 0xfc,
|
||||
0xe7, 0xee, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x69, 0x2d, 0x39, 0x0c, 0x34, 0x1d, 0x00, 0x00,
|
||||
// 1518 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x59, 0x5d, 0x6f, 0x1b, 0x45,
|
||||
0x17, 0xd6, 0xae, 0xbf, 0x8f, 0x3f, 0x92, 0x4e, 0x9d, 0xd6, 0xf5, 0x9b, 0xb7, 0x71, 0x57, 0x44,
|
||||
0x75, 0x21, 0x72, 0xd5, 0x94, 0x2f, 0x21, 0x24, 0x20, 0x26, 0x42, 0x51, 0xa1, 0x94, 0x49, 0x40,
|
||||
0x5c, 0x50, 0xad, 0x36, 0xf6, 0x28, 0x5d, 0xec, 0xdd, 0x75, 0x77, 0x66, 0x5d, 0xcc, 0x05, 0xea,
|
||||
0x3f, 0xe8, 0x15, 0x12, 0x42, 0x48, 0x08, 0x89, 0x5b, 0x6e, 0x91, 0xb8, 0xe3, 0x02, 0x89, 0x1f,
|
||||
0xc0, 0x05, 0xf7, 0xfc, 0x01, 0x04, 0xbf, 0x00, 0xed, 0xcc, 0xec, 0x87, 0x37, 0xb1, 0xe3, 0x38,
|
||||
0x49, 0xe5, 0x5c, 0x65, 0x67, 0xe6, 0xcc, 0xcc, 0x33, 0xcf, 0x79, 0xe6, 0x9c, 0x39, 0x31, 0x94,
|
||||
0x86, 0xec, 0xc0, 0x60, 0xa4, 0x35, 0x70, 0x1d, 0xe6, 0xa0, 0xac, 0x68, 0xd5, 0x8b, 0x8f, 0x3d,
|
||||
0xe2, 0x8e, 0x44, 0x67, 0xbd, 0xc2, 0x9c, 0x81, 0xd3, 0x35, 0x98, 0x21, 0xdb, 0xc5, 0x21, 0x73,
|
||||
0x07, 0x1d, 0xd1, 0xd0, 0xfe, 0x50, 0x20, 0xb7, 0x4b, 0x28, 0x35, 0x1d, 0x1b, 0xad, 0x43, 0xc5,
|
||||
0xb4, 0x75, 0xe6, 0x1a, 0x36, 0x35, 0x3a, 0xcc, 0x74, 0xec, 0x9a, 0xd2, 0x50, 0x9a, 0x79, 0x5c,
|
||||
0x36, 0xed, 0xbd, 0xa8, 0x13, 0xb5, 0xa1, 0x42, 0x1f, 0x19, 0x6e, 0x57, 0xa7, 0x62, 0x1e, 0xad,
|
||||
0xa9, 0x8d, 0x54, 0xb3, 0xb8, 0xb9, 0xda, 0x92, 0x58, 0xe4, 0x7a, 0xad, 0x5d, 0xdf, 0x4a, 0x36,
|
||||
0x70, 0x99, 0xc6, 0x5a, 0xb4, 0xfe, 0x19, 0x94, 0xe2, 0xc3, 0x68, 0x1d, 0xb2, 0xcc, 0x70, 0x0f,
|
||||
0x08, 0xe3, 0x7b, 0x16, 0x37, 0xcb, 0x2d, 0x71, 0x84, 0x3d, 0xde, 0x89, 0xe5, 0xa0, 0x0f, 0x31,
|
||||
0x86, 0x4f, 0x37, 0xbb, 0x35, 0xb5, 0xa1, 0x34, 0x53, 0xb8, 0x1c, 0xeb, 0xdd, 0xe9, 0x6a, 0xbf,
|
||||
0xa9, 0x50, 0xd9, 0xfe, 0x82, 0x74, 0x3c, 0x46, 0x30, 0x79, 0xec, 0x11, 0xca, 0xd0, 0x06, 0x14,
|
||||
0x3a, 0x46, 0xbf, 0x4f, 0x5c, 0x7f, 0x92, 0xd8, 0x63, 0xa9, 0x25, 0x98, 0x68, 0xf3, 0xfe, 0x9d,
|
||||
0x77, 0x71, 0x5e, 0x58, 0xec, 0x74, 0xd1, 0x2d, 0xc8, 0xc9, 0xd3, 0xf1, 0x0d, 0x84, 0x6d, 0xfc,
|
||||
0x70, 0x38, 0x18, 0x47, 0x37, 0x21, 0xc3, 0xa1, 0xd6, 0x52, 0xdc, 0xf0, 0x92, 0x04, 0xbe, 0xe5,
|
||||
0x78, 0x76, 0xf7, 0x23, 0xff, 0x13, 0x8b, 0x71, 0xf4, 0x0a, 0x14, 0x99, 0xb1, 0xdf, 0x27, 0x4c,
|
||||
0x67, 0xa3, 0x01, 0xa9, 0xa5, 0x1b, 0x4a, 0xb3, 0xb2, 0x59, 0x6d, 0x85, 0xde, 0xd9, 0xe3, 0x83,
|
||||
0x7b, 0xa3, 0x01, 0xc1, 0xc0, 0xc2, 0x6f, 0xb4, 0x01, 0xc8, 0x76, 0x98, 0x9e, 0xf0, 0x4c, 0x86,
|
||||
0x7b, 0x66, 0xd9, 0x76, 0xd8, 0xce, 0x98, 0x73, 0xea, 0x90, 0xef, 0x91, 0x11, 0x1d, 0x18, 0x1d,
|
||||
0x52, 0xcb, 0x36, 0x94, 0x66, 0x01, 0x87, 0x6d, 0x74, 0x1b, 0x72, 0xce, 0x80, 0x71, 0x8f, 0xe5,
|
||||
0x38, 0xd6, 0x15, 0x89, 0x55, 0x52, 0xf5, 0xa1, 0x18, 0xc4, 0x81, 0x95, 0xf6, 0x4c, 0x81, 0xa5,
|
||||
0x90, 0x46, 0x3a, 0x70, 0x6c, 0x4a, 0xd0, 0x3a, 0x64, 0x88, 0xeb, 0x3a, 0x6e, 0x82, 0x43, 0xfc,
|
||||
0xa0, 0xbd, 0xed, 0x77, 0x63, 0x31, 0x7a, 0x12, 0x02, 0x5f, 0x84, 0xac, 0x4b, 0xa8, 0xd7, 0x67,
|
||||
0x92, 0x41, 0x24, 0x51, 0x09, 0xf2, 0xf8, 0x08, 0x96, 0x16, 0xda, 0x5f, 0x2a, 0x54, 0x25, 0x22,
|
||||
0x2e, 0x1f, 0xba, 0x38, 0xee, 0x8d, 0x33, 0x9f, 0x4e, 0x30, 0x7f, 0x05, 0xb2, 0x5c, 0xfe, 0xb4,
|
||||
0x96, 0x69, 0xa4, 0x9a, 0x05, 0x2c, 0x5b, 0x49, 0x49, 0x64, 0x4f, 0x25, 0x89, 0xdc, 0x04, 0x49,
|
||||
0xc4, 0xdc, 0x9e, 0x9f, 0xc9, 0xed, 0x5f, 0x2b, 0xb0, 0x92, 0x20, 0x79, 0x21, 0x9c, 0xff, 0xaf,
|
||||
0x0a, 0xd7, 0x24, 0xae, 0x7b, 0x92, 0xd9, 0x9d, 0x8b, 0xa2, 0x80, 0x1b, 0x50, 0x0a, 0xbe, 0x75,
|
||||
0x53, 0xea, 0xa0, 0x84, 0x8b, 0xbd, 0xe8, 0x1c, 0x0b, 0x2a, 0x86, 0x6f, 0x15, 0xa8, 0x1f, 0x45,
|
||||
0xfa, 0x42, 0x28, 0xe2, 0x69, 0x0a, 0xae, 0x46, 0xe0, 0xb0, 0x61, 0x1f, 0x90, 0x0b, 0xa2, 0x87,
|
||||
0x3b, 0x00, 0x3d, 0x32, 0xd2, 0x5d, 0x0e, 0x99, 0xab, 0xc1, 0x3f, 0x69, 0xe8, 0xeb, 0xe0, 0x34,
|
||||
0xb8, 0xd0, 0x0b, 0xce, 0xb5, 0xa0, 0xfa, 0xf8, 0x46, 0x81, 0xda, 0x61, 0x17, 0x2c, 0x84, 0x3a,
|
||||
0x7e, 0x49, 0x87, 0xea, 0xd8, 0xb6, 0x99, 0xc9, 0x46, 0x17, 0x26, 0x5a, 0x6c, 0x00, 0x22, 0x1c,
|
||||
0xb1, 0xde, 0x71, 0xfa, 0x9e, 0x65, 0xeb, 0xb6, 0x61, 0x11, 0x9e, 0xf3, 0x0b, 0x78, 0x59, 0x8c,
|
||||
0xb4, 0xf9, 0xc0, 0x7d, 0xc3, 0x22, 0xe8, 0x53, 0xb8, 0x2c, 0xad, 0xc7, 0x42, 0x4c, 0x96, 0x8b,
|
||||
0xaa, 0x19, 0x20, 0x9d, 0xc0, 0x44, 0x2b, 0xe8, 0xc0, 0x97, 0xc4, 0x22, 0xf7, 0x26, 0x87, 0xa4,
|
||||
0xdc, 0xa9, 0x24, 0x97, 0x3f, 0x5e, 0x72, 0x85, 0x59, 0x24, 0x57, 0xdf, 0x87, 0x7c, 0x00, 0x1a,
|
||||
0xad, 0x41, 0x9a, 0x43, 0x53, 0x38, 0xb4, 0x62, 0xf0, 0x6a, 0xf4, 0x11, 0xf1, 0x01, 0x54, 0x85,
|
||||
0xcc, 0xd0, 0xe8, 0x7b, 0x84, 0x3b, 0xae, 0x84, 0x45, 0x03, 0xad, 0x41, 0x31, 0xc6, 0x15, 0xf7,
|
||||
0x55, 0x09, 0x43, 0x14, 0x8d, 0xe3, 0xb2, 0x8e, 0x31, 0xb6, 0x10, 0xb2, 0xb6, 0x61, 0x89, 0xab,
|
||||
0x89, 0xe7, 0x66, 0x6e, 0x10, 0x89, 0x4e, 0x39, 0x81, 0xe8, 0xd4, 0x89, 0x8f, 0x94, 0x54, 0xfc,
|
||||
0x91, 0xa2, 0xfd, 0x1c, 0xa5, 0xdd, 0x2d, 0x83, 0x75, 0x1e, 0x3d, 0xa7, 0x87, 0xd7, 0x1d, 0xc8,
|
||||
0xf9, 0x98, 0x4d, 0x22, 0xf0, 0x14, 0x37, 0xaf, 0x06, 0xa6, 0x89, 0xd3, 0xe3, 0xc0, 0x6e, 0xde,
|
||||
0x17, 0xf6, 0x3a, 0x54, 0x0c, 0x7a, 0xc4, 0xeb, 0xba, 0x6c, 0xd0, 0x09, 0x3a, 0xcd, 0xce, 0x14,
|
||||
0x1a, 0xbf, 0x8b, 0x52, 0xe7, 0x18, 0x71, 0xe7, 0xa6, 0xa2, 0x0d, 0xc8, 0x09, 0x8d, 0x04, 0x94,
|
||||
0x1d, 0x25, 0xa3, 0xc0, 0x44, 0xfb, 0x0a, 0xaa, 0x9c, 0xc9, 0xe8, 0xc2, 0x9f, 0xa1, 0x98, 0x92,
|
||||
0xef, 0x9d, 0xd4, 0xa1, 0xf7, 0x8e, 0xf6, 0xab, 0x0a, 0xd7, 0xe3, 0xf4, 0x3c, 0xcf, 0x37, 0xdd,
|
||||
0xab, 0x49, 0x71, 0xad, 0x8e, 0x89, 0x2b, 0x41, 0xc9, 0xc2, 0x2a, 0xec, 0x07, 0x05, 0xd6, 0x26,
|
||||
0x52, 0xb8, 0x20, 0x32, 0xfb, 0x47, 0x81, 0xea, 0x2e, 0x73, 0x89, 0x61, 0x9d, 0xaa, 0x22, 0x0f,
|
||||
0x55, 0xa9, 0x9e, 0xac, 0xcc, 0x4e, 0xcd, 0xe8, 0xa2, 0x69, 0xe9, 0x38, 0xe6, 0x97, 0xcc, 0x4c,
|
||||
0x7e, 0x69, 0xc3, 0x4a, 0xe2, 0xc8, 0xd2, 0x19, 0x51, 0x9c, 0x57, 0x8e, 0x8d, 0xf3, 0xcf, 0x54,
|
||||
0xa8, 0x8f, 0xad, 0x72, 0x9a, 0xc0, 0x3b, 0x33, 0x7d, 0x71, 0x1e, 0x52, 0x13, 0x33, 0x44, 0x7a,
|
||||
0x5a, 0x19, 0x9b, 0x99, 0x91, 0xf2, 0x13, 0xcb, 0x7d, 0x07, 0xfe, 0x77, 0x24, 0x21, 0x73, 0x90,
|
||||
0xfb, 0xbd, 0x0a, 0x6b, 0x63, 0x6b, 0x9d, 0x3a, 0xfa, 0x9c, 0x09, 0xc3, 0xc9, 0xb0, 0x99, 0x3e,
|
||||
0xb6, 0x4c, 0x3c, 0x37, 0xb2, 0xef, 0x43, 0x63, 0x32, 0x41, 0x73, 0x30, 0xfe, 0x93, 0x0a, 0xff,
|
||||
0x4f, 0x2e, 0x78, 0x9a, 0x8a, 0xed, 0x4c, 0xf8, 0x1e, 0x2f, 0xc3, 0xd2, 0x73, 0x94, 0x61, 0xe7,
|
||||
0xc6, 0xff, 0xfb, 0x70, 0x7d, 0x12, 0x5d, 0x73, 0xb0, 0xff, 0x26, 0x94, 0xb6, 0xc8, 0x81, 0x69,
|
||||
0xcf, 0xc5, 0xb5, 0xf6, 0x06, 0x94, 0xe5, 0x6c, 0xb9, 0x75, 0x2c, 0x5b, 0x28, 0xd3, 0xb3, 0x85,
|
||||
0xf6, 0x54, 0x81, 0x72, 0xdb, 0xb1, 0x2c, 0x93, 0x9d, 0x7b, 0x56, 0xbf, 0x02, 0x59, 0x83, 0x39,
|
||||
0x96, 0xd9, 0xe1, 0x7e, 0xce, 0x63, 0xd9, 0xd2, 0x96, 0xa1, 0x12, 0x20, 0x10, 0xf8, 0xb5, 0xcf,
|
||||
0x61, 0x09, 0x3b, 0xfd, 0xfe, 0xbe, 0xd1, 0xe9, 0x9d, 0x37, 0x2a, 0x0d, 0xc1, 0x72, 0xb4, 0x97,
|
||||
0xdc, 0xff, 0x21, 0x5c, 0xc3, 0x84, 0x3a, 0xfd, 0x21, 0x89, 0xe5, 0xff, 0xf9, 0x90, 0x20, 0x48,
|
||||
0x77, 0x99, 0xfc, 0x47, 0x78, 0x01, 0xf3, 0x6f, 0x6d, 0x15, 0xea, 0x47, 0x2d, 0x2f, 0x37, 0xff,
|
||||
0x5b, 0x85, 0x4b, 0xbb, 0x83, 0xbe, 0xc9, 0xa4, 0x50, 0xe6, 0xd9, 0x75, 0xda, 0xdb, 0x6f, 0xe6,
|
||||
0x12, 0xf8, 0x06, 0x94, 0xa8, 0x8f, 0x43, 0x56, 0xb9, 0x32, 0xab, 0x14, 0x79, 0x9f, 0xa8, 0x6f,
|
||||
0xfd, 0x42, 0x2d, 0x30, 0xf1, 0x6c, 0xc6, 0x6f, 0x5b, 0x0a, 0x83, 0xb4, 0xf0, 0x6c, 0x86, 0x5e,
|
||||
0x86, 0xab, 0xb6, 0x67, 0xe9, 0xae, 0xf3, 0x84, 0xea, 0x03, 0xe2, 0xea, 0x7c, 0x65, 0x7d, 0x60,
|
||||
0xb8, 0x8c, 0xdf, 0xb3, 0x14, 0xbe, 0x6c, 0x7b, 0x16, 0x76, 0x9e, 0xd0, 0x07, 0xc4, 0xe5, 0x9b,
|
||||
0x3f, 0x30, 0x5c, 0x86, 0xde, 0x86, 0x82, 0xd1, 0x3f, 0x70, 0x5c, 0x93, 0x3d, 0xb2, 0x64, 0x59,
|
||||
0xab, 0x49, 0x98, 0x87, 0x98, 0x69, 0xbd, 0x13, 0x58, 0xe2, 0x68, 0x12, 0x7a, 0x09, 0x90, 0x47,
|
||||
0x89, 0x2e, 0xc0, 0x89, 0x4d, 0x87, 0x9b, 0xb2, 0xc6, 0x5d, 0xf2, 0x28, 0x89, 0x96, 0xf9, 0x64,
|
||||
0x53, 0xfb, 0x3d, 0x05, 0x28, 0xbe, 0xae, 0xbc, 0x45, 0xaf, 0x41, 0x96, 0xcf, 0xa7, 0x35, 0x85,
|
||||
0x47, 0x9e, 0xb5, 0x50, 0x43, 0x87, 0x6c, 0x5b, 0x3e, 0x6c, 0x2c, 0xcd, 0xeb, 0x0f, 0xa1, 0x14,
|
||||
0x84, 0x03, 0x7e, 0x9c, 0xb8, 0x37, 0x94, 0xa9, 0x21, 0x4e, 0x9d, 0x21, 0xc4, 0xd5, 0xdf, 0x82,
|
||||
0x02, 0x4f, 0xad, 0xc7, 0xae, 0x1d, 0x3d, 0x08, 0xd4, 0xf8, 0x83, 0xa0, 0xfe, 0xa7, 0x02, 0x69,
|
||||
0x3e, 0x79, 0xe6, 0x5a, 0xe2, 0x03, 0xa8, 0x84, 0x28, 0x85, 0xf7, 0xc4, 0xb5, 0xba, 0x39, 0x85,
|
||||
0x92, 0x38, 0x05, 0xb8, 0xd4, 0x8b, 0x13, 0xd2, 0x06, 0x10, 0xbf, 0x51, 0xf1, 0xa5, 0x84, 0x0e,
|
||||
0x5f, 0x98, 0xb2, 0x54, 0x78, 0x5c, 0x5c, 0xa0, 0xe1, 0xc9, 0x11, 0xa4, 0xa9, 0xf9, 0xa5, 0x78,
|
||||
0x0e, 0xa6, 0x30, 0xff, 0xd6, 0xee, 0xc2, 0xca, 0x7b, 0x84, 0xed, 0xba, 0xc3, 0x20, 0x1d, 0x06,
|
||||
0xd7, 0x67, 0x0a, 0x4d, 0x1a, 0x86, 0x2b, 0xc9, 0x49, 0x52, 0x01, 0xaf, 0x43, 0x89, 0xba, 0x43,
|
||||
0x7d, 0x6c, 0xa6, 0x9f, 0x1a, 0x42, 0xf7, 0xc4, 0x27, 0x15, 0x69, 0xd4, 0xd0, 0x7e, 0x54, 0xe1,
|
||||
0xf2, 0xc7, 0x83, 0xae, 0xc1, 0x88, 0xc8, 0x12, 0x67, 0x7f, 0x8d, 0xab, 0x90, 0xe1, 0x5c, 0xc8,
|
||||
0xa4, 0x29, 0x1a, 0xe8, 0x36, 0x14, 0x42, 0x47, 0x71, 0x66, 0x8e, 0x56, 0x53, 0x3e, 0x70, 0xc7,
|
||||
0xbc, 0xf9, 0x72, 0x15, 0x0a, 0xcc, 0xb4, 0x08, 0x65, 0x86, 0x35, 0x90, 0x37, 0x39, 0xea, 0xf0,
|
||||
0x75, 0x45, 0x86, 0xc4, 0x66, 0xf2, 0x87, 0xac, 0x40, 0x57, 0xdb, 0x7e, 0xdf, 0x9e, 0xd3, 0x23,
|
||||
0x36, 0x16, 0xe3, 0x5a, 0x0f, 0xaa, 0xe3, 0x2c, 0x49, 0xe2, 0x9b, 0xc1, 0x02, 0xe3, 0xa9, 0x53,
|
||||
0x66, 0x5c, 0x7f, 0x44, 0xae, 0x80, 0x6e, 0xc1, 0xb2, 0x9f, 0x43, 0x2d, 0xa2, 0x47, 0x78, 0xc4,
|
||||
0x8f, 0x8e, 0x4b, 0xa2, 0x7f, 0x2f, 0xe8, 0xde, 0xaa, 0x43, 0xad, 0xe3, 0x58, 0xad, 0x91, 0xe3,
|
||||
0x31, 0x6f, 0x9f, 0xb4, 0x86, 0x26, 0x23, 0x94, 0x8a, 0x1f, 0x5a, 0xf7, 0xb3, 0xfc, 0xcf, 0xdd,
|
||||
0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x36, 0x13, 0x91, 0xa1, 0xb1, 0x1d, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -94,6 +94,9 @@ type VitessClient interface {
|
|||
// Rollback a transaction.
|
||||
// API group: Transactions
|
||||
Rollback(ctx context.Context, in *vtgate.RollbackRequest, opts ...grpc.CallOption) (*vtgate.RollbackResponse, error)
|
||||
// ResolveTransaction resolves a transaction.
|
||||
// API group: Transactions
|
||||
ResolveTransaction(ctx context.Context, in *vtgate.ResolveTransactionRequest, opts ...grpc.CallOption) (*vtgate.ResolveTransactionResponse, error)
|
||||
// Split a query into non-overlapping sub queries
|
||||
// API group: Map Reduce
|
||||
SplitQuery(ctx context.Context, in *vtgate.SplitQueryRequest, opts ...grpc.CallOption) (*vtgate.SplitQueryResponse, error)
|
||||
|
@ -337,6 +340,15 @@ func (c *vitessClient) Rollback(ctx context.Context, in *vtgate.RollbackRequest,
|
|||
return out, nil
|
||||
}
|
||||
|
||||
func (c *vitessClient) ResolveTransaction(ctx context.Context, in *vtgate.ResolveTransactionRequest, opts ...grpc.CallOption) (*vtgate.ResolveTransactionResponse, error) {
|
||||
out := new(vtgate.ResolveTransactionResponse)
|
||||
err := grpc.Invoke(ctx, "/vtgateservice.Vitess/ResolveTransaction", in, out, c.cc, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *vitessClient) SplitQuery(ctx context.Context, in *vtgate.SplitQueryRequest, opts ...grpc.CallOption) (*vtgate.SplitQueryResponse, error) {
|
||||
out := new(vtgate.SplitQueryResponse)
|
||||
err := grpc.Invoke(ctx, "/vtgateservice.Vitess/SplitQuery", in, out, c.cc, opts...)
|
||||
|
@ -440,6 +452,9 @@ type VitessServer interface {
|
|||
// Rollback a transaction.
|
||||
// API group: Transactions
|
||||
Rollback(context.Context, *vtgate.RollbackRequest) (*vtgate.RollbackResponse, error)
|
||||
// ResolveTransaction resolves a transaction.
|
||||
// API group: Transactions
|
||||
ResolveTransaction(context.Context, *vtgate.ResolveTransactionRequest) (*vtgate.ResolveTransactionResponse, error)
|
||||
// Split a query into non-overlapping sub queries
|
||||
// API group: Map Reduce
|
||||
SplitQuery(context.Context, *vtgate.SplitQueryRequest) (*vtgate.SplitQueryResponse, error)
|
||||
|
@ -725,6 +740,24 @@ func _Vitess_Rollback_Handler(srv interface{}, ctx context.Context, dec func(int
|
|||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Vitess_ResolveTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(vtgate.ResolveTransactionRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(VitessServer).ResolveTransaction(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/vtgateservice.Vitess/ResolveTransaction",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(VitessServer).ResolveTransaction(ctx, req.(*vtgate.ResolveTransactionRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Vitess_SplitQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(vtgate.SplitQueryRequest)
|
||||
if err := dec(in); err != nil {
|
||||
|
@ -826,6 +859,10 @@ var _Vitess_serviceDesc = grpc.ServiceDesc{
|
|||
MethodName: "Rollback",
|
||||
Handler: _Vitess_Rollback_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ResolveTransaction",
|
||||
Handler: _Vitess_ResolveTransaction_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "SplitQuery",
|
||||
Handler: _Vitess_SplitQuery_Handler,
|
||||
|
@ -868,35 +905,36 @@ var _Vitess_serviceDesc = grpc.ServiceDesc{
|
|||
func init() { proto.RegisterFile("vtgateservice.proto", fileDescriptor0) }
|
||||
|
||||
var fileDescriptor0 = []byte{
|
||||
// 465 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x94, 0x5f, 0x8b, 0xd3, 0x40,
|
||||
0x14, 0xc5, 0xf5, 0xc1, 0x2a, 0xd7, 0xad, 0xc8, 0xac, 0x76, 0xd7, 0xba, 0xeb, 0x6a, 0xc5, 0x5d,
|
||||
0x9f, 0x82, 0x28, 0x08, 0x82, 0x20, 0x54, 0x8a, 0x88, 0x28, 0x6e, 0x83, 0xfa, 0xe4, 0xc3, 0x24,
|
||||
0xbd, 0x64, 0xc3, 0xe6, 0x5f, 0x33, 0x93, 0x60, 0x3e, 0x91, 0x5f, 0x53, 0x6c, 0x32, 0xb7, 0x33,
|
||||
0x93, 0x49, 0xfb, 0xb6, 0x39, 0xe7, 0xdc, 0xdf, 0x6c, 0xcf, 0x5c, 0x06, 0x0e, 0x6b, 0x19, 0x71,
|
||||
0x89, 0x02, 0xcb, 0x3a, 0x0e, 0xd1, 0x2b, 0xca, 0x5c, 0xe6, 0x6c, 0x6c, 0x88, 0xd3, 0x83, 0xf6,
|
||||
0xb3, 0x35, 0x5f, 0xff, 0xbd, 0x0b, 0xa3, 0x9f, 0xb1, 0x44, 0x21, 0xd8, 0x7b, 0xb8, 0xbd, 0xf8,
|
||||
0x83, 0x61, 0x25, 0x91, 0x4d, 0xbc, 0x2e, 0xd4, 0x09, 0x4b, 0x5c, 0x57, 0x28, 0xe4, 0xf4, 0xa8,
|
||||
0xa7, 0x8b, 0x22, 0xcf, 0x04, 0xce, 0x6e, 0xb0, 0x6f, 0x30, 0xee, 0x44, 0xff, 0x8a, 0x97, 0x2b,
|
||||
0xc1, 0x4e, 0xac, 0x6c, 0x2b, 0x2b, 0xd2, 0xe9, 0x80, 0x4b, 0xbc, 0xdf, 0xc0, 0x3a, 0xeb, 0x0b,
|
||||
0x36, 0xa2, 0xe0, 0x21, 0x7e, 0x5e, 0x09, 0xf6, 0xcc, 0x1a, 0xd3, 0x3c, 0x45, 0x9e, 0xed, 0x8a,
|
||||
0x10, 0xfe, 0x17, 0xdc, 0xdf, 0xfa, 0x4b, 0x9e, 0x45, 0x28, 0xd8, 0x59, 0x7f, 0xb2, 0x75, 0x14,
|
||||
0xfa, 0xe9, 0x70, 0xc0, 0x01, 0x5e, 0x64, 0x32, 0x96, 0xcd, 0xff, 0xff, 0xda, 0x06, 0x93, 0x33,
|
||||
0x04, 0xd6, 0x02, 0x8e, 0x42, 0xe6, 0x5c, 0x86, 0x57, 0x5d, 0xcb, 0x76, 0x21, 0x9a, 0x37, 0x54,
|
||||
0x88, 0x11, 0x21, 0x7c, 0x02, 0x47, 0xba, 0xaf, 0x97, 0x7e, 0xee, 0x02, 0x38, 0x9a, 0xbf, 0xd8,
|
||||
0x9b, 0xa3, 0xd3, 0xbe, 0xc3, 0xd8, 0x97, 0x25, 0xf2, 0x54, 0x6d, 0x1c, 0x6d, 0x8b, 0x21, 0xf7,
|
||||
0xb6, 0xc5, 0x72, 0x15, 0xef, 0xd5, 0x4d, 0x16, 0xc0, 0xa1, 0x61, 0x76, 0xfd, 0xcc, 0x9c, 0x93,
|
||||
0x66, 0x41, 0xcf, 0x77, 0x66, 0xb4, 0x33, 0xd6, 0x70, 0x6c, 0x44, 0xf4, 0x92, 0x2e, 0x9c, 0x10,
|
||||
0x47, 0x4b, 0x2f, 0xf7, 0x07, 0xb5, 0x23, 0xaf, 0x61, 0x62, 0xe7, 0xba, 0x6d, 0x7d, 0x31, 0xc4,
|
||||
0x31, 0x77, 0xf6, 0x7c, 0x5f, 0x4c, 0x3b, 0xec, 0x2d, 0xdc, 0x9a, 0x63, 0x14, 0x67, 0xec, 0x81,
|
||||
0x1a, 0xda, 0x7c, 0x2a, 0xd4, 0x43, 0x4b, 0xa5, 0xdb, 0x7c, 0x07, 0xa3, 0x8f, 0x79, 0x9a, 0xc6,
|
||||
0x92, 0x51, 0xa4, 0xfd, 0x56, 0x93, 0x13, 0x5b, 0xa6, 0xd1, 0x0f, 0x70, 0x67, 0x99, 0x27, 0x49,
|
||||
0xc0, 0xc3, 0x6b, 0x46, 0xaf, 0x8b, 0x52, 0xd4, 0xf8, 0x71, 0xdf, 0x20, 0xc0, 0x02, 0xc0, 0x2f,
|
||||
0x92, 0x58, 0x5e, 0x56, 0x58, 0x36, 0xec, 0x11, 0xfd, 0x5a, 0xd2, 0x14, 0x64, 0xea, 0xb2, 0x08,
|
||||
0x73, 0x09, 0xf7, 0x3e, 0xa1, 0xf4, 0xcb, 0x5a, 0x5d, 0x04, 0xa3, 0x9d, 0x33, 0x75, 0x85, 0x7b,
|
||||
0x32, 0x64, 0x13, 0xf2, 0x2b, 0x1c, 0xfc, 0x28, 0x56, 0x5c, 0x62, 0xdb, 0x3c, 0x7b, 0xac, 0x26,
|
||||
0x74, 0x55, 0xe1, 0x4e, 0xdc, 0xe6, 0xf6, 0x72, 0xe6, 0x67, 0x70, 0x1a, 0xe6, 0xa9, 0xd7, 0xe4,
|
||||
0x95, 0xac, 0x02, 0xf4, 0xea, 0xcd, 0xa3, 0xdd, 0xbe, 0xe2, 0x5e, 0x54, 0x16, 0x61, 0x30, 0xda,
|
||||
0xfc, 0xfd, 0xe6, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x83, 0x0a, 0x30, 0xea, 0x05, 0x06, 0x00,
|
||||
0x00,
|
||||
// 490 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x95, 0x5f, 0x8b, 0xd3, 0x40,
|
||||
0x14, 0xc5, 0xf5, 0xc1, 0x2a, 0x97, 0x56, 0x64, 0x56, 0xbb, 0x6b, 0xdd, 0x75, 0xb5, 0xe2, 0xae,
|
||||
0x4f, 0x41, 0x14, 0x04, 0x41, 0x10, 0x2a, 0x45, 0x44, 0x14, 0xb7, 0xf5, 0xcf, 0x93, 0x0f, 0xd3,
|
||||
0xf4, 0xd2, 0x0d, 0x9b, 0x66, 0xb2, 0x99, 0x9b, 0x60, 0xbe, 0x80, 0x9f, 0x5b, 0x6c, 0x32, 0xb7,
|
||||
0x93, 0xc9, 0xa4, 0x7d, 0xdb, 0x9c, 0x73, 0xee, 0x6f, 0x96, 0x33, 0x37, 0x0d, 0x1c, 0x14, 0xb4,
|
||||
0x92, 0x84, 0x1a, 0xb3, 0x22, 0x0a, 0x31, 0x48, 0x33, 0x45, 0x4a, 0x0c, 0x1a, 0xe2, 0xa8, 0x5f,
|
||||
0x3d, 0x56, 0xe6, 0xab, 0xbf, 0x7d, 0xe8, 0xfd, 0x8c, 0x08, 0xb5, 0x16, 0xef, 0xe0, 0xf6, 0xf4,
|
||||
0x0f, 0x86, 0x39, 0xa1, 0x18, 0x06, 0x75, 0xa8, 0x16, 0x66, 0x78, 0x9d, 0xa3, 0xa6, 0xd1, 0x61,
|
||||
0x4b, 0xd7, 0xa9, 0x4a, 0x34, 0x8e, 0x6f, 0x88, 0xaf, 0x30, 0xa8, 0xc5, 0xf9, 0xa5, 0xcc, 0x96,
|
||||
0x5a, 0x1c, 0x3b, 0xd9, 0x4a, 0x36, 0xa4, 0x93, 0x0e, 0x97, 0x79, 0xbf, 0x41, 0xd4, 0xd6, 0x67,
|
||||
0x2c, 0x75, 0x2a, 0x43, 0xfc, 0xb4, 0xd4, 0xe2, 0xa9, 0x33, 0x66, 0x79, 0x86, 0x3c, 0xde, 0x15,
|
||||
0x61, 0xfc, 0x2f, 0xb8, 0xb7, 0xf5, 0x67, 0x32, 0x59, 0xa1, 0x16, 0xa7, 0xed, 0xc9, 0xca, 0x31,
|
||||
0xe8, 0x27, 0xdd, 0x01, 0x0f, 0x78, 0x9a, 0x50, 0x44, 0xe5, 0xff, 0xff, 0xda, 0x05, 0xb3, 0xd3,
|
||||
0x05, 0xb6, 0x02, 0x9e, 0x42, 0x26, 0x92, 0xc2, 0xcb, 0xba, 0x65, 0xb7, 0x10, 0xcb, 0xeb, 0x2a,
|
||||
0xa4, 0x11, 0x61, 0x7c, 0x0c, 0x87, 0xb6, 0x6f, 0x97, 0x7e, 0xe6, 0x03, 0x78, 0x9a, 0x3f, 0xdf,
|
||||
0x9b, 0xe3, 0xd3, 0xbe, 0xc1, 0x60, 0x4e, 0x19, 0xca, 0xb5, 0xd9, 0x38, 0xde, 0x96, 0x86, 0xdc,
|
||||
0xda, 0x16, 0xc7, 0x35, 0xbc, 0x97, 0x37, 0xc5, 0x02, 0x0e, 0x1a, 0x66, 0xdd, 0xcf, 0xd8, 0x3b,
|
||||
0xd9, 0x2c, 0xe8, 0xd9, 0xce, 0x8c, 0x75, 0xc6, 0x35, 0x1c, 0x35, 0x22, 0x76, 0x49, 0xe7, 0x5e,
|
||||
0x88, 0xa7, 0xa5, 0x17, 0xfb, 0x83, 0xd6, 0x91, 0x57, 0x30, 0x74, 0x73, 0xf5, 0xb6, 0x3e, 0xef,
|
||||
0xe2, 0x34, 0x77, 0xf6, 0x6c, 0x5f, 0xcc, 0x3a, 0xec, 0x0d, 0xdc, 0x9a, 0xe0, 0x2a, 0x4a, 0xc4,
|
||||
0x7d, 0x33, 0xb4, 0x79, 0x34, 0xa8, 0x07, 0x8e, 0xca, 0xb7, 0xf9, 0x16, 0x7a, 0x1f, 0xd4, 0x7a,
|
||||
0x1d, 0x91, 0xe0, 0x48, 0xf5, 0x6c, 0x26, 0x87, 0xae, 0xcc, 0xa3, 0xef, 0xe1, 0xce, 0x4c, 0xc5,
|
||||
0xf1, 0x42, 0x86, 0x57, 0x82, 0x7f, 0x5d, 0x8c, 0x62, 0xc6, 0x8f, 0xda, 0x86, 0xfd, 0x5a, 0xcc,
|
||||
0x50, 0xab, 0xb8, 0xc0, 0xef, 0x99, 0x4c, 0xb4, 0x0c, 0x29, 0x52, 0xc9, 0xf6, 0xb5, 0x68, 0x7b,
|
||||
0xad, 0xd7, 0xc2, 0x17, 0x61, 0xfc, 0x14, 0x60, 0x9e, 0xc6, 0x11, 0x5d, 0xe4, 0x98, 0x95, 0xe2,
|
||||
0x21, 0x97, 0xc9, 0x9a, 0xc1, 0x8d, 0x7c, 0x16, 0x63, 0x2e, 0xe0, 0xee, 0x47, 0xa4, 0x79, 0x56,
|
||||
0x98, 0x7b, 0x16, 0xbc, 0xd2, 0x4d, 0xdd, 0xe0, 0x1e, 0x77, 0xd9, 0x8c, 0xfc, 0x02, 0xfd, 0x1f,
|
||||
0xe9, 0x52, 0x12, 0x56, 0x17, 0x2b, 0x1e, 0x99, 0x09, 0x5b, 0x35, 0xb8, 0x63, 0xbf, 0xb9, 0xbd,
|
||||
0xfb, 0xc9, 0x29, 0x9c, 0x84, 0x6a, 0x1d, 0x94, 0x2a, 0xa7, 0x7c, 0x81, 0x41, 0xb1, 0xf9, 0x26,
|
||||
0x54, 0x1f, 0x89, 0x60, 0x95, 0xa5, 0xe1, 0xa2, 0xb7, 0xf9, 0xfb, 0xf5, 0xbf, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0x69, 0x3f, 0xb5, 0xcf, 0x64, 0x06, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -151,6 +151,14 @@ func (f *fakeVTGateService) Rollback(ctx context.Context, session *vtgatepb.Sess
|
|||
return nil
|
||||
}
|
||||
|
||||
// ResolveTransaction is part of the VTGateService interface
|
||||
func (f *fakeVTGateService) ResolveTransaction(ctx context.Context, dtid string) error {
|
||||
if dtid != dtid2 {
|
||||
return errors.New("ResolveTransaction: dtid mismatch")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// SplitQuery is part of the VTGateService interface
|
||||
func (f *fakeVTGateService) SplitQuery(
|
||||
ctx context.Context,
|
||||
|
@ -287,3 +295,5 @@ var session2 = &vtgatepb.Session{
|
|||
},
|
||||
},
|
||||
}
|
||||
|
||||
var dtid2 = "aa"
|
||||
|
|
|
@ -334,6 +334,11 @@ func (conn *FakeVTGateConn) Rollback(ctx context.Context, session interface{}) e
|
|||
return nil
|
||||
}
|
||||
|
||||
// ResolveTransaction please see vtgateconn.Impl.ResolveTransaction
|
||||
func (conn *FakeVTGateConn) ResolveTransaction(ctx context.Context, dtid string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// SplitQuery please see vtgateconn.Impl.SplitQuery
|
||||
func (conn *FakeVTGateConn) SplitQuery(
|
||||
ctx context.Context,
|
||||
|
|
|
@ -403,6 +403,15 @@ func (conn *vtgateConn) Rollback(ctx context.Context, session interface{}) error
|
|||
return vterrors.FromGRPCError(err)
|
||||
}
|
||||
|
||||
func (conn *vtgateConn) ResolveTransaction(ctx context.Context, dtid string) error {
|
||||
request := &vtgatepb.ResolveTransactionRequest{
|
||||
CallerId: callerid.EffectiveCallerIDFromContext(ctx),
|
||||
Dtid: dtid,
|
||||
}
|
||||
_, err := conn.c.ResolveTransaction(ctx, request)
|
||||
return vterrors.FromGRPCError(err)
|
||||
}
|
||||
|
||||
func (conn *vtgateConn) SplitQuery(
|
||||
ctx context.Context,
|
||||
keyspace string,
|
||||
|
|
|
@ -361,6 +361,18 @@ func (vtg *VTGate) Rollback(ctx context.Context, request *vtgatepb.RollbackReque
|
|||
return nil, vterrors.ToGRPCError(vtgErr)
|
||||
}
|
||||
|
||||
// ResolveTransaction is the RPC version of vtgateservice.VTGateService method
|
||||
func (vtg *VTGate) ResolveTransaction(ctx context.Context, request *vtgatepb.ResolveTransactionRequest) (response *vtgatepb.ResolveTransactionResponse, err error) {
|
||||
defer vtg.server.HandlePanic(&err)
|
||||
ctx = withCallerIDContext(ctx, request.CallerId)
|
||||
vtgErr := vtg.server.ResolveTransaction(ctx, request.Dtid)
|
||||
response = &vtgatepb.ResolveTransactionResponse{}
|
||||
if vtgErr == nil {
|
||||
return response, nil
|
||||
}
|
||||
return nil, vterrors.ToGRPCError(vtgErr)
|
||||
}
|
||||
|
||||
// SplitQuery is the RPC version of vtgateservice.VTGateService method
|
||||
func (vtg *VTGate) SplitQuery(ctx context.Context, request *vtgatepb.SplitQueryRequest) (response *vtgatepb.SplitQueryResponse, err error) {
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ func (txc *TxConn) commit2PC(ctx context.Context, session *SafeSession) error {
|
|||
if err != nil {
|
||||
// TODO(sougou): Perform a more fine-grained cleanup
|
||||
// including unprepared transactions.
|
||||
if resumeErr := txc.Resume(ctx, dtid); resumeErr != nil {
|
||||
if resumeErr := txc.Resolve(ctx, dtid); resumeErr != nil {
|
||||
log.Warningf("Rollback failed after Prepare failure: %v", resumeErr)
|
||||
}
|
||||
// Return the original error even if the previous operation fails.
|
||||
|
@ -135,8 +135,8 @@ func (txc *TxConn) RollbackIfNeeded(ctx context.Context, err error, session *Saf
|
|||
}
|
||||
}
|
||||
|
||||
// Resume resumes the specified 2PC transaction.
|
||||
func (txc *TxConn) Resume(ctx context.Context, dtid string) error {
|
||||
// Resolve resolves the specified 2PC transaction.
|
||||
func (txc *TxConn) Resolve(ctx context.Context, dtid string) error {
|
||||
mmShard, err := txc.dtidToShardSession(dtid)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
@ -318,7 +318,7 @@ func TestTxConnRollback(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestTxConnResumeOnPrepare(t *testing.T) {
|
||||
func TestTxConnResolveOnPrepare(t *testing.T) {
|
||||
sc, sbc0, sbc1 := newTestTxConnEnv("TestTxConn")
|
||||
|
||||
dtid := "TestTxConn:0:0:1234"
|
||||
|
@ -331,7 +331,7 @@ func TestTxConnResumeOnPrepare(t *testing.T) {
|
|||
TabletType: topodatapb.TabletType_MASTER,
|
||||
}},
|
||||
}}
|
||||
err := sc.txConn.Resume(context.Background(), dtid)
|
||||
err := sc.txConn.Resolve(context.Background(), dtid)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
@ -349,7 +349,7 @@ func TestTxConnResumeOnPrepare(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestTxConnResumeOnRollback(t *testing.T) {
|
||||
func TestTxConnResolveOnRollback(t *testing.T) {
|
||||
sc, sbc0, sbc1 := newTestTxConnEnv("TestTxConn")
|
||||
|
||||
dtid := "TestTxConn:0:0:1234"
|
||||
|
@ -362,7 +362,7 @@ func TestTxConnResumeOnRollback(t *testing.T) {
|
|||
TabletType: topodatapb.TabletType_MASTER,
|
||||
}},
|
||||
}}
|
||||
if err := sc.txConn.Resume(context.Background(), dtid); err != nil {
|
||||
if err := sc.txConn.Resolve(context.Background(), dtid); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if c := sbc0.SetRollbackCount.Get(); c != 0 {
|
||||
|
@ -379,7 +379,7 @@ func TestTxConnResumeOnRollback(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestTxConnResumeOnCommit(t *testing.T) {
|
||||
func TestTxConnResolveOnCommit(t *testing.T) {
|
||||
sc, sbc0, sbc1 := newTestTxConnEnv("TestTxConn")
|
||||
|
||||
dtid := "TestTxConn:0:0:1234"
|
||||
|
@ -392,7 +392,7 @@ func TestTxConnResumeOnCommit(t *testing.T) {
|
|||
TabletType: topodatapb.TabletType_MASTER,
|
||||
}},
|
||||
}}
|
||||
if err := sc.txConn.Resume(context.Background(), dtid); err != nil {
|
||||
if err := sc.txConn.Resolve(context.Background(), dtid); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if c := sbc0.SetRollbackCount.Get(); c != 0 {
|
||||
|
@ -409,29 +409,29 @@ func TestTxConnResumeOnCommit(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestTxConnResumeInvalidDTID(t *testing.T) {
|
||||
func TestTxConnResolveInvalidDTID(t *testing.T) {
|
||||
sc, _, _ := newTestTxConnEnv("TestTxConn")
|
||||
|
||||
err := sc.txConn.Resume(context.Background(), "abcd")
|
||||
err := sc.txConn.Resolve(context.Background(), "abcd")
|
||||
want := "invalid parts in dtid: abcd"
|
||||
if err == nil || err.Error() != want {
|
||||
t.Errorf("Resume: %v, want %s", err, want)
|
||||
t.Errorf("Resolve: %v, want %s", err, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTxConnResumeReadTransactionFail(t *testing.T) {
|
||||
func TestTxConnResolveReadTransactionFail(t *testing.T) {
|
||||
sc, sbc0, _ := newTestTxConnEnv("TestTxConn")
|
||||
|
||||
dtid := "TestTxConn:0:0:1234"
|
||||
sbc0.MustFailServer = 1
|
||||
err := sc.txConn.Resume(context.Background(), dtid)
|
||||
err := sc.txConn.Resolve(context.Background(), dtid)
|
||||
want := "error: err"
|
||||
if err == nil || !strings.Contains(err.Error(), want) {
|
||||
t.Errorf("Resume: %v, want %s", err, want)
|
||||
t.Errorf("Resolve: %v, want %s", err, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTxConnResumeInternalError(t *testing.T) {
|
||||
func TestTxConnResolveInternalError(t *testing.T) {
|
||||
sc, sbc0, _ := newTestTxConnEnv("TestTxConn")
|
||||
|
||||
dtid := "TestTxConn:0:0:1234"
|
||||
|
@ -444,14 +444,14 @@ func TestTxConnResumeInternalError(t *testing.T) {
|
|||
TabletType: topodatapb.TabletType_MASTER,
|
||||
}},
|
||||
}}
|
||||
err := sc.txConn.Resume(context.Background(), dtid)
|
||||
err := sc.txConn.Resolve(context.Background(), dtid)
|
||||
want := "invalid state: UNKNOWN"
|
||||
if err == nil || !strings.Contains(err.Error(), want) {
|
||||
t.Errorf("Resume: %v, want %s", err, want)
|
||||
t.Errorf("Resolve: %v, want %s", err, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTxConnResumeSetRollbackFail(t *testing.T) {
|
||||
func TestTxConnResolveSetRollbackFail(t *testing.T) {
|
||||
sc, sbc0, sbc1 := newTestTxConnEnv("TestTxConn")
|
||||
|
||||
dtid := "TestTxConn:0:0:1234"
|
||||
|
@ -465,10 +465,10 @@ func TestTxConnResumeSetRollbackFail(t *testing.T) {
|
|||
}},
|
||||
}}
|
||||
sbc0.MustFailSetRollback = 1
|
||||
err := sc.txConn.Resume(context.Background(), dtid)
|
||||
err := sc.txConn.Resolve(context.Background(), dtid)
|
||||
want := "error: err"
|
||||
if err == nil || !strings.Contains(err.Error(), want) {
|
||||
t.Errorf("Resume: %v, want %s", err, want)
|
||||
t.Errorf("Resolve: %v, want %s", err, want)
|
||||
}
|
||||
if c := sbc0.SetRollbackCount.Get(); c != 1 {
|
||||
t.Errorf("sbc0.SetRollbackCount: %d, want 1", c)
|
||||
|
@ -484,7 +484,7 @@ func TestTxConnResumeSetRollbackFail(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestTxConnResumeRollbackPreparedFail(t *testing.T) {
|
||||
func TestTxConnResolveRollbackPreparedFail(t *testing.T) {
|
||||
sc, sbc0, sbc1 := newTestTxConnEnv("TestTxConn")
|
||||
|
||||
dtid := "TestTxConn:0:0:1234"
|
||||
|
@ -498,10 +498,10 @@ func TestTxConnResumeRollbackPreparedFail(t *testing.T) {
|
|||
}},
|
||||
}}
|
||||
sbc1.MustFailRollbackPrepared = 1
|
||||
err := sc.txConn.Resume(context.Background(), dtid)
|
||||
err := sc.txConn.Resolve(context.Background(), dtid)
|
||||
want := "error: err"
|
||||
if err == nil || !strings.Contains(err.Error(), want) {
|
||||
t.Errorf("Resume: %v, want %s", err, want)
|
||||
t.Errorf("Resolve: %v, want %s", err, want)
|
||||
}
|
||||
if c := sbc0.SetRollbackCount.Get(); c != 0 {
|
||||
t.Errorf("sbc0.SetRollbackCount: %d, want 0", c)
|
||||
|
@ -517,7 +517,7 @@ func TestTxConnResumeRollbackPreparedFail(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestTxConnResumeCommitPreparedFail(t *testing.T) {
|
||||
func TestTxConnResolveCommitPreparedFail(t *testing.T) {
|
||||
sc, sbc0, sbc1 := newTestTxConnEnv("TestTxConn")
|
||||
|
||||
dtid := "TestTxConn:0:0:1234"
|
||||
|
@ -531,10 +531,10 @@ func TestTxConnResumeCommitPreparedFail(t *testing.T) {
|
|||
}},
|
||||
}}
|
||||
sbc1.MustFailCommitPrepared = 1
|
||||
err := sc.txConn.Resume(context.Background(), dtid)
|
||||
err := sc.txConn.Resolve(context.Background(), dtid)
|
||||
want := "error: err"
|
||||
if err == nil || !strings.Contains(err.Error(), want) {
|
||||
t.Errorf("Resume: %v, want %s", err, want)
|
||||
t.Errorf("Resolve: %v, want %s", err, want)
|
||||
}
|
||||
if c := sbc0.SetRollbackCount.Get(); c != 0 {
|
||||
t.Errorf("sbc0.SetRollbackCount: %d, want 0", c)
|
||||
|
@ -550,7 +550,7 @@ func TestTxConnResumeCommitPreparedFail(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestTxConnResumeConcludeTransactionFail(t *testing.T) {
|
||||
func TestTxConnResolveConcludeTransactionFail(t *testing.T) {
|
||||
sc, sbc0, sbc1 := newTestTxConnEnv("TestTxConn")
|
||||
|
||||
dtid := "TestTxConn:0:0:1234"
|
||||
|
@ -564,10 +564,10 @@ func TestTxConnResumeConcludeTransactionFail(t *testing.T) {
|
|||
}},
|
||||
}}
|
||||
sbc0.MustFailConcludeTransaction = 1
|
||||
err := sc.txConn.Resume(context.Background(), dtid)
|
||||
err := sc.txConn.Resolve(context.Background(), dtid)
|
||||
want := "error: err"
|
||||
if err == nil || !strings.Contains(err.Error(), want) {
|
||||
t.Errorf("Resume: %v, want %s", err, want)
|
||||
t.Errorf("Resolve: %v, want %s", err, want)
|
||||
}
|
||||
if c := sbc0.SetRollbackCount.Get(); c != 0 {
|
||||
t.Errorf("sbc0.SetRollbackCount: %d, want 0", c)
|
||||
|
|
|
@ -583,6 +583,11 @@ func (vtg *VTGate) Rollback(ctx context.Context, session *vtgatepb.Session) erro
|
|||
return formatError(vtg.txConn.Rollback(ctx, NewSafeSession(session)))
|
||||
}
|
||||
|
||||
// ResolveTransaction resolves the specified 2PC transaction.
|
||||
func (vtg *VTGate) ResolveTransaction(ctx context.Context, dtid string) error {
|
||||
return formatError(vtg.txConn.Resolve(ctx, dtid))
|
||||
}
|
||||
|
||||
// isKeyspaceRangeBasedSharded returns true if a keyspace is sharded
|
||||
// by range. This is true when there is a ShardingColumnType defined
|
||||
// in the SrvKeyspace (that is using the range-based sharding with the
|
||||
|
|
|
@ -111,6 +111,11 @@ func (conn *VTGateConn) StreamExecuteKeyspaceIds(ctx context.Context, query stri
|
|||
return conn.impl.StreamExecuteKeyspaceIds(ctx, query, keyspace, keyspaceIds, bindVars, tabletType, options)
|
||||
}
|
||||
|
||||
// ResolveTransaction resolves the 2pc transaction.
|
||||
func (conn *VTGateConn) ResolveTransaction(ctx context.Context, dtid string) error {
|
||||
return conn.impl.ResolveTransaction(ctx, dtid)
|
||||
}
|
||||
|
||||
// Begin starts a transaction and returns a VTGateTX.
|
||||
func (conn *VTGateConn) Begin(ctx context.Context) (*VTGateTx, error) {
|
||||
session, err := conn.impl.Begin(ctx)
|
||||
|
@ -311,6 +316,8 @@ type Impl interface {
|
|||
Commit(ctx context.Context, session interface{}) error
|
||||
// Rollback rolls back the current transaction.
|
||||
Rollback(ctx context.Context, session interface{}) error
|
||||
// ResolveTransaction resolves the specified 2pc transaction.
|
||||
ResolveTransaction(ctx context.Context, dtid string) error
|
||||
|
||||
// SplitQuery splits a query into smaller queries. It is mostly used by batch job frameworks
|
||||
// such as MapReduce. See the documentation for the vtgate.SplitQueryRequest protocol buffer
|
||||
|
|
|
@ -628,6 +628,21 @@ func (f *fakeVTGateService) Rollback(ctx context.Context, inSession *vtgatepb.Se
|
|||
return nil
|
||||
}
|
||||
|
||||
// ResolveTransaction is part of the VTGateService interface
|
||||
func (f *fakeVTGateService) ResolveTransaction(ctx context.Context, dtid string) error {
|
||||
if f.hasError {
|
||||
return errTestVtGateError
|
||||
}
|
||||
if f.panics {
|
||||
panic(fmt.Errorf("test forced panic"))
|
||||
}
|
||||
f.checkCallerID(ctx, "ResolveTransaction")
|
||||
if dtid != dtid2 {
|
||||
return errors.New("ResolveTransaction: dtid mismatch")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// querySplitQuery contains all the fields we use to test SplitQuery
|
||||
type querySplitQuery struct {
|
||||
Keyspace string
|
||||
|
@ -802,6 +817,7 @@ func TestSuite(t *testing.T, impl vtgateconn.Impl, fakeServer vtgateservice.VTGa
|
|||
testStreamExecuteKeyRanges(t, conn)
|
||||
testStreamExecuteKeyspaceIds(t, conn)
|
||||
testTxPass(t, conn)
|
||||
testResolveTransaction(t, conn)
|
||||
testTxFail(t, conn)
|
||||
testSplitQuery(t, conn)
|
||||
testGetSrvKeyspace(t, conn)
|
||||
|
@ -812,6 +828,7 @@ func TestSuite(t *testing.T, impl vtgateconn.Impl, fakeServer vtgateservice.VTGa
|
|||
testBeginPanic(t, conn)
|
||||
testCommitPanic(t, conn, fs)
|
||||
testRollbackPanic(t, conn, fs)
|
||||
testResolveTransactionPanic(t, conn, fs)
|
||||
testExecutePanic(t, conn)
|
||||
testExecuteShardsPanic(t, conn)
|
||||
testExecuteKeyspaceIdsPanic(t, conn)
|
||||
|
@ -843,6 +860,7 @@ func TestErrorSuite(t *testing.T, fakeServer vtgateservice.VTGateService) {
|
|||
testBeginError(t, conn)
|
||||
testCommitError(t, conn, fs)
|
||||
testRollbackError(t, conn, fs)
|
||||
testResolveTransactionError(t, conn, fs)
|
||||
testExecuteError(t, conn, fs)
|
||||
testExecuteShardsError(t, conn, fs)
|
||||
testExecuteKeyspaceIdsError(t, conn, fs)
|
||||
|
@ -1559,6 +1577,12 @@ func testTxPass(t *testing.T, conn *vtgateconn.VTGateConn) {
|
|||
}
|
||||
}
|
||||
|
||||
func testResolveTransaction(t *testing.T, conn *vtgateconn.VTGateConn) {
|
||||
if err := conn.ResolveTransaction(newContext(), dtid2); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func testBeginError(t *testing.T, conn *vtgateconn.VTGateConn) {
|
||||
ctx := newContext()
|
||||
_, err := conn.Begin(ctx)
|
||||
|
@ -1593,6 +1617,11 @@ func testRollbackError(t *testing.T, conn *vtgateconn.VTGateConn, fake *fakeVTGa
|
|||
verifyError(t, err, "Rollback")
|
||||
}
|
||||
|
||||
func testResolveTransactionError(t *testing.T, conn *vtgateconn.VTGateConn, fake *fakeVTGateService) {
|
||||
err := conn.ResolveTransaction(newContext(), "")
|
||||
verifyError(t, err, "ResolveTransaction")
|
||||
}
|
||||
|
||||
func testBeginPanic(t *testing.T, conn *vtgateconn.VTGateConn) {
|
||||
ctx := newContext()
|
||||
_, err := conn.Begin(ctx)
|
||||
|
@ -1627,6 +1656,11 @@ func testRollbackPanic(t *testing.T, conn *vtgateconn.VTGateConn, fake *fakeVTGa
|
|||
expectPanic(t, err)
|
||||
}
|
||||
|
||||
func testResolveTransactionPanic(t *testing.T, conn *vtgateconn.VTGateConn, fake *fakeVTGateService) {
|
||||
err := conn.ResolveTransaction(newContext(), "")
|
||||
expectPanic(t, err)
|
||||
}
|
||||
|
||||
func testTxFail(t *testing.T, conn *vtgateconn.VTGateConn) {
|
||||
ctx := newContext()
|
||||
tx, err := conn.Begin(ctx)
|
||||
|
@ -2322,6 +2356,8 @@ var session2 = &vtgatepb.Session{
|
|||
},
|
||||
}
|
||||
|
||||
var dtid2 = "aa"
|
||||
|
||||
var splitQueryRequest = &querySplitQuery{
|
||||
Keyspace: "ks2",
|
||||
SQL: "in for SplitQuery",
|
||||
|
|
|
@ -41,6 +41,7 @@ type VTGateService interface {
|
|||
Begin(ctx context.Context) (*vtgatepb.Session, error)
|
||||
Commit(ctx context.Context, twopc bool, session *vtgatepb.Session) error
|
||||
Rollback(ctx context.Context, session *vtgatepb.Session) error
|
||||
ResolveTransaction(ctx context.Context, dtid string) error
|
||||
|
||||
// Map Reduce support
|
||||
|
||||
|
|
|
@ -522,6 +522,20 @@ message RollbackRequest {
|
|||
message RollbackResponse {
|
||||
}
|
||||
|
||||
// ResolveTransactionRequest is the payload to ResolveTransaction.
|
||||
message ResolveTransactionRequest {
|
||||
// caller_id identifies the caller. This is the effective caller ID,
|
||||
// set by the application to further identify the caller.
|
||||
vtrpc.CallerID caller_id = 1;
|
||||
|
||||
// dtid is the dtid of the transaction to be resolved.
|
||||
string dtid = 2;
|
||||
}
|
||||
|
||||
// ResolveTransactionResponse is the returned value from Rollback.
|
||||
message ResolveTransactionResponse {
|
||||
}
|
||||
|
||||
// SplitQueryRequest is the payload to SplitQuery.
|
||||
//
|
||||
// SplitQuery takes a "SELECT" query and generates a list of queries called
|
||||
|
|
|
@ -76,6 +76,10 @@ service Vitess {
|
|||
// API group: Transactions
|
||||
rpc Rollback(vtgate.RollbackRequest) returns (vtgate.RollbackResponse) {};
|
||||
|
||||
// ResolveTransaction resolves a transaction.
|
||||
// API group: Transactions
|
||||
rpc ResolveTransaction(vtgate.ResolveTransactionRequest) returns (vtgate.ResolveTransactionResponse) {};
|
||||
|
||||
// Split a query into non-overlapping sub queries
|
||||
// API group: Map Reduce
|
||||
rpc SplitQuery(vtgate.SplitQueryRequest) returns (vtgate.SplitQueryResponse) {};
|
||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -20,7 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
|
|||
name='vtgateservice.proto',
|
||||
package='vtgateservice',
|
||||
syntax='proto3',
|
||||
serialized_pb=_b('\n\x13vtgateservice.proto\x12\rvtgateservice\x1a\x0cvtgate.proto2\xa7\x0b\n\x06Vitess\x12<\n\x07\x45xecute\x12\x16.vtgate.ExecuteRequest\x1a\x17.vtgate.ExecuteResponse\"\x00\x12N\n\rExecuteShards\x12\x1c.vtgate.ExecuteShardsRequest\x1a\x1d.vtgate.ExecuteShardsResponse\"\x00\x12]\n\x12\x45xecuteKeyspaceIds\x12!.vtgate.ExecuteKeyspaceIdsRequest\x1a\".vtgate.ExecuteKeyspaceIdsResponse\"\x00\x12W\n\x10\x45xecuteKeyRanges\x12\x1f.vtgate.ExecuteKeyRangesRequest\x1a .vtgate.ExecuteKeyRangesResponse\"\x00\x12W\n\x10\x45xecuteEntityIds\x12\x1f.vtgate.ExecuteEntityIdsRequest\x1a .vtgate.ExecuteEntityIdsResponse\"\x00\x12]\n\x12\x45xecuteBatchShards\x12!.vtgate.ExecuteBatchShardsRequest\x1a\".vtgate.ExecuteBatchShardsResponse\"\x00\x12l\n\x17\x45xecuteBatchKeyspaceIds\x12&.vtgate.ExecuteBatchKeyspaceIdsRequest\x1a\'.vtgate.ExecuteBatchKeyspaceIdsResponse\"\x00\x12P\n\rStreamExecute\x12\x1c.vtgate.StreamExecuteRequest\x1a\x1d.vtgate.StreamExecuteResponse\"\x00\x30\x01\x12\x62\n\x13StreamExecuteShards\x12\".vtgate.StreamExecuteShardsRequest\x1a#.vtgate.StreamExecuteShardsResponse\"\x00\x30\x01\x12q\n\x18StreamExecuteKeyspaceIds\x12\'.vtgate.StreamExecuteKeyspaceIdsRequest\x1a(.vtgate.StreamExecuteKeyspaceIdsResponse\"\x00\x30\x01\x12k\n\x16StreamExecuteKeyRanges\x12%.vtgate.StreamExecuteKeyRangesRequest\x1a&.vtgate.StreamExecuteKeyRangesResponse\"\x00\x30\x01\x12\x36\n\x05\x42\x65gin\x12\x14.vtgate.BeginRequest\x1a\x15.vtgate.BeginResponse\"\x00\x12\x39\n\x06\x43ommit\x12\x15.vtgate.CommitRequest\x1a\x16.vtgate.CommitResponse\"\x00\x12?\n\x08Rollback\x12\x17.vtgate.RollbackRequest\x1a\x18.vtgate.RollbackResponse\"\x00\x12\x45\n\nSplitQuery\x12\x19.vtgate.SplitQueryRequest\x1a\x1a.vtgate.SplitQueryResponse\"\x00\x12Q\n\x0eGetSrvKeyspace\x12\x1d.vtgate.GetSrvKeyspaceRequest\x1a\x1e.vtgate.GetSrvKeyspaceResponse\"\x00\x12M\n\x0cUpdateStream\x12\x1b.vtgate.UpdateStreamRequest\x1a\x1c.vtgate.UpdateStreamResponse\"\x00\x30\x01\x42\x1f\n\x1d\x63om.youtube.vitess.proto.grpcb\x06proto3')
|
||||
serialized_pb=_b('\n\x13vtgateservice.proto\x12\rvtgateservice\x1a\x0cvtgate.proto2\x86\x0c\n\x06Vitess\x12<\n\x07\x45xecute\x12\x16.vtgate.ExecuteRequest\x1a\x17.vtgate.ExecuteResponse\"\x00\x12N\n\rExecuteShards\x12\x1c.vtgate.ExecuteShardsRequest\x1a\x1d.vtgate.ExecuteShardsResponse\"\x00\x12]\n\x12\x45xecuteKeyspaceIds\x12!.vtgate.ExecuteKeyspaceIdsRequest\x1a\".vtgate.ExecuteKeyspaceIdsResponse\"\x00\x12W\n\x10\x45xecuteKeyRanges\x12\x1f.vtgate.ExecuteKeyRangesRequest\x1a .vtgate.ExecuteKeyRangesResponse\"\x00\x12W\n\x10\x45xecuteEntityIds\x12\x1f.vtgate.ExecuteEntityIdsRequest\x1a .vtgate.ExecuteEntityIdsResponse\"\x00\x12]\n\x12\x45xecuteBatchShards\x12!.vtgate.ExecuteBatchShardsRequest\x1a\".vtgate.ExecuteBatchShardsResponse\"\x00\x12l\n\x17\x45xecuteBatchKeyspaceIds\x12&.vtgate.ExecuteBatchKeyspaceIdsRequest\x1a\'.vtgate.ExecuteBatchKeyspaceIdsResponse\"\x00\x12P\n\rStreamExecute\x12\x1c.vtgate.StreamExecuteRequest\x1a\x1d.vtgate.StreamExecuteResponse\"\x00\x30\x01\x12\x62\n\x13StreamExecuteShards\x12\".vtgate.StreamExecuteShardsRequest\x1a#.vtgate.StreamExecuteShardsResponse\"\x00\x30\x01\x12q\n\x18StreamExecuteKeyspaceIds\x12\'.vtgate.StreamExecuteKeyspaceIdsRequest\x1a(.vtgate.StreamExecuteKeyspaceIdsResponse\"\x00\x30\x01\x12k\n\x16StreamExecuteKeyRanges\x12%.vtgate.StreamExecuteKeyRangesRequest\x1a&.vtgate.StreamExecuteKeyRangesResponse\"\x00\x30\x01\x12\x36\n\x05\x42\x65gin\x12\x14.vtgate.BeginRequest\x1a\x15.vtgate.BeginResponse\"\x00\x12\x39\n\x06\x43ommit\x12\x15.vtgate.CommitRequest\x1a\x16.vtgate.CommitResponse\"\x00\x12?\n\x08Rollback\x12\x17.vtgate.RollbackRequest\x1a\x18.vtgate.RollbackResponse\"\x00\x12]\n\x12ResolveTransaction\x12!.vtgate.ResolveTransactionRequest\x1a\".vtgate.ResolveTransactionResponse\"\x00\x12\x45\n\nSplitQuery\x12\x19.vtgate.SplitQueryRequest\x1a\x1a.vtgate.SplitQueryResponse\"\x00\x12Q\n\x0eGetSrvKeyspace\x12\x1d.vtgate.GetSrvKeyspaceRequest\x1a\x1e.vtgate.GetSrvKeyspaceResponse\"\x00\x12M\n\x0cUpdateStream\x12\x1b.vtgate.UpdateStreamRequest\x1a\x1c.vtgate.UpdateStreamResponse\"\x00\x30\x01\x42\x1f\n\x1d\x63om.youtube.vitess.proto.grpcb\x06proto3')
|
||||
,
|
||||
dependencies=[vtgate__pb2.DESCRIPTOR,])
|
||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
@ -119,6 +119,11 @@ class VitessStub(object):
|
|||
request_serializer=vtgate__pb2.RollbackRequest.SerializeToString,
|
||||
response_deserializer=vtgate__pb2.RollbackResponse.FromString,
|
||||
)
|
||||
self.ResolveTransaction = channel.unary_unary(
|
||||
'/vtgateservice.Vitess/ResolveTransaction',
|
||||
request_serializer=vtgate__pb2.ResolveTransactionRequest.SerializeToString,
|
||||
response_deserializer=vtgate__pb2.ResolveTransactionResponse.FromString,
|
||||
)
|
||||
self.SplitQuery = channel.unary_unary(
|
||||
'/vtgateservice.Vitess/SplitQuery',
|
||||
request_serializer=vtgate__pb2.SplitQueryRequest.SerializeToString,
|
||||
|
@ -261,6 +266,14 @@ class VitessServicer(object):
|
|||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def ResolveTransaction(self, request, context):
|
||||
"""ResolveTransaction resolves a transaction.
|
||||
API group: Transactions
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def SplitQuery(self, request, context):
|
||||
"""Split a query into non-overlapping sub queries
|
||||
API group: Map Reduce
|
||||
|
@ -364,6 +377,11 @@ def add_VitessServicer_to_server(servicer, server):
|
|||
request_deserializer=vtgate__pb2.RollbackRequest.FromString,
|
||||
response_serializer=vtgate__pb2.RollbackResponse.SerializeToString,
|
||||
),
|
||||
'ResolveTransaction': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.ResolveTransaction,
|
||||
request_deserializer=vtgate__pb2.ResolveTransactionRequest.FromString,
|
||||
response_serializer=vtgate__pb2.ResolveTransactionResponse.SerializeToString,
|
||||
),
|
||||
'SplitQuery': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.SplitQuery,
|
||||
request_deserializer=vtgate__pb2.SplitQueryRequest.FromString,
|
||||
|
@ -467,6 +485,11 @@ class BetaVitessServicer(object):
|
|||
API group: Transactions
|
||||
"""
|
||||
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
|
||||
def ResolveTransaction(self, request, context):
|
||||
"""ResolveTransaction resolves a transaction.
|
||||
API group: Transactions
|
||||
"""
|
||||
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
|
||||
def SplitQuery(self, request, context):
|
||||
"""Split a query into non-overlapping sub queries
|
||||
API group: Map Reduce
|
||||
|
@ -582,6 +605,12 @@ class BetaVitessStub(object):
|
|||
"""
|
||||
raise NotImplementedError()
|
||||
Rollback.future = None
|
||||
def ResolveTransaction(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
|
||||
"""ResolveTransaction resolves a transaction.
|
||||
API group: Transactions
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
ResolveTransaction.future = None
|
||||
def SplitQuery(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
|
||||
"""Split a query into non-overlapping sub queries
|
||||
API group: Map Reduce
|
||||
|
@ -619,6 +648,7 @@ def beta_create_Vitess_server(servicer, pool=None, pool_size=None, default_timeo
|
|||
('vtgateservice.Vitess', 'ExecuteKeyspaceIds'): vtgate__pb2.ExecuteKeyspaceIdsRequest.FromString,
|
||||
('vtgateservice.Vitess', 'ExecuteShards'): vtgate__pb2.ExecuteShardsRequest.FromString,
|
||||
('vtgateservice.Vitess', 'GetSrvKeyspace'): vtgate__pb2.GetSrvKeyspaceRequest.FromString,
|
||||
('vtgateservice.Vitess', 'ResolveTransaction'): vtgate__pb2.ResolveTransactionRequest.FromString,
|
||||
('vtgateservice.Vitess', 'Rollback'): vtgate__pb2.RollbackRequest.FromString,
|
||||
('vtgateservice.Vitess', 'SplitQuery'): vtgate__pb2.SplitQueryRequest.FromString,
|
||||
('vtgateservice.Vitess', 'StreamExecute'): vtgate__pb2.StreamExecuteRequest.FromString,
|
||||
|
@ -638,6 +668,7 @@ def beta_create_Vitess_server(servicer, pool=None, pool_size=None, default_timeo
|
|||
('vtgateservice.Vitess', 'ExecuteKeyspaceIds'): vtgate__pb2.ExecuteKeyspaceIdsResponse.SerializeToString,
|
||||
('vtgateservice.Vitess', 'ExecuteShards'): vtgate__pb2.ExecuteShardsResponse.SerializeToString,
|
||||
('vtgateservice.Vitess', 'GetSrvKeyspace'): vtgate__pb2.GetSrvKeyspaceResponse.SerializeToString,
|
||||
('vtgateservice.Vitess', 'ResolveTransaction'): vtgate__pb2.ResolveTransactionResponse.SerializeToString,
|
||||
('vtgateservice.Vitess', 'Rollback'): vtgate__pb2.RollbackResponse.SerializeToString,
|
||||
('vtgateservice.Vitess', 'SplitQuery'): vtgate__pb2.SplitQueryResponse.SerializeToString,
|
||||
('vtgateservice.Vitess', 'StreamExecute'): vtgate__pb2.StreamExecuteResponse.SerializeToString,
|
||||
|
@ -657,6 +688,7 @@ def beta_create_Vitess_server(servicer, pool=None, pool_size=None, default_timeo
|
|||
('vtgateservice.Vitess', 'ExecuteKeyspaceIds'): face_utilities.unary_unary_inline(servicer.ExecuteKeyspaceIds),
|
||||
('vtgateservice.Vitess', 'ExecuteShards'): face_utilities.unary_unary_inline(servicer.ExecuteShards),
|
||||
('vtgateservice.Vitess', 'GetSrvKeyspace'): face_utilities.unary_unary_inline(servicer.GetSrvKeyspace),
|
||||
('vtgateservice.Vitess', 'ResolveTransaction'): face_utilities.unary_unary_inline(servicer.ResolveTransaction),
|
||||
('vtgateservice.Vitess', 'Rollback'): face_utilities.unary_unary_inline(servicer.Rollback),
|
||||
('vtgateservice.Vitess', 'SplitQuery'): face_utilities.unary_unary_inline(servicer.SplitQuery),
|
||||
('vtgateservice.Vitess', 'StreamExecute'): face_utilities.unary_stream_inline(servicer.StreamExecute),
|
||||
|
@ -681,6 +713,7 @@ def beta_create_Vitess_stub(channel, host=None, metadata_transformer=None, pool=
|
|||
('vtgateservice.Vitess', 'ExecuteKeyspaceIds'): vtgate__pb2.ExecuteKeyspaceIdsRequest.SerializeToString,
|
||||
('vtgateservice.Vitess', 'ExecuteShards'): vtgate__pb2.ExecuteShardsRequest.SerializeToString,
|
||||
('vtgateservice.Vitess', 'GetSrvKeyspace'): vtgate__pb2.GetSrvKeyspaceRequest.SerializeToString,
|
||||
('vtgateservice.Vitess', 'ResolveTransaction'): vtgate__pb2.ResolveTransactionRequest.SerializeToString,
|
||||
('vtgateservice.Vitess', 'Rollback'): vtgate__pb2.RollbackRequest.SerializeToString,
|
||||
('vtgateservice.Vitess', 'SplitQuery'): vtgate__pb2.SplitQueryRequest.SerializeToString,
|
||||
('vtgateservice.Vitess', 'StreamExecute'): vtgate__pb2.StreamExecuteRequest.SerializeToString,
|
||||
|
@ -700,6 +733,7 @@ def beta_create_Vitess_stub(channel, host=None, metadata_transformer=None, pool=
|
|||
('vtgateservice.Vitess', 'ExecuteKeyspaceIds'): vtgate__pb2.ExecuteKeyspaceIdsResponse.FromString,
|
||||
('vtgateservice.Vitess', 'ExecuteShards'): vtgate__pb2.ExecuteShardsResponse.FromString,
|
||||
('vtgateservice.Vitess', 'GetSrvKeyspace'): vtgate__pb2.GetSrvKeyspaceResponse.FromString,
|
||||
('vtgateservice.Vitess', 'ResolveTransaction'): vtgate__pb2.ResolveTransactionResponse.FromString,
|
||||
('vtgateservice.Vitess', 'Rollback'): vtgate__pb2.RollbackResponse.FromString,
|
||||
('vtgateservice.Vitess', 'SplitQuery'): vtgate__pb2.SplitQueryResponse.FromString,
|
||||
('vtgateservice.Vitess', 'StreamExecute'): vtgate__pb2.StreamExecuteResponse.FromString,
|
||||
|
@ -719,6 +753,7 @@ def beta_create_Vitess_stub(channel, host=None, metadata_transformer=None, pool=
|
|||
'ExecuteKeyspaceIds': cardinality.Cardinality.UNARY_UNARY,
|
||||
'ExecuteShards': cardinality.Cardinality.UNARY_UNARY,
|
||||
'GetSrvKeyspace': cardinality.Cardinality.UNARY_UNARY,
|
||||
'ResolveTransaction': cardinality.Cardinality.UNARY_UNARY,
|
||||
'Rollback': cardinality.Cardinality.UNARY_UNARY,
|
||||
'SplitQuery': cardinality.Cardinality.UNARY_UNARY,
|
||||
'StreamExecute': cardinality.Cardinality.UNARY_STREAM,
|
||||
|
|
Загрузка…
Ссылка в новой задаче