vitess.io/vitess@v0.16.2/go/vt/proto/binlogdata/binlogdata.pb.go (about) 1 // 2 //Copyright 2019 The Vitess Authors. 3 // 4 //Licensed under the Apache License, Version 2.0 (the "License"); 5 //you may not use this file except in compliance with the License. 6 //You may obtain a copy of the License at 7 // 8 //http://www.apache.org/licenses/LICENSE-2.0 9 // 10 //Unless required by applicable law or agreed to in writing, software 11 //distributed under the License is distributed on an "AS IS" BASIS, 12 //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 //See the License for the specific language governing permissions and 14 //limitations under the License. 15 16 // This file contains all the types and servers necessary to make 17 // RPC calls to VtTablet for the binlog protocol, used by filtered 18 // replication only. 19 20 // Code generated by protoc-gen-go. DO NOT EDIT. 21 // versions: 22 // protoc-gen-go v1.28.1 23 // protoc v3.21.3 24 // source: binlogdata.proto 25 26 package binlogdata 27 28 import ( 29 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 30 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 31 reflect "reflect" 32 sync "sync" 33 query "vitess.io/vitess/go/vt/proto/query" 34 topodata "vitess.io/vitess/go/vt/proto/topodata" 35 vtrpc "vitess.io/vitess/go/vt/proto/vtrpc" 36 ) 37 38 const ( 39 // Verify that this generated code is sufficiently up-to-date. 40 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 41 // Verify that runtime/protoimpl is sufficiently up-to-date. 42 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 43 ) 44 45 // OnDDLAction lists the possible actions for DDLs. 46 type OnDDLAction int32 47 48 const ( 49 OnDDLAction_IGNORE OnDDLAction = 0 50 OnDDLAction_STOP OnDDLAction = 1 51 OnDDLAction_EXEC OnDDLAction = 2 52 OnDDLAction_EXEC_IGNORE OnDDLAction = 3 53 ) 54 55 // Enum value maps for OnDDLAction. 56 var ( 57 OnDDLAction_name = map[int32]string{ 58 0: "IGNORE", 59 1: "STOP", 60 2: "EXEC", 61 3: "EXEC_IGNORE", 62 } 63 OnDDLAction_value = map[string]int32{ 64 "IGNORE": 0, 65 "STOP": 1, 66 "EXEC": 2, 67 "EXEC_IGNORE": 3, 68 } 69 ) 70 71 func (x OnDDLAction) Enum() *OnDDLAction { 72 p := new(OnDDLAction) 73 *p = x 74 return p 75 } 76 77 func (x OnDDLAction) String() string { 78 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 79 } 80 81 func (OnDDLAction) Descriptor() protoreflect.EnumDescriptor { 82 return file_binlogdata_proto_enumTypes[0].Descriptor() 83 } 84 85 func (OnDDLAction) Type() protoreflect.EnumType { 86 return &file_binlogdata_proto_enumTypes[0] 87 } 88 89 func (x OnDDLAction) Number() protoreflect.EnumNumber { 90 return protoreflect.EnumNumber(x) 91 } 92 93 // Deprecated: Use OnDDLAction.Descriptor instead. 94 func (OnDDLAction) EnumDescriptor() ([]byte, []int) { 95 return file_binlogdata_proto_rawDescGZIP(), []int{0} 96 } 97 98 // VReplicationWorkflowType define types of vreplication workflows. 99 type VReplicationWorkflowType int32 100 101 const ( 102 VReplicationWorkflowType_Materialize VReplicationWorkflowType = 0 103 VReplicationWorkflowType_MoveTables VReplicationWorkflowType = 1 104 VReplicationWorkflowType_CreateLookupIndex VReplicationWorkflowType = 2 105 VReplicationWorkflowType_Migrate VReplicationWorkflowType = 3 106 VReplicationWorkflowType_Reshard VReplicationWorkflowType = 4 107 VReplicationWorkflowType_OnlineDDL VReplicationWorkflowType = 5 108 ) 109 110 // Enum value maps for VReplicationWorkflowType. 111 var ( 112 VReplicationWorkflowType_name = map[int32]string{ 113 0: "Materialize", 114 1: "MoveTables", 115 2: "CreateLookupIndex", 116 3: "Migrate", 117 4: "Reshard", 118 5: "OnlineDDL", 119 } 120 VReplicationWorkflowType_value = map[string]int32{ 121 "Materialize": 0, 122 "MoveTables": 1, 123 "CreateLookupIndex": 2, 124 "Migrate": 3, 125 "Reshard": 4, 126 "OnlineDDL": 5, 127 } 128 ) 129 130 func (x VReplicationWorkflowType) Enum() *VReplicationWorkflowType { 131 p := new(VReplicationWorkflowType) 132 *p = x 133 return p 134 } 135 136 func (x VReplicationWorkflowType) String() string { 137 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 138 } 139 140 func (VReplicationWorkflowType) Descriptor() protoreflect.EnumDescriptor { 141 return file_binlogdata_proto_enumTypes[1].Descriptor() 142 } 143 144 func (VReplicationWorkflowType) Type() protoreflect.EnumType { 145 return &file_binlogdata_proto_enumTypes[1] 146 } 147 148 func (x VReplicationWorkflowType) Number() protoreflect.EnumNumber { 149 return protoreflect.EnumNumber(x) 150 } 151 152 // Deprecated: Use VReplicationWorkflowType.Descriptor instead. 153 func (VReplicationWorkflowType) EnumDescriptor() ([]byte, []int) { 154 return file_binlogdata_proto_rawDescGZIP(), []int{1} 155 } 156 157 // VReplicationWorkflowSubType define types of vreplication workflows. 158 type VReplicationWorkflowSubType int32 159 160 const ( 161 VReplicationWorkflowSubType_None VReplicationWorkflowSubType = 0 162 VReplicationWorkflowSubType_Partial VReplicationWorkflowSubType = 1 163 ) 164 165 // Enum value maps for VReplicationWorkflowSubType. 166 var ( 167 VReplicationWorkflowSubType_name = map[int32]string{ 168 0: "None", 169 1: "Partial", 170 } 171 VReplicationWorkflowSubType_value = map[string]int32{ 172 "None": 0, 173 "Partial": 1, 174 } 175 ) 176 177 func (x VReplicationWorkflowSubType) Enum() *VReplicationWorkflowSubType { 178 p := new(VReplicationWorkflowSubType) 179 *p = x 180 return p 181 } 182 183 func (x VReplicationWorkflowSubType) String() string { 184 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 185 } 186 187 func (VReplicationWorkflowSubType) Descriptor() protoreflect.EnumDescriptor { 188 return file_binlogdata_proto_enumTypes[2].Descriptor() 189 } 190 191 func (VReplicationWorkflowSubType) Type() protoreflect.EnumType { 192 return &file_binlogdata_proto_enumTypes[2] 193 } 194 195 func (x VReplicationWorkflowSubType) Number() protoreflect.EnumNumber { 196 return protoreflect.EnumNumber(x) 197 } 198 199 // Deprecated: Use VReplicationWorkflowSubType.Descriptor instead. 200 func (VReplicationWorkflowSubType) EnumDescriptor() ([]byte, []int) { 201 return file_binlogdata_proto_rawDescGZIP(), []int{2} 202 } 203 204 // VEventType enumerates the event types. Many of these types 205 // will not be encountered in RBR mode. 206 type VEventType int32 207 208 const ( 209 VEventType_UNKNOWN VEventType = 0 210 VEventType_GTID VEventType = 1 211 VEventType_BEGIN VEventType = 2 212 VEventType_COMMIT VEventType = 3 213 VEventType_ROLLBACK VEventType = 4 214 VEventType_DDL VEventType = 5 215 // INSERT, REPLACE, UPDATE, DELETE and SET will not be seen in RBR mode. 216 VEventType_INSERT VEventType = 6 217 VEventType_REPLACE VEventType = 7 218 VEventType_UPDATE VEventType = 8 219 VEventType_DELETE VEventType = 9 220 VEventType_SET VEventType = 10 221 // OTHER is a dummy event. If encountered, the current GTID must be 222 // recorded by the client to be able to resume. 223 VEventType_OTHER VEventType = 11 224 VEventType_ROW VEventType = 12 225 VEventType_FIELD VEventType = 13 226 // HEARTBEAT is sent if there is inactivity. If a client does not 227 // receive events beyond the hearbeat interval, it can assume that it's 228 // lost connection to the vstreamer. 229 VEventType_HEARTBEAT VEventType = 14 230 // VGTID is generated by VTGate's VStream that combines multiple 231 // GTIDs. 232 VEventType_VGTID VEventType = 15 233 VEventType_JOURNAL VEventType = 16 234 VEventType_VERSION VEventType = 17 235 VEventType_LASTPK VEventType = 18 236 VEventType_SAVEPOINT VEventType = 19 237 // COPY_COMPLETED is sent when VTGate's VStream copy operation is done. 238 // If a client experiences some disruptions before receiving the event, 239 // the client should restart the copy operation. 240 VEventType_COPY_COMPLETED VEventType = 20 241 ) 242 243 // Enum value maps for VEventType. 244 var ( 245 VEventType_name = map[int32]string{ 246 0: "UNKNOWN", 247 1: "GTID", 248 2: "BEGIN", 249 3: "COMMIT", 250 4: "ROLLBACK", 251 5: "DDL", 252 6: "INSERT", 253 7: "REPLACE", 254 8: "UPDATE", 255 9: "DELETE", 256 10: "SET", 257 11: "OTHER", 258 12: "ROW", 259 13: "FIELD", 260 14: "HEARTBEAT", 261 15: "VGTID", 262 16: "JOURNAL", 263 17: "VERSION", 264 18: "LASTPK", 265 19: "SAVEPOINT", 266 20: "COPY_COMPLETED", 267 } 268 VEventType_value = map[string]int32{ 269 "UNKNOWN": 0, 270 "GTID": 1, 271 "BEGIN": 2, 272 "COMMIT": 3, 273 "ROLLBACK": 4, 274 "DDL": 5, 275 "INSERT": 6, 276 "REPLACE": 7, 277 "UPDATE": 8, 278 "DELETE": 9, 279 "SET": 10, 280 "OTHER": 11, 281 "ROW": 12, 282 "FIELD": 13, 283 "HEARTBEAT": 14, 284 "VGTID": 15, 285 "JOURNAL": 16, 286 "VERSION": 17, 287 "LASTPK": 18, 288 "SAVEPOINT": 19, 289 "COPY_COMPLETED": 20, 290 } 291 ) 292 293 func (x VEventType) Enum() *VEventType { 294 p := new(VEventType) 295 *p = x 296 return p 297 } 298 299 func (x VEventType) String() string { 300 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 301 } 302 303 func (VEventType) Descriptor() protoreflect.EnumDescriptor { 304 return file_binlogdata_proto_enumTypes[3].Descriptor() 305 } 306 307 func (VEventType) Type() protoreflect.EnumType { 308 return &file_binlogdata_proto_enumTypes[3] 309 } 310 311 func (x VEventType) Number() protoreflect.EnumNumber { 312 return protoreflect.EnumNumber(x) 313 } 314 315 // Deprecated: Use VEventType.Descriptor instead. 316 func (VEventType) EnumDescriptor() ([]byte, []int) { 317 return file_binlogdata_proto_rawDescGZIP(), []int{3} 318 } 319 320 // MigrationType specifies the type of migration for the Journal. 321 type MigrationType int32 322 323 const ( 324 MigrationType_TABLES MigrationType = 0 325 MigrationType_SHARDS MigrationType = 1 326 ) 327 328 // Enum value maps for MigrationType. 329 var ( 330 MigrationType_name = map[int32]string{ 331 0: "TABLES", 332 1: "SHARDS", 333 } 334 MigrationType_value = map[string]int32{ 335 "TABLES": 0, 336 "SHARDS": 1, 337 } 338 ) 339 340 func (x MigrationType) Enum() *MigrationType { 341 p := new(MigrationType) 342 *p = x 343 return p 344 } 345 346 func (x MigrationType) String() string { 347 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 348 } 349 350 func (MigrationType) Descriptor() protoreflect.EnumDescriptor { 351 return file_binlogdata_proto_enumTypes[4].Descriptor() 352 } 353 354 func (MigrationType) Type() protoreflect.EnumType { 355 return &file_binlogdata_proto_enumTypes[4] 356 } 357 358 func (x MigrationType) Number() protoreflect.EnumNumber { 359 return protoreflect.EnumNumber(x) 360 } 361 362 // Deprecated: Use MigrationType.Descriptor instead. 363 func (MigrationType) EnumDescriptor() ([]byte, []int) { 364 return file_binlogdata_proto_rawDescGZIP(), []int{4} 365 } 366 367 type BinlogTransaction_Statement_Category int32 368 369 const ( 370 BinlogTransaction_Statement_BL_UNRECOGNIZED BinlogTransaction_Statement_Category = 0 371 BinlogTransaction_Statement_BL_BEGIN BinlogTransaction_Statement_Category = 1 372 BinlogTransaction_Statement_BL_COMMIT BinlogTransaction_Statement_Category = 2 373 BinlogTransaction_Statement_BL_ROLLBACK BinlogTransaction_Statement_Category = 3 374 // BL_DML is deprecated. 375 BinlogTransaction_Statement_BL_DML_DEPRECATED BinlogTransaction_Statement_Category = 4 376 BinlogTransaction_Statement_BL_DDL BinlogTransaction_Statement_Category = 5 377 BinlogTransaction_Statement_BL_SET BinlogTransaction_Statement_Category = 6 378 BinlogTransaction_Statement_BL_INSERT BinlogTransaction_Statement_Category = 7 379 BinlogTransaction_Statement_BL_UPDATE BinlogTransaction_Statement_Category = 8 380 BinlogTransaction_Statement_BL_DELETE BinlogTransaction_Statement_Category = 9 381 ) 382 383 // Enum value maps for BinlogTransaction_Statement_Category. 384 var ( 385 BinlogTransaction_Statement_Category_name = map[int32]string{ 386 0: "BL_UNRECOGNIZED", 387 1: "BL_BEGIN", 388 2: "BL_COMMIT", 389 3: "BL_ROLLBACK", 390 4: "BL_DML_DEPRECATED", 391 5: "BL_DDL", 392 6: "BL_SET", 393 7: "BL_INSERT", 394 8: "BL_UPDATE", 395 9: "BL_DELETE", 396 } 397 BinlogTransaction_Statement_Category_value = map[string]int32{ 398 "BL_UNRECOGNIZED": 0, 399 "BL_BEGIN": 1, 400 "BL_COMMIT": 2, 401 "BL_ROLLBACK": 3, 402 "BL_DML_DEPRECATED": 4, 403 "BL_DDL": 5, 404 "BL_SET": 6, 405 "BL_INSERT": 7, 406 "BL_UPDATE": 8, 407 "BL_DELETE": 9, 408 } 409 ) 410 411 func (x BinlogTransaction_Statement_Category) Enum() *BinlogTransaction_Statement_Category { 412 p := new(BinlogTransaction_Statement_Category) 413 *p = x 414 return p 415 } 416 417 func (x BinlogTransaction_Statement_Category) String() string { 418 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 419 } 420 421 func (BinlogTransaction_Statement_Category) Descriptor() protoreflect.EnumDescriptor { 422 return file_binlogdata_proto_enumTypes[5].Descriptor() 423 } 424 425 func (BinlogTransaction_Statement_Category) Type() protoreflect.EnumType { 426 return &file_binlogdata_proto_enumTypes[5] 427 } 428 429 func (x BinlogTransaction_Statement_Category) Number() protoreflect.EnumNumber { 430 return protoreflect.EnumNumber(x) 431 } 432 433 // Deprecated: Use BinlogTransaction_Statement_Category.Descriptor instead. 434 func (BinlogTransaction_Statement_Category) EnumDescriptor() ([]byte, []int) { 435 return file_binlogdata_proto_rawDescGZIP(), []int{1, 0, 0} 436 } 437 438 type Filter_FieldEventMode int32 439 440 const ( 441 Filter_ERR_ON_MISMATCH Filter_FieldEventMode = 0 442 Filter_BEST_EFFORT Filter_FieldEventMode = 1 443 ) 444 445 // Enum value maps for Filter_FieldEventMode. 446 var ( 447 Filter_FieldEventMode_name = map[int32]string{ 448 0: "ERR_ON_MISMATCH", 449 1: "BEST_EFFORT", 450 } 451 Filter_FieldEventMode_value = map[string]int32{ 452 "ERR_ON_MISMATCH": 0, 453 "BEST_EFFORT": 1, 454 } 455 ) 456 457 func (x Filter_FieldEventMode) Enum() *Filter_FieldEventMode { 458 p := new(Filter_FieldEventMode) 459 *p = x 460 return p 461 } 462 463 func (x Filter_FieldEventMode) String() string { 464 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 465 } 466 467 func (Filter_FieldEventMode) Descriptor() protoreflect.EnumDescriptor { 468 return file_binlogdata_proto_enumTypes[6].Descriptor() 469 } 470 471 func (Filter_FieldEventMode) Type() protoreflect.EnumType { 472 return &file_binlogdata_proto_enumTypes[6] 473 } 474 475 func (x Filter_FieldEventMode) Number() protoreflect.EnumNumber { 476 return protoreflect.EnumNumber(x) 477 } 478 479 // Deprecated: Use Filter_FieldEventMode.Descriptor instead. 480 func (Filter_FieldEventMode) EnumDescriptor() ([]byte, []int) { 481 return file_binlogdata_proto_rawDescGZIP(), []int{8, 0} 482 } 483 484 // Charset is the per-statement charset info from a QUERY_EVENT binlog entry. 485 type Charset struct { 486 state protoimpl.MessageState 487 sizeCache protoimpl.SizeCache 488 unknownFields protoimpl.UnknownFields 489 490 // @@session.character_set_client 491 Client int32 `protobuf:"varint,1,opt,name=client,proto3" json:"client,omitempty"` 492 // @@session.collation_connection 493 Conn int32 `protobuf:"varint,2,opt,name=conn,proto3" json:"conn,omitempty"` 494 // @@session.collation_server 495 Server int32 `protobuf:"varint,3,opt,name=server,proto3" json:"server,omitempty"` 496 } 497 498 func (x *Charset) Reset() { 499 *x = Charset{} 500 if protoimpl.UnsafeEnabled { 501 mi := &file_binlogdata_proto_msgTypes[0] 502 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 503 ms.StoreMessageInfo(mi) 504 } 505 } 506 507 func (x *Charset) String() string { 508 return protoimpl.X.MessageStringOf(x) 509 } 510 511 func (*Charset) ProtoMessage() {} 512 513 func (x *Charset) ProtoReflect() protoreflect.Message { 514 mi := &file_binlogdata_proto_msgTypes[0] 515 if protoimpl.UnsafeEnabled && x != nil { 516 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 517 if ms.LoadMessageInfo() == nil { 518 ms.StoreMessageInfo(mi) 519 } 520 return ms 521 } 522 return mi.MessageOf(x) 523 } 524 525 // Deprecated: Use Charset.ProtoReflect.Descriptor instead. 526 func (*Charset) Descriptor() ([]byte, []int) { 527 return file_binlogdata_proto_rawDescGZIP(), []int{0} 528 } 529 530 func (x *Charset) GetClient() int32 { 531 if x != nil { 532 return x.Client 533 } 534 return 0 535 } 536 537 func (x *Charset) GetConn() int32 { 538 if x != nil { 539 return x.Conn 540 } 541 return 0 542 } 543 544 func (x *Charset) GetServer() int32 { 545 if x != nil { 546 return x.Server 547 } 548 return 0 549 } 550 551 // BinlogTransaction describes a transaction inside the binlogs. 552 // It is streamed by vttablet for filtered replication, used during resharding. 553 type BinlogTransaction struct { 554 state protoimpl.MessageState 555 sizeCache protoimpl.SizeCache 556 unknownFields protoimpl.UnknownFields 557 558 // the statements in this transaction 559 Statements []*BinlogTransaction_Statement `protobuf:"bytes,1,rep,name=statements,proto3" json:"statements,omitempty"` 560 // The Event Token for this event. 561 EventToken *query.EventToken `protobuf:"bytes,4,opt,name=event_token,json=eventToken,proto3" json:"event_token,omitempty"` 562 } 563 564 func (x *BinlogTransaction) Reset() { 565 *x = BinlogTransaction{} 566 if protoimpl.UnsafeEnabled { 567 mi := &file_binlogdata_proto_msgTypes[1] 568 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 569 ms.StoreMessageInfo(mi) 570 } 571 } 572 573 func (x *BinlogTransaction) String() string { 574 return protoimpl.X.MessageStringOf(x) 575 } 576 577 func (*BinlogTransaction) ProtoMessage() {} 578 579 func (x *BinlogTransaction) ProtoReflect() protoreflect.Message { 580 mi := &file_binlogdata_proto_msgTypes[1] 581 if protoimpl.UnsafeEnabled && x != nil { 582 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 583 if ms.LoadMessageInfo() == nil { 584 ms.StoreMessageInfo(mi) 585 } 586 return ms 587 } 588 return mi.MessageOf(x) 589 } 590 591 // Deprecated: Use BinlogTransaction.ProtoReflect.Descriptor instead. 592 func (*BinlogTransaction) Descriptor() ([]byte, []int) { 593 return file_binlogdata_proto_rawDescGZIP(), []int{1} 594 } 595 596 func (x *BinlogTransaction) GetStatements() []*BinlogTransaction_Statement { 597 if x != nil { 598 return x.Statements 599 } 600 return nil 601 } 602 603 func (x *BinlogTransaction) GetEventToken() *query.EventToken { 604 if x != nil { 605 return x.EventToken 606 } 607 return nil 608 } 609 610 // StreamKeyRangeRequest is the payload to StreamKeyRange 611 type StreamKeyRangeRequest struct { 612 state protoimpl.MessageState 613 sizeCache protoimpl.SizeCache 614 unknownFields protoimpl.UnknownFields 615 616 // where to start 617 Position string `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` 618 // what to get 619 KeyRange *topodata.KeyRange `protobuf:"bytes,2,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"` 620 // default charset on the player side 621 Charset *Charset `protobuf:"bytes,3,opt,name=charset,proto3" json:"charset,omitempty"` 622 } 623 624 func (x *StreamKeyRangeRequest) Reset() { 625 *x = StreamKeyRangeRequest{} 626 if protoimpl.UnsafeEnabled { 627 mi := &file_binlogdata_proto_msgTypes[2] 628 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 629 ms.StoreMessageInfo(mi) 630 } 631 } 632 633 func (x *StreamKeyRangeRequest) String() string { 634 return protoimpl.X.MessageStringOf(x) 635 } 636 637 func (*StreamKeyRangeRequest) ProtoMessage() {} 638 639 func (x *StreamKeyRangeRequest) ProtoReflect() protoreflect.Message { 640 mi := &file_binlogdata_proto_msgTypes[2] 641 if protoimpl.UnsafeEnabled && x != nil { 642 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 643 if ms.LoadMessageInfo() == nil { 644 ms.StoreMessageInfo(mi) 645 } 646 return ms 647 } 648 return mi.MessageOf(x) 649 } 650 651 // Deprecated: Use StreamKeyRangeRequest.ProtoReflect.Descriptor instead. 652 func (*StreamKeyRangeRequest) Descriptor() ([]byte, []int) { 653 return file_binlogdata_proto_rawDescGZIP(), []int{2} 654 } 655 656 func (x *StreamKeyRangeRequest) GetPosition() string { 657 if x != nil { 658 return x.Position 659 } 660 return "" 661 } 662 663 func (x *StreamKeyRangeRequest) GetKeyRange() *topodata.KeyRange { 664 if x != nil { 665 return x.KeyRange 666 } 667 return nil 668 } 669 670 func (x *StreamKeyRangeRequest) GetCharset() *Charset { 671 if x != nil { 672 return x.Charset 673 } 674 return nil 675 } 676 677 // StreamKeyRangeResponse is the response from StreamKeyRange 678 type StreamKeyRangeResponse struct { 679 state protoimpl.MessageState 680 sizeCache protoimpl.SizeCache 681 unknownFields protoimpl.UnknownFields 682 683 BinlogTransaction *BinlogTransaction `protobuf:"bytes,1,opt,name=binlog_transaction,json=binlogTransaction,proto3" json:"binlog_transaction,omitempty"` 684 } 685 686 func (x *StreamKeyRangeResponse) Reset() { 687 *x = StreamKeyRangeResponse{} 688 if protoimpl.UnsafeEnabled { 689 mi := &file_binlogdata_proto_msgTypes[3] 690 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 691 ms.StoreMessageInfo(mi) 692 } 693 } 694 695 func (x *StreamKeyRangeResponse) String() string { 696 return protoimpl.X.MessageStringOf(x) 697 } 698 699 func (*StreamKeyRangeResponse) ProtoMessage() {} 700 701 func (x *StreamKeyRangeResponse) ProtoReflect() protoreflect.Message { 702 mi := &file_binlogdata_proto_msgTypes[3] 703 if protoimpl.UnsafeEnabled && x != nil { 704 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 705 if ms.LoadMessageInfo() == nil { 706 ms.StoreMessageInfo(mi) 707 } 708 return ms 709 } 710 return mi.MessageOf(x) 711 } 712 713 // Deprecated: Use StreamKeyRangeResponse.ProtoReflect.Descriptor instead. 714 func (*StreamKeyRangeResponse) Descriptor() ([]byte, []int) { 715 return file_binlogdata_proto_rawDescGZIP(), []int{3} 716 } 717 718 func (x *StreamKeyRangeResponse) GetBinlogTransaction() *BinlogTransaction { 719 if x != nil { 720 return x.BinlogTransaction 721 } 722 return nil 723 } 724 725 // StreamTablesRequest is the payload to StreamTables 726 type StreamTablesRequest struct { 727 state protoimpl.MessageState 728 sizeCache protoimpl.SizeCache 729 unknownFields protoimpl.UnknownFields 730 731 // where to start 732 Position string `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` 733 // what to get 734 Tables []string `protobuf:"bytes,2,rep,name=tables,proto3" json:"tables,omitempty"` 735 // default charset on the player side 736 Charset *Charset `protobuf:"bytes,3,opt,name=charset,proto3" json:"charset,omitempty"` 737 } 738 739 func (x *StreamTablesRequest) Reset() { 740 *x = StreamTablesRequest{} 741 if protoimpl.UnsafeEnabled { 742 mi := &file_binlogdata_proto_msgTypes[4] 743 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 744 ms.StoreMessageInfo(mi) 745 } 746 } 747 748 func (x *StreamTablesRequest) String() string { 749 return protoimpl.X.MessageStringOf(x) 750 } 751 752 func (*StreamTablesRequest) ProtoMessage() {} 753 754 func (x *StreamTablesRequest) ProtoReflect() protoreflect.Message { 755 mi := &file_binlogdata_proto_msgTypes[4] 756 if protoimpl.UnsafeEnabled && x != nil { 757 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 758 if ms.LoadMessageInfo() == nil { 759 ms.StoreMessageInfo(mi) 760 } 761 return ms 762 } 763 return mi.MessageOf(x) 764 } 765 766 // Deprecated: Use StreamTablesRequest.ProtoReflect.Descriptor instead. 767 func (*StreamTablesRequest) Descriptor() ([]byte, []int) { 768 return file_binlogdata_proto_rawDescGZIP(), []int{4} 769 } 770 771 func (x *StreamTablesRequest) GetPosition() string { 772 if x != nil { 773 return x.Position 774 } 775 return "" 776 } 777 778 func (x *StreamTablesRequest) GetTables() []string { 779 if x != nil { 780 return x.Tables 781 } 782 return nil 783 } 784 785 func (x *StreamTablesRequest) GetCharset() *Charset { 786 if x != nil { 787 return x.Charset 788 } 789 return nil 790 } 791 792 // StreamTablesResponse is the response from StreamTables 793 type StreamTablesResponse struct { 794 state protoimpl.MessageState 795 sizeCache protoimpl.SizeCache 796 unknownFields protoimpl.UnknownFields 797 798 BinlogTransaction *BinlogTransaction `protobuf:"bytes,1,opt,name=binlog_transaction,json=binlogTransaction,proto3" json:"binlog_transaction,omitempty"` 799 } 800 801 func (x *StreamTablesResponse) Reset() { 802 *x = StreamTablesResponse{} 803 if protoimpl.UnsafeEnabled { 804 mi := &file_binlogdata_proto_msgTypes[5] 805 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 806 ms.StoreMessageInfo(mi) 807 } 808 } 809 810 func (x *StreamTablesResponse) String() string { 811 return protoimpl.X.MessageStringOf(x) 812 } 813 814 func (*StreamTablesResponse) ProtoMessage() {} 815 816 func (x *StreamTablesResponse) ProtoReflect() protoreflect.Message { 817 mi := &file_binlogdata_proto_msgTypes[5] 818 if protoimpl.UnsafeEnabled && x != nil { 819 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 820 if ms.LoadMessageInfo() == nil { 821 ms.StoreMessageInfo(mi) 822 } 823 return ms 824 } 825 return mi.MessageOf(x) 826 } 827 828 // Deprecated: Use StreamTablesResponse.ProtoReflect.Descriptor instead. 829 func (*StreamTablesResponse) Descriptor() ([]byte, []int) { 830 return file_binlogdata_proto_rawDescGZIP(), []int{5} 831 } 832 833 func (x *StreamTablesResponse) GetBinlogTransaction() *BinlogTransaction { 834 if x != nil { 835 return x.BinlogTransaction 836 } 837 return nil 838 } 839 840 // CharsetConversion represent a conversion of text from one charset to another 841 type CharsetConversion struct { 842 state protoimpl.MessageState 843 sizeCache protoimpl.SizeCache 844 unknownFields protoimpl.UnknownFields 845 846 // FromCharset is the charset name from which we convert the text (e.g. latin1) 847 FromCharset string `protobuf:"bytes,1,opt,name=from_charset,json=fromCharset,proto3" json:"from_charset,omitempty"` 848 // ToCharset is the charset name to which we convert the text (e.g. utf8mb4) 849 ToCharset string `protobuf:"bytes,2,opt,name=to_charset,json=toCharset,proto3" json:"to_charset,omitempty"` 850 } 851 852 func (x *CharsetConversion) Reset() { 853 *x = CharsetConversion{} 854 if protoimpl.UnsafeEnabled { 855 mi := &file_binlogdata_proto_msgTypes[6] 856 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 857 ms.StoreMessageInfo(mi) 858 } 859 } 860 861 func (x *CharsetConversion) String() string { 862 return protoimpl.X.MessageStringOf(x) 863 } 864 865 func (*CharsetConversion) ProtoMessage() {} 866 867 func (x *CharsetConversion) ProtoReflect() protoreflect.Message { 868 mi := &file_binlogdata_proto_msgTypes[6] 869 if protoimpl.UnsafeEnabled && x != nil { 870 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 871 if ms.LoadMessageInfo() == nil { 872 ms.StoreMessageInfo(mi) 873 } 874 return ms 875 } 876 return mi.MessageOf(x) 877 } 878 879 // Deprecated: Use CharsetConversion.ProtoReflect.Descriptor instead. 880 func (*CharsetConversion) Descriptor() ([]byte, []int) { 881 return file_binlogdata_proto_rawDescGZIP(), []int{6} 882 } 883 884 func (x *CharsetConversion) GetFromCharset() string { 885 if x != nil { 886 return x.FromCharset 887 } 888 return "" 889 } 890 891 func (x *CharsetConversion) GetToCharset() string { 892 if x != nil { 893 return x.ToCharset 894 } 895 return "" 896 } 897 898 // Rule represents one rule in a Filter. 899 type Rule struct { 900 state protoimpl.MessageState 901 sizeCache protoimpl.SizeCache 902 unknownFields protoimpl.UnknownFields 903 904 // Match can be a table name or a regular expression. 905 // If it starts with a '/', it's a regular expression. 906 // For example, "t" matches a table named "t", whereas 907 // "/t.*" matches all tables that begin with 't'. 908 Match string `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` 909 // Filter: If empty, all columns and rows of the matching tables 910 // are sent. If it's a keyrange like "-80", only rows that 911 // match the keyrange are sent. 912 // If Match is a table name instead of a regular expression, 913 // the Filter can also be a select expression like this: 914 // "select * from t", same as an empty Filter, or 915 // "select * from t where in_keyrange('-80')", same as "-80", or 916 // "select col1, col2 from t where in_keyrange(col1, 'hash', '-80'), or 917 // What is allowed in a select expression depends on whether 918 // it's a vstreamer or vreplication request. For more details, 919 // please refer to the specific package documentation. 920 // On the vreplication side, Filter can also accept a special 921 // "exclude" value, which will cause the matched tables 922 // to be excluded. 923 // TODO(sougou): support this on vstreamer side also. 924 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 925 // Example: key="color", value="'red','green','blue'" 926 ConvertEnumToText map[string]string `protobuf:"bytes,3,rep,name=convert_enum_to_text,json=convertEnumToText,proto3" json:"convert_enum_to_text,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 927 // ConvertCharset: optional mapping, between column name and a CharsetConversion. 928 // This hints to vreplication that columns are encoded from/to non-trivial charsets 929 // The map is only populated when either "from" or "to" charset of a column are non-trivial 930 // trivial charsets are utf8 and ascii variants. 931 ConvertCharset map[string]*CharsetConversion `protobuf:"bytes,4,rep,name=convert_charset,json=convertCharset,proto3" json:"convert_charset,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 932 // SourceUniqueKeyColumns represents the ordered columns in the index used by rowstreamer to iterate the table 933 // It is comma delimited, as in col1,col2,col3 (tokens are escaped via net/url) 934 SourceUniqueKeyColumns string `protobuf:"bytes,5,opt,name=source_unique_key_columns,json=sourceUniqueKeyColumns,proto3" json:"source_unique_key_columns,omitempty"` 935 // TargetUniqueKeyColumns represents the ordered columns in that index used by vcopier and vplayer to apply rows 936 // It is comma delimited, as in col1,col2,col3 (tokens are escaped via net/url) 937 TargetUniqueKeyColumns string `protobuf:"bytes,6,opt,name=target_unique_key_columns,json=targetUniqueKeyColumns,proto3" json:"target_unique_key_columns,omitempty"` 938 // SourceUniqueKeyTargetColumns represents the names of columns in target table, mapped from the chosen unique 939 // key on source tables (some columns may be renamed from source to target) 940 SourceUniqueKeyTargetColumns string `protobuf:"bytes,7,opt,name=source_unique_key_target_columns,json=sourceUniqueKeyTargetColumns,proto3" json:"source_unique_key_target_columns,omitempty"` 941 // ConvertIntToEnum lists any columns that are converted from an integral value into an enum. 942 // such columns need to have special transofrmation of the data, from an integral format into a 943 // string format. e.g. the value 0 needs to be converted to '0'. 944 ConvertIntToEnum map[string]bool `protobuf:"bytes,8,rep,name=convert_int_to_enum,json=convertIntToEnum,proto3" json:"convert_int_to_enum,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` 945 } 946 947 func (x *Rule) Reset() { 948 *x = Rule{} 949 if protoimpl.UnsafeEnabled { 950 mi := &file_binlogdata_proto_msgTypes[7] 951 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 952 ms.StoreMessageInfo(mi) 953 } 954 } 955 956 func (x *Rule) String() string { 957 return protoimpl.X.MessageStringOf(x) 958 } 959 960 func (*Rule) ProtoMessage() {} 961 962 func (x *Rule) ProtoReflect() protoreflect.Message { 963 mi := &file_binlogdata_proto_msgTypes[7] 964 if protoimpl.UnsafeEnabled && x != nil { 965 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 966 if ms.LoadMessageInfo() == nil { 967 ms.StoreMessageInfo(mi) 968 } 969 return ms 970 } 971 return mi.MessageOf(x) 972 } 973 974 // Deprecated: Use Rule.ProtoReflect.Descriptor instead. 975 func (*Rule) Descriptor() ([]byte, []int) { 976 return file_binlogdata_proto_rawDescGZIP(), []int{7} 977 } 978 979 func (x *Rule) GetMatch() string { 980 if x != nil { 981 return x.Match 982 } 983 return "" 984 } 985 986 func (x *Rule) GetFilter() string { 987 if x != nil { 988 return x.Filter 989 } 990 return "" 991 } 992 993 func (x *Rule) GetConvertEnumToText() map[string]string { 994 if x != nil { 995 return x.ConvertEnumToText 996 } 997 return nil 998 } 999 1000 func (x *Rule) GetConvertCharset() map[string]*CharsetConversion { 1001 if x != nil { 1002 return x.ConvertCharset 1003 } 1004 return nil 1005 } 1006 1007 func (x *Rule) GetSourceUniqueKeyColumns() string { 1008 if x != nil { 1009 return x.SourceUniqueKeyColumns 1010 } 1011 return "" 1012 } 1013 1014 func (x *Rule) GetTargetUniqueKeyColumns() string { 1015 if x != nil { 1016 return x.TargetUniqueKeyColumns 1017 } 1018 return "" 1019 } 1020 1021 func (x *Rule) GetSourceUniqueKeyTargetColumns() string { 1022 if x != nil { 1023 return x.SourceUniqueKeyTargetColumns 1024 } 1025 return "" 1026 } 1027 1028 func (x *Rule) GetConvertIntToEnum() map[string]bool { 1029 if x != nil { 1030 return x.ConvertIntToEnum 1031 } 1032 return nil 1033 } 1034 1035 // Filter represents a list of ordered rules. The first 1036 // match wins. 1037 type Filter struct { 1038 state protoimpl.MessageState 1039 sizeCache protoimpl.SizeCache 1040 unknownFields protoimpl.UnknownFields 1041 1042 Rules []*Rule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` 1043 // FieldEventMode specifies the behavior if there is a mismatch 1044 // between the current schema and the fields in the binlog. This 1045 // can happen if the binlog position is before a DDL that would 1046 // cause the fields to change. If vstreamer detects such 1047 // an inconsistency, the behavior depends on the FieldEventMode. 1048 // If the value is ERR_ON_MISMATCH (default), then it errors out. 1049 // If it's BEST_EFFORT, it sends a field event with fake column 1050 // names as "@1", "@2", etc. 1051 FieldEventMode Filter_FieldEventMode `protobuf:"varint,2,opt,name=field_event_mode,json=fieldEventMode,proto3,enum=binlogdata.Filter_FieldEventMode" json:"field_event_mode,omitempty"` 1052 WorkflowType int64 `protobuf:"varint,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` 1053 WorkflowName string `protobuf:"bytes,4,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"` 1054 } 1055 1056 func (x *Filter) Reset() { 1057 *x = Filter{} 1058 if protoimpl.UnsafeEnabled { 1059 mi := &file_binlogdata_proto_msgTypes[8] 1060 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1061 ms.StoreMessageInfo(mi) 1062 } 1063 } 1064 1065 func (x *Filter) String() string { 1066 return protoimpl.X.MessageStringOf(x) 1067 } 1068 1069 func (*Filter) ProtoMessage() {} 1070 1071 func (x *Filter) ProtoReflect() protoreflect.Message { 1072 mi := &file_binlogdata_proto_msgTypes[8] 1073 if protoimpl.UnsafeEnabled && x != nil { 1074 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1075 if ms.LoadMessageInfo() == nil { 1076 ms.StoreMessageInfo(mi) 1077 } 1078 return ms 1079 } 1080 return mi.MessageOf(x) 1081 } 1082 1083 // Deprecated: Use Filter.ProtoReflect.Descriptor instead. 1084 func (*Filter) Descriptor() ([]byte, []int) { 1085 return file_binlogdata_proto_rawDescGZIP(), []int{8} 1086 } 1087 1088 func (x *Filter) GetRules() []*Rule { 1089 if x != nil { 1090 return x.Rules 1091 } 1092 return nil 1093 } 1094 1095 func (x *Filter) GetFieldEventMode() Filter_FieldEventMode { 1096 if x != nil { 1097 return x.FieldEventMode 1098 } 1099 return Filter_ERR_ON_MISMATCH 1100 } 1101 1102 func (x *Filter) GetWorkflowType() int64 { 1103 if x != nil { 1104 return x.WorkflowType 1105 } 1106 return 0 1107 } 1108 1109 func (x *Filter) GetWorkflowName() string { 1110 if x != nil { 1111 return x.WorkflowName 1112 } 1113 return "" 1114 } 1115 1116 // BinlogSource specifies the source and filter parameters for 1117 // Filtered Replication. KeyRange and Tables are legacy. Filter 1118 // is the new way to specify the filtering rules. 1119 type BinlogSource struct { 1120 state protoimpl.MessageState 1121 sizeCache protoimpl.SizeCache 1122 unknownFields protoimpl.UnknownFields 1123 1124 // the source keyspace 1125 Keyspace string `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"` 1126 // the source shard 1127 Shard string `protobuf:"bytes,2,opt,name=shard,proto3" json:"shard,omitempty"` 1128 // the source tablet type 1129 TabletType topodata.TabletType `protobuf:"varint,3,opt,name=tablet_type,json=tabletType,proto3,enum=topodata.TabletType" json:"tablet_type,omitempty"` 1130 // KeyRange is set if the request is for a keyrange 1131 KeyRange *topodata.KeyRange `protobuf:"bytes,4,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"` 1132 // Tables is set if the request is for a list of tables 1133 Tables []string `protobuf:"bytes,5,rep,name=tables,proto3" json:"tables,omitempty"` 1134 // Filter is set if we're using the generalized representation 1135 // for the filter. 1136 Filter *Filter `protobuf:"bytes,6,opt,name=filter,proto3" json:"filter,omitempty"` 1137 // OnDdl specifies the action to be taken when a DDL is encountered. 1138 OnDdl OnDDLAction `protobuf:"varint,7,opt,name=on_ddl,json=onDdl,proto3,enum=binlogdata.OnDDLAction" json:"on_ddl,omitempty"` 1139 // Source is an external mysql. This attribute should be set to the username 1140 // to use in the connection 1141 ExternalMysql string `protobuf:"bytes,8,opt,name=external_mysql,json=externalMysql,proto3" json:"external_mysql,omitempty"` 1142 // StopAfterCopy specifies if vreplication should be stopped 1143 // after copying is done. 1144 StopAfterCopy bool `protobuf:"varint,9,opt,name=stop_after_copy,json=stopAfterCopy,proto3" json:"stop_after_copy,omitempty"` 1145 // ExternalCluster is the name of the mounted cluster which has the source keyspace/db for this workflow 1146 // it is of the type <cluster_type.cluster_name> 1147 ExternalCluster string `protobuf:"bytes,10,opt,name=external_cluster,json=externalCluster,proto3" json:"external_cluster,omitempty"` 1148 // SourceTimeZone is the time zone in which datetimes on the source were stored, provided as an option in MoveTables 1149 SourceTimeZone string `protobuf:"bytes,11,opt,name=source_time_zone,json=sourceTimeZone,proto3" json:"source_time_zone,omitempty"` 1150 // TargetTimeZone is not currently specifiable by the user, defaults to UTC for the forward workflows 1151 // and to the SourceTimeZone in reverse workflows 1152 TargetTimeZone string `protobuf:"bytes,12,opt,name=target_time_zone,json=targetTimeZone,proto3" json:"target_time_zone,omitempty"` 1153 } 1154 1155 func (x *BinlogSource) Reset() { 1156 *x = BinlogSource{} 1157 if protoimpl.UnsafeEnabled { 1158 mi := &file_binlogdata_proto_msgTypes[9] 1159 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1160 ms.StoreMessageInfo(mi) 1161 } 1162 } 1163 1164 func (x *BinlogSource) String() string { 1165 return protoimpl.X.MessageStringOf(x) 1166 } 1167 1168 func (*BinlogSource) ProtoMessage() {} 1169 1170 func (x *BinlogSource) ProtoReflect() protoreflect.Message { 1171 mi := &file_binlogdata_proto_msgTypes[9] 1172 if protoimpl.UnsafeEnabled && x != nil { 1173 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1174 if ms.LoadMessageInfo() == nil { 1175 ms.StoreMessageInfo(mi) 1176 } 1177 return ms 1178 } 1179 return mi.MessageOf(x) 1180 } 1181 1182 // Deprecated: Use BinlogSource.ProtoReflect.Descriptor instead. 1183 func (*BinlogSource) Descriptor() ([]byte, []int) { 1184 return file_binlogdata_proto_rawDescGZIP(), []int{9} 1185 } 1186 1187 func (x *BinlogSource) GetKeyspace() string { 1188 if x != nil { 1189 return x.Keyspace 1190 } 1191 return "" 1192 } 1193 1194 func (x *BinlogSource) GetShard() string { 1195 if x != nil { 1196 return x.Shard 1197 } 1198 return "" 1199 } 1200 1201 func (x *BinlogSource) GetTabletType() topodata.TabletType { 1202 if x != nil { 1203 return x.TabletType 1204 } 1205 return topodata.TabletType(0) 1206 } 1207 1208 func (x *BinlogSource) GetKeyRange() *topodata.KeyRange { 1209 if x != nil { 1210 return x.KeyRange 1211 } 1212 return nil 1213 } 1214 1215 func (x *BinlogSource) GetTables() []string { 1216 if x != nil { 1217 return x.Tables 1218 } 1219 return nil 1220 } 1221 1222 func (x *BinlogSource) GetFilter() *Filter { 1223 if x != nil { 1224 return x.Filter 1225 } 1226 return nil 1227 } 1228 1229 func (x *BinlogSource) GetOnDdl() OnDDLAction { 1230 if x != nil { 1231 return x.OnDdl 1232 } 1233 return OnDDLAction_IGNORE 1234 } 1235 1236 func (x *BinlogSource) GetExternalMysql() string { 1237 if x != nil { 1238 return x.ExternalMysql 1239 } 1240 return "" 1241 } 1242 1243 func (x *BinlogSource) GetStopAfterCopy() bool { 1244 if x != nil { 1245 return x.StopAfterCopy 1246 } 1247 return false 1248 } 1249 1250 func (x *BinlogSource) GetExternalCluster() string { 1251 if x != nil { 1252 return x.ExternalCluster 1253 } 1254 return "" 1255 } 1256 1257 func (x *BinlogSource) GetSourceTimeZone() string { 1258 if x != nil { 1259 return x.SourceTimeZone 1260 } 1261 return "" 1262 } 1263 1264 func (x *BinlogSource) GetTargetTimeZone() string { 1265 if x != nil { 1266 return x.TargetTimeZone 1267 } 1268 return "" 1269 } 1270 1271 // RowChange represents one row change. 1272 // If Before is set and not After, it's a delete. 1273 // If After is set and not Before, it's an insert. 1274 // If both are set, it's an update. 1275 type RowChange struct { 1276 state protoimpl.MessageState 1277 sizeCache protoimpl.SizeCache 1278 unknownFields protoimpl.UnknownFields 1279 1280 Before *query.Row `protobuf:"bytes,1,opt,name=before,proto3" json:"before,omitempty"` 1281 After *query.Row `protobuf:"bytes,2,opt,name=after,proto3" json:"after,omitempty"` 1282 } 1283 1284 func (x *RowChange) Reset() { 1285 *x = RowChange{} 1286 if protoimpl.UnsafeEnabled { 1287 mi := &file_binlogdata_proto_msgTypes[10] 1288 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1289 ms.StoreMessageInfo(mi) 1290 } 1291 } 1292 1293 func (x *RowChange) String() string { 1294 return protoimpl.X.MessageStringOf(x) 1295 } 1296 1297 func (*RowChange) ProtoMessage() {} 1298 1299 func (x *RowChange) ProtoReflect() protoreflect.Message { 1300 mi := &file_binlogdata_proto_msgTypes[10] 1301 if protoimpl.UnsafeEnabled && x != nil { 1302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1303 if ms.LoadMessageInfo() == nil { 1304 ms.StoreMessageInfo(mi) 1305 } 1306 return ms 1307 } 1308 return mi.MessageOf(x) 1309 } 1310 1311 // Deprecated: Use RowChange.ProtoReflect.Descriptor instead. 1312 func (*RowChange) Descriptor() ([]byte, []int) { 1313 return file_binlogdata_proto_rawDescGZIP(), []int{10} 1314 } 1315 1316 func (x *RowChange) GetBefore() *query.Row { 1317 if x != nil { 1318 return x.Before 1319 } 1320 return nil 1321 } 1322 1323 func (x *RowChange) GetAfter() *query.Row { 1324 if x != nil { 1325 return x.After 1326 } 1327 return nil 1328 } 1329 1330 // RowEvent represent row events for one table. 1331 type RowEvent struct { 1332 state protoimpl.MessageState 1333 sizeCache protoimpl.SizeCache 1334 unknownFields protoimpl.UnknownFields 1335 1336 TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` 1337 RowChanges []*RowChange `protobuf:"bytes,2,rep,name=row_changes,json=rowChanges,proto3" json:"row_changes,omitempty"` 1338 Keyspace string `protobuf:"bytes,3,opt,name=keyspace,proto3" json:"keyspace,omitempty"` 1339 Shard string `protobuf:"bytes,4,opt,name=shard,proto3" json:"shard,omitempty"` 1340 } 1341 1342 func (x *RowEvent) Reset() { 1343 *x = RowEvent{} 1344 if protoimpl.UnsafeEnabled { 1345 mi := &file_binlogdata_proto_msgTypes[11] 1346 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1347 ms.StoreMessageInfo(mi) 1348 } 1349 } 1350 1351 func (x *RowEvent) String() string { 1352 return protoimpl.X.MessageStringOf(x) 1353 } 1354 1355 func (*RowEvent) ProtoMessage() {} 1356 1357 func (x *RowEvent) ProtoReflect() protoreflect.Message { 1358 mi := &file_binlogdata_proto_msgTypes[11] 1359 if protoimpl.UnsafeEnabled && x != nil { 1360 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1361 if ms.LoadMessageInfo() == nil { 1362 ms.StoreMessageInfo(mi) 1363 } 1364 return ms 1365 } 1366 return mi.MessageOf(x) 1367 } 1368 1369 // Deprecated: Use RowEvent.ProtoReflect.Descriptor instead. 1370 func (*RowEvent) Descriptor() ([]byte, []int) { 1371 return file_binlogdata_proto_rawDescGZIP(), []int{11} 1372 } 1373 1374 func (x *RowEvent) GetTableName() string { 1375 if x != nil { 1376 return x.TableName 1377 } 1378 return "" 1379 } 1380 1381 func (x *RowEvent) GetRowChanges() []*RowChange { 1382 if x != nil { 1383 return x.RowChanges 1384 } 1385 return nil 1386 } 1387 1388 func (x *RowEvent) GetKeyspace() string { 1389 if x != nil { 1390 return x.Keyspace 1391 } 1392 return "" 1393 } 1394 1395 func (x *RowEvent) GetShard() string { 1396 if x != nil { 1397 return x.Shard 1398 } 1399 return "" 1400 } 1401 1402 // FieldEvent represents the field info for a table. 1403 type FieldEvent struct { 1404 state protoimpl.MessageState 1405 sizeCache protoimpl.SizeCache 1406 unknownFields protoimpl.UnknownFields 1407 1408 TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` 1409 Fields []*query.Field `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` 1410 Keyspace string `protobuf:"bytes,3,opt,name=keyspace,proto3" json:"keyspace,omitempty"` 1411 Shard string `protobuf:"bytes,4,opt,name=shard,proto3" json:"shard,omitempty"` 1412 } 1413 1414 func (x *FieldEvent) Reset() { 1415 *x = FieldEvent{} 1416 if protoimpl.UnsafeEnabled { 1417 mi := &file_binlogdata_proto_msgTypes[12] 1418 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1419 ms.StoreMessageInfo(mi) 1420 } 1421 } 1422 1423 func (x *FieldEvent) String() string { 1424 return protoimpl.X.MessageStringOf(x) 1425 } 1426 1427 func (*FieldEvent) ProtoMessage() {} 1428 1429 func (x *FieldEvent) ProtoReflect() protoreflect.Message { 1430 mi := &file_binlogdata_proto_msgTypes[12] 1431 if protoimpl.UnsafeEnabled && x != nil { 1432 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1433 if ms.LoadMessageInfo() == nil { 1434 ms.StoreMessageInfo(mi) 1435 } 1436 return ms 1437 } 1438 return mi.MessageOf(x) 1439 } 1440 1441 // Deprecated: Use FieldEvent.ProtoReflect.Descriptor instead. 1442 func (*FieldEvent) Descriptor() ([]byte, []int) { 1443 return file_binlogdata_proto_rawDescGZIP(), []int{12} 1444 } 1445 1446 func (x *FieldEvent) GetTableName() string { 1447 if x != nil { 1448 return x.TableName 1449 } 1450 return "" 1451 } 1452 1453 func (x *FieldEvent) GetFields() []*query.Field { 1454 if x != nil { 1455 return x.Fields 1456 } 1457 return nil 1458 } 1459 1460 func (x *FieldEvent) GetKeyspace() string { 1461 if x != nil { 1462 return x.Keyspace 1463 } 1464 return "" 1465 } 1466 1467 func (x *FieldEvent) GetShard() string { 1468 if x != nil { 1469 return x.Shard 1470 } 1471 return "" 1472 } 1473 1474 // ShardGtid contains the GTID position for one shard. 1475 // It's used in a request for requesting a starting position. 1476 // It's used in a response to transmit the current position 1477 // of a shard. It's also used in a Journal to indicate the 1478 // list of targets and shard positions to migrate to. 1479 type ShardGtid struct { 1480 state protoimpl.MessageState 1481 sizeCache protoimpl.SizeCache 1482 unknownFields protoimpl.UnknownFields 1483 1484 Keyspace string `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"` 1485 Shard string `protobuf:"bytes,2,opt,name=shard,proto3" json:"shard,omitempty"` 1486 Gtid string `protobuf:"bytes,3,opt,name=gtid,proto3" json:"gtid,omitempty"` 1487 TablePKs []*TableLastPK `protobuf:"bytes,4,rep,name=table_p_ks,json=tablePKs,proto3" json:"table_p_ks,omitempty"` 1488 } 1489 1490 func (x *ShardGtid) Reset() { 1491 *x = ShardGtid{} 1492 if protoimpl.UnsafeEnabled { 1493 mi := &file_binlogdata_proto_msgTypes[13] 1494 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1495 ms.StoreMessageInfo(mi) 1496 } 1497 } 1498 1499 func (x *ShardGtid) String() string { 1500 return protoimpl.X.MessageStringOf(x) 1501 } 1502 1503 func (*ShardGtid) ProtoMessage() {} 1504 1505 func (x *ShardGtid) ProtoReflect() protoreflect.Message { 1506 mi := &file_binlogdata_proto_msgTypes[13] 1507 if protoimpl.UnsafeEnabled && x != nil { 1508 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1509 if ms.LoadMessageInfo() == nil { 1510 ms.StoreMessageInfo(mi) 1511 } 1512 return ms 1513 } 1514 return mi.MessageOf(x) 1515 } 1516 1517 // Deprecated: Use ShardGtid.ProtoReflect.Descriptor instead. 1518 func (*ShardGtid) Descriptor() ([]byte, []int) { 1519 return file_binlogdata_proto_rawDescGZIP(), []int{13} 1520 } 1521 1522 func (x *ShardGtid) GetKeyspace() string { 1523 if x != nil { 1524 return x.Keyspace 1525 } 1526 return "" 1527 } 1528 1529 func (x *ShardGtid) GetShard() string { 1530 if x != nil { 1531 return x.Shard 1532 } 1533 return "" 1534 } 1535 1536 func (x *ShardGtid) GetGtid() string { 1537 if x != nil { 1538 return x.Gtid 1539 } 1540 return "" 1541 } 1542 1543 func (x *ShardGtid) GetTablePKs() []*TableLastPK { 1544 if x != nil { 1545 return x.TablePKs 1546 } 1547 return nil 1548 } 1549 1550 // A VGtid is a list of ShardGtids. 1551 type VGtid struct { 1552 state protoimpl.MessageState 1553 sizeCache protoimpl.SizeCache 1554 unknownFields protoimpl.UnknownFields 1555 1556 ShardGtids []*ShardGtid `protobuf:"bytes,1,rep,name=shard_gtids,json=shardGtids,proto3" json:"shard_gtids,omitempty"` 1557 } 1558 1559 func (x *VGtid) Reset() { 1560 *x = VGtid{} 1561 if protoimpl.UnsafeEnabled { 1562 mi := &file_binlogdata_proto_msgTypes[14] 1563 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1564 ms.StoreMessageInfo(mi) 1565 } 1566 } 1567 1568 func (x *VGtid) String() string { 1569 return protoimpl.X.MessageStringOf(x) 1570 } 1571 1572 func (*VGtid) ProtoMessage() {} 1573 1574 func (x *VGtid) ProtoReflect() protoreflect.Message { 1575 mi := &file_binlogdata_proto_msgTypes[14] 1576 if protoimpl.UnsafeEnabled && x != nil { 1577 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1578 if ms.LoadMessageInfo() == nil { 1579 ms.StoreMessageInfo(mi) 1580 } 1581 return ms 1582 } 1583 return mi.MessageOf(x) 1584 } 1585 1586 // Deprecated: Use VGtid.ProtoReflect.Descriptor instead. 1587 func (*VGtid) Descriptor() ([]byte, []int) { 1588 return file_binlogdata_proto_rawDescGZIP(), []int{14} 1589 } 1590 1591 func (x *VGtid) GetShardGtids() []*ShardGtid { 1592 if x != nil { 1593 return x.ShardGtids 1594 } 1595 return nil 1596 } 1597 1598 // KeyspaceShard represents a keyspace and shard. 1599 type KeyspaceShard struct { 1600 state protoimpl.MessageState 1601 sizeCache protoimpl.SizeCache 1602 unknownFields protoimpl.UnknownFields 1603 1604 Keyspace string `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"` 1605 Shard string `protobuf:"bytes,2,opt,name=shard,proto3" json:"shard,omitempty"` 1606 } 1607 1608 func (x *KeyspaceShard) Reset() { 1609 *x = KeyspaceShard{} 1610 if protoimpl.UnsafeEnabled { 1611 mi := &file_binlogdata_proto_msgTypes[15] 1612 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1613 ms.StoreMessageInfo(mi) 1614 } 1615 } 1616 1617 func (x *KeyspaceShard) String() string { 1618 return protoimpl.X.MessageStringOf(x) 1619 } 1620 1621 func (*KeyspaceShard) ProtoMessage() {} 1622 1623 func (x *KeyspaceShard) ProtoReflect() protoreflect.Message { 1624 mi := &file_binlogdata_proto_msgTypes[15] 1625 if protoimpl.UnsafeEnabled && x != nil { 1626 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1627 if ms.LoadMessageInfo() == nil { 1628 ms.StoreMessageInfo(mi) 1629 } 1630 return ms 1631 } 1632 return mi.MessageOf(x) 1633 } 1634 1635 // Deprecated: Use KeyspaceShard.ProtoReflect.Descriptor instead. 1636 func (*KeyspaceShard) Descriptor() ([]byte, []int) { 1637 return file_binlogdata_proto_rawDescGZIP(), []int{15} 1638 } 1639 1640 func (x *KeyspaceShard) GetKeyspace() string { 1641 if x != nil { 1642 return x.Keyspace 1643 } 1644 return "" 1645 } 1646 1647 func (x *KeyspaceShard) GetShard() string { 1648 if x != nil { 1649 return x.Shard 1650 } 1651 return "" 1652 } 1653 1654 // Journal contains the metadata for a journal event. 1655 // The commit of a journal event indicates the point of no return 1656 // for a migration. 1657 type Journal struct { 1658 state protoimpl.MessageState 1659 sizeCache protoimpl.SizeCache 1660 unknownFields protoimpl.UnknownFields 1661 1662 // Id represents a unique journal id. 1663 Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` 1664 MigrationType MigrationType `protobuf:"varint,2,opt,name=migration_type,json=migrationType,proto3,enum=binlogdata.MigrationType" json:"migration_type,omitempty"` 1665 // Tables is set if the journal represents a TABLES migration. 1666 Tables []string `protobuf:"bytes,3,rep,name=tables,proto3" json:"tables,omitempty"` 1667 // LocalPosition is the source position at which the migration happened. 1668 LocalPosition string `protobuf:"bytes,4,opt,name=local_position,json=localPosition,proto3" json:"local_position,omitempty"` 1669 // ShardGtids is the list of targets to which the migration took place. 1670 ShardGtids []*ShardGtid `protobuf:"bytes,5,rep,name=shard_gtids,json=shardGtids,proto3" json:"shard_gtids,omitempty"` 1671 // Participants is the list of source participants for a migration. 1672 // Every participant is expected to have an identical journal entry. 1673 // While streaming, the client must wait for the journal entry to 1674 // be received from all pariticipants, and then replace them with new 1675 // streams specified by ShardGtid. 1676 // If a stream does not have all participants, a consistent migration 1677 // is not possible. 1678 Participants []*KeyspaceShard `protobuf:"bytes,6,rep,name=participants,proto3" json:"participants,omitempty"` 1679 // SourceWorkflows is the list of workflows in the source shard that 1680 // were migrated to the target. If a migration fails after a Journal 1681 // is committed, this information is used to start the target streams 1682 // that were created prior to the creation of the journal. 1683 SourceWorkflows []string `protobuf:"bytes,7,rep,name=source_workflows,json=sourceWorkflows,proto3" json:"source_workflows,omitempty"` 1684 } 1685 1686 func (x *Journal) Reset() { 1687 *x = Journal{} 1688 if protoimpl.UnsafeEnabled { 1689 mi := &file_binlogdata_proto_msgTypes[16] 1690 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1691 ms.StoreMessageInfo(mi) 1692 } 1693 } 1694 1695 func (x *Journal) String() string { 1696 return protoimpl.X.MessageStringOf(x) 1697 } 1698 1699 func (*Journal) ProtoMessage() {} 1700 1701 func (x *Journal) ProtoReflect() protoreflect.Message { 1702 mi := &file_binlogdata_proto_msgTypes[16] 1703 if protoimpl.UnsafeEnabled && x != nil { 1704 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1705 if ms.LoadMessageInfo() == nil { 1706 ms.StoreMessageInfo(mi) 1707 } 1708 return ms 1709 } 1710 return mi.MessageOf(x) 1711 } 1712 1713 // Deprecated: Use Journal.ProtoReflect.Descriptor instead. 1714 func (*Journal) Descriptor() ([]byte, []int) { 1715 return file_binlogdata_proto_rawDescGZIP(), []int{16} 1716 } 1717 1718 func (x *Journal) GetId() int64 { 1719 if x != nil { 1720 return x.Id 1721 } 1722 return 0 1723 } 1724 1725 func (x *Journal) GetMigrationType() MigrationType { 1726 if x != nil { 1727 return x.MigrationType 1728 } 1729 return MigrationType_TABLES 1730 } 1731 1732 func (x *Journal) GetTables() []string { 1733 if x != nil { 1734 return x.Tables 1735 } 1736 return nil 1737 } 1738 1739 func (x *Journal) GetLocalPosition() string { 1740 if x != nil { 1741 return x.LocalPosition 1742 } 1743 return "" 1744 } 1745 1746 func (x *Journal) GetShardGtids() []*ShardGtid { 1747 if x != nil { 1748 return x.ShardGtids 1749 } 1750 return nil 1751 } 1752 1753 func (x *Journal) GetParticipants() []*KeyspaceShard { 1754 if x != nil { 1755 return x.Participants 1756 } 1757 return nil 1758 } 1759 1760 func (x *Journal) GetSourceWorkflows() []string { 1761 if x != nil { 1762 return x.SourceWorkflows 1763 } 1764 return nil 1765 } 1766 1767 // VEvent represents a vstream event. 1768 // A FieldEvent is sent once for every table, just before 1769 // the first event for that table. The client is expected 1770 // to cache this information and match it against the RowEvent 1771 // which contains the table name. 1772 // A GTID event always precedes a commitable event, which can be 1773 // COMMIT, DDL or OTHER. 1774 // OTHER events are non-material events that have no additional metadata. 1775 type VEvent struct { 1776 state protoimpl.MessageState 1777 sizeCache protoimpl.SizeCache 1778 unknownFields protoimpl.UnknownFields 1779 1780 Type VEventType `protobuf:"varint,1,opt,name=type,proto3,enum=binlogdata.VEventType" json:"type,omitempty"` 1781 // Timestamp is the binlog timestamp in seconds. 1782 // The value should be ignored if 0. 1783 Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 1784 // Gtid is set if the event type is GTID. 1785 Gtid string `protobuf:"bytes,3,opt,name=gtid,proto3" json:"gtid,omitempty"` 1786 // Statement is set if the event type is DDL, DML or SAVEPOINT. 1787 Statement string `protobuf:"bytes,4,opt,name=statement,proto3" json:"statement,omitempty"` 1788 // RowEvent is set if the event type is ROW. 1789 RowEvent *RowEvent `protobuf:"bytes,5,opt,name=row_event,json=rowEvent,proto3" json:"row_event,omitempty"` 1790 // FieldEvent is set if the event type is FIELD. 1791 FieldEvent *FieldEvent `protobuf:"bytes,6,opt,name=field_event,json=fieldEvent,proto3" json:"field_event,omitempty"` 1792 // Vgtid is set if the event type is VGTID. 1793 // This event is only generated by VTGate's VStream function. 1794 Vgtid *VGtid `protobuf:"bytes,7,opt,name=vgtid,proto3" json:"vgtid,omitempty"` 1795 // Journal is set if the event type is JOURNAL. 1796 Journal *Journal `protobuf:"bytes,8,opt,name=journal,proto3" json:"journal,omitempty"` 1797 // Dml is set if the event type is INSERT, REPLACE, UPDATE or DELETE. 1798 Dml string `protobuf:"bytes,9,opt,name=dml,proto3" json:"dml,omitempty"` 1799 // CurrentTime specifies the current time when the message was sent. 1800 // This can be used to compenssate for clock skew. 1801 CurrentTime int64 `protobuf:"varint,20,opt,name=current_time,json=currentTime,proto3" json:"current_time,omitempty"` 1802 // LastPK is the last PK for a table 1803 LastPKEvent *LastPKEvent `protobuf:"bytes,21,opt,name=last_p_k_event,json=lastPKEvent,proto3" json:"last_p_k_event,omitempty"` 1804 // the source keyspace 1805 Keyspace string `protobuf:"bytes,22,opt,name=keyspace,proto3" json:"keyspace,omitempty"` 1806 // the source shard 1807 Shard string `protobuf:"bytes,23,opt,name=shard,proto3" json:"shard,omitempty"` 1808 // indicate that we are being throttled right now 1809 Throttled bool `protobuf:"varint,24,opt,name=throttled,proto3" json:"throttled,omitempty"` 1810 } 1811 1812 func (x *VEvent) Reset() { 1813 *x = VEvent{} 1814 if protoimpl.UnsafeEnabled { 1815 mi := &file_binlogdata_proto_msgTypes[17] 1816 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1817 ms.StoreMessageInfo(mi) 1818 } 1819 } 1820 1821 func (x *VEvent) String() string { 1822 return protoimpl.X.MessageStringOf(x) 1823 } 1824 1825 func (*VEvent) ProtoMessage() {} 1826 1827 func (x *VEvent) ProtoReflect() protoreflect.Message { 1828 mi := &file_binlogdata_proto_msgTypes[17] 1829 if protoimpl.UnsafeEnabled && x != nil { 1830 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1831 if ms.LoadMessageInfo() == nil { 1832 ms.StoreMessageInfo(mi) 1833 } 1834 return ms 1835 } 1836 return mi.MessageOf(x) 1837 } 1838 1839 // Deprecated: Use VEvent.ProtoReflect.Descriptor instead. 1840 func (*VEvent) Descriptor() ([]byte, []int) { 1841 return file_binlogdata_proto_rawDescGZIP(), []int{17} 1842 } 1843 1844 func (x *VEvent) GetType() VEventType { 1845 if x != nil { 1846 return x.Type 1847 } 1848 return VEventType_UNKNOWN 1849 } 1850 1851 func (x *VEvent) GetTimestamp() int64 { 1852 if x != nil { 1853 return x.Timestamp 1854 } 1855 return 0 1856 } 1857 1858 func (x *VEvent) GetGtid() string { 1859 if x != nil { 1860 return x.Gtid 1861 } 1862 return "" 1863 } 1864 1865 func (x *VEvent) GetStatement() string { 1866 if x != nil { 1867 return x.Statement 1868 } 1869 return "" 1870 } 1871 1872 func (x *VEvent) GetRowEvent() *RowEvent { 1873 if x != nil { 1874 return x.RowEvent 1875 } 1876 return nil 1877 } 1878 1879 func (x *VEvent) GetFieldEvent() *FieldEvent { 1880 if x != nil { 1881 return x.FieldEvent 1882 } 1883 return nil 1884 } 1885 1886 func (x *VEvent) GetVgtid() *VGtid { 1887 if x != nil { 1888 return x.Vgtid 1889 } 1890 return nil 1891 } 1892 1893 func (x *VEvent) GetJournal() *Journal { 1894 if x != nil { 1895 return x.Journal 1896 } 1897 return nil 1898 } 1899 1900 func (x *VEvent) GetDml() string { 1901 if x != nil { 1902 return x.Dml 1903 } 1904 return "" 1905 } 1906 1907 func (x *VEvent) GetCurrentTime() int64 { 1908 if x != nil { 1909 return x.CurrentTime 1910 } 1911 return 0 1912 } 1913 1914 func (x *VEvent) GetLastPKEvent() *LastPKEvent { 1915 if x != nil { 1916 return x.LastPKEvent 1917 } 1918 return nil 1919 } 1920 1921 func (x *VEvent) GetKeyspace() string { 1922 if x != nil { 1923 return x.Keyspace 1924 } 1925 return "" 1926 } 1927 1928 func (x *VEvent) GetShard() string { 1929 if x != nil { 1930 return x.Shard 1931 } 1932 return "" 1933 } 1934 1935 func (x *VEvent) GetThrottled() bool { 1936 if x != nil { 1937 return x.Throttled 1938 } 1939 return false 1940 } 1941 1942 type MinimalTable struct { 1943 state protoimpl.MessageState 1944 sizeCache protoimpl.SizeCache 1945 unknownFields protoimpl.UnknownFields 1946 1947 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1948 Fields []*query.Field `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` 1949 PKColumns []int64 `protobuf:"varint,3,rep,packed,name=p_k_columns,json=pKColumns,proto3" json:"p_k_columns,omitempty"` 1950 } 1951 1952 func (x *MinimalTable) Reset() { 1953 *x = MinimalTable{} 1954 if protoimpl.UnsafeEnabled { 1955 mi := &file_binlogdata_proto_msgTypes[18] 1956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1957 ms.StoreMessageInfo(mi) 1958 } 1959 } 1960 1961 func (x *MinimalTable) String() string { 1962 return protoimpl.X.MessageStringOf(x) 1963 } 1964 1965 func (*MinimalTable) ProtoMessage() {} 1966 1967 func (x *MinimalTable) ProtoReflect() protoreflect.Message { 1968 mi := &file_binlogdata_proto_msgTypes[18] 1969 if protoimpl.UnsafeEnabled && x != nil { 1970 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1971 if ms.LoadMessageInfo() == nil { 1972 ms.StoreMessageInfo(mi) 1973 } 1974 return ms 1975 } 1976 return mi.MessageOf(x) 1977 } 1978 1979 // Deprecated: Use MinimalTable.ProtoReflect.Descriptor instead. 1980 func (*MinimalTable) Descriptor() ([]byte, []int) { 1981 return file_binlogdata_proto_rawDescGZIP(), []int{18} 1982 } 1983 1984 func (x *MinimalTable) GetName() string { 1985 if x != nil { 1986 return x.Name 1987 } 1988 return "" 1989 } 1990 1991 func (x *MinimalTable) GetFields() []*query.Field { 1992 if x != nil { 1993 return x.Fields 1994 } 1995 return nil 1996 } 1997 1998 func (x *MinimalTable) GetPKColumns() []int64 { 1999 if x != nil { 2000 return x.PKColumns 2001 } 2002 return nil 2003 } 2004 2005 type MinimalSchema struct { 2006 state protoimpl.MessageState 2007 sizeCache protoimpl.SizeCache 2008 unknownFields protoimpl.UnknownFields 2009 2010 Tables []*MinimalTable `protobuf:"bytes,1,rep,name=tables,proto3" json:"tables,omitempty"` 2011 } 2012 2013 func (x *MinimalSchema) Reset() { 2014 *x = MinimalSchema{} 2015 if protoimpl.UnsafeEnabled { 2016 mi := &file_binlogdata_proto_msgTypes[19] 2017 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2018 ms.StoreMessageInfo(mi) 2019 } 2020 } 2021 2022 func (x *MinimalSchema) String() string { 2023 return protoimpl.X.MessageStringOf(x) 2024 } 2025 2026 func (*MinimalSchema) ProtoMessage() {} 2027 2028 func (x *MinimalSchema) ProtoReflect() protoreflect.Message { 2029 mi := &file_binlogdata_proto_msgTypes[19] 2030 if protoimpl.UnsafeEnabled && x != nil { 2031 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2032 if ms.LoadMessageInfo() == nil { 2033 ms.StoreMessageInfo(mi) 2034 } 2035 return ms 2036 } 2037 return mi.MessageOf(x) 2038 } 2039 2040 // Deprecated: Use MinimalSchema.ProtoReflect.Descriptor instead. 2041 func (*MinimalSchema) Descriptor() ([]byte, []int) { 2042 return file_binlogdata_proto_rawDescGZIP(), []int{19} 2043 } 2044 2045 func (x *MinimalSchema) GetTables() []*MinimalTable { 2046 if x != nil { 2047 return x.Tables 2048 } 2049 return nil 2050 } 2051 2052 // VStreamRequest is the payload for VStreamer 2053 type VStreamRequest struct { 2054 state protoimpl.MessageState 2055 sizeCache protoimpl.SizeCache 2056 unknownFields protoimpl.UnknownFields 2057 2058 EffectiveCallerId *vtrpc.CallerID `protobuf:"bytes,1,opt,name=effective_caller_id,json=effectiveCallerId,proto3" json:"effective_caller_id,omitempty"` 2059 ImmediateCallerId *query.VTGateCallerID `protobuf:"bytes,2,opt,name=immediate_caller_id,json=immediateCallerId,proto3" json:"immediate_caller_id,omitempty"` 2060 Target *query.Target `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` 2061 Position string `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"` 2062 Filter *Filter `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"` 2063 TableLastPKs []*TableLastPK `protobuf:"bytes,6,rep,name=table_last_p_ks,json=tableLastPKs,proto3" json:"table_last_p_ks,omitempty"` 2064 } 2065 2066 func (x *VStreamRequest) Reset() { 2067 *x = VStreamRequest{} 2068 if protoimpl.UnsafeEnabled { 2069 mi := &file_binlogdata_proto_msgTypes[20] 2070 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2071 ms.StoreMessageInfo(mi) 2072 } 2073 } 2074 2075 func (x *VStreamRequest) String() string { 2076 return protoimpl.X.MessageStringOf(x) 2077 } 2078 2079 func (*VStreamRequest) ProtoMessage() {} 2080 2081 func (x *VStreamRequest) ProtoReflect() protoreflect.Message { 2082 mi := &file_binlogdata_proto_msgTypes[20] 2083 if protoimpl.UnsafeEnabled && x != nil { 2084 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2085 if ms.LoadMessageInfo() == nil { 2086 ms.StoreMessageInfo(mi) 2087 } 2088 return ms 2089 } 2090 return mi.MessageOf(x) 2091 } 2092 2093 // Deprecated: Use VStreamRequest.ProtoReflect.Descriptor instead. 2094 func (*VStreamRequest) Descriptor() ([]byte, []int) { 2095 return file_binlogdata_proto_rawDescGZIP(), []int{20} 2096 } 2097 2098 func (x *VStreamRequest) GetEffectiveCallerId() *vtrpc.CallerID { 2099 if x != nil { 2100 return x.EffectiveCallerId 2101 } 2102 return nil 2103 } 2104 2105 func (x *VStreamRequest) GetImmediateCallerId() *query.VTGateCallerID { 2106 if x != nil { 2107 return x.ImmediateCallerId 2108 } 2109 return nil 2110 } 2111 2112 func (x *VStreamRequest) GetTarget() *query.Target { 2113 if x != nil { 2114 return x.Target 2115 } 2116 return nil 2117 } 2118 2119 func (x *VStreamRequest) GetPosition() string { 2120 if x != nil { 2121 return x.Position 2122 } 2123 return "" 2124 } 2125 2126 func (x *VStreamRequest) GetFilter() *Filter { 2127 if x != nil { 2128 return x.Filter 2129 } 2130 return nil 2131 } 2132 2133 func (x *VStreamRequest) GetTableLastPKs() []*TableLastPK { 2134 if x != nil { 2135 return x.TableLastPKs 2136 } 2137 return nil 2138 } 2139 2140 // VStreamResponse is the response from VStreamer 2141 type VStreamResponse struct { 2142 state protoimpl.MessageState 2143 sizeCache protoimpl.SizeCache 2144 unknownFields protoimpl.UnknownFields 2145 2146 Events []*VEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` 2147 } 2148 2149 func (x *VStreamResponse) Reset() { 2150 *x = VStreamResponse{} 2151 if protoimpl.UnsafeEnabled { 2152 mi := &file_binlogdata_proto_msgTypes[21] 2153 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2154 ms.StoreMessageInfo(mi) 2155 } 2156 } 2157 2158 func (x *VStreamResponse) String() string { 2159 return protoimpl.X.MessageStringOf(x) 2160 } 2161 2162 func (*VStreamResponse) ProtoMessage() {} 2163 2164 func (x *VStreamResponse) ProtoReflect() protoreflect.Message { 2165 mi := &file_binlogdata_proto_msgTypes[21] 2166 if protoimpl.UnsafeEnabled && x != nil { 2167 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2168 if ms.LoadMessageInfo() == nil { 2169 ms.StoreMessageInfo(mi) 2170 } 2171 return ms 2172 } 2173 return mi.MessageOf(x) 2174 } 2175 2176 // Deprecated: Use VStreamResponse.ProtoReflect.Descriptor instead. 2177 func (*VStreamResponse) Descriptor() ([]byte, []int) { 2178 return file_binlogdata_proto_rawDescGZIP(), []int{21} 2179 } 2180 2181 func (x *VStreamResponse) GetEvents() []*VEvent { 2182 if x != nil { 2183 return x.Events 2184 } 2185 return nil 2186 } 2187 2188 // VStreamRowsRequest is the payload for VStreamRows 2189 type VStreamRowsRequest struct { 2190 state protoimpl.MessageState 2191 sizeCache protoimpl.SizeCache 2192 unknownFields protoimpl.UnknownFields 2193 2194 EffectiveCallerId *vtrpc.CallerID `protobuf:"bytes,1,opt,name=effective_caller_id,json=effectiveCallerId,proto3" json:"effective_caller_id,omitempty"` 2195 ImmediateCallerId *query.VTGateCallerID `protobuf:"bytes,2,opt,name=immediate_caller_id,json=immediateCallerId,proto3" json:"immediate_caller_id,omitempty"` 2196 Target *query.Target `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` 2197 Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` 2198 Lastpk *query.QueryResult `protobuf:"bytes,5,opt,name=lastpk,proto3" json:"lastpk,omitempty"` 2199 } 2200 2201 func (x *VStreamRowsRequest) Reset() { 2202 *x = VStreamRowsRequest{} 2203 if protoimpl.UnsafeEnabled { 2204 mi := &file_binlogdata_proto_msgTypes[22] 2205 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2206 ms.StoreMessageInfo(mi) 2207 } 2208 } 2209 2210 func (x *VStreamRowsRequest) String() string { 2211 return protoimpl.X.MessageStringOf(x) 2212 } 2213 2214 func (*VStreamRowsRequest) ProtoMessage() {} 2215 2216 func (x *VStreamRowsRequest) ProtoReflect() protoreflect.Message { 2217 mi := &file_binlogdata_proto_msgTypes[22] 2218 if protoimpl.UnsafeEnabled && x != nil { 2219 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2220 if ms.LoadMessageInfo() == nil { 2221 ms.StoreMessageInfo(mi) 2222 } 2223 return ms 2224 } 2225 return mi.MessageOf(x) 2226 } 2227 2228 // Deprecated: Use VStreamRowsRequest.ProtoReflect.Descriptor instead. 2229 func (*VStreamRowsRequest) Descriptor() ([]byte, []int) { 2230 return file_binlogdata_proto_rawDescGZIP(), []int{22} 2231 } 2232 2233 func (x *VStreamRowsRequest) GetEffectiveCallerId() *vtrpc.CallerID { 2234 if x != nil { 2235 return x.EffectiveCallerId 2236 } 2237 return nil 2238 } 2239 2240 func (x *VStreamRowsRequest) GetImmediateCallerId() *query.VTGateCallerID { 2241 if x != nil { 2242 return x.ImmediateCallerId 2243 } 2244 return nil 2245 } 2246 2247 func (x *VStreamRowsRequest) GetTarget() *query.Target { 2248 if x != nil { 2249 return x.Target 2250 } 2251 return nil 2252 } 2253 2254 func (x *VStreamRowsRequest) GetQuery() string { 2255 if x != nil { 2256 return x.Query 2257 } 2258 return "" 2259 } 2260 2261 func (x *VStreamRowsRequest) GetLastpk() *query.QueryResult { 2262 if x != nil { 2263 return x.Lastpk 2264 } 2265 return nil 2266 } 2267 2268 // VStreamRowsResponse is the response from VStreamRows 2269 type VStreamRowsResponse struct { 2270 state protoimpl.MessageState 2271 sizeCache protoimpl.SizeCache 2272 unknownFields protoimpl.UnknownFields 2273 2274 Fields []*query.Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` 2275 Pkfields []*query.Field `protobuf:"bytes,2,rep,name=pkfields,proto3" json:"pkfields,omitempty"` 2276 Gtid string `protobuf:"bytes,3,opt,name=gtid,proto3" json:"gtid,omitempty"` 2277 Rows []*query.Row `protobuf:"bytes,4,rep,name=rows,proto3" json:"rows,omitempty"` 2278 Lastpk *query.Row `protobuf:"bytes,5,opt,name=lastpk,proto3" json:"lastpk,omitempty"` 2279 // Throttled indicates that rowstreamer is being throttled right now 2280 Throttled bool `protobuf:"varint,6,opt,name=throttled,proto3" json:"throttled,omitempty"` 2281 // Heartbeat indicates that this is a heartbeat message 2282 Heartbeat bool `protobuf:"varint,7,opt,name=heartbeat,proto3" json:"heartbeat,omitempty"` 2283 } 2284 2285 func (x *VStreamRowsResponse) Reset() { 2286 *x = VStreamRowsResponse{} 2287 if protoimpl.UnsafeEnabled { 2288 mi := &file_binlogdata_proto_msgTypes[23] 2289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2290 ms.StoreMessageInfo(mi) 2291 } 2292 } 2293 2294 func (x *VStreamRowsResponse) String() string { 2295 return protoimpl.X.MessageStringOf(x) 2296 } 2297 2298 func (*VStreamRowsResponse) ProtoMessage() {} 2299 2300 func (x *VStreamRowsResponse) ProtoReflect() protoreflect.Message { 2301 mi := &file_binlogdata_proto_msgTypes[23] 2302 if protoimpl.UnsafeEnabled && x != nil { 2303 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2304 if ms.LoadMessageInfo() == nil { 2305 ms.StoreMessageInfo(mi) 2306 } 2307 return ms 2308 } 2309 return mi.MessageOf(x) 2310 } 2311 2312 // Deprecated: Use VStreamRowsResponse.ProtoReflect.Descriptor instead. 2313 func (*VStreamRowsResponse) Descriptor() ([]byte, []int) { 2314 return file_binlogdata_proto_rawDescGZIP(), []int{23} 2315 } 2316 2317 func (x *VStreamRowsResponse) GetFields() []*query.Field { 2318 if x != nil { 2319 return x.Fields 2320 } 2321 return nil 2322 } 2323 2324 func (x *VStreamRowsResponse) GetPkfields() []*query.Field { 2325 if x != nil { 2326 return x.Pkfields 2327 } 2328 return nil 2329 } 2330 2331 func (x *VStreamRowsResponse) GetGtid() string { 2332 if x != nil { 2333 return x.Gtid 2334 } 2335 return "" 2336 } 2337 2338 func (x *VStreamRowsResponse) GetRows() []*query.Row { 2339 if x != nil { 2340 return x.Rows 2341 } 2342 return nil 2343 } 2344 2345 func (x *VStreamRowsResponse) GetLastpk() *query.Row { 2346 if x != nil { 2347 return x.Lastpk 2348 } 2349 return nil 2350 } 2351 2352 func (x *VStreamRowsResponse) GetThrottled() bool { 2353 if x != nil { 2354 return x.Throttled 2355 } 2356 return false 2357 } 2358 2359 func (x *VStreamRowsResponse) GetHeartbeat() bool { 2360 if x != nil { 2361 return x.Heartbeat 2362 } 2363 return false 2364 } 2365 2366 type LastPKEvent struct { 2367 state protoimpl.MessageState 2368 sizeCache protoimpl.SizeCache 2369 unknownFields protoimpl.UnknownFields 2370 2371 TableLastPK *TableLastPK `protobuf:"bytes,1,opt,name=table_last_p_k,json=tableLastPK,proto3" json:"table_last_p_k,omitempty"` 2372 Completed bool `protobuf:"varint,2,opt,name=completed,proto3" json:"completed,omitempty"` 2373 } 2374 2375 func (x *LastPKEvent) Reset() { 2376 *x = LastPKEvent{} 2377 if protoimpl.UnsafeEnabled { 2378 mi := &file_binlogdata_proto_msgTypes[24] 2379 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2380 ms.StoreMessageInfo(mi) 2381 } 2382 } 2383 2384 func (x *LastPKEvent) String() string { 2385 return protoimpl.X.MessageStringOf(x) 2386 } 2387 2388 func (*LastPKEvent) ProtoMessage() {} 2389 2390 func (x *LastPKEvent) ProtoReflect() protoreflect.Message { 2391 mi := &file_binlogdata_proto_msgTypes[24] 2392 if protoimpl.UnsafeEnabled && x != nil { 2393 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2394 if ms.LoadMessageInfo() == nil { 2395 ms.StoreMessageInfo(mi) 2396 } 2397 return ms 2398 } 2399 return mi.MessageOf(x) 2400 } 2401 2402 // Deprecated: Use LastPKEvent.ProtoReflect.Descriptor instead. 2403 func (*LastPKEvent) Descriptor() ([]byte, []int) { 2404 return file_binlogdata_proto_rawDescGZIP(), []int{24} 2405 } 2406 2407 func (x *LastPKEvent) GetTableLastPK() *TableLastPK { 2408 if x != nil { 2409 return x.TableLastPK 2410 } 2411 return nil 2412 } 2413 2414 func (x *LastPKEvent) GetCompleted() bool { 2415 if x != nil { 2416 return x.Completed 2417 } 2418 return false 2419 } 2420 2421 type TableLastPK struct { 2422 state protoimpl.MessageState 2423 sizeCache protoimpl.SizeCache 2424 unknownFields protoimpl.UnknownFields 2425 2426 TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` 2427 Lastpk *query.QueryResult `protobuf:"bytes,3,opt,name=lastpk,proto3" json:"lastpk,omitempty"` 2428 } 2429 2430 func (x *TableLastPK) Reset() { 2431 *x = TableLastPK{} 2432 if protoimpl.UnsafeEnabled { 2433 mi := &file_binlogdata_proto_msgTypes[25] 2434 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2435 ms.StoreMessageInfo(mi) 2436 } 2437 } 2438 2439 func (x *TableLastPK) String() string { 2440 return protoimpl.X.MessageStringOf(x) 2441 } 2442 2443 func (*TableLastPK) ProtoMessage() {} 2444 2445 func (x *TableLastPK) ProtoReflect() protoreflect.Message { 2446 mi := &file_binlogdata_proto_msgTypes[25] 2447 if protoimpl.UnsafeEnabled && x != nil { 2448 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2449 if ms.LoadMessageInfo() == nil { 2450 ms.StoreMessageInfo(mi) 2451 } 2452 return ms 2453 } 2454 return mi.MessageOf(x) 2455 } 2456 2457 // Deprecated: Use TableLastPK.ProtoReflect.Descriptor instead. 2458 func (*TableLastPK) Descriptor() ([]byte, []int) { 2459 return file_binlogdata_proto_rawDescGZIP(), []int{25} 2460 } 2461 2462 func (x *TableLastPK) GetTableName() string { 2463 if x != nil { 2464 return x.TableName 2465 } 2466 return "" 2467 } 2468 2469 func (x *TableLastPK) GetLastpk() *query.QueryResult { 2470 if x != nil { 2471 return x.Lastpk 2472 } 2473 return nil 2474 } 2475 2476 // VStreamResultsRequest is the payload for VStreamResults 2477 // The ids match VStreamRows, in case we decide to merge the two. 2478 // The ids match VStreamRows, in case we decide to merge the two. 2479 type VStreamResultsRequest struct { 2480 state protoimpl.MessageState 2481 sizeCache protoimpl.SizeCache 2482 unknownFields protoimpl.UnknownFields 2483 2484 EffectiveCallerId *vtrpc.CallerID `protobuf:"bytes,1,opt,name=effective_caller_id,json=effectiveCallerId,proto3" json:"effective_caller_id,omitempty"` 2485 ImmediateCallerId *query.VTGateCallerID `protobuf:"bytes,2,opt,name=immediate_caller_id,json=immediateCallerId,proto3" json:"immediate_caller_id,omitempty"` 2486 Target *query.Target `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` 2487 Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` 2488 } 2489 2490 func (x *VStreamResultsRequest) Reset() { 2491 *x = VStreamResultsRequest{} 2492 if protoimpl.UnsafeEnabled { 2493 mi := &file_binlogdata_proto_msgTypes[26] 2494 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2495 ms.StoreMessageInfo(mi) 2496 } 2497 } 2498 2499 func (x *VStreamResultsRequest) String() string { 2500 return protoimpl.X.MessageStringOf(x) 2501 } 2502 2503 func (*VStreamResultsRequest) ProtoMessage() {} 2504 2505 func (x *VStreamResultsRequest) ProtoReflect() protoreflect.Message { 2506 mi := &file_binlogdata_proto_msgTypes[26] 2507 if protoimpl.UnsafeEnabled && x != nil { 2508 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2509 if ms.LoadMessageInfo() == nil { 2510 ms.StoreMessageInfo(mi) 2511 } 2512 return ms 2513 } 2514 return mi.MessageOf(x) 2515 } 2516 2517 // Deprecated: Use VStreamResultsRequest.ProtoReflect.Descriptor instead. 2518 func (*VStreamResultsRequest) Descriptor() ([]byte, []int) { 2519 return file_binlogdata_proto_rawDescGZIP(), []int{26} 2520 } 2521 2522 func (x *VStreamResultsRequest) GetEffectiveCallerId() *vtrpc.CallerID { 2523 if x != nil { 2524 return x.EffectiveCallerId 2525 } 2526 return nil 2527 } 2528 2529 func (x *VStreamResultsRequest) GetImmediateCallerId() *query.VTGateCallerID { 2530 if x != nil { 2531 return x.ImmediateCallerId 2532 } 2533 return nil 2534 } 2535 2536 func (x *VStreamResultsRequest) GetTarget() *query.Target { 2537 if x != nil { 2538 return x.Target 2539 } 2540 return nil 2541 } 2542 2543 func (x *VStreamResultsRequest) GetQuery() string { 2544 if x != nil { 2545 return x.Query 2546 } 2547 return "" 2548 } 2549 2550 // VStreamResultsResponse is the response from VStreamResults 2551 // The ids match VStreamRows, in case we decide to merge the two. 2552 type VStreamResultsResponse struct { 2553 state protoimpl.MessageState 2554 sizeCache protoimpl.SizeCache 2555 unknownFields protoimpl.UnknownFields 2556 2557 Fields []*query.Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` 2558 Gtid string `protobuf:"bytes,3,opt,name=gtid,proto3" json:"gtid,omitempty"` 2559 Rows []*query.Row `protobuf:"bytes,4,rep,name=rows,proto3" json:"rows,omitempty"` 2560 } 2561 2562 func (x *VStreamResultsResponse) Reset() { 2563 *x = VStreamResultsResponse{} 2564 if protoimpl.UnsafeEnabled { 2565 mi := &file_binlogdata_proto_msgTypes[27] 2566 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2567 ms.StoreMessageInfo(mi) 2568 } 2569 } 2570 2571 func (x *VStreamResultsResponse) String() string { 2572 return protoimpl.X.MessageStringOf(x) 2573 } 2574 2575 func (*VStreamResultsResponse) ProtoMessage() {} 2576 2577 func (x *VStreamResultsResponse) ProtoReflect() protoreflect.Message { 2578 mi := &file_binlogdata_proto_msgTypes[27] 2579 if protoimpl.UnsafeEnabled && x != nil { 2580 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2581 if ms.LoadMessageInfo() == nil { 2582 ms.StoreMessageInfo(mi) 2583 } 2584 return ms 2585 } 2586 return mi.MessageOf(x) 2587 } 2588 2589 // Deprecated: Use VStreamResultsResponse.ProtoReflect.Descriptor instead. 2590 func (*VStreamResultsResponse) Descriptor() ([]byte, []int) { 2591 return file_binlogdata_proto_rawDescGZIP(), []int{27} 2592 } 2593 2594 func (x *VStreamResultsResponse) GetFields() []*query.Field { 2595 if x != nil { 2596 return x.Fields 2597 } 2598 return nil 2599 } 2600 2601 func (x *VStreamResultsResponse) GetGtid() string { 2602 if x != nil { 2603 return x.Gtid 2604 } 2605 return "" 2606 } 2607 2608 func (x *VStreamResultsResponse) GetRows() []*query.Row { 2609 if x != nil { 2610 return x.Rows 2611 } 2612 return nil 2613 } 2614 2615 type BinlogTransaction_Statement struct { 2616 state protoimpl.MessageState 2617 sizeCache protoimpl.SizeCache 2618 unknownFields protoimpl.UnknownFields 2619 2620 // what type of statement is this? 2621 Category BinlogTransaction_Statement_Category `protobuf:"varint,1,opt,name=category,proto3,enum=binlogdata.BinlogTransaction_Statement_Category" json:"category,omitempty"` 2622 // charset of this statement, if different from pre-negotiated default. 2623 Charset *Charset `protobuf:"bytes,2,opt,name=charset,proto3" json:"charset,omitempty"` 2624 // the sql 2625 Sql []byte `protobuf:"bytes,3,opt,name=sql,proto3" json:"sql,omitempty"` 2626 } 2627 2628 func (x *BinlogTransaction_Statement) Reset() { 2629 *x = BinlogTransaction_Statement{} 2630 if protoimpl.UnsafeEnabled { 2631 mi := &file_binlogdata_proto_msgTypes[28] 2632 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2633 ms.StoreMessageInfo(mi) 2634 } 2635 } 2636 2637 func (x *BinlogTransaction_Statement) String() string { 2638 return protoimpl.X.MessageStringOf(x) 2639 } 2640 2641 func (*BinlogTransaction_Statement) ProtoMessage() {} 2642 2643 func (x *BinlogTransaction_Statement) ProtoReflect() protoreflect.Message { 2644 mi := &file_binlogdata_proto_msgTypes[28] 2645 if protoimpl.UnsafeEnabled && x != nil { 2646 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2647 if ms.LoadMessageInfo() == nil { 2648 ms.StoreMessageInfo(mi) 2649 } 2650 return ms 2651 } 2652 return mi.MessageOf(x) 2653 } 2654 2655 // Deprecated: Use BinlogTransaction_Statement.ProtoReflect.Descriptor instead. 2656 func (*BinlogTransaction_Statement) Descriptor() ([]byte, []int) { 2657 return file_binlogdata_proto_rawDescGZIP(), []int{1, 0} 2658 } 2659 2660 func (x *BinlogTransaction_Statement) GetCategory() BinlogTransaction_Statement_Category { 2661 if x != nil { 2662 return x.Category 2663 } 2664 return BinlogTransaction_Statement_BL_UNRECOGNIZED 2665 } 2666 2667 func (x *BinlogTransaction_Statement) GetCharset() *Charset { 2668 if x != nil { 2669 return x.Charset 2670 } 2671 return nil 2672 } 2673 2674 func (x *BinlogTransaction_Statement) GetSql() []byte { 2675 if x != nil { 2676 return x.Sql 2677 } 2678 return nil 2679 } 2680 2681 var File_binlogdata_proto protoreflect.FileDescriptor 2682 2683 var file_binlogdata_proto_rawDesc = []byte{ 2684 0x0a, 0x10, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 2685 0x74, 0x6f, 0x12, 0x0a, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x0b, 2686 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x71, 0x75, 0x65, 2687 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 2688 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x72, 2689 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 2690 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 2691 0x6f, 0x6e, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x6e, 0x12, 2692 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 2693 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0xe5, 0x03, 0x0a, 0x11, 0x42, 0x69, 0x6e, 0x6c, 2694 0x6f, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 2695 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 2696 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 2697 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 2698 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 2699 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 2700 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 2701 0x65, 0x72, 0x79, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0a, 2702 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0xc6, 0x02, 0x0a, 0x09, 0x53, 2703 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 2704 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x62, 0x69, 0x6e, 2705 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x54, 0x72, 2706 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 2707 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63, 0x61, 2708 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 2709 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 2710 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x52, 0x07, 0x63, 0x68, 2711 0x61, 0x72, 0x73, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x03, 0x20, 0x01, 2712 0x28, 0x0c, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0xa9, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 2713 0x67, 0x6f, 0x72, 0x79, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x4c, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x43, 2714 0x4f, 0x47, 0x4e, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x4c, 0x5f, 2715 0x42, 0x45, 0x47, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x5f, 0x43, 0x4f, 2716 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x4c, 0x5f, 0x52, 0x4f, 0x4c, 2717 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x4c, 0x5f, 0x44, 0x4d, 2718 0x4c, 0x5f, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0a, 2719 0x0a, 0x06, 0x42, 0x4c, 0x5f, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x4c, 2720 0x5f, 0x53, 0x45, 0x54, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 2721 0x45, 0x52, 0x54, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x5f, 0x55, 0x50, 0x44, 0x41, 2722 0x54, 0x45, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 2723 0x45, 0x10, 0x09, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 2724 0x93, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 2725 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 2726 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 2727 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 2728 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 2729 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 2730 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 2731 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 2732 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x52, 0x07, 0x63, 0x68, 2733 0x61, 0x72, 0x73, 0x65, 0x74, 0x22, 0x66, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 2734 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 2735 0x4c, 0x0a, 0x12, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 2736 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x69, 2737 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x54, 2738 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x62, 0x69, 0x6e, 0x6c, 2739 0x6f, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, 2740 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 2741 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 2742 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 2743 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 2744 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, 2745 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 2746 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x52, 0x07, 2747 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x22, 0x64, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 2748 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 2749 0x4c, 0x0a, 0x12, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 2750 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x69, 2751 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x54, 2752 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x62, 0x69, 0x6e, 0x6c, 2753 0x6f, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 2754 0x11, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 2755 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x73, 2756 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x68, 2757 0x61, 0x72, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x5f, 0x63, 0x68, 0x61, 0x72, 2758 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x43, 0x68, 0x61, 2759 0x72, 0x73, 0x65, 0x74, 0x22, 0xdf, 0x05, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x14, 0x0a, 2760 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 2761 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 2762 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x14, 0x63, 2763 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 2764 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 2765 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 2766 0x65, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 2767 0x72, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x54, 2768 0x6f, 0x54, 0x65, 0x78, 0x74, 0x12, 0x4d, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 2769 0x5f, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 2770 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6c, 0x65, 2771 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x45, 2772 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 2773 0x72, 0x73, 0x65, 0x74, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 2774 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 2775 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 2776 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 2777 0x39, 0x0a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 2778 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 2779 0x28, 0x09, 0x52, 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 2780 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x20, 0x73, 0x6f, 2781 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 2782 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x07, 2783 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x6e, 0x69, 0x71, 2784 0x75, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 2785 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 2786 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 2787 0x26, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6c, 2788 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x54, 0x6f, 0x45, 0x6e, 2789 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 2790 0x49, 0x6e, 0x74, 0x54, 0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x1a, 0x44, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 2791 0x76, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 2792 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2793 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 2794 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 2795 0x60, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 2796 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 2797 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 2798 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 2799 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 2800 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 2801 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x54, 2802 0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 2803 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 2804 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 2805 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xff, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 2806 0x72, 0x12, 0x26, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 2807 0x32, 0x10, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 2808 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x66, 0x69, 0x65, 2809 0x6c, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 2810 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 2811 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 2812 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 2813 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 2814 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x77, 2815 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 2816 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 2817 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 2818 0x22, 0x36, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 2819 0x64, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x4e, 0x5f, 0x4d, 0x49, 0x53, 2820 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x45, 0x53, 0x54, 0x5f, 2821 0x45, 0x46, 0x46, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x22, 0xea, 0x03, 0x0a, 0x0c, 0x42, 0x69, 0x6e, 2822 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 2823 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 2824 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 2825 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x74, 2826 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 2827 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 2828 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 2829 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 2830 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 2831 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 2832 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 2833 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x66, 2834 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69, 2835 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 2836 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 2837 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 2838 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x6e, 0x44, 0x44, 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 2839 0x52, 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x72, 2840 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 2841 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x12, 0x26, 2842 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 2843 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 2844 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 2845 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 2846 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 2847 0x72, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 2848 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 2849 0x72, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 2850 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 2851 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 2852 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x22, 0x51, 0x0a, 0x09, 0x52, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 2853 0x67, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 2854 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x06, 2855 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 2856 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 2857 0x77, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x22, 0x93, 0x01, 0x0a, 0x08, 0x52, 0x6f, 0x77, 2858 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 2859 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 2860 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x61, 0x6e, 2861 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 2862 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 2863 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 2864 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 2865 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 2866 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x83, 2867 0x01, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 2868 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 2869 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06, 2870 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 2871 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 2872 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 2873 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 2874 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 2875 0x68, 0x61, 0x72, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74, 2876 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 2877 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 2878 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 2879 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 2880 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 2881 0x65, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 2882 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 2883 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x4b, 0x73, 0x22, 2884 0x3f, 0x0a, 0x05, 0x56, 0x47, 0x74, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 2885 0x64, 0x5f, 0x67, 0x74, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 2886 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 2887 0x47, 0x74, 0x69, 0x64, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x73, 2888 0x22, 0x41, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 2889 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 2890 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 2891 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 2892 0x61, 0x72, 0x64, 0x22, 0xbc, 0x02, 0x0a, 0x07, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x12, 2893 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 2894 0x40, 0x0a, 0x0e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 2895 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 2896 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 2897 0x70, 0x65, 0x52, 0x0d, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 2898 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 2899 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 2900 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 2901 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 2902 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x74, 0x69, 0x64, 0x73, 0x18, 2903 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 2904 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x52, 0x0a, 0x73, 0x68, 2905 0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 2906 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 2907 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 2908 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 2909 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 2910 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 2911 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 2912 0x77, 0x73, 0x22, 0x8b, 0x04, 0x0a, 0x06, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 2913 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x69, 2914 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 2915 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 2916 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 2917 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 2918 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 2919 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 2920 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x72, 0x6f, 0x77, 2921 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 2922 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x76, 0x65, 2923 0x6e, 0x74, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0b, 2924 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 2925 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 2926 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 2927 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x67, 0x74, 0x69, 0x64, 0x18, 0x07, 2928 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 2929 0x61, 0x2e, 0x56, 0x47, 0x74, 0x69, 0x64, 0x52, 0x05, 0x76, 0x67, 0x74, 0x69, 0x64, 0x12, 0x2d, 2930 0x0a, 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 2931 0x13, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4a, 0x6f, 0x75, 2932 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x10, 0x0a, 2933 0x03, 0x64, 0x6d, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6d, 0x6c, 0x12, 2934 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 2935 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 2936 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x5f, 0x65, 2937 0x76, 0x65, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 2938 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76, 2939 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76, 0x65, 0x6e, 0x74, 2940 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x16, 0x20, 0x01, 2941 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 2942 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 2943 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 2944 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 2945 0x22, 0x68, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 2946 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 2947 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 2948 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 2949 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x5f, 2950 0x6b, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 2951 0x09, 0x70, 0x4b, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x41, 0x0a, 0x0d, 0x4d, 0x69, 2952 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x30, 0x0a, 0x06, 0x74, 2953 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x69, 2954 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 2955 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xc7, 0x02, 2956 0x0a, 0x0e, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2957 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 2958 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 2959 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 2960 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 2961 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 2962 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 2963 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 2964 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 2965 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 2966 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 2967 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 2968 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 2969 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x66, 2970 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69, 2971 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 2972 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 2973 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 2974 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 2975 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 2976 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x73, 0x22, 0x3d, 0x0a, 0x0f, 0x56, 0x53, 0x74, 0x72, 0x65, 2977 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x65, 0x76, 2978 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69, 0x6e, 2979 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 2980 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x56, 0x53, 0x74, 0x72, 0x65, 2981 0x61, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 2982 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 2983 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 2984 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 2985 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 2986 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 2987 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 2988 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 2989 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 2990 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 2991 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 2992 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 2993 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 2994 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x05, 0x20, 0x01, 2995 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 2996 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22, 0xf9, 2997 0x01, 0x0a, 0x13, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 2998 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 2999 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 3000 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x08, 3001 0x70, 0x6b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 3002 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x08, 0x70, 0x6b, 3003 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 3004 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 3005 0x77, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 3006 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x6c, 0x61, 3007 0x73, 0x74, 0x70, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 3008 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x12, 0x1c, 3009 0x0a, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 3010 0x08, 0x52, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 3011 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 3012 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x22, 0x69, 0x0a, 0x0b, 0x4c, 0x61, 3013 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0e, 0x74, 0x61, 0x62, 3014 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 3015 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 3016 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 3017 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 3018 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 3019 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x58, 0x0a, 0x0b, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 3020 0x73, 0x74, 0x50, 0x4b, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 3021 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 3022 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x03, 0x20, 3023 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 3024 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22, 3025 0xdc, 0x01, 0x0a, 0x15, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 3026 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 3027 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 3028 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 3029 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 3030 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 3031 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 3032 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 3033 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 3034 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 3035 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 3036 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 3037 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 3038 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x72, 3039 0x0a, 0x16, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 3040 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 3041 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 3042 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 3043 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 3044 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 3045 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 3046 0x77, 0x73, 0x2a, 0x3e, 0x0a, 0x0b, 0x4f, 0x6e, 0x44, 0x44, 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f, 3047 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 3048 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x58, 0x45, 0x43, 0x10, 3049 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x58, 0x45, 0x43, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 3050 0x10, 0x03, 0x2a, 0x7b, 0x0a, 0x18, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 3051 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 3052 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x10, 0x00, 0x12, 3053 0x0e, 0x0a, 0x0a, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x01, 0x12, 3054 0x15, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49, 3055 0x6e, 0x64, 0x65, 0x78, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 3056 0x65, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x10, 0x04, 3057 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x2a, 3058 0x34, 0x0a, 0x1b, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 3059 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 3060 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x61, 0x72, 0x74, 3061 0x69, 0x61, 0x6c, 0x10, 0x01, 0x2a, 0x8d, 0x02, 0x0a, 0x0a, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 3062 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 3063 0x00, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x54, 0x49, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x42, 3064 0x45, 0x47, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 3065 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 3066 0x12, 0x07, 0x0a, 0x03, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x53, 3067 0x45, 0x52, 0x54, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 3068 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x08, 0x12, 0x0a, 3069 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 3070 0x54, 0x10, 0x0a, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x07, 3071 0x0a, 0x03, 0x52, 0x4f, 0x57, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x45, 0x4c, 0x44, 3072 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x10, 3073 0x0e, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x47, 0x54, 0x49, 0x44, 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07, 3074 0x4a, 0x4f, 0x55, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x45, 0x52, 3075 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x11, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x41, 0x53, 0x54, 0x50, 0x4b, 3076 0x10, 0x12, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x41, 0x56, 0x45, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 3077 0x13, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x50, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 3078 0x54, 0x45, 0x44, 0x10, 0x14, 0x2a, 0x27, 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 3079 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 3080 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x48, 0x41, 0x52, 0x44, 0x53, 0x10, 0x01, 0x42, 0x29, 3081 0x5a, 0x27, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 3082 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 3083 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3084 0x33, 3085 } 3086 3087 var ( 3088 file_binlogdata_proto_rawDescOnce sync.Once 3089 file_binlogdata_proto_rawDescData = file_binlogdata_proto_rawDesc 3090 ) 3091 3092 func file_binlogdata_proto_rawDescGZIP() []byte { 3093 file_binlogdata_proto_rawDescOnce.Do(func() { 3094 file_binlogdata_proto_rawDescData = protoimpl.X.CompressGZIP(file_binlogdata_proto_rawDescData) 3095 }) 3096 return file_binlogdata_proto_rawDescData 3097 } 3098 3099 var file_binlogdata_proto_enumTypes = make([]protoimpl.EnumInfo, 7) 3100 var file_binlogdata_proto_msgTypes = make([]protoimpl.MessageInfo, 32) 3101 var file_binlogdata_proto_goTypes = []interface{}{ 3102 (OnDDLAction)(0), // 0: binlogdata.OnDDLAction 3103 (VReplicationWorkflowType)(0), // 1: binlogdata.VReplicationWorkflowType 3104 (VReplicationWorkflowSubType)(0), // 2: binlogdata.VReplicationWorkflowSubType 3105 (VEventType)(0), // 3: binlogdata.VEventType 3106 (MigrationType)(0), // 4: binlogdata.MigrationType 3107 (BinlogTransaction_Statement_Category)(0), // 5: binlogdata.BinlogTransaction.Statement.Category 3108 (Filter_FieldEventMode)(0), // 6: binlogdata.Filter.FieldEventMode 3109 (*Charset)(nil), // 7: binlogdata.Charset 3110 (*BinlogTransaction)(nil), // 8: binlogdata.BinlogTransaction 3111 (*StreamKeyRangeRequest)(nil), // 9: binlogdata.StreamKeyRangeRequest 3112 (*StreamKeyRangeResponse)(nil), // 10: binlogdata.StreamKeyRangeResponse 3113 (*StreamTablesRequest)(nil), // 11: binlogdata.StreamTablesRequest 3114 (*StreamTablesResponse)(nil), // 12: binlogdata.StreamTablesResponse 3115 (*CharsetConversion)(nil), // 13: binlogdata.CharsetConversion 3116 (*Rule)(nil), // 14: binlogdata.Rule 3117 (*Filter)(nil), // 15: binlogdata.Filter 3118 (*BinlogSource)(nil), // 16: binlogdata.BinlogSource 3119 (*RowChange)(nil), // 17: binlogdata.RowChange 3120 (*RowEvent)(nil), // 18: binlogdata.RowEvent 3121 (*FieldEvent)(nil), // 19: binlogdata.FieldEvent 3122 (*ShardGtid)(nil), // 20: binlogdata.ShardGtid 3123 (*VGtid)(nil), // 21: binlogdata.VGtid 3124 (*KeyspaceShard)(nil), // 22: binlogdata.KeyspaceShard 3125 (*Journal)(nil), // 23: binlogdata.Journal 3126 (*VEvent)(nil), // 24: binlogdata.VEvent 3127 (*MinimalTable)(nil), // 25: binlogdata.MinimalTable 3128 (*MinimalSchema)(nil), // 26: binlogdata.MinimalSchema 3129 (*VStreamRequest)(nil), // 27: binlogdata.VStreamRequest 3130 (*VStreamResponse)(nil), // 28: binlogdata.VStreamResponse 3131 (*VStreamRowsRequest)(nil), // 29: binlogdata.VStreamRowsRequest 3132 (*VStreamRowsResponse)(nil), // 30: binlogdata.VStreamRowsResponse 3133 (*LastPKEvent)(nil), // 31: binlogdata.LastPKEvent 3134 (*TableLastPK)(nil), // 32: binlogdata.TableLastPK 3135 (*VStreamResultsRequest)(nil), // 33: binlogdata.VStreamResultsRequest 3136 (*VStreamResultsResponse)(nil), // 34: binlogdata.VStreamResultsResponse 3137 (*BinlogTransaction_Statement)(nil), // 35: binlogdata.BinlogTransaction.Statement 3138 nil, // 36: binlogdata.Rule.ConvertEnumToTextEntry 3139 nil, // 37: binlogdata.Rule.ConvertCharsetEntry 3140 nil, // 38: binlogdata.Rule.ConvertIntToEnumEntry 3141 (*query.EventToken)(nil), // 39: query.EventToken 3142 (*topodata.KeyRange)(nil), // 40: topodata.KeyRange 3143 (topodata.TabletType)(0), // 41: topodata.TabletType 3144 (*query.Row)(nil), // 42: query.Row 3145 (*query.Field)(nil), // 43: query.Field 3146 (*vtrpc.CallerID)(nil), // 44: vtrpc.CallerID 3147 (*query.VTGateCallerID)(nil), // 45: query.VTGateCallerID 3148 (*query.Target)(nil), // 46: query.Target 3149 (*query.QueryResult)(nil), // 47: query.QueryResult 3150 } 3151 var file_binlogdata_proto_depIdxs = []int32{ 3152 35, // 0: binlogdata.BinlogTransaction.statements:type_name -> binlogdata.BinlogTransaction.Statement 3153 39, // 1: binlogdata.BinlogTransaction.event_token:type_name -> query.EventToken 3154 40, // 2: binlogdata.StreamKeyRangeRequest.key_range:type_name -> topodata.KeyRange 3155 7, // 3: binlogdata.StreamKeyRangeRequest.charset:type_name -> binlogdata.Charset 3156 8, // 4: binlogdata.StreamKeyRangeResponse.binlog_transaction:type_name -> binlogdata.BinlogTransaction 3157 7, // 5: binlogdata.StreamTablesRequest.charset:type_name -> binlogdata.Charset 3158 8, // 6: binlogdata.StreamTablesResponse.binlog_transaction:type_name -> binlogdata.BinlogTransaction 3159 36, // 7: binlogdata.Rule.convert_enum_to_text:type_name -> binlogdata.Rule.ConvertEnumToTextEntry 3160 37, // 8: binlogdata.Rule.convert_charset:type_name -> binlogdata.Rule.ConvertCharsetEntry 3161 38, // 9: binlogdata.Rule.convert_int_to_enum:type_name -> binlogdata.Rule.ConvertIntToEnumEntry 3162 14, // 10: binlogdata.Filter.rules:type_name -> binlogdata.Rule 3163 6, // 11: binlogdata.Filter.field_event_mode:type_name -> binlogdata.Filter.FieldEventMode 3164 41, // 12: binlogdata.BinlogSource.tablet_type:type_name -> topodata.TabletType 3165 40, // 13: binlogdata.BinlogSource.key_range:type_name -> topodata.KeyRange 3166 15, // 14: binlogdata.BinlogSource.filter:type_name -> binlogdata.Filter 3167 0, // 15: binlogdata.BinlogSource.on_ddl:type_name -> binlogdata.OnDDLAction 3168 42, // 16: binlogdata.RowChange.before:type_name -> query.Row 3169 42, // 17: binlogdata.RowChange.after:type_name -> query.Row 3170 17, // 18: binlogdata.RowEvent.row_changes:type_name -> binlogdata.RowChange 3171 43, // 19: binlogdata.FieldEvent.fields:type_name -> query.Field 3172 32, // 20: binlogdata.ShardGtid.table_p_ks:type_name -> binlogdata.TableLastPK 3173 20, // 21: binlogdata.VGtid.shard_gtids:type_name -> binlogdata.ShardGtid 3174 4, // 22: binlogdata.Journal.migration_type:type_name -> binlogdata.MigrationType 3175 20, // 23: binlogdata.Journal.shard_gtids:type_name -> binlogdata.ShardGtid 3176 22, // 24: binlogdata.Journal.participants:type_name -> binlogdata.KeyspaceShard 3177 3, // 25: binlogdata.VEvent.type:type_name -> binlogdata.VEventType 3178 18, // 26: binlogdata.VEvent.row_event:type_name -> binlogdata.RowEvent 3179 19, // 27: binlogdata.VEvent.field_event:type_name -> binlogdata.FieldEvent 3180 21, // 28: binlogdata.VEvent.vgtid:type_name -> binlogdata.VGtid 3181 23, // 29: binlogdata.VEvent.journal:type_name -> binlogdata.Journal 3182 31, // 30: binlogdata.VEvent.last_p_k_event:type_name -> binlogdata.LastPKEvent 3183 43, // 31: binlogdata.MinimalTable.fields:type_name -> query.Field 3184 25, // 32: binlogdata.MinimalSchema.tables:type_name -> binlogdata.MinimalTable 3185 44, // 33: binlogdata.VStreamRequest.effective_caller_id:type_name -> vtrpc.CallerID 3186 45, // 34: binlogdata.VStreamRequest.immediate_caller_id:type_name -> query.VTGateCallerID 3187 46, // 35: binlogdata.VStreamRequest.target:type_name -> query.Target 3188 15, // 36: binlogdata.VStreamRequest.filter:type_name -> binlogdata.Filter 3189 32, // 37: binlogdata.VStreamRequest.table_last_p_ks:type_name -> binlogdata.TableLastPK 3190 24, // 38: binlogdata.VStreamResponse.events:type_name -> binlogdata.VEvent 3191 44, // 39: binlogdata.VStreamRowsRequest.effective_caller_id:type_name -> vtrpc.CallerID 3192 45, // 40: binlogdata.VStreamRowsRequest.immediate_caller_id:type_name -> query.VTGateCallerID 3193 46, // 41: binlogdata.VStreamRowsRequest.target:type_name -> query.Target 3194 47, // 42: binlogdata.VStreamRowsRequest.lastpk:type_name -> query.QueryResult 3195 43, // 43: binlogdata.VStreamRowsResponse.fields:type_name -> query.Field 3196 43, // 44: binlogdata.VStreamRowsResponse.pkfields:type_name -> query.Field 3197 42, // 45: binlogdata.VStreamRowsResponse.rows:type_name -> query.Row 3198 42, // 46: binlogdata.VStreamRowsResponse.lastpk:type_name -> query.Row 3199 32, // 47: binlogdata.LastPKEvent.table_last_p_k:type_name -> binlogdata.TableLastPK 3200 47, // 48: binlogdata.TableLastPK.lastpk:type_name -> query.QueryResult 3201 44, // 49: binlogdata.VStreamResultsRequest.effective_caller_id:type_name -> vtrpc.CallerID 3202 45, // 50: binlogdata.VStreamResultsRequest.immediate_caller_id:type_name -> query.VTGateCallerID 3203 46, // 51: binlogdata.VStreamResultsRequest.target:type_name -> query.Target 3204 43, // 52: binlogdata.VStreamResultsResponse.fields:type_name -> query.Field 3205 42, // 53: binlogdata.VStreamResultsResponse.rows:type_name -> query.Row 3206 5, // 54: binlogdata.BinlogTransaction.Statement.category:type_name -> binlogdata.BinlogTransaction.Statement.Category 3207 7, // 55: binlogdata.BinlogTransaction.Statement.charset:type_name -> binlogdata.Charset 3208 13, // 56: binlogdata.Rule.ConvertCharsetEntry.value:type_name -> binlogdata.CharsetConversion 3209 57, // [57:57] is the sub-list for method output_type 3210 57, // [57:57] is the sub-list for method input_type 3211 57, // [57:57] is the sub-list for extension type_name 3212 57, // [57:57] is the sub-list for extension extendee 3213 0, // [0:57] is the sub-list for field type_name 3214 } 3215 3216 func init() { file_binlogdata_proto_init() } 3217 func file_binlogdata_proto_init() { 3218 if File_binlogdata_proto != nil { 3219 return 3220 } 3221 if !protoimpl.UnsafeEnabled { 3222 file_binlogdata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3223 switch v := v.(*Charset); i { 3224 case 0: 3225 return &v.state 3226 case 1: 3227 return &v.sizeCache 3228 case 2: 3229 return &v.unknownFields 3230 default: 3231 return nil 3232 } 3233 } 3234 file_binlogdata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3235 switch v := v.(*BinlogTransaction); i { 3236 case 0: 3237 return &v.state 3238 case 1: 3239 return &v.sizeCache 3240 case 2: 3241 return &v.unknownFields 3242 default: 3243 return nil 3244 } 3245 } 3246 file_binlogdata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3247 switch v := v.(*StreamKeyRangeRequest); i { 3248 case 0: 3249 return &v.state 3250 case 1: 3251 return &v.sizeCache 3252 case 2: 3253 return &v.unknownFields 3254 default: 3255 return nil 3256 } 3257 } 3258 file_binlogdata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3259 switch v := v.(*StreamKeyRangeResponse); i { 3260 case 0: 3261 return &v.state 3262 case 1: 3263 return &v.sizeCache 3264 case 2: 3265 return &v.unknownFields 3266 default: 3267 return nil 3268 } 3269 } 3270 file_binlogdata_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3271 switch v := v.(*StreamTablesRequest); i { 3272 case 0: 3273 return &v.state 3274 case 1: 3275 return &v.sizeCache 3276 case 2: 3277 return &v.unknownFields 3278 default: 3279 return nil 3280 } 3281 } 3282 file_binlogdata_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3283 switch v := v.(*StreamTablesResponse); i { 3284 case 0: 3285 return &v.state 3286 case 1: 3287 return &v.sizeCache 3288 case 2: 3289 return &v.unknownFields 3290 default: 3291 return nil 3292 } 3293 } 3294 file_binlogdata_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3295 switch v := v.(*CharsetConversion); i { 3296 case 0: 3297 return &v.state 3298 case 1: 3299 return &v.sizeCache 3300 case 2: 3301 return &v.unknownFields 3302 default: 3303 return nil 3304 } 3305 } 3306 file_binlogdata_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3307 switch v := v.(*Rule); i { 3308 case 0: 3309 return &v.state 3310 case 1: 3311 return &v.sizeCache 3312 case 2: 3313 return &v.unknownFields 3314 default: 3315 return nil 3316 } 3317 } 3318 file_binlogdata_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3319 switch v := v.(*Filter); i { 3320 case 0: 3321 return &v.state 3322 case 1: 3323 return &v.sizeCache 3324 case 2: 3325 return &v.unknownFields 3326 default: 3327 return nil 3328 } 3329 } 3330 file_binlogdata_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3331 switch v := v.(*BinlogSource); i { 3332 case 0: 3333 return &v.state 3334 case 1: 3335 return &v.sizeCache 3336 case 2: 3337 return &v.unknownFields 3338 default: 3339 return nil 3340 } 3341 } 3342 file_binlogdata_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3343 switch v := v.(*RowChange); i { 3344 case 0: 3345 return &v.state 3346 case 1: 3347 return &v.sizeCache 3348 case 2: 3349 return &v.unknownFields 3350 default: 3351 return nil 3352 } 3353 } 3354 file_binlogdata_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3355 switch v := v.(*RowEvent); i { 3356 case 0: 3357 return &v.state 3358 case 1: 3359 return &v.sizeCache 3360 case 2: 3361 return &v.unknownFields 3362 default: 3363 return nil 3364 } 3365 } 3366 file_binlogdata_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3367 switch v := v.(*FieldEvent); i { 3368 case 0: 3369 return &v.state 3370 case 1: 3371 return &v.sizeCache 3372 case 2: 3373 return &v.unknownFields 3374 default: 3375 return nil 3376 } 3377 } 3378 file_binlogdata_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3379 switch v := v.(*ShardGtid); i { 3380 case 0: 3381 return &v.state 3382 case 1: 3383 return &v.sizeCache 3384 case 2: 3385 return &v.unknownFields 3386 default: 3387 return nil 3388 } 3389 } 3390 file_binlogdata_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3391 switch v := v.(*VGtid); i { 3392 case 0: 3393 return &v.state 3394 case 1: 3395 return &v.sizeCache 3396 case 2: 3397 return &v.unknownFields 3398 default: 3399 return nil 3400 } 3401 } 3402 file_binlogdata_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3403 switch v := v.(*KeyspaceShard); i { 3404 case 0: 3405 return &v.state 3406 case 1: 3407 return &v.sizeCache 3408 case 2: 3409 return &v.unknownFields 3410 default: 3411 return nil 3412 } 3413 } 3414 file_binlogdata_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3415 switch v := v.(*Journal); i { 3416 case 0: 3417 return &v.state 3418 case 1: 3419 return &v.sizeCache 3420 case 2: 3421 return &v.unknownFields 3422 default: 3423 return nil 3424 } 3425 } 3426 file_binlogdata_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3427 switch v := v.(*VEvent); i { 3428 case 0: 3429 return &v.state 3430 case 1: 3431 return &v.sizeCache 3432 case 2: 3433 return &v.unknownFields 3434 default: 3435 return nil 3436 } 3437 } 3438 file_binlogdata_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3439 switch v := v.(*MinimalTable); i { 3440 case 0: 3441 return &v.state 3442 case 1: 3443 return &v.sizeCache 3444 case 2: 3445 return &v.unknownFields 3446 default: 3447 return nil 3448 } 3449 } 3450 file_binlogdata_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3451 switch v := v.(*MinimalSchema); i { 3452 case 0: 3453 return &v.state 3454 case 1: 3455 return &v.sizeCache 3456 case 2: 3457 return &v.unknownFields 3458 default: 3459 return nil 3460 } 3461 } 3462 file_binlogdata_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3463 switch v := v.(*VStreamRequest); i { 3464 case 0: 3465 return &v.state 3466 case 1: 3467 return &v.sizeCache 3468 case 2: 3469 return &v.unknownFields 3470 default: 3471 return nil 3472 } 3473 } 3474 file_binlogdata_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3475 switch v := v.(*VStreamResponse); i { 3476 case 0: 3477 return &v.state 3478 case 1: 3479 return &v.sizeCache 3480 case 2: 3481 return &v.unknownFields 3482 default: 3483 return nil 3484 } 3485 } 3486 file_binlogdata_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3487 switch v := v.(*VStreamRowsRequest); i { 3488 case 0: 3489 return &v.state 3490 case 1: 3491 return &v.sizeCache 3492 case 2: 3493 return &v.unknownFields 3494 default: 3495 return nil 3496 } 3497 } 3498 file_binlogdata_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 3499 switch v := v.(*VStreamRowsResponse); i { 3500 case 0: 3501 return &v.state 3502 case 1: 3503 return &v.sizeCache 3504 case 2: 3505 return &v.unknownFields 3506 default: 3507 return nil 3508 } 3509 } 3510 file_binlogdata_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 3511 switch v := v.(*LastPKEvent); i { 3512 case 0: 3513 return &v.state 3514 case 1: 3515 return &v.sizeCache 3516 case 2: 3517 return &v.unknownFields 3518 default: 3519 return nil 3520 } 3521 } 3522 file_binlogdata_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 3523 switch v := v.(*TableLastPK); i { 3524 case 0: 3525 return &v.state 3526 case 1: 3527 return &v.sizeCache 3528 case 2: 3529 return &v.unknownFields 3530 default: 3531 return nil 3532 } 3533 } 3534 file_binlogdata_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 3535 switch v := v.(*VStreamResultsRequest); i { 3536 case 0: 3537 return &v.state 3538 case 1: 3539 return &v.sizeCache 3540 case 2: 3541 return &v.unknownFields 3542 default: 3543 return nil 3544 } 3545 } 3546 file_binlogdata_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 3547 switch v := v.(*VStreamResultsResponse); i { 3548 case 0: 3549 return &v.state 3550 case 1: 3551 return &v.sizeCache 3552 case 2: 3553 return &v.unknownFields 3554 default: 3555 return nil 3556 } 3557 } 3558 file_binlogdata_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 3559 switch v := v.(*BinlogTransaction_Statement); i { 3560 case 0: 3561 return &v.state 3562 case 1: 3563 return &v.sizeCache 3564 case 2: 3565 return &v.unknownFields 3566 default: 3567 return nil 3568 } 3569 } 3570 } 3571 type x struct{} 3572 out := protoimpl.TypeBuilder{ 3573 File: protoimpl.DescBuilder{ 3574 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3575 RawDescriptor: file_binlogdata_proto_rawDesc, 3576 NumEnums: 7, 3577 NumMessages: 32, 3578 NumExtensions: 0, 3579 NumServices: 0, 3580 }, 3581 GoTypes: file_binlogdata_proto_goTypes, 3582 DependencyIndexes: file_binlogdata_proto_depIdxs, 3583 EnumInfos: file_binlogdata_proto_enumTypes, 3584 MessageInfos: file_binlogdata_proto_msgTypes, 3585 }.Build() 3586 File_binlogdata_proto = out.File 3587 file_binlogdata_proto_rawDesc = nil 3588 file_binlogdata_proto_goTypes = nil 3589 file_binlogdata_proto_depIdxs = nil 3590 }