github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/proto/canal/EntryProtocol.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: EntryProtocol.proto
     3  
     4  package com_alibaba_otter_canal_protocol
     5  
     6  import (
     7  	fmt "fmt"
     8  	proto "github.com/gogo/protobuf/proto"
     9  	io "io"
    10  	math "math"
    11  	math_bits "math/bits"
    12  )
    13  
    14  // Reference imports to suppress errors if they are not otherwise used.
    15  var _ = proto.Marshal
    16  var _ = fmt.Errorf
    17  var _ = math.Inf
    18  
    19  // This is a compile-time assertion to ensure that this generated file
    20  // is compatible with the proto package it is being compiled against.
    21  // A compilation error at this line likely means your copy of the
    22  // proto package needs to be updated.
    23  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    24  
    25  // *打散后的事件类型,主要用于标识事务的开始,变更数据,结束*
    26  type EntryType int32
    27  
    28  const (
    29  	EntryType_ENTRYTYPECOMPATIBLEPROTO2 EntryType = 0
    30  	EntryType_TRANSACTIONBEGIN          EntryType = 1
    31  	EntryType_ROWDATA                   EntryType = 2
    32  	EntryType_TRANSACTIONEND            EntryType = 3
    33  	//* 心跳类型,内部使用,外部暂不可见,可忽略 *
    34  	EntryType_ENTRYHEARTBEAT EntryType = 4
    35  	EntryType_GTIDLOG        EntryType = 5
    36  )
    37  
    38  var EntryType_name = map[int32]string{
    39  	0: "ENTRYTYPECOMPATIBLEPROTO2",
    40  	1: "TRANSACTIONBEGIN",
    41  	2: "ROWDATA",
    42  	3: "TRANSACTIONEND",
    43  	4: "ENTRYHEARTBEAT",
    44  	5: "GTIDLOG",
    45  }
    46  
    47  var EntryType_value = map[string]int32{
    48  	"ENTRYTYPECOMPATIBLEPROTO2": 0,
    49  	"TRANSACTIONBEGIN":          1,
    50  	"ROWDATA":                   2,
    51  	"TRANSACTIONEND":            3,
    52  	"ENTRYHEARTBEAT":            4,
    53  	"GTIDLOG":                   5,
    54  }
    55  
    56  func (x EntryType) String() string {
    57  	return proto.EnumName(EntryType_name, int32(x))
    58  }
    59  
    60  func (EntryType) EnumDescriptor() ([]byte, []int) {
    61  	return fileDescriptor_237ce6ff565bd62b, []int{0}
    62  }
    63  
    64  // * 事件类型 *
    65  type EventType int32
    66  
    67  const (
    68  	EventType_EVENTTYPECOMPATIBLEPROTO2 EventType = 0
    69  	EventType_INSERT                    EventType = 1
    70  	EventType_UPDATE                    EventType = 2
    71  	EventType_DELETE                    EventType = 3
    72  	EventType_CREATE                    EventType = 4
    73  	EventType_ALTER                     EventType = 5
    74  	EventType_ERASE                     EventType = 6
    75  	EventType_QUERY                     EventType = 7
    76  	EventType_TRUNCATE                  EventType = 8
    77  	EventType_RENAME                    EventType = 9
    78  	//*CREATE INDEX*
    79  	EventType_CINDEX EventType = 10
    80  	EventType_DINDEX EventType = 11
    81  	EventType_GTID   EventType = 12
    82  	//* XA *
    83  	EventType_XACOMMIT   EventType = 13
    84  	EventType_XAROLLBACK EventType = 14
    85  	//* MASTER HEARTBEAT *
    86  	EventType_MHEARTBEAT EventType = 15
    87  )
    88  
    89  var EventType_name = map[int32]string{
    90  	0:  "EVENTTYPECOMPATIBLEPROTO2",
    91  	1:  "INSERT",
    92  	2:  "UPDATE",
    93  	3:  "DELETE",
    94  	4:  "CREATE",
    95  	5:  "ALTER",
    96  	6:  "ERASE",
    97  	7:  "QUERY",
    98  	8:  "TRUNCATE",
    99  	9:  "RENAME",
   100  	10: "CINDEX",
   101  	11: "DINDEX",
   102  	12: "GTID",
   103  	13: "XACOMMIT",
   104  	14: "XAROLLBACK",
   105  	15: "MHEARTBEAT",
   106  }
   107  
   108  var EventType_value = map[string]int32{
   109  	"EVENTTYPECOMPATIBLEPROTO2": 0,
   110  	"INSERT":                    1,
   111  	"UPDATE":                    2,
   112  	"DELETE":                    3,
   113  	"CREATE":                    4,
   114  	"ALTER":                     5,
   115  	"ERASE":                     6,
   116  	"QUERY":                     7,
   117  	"TRUNCATE":                  8,
   118  	"RENAME":                    9,
   119  	"CINDEX":                    10,
   120  	"DINDEX":                    11,
   121  	"GTID":                      12,
   122  	"XACOMMIT":                  13,
   123  	"XAROLLBACK":                14,
   124  	"MHEARTBEAT":                15,
   125  }
   126  
   127  func (x EventType) String() string {
   128  	return proto.EnumName(EventType_name, int32(x))
   129  }
   130  
   131  func (EventType) EnumDescriptor() ([]byte, []int) {
   132  	return fileDescriptor_237ce6ff565bd62b, []int{1}
   133  }
   134  
   135  // *数据库类型*
   136  type Type int32
   137  
   138  const (
   139  	Type_TYPECOMPATIBLEPROTO2 Type = 0
   140  	Type_ORACLE               Type = 1
   141  	Type_MYSQL                Type = 2
   142  	Type_PGSQL                Type = 3
   143  )
   144  
   145  var Type_name = map[int32]string{
   146  	0: "TYPECOMPATIBLEPROTO2",
   147  	1: "ORACLE",
   148  	2: "MYSQL",
   149  	3: "PGSQL",
   150  }
   151  
   152  var Type_value = map[string]int32{
   153  	"TYPECOMPATIBLEPROTO2": 0,
   154  	"ORACLE":               1,
   155  	"MYSQL":                2,
   156  	"PGSQL":                3,
   157  }
   158  
   159  func (x Type) String() string {
   160  	return proto.EnumName(Type_name, int32(x))
   161  }
   162  
   163  func (Type) EnumDescriptor() ([]byte, []int) {
   164  	return fileDescriptor_237ce6ff565bd62b, []int{2}
   165  }
   166  
   167  // ***************************************************************
   168  // message model
   169  // 如果要在Enum中新增类型,确保以前的类型的下标值不变.
   170  // **************************************************************
   171  type Entry struct {
   172  	// *协议头部信息*
   173  	Header *Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
   174  	// /**打散后的事件类型**/ [default = ROWDATA]
   175  	//
   176  	// Types that are valid to be assigned to EntryTypePresent:
   177  	//
   178  	//	*Entry_EntryType
   179  	EntryTypePresent isEntry_EntryTypePresent `protobuf_oneof:"entryType_present"`
   180  	// *传输的二进制数组*
   181  	StoreValue []byte `protobuf:"bytes,3,opt,name=storeValue,proto3" json:"storeValue,omitempty"`
   182  }
   183  
   184  func (m *Entry) Reset()         { *m = Entry{} }
   185  func (m *Entry) String() string { return proto.CompactTextString(m) }
   186  func (*Entry) ProtoMessage()    {}
   187  func (*Entry) Descriptor() ([]byte, []int) {
   188  	return fileDescriptor_237ce6ff565bd62b, []int{0}
   189  }
   190  func (m *Entry) XXX_Unmarshal(b []byte) error {
   191  	return m.Unmarshal(b)
   192  }
   193  func (m *Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   194  	if deterministic {
   195  		return xxx_messageInfo_Entry.Marshal(b, m, deterministic)
   196  	} else {
   197  		b = b[:cap(b)]
   198  		n, err := m.MarshalToSizedBuffer(b)
   199  		if err != nil {
   200  			return nil, err
   201  		}
   202  		return b[:n], nil
   203  	}
   204  }
   205  func (m *Entry) XXX_Merge(src proto.Message) {
   206  	xxx_messageInfo_Entry.Merge(m, src)
   207  }
   208  func (m *Entry) XXX_Size() int {
   209  	return m.Size()
   210  }
   211  func (m *Entry) XXX_DiscardUnknown() {
   212  	xxx_messageInfo_Entry.DiscardUnknown(m)
   213  }
   214  
   215  var xxx_messageInfo_Entry proto.InternalMessageInfo
   216  
   217  type isEntry_EntryTypePresent interface {
   218  	isEntry_EntryTypePresent()
   219  	MarshalTo([]byte) (int, error)
   220  	Size() int
   221  }
   222  
   223  type Entry_EntryType struct {
   224  	EntryType EntryType `protobuf:"varint,2,opt,name=entryType,proto3,enum=com.alibaba.otter.canal.protocol.EntryType,oneof" json:"entryType,omitempty"`
   225  }
   226  
   227  func (*Entry_EntryType) isEntry_EntryTypePresent() {}
   228  
   229  func (m *Entry) GetEntryTypePresent() isEntry_EntryTypePresent {
   230  	if m != nil {
   231  		return m.EntryTypePresent
   232  	}
   233  	return nil
   234  }
   235  
   236  func (m *Entry) GetHeader() *Header {
   237  	if m != nil {
   238  		return m.Header
   239  	}
   240  	return nil
   241  }
   242  
   243  func (m *Entry) GetEntryType() EntryType {
   244  	if x, ok := m.GetEntryTypePresent().(*Entry_EntryType); ok {
   245  		return x.EntryType
   246  	}
   247  	return EntryType_ENTRYTYPECOMPATIBLEPROTO2
   248  }
   249  
   250  func (m *Entry) GetStoreValue() []byte {
   251  	if m != nil {
   252  		return m.StoreValue
   253  	}
   254  	return nil
   255  }
   256  
   257  // XXX_OneofWrappers is for the internal use of the proto package.
   258  func (*Entry) XXX_OneofWrappers() []interface{} {
   259  	return []interface{}{
   260  		(*Entry_EntryType)(nil),
   261  	}
   262  }
   263  
   264  // *message Header*
   265  type Header struct {
   266  	// [default = 1]
   267  	//
   268  	// Types that are valid to be assigned to VersionPresent:
   269  	//
   270  	//	*Header_Version
   271  	VersionPresent isHeader_VersionPresent `protobuf_oneof:"version_present"`
   272  	// *binlog/redolog 文件名*
   273  	LogfileName string `protobuf:"bytes,2,opt,name=logfileName,proto3" json:"logfileName,omitempty"`
   274  	// *binlog/redolog 文件的偏移位置*
   275  	LogfileOffset int64 `protobuf:"varint,3,opt,name=logfileOffset,proto3" json:"logfileOffset,omitempty"`
   276  	// *服务端serverId*
   277  	ServerId int64 `protobuf:"varint,4,opt,name=serverId,proto3" json:"serverId,omitempty"`
   278  	// * 变更数据的编码 *
   279  	ServerenCode string `protobuf:"bytes,5,opt,name=serverenCode,proto3" json:"serverenCode,omitempty"`
   280  	// *变更数据的执行时间 *
   281  	ExecuteTime int64 `protobuf:"varint,6,opt,name=executeTime,proto3" json:"executeTime,omitempty"`
   282  	// [default = MYSQL]
   283  	//
   284  	// Types that are valid to be assigned to SourceTypePresent:
   285  	//
   286  	//	*Header_SourceType
   287  	SourceTypePresent isHeader_SourceTypePresent `protobuf_oneof:"sourceType_present"`
   288  	// * 变更数据的schemaname*
   289  	SchemaName string `protobuf:"bytes,8,opt,name=schemaName,proto3" json:"schemaName,omitempty"`
   290  	// *变更数据的tablename*
   291  	TableName string `protobuf:"bytes,9,opt,name=tableName,proto3" json:"tableName,omitempty"`
   292  	// *每个event的长度*
   293  	EventLength int64 `protobuf:"varint,10,opt,name=eventLength,proto3" json:"eventLength,omitempty"`
   294  	// [default = UPDATE]
   295  	//
   296  	// Types that are valid to be assigned to EventTypePresent:
   297  	//
   298  	//	*Header_EventType
   299  	EventTypePresent isHeader_EventTypePresent `protobuf_oneof:"eventType_present"`
   300  	// *预留扩展*
   301  	Props []*Pair `protobuf:"bytes,12,rep,name=props,proto3" json:"props,omitempty"`
   302  	// *当前事务的gitd*
   303  	Gtid string `protobuf:"bytes,13,opt,name=gtid,proto3" json:"gtid,omitempty"`
   304  }
   305  
   306  func (m *Header) Reset()         { *m = Header{} }
   307  func (m *Header) String() string { return proto.CompactTextString(m) }
   308  func (*Header) ProtoMessage()    {}
   309  func (*Header) Descriptor() ([]byte, []int) {
   310  	return fileDescriptor_237ce6ff565bd62b, []int{1}
   311  }
   312  func (m *Header) XXX_Unmarshal(b []byte) error {
   313  	return m.Unmarshal(b)
   314  }
   315  func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   316  	if deterministic {
   317  		return xxx_messageInfo_Header.Marshal(b, m, deterministic)
   318  	} else {
   319  		b = b[:cap(b)]
   320  		n, err := m.MarshalToSizedBuffer(b)
   321  		if err != nil {
   322  			return nil, err
   323  		}
   324  		return b[:n], nil
   325  	}
   326  }
   327  func (m *Header) XXX_Merge(src proto.Message) {
   328  	xxx_messageInfo_Header.Merge(m, src)
   329  }
   330  func (m *Header) XXX_Size() int {
   331  	return m.Size()
   332  }
   333  func (m *Header) XXX_DiscardUnknown() {
   334  	xxx_messageInfo_Header.DiscardUnknown(m)
   335  }
   336  
   337  var xxx_messageInfo_Header proto.InternalMessageInfo
   338  
   339  type isHeader_VersionPresent interface {
   340  	isHeader_VersionPresent()
   341  	MarshalTo([]byte) (int, error)
   342  	Size() int
   343  }
   344  type isHeader_SourceTypePresent interface {
   345  	isHeader_SourceTypePresent()
   346  	MarshalTo([]byte) (int, error)
   347  	Size() int
   348  }
   349  type isHeader_EventTypePresent interface {
   350  	isHeader_EventTypePresent()
   351  	MarshalTo([]byte) (int, error)
   352  	Size() int
   353  }
   354  
   355  type Header_Version struct {
   356  	Version int32 `protobuf:"varint,1,opt,name=version,proto3,oneof" json:"version,omitempty"`
   357  }
   358  type Header_SourceType struct {
   359  	SourceType Type `protobuf:"varint,7,opt,name=sourceType,proto3,enum=com.alibaba.otter.canal.protocol.Type,oneof" json:"sourceType,omitempty"`
   360  }
   361  type Header_EventType struct {
   362  	EventType EventType `protobuf:"varint,11,opt,name=eventType,proto3,enum=com.alibaba.otter.canal.protocol.EventType,oneof" json:"eventType,omitempty"`
   363  }
   364  
   365  func (*Header_Version) isHeader_VersionPresent()       {}
   366  func (*Header_SourceType) isHeader_SourceTypePresent() {}
   367  func (*Header_EventType) isHeader_EventTypePresent()   {}
   368  
   369  func (m *Header) GetVersionPresent() isHeader_VersionPresent {
   370  	if m != nil {
   371  		return m.VersionPresent
   372  	}
   373  	return nil
   374  }
   375  func (m *Header) GetSourceTypePresent() isHeader_SourceTypePresent {
   376  	if m != nil {
   377  		return m.SourceTypePresent
   378  	}
   379  	return nil
   380  }
   381  func (m *Header) GetEventTypePresent() isHeader_EventTypePresent {
   382  	if m != nil {
   383  		return m.EventTypePresent
   384  	}
   385  	return nil
   386  }
   387  
   388  func (m *Header) GetVersion() int32 {
   389  	if x, ok := m.GetVersionPresent().(*Header_Version); ok {
   390  		return x.Version
   391  	}
   392  	return 0
   393  }
   394  
   395  func (m *Header) GetLogfileName() string {
   396  	if m != nil {
   397  		return m.LogfileName
   398  	}
   399  	return ""
   400  }
   401  
   402  func (m *Header) GetLogfileOffset() int64 {
   403  	if m != nil {
   404  		return m.LogfileOffset
   405  	}
   406  	return 0
   407  }
   408  
   409  func (m *Header) GetServerId() int64 {
   410  	if m != nil {
   411  		return m.ServerId
   412  	}
   413  	return 0
   414  }
   415  
   416  func (m *Header) GetServerenCode() string {
   417  	if m != nil {
   418  		return m.ServerenCode
   419  	}
   420  	return ""
   421  }
   422  
   423  func (m *Header) GetExecuteTime() int64 {
   424  	if m != nil {
   425  		return m.ExecuteTime
   426  	}
   427  	return 0
   428  }
   429  
   430  func (m *Header) GetSourceType() Type {
   431  	if x, ok := m.GetSourceTypePresent().(*Header_SourceType); ok {
   432  		return x.SourceType
   433  	}
   434  	return Type_TYPECOMPATIBLEPROTO2
   435  }
   436  
   437  func (m *Header) GetSchemaName() string {
   438  	if m != nil {
   439  		return m.SchemaName
   440  	}
   441  	return ""
   442  }
   443  
   444  func (m *Header) GetTableName() string {
   445  	if m != nil {
   446  		return m.TableName
   447  	}
   448  	return ""
   449  }
   450  
   451  func (m *Header) GetEventLength() int64 {
   452  	if m != nil {
   453  		return m.EventLength
   454  	}
   455  	return 0
   456  }
   457  
   458  func (m *Header) GetEventType() EventType {
   459  	if x, ok := m.GetEventTypePresent().(*Header_EventType); ok {
   460  		return x.EventType
   461  	}
   462  	return EventType_EVENTTYPECOMPATIBLEPROTO2
   463  }
   464  
   465  func (m *Header) GetProps() []*Pair {
   466  	if m != nil {
   467  		return m.Props
   468  	}
   469  	return nil
   470  }
   471  
   472  func (m *Header) GetGtid() string {
   473  	if m != nil {
   474  		return m.Gtid
   475  	}
   476  	return ""
   477  }
   478  
   479  // XXX_OneofWrappers is for the internal use of the proto package.
   480  func (*Header) XXX_OneofWrappers() []interface{} {
   481  	return []interface{}{
   482  		(*Header_Version)(nil),
   483  		(*Header_SourceType)(nil),
   484  		(*Header_EventType)(nil),
   485  	}
   486  }
   487  
   488  // *每个字段的数据结构*
   489  type Column struct {
   490  	// *字段下标*
   491  	Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
   492  	// *字段java中类型*
   493  	SqlType int32 `protobuf:"varint,2,opt,name=sqlType,proto3" json:"sqlType,omitempty"`
   494  	// *字段名称(忽略大小写),在mysql中是没有的*
   495  	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   496  	// *是否是主键*
   497  	IsKey bool `protobuf:"varint,4,opt,name=isKey,proto3" json:"isKey,omitempty"`
   498  	// *如果EventType=UPDATE,用于标识这个字段值是否有修改*
   499  	Updated bool `protobuf:"varint,5,opt,name=updated,proto3" json:"updated,omitempty"`
   500  	// [default = false]
   501  	//
   502  	// Types that are valid to be assigned to IsNullPresent:
   503  	//
   504  	//	*Column_IsNull
   505  	IsNullPresent isColumn_IsNullPresent `protobuf_oneof:"isNull_present"`
   506  	// *预留扩展*
   507  	Props []*Pair `protobuf:"bytes,7,rep,name=props,proto3" json:"props,omitempty"`
   508  	// * 字段值,timestamp,Datetime是一个时间格式的文本 *
   509  	Value string `protobuf:"bytes,8,opt,name=value,proto3" json:"value,omitempty"`
   510  	// * 对应数据对象原始长度 *
   511  	Length int32 `protobuf:"varint,9,opt,name=length,proto3" json:"length,omitempty"`
   512  	// *字段mysql类型*
   513  	MysqlType string `protobuf:"bytes,10,opt,name=mysqlType,proto3" json:"mysqlType,omitempty"`
   514  }
   515  
   516  func (m *Column) Reset()         { *m = Column{} }
   517  func (m *Column) String() string { return proto.CompactTextString(m) }
   518  func (*Column) ProtoMessage()    {}
   519  func (*Column) Descriptor() ([]byte, []int) {
   520  	return fileDescriptor_237ce6ff565bd62b, []int{2}
   521  }
   522  func (m *Column) XXX_Unmarshal(b []byte) error {
   523  	return m.Unmarshal(b)
   524  }
   525  func (m *Column) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   526  	if deterministic {
   527  		return xxx_messageInfo_Column.Marshal(b, m, deterministic)
   528  	} else {
   529  		b = b[:cap(b)]
   530  		n, err := m.MarshalToSizedBuffer(b)
   531  		if err != nil {
   532  			return nil, err
   533  		}
   534  		return b[:n], nil
   535  	}
   536  }
   537  func (m *Column) XXX_Merge(src proto.Message) {
   538  	xxx_messageInfo_Column.Merge(m, src)
   539  }
   540  func (m *Column) XXX_Size() int {
   541  	return m.Size()
   542  }
   543  func (m *Column) XXX_DiscardUnknown() {
   544  	xxx_messageInfo_Column.DiscardUnknown(m)
   545  }
   546  
   547  var xxx_messageInfo_Column proto.InternalMessageInfo
   548  
   549  type isColumn_IsNullPresent interface {
   550  	isColumn_IsNullPresent()
   551  	MarshalTo([]byte) (int, error)
   552  	Size() int
   553  }
   554  
   555  type Column_IsNull struct {
   556  	IsNull bool `protobuf:"varint,6,opt,name=isNull,proto3,oneof" json:"isNull,omitempty"`
   557  }
   558  
   559  func (*Column_IsNull) isColumn_IsNullPresent() {}
   560  
   561  func (m *Column) GetIsNullPresent() isColumn_IsNullPresent {
   562  	if m != nil {
   563  		return m.IsNullPresent
   564  	}
   565  	return nil
   566  }
   567  
   568  func (m *Column) GetIndex() int32 {
   569  	if m != nil {
   570  		return m.Index
   571  	}
   572  	return 0
   573  }
   574  
   575  func (m *Column) GetSqlType() int32 {
   576  	if m != nil {
   577  		return m.SqlType
   578  	}
   579  	return 0
   580  }
   581  
   582  func (m *Column) GetName() string {
   583  	if m != nil {
   584  		return m.Name
   585  	}
   586  	return ""
   587  }
   588  
   589  func (m *Column) GetIsKey() bool {
   590  	if m != nil {
   591  		return m.IsKey
   592  	}
   593  	return false
   594  }
   595  
   596  func (m *Column) GetUpdated() bool {
   597  	if m != nil {
   598  		return m.Updated
   599  	}
   600  	return false
   601  }
   602  
   603  func (m *Column) GetIsNull() bool {
   604  	if x, ok := m.GetIsNullPresent().(*Column_IsNull); ok {
   605  		return x.IsNull
   606  	}
   607  	return false
   608  }
   609  
   610  func (m *Column) GetProps() []*Pair {
   611  	if m != nil {
   612  		return m.Props
   613  	}
   614  	return nil
   615  }
   616  
   617  func (m *Column) GetValue() string {
   618  	if m != nil {
   619  		return m.Value
   620  	}
   621  	return ""
   622  }
   623  
   624  func (m *Column) GetLength() int32 {
   625  	if m != nil {
   626  		return m.Length
   627  	}
   628  	return 0
   629  }
   630  
   631  func (m *Column) GetMysqlType() string {
   632  	if m != nil {
   633  		return m.MysqlType
   634  	}
   635  	return ""
   636  }
   637  
   638  // XXX_OneofWrappers is for the internal use of the proto package.
   639  func (*Column) XXX_OneofWrappers() []interface{} {
   640  	return []interface{}{
   641  		(*Column_IsNull)(nil),
   642  	}
   643  }
   644  
   645  type RowData struct {
   646  	// * 字段信息,增量数据(修改前,删除前) *
   647  	BeforeColumns []*Column `protobuf:"bytes,1,rep,name=beforeColumns,proto3" json:"beforeColumns,omitempty"`
   648  	// * 字段信息,增量数据(修改后,新增后)  *
   649  	AfterColumns []*Column `protobuf:"bytes,2,rep,name=afterColumns,proto3" json:"afterColumns,omitempty"`
   650  	// *预留扩展*
   651  	Props []*Pair `protobuf:"bytes,3,rep,name=props,proto3" json:"props,omitempty"`
   652  }
   653  
   654  func (m *RowData) Reset()         { *m = RowData{} }
   655  func (m *RowData) String() string { return proto.CompactTextString(m) }
   656  func (*RowData) ProtoMessage()    {}
   657  func (*RowData) Descriptor() ([]byte, []int) {
   658  	return fileDescriptor_237ce6ff565bd62b, []int{3}
   659  }
   660  func (m *RowData) XXX_Unmarshal(b []byte) error {
   661  	return m.Unmarshal(b)
   662  }
   663  func (m *RowData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   664  	if deterministic {
   665  		return xxx_messageInfo_RowData.Marshal(b, m, deterministic)
   666  	} else {
   667  		b = b[:cap(b)]
   668  		n, err := m.MarshalToSizedBuffer(b)
   669  		if err != nil {
   670  			return nil, err
   671  		}
   672  		return b[:n], nil
   673  	}
   674  }
   675  func (m *RowData) XXX_Merge(src proto.Message) {
   676  	xxx_messageInfo_RowData.Merge(m, src)
   677  }
   678  func (m *RowData) XXX_Size() int {
   679  	return m.Size()
   680  }
   681  func (m *RowData) XXX_DiscardUnknown() {
   682  	xxx_messageInfo_RowData.DiscardUnknown(m)
   683  }
   684  
   685  var xxx_messageInfo_RowData proto.InternalMessageInfo
   686  
   687  func (m *RowData) GetBeforeColumns() []*Column {
   688  	if m != nil {
   689  		return m.BeforeColumns
   690  	}
   691  	return nil
   692  }
   693  
   694  func (m *RowData) GetAfterColumns() []*Column {
   695  	if m != nil {
   696  		return m.AfterColumns
   697  	}
   698  	return nil
   699  }
   700  
   701  func (m *RowData) GetProps() []*Pair {
   702  	if m != nil {
   703  		return m.Props
   704  	}
   705  	return nil
   706  }
   707  
   708  // *message row 每行变更数据的数据结构*
   709  type RowChange struct {
   710  	// *tableId,由数据库产生*
   711  	TableId int64 `protobuf:"varint,1,opt,name=tableId,proto3" json:"tableId,omitempty"`
   712  	// [default = UPDATE]
   713  	//
   714  	// Types that are valid to be assigned to EventTypePresent:
   715  	//
   716  	//	*RowChange_EventType
   717  	EventTypePresent isRowChange_EventTypePresent `protobuf_oneof:"eventType_present"`
   718  	// [default = false]
   719  	//
   720  	// Types that are valid to be assigned to IsDdlPresent:
   721  	//
   722  	//	*RowChange_IsDdl
   723  	IsDdlPresent isRowChange_IsDdlPresent `protobuf_oneof:"isDdl_present"`
   724  	// * ddl/query的sql语句  *
   725  	Sql string `protobuf:"bytes,11,opt,name=sql,proto3" json:"sql,omitempty"`
   726  	// * 一次数据库变更可能存在多行  *
   727  	RowDatas []*RowData `protobuf:"bytes,12,rep,name=rowDatas,proto3" json:"rowDatas,omitempty"`
   728  	// *预留扩展*
   729  	Props []*Pair `protobuf:"bytes,13,rep,name=props,proto3" json:"props,omitempty"`
   730  	// * ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName  *
   731  	DdlSchemaName string `protobuf:"bytes,14,opt,name=ddlSchemaName,proto3" json:"ddlSchemaName,omitempty"`
   732  }
   733  
   734  func (m *RowChange) Reset()         { *m = RowChange{} }
   735  func (m *RowChange) String() string { return proto.CompactTextString(m) }
   736  func (*RowChange) ProtoMessage()    {}
   737  func (*RowChange) Descriptor() ([]byte, []int) {
   738  	return fileDescriptor_237ce6ff565bd62b, []int{4}
   739  }
   740  func (m *RowChange) XXX_Unmarshal(b []byte) error {
   741  	return m.Unmarshal(b)
   742  }
   743  func (m *RowChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   744  	if deterministic {
   745  		return xxx_messageInfo_RowChange.Marshal(b, m, deterministic)
   746  	} else {
   747  		b = b[:cap(b)]
   748  		n, err := m.MarshalToSizedBuffer(b)
   749  		if err != nil {
   750  			return nil, err
   751  		}
   752  		return b[:n], nil
   753  	}
   754  }
   755  func (m *RowChange) XXX_Merge(src proto.Message) {
   756  	xxx_messageInfo_RowChange.Merge(m, src)
   757  }
   758  func (m *RowChange) XXX_Size() int {
   759  	return m.Size()
   760  }
   761  func (m *RowChange) XXX_DiscardUnknown() {
   762  	xxx_messageInfo_RowChange.DiscardUnknown(m)
   763  }
   764  
   765  var xxx_messageInfo_RowChange proto.InternalMessageInfo
   766  
   767  type isRowChange_EventTypePresent interface {
   768  	isRowChange_EventTypePresent()
   769  	MarshalTo([]byte) (int, error)
   770  	Size() int
   771  }
   772  type isRowChange_IsDdlPresent interface {
   773  	isRowChange_IsDdlPresent()
   774  	MarshalTo([]byte) (int, error)
   775  	Size() int
   776  }
   777  
   778  type RowChange_EventType struct {
   779  	EventType EventType `protobuf:"varint,2,opt,name=eventType,proto3,enum=com.alibaba.otter.canal.protocol.EventType,oneof" json:"eventType,omitempty"`
   780  }
   781  type RowChange_IsDdl struct {
   782  	IsDdl bool `protobuf:"varint,10,opt,name=isDdl,proto3,oneof" json:"isDdl,omitempty"`
   783  }
   784  
   785  func (*RowChange_EventType) isRowChange_EventTypePresent() {}
   786  func (*RowChange_IsDdl) isRowChange_IsDdlPresent()         {}
   787  
   788  func (m *RowChange) GetEventTypePresent() isRowChange_EventTypePresent {
   789  	if m != nil {
   790  		return m.EventTypePresent
   791  	}
   792  	return nil
   793  }
   794  func (m *RowChange) GetIsDdlPresent() isRowChange_IsDdlPresent {
   795  	if m != nil {
   796  		return m.IsDdlPresent
   797  	}
   798  	return nil
   799  }
   800  
   801  func (m *RowChange) GetTableId() int64 {
   802  	if m != nil {
   803  		return m.TableId
   804  	}
   805  	return 0
   806  }
   807  
   808  func (m *RowChange) GetEventType() EventType {
   809  	if x, ok := m.GetEventTypePresent().(*RowChange_EventType); ok {
   810  		return x.EventType
   811  	}
   812  	return EventType_EVENTTYPECOMPATIBLEPROTO2
   813  }
   814  
   815  func (m *RowChange) GetIsDdl() bool {
   816  	if x, ok := m.GetIsDdlPresent().(*RowChange_IsDdl); ok {
   817  		return x.IsDdl
   818  	}
   819  	return false
   820  }
   821  
   822  func (m *RowChange) GetSql() string {
   823  	if m != nil {
   824  		return m.Sql
   825  	}
   826  	return ""
   827  }
   828  
   829  func (m *RowChange) GetRowDatas() []*RowData {
   830  	if m != nil {
   831  		return m.RowDatas
   832  	}
   833  	return nil
   834  }
   835  
   836  func (m *RowChange) GetProps() []*Pair {
   837  	if m != nil {
   838  		return m.Props
   839  	}
   840  	return nil
   841  }
   842  
   843  func (m *RowChange) GetDdlSchemaName() string {
   844  	if m != nil {
   845  		return m.DdlSchemaName
   846  	}
   847  	return ""
   848  }
   849  
   850  // XXX_OneofWrappers is for the internal use of the proto package.
   851  func (*RowChange) XXX_OneofWrappers() []interface{} {
   852  	return []interface{}{
   853  		(*RowChange_EventType)(nil),
   854  		(*RowChange_IsDdl)(nil),
   855  	}
   856  }
   857  
   858  // *开始事务的一些信息*
   859  type TransactionBegin struct {
   860  	// *已废弃,请使用header里的executeTime*
   861  	ExecuteTime int64 `protobuf:"varint,1,opt,name=executeTime,proto3" json:"executeTime,omitempty"`
   862  	// *已废弃,Begin里不提供事务id*
   863  	TransactionId string `protobuf:"bytes,2,opt,name=transactionId,proto3" json:"transactionId,omitempty"`
   864  	// *预留扩展*
   865  	Props []*Pair `protobuf:"bytes,3,rep,name=props,proto3" json:"props,omitempty"`
   866  	// *执行的thread Id*
   867  	ThreadId int64 `protobuf:"varint,4,opt,name=threadId,proto3" json:"threadId,omitempty"`
   868  }
   869  
   870  func (m *TransactionBegin) Reset()         { *m = TransactionBegin{} }
   871  func (m *TransactionBegin) String() string { return proto.CompactTextString(m) }
   872  func (*TransactionBegin) ProtoMessage()    {}
   873  func (*TransactionBegin) Descriptor() ([]byte, []int) {
   874  	return fileDescriptor_237ce6ff565bd62b, []int{5}
   875  }
   876  func (m *TransactionBegin) XXX_Unmarshal(b []byte) error {
   877  	return m.Unmarshal(b)
   878  }
   879  func (m *TransactionBegin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   880  	if deterministic {
   881  		return xxx_messageInfo_TransactionBegin.Marshal(b, m, deterministic)
   882  	} else {
   883  		b = b[:cap(b)]
   884  		n, err := m.MarshalToSizedBuffer(b)
   885  		if err != nil {
   886  			return nil, err
   887  		}
   888  		return b[:n], nil
   889  	}
   890  }
   891  func (m *TransactionBegin) XXX_Merge(src proto.Message) {
   892  	xxx_messageInfo_TransactionBegin.Merge(m, src)
   893  }
   894  func (m *TransactionBegin) XXX_Size() int {
   895  	return m.Size()
   896  }
   897  func (m *TransactionBegin) XXX_DiscardUnknown() {
   898  	xxx_messageInfo_TransactionBegin.DiscardUnknown(m)
   899  }
   900  
   901  var xxx_messageInfo_TransactionBegin proto.InternalMessageInfo
   902  
   903  func (m *TransactionBegin) GetExecuteTime() int64 {
   904  	if m != nil {
   905  		return m.ExecuteTime
   906  	}
   907  	return 0
   908  }
   909  
   910  func (m *TransactionBegin) GetTransactionId() string {
   911  	if m != nil {
   912  		return m.TransactionId
   913  	}
   914  	return ""
   915  }
   916  
   917  func (m *TransactionBegin) GetProps() []*Pair {
   918  	if m != nil {
   919  		return m.Props
   920  	}
   921  	return nil
   922  }
   923  
   924  func (m *TransactionBegin) GetThreadId() int64 {
   925  	if m != nil {
   926  		return m.ThreadId
   927  	}
   928  	return 0
   929  }
   930  
   931  // *结束事务的一些信息*
   932  type TransactionEnd struct {
   933  	// *已废弃,请使用header里的executeTime*
   934  	ExecuteTime int64 `protobuf:"varint,1,opt,name=executeTime,proto3" json:"executeTime,omitempty"`
   935  	// *事务号*
   936  	TransactionId string `protobuf:"bytes,2,opt,name=transactionId,proto3" json:"transactionId,omitempty"`
   937  	// *预留扩展*
   938  	Props []*Pair `protobuf:"bytes,3,rep,name=props,proto3" json:"props,omitempty"`
   939  }
   940  
   941  func (m *TransactionEnd) Reset()         { *m = TransactionEnd{} }
   942  func (m *TransactionEnd) String() string { return proto.CompactTextString(m) }
   943  func (*TransactionEnd) ProtoMessage()    {}
   944  func (*TransactionEnd) Descriptor() ([]byte, []int) {
   945  	return fileDescriptor_237ce6ff565bd62b, []int{6}
   946  }
   947  func (m *TransactionEnd) XXX_Unmarshal(b []byte) error {
   948  	return m.Unmarshal(b)
   949  }
   950  func (m *TransactionEnd) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   951  	if deterministic {
   952  		return xxx_messageInfo_TransactionEnd.Marshal(b, m, deterministic)
   953  	} else {
   954  		b = b[:cap(b)]
   955  		n, err := m.MarshalToSizedBuffer(b)
   956  		if err != nil {
   957  			return nil, err
   958  		}
   959  		return b[:n], nil
   960  	}
   961  }
   962  func (m *TransactionEnd) XXX_Merge(src proto.Message) {
   963  	xxx_messageInfo_TransactionEnd.Merge(m, src)
   964  }
   965  func (m *TransactionEnd) XXX_Size() int {
   966  	return m.Size()
   967  }
   968  func (m *TransactionEnd) XXX_DiscardUnknown() {
   969  	xxx_messageInfo_TransactionEnd.DiscardUnknown(m)
   970  }
   971  
   972  var xxx_messageInfo_TransactionEnd proto.InternalMessageInfo
   973  
   974  func (m *TransactionEnd) GetExecuteTime() int64 {
   975  	if m != nil {
   976  		return m.ExecuteTime
   977  	}
   978  	return 0
   979  }
   980  
   981  func (m *TransactionEnd) GetTransactionId() string {
   982  	if m != nil {
   983  		return m.TransactionId
   984  	}
   985  	return ""
   986  }
   987  
   988  func (m *TransactionEnd) GetProps() []*Pair {
   989  	if m != nil {
   990  		return m.Props
   991  	}
   992  	return nil
   993  }
   994  
   995  // *预留扩展*
   996  type Pair struct {
   997  	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   998  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   999  }
  1000  
  1001  func (m *Pair) Reset()         { *m = Pair{} }
  1002  func (m *Pair) String() string { return proto.CompactTextString(m) }
  1003  func (*Pair) ProtoMessage()    {}
  1004  func (*Pair) Descriptor() ([]byte, []int) {
  1005  	return fileDescriptor_237ce6ff565bd62b, []int{7}
  1006  }
  1007  func (m *Pair) XXX_Unmarshal(b []byte) error {
  1008  	return m.Unmarshal(b)
  1009  }
  1010  func (m *Pair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1011  	if deterministic {
  1012  		return xxx_messageInfo_Pair.Marshal(b, m, deterministic)
  1013  	} else {
  1014  		b = b[:cap(b)]
  1015  		n, err := m.MarshalToSizedBuffer(b)
  1016  		if err != nil {
  1017  			return nil, err
  1018  		}
  1019  		return b[:n], nil
  1020  	}
  1021  }
  1022  func (m *Pair) XXX_Merge(src proto.Message) {
  1023  	xxx_messageInfo_Pair.Merge(m, src)
  1024  }
  1025  func (m *Pair) XXX_Size() int {
  1026  	return m.Size()
  1027  }
  1028  func (m *Pair) XXX_DiscardUnknown() {
  1029  	xxx_messageInfo_Pair.DiscardUnknown(m)
  1030  }
  1031  
  1032  var xxx_messageInfo_Pair proto.InternalMessageInfo
  1033  
  1034  func (m *Pair) GetKey() string {
  1035  	if m != nil {
  1036  		return m.Key
  1037  	}
  1038  	return ""
  1039  }
  1040  
  1041  func (m *Pair) GetValue() string {
  1042  	if m != nil {
  1043  		return m.Value
  1044  	}
  1045  	return ""
  1046  }
  1047  
  1048  func init() {
  1049  	proto.RegisterEnum("com.alibaba.otter.canal.protocol.EntryType", EntryType_name, EntryType_value)
  1050  	proto.RegisterEnum("com.alibaba.otter.canal.protocol.EventType", EventType_name, EventType_value)
  1051  	proto.RegisterEnum("com.alibaba.otter.canal.protocol.Type", Type_name, Type_value)
  1052  	proto.RegisterType((*Entry)(nil), "com.alibaba.otter.canal.protocol.Entry")
  1053  	proto.RegisterType((*Header)(nil), "com.alibaba.otter.canal.protocol.Header")
  1054  	proto.RegisterType((*Column)(nil), "com.alibaba.otter.canal.protocol.Column")
  1055  	proto.RegisterType((*RowData)(nil), "com.alibaba.otter.canal.protocol.RowData")
  1056  	proto.RegisterType((*RowChange)(nil), "com.alibaba.otter.canal.protocol.RowChange")
  1057  	proto.RegisterType((*TransactionBegin)(nil), "com.alibaba.otter.canal.protocol.TransactionBegin")
  1058  	proto.RegisterType((*TransactionEnd)(nil), "com.alibaba.otter.canal.protocol.TransactionEnd")
  1059  	proto.RegisterType((*Pair)(nil), "com.alibaba.otter.canal.protocol.Pair")
  1060  }
  1061  
  1062  func init() { proto.RegisterFile("EntryProtocol.proto", fileDescriptor_237ce6ff565bd62b) }
  1063  
  1064  var fileDescriptor_237ce6ff565bd62b = []byte{
  1065  	// 1081 bytes of a gzipped FileDescriptorProto
  1066  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcd, 0x6e, 0xdb, 0x46,
  1067  	0x10, 0x16, 0xf5, 0xcf, 0xd1, 0x8f, 0x37, 0x1b, 0x23, 0x60, 0x83, 0x56, 0x10, 0x04, 0xa3, 0x70,
  1068  	0x5d, 0x40, 0x07, 0xf7, 0xda, 0x43, 0x49, 0x6a, 0x61, 0x09, 0x96, 0x28, 0x65, 0xbd, 0x4e, 0xed,
  1069  	0x53, 0x41, 0x8b, 0x6b, 0x5b, 0x28, 0x45, 0x2a, 0x24, 0xe5, 0xc4, 0xd7, 0x3e, 0x41, 0x4f, 0x7d,
  1070  	0x90, 0xa2, 0x0f, 0x51, 0xa0, 0x97, 0x5c, 0x0a, 0xf4, 0x58, 0xd8, 0xc8, 0xb1, 0xef, 0x50, 0xec,
  1071  	0x52, 0x24, 0xa5, 0xb6, 0x81, 0x1c, 0xf7, 0x92, 0xdb, 0xcc, 0x68, 0xbf, 0xe1, 0x37, 0x33, 0xdf,
  1072  	0xec, 0x0a, 0x9e, 0x12, 0x2f, 0x0a, 0x6e, 0x27, 0x81, 0x1f, 0xf9, 0x53, 0xdf, 0xed, 0x2e, 0x84,
  1073  	0x81, 0xdb, 0x53, 0x7f, 0xde, 0xb5, 0xdd, 0xd9, 0x85, 0x7d, 0x61, 0x77, 0xfd, 0x28, 0xe2, 0x41,
  1074  	0x77, 0x6a, 0x7b, 0xf6, 0xea, 0xe7, 0xa9, 0xef, 0x76, 0x7e, 0x53, 0xa0, 0x24, 0x91, 0xf8, 0x1b,
  1075  	0x28, 0x5f, 0x73, 0xdb, 0xe1, 0x81, 0xa6, 0xb4, 0x95, 0xfd, 0xda, 0xe1, 0x7e, 0x77, 0x1b, 0xb8,
  1076  	0xdb, 0x97, 0xe7, 0xe9, 0x0a, 0x87, 0x8f, 0x41, 0xe5, 0x22, 0x15, 0xbb, 0x5d, 0x70, 0x2d, 0xdf,
  1077  	0x56, 0xf6, 0x9b, 0x87, 0x5f, 0x6e, 0x4f, 0x42, 0x12, 0x48, 0x3f, 0x47, 0x33, 0x3c, 0x6e, 0x01,
  1078  	0x84, 0x91, 0x1f, 0xf0, 0x97, 0xb6, 0xbb, 0xe4, 0x5a, 0xa1, 0xad, 0xec, 0xd7, 0xe9, 0x5a, 0xc4,
  1079  	0x78, 0x0a, 0x4f, 0xd2, 0xc3, 0xdf, 0x2d, 0x02, 0x1e, 0x72, 0x2f, 0xea, 0xfc, 0x5e, 0x84, 0x72,
  1080  	0x4c, 0x0a, 0x3f, 0x87, 0xca, 0x0d, 0x0f, 0xc2, 0x99, 0xef, 0xc9, 0x7a, 0x4a, 0xfd, 0x1c, 0x4d,
  1081  	0x02, 0xb8, 0x0d, 0x35, 0xd7, 0xbf, 0xba, 0x9c, 0xb9, 0xdc, 0xb2, 0xe7, 0x31, 0x55, 0x95, 0xae,
  1082  	0x87, 0xf0, 0x1e, 0x34, 0x56, 0xee, 0xf8, 0xf2, 0x32, 0xe4, 0x91, 0x24, 0x50, 0xa0, 0x9b, 0x41,
  1083  	0xfc, 0x1c, 0xaa, 0x21, 0x0f, 0x6e, 0x78, 0x30, 0x70, 0xb4, 0xa2, 0x3c, 0x90, 0xfa, 0xb8, 0x03,
  1084  	0xf5, 0xd8, 0xe6, 0x9e, 0xe9, 0x3b, 0x5c, 0x2b, 0xc9, 0x8f, 0x6c, 0xc4, 0x04, 0x0f, 0xfe, 0x86,
  1085  	0x4f, 0x97, 0x11, 0x67, 0xb3, 0x39, 0xd7, 0xca, 0x32, 0xc5, 0x7a, 0x08, 0xf7, 0x01, 0x42, 0x7f,
  1086  	0x19, 0x4c, 0xb9, 0xec, 0x69, 0x45, 0xf6, 0xf4, 0xf3, 0xed, 0x3d, 0x95, 0xed, 0x54, 0xe8, 0x1a,
  1087  	0x56, 0xf6, 0x73, 0x7a, 0xcd, 0xe7, 0xb6, 0x2c, 0xb9, 0x2a, 0xd9, 0xac, 0x45, 0xf0, 0xa7, 0xa0,
  1088  	0x46, 0xf6, 0xc5, 0xaa, 0x23, 0xaa, 0xfc, 0x39, 0x0b, 0x48, 0xa6, 0x37, 0xdc, 0x8b, 0x86, 0xdc,
  1089  	0xbb, 0x8a, 0xae, 0x35, 0x58, 0x31, 0xcd, 0x42, 0x72, 0xf8, 0xc2, 0x95, 0x44, 0x6b, 0x0f, 0x1e,
  1090  	0x7e, 0x02, 0xe9, 0xe7, 0x69, 0x86, 0xc7, 0x5f, 0x43, 0x69, 0x11, 0xf8, 0x8b, 0x50, 0xab, 0xb7,
  1091  	0x0b, 0xfb, 0xb5, 0x87, 0x54, 0x3c, 0xb1, 0x67, 0x01, 0x8d, 0x41, 0x18, 0x43, 0xf1, 0x2a, 0x9a,
  1092  	0x39, 0x5a, 0x43, 0x56, 0x21, 0x6d, 0xe3, 0x09, 0xec, 0xac, 0xa6, 0x9f, 0x88, 0xc5, 0xd8, 0x05,
  1093  	0x9c, 0xf5, 0x27, 0x8d, 0x0a, 0x5d, 0x25, 0x3c, 0x52, 0x5d, 0xfd, 0x9c, 0x87, 0xb2, 0xe9, 0xbb,
  1094  	0xcb, 0xb9, 0x87, 0x77, 0xa1, 0x34, 0xf3, 0x1c, 0xfe, 0x26, 0x56, 0x15, 0x8d, 0x1d, 0xac, 0x41,
  1095  	0x25, 0x7c, 0xe5, 0xa6, 0xc2, 0x2f, 0xd1, 0xc4, 0x15, 0x64, 0x3c, 0xd1, 0xd2, 0x42, 0x4c, 0x46,
  1096  	0xd8, 0x32, 0x47, 0x78, 0xcc, 0x6f, 0xa5, 0x68, 0xaa, 0x34, 0x76, 0x44, 0x8e, 0xe5, 0xc2, 0xb1,
  1097  	0x23, 0xee, 0x48, 0xb1, 0x54, 0x69, 0xe2, 0x62, 0x0d, 0xca, 0xb3, 0xd0, 0x5a, 0xba, 0xae, 0x94,
  1098  	0x48, 0xb5, 0x9f, 0xa3, 0x2b, 0x3f, 0x6b, 0x54, 0xe5, 0x31, 0x8d, 0xda, 0x85, 0xd2, 0x8d, 0x5c,
  1099  	0xaf, 0x58, 0x0e, 0xb1, 0x83, 0x9f, 0x41, 0xd9, 0x8d, 0xc7, 0xac, 0xca, 0x52, 0x56, 0x9e, 0x50,
  1100  	0xc8, 0xfc, 0x36, 0xa9, 0x12, 0x62, 0x85, 0xa4, 0x01, 0x03, 0x41, 0x33, 0xe6, 0x94, 0x36, 0xed,
  1101  	0x9d, 0x02, 0x15, 0xea, 0xbf, 0xee, 0xd9, 0x91, 0x8d, 0x2d, 0x68, 0x5c, 0xf0, 0x4b, 0x3f, 0xe0,
  1102  	0x71, 0x17, 0x43, 0x4d, 0x91, 0x7c, 0x1f, 0x70, 0xc7, 0xc4, 0x00, 0xba, 0x09, 0xc7, 0x43, 0xa8,
  1103  	0xdb, 0x97, 0x11, 0x0f, 0x92, 0x74, 0xf9, 0x0f, 0x4c, 0xb7, 0x81, 0xce, 0xba, 0x58, 0x78, 0x44,
  1104  	0x17, 0x3b, 0x7f, 0xe5, 0x41, 0xa5, 0xfe, 0x6b, 0xf3, 0xda, 0xf6, 0xae, 0xb8, 0x98, 0xa2, 0x5c,
  1105  	0x9b, 0x81, 0x23, 0x15, 0x52, 0xa0, 0x89, 0xbb, 0xb9, 0x21, 0xf9, 0x0f, 0xdf, 0x90, 0xdc, 0xfa,
  1106  	0x86, 0x3c, 0x13, 0x12, 0xea, 0x39, 0xae, 0x1c, 0x44, 0xb5, 0xaf, 0xd0, 0xd8, 0xc5, 0x08, 0x0a,
  1107  	0xe1, 0x2b, 0x57, 0x2e, 0xa0, 0x4a, 0x85, 0x89, 0x09, 0x54, 0x83, 0x78, 0x0a, 0xc9, 0x3a, 0x7d,
  1108  	0xb1, 0xfd, 0xab, 0xab, 0xb9, 0xd1, 0x14, 0x9a, 0xf5, 0xa8, 0xf1, 0x18, 0xa5, 0xed, 0x41, 0xc3,
  1109  	0x71, 0xdc, 0x93, 0xec, 0x02, 0x6a, 0x4a, 0x82, 0x9b, 0xc1, 0xff, 0xdc, 0x3d, 0x63, 0x07, 0x1a,
  1110  	0xb2, 0xb4, 0x54, 0x57, 0xbf, 0x28, 0x80, 0x58, 0x60, 0x7b, 0xa1, 0x3d, 0x8d, 0x66, 0xbe, 0x67,
  1111  	0xf0, 0xab, 0x99, 0xf7, 0xcf, 0xab, 0x54, 0xf9, 0xf7, 0x55, 0xba, 0x07, 0x8d, 0x28, 0x43, 0x0d,
  1112  	0x9c, 0xd5, 0xb5, 0xbf, 0x19, 0xfc, 0x7f, 0x52, 0x10, 0x0f, 0x42, 0x74, 0x1d, 0x70, 0xdb, 0xc9,
  1113  	0x1e, 0x84, 0xc4, 0xef, 0xfc, 0xa4, 0x40, 0x73, 0x8d, 0x36, 0xf1, 0x9c, 0x8f, 0x83, 0x74, 0xa7,
  1114  	0x0b, 0x45, 0xe1, 0x0a, 0xe9, 0x7c, 0xcf, 0x6f, 0x25, 0x0b, 0x95, 0x0a, 0x33, 0xbb, 0x1f, 0xf2,
  1115  	0x6b, 0xf7, 0xc3, 0xc1, 0x0f, 0x0a, 0xa8, 0xe9, 0xa3, 0x8d, 0x3f, 0x83, 0x4f, 0x88, 0xc5, 0xe8,
  1116  	0x39, 0x3b, 0x9f, 0x10, 0x73, 0x3c, 0x9a, 0xe8, 0x6c, 0x60, 0x0c, 0xc9, 0x84, 0x8e, 0xd9, 0xf8,
  1117  	0x10, 0xe5, 0xf0, 0x2e, 0x20, 0x46, 0x75, 0xeb, 0x44, 0x37, 0xd9, 0x60, 0x6c, 0x19, 0xe4, 0x68,
  1118  	0x60, 0x21, 0x05, 0xd7, 0xa0, 0x42, 0xc7, 0xdf, 0xf6, 0x74, 0xa6, 0xa3, 0x3c, 0xc6, 0xd0, 0x5c,
  1119  	0x3b, 0x42, 0xac, 0x1e, 0x2a, 0x88, 0x98, 0xcc, 0xda, 0x27, 0x3a, 0x65, 0x06, 0xd1, 0x19, 0x2a,
  1120  	0x0a, 0xd0, 0x11, 0x1b, 0xf4, 0x86, 0xe3, 0x23, 0x54, 0x3a, 0x78, 0x27, 0x48, 0xa4, 0xdb, 0x20,
  1121  	0x48, 0xbc, 0x24, 0x16, 0x7b, 0x0f, 0x09, 0x80, 0xf2, 0xc0, 0x3a, 0x21, 0x94, 0x21, 0x45, 0xd8,
  1122  	0xa7, 0x93, 0x9e, 0xce, 0x08, 0xca, 0x0b, 0xbb, 0x47, 0x86, 0x84, 0x11, 0x54, 0x10, 0xb6, 0x49,
  1123  	0x89, 0x88, 0x17, 0xb1, 0x0a, 0x25, 0x7d, 0xc8, 0x08, 0x45, 0x25, 0x61, 0x12, 0xaa, 0x9f, 0x10,
  1124  	0x54, 0x16, 0xe6, 0x8b, 0x53, 0x42, 0xcf, 0x51, 0x05, 0xd7, 0xa1, 0xca, 0xe8, 0xa9, 0x65, 0x8a,
  1125  	0xe3, 0x55, 0x01, 0xa5, 0xc4, 0xd2, 0x47, 0x04, 0xa9, 0x32, 0xcd, 0xc0, 0xea, 0x91, 0x33, 0x04,
  1126  	0x32, 0x7d, 0x6c, 0xd7, 0x70, 0x15, 0x8a, 0x82, 0x3c, 0xaa, 0x0b, 0xec, 0x99, 0x6e, 0x8e, 0x47,
  1127  	0xa3, 0x01, 0x43, 0x0d, 0xdc, 0x04, 0x38, 0xd3, 0xe9, 0x78, 0x38, 0x34, 0x74, 0xf3, 0x18, 0x35,
  1128  	0x85, 0x3f, 0xca, 0x8a, 0xde, 0x39, 0x30, 0xa0, 0x28, 0x2b, 0xd4, 0x60, 0xf7, 0xfd, 0xc5, 0x8d,
  1129  	0xa9, 0x6e, 0x0e, 0x09, 0x52, 0x04, 0xc5, 0xd1, 0xf9, 0xc9, 0x8b, 0x21, 0xca, 0x0b, 0x73, 0x72,
  1130  	0x24, 0xcc, 0x82, 0xd1, 0xff, 0xf5, 0xae, 0xa5, 0xbc, 0xbd, 0x6b, 0x29, 0x7f, 0xde, 0xb5, 0x94,
  1131  	0x1f, 0xef, 0x5b, 0xb9, 0xb7, 0xf7, 0xad, 0xdc, 0x1f, 0xf7, 0xad, 0x1c, 0x6c, 0xfd, 0x7f, 0x68,
  1132  	0x80, 0x29, 0x7c, 0x39, 0xee, 0xbe, 0x72, 0x51, 0x96, 0xf1, 0xaf, 0xfe, 0x0e, 0x00, 0x00, 0xff,
  1133  	0xff, 0x89, 0x37, 0xf8, 0x04, 0x6d, 0x0a, 0x00, 0x00,
  1134  }
  1135  
  1136  func (m *Entry) Marshal() (dAtA []byte, err error) {
  1137  	size := m.Size()
  1138  	dAtA = make([]byte, size)
  1139  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1140  	if err != nil {
  1141  		return nil, err
  1142  	}
  1143  	return dAtA[:n], nil
  1144  }
  1145  
  1146  func (m *Entry) MarshalTo(dAtA []byte) (int, error) {
  1147  	size := m.Size()
  1148  	return m.MarshalToSizedBuffer(dAtA[:size])
  1149  }
  1150  
  1151  func (m *Entry) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1152  	i := len(dAtA)
  1153  	_ = i
  1154  	var l int
  1155  	_ = l
  1156  	if len(m.StoreValue) > 0 {
  1157  		i -= len(m.StoreValue)
  1158  		copy(dAtA[i:], m.StoreValue)
  1159  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.StoreValue)))
  1160  		i--
  1161  		dAtA[i] = 0x1a
  1162  	}
  1163  	if m.EntryTypePresent != nil {
  1164  		{
  1165  			size := m.EntryTypePresent.Size()
  1166  			i -= size
  1167  			if _, err := m.EntryTypePresent.MarshalTo(dAtA[i:]); err != nil {
  1168  				return 0, err
  1169  			}
  1170  		}
  1171  	}
  1172  	if m.Header != nil {
  1173  		{
  1174  			size, err := m.Header.MarshalToSizedBuffer(dAtA[:i])
  1175  			if err != nil {
  1176  				return 0, err
  1177  			}
  1178  			i -= size
  1179  			i = encodeVarintEntryProtocol(dAtA, i, uint64(size))
  1180  		}
  1181  		i--
  1182  		dAtA[i] = 0xa
  1183  	}
  1184  	return len(dAtA) - i, nil
  1185  }
  1186  
  1187  func (m *Entry_EntryType) MarshalTo(dAtA []byte) (int, error) {
  1188  	size := m.Size()
  1189  	return m.MarshalToSizedBuffer(dAtA[:size])
  1190  }
  1191  
  1192  func (m *Entry_EntryType) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1193  	i := len(dAtA)
  1194  	i = encodeVarintEntryProtocol(dAtA, i, uint64(m.EntryType))
  1195  	i--
  1196  	dAtA[i] = 0x10
  1197  	return len(dAtA) - i, nil
  1198  }
  1199  func (m *Header) Marshal() (dAtA []byte, err error) {
  1200  	size := m.Size()
  1201  	dAtA = make([]byte, size)
  1202  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1203  	if err != nil {
  1204  		return nil, err
  1205  	}
  1206  	return dAtA[:n], nil
  1207  }
  1208  
  1209  func (m *Header) MarshalTo(dAtA []byte) (int, error) {
  1210  	size := m.Size()
  1211  	return m.MarshalToSizedBuffer(dAtA[:size])
  1212  }
  1213  
  1214  func (m *Header) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1215  	i := len(dAtA)
  1216  	_ = i
  1217  	var l int
  1218  	_ = l
  1219  	if len(m.Gtid) > 0 {
  1220  		i -= len(m.Gtid)
  1221  		copy(dAtA[i:], m.Gtid)
  1222  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.Gtid)))
  1223  		i--
  1224  		dAtA[i] = 0x6a
  1225  	}
  1226  	if len(m.Props) > 0 {
  1227  		for iNdEx := len(m.Props) - 1; iNdEx >= 0; iNdEx-- {
  1228  			{
  1229  				size, err := m.Props[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1230  				if err != nil {
  1231  					return 0, err
  1232  				}
  1233  				i -= size
  1234  				i = encodeVarintEntryProtocol(dAtA, i, uint64(size))
  1235  			}
  1236  			i--
  1237  			dAtA[i] = 0x62
  1238  		}
  1239  	}
  1240  	if m.EventTypePresent != nil {
  1241  		{
  1242  			size := m.EventTypePresent.Size()
  1243  			i -= size
  1244  			if _, err := m.EventTypePresent.MarshalTo(dAtA[i:]); err != nil {
  1245  				return 0, err
  1246  			}
  1247  		}
  1248  	}
  1249  	if m.EventLength != 0 {
  1250  		i = encodeVarintEntryProtocol(dAtA, i, uint64(m.EventLength))
  1251  		i--
  1252  		dAtA[i] = 0x50
  1253  	}
  1254  	if len(m.TableName) > 0 {
  1255  		i -= len(m.TableName)
  1256  		copy(dAtA[i:], m.TableName)
  1257  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.TableName)))
  1258  		i--
  1259  		dAtA[i] = 0x4a
  1260  	}
  1261  	if len(m.SchemaName) > 0 {
  1262  		i -= len(m.SchemaName)
  1263  		copy(dAtA[i:], m.SchemaName)
  1264  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.SchemaName)))
  1265  		i--
  1266  		dAtA[i] = 0x42
  1267  	}
  1268  	if m.SourceTypePresent != nil {
  1269  		{
  1270  			size := m.SourceTypePresent.Size()
  1271  			i -= size
  1272  			if _, err := m.SourceTypePresent.MarshalTo(dAtA[i:]); err != nil {
  1273  				return 0, err
  1274  			}
  1275  		}
  1276  	}
  1277  	if m.ExecuteTime != 0 {
  1278  		i = encodeVarintEntryProtocol(dAtA, i, uint64(m.ExecuteTime))
  1279  		i--
  1280  		dAtA[i] = 0x30
  1281  	}
  1282  	if len(m.ServerenCode) > 0 {
  1283  		i -= len(m.ServerenCode)
  1284  		copy(dAtA[i:], m.ServerenCode)
  1285  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.ServerenCode)))
  1286  		i--
  1287  		dAtA[i] = 0x2a
  1288  	}
  1289  	if m.ServerId != 0 {
  1290  		i = encodeVarintEntryProtocol(dAtA, i, uint64(m.ServerId))
  1291  		i--
  1292  		dAtA[i] = 0x20
  1293  	}
  1294  	if m.LogfileOffset != 0 {
  1295  		i = encodeVarintEntryProtocol(dAtA, i, uint64(m.LogfileOffset))
  1296  		i--
  1297  		dAtA[i] = 0x18
  1298  	}
  1299  	if len(m.LogfileName) > 0 {
  1300  		i -= len(m.LogfileName)
  1301  		copy(dAtA[i:], m.LogfileName)
  1302  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.LogfileName)))
  1303  		i--
  1304  		dAtA[i] = 0x12
  1305  	}
  1306  	if m.VersionPresent != nil {
  1307  		{
  1308  			size := m.VersionPresent.Size()
  1309  			i -= size
  1310  			if _, err := m.VersionPresent.MarshalTo(dAtA[i:]); err != nil {
  1311  				return 0, err
  1312  			}
  1313  		}
  1314  	}
  1315  	return len(dAtA) - i, nil
  1316  }
  1317  
  1318  func (m *Header_Version) MarshalTo(dAtA []byte) (int, error) {
  1319  	size := m.Size()
  1320  	return m.MarshalToSizedBuffer(dAtA[:size])
  1321  }
  1322  
  1323  func (m *Header_Version) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1324  	i := len(dAtA)
  1325  	i = encodeVarintEntryProtocol(dAtA, i, uint64(m.Version))
  1326  	i--
  1327  	dAtA[i] = 0x8
  1328  	return len(dAtA) - i, nil
  1329  }
  1330  func (m *Header_SourceType) MarshalTo(dAtA []byte) (int, error) {
  1331  	size := m.Size()
  1332  	return m.MarshalToSizedBuffer(dAtA[:size])
  1333  }
  1334  
  1335  func (m *Header_SourceType) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1336  	i := len(dAtA)
  1337  	i = encodeVarintEntryProtocol(dAtA, i, uint64(m.SourceType))
  1338  	i--
  1339  	dAtA[i] = 0x38
  1340  	return len(dAtA) - i, nil
  1341  }
  1342  func (m *Header_EventType) MarshalTo(dAtA []byte) (int, error) {
  1343  	size := m.Size()
  1344  	return m.MarshalToSizedBuffer(dAtA[:size])
  1345  }
  1346  
  1347  func (m *Header_EventType) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1348  	i := len(dAtA)
  1349  	i = encodeVarintEntryProtocol(dAtA, i, uint64(m.EventType))
  1350  	i--
  1351  	dAtA[i] = 0x58
  1352  	return len(dAtA) - i, nil
  1353  }
  1354  func (m *Column) Marshal() (dAtA []byte, err error) {
  1355  	size := m.Size()
  1356  	dAtA = make([]byte, size)
  1357  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1358  	if err != nil {
  1359  		return nil, err
  1360  	}
  1361  	return dAtA[:n], nil
  1362  }
  1363  
  1364  func (m *Column) MarshalTo(dAtA []byte) (int, error) {
  1365  	size := m.Size()
  1366  	return m.MarshalToSizedBuffer(dAtA[:size])
  1367  }
  1368  
  1369  func (m *Column) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1370  	i := len(dAtA)
  1371  	_ = i
  1372  	var l int
  1373  	_ = l
  1374  	if len(m.MysqlType) > 0 {
  1375  		i -= len(m.MysqlType)
  1376  		copy(dAtA[i:], m.MysqlType)
  1377  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.MysqlType)))
  1378  		i--
  1379  		dAtA[i] = 0x52
  1380  	}
  1381  	if m.Length != 0 {
  1382  		i = encodeVarintEntryProtocol(dAtA, i, uint64(m.Length))
  1383  		i--
  1384  		dAtA[i] = 0x48
  1385  	}
  1386  	if len(m.Value) > 0 {
  1387  		i -= len(m.Value)
  1388  		copy(dAtA[i:], m.Value)
  1389  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.Value)))
  1390  		i--
  1391  		dAtA[i] = 0x42
  1392  	}
  1393  	if len(m.Props) > 0 {
  1394  		for iNdEx := len(m.Props) - 1; iNdEx >= 0; iNdEx-- {
  1395  			{
  1396  				size, err := m.Props[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1397  				if err != nil {
  1398  					return 0, err
  1399  				}
  1400  				i -= size
  1401  				i = encodeVarintEntryProtocol(dAtA, i, uint64(size))
  1402  			}
  1403  			i--
  1404  			dAtA[i] = 0x3a
  1405  		}
  1406  	}
  1407  	if m.IsNullPresent != nil {
  1408  		{
  1409  			size := m.IsNullPresent.Size()
  1410  			i -= size
  1411  			if _, err := m.IsNullPresent.MarshalTo(dAtA[i:]); err != nil {
  1412  				return 0, err
  1413  			}
  1414  		}
  1415  	}
  1416  	if m.Updated {
  1417  		i--
  1418  		if m.Updated {
  1419  			dAtA[i] = 1
  1420  		} else {
  1421  			dAtA[i] = 0
  1422  		}
  1423  		i--
  1424  		dAtA[i] = 0x28
  1425  	}
  1426  	if m.IsKey {
  1427  		i--
  1428  		if m.IsKey {
  1429  			dAtA[i] = 1
  1430  		} else {
  1431  			dAtA[i] = 0
  1432  		}
  1433  		i--
  1434  		dAtA[i] = 0x20
  1435  	}
  1436  	if len(m.Name) > 0 {
  1437  		i -= len(m.Name)
  1438  		copy(dAtA[i:], m.Name)
  1439  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.Name)))
  1440  		i--
  1441  		dAtA[i] = 0x1a
  1442  	}
  1443  	if m.SqlType != 0 {
  1444  		i = encodeVarintEntryProtocol(dAtA, i, uint64(m.SqlType))
  1445  		i--
  1446  		dAtA[i] = 0x10
  1447  	}
  1448  	if m.Index != 0 {
  1449  		i = encodeVarintEntryProtocol(dAtA, i, uint64(m.Index))
  1450  		i--
  1451  		dAtA[i] = 0x8
  1452  	}
  1453  	return len(dAtA) - i, nil
  1454  }
  1455  
  1456  func (m *Column_IsNull) MarshalTo(dAtA []byte) (int, error) {
  1457  	size := m.Size()
  1458  	return m.MarshalToSizedBuffer(dAtA[:size])
  1459  }
  1460  
  1461  func (m *Column_IsNull) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1462  	i := len(dAtA)
  1463  	i--
  1464  	if m.IsNull {
  1465  		dAtA[i] = 1
  1466  	} else {
  1467  		dAtA[i] = 0
  1468  	}
  1469  	i--
  1470  	dAtA[i] = 0x30
  1471  	return len(dAtA) - i, nil
  1472  }
  1473  func (m *RowData) Marshal() (dAtA []byte, err error) {
  1474  	size := m.Size()
  1475  	dAtA = make([]byte, size)
  1476  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1477  	if err != nil {
  1478  		return nil, err
  1479  	}
  1480  	return dAtA[:n], nil
  1481  }
  1482  
  1483  func (m *RowData) MarshalTo(dAtA []byte) (int, error) {
  1484  	size := m.Size()
  1485  	return m.MarshalToSizedBuffer(dAtA[:size])
  1486  }
  1487  
  1488  func (m *RowData) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1489  	i := len(dAtA)
  1490  	_ = i
  1491  	var l int
  1492  	_ = l
  1493  	if len(m.Props) > 0 {
  1494  		for iNdEx := len(m.Props) - 1; iNdEx >= 0; iNdEx-- {
  1495  			{
  1496  				size, err := m.Props[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1497  				if err != nil {
  1498  					return 0, err
  1499  				}
  1500  				i -= size
  1501  				i = encodeVarintEntryProtocol(dAtA, i, uint64(size))
  1502  			}
  1503  			i--
  1504  			dAtA[i] = 0x1a
  1505  		}
  1506  	}
  1507  	if len(m.AfterColumns) > 0 {
  1508  		for iNdEx := len(m.AfterColumns) - 1; iNdEx >= 0; iNdEx-- {
  1509  			{
  1510  				size, err := m.AfterColumns[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1511  				if err != nil {
  1512  					return 0, err
  1513  				}
  1514  				i -= size
  1515  				i = encodeVarintEntryProtocol(dAtA, i, uint64(size))
  1516  			}
  1517  			i--
  1518  			dAtA[i] = 0x12
  1519  		}
  1520  	}
  1521  	if len(m.BeforeColumns) > 0 {
  1522  		for iNdEx := len(m.BeforeColumns) - 1; iNdEx >= 0; iNdEx-- {
  1523  			{
  1524  				size, err := m.BeforeColumns[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1525  				if err != nil {
  1526  					return 0, err
  1527  				}
  1528  				i -= size
  1529  				i = encodeVarintEntryProtocol(dAtA, i, uint64(size))
  1530  			}
  1531  			i--
  1532  			dAtA[i] = 0xa
  1533  		}
  1534  	}
  1535  	return len(dAtA) - i, nil
  1536  }
  1537  
  1538  func (m *RowChange) Marshal() (dAtA []byte, err error) {
  1539  	size := m.Size()
  1540  	dAtA = make([]byte, size)
  1541  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1542  	if err != nil {
  1543  		return nil, err
  1544  	}
  1545  	return dAtA[:n], nil
  1546  }
  1547  
  1548  func (m *RowChange) MarshalTo(dAtA []byte) (int, error) {
  1549  	size := m.Size()
  1550  	return m.MarshalToSizedBuffer(dAtA[:size])
  1551  }
  1552  
  1553  func (m *RowChange) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1554  	i := len(dAtA)
  1555  	_ = i
  1556  	var l int
  1557  	_ = l
  1558  	if len(m.DdlSchemaName) > 0 {
  1559  		i -= len(m.DdlSchemaName)
  1560  		copy(dAtA[i:], m.DdlSchemaName)
  1561  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.DdlSchemaName)))
  1562  		i--
  1563  		dAtA[i] = 0x72
  1564  	}
  1565  	if len(m.Props) > 0 {
  1566  		for iNdEx := len(m.Props) - 1; iNdEx >= 0; iNdEx-- {
  1567  			{
  1568  				size, err := m.Props[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1569  				if err != nil {
  1570  					return 0, err
  1571  				}
  1572  				i -= size
  1573  				i = encodeVarintEntryProtocol(dAtA, i, uint64(size))
  1574  			}
  1575  			i--
  1576  			dAtA[i] = 0x6a
  1577  		}
  1578  	}
  1579  	if len(m.RowDatas) > 0 {
  1580  		for iNdEx := len(m.RowDatas) - 1; iNdEx >= 0; iNdEx-- {
  1581  			{
  1582  				size, err := m.RowDatas[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1583  				if err != nil {
  1584  					return 0, err
  1585  				}
  1586  				i -= size
  1587  				i = encodeVarintEntryProtocol(dAtA, i, uint64(size))
  1588  			}
  1589  			i--
  1590  			dAtA[i] = 0x62
  1591  		}
  1592  	}
  1593  	if len(m.Sql) > 0 {
  1594  		i -= len(m.Sql)
  1595  		copy(dAtA[i:], m.Sql)
  1596  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.Sql)))
  1597  		i--
  1598  		dAtA[i] = 0x5a
  1599  	}
  1600  	if m.IsDdlPresent != nil {
  1601  		{
  1602  			size := m.IsDdlPresent.Size()
  1603  			i -= size
  1604  			if _, err := m.IsDdlPresent.MarshalTo(dAtA[i:]); err != nil {
  1605  				return 0, err
  1606  			}
  1607  		}
  1608  	}
  1609  	if m.EventTypePresent != nil {
  1610  		{
  1611  			size := m.EventTypePresent.Size()
  1612  			i -= size
  1613  			if _, err := m.EventTypePresent.MarshalTo(dAtA[i:]); err != nil {
  1614  				return 0, err
  1615  			}
  1616  		}
  1617  	}
  1618  	if m.TableId != 0 {
  1619  		i = encodeVarintEntryProtocol(dAtA, i, uint64(m.TableId))
  1620  		i--
  1621  		dAtA[i] = 0x8
  1622  	}
  1623  	return len(dAtA) - i, nil
  1624  }
  1625  
  1626  func (m *RowChange_EventType) MarshalTo(dAtA []byte) (int, error) {
  1627  	size := m.Size()
  1628  	return m.MarshalToSizedBuffer(dAtA[:size])
  1629  }
  1630  
  1631  func (m *RowChange_EventType) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1632  	i := len(dAtA)
  1633  	i = encodeVarintEntryProtocol(dAtA, i, uint64(m.EventType))
  1634  	i--
  1635  	dAtA[i] = 0x10
  1636  	return len(dAtA) - i, nil
  1637  }
  1638  func (m *RowChange_IsDdl) MarshalTo(dAtA []byte) (int, error) {
  1639  	size := m.Size()
  1640  	return m.MarshalToSizedBuffer(dAtA[:size])
  1641  }
  1642  
  1643  func (m *RowChange_IsDdl) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1644  	i := len(dAtA)
  1645  	i--
  1646  	if m.IsDdl {
  1647  		dAtA[i] = 1
  1648  	} else {
  1649  		dAtA[i] = 0
  1650  	}
  1651  	i--
  1652  	dAtA[i] = 0x50
  1653  	return len(dAtA) - i, nil
  1654  }
  1655  func (m *TransactionBegin) Marshal() (dAtA []byte, err error) {
  1656  	size := m.Size()
  1657  	dAtA = make([]byte, size)
  1658  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1659  	if err != nil {
  1660  		return nil, err
  1661  	}
  1662  	return dAtA[:n], nil
  1663  }
  1664  
  1665  func (m *TransactionBegin) MarshalTo(dAtA []byte) (int, error) {
  1666  	size := m.Size()
  1667  	return m.MarshalToSizedBuffer(dAtA[:size])
  1668  }
  1669  
  1670  func (m *TransactionBegin) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1671  	i := len(dAtA)
  1672  	_ = i
  1673  	var l int
  1674  	_ = l
  1675  	if m.ThreadId != 0 {
  1676  		i = encodeVarintEntryProtocol(dAtA, i, uint64(m.ThreadId))
  1677  		i--
  1678  		dAtA[i] = 0x20
  1679  	}
  1680  	if len(m.Props) > 0 {
  1681  		for iNdEx := len(m.Props) - 1; iNdEx >= 0; iNdEx-- {
  1682  			{
  1683  				size, err := m.Props[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1684  				if err != nil {
  1685  					return 0, err
  1686  				}
  1687  				i -= size
  1688  				i = encodeVarintEntryProtocol(dAtA, i, uint64(size))
  1689  			}
  1690  			i--
  1691  			dAtA[i] = 0x1a
  1692  		}
  1693  	}
  1694  	if len(m.TransactionId) > 0 {
  1695  		i -= len(m.TransactionId)
  1696  		copy(dAtA[i:], m.TransactionId)
  1697  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.TransactionId)))
  1698  		i--
  1699  		dAtA[i] = 0x12
  1700  	}
  1701  	if m.ExecuteTime != 0 {
  1702  		i = encodeVarintEntryProtocol(dAtA, i, uint64(m.ExecuteTime))
  1703  		i--
  1704  		dAtA[i] = 0x8
  1705  	}
  1706  	return len(dAtA) - i, nil
  1707  }
  1708  
  1709  func (m *TransactionEnd) Marshal() (dAtA []byte, err error) {
  1710  	size := m.Size()
  1711  	dAtA = make([]byte, size)
  1712  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1713  	if err != nil {
  1714  		return nil, err
  1715  	}
  1716  	return dAtA[:n], nil
  1717  }
  1718  
  1719  func (m *TransactionEnd) MarshalTo(dAtA []byte) (int, error) {
  1720  	size := m.Size()
  1721  	return m.MarshalToSizedBuffer(dAtA[:size])
  1722  }
  1723  
  1724  func (m *TransactionEnd) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1725  	i := len(dAtA)
  1726  	_ = i
  1727  	var l int
  1728  	_ = l
  1729  	if len(m.Props) > 0 {
  1730  		for iNdEx := len(m.Props) - 1; iNdEx >= 0; iNdEx-- {
  1731  			{
  1732  				size, err := m.Props[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1733  				if err != nil {
  1734  					return 0, err
  1735  				}
  1736  				i -= size
  1737  				i = encodeVarintEntryProtocol(dAtA, i, uint64(size))
  1738  			}
  1739  			i--
  1740  			dAtA[i] = 0x1a
  1741  		}
  1742  	}
  1743  	if len(m.TransactionId) > 0 {
  1744  		i -= len(m.TransactionId)
  1745  		copy(dAtA[i:], m.TransactionId)
  1746  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.TransactionId)))
  1747  		i--
  1748  		dAtA[i] = 0x12
  1749  	}
  1750  	if m.ExecuteTime != 0 {
  1751  		i = encodeVarintEntryProtocol(dAtA, i, uint64(m.ExecuteTime))
  1752  		i--
  1753  		dAtA[i] = 0x8
  1754  	}
  1755  	return len(dAtA) - i, nil
  1756  }
  1757  
  1758  func (m *Pair) Marshal() (dAtA []byte, err error) {
  1759  	size := m.Size()
  1760  	dAtA = make([]byte, size)
  1761  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1762  	if err != nil {
  1763  		return nil, err
  1764  	}
  1765  	return dAtA[:n], nil
  1766  }
  1767  
  1768  func (m *Pair) MarshalTo(dAtA []byte) (int, error) {
  1769  	size := m.Size()
  1770  	return m.MarshalToSizedBuffer(dAtA[:size])
  1771  }
  1772  
  1773  func (m *Pair) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1774  	i := len(dAtA)
  1775  	_ = i
  1776  	var l int
  1777  	_ = l
  1778  	if len(m.Value) > 0 {
  1779  		i -= len(m.Value)
  1780  		copy(dAtA[i:], m.Value)
  1781  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.Value)))
  1782  		i--
  1783  		dAtA[i] = 0x12
  1784  	}
  1785  	if len(m.Key) > 0 {
  1786  		i -= len(m.Key)
  1787  		copy(dAtA[i:], m.Key)
  1788  		i = encodeVarintEntryProtocol(dAtA, i, uint64(len(m.Key)))
  1789  		i--
  1790  		dAtA[i] = 0xa
  1791  	}
  1792  	return len(dAtA) - i, nil
  1793  }
  1794  
  1795  func encodeVarintEntryProtocol(dAtA []byte, offset int, v uint64) int {
  1796  	offset -= sovEntryProtocol(v)
  1797  	base := offset
  1798  	for v >= 1<<7 {
  1799  		dAtA[offset] = uint8(v&0x7f | 0x80)
  1800  		v >>= 7
  1801  		offset++
  1802  	}
  1803  	dAtA[offset] = uint8(v)
  1804  	return base
  1805  }
  1806  func (m *Entry) Size() (n int) {
  1807  	if m == nil {
  1808  		return 0
  1809  	}
  1810  	var l int
  1811  	_ = l
  1812  	if m.Header != nil {
  1813  		l = m.Header.Size()
  1814  		n += 1 + l + sovEntryProtocol(uint64(l))
  1815  	}
  1816  	if m.EntryTypePresent != nil {
  1817  		n += m.EntryTypePresent.Size()
  1818  	}
  1819  	l = len(m.StoreValue)
  1820  	if l > 0 {
  1821  		n += 1 + l + sovEntryProtocol(uint64(l))
  1822  	}
  1823  	return n
  1824  }
  1825  
  1826  func (m *Entry_EntryType) Size() (n int) {
  1827  	if m == nil {
  1828  		return 0
  1829  	}
  1830  	var l int
  1831  	_ = l
  1832  	n += 1 + sovEntryProtocol(uint64(m.EntryType))
  1833  	return n
  1834  }
  1835  func (m *Header) Size() (n int) {
  1836  	if m == nil {
  1837  		return 0
  1838  	}
  1839  	var l int
  1840  	_ = l
  1841  	if m.VersionPresent != nil {
  1842  		n += m.VersionPresent.Size()
  1843  	}
  1844  	l = len(m.LogfileName)
  1845  	if l > 0 {
  1846  		n += 1 + l + sovEntryProtocol(uint64(l))
  1847  	}
  1848  	if m.LogfileOffset != 0 {
  1849  		n += 1 + sovEntryProtocol(uint64(m.LogfileOffset))
  1850  	}
  1851  	if m.ServerId != 0 {
  1852  		n += 1 + sovEntryProtocol(uint64(m.ServerId))
  1853  	}
  1854  	l = len(m.ServerenCode)
  1855  	if l > 0 {
  1856  		n += 1 + l + sovEntryProtocol(uint64(l))
  1857  	}
  1858  	if m.ExecuteTime != 0 {
  1859  		n += 1 + sovEntryProtocol(uint64(m.ExecuteTime))
  1860  	}
  1861  	if m.SourceTypePresent != nil {
  1862  		n += m.SourceTypePresent.Size()
  1863  	}
  1864  	l = len(m.SchemaName)
  1865  	if l > 0 {
  1866  		n += 1 + l + sovEntryProtocol(uint64(l))
  1867  	}
  1868  	l = len(m.TableName)
  1869  	if l > 0 {
  1870  		n += 1 + l + sovEntryProtocol(uint64(l))
  1871  	}
  1872  	if m.EventLength != 0 {
  1873  		n += 1 + sovEntryProtocol(uint64(m.EventLength))
  1874  	}
  1875  	if m.EventTypePresent != nil {
  1876  		n += m.EventTypePresent.Size()
  1877  	}
  1878  	if len(m.Props) > 0 {
  1879  		for _, e := range m.Props {
  1880  			l = e.Size()
  1881  			n += 1 + l + sovEntryProtocol(uint64(l))
  1882  		}
  1883  	}
  1884  	l = len(m.Gtid)
  1885  	if l > 0 {
  1886  		n += 1 + l + sovEntryProtocol(uint64(l))
  1887  	}
  1888  	return n
  1889  }
  1890  
  1891  func (m *Header_Version) Size() (n int) {
  1892  	if m == nil {
  1893  		return 0
  1894  	}
  1895  	var l int
  1896  	_ = l
  1897  	n += 1 + sovEntryProtocol(uint64(m.Version))
  1898  	return n
  1899  }
  1900  func (m *Header_SourceType) Size() (n int) {
  1901  	if m == nil {
  1902  		return 0
  1903  	}
  1904  	var l int
  1905  	_ = l
  1906  	n += 1 + sovEntryProtocol(uint64(m.SourceType))
  1907  	return n
  1908  }
  1909  func (m *Header_EventType) Size() (n int) {
  1910  	if m == nil {
  1911  		return 0
  1912  	}
  1913  	var l int
  1914  	_ = l
  1915  	n += 1 + sovEntryProtocol(uint64(m.EventType))
  1916  	return n
  1917  }
  1918  func (m *Column) Size() (n int) {
  1919  	if m == nil {
  1920  		return 0
  1921  	}
  1922  	var l int
  1923  	_ = l
  1924  	if m.Index != 0 {
  1925  		n += 1 + sovEntryProtocol(uint64(m.Index))
  1926  	}
  1927  	if m.SqlType != 0 {
  1928  		n += 1 + sovEntryProtocol(uint64(m.SqlType))
  1929  	}
  1930  	l = len(m.Name)
  1931  	if l > 0 {
  1932  		n += 1 + l + sovEntryProtocol(uint64(l))
  1933  	}
  1934  	if m.IsKey {
  1935  		n += 2
  1936  	}
  1937  	if m.Updated {
  1938  		n += 2
  1939  	}
  1940  	if m.IsNullPresent != nil {
  1941  		n += m.IsNullPresent.Size()
  1942  	}
  1943  	if len(m.Props) > 0 {
  1944  		for _, e := range m.Props {
  1945  			l = e.Size()
  1946  			n += 1 + l + sovEntryProtocol(uint64(l))
  1947  		}
  1948  	}
  1949  	l = len(m.Value)
  1950  	if l > 0 {
  1951  		n += 1 + l + sovEntryProtocol(uint64(l))
  1952  	}
  1953  	if m.Length != 0 {
  1954  		n += 1 + sovEntryProtocol(uint64(m.Length))
  1955  	}
  1956  	l = len(m.MysqlType)
  1957  	if l > 0 {
  1958  		n += 1 + l + sovEntryProtocol(uint64(l))
  1959  	}
  1960  	return n
  1961  }
  1962  
  1963  func (m *Column_IsNull) Size() (n int) {
  1964  	if m == nil {
  1965  		return 0
  1966  	}
  1967  	var l int
  1968  	_ = l
  1969  	n += 2
  1970  	return n
  1971  }
  1972  func (m *RowData) Size() (n int) {
  1973  	if m == nil {
  1974  		return 0
  1975  	}
  1976  	var l int
  1977  	_ = l
  1978  	if len(m.BeforeColumns) > 0 {
  1979  		for _, e := range m.BeforeColumns {
  1980  			l = e.Size()
  1981  			n += 1 + l + sovEntryProtocol(uint64(l))
  1982  		}
  1983  	}
  1984  	if len(m.AfterColumns) > 0 {
  1985  		for _, e := range m.AfterColumns {
  1986  			l = e.Size()
  1987  			n += 1 + l + sovEntryProtocol(uint64(l))
  1988  		}
  1989  	}
  1990  	if len(m.Props) > 0 {
  1991  		for _, e := range m.Props {
  1992  			l = e.Size()
  1993  			n += 1 + l + sovEntryProtocol(uint64(l))
  1994  		}
  1995  	}
  1996  	return n
  1997  }
  1998  
  1999  func (m *RowChange) Size() (n int) {
  2000  	if m == nil {
  2001  		return 0
  2002  	}
  2003  	var l int
  2004  	_ = l
  2005  	if m.TableId != 0 {
  2006  		n += 1 + sovEntryProtocol(uint64(m.TableId))
  2007  	}
  2008  	if m.EventTypePresent != nil {
  2009  		n += m.EventTypePresent.Size()
  2010  	}
  2011  	if m.IsDdlPresent != nil {
  2012  		n += m.IsDdlPresent.Size()
  2013  	}
  2014  	l = len(m.Sql)
  2015  	if l > 0 {
  2016  		n += 1 + l + sovEntryProtocol(uint64(l))
  2017  	}
  2018  	if len(m.RowDatas) > 0 {
  2019  		for _, e := range m.RowDatas {
  2020  			l = e.Size()
  2021  			n += 1 + l + sovEntryProtocol(uint64(l))
  2022  		}
  2023  	}
  2024  	if len(m.Props) > 0 {
  2025  		for _, e := range m.Props {
  2026  			l = e.Size()
  2027  			n += 1 + l + sovEntryProtocol(uint64(l))
  2028  		}
  2029  	}
  2030  	l = len(m.DdlSchemaName)
  2031  	if l > 0 {
  2032  		n += 1 + l + sovEntryProtocol(uint64(l))
  2033  	}
  2034  	return n
  2035  }
  2036  
  2037  func (m *RowChange_EventType) Size() (n int) {
  2038  	if m == nil {
  2039  		return 0
  2040  	}
  2041  	var l int
  2042  	_ = l
  2043  	n += 1 + sovEntryProtocol(uint64(m.EventType))
  2044  	return n
  2045  }
  2046  func (m *RowChange_IsDdl) Size() (n int) {
  2047  	if m == nil {
  2048  		return 0
  2049  	}
  2050  	var l int
  2051  	_ = l
  2052  	n += 2
  2053  	return n
  2054  }
  2055  func (m *TransactionBegin) Size() (n int) {
  2056  	if m == nil {
  2057  		return 0
  2058  	}
  2059  	var l int
  2060  	_ = l
  2061  	if m.ExecuteTime != 0 {
  2062  		n += 1 + sovEntryProtocol(uint64(m.ExecuteTime))
  2063  	}
  2064  	l = len(m.TransactionId)
  2065  	if l > 0 {
  2066  		n += 1 + l + sovEntryProtocol(uint64(l))
  2067  	}
  2068  	if len(m.Props) > 0 {
  2069  		for _, e := range m.Props {
  2070  			l = e.Size()
  2071  			n += 1 + l + sovEntryProtocol(uint64(l))
  2072  		}
  2073  	}
  2074  	if m.ThreadId != 0 {
  2075  		n += 1 + sovEntryProtocol(uint64(m.ThreadId))
  2076  	}
  2077  	return n
  2078  }
  2079  
  2080  func (m *TransactionEnd) Size() (n int) {
  2081  	if m == nil {
  2082  		return 0
  2083  	}
  2084  	var l int
  2085  	_ = l
  2086  	if m.ExecuteTime != 0 {
  2087  		n += 1 + sovEntryProtocol(uint64(m.ExecuteTime))
  2088  	}
  2089  	l = len(m.TransactionId)
  2090  	if l > 0 {
  2091  		n += 1 + l + sovEntryProtocol(uint64(l))
  2092  	}
  2093  	if len(m.Props) > 0 {
  2094  		for _, e := range m.Props {
  2095  			l = e.Size()
  2096  			n += 1 + l + sovEntryProtocol(uint64(l))
  2097  		}
  2098  	}
  2099  	return n
  2100  }
  2101  
  2102  func (m *Pair) Size() (n int) {
  2103  	if m == nil {
  2104  		return 0
  2105  	}
  2106  	var l int
  2107  	_ = l
  2108  	l = len(m.Key)
  2109  	if l > 0 {
  2110  		n += 1 + l + sovEntryProtocol(uint64(l))
  2111  	}
  2112  	l = len(m.Value)
  2113  	if l > 0 {
  2114  		n += 1 + l + sovEntryProtocol(uint64(l))
  2115  	}
  2116  	return n
  2117  }
  2118  
  2119  func sovEntryProtocol(x uint64) (n int) {
  2120  	return (math_bits.Len64(x|1) + 6) / 7
  2121  }
  2122  func sozEntryProtocol(x uint64) (n int) {
  2123  	return sovEntryProtocol(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  2124  }
  2125  func (m *Entry) Unmarshal(dAtA []byte) error {
  2126  	l := len(dAtA)
  2127  	iNdEx := 0
  2128  	for iNdEx < l {
  2129  		preIndex := iNdEx
  2130  		var wire uint64
  2131  		for shift := uint(0); ; shift += 7 {
  2132  			if shift >= 64 {
  2133  				return ErrIntOverflowEntryProtocol
  2134  			}
  2135  			if iNdEx >= l {
  2136  				return io.ErrUnexpectedEOF
  2137  			}
  2138  			b := dAtA[iNdEx]
  2139  			iNdEx++
  2140  			wire |= uint64(b&0x7F) << shift
  2141  			if b < 0x80 {
  2142  				break
  2143  			}
  2144  		}
  2145  		fieldNum := int32(wire >> 3)
  2146  		wireType := int(wire & 0x7)
  2147  		if wireType == 4 {
  2148  			return fmt.Errorf("proto: Entry: wiretype end group for non-group")
  2149  		}
  2150  		if fieldNum <= 0 {
  2151  			return fmt.Errorf("proto: Entry: illegal tag %d (wire type %d)", fieldNum, wire)
  2152  		}
  2153  		switch fieldNum {
  2154  		case 1:
  2155  			if wireType != 2 {
  2156  				return fmt.Errorf("proto: wrong wireType = %d for field Header", wireType)
  2157  			}
  2158  			var msglen int
  2159  			for shift := uint(0); ; shift += 7 {
  2160  				if shift >= 64 {
  2161  					return ErrIntOverflowEntryProtocol
  2162  				}
  2163  				if iNdEx >= l {
  2164  					return io.ErrUnexpectedEOF
  2165  				}
  2166  				b := dAtA[iNdEx]
  2167  				iNdEx++
  2168  				msglen |= int(b&0x7F) << shift
  2169  				if b < 0x80 {
  2170  					break
  2171  				}
  2172  			}
  2173  			if msglen < 0 {
  2174  				return ErrInvalidLengthEntryProtocol
  2175  			}
  2176  			postIndex := iNdEx + msglen
  2177  			if postIndex < 0 {
  2178  				return ErrInvalidLengthEntryProtocol
  2179  			}
  2180  			if postIndex > l {
  2181  				return io.ErrUnexpectedEOF
  2182  			}
  2183  			if m.Header == nil {
  2184  				m.Header = &Header{}
  2185  			}
  2186  			if err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2187  				return err
  2188  			}
  2189  			iNdEx = postIndex
  2190  		case 2:
  2191  			if wireType != 0 {
  2192  				return fmt.Errorf("proto: wrong wireType = %d for field EntryType", wireType)
  2193  			}
  2194  			var v EntryType
  2195  			for shift := uint(0); ; shift += 7 {
  2196  				if shift >= 64 {
  2197  					return ErrIntOverflowEntryProtocol
  2198  				}
  2199  				if iNdEx >= l {
  2200  					return io.ErrUnexpectedEOF
  2201  				}
  2202  				b := dAtA[iNdEx]
  2203  				iNdEx++
  2204  				v |= EntryType(b&0x7F) << shift
  2205  				if b < 0x80 {
  2206  					break
  2207  				}
  2208  			}
  2209  			m.EntryTypePresent = &Entry_EntryType{v}
  2210  		case 3:
  2211  			if wireType != 2 {
  2212  				return fmt.Errorf("proto: wrong wireType = %d for field StoreValue", wireType)
  2213  			}
  2214  			var byteLen int
  2215  			for shift := uint(0); ; shift += 7 {
  2216  				if shift >= 64 {
  2217  					return ErrIntOverflowEntryProtocol
  2218  				}
  2219  				if iNdEx >= l {
  2220  					return io.ErrUnexpectedEOF
  2221  				}
  2222  				b := dAtA[iNdEx]
  2223  				iNdEx++
  2224  				byteLen |= int(b&0x7F) << shift
  2225  				if b < 0x80 {
  2226  					break
  2227  				}
  2228  			}
  2229  			if byteLen < 0 {
  2230  				return ErrInvalidLengthEntryProtocol
  2231  			}
  2232  			postIndex := iNdEx + byteLen
  2233  			if postIndex < 0 {
  2234  				return ErrInvalidLengthEntryProtocol
  2235  			}
  2236  			if postIndex > l {
  2237  				return io.ErrUnexpectedEOF
  2238  			}
  2239  			m.StoreValue = append(m.StoreValue[:0], dAtA[iNdEx:postIndex]...)
  2240  			if m.StoreValue == nil {
  2241  				m.StoreValue = []byte{}
  2242  			}
  2243  			iNdEx = postIndex
  2244  		default:
  2245  			iNdEx = preIndex
  2246  			skippy, err := skipEntryProtocol(dAtA[iNdEx:])
  2247  			if err != nil {
  2248  				return err
  2249  			}
  2250  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2251  				return ErrInvalidLengthEntryProtocol
  2252  			}
  2253  			if (iNdEx + skippy) > l {
  2254  				return io.ErrUnexpectedEOF
  2255  			}
  2256  			iNdEx += skippy
  2257  		}
  2258  	}
  2259  
  2260  	if iNdEx > l {
  2261  		return io.ErrUnexpectedEOF
  2262  	}
  2263  	return nil
  2264  }
  2265  func (m *Header) Unmarshal(dAtA []byte) error {
  2266  	l := len(dAtA)
  2267  	iNdEx := 0
  2268  	for iNdEx < l {
  2269  		preIndex := iNdEx
  2270  		var wire uint64
  2271  		for shift := uint(0); ; shift += 7 {
  2272  			if shift >= 64 {
  2273  				return ErrIntOverflowEntryProtocol
  2274  			}
  2275  			if iNdEx >= l {
  2276  				return io.ErrUnexpectedEOF
  2277  			}
  2278  			b := dAtA[iNdEx]
  2279  			iNdEx++
  2280  			wire |= uint64(b&0x7F) << shift
  2281  			if b < 0x80 {
  2282  				break
  2283  			}
  2284  		}
  2285  		fieldNum := int32(wire >> 3)
  2286  		wireType := int(wire & 0x7)
  2287  		if wireType == 4 {
  2288  			return fmt.Errorf("proto: Header: wiretype end group for non-group")
  2289  		}
  2290  		if fieldNum <= 0 {
  2291  			return fmt.Errorf("proto: Header: illegal tag %d (wire type %d)", fieldNum, wire)
  2292  		}
  2293  		switch fieldNum {
  2294  		case 1:
  2295  			if wireType != 0 {
  2296  				return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
  2297  			}
  2298  			var v int32
  2299  			for shift := uint(0); ; shift += 7 {
  2300  				if shift >= 64 {
  2301  					return ErrIntOverflowEntryProtocol
  2302  				}
  2303  				if iNdEx >= l {
  2304  					return io.ErrUnexpectedEOF
  2305  				}
  2306  				b := dAtA[iNdEx]
  2307  				iNdEx++
  2308  				v |= int32(b&0x7F) << shift
  2309  				if b < 0x80 {
  2310  					break
  2311  				}
  2312  			}
  2313  			m.VersionPresent = &Header_Version{v}
  2314  		case 2:
  2315  			if wireType != 2 {
  2316  				return fmt.Errorf("proto: wrong wireType = %d for field LogfileName", wireType)
  2317  			}
  2318  			var stringLen uint64
  2319  			for shift := uint(0); ; shift += 7 {
  2320  				if shift >= 64 {
  2321  					return ErrIntOverflowEntryProtocol
  2322  				}
  2323  				if iNdEx >= l {
  2324  					return io.ErrUnexpectedEOF
  2325  				}
  2326  				b := dAtA[iNdEx]
  2327  				iNdEx++
  2328  				stringLen |= uint64(b&0x7F) << shift
  2329  				if b < 0x80 {
  2330  					break
  2331  				}
  2332  			}
  2333  			intStringLen := int(stringLen)
  2334  			if intStringLen < 0 {
  2335  				return ErrInvalidLengthEntryProtocol
  2336  			}
  2337  			postIndex := iNdEx + intStringLen
  2338  			if postIndex < 0 {
  2339  				return ErrInvalidLengthEntryProtocol
  2340  			}
  2341  			if postIndex > l {
  2342  				return io.ErrUnexpectedEOF
  2343  			}
  2344  			m.LogfileName = string(dAtA[iNdEx:postIndex])
  2345  			iNdEx = postIndex
  2346  		case 3:
  2347  			if wireType != 0 {
  2348  				return fmt.Errorf("proto: wrong wireType = %d for field LogfileOffset", wireType)
  2349  			}
  2350  			m.LogfileOffset = 0
  2351  			for shift := uint(0); ; shift += 7 {
  2352  				if shift >= 64 {
  2353  					return ErrIntOverflowEntryProtocol
  2354  				}
  2355  				if iNdEx >= l {
  2356  					return io.ErrUnexpectedEOF
  2357  				}
  2358  				b := dAtA[iNdEx]
  2359  				iNdEx++
  2360  				m.LogfileOffset |= int64(b&0x7F) << shift
  2361  				if b < 0x80 {
  2362  					break
  2363  				}
  2364  			}
  2365  		case 4:
  2366  			if wireType != 0 {
  2367  				return fmt.Errorf("proto: wrong wireType = %d for field ServerId", wireType)
  2368  			}
  2369  			m.ServerId = 0
  2370  			for shift := uint(0); ; shift += 7 {
  2371  				if shift >= 64 {
  2372  					return ErrIntOverflowEntryProtocol
  2373  				}
  2374  				if iNdEx >= l {
  2375  					return io.ErrUnexpectedEOF
  2376  				}
  2377  				b := dAtA[iNdEx]
  2378  				iNdEx++
  2379  				m.ServerId |= int64(b&0x7F) << shift
  2380  				if b < 0x80 {
  2381  					break
  2382  				}
  2383  			}
  2384  		case 5:
  2385  			if wireType != 2 {
  2386  				return fmt.Errorf("proto: wrong wireType = %d for field ServerenCode", wireType)
  2387  			}
  2388  			var stringLen uint64
  2389  			for shift := uint(0); ; shift += 7 {
  2390  				if shift >= 64 {
  2391  					return ErrIntOverflowEntryProtocol
  2392  				}
  2393  				if iNdEx >= l {
  2394  					return io.ErrUnexpectedEOF
  2395  				}
  2396  				b := dAtA[iNdEx]
  2397  				iNdEx++
  2398  				stringLen |= uint64(b&0x7F) << shift
  2399  				if b < 0x80 {
  2400  					break
  2401  				}
  2402  			}
  2403  			intStringLen := int(stringLen)
  2404  			if intStringLen < 0 {
  2405  				return ErrInvalidLengthEntryProtocol
  2406  			}
  2407  			postIndex := iNdEx + intStringLen
  2408  			if postIndex < 0 {
  2409  				return ErrInvalidLengthEntryProtocol
  2410  			}
  2411  			if postIndex > l {
  2412  				return io.ErrUnexpectedEOF
  2413  			}
  2414  			m.ServerenCode = string(dAtA[iNdEx:postIndex])
  2415  			iNdEx = postIndex
  2416  		case 6:
  2417  			if wireType != 0 {
  2418  				return fmt.Errorf("proto: wrong wireType = %d for field ExecuteTime", wireType)
  2419  			}
  2420  			m.ExecuteTime = 0
  2421  			for shift := uint(0); ; shift += 7 {
  2422  				if shift >= 64 {
  2423  					return ErrIntOverflowEntryProtocol
  2424  				}
  2425  				if iNdEx >= l {
  2426  					return io.ErrUnexpectedEOF
  2427  				}
  2428  				b := dAtA[iNdEx]
  2429  				iNdEx++
  2430  				m.ExecuteTime |= int64(b&0x7F) << shift
  2431  				if b < 0x80 {
  2432  					break
  2433  				}
  2434  			}
  2435  		case 7:
  2436  			if wireType != 0 {
  2437  				return fmt.Errorf("proto: wrong wireType = %d for field SourceType", wireType)
  2438  			}
  2439  			var v Type
  2440  			for shift := uint(0); ; shift += 7 {
  2441  				if shift >= 64 {
  2442  					return ErrIntOverflowEntryProtocol
  2443  				}
  2444  				if iNdEx >= l {
  2445  					return io.ErrUnexpectedEOF
  2446  				}
  2447  				b := dAtA[iNdEx]
  2448  				iNdEx++
  2449  				v |= Type(b&0x7F) << shift
  2450  				if b < 0x80 {
  2451  					break
  2452  				}
  2453  			}
  2454  			m.SourceTypePresent = &Header_SourceType{v}
  2455  		case 8:
  2456  			if wireType != 2 {
  2457  				return fmt.Errorf("proto: wrong wireType = %d for field SchemaName", wireType)
  2458  			}
  2459  			var stringLen uint64
  2460  			for shift := uint(0); ; shift += 7 {
  2461  				if shift >= 64 {
  2462  					return ErrIntOverflowEntryProtocol
  2463  				}
  2464  				if iNdEx >= l {
  2465  					return io.ErrUnexpectedEOF
  2466  				}
  2467  				b := dAtA[iNdEx]
  2468  				iNdEx++
  2469  				stringLen |= uint64(b&0x7F) << shift
  2470  				if b < 0x80 {
  2471  					break
  2472  				}
  2473  			}
  2474  			intStringLen := int(stringLen)
  2475  			if intStringLen < 0 {
  2476  				return ErrInvalidLengthEntryProtocol
  2477  			}
  2478  			postIndex := iNdEx + intStringLen
  2479  			if postIndex < 0 {
  2480  				return ErrInvalidLengthEntryProtocol
  2481  			}
  2482  			if postIndex > l {
  2483  				return io.ErrUnexpectedEOF
  2484  			}
  2485  			m.SchemaName = string(dAtA[iNdEx:postIndex])
  2486  			iNdEx = postIndex
  2487  		case 9:
  2488  			if wireType != 2 {
  2489  				return fmt.Errorf("proto: wrong wireType = %d for field TableName", wireType)
  2490  			}
  2491  			var stringLen uint64
  2492  			for shift := uint(0); ; shift += 7 {
  2493  				if shift >= 64 {
  2494  					return ErrIntOverflowEntryProtocol
  2495  				}
  2496  				if iNdEx >= l {
  2497  					return io.ErrUnexpectedEOF
  2498  				}
  2499  				b := dAtA[iNdEx]
  2500  				iNdEx++
  2501  				stringLen |= uint64(b&0x7F) << shift
  2502  				if b < 0x80 {
  2503  					break
  2504  				}
  2505  			}
  2506  			intStringLen := int(stringLen)
  2507  			if intStringLen < 0 {
  2508  				return ErrInvalidLengthEntryProtocol
  2509  			}
  2510  			postIndex := iNdEx + intStringLen
  2511  			if postIndex < 0 {
  2512  				return ErrInvalidLengthEntryProtocol
  2513  			}
  2514  			if postIndex > l {
  2515  				return io.ErrUnexpectedEOF
  2516  			}
  2517  			m.TableName = string(dAtA[iNdEx:postIndex])
  2518  			iNdEx = postIndex
  2519  		case 10:
  2520  			if wireType != 0 {
  2521  				return fmt.Errorf("proto: wrong wireType = %d for field EventLength", wireType)
  2522  			}
  2523  			m.EventLength = 0
  2524  			for shift := uint(0); ; shift += 7 {
  2525  				if shift >= 64 {
  2526  					return ErrIntOverflowEntryProtocol
  2527  				}
  2528  				if iNdEx >= l {
  2529  					return io.ErrUnexpectedEOF
  2530  				}
  2531  				b := dAtA[iNdEx]
  2532  				iNdEx++
  2533  				m.EventLength |= int64(b&0x7F) << shift
  2534  				if b < 0x80 {
  2535  					break
  2536  				}
  2537  			}
  2538  		case 11:
  2539  			if wireType != 0 {
  2540  				return fmt.Errorf("proto: wrong wireType = %d for field EventType", wireType)
  2541  			}
  2542  			var v EventType
  2543  			for shift := uint(0); ; shift += 7 {
  2544  				if shift >= 64 {
  2545  					return ErrIntOverflowEntryProtocol
  2546  				}
  2547  				if iNdEx >= l {
  2548  					return io.ErrUnexpectedEOF
  2549  				}
  2550  				b := dAtA[iNdEx]
  2551  				iNdEx++
  2552  				v |= EventType(b&0x7F) << shift
  2553  				if b < 0x80 {
  2554  					break
  2555  				}
  2556  			}
  2557  			m.EventTypePresent = &Header_EventType{v}
  2558  		case 12:
  2559  			if wireType != 2 {
  2560  				return fmt.Errorf("proto: wrong wireType = %d for field Props", wireType)
  2561  			}
  2562  			var msglen int
  2563  			for shift := uint(0); ; shift += 7 {
  2564  				if shift >= 64 {
  2565  					return ErrIntOverflowEntryProtocol
  2566  				}
  2567  				if iNdEx >= l {
  2568  					return io.ErrUnexpectedEOF
  2569  				}
  2570  				b := dAtA[iNdEx]
  2571  				iNdEx++
  2572  				msglen |= int(b&0x7F) << shift
  2573  				if b < 0x80 {
  2574  					break
  2575  				}
  2576  			}
  2577  			if msglen < 0 {
  2578  				return ErrInvalidLengthEntryProtocol
  2579  			}
  2580  			postIndex := iNdEx + msglen
  2581  			if postIndex < 0 {
  2582  				return ErrInvalidLengthEntryProtocol
  2583  			}
  2584  			if postIndex > l {
  2585  				return io.ErrUnexpectedEOF
  2586  			}
  2587  			m.Props = append(m.Props, &Pair{})
  2588  			if err := m.Props[len(m.Props)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2589  				return err
  2590  			}
  2591  			iNdEx = postIndex
  2592  		case 13:
  2593  			if wireType != 2 {
  2594  				return fmt.Errorf("proto: wrong wireType = %d for field Gtid", wireType)
  2595  			}
  2596  			var stringLen uint64
  2597  			for shift := uint(0); ; shift += 7 {
  2598  				if shift >= 64 {
  2599  					return ErrIntOverflowEntryProtocol
  2600  				}
  2601  				if iNdEx >= l {
  2602  					return io.ErrUnexpectedEOF
  2603  				}
  2604  				b := dAtA[iNdEx]
  2605  				iNdEx++
  2606  				stringLen |= uint64(b&0x7F) << shift
  2607  				if b < 0x80 {
  2608  					break
  2609  				}
  2610  			}
  2611  			intStringLen := int(stringLen)
  2612  			if intStringLen < 0 {
  2613  				return ErrInvalidLengthEntryProtocol
  2614  			}
  2615  			postIndex := iNdEx + intStringLen
  2616  			if postIndex < 0 {
  2617  				return ErrInvalidLengthEntryProtocol
  2618  			}
  2619  			if postIndex > l {
  2620  				return io.ErrUnexpectedEOF
  2621  			}
  2622  			m.Gtid = string(dAtA[iNdEx:postIndex])
  2623  			iNdEx = postIndex
  2624  		default:
  2625  			iNdEx = preIndex
  2626  			skippy, err := skipEntryProtocol(dAtA[iNdEx:])
  2627  			if err != nil {
  2628  				return err
  2629  			}
  2630  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2631  				return ErrInvalidLengthEntryProtocol
  2632  			}
  2633  			if (iNdEx + skippy) > l {
  2634  				return io.ErrUnexpectedEOF
  2635  			}
  2636  			iNdEx += skippy
  2637  		}
  2638  	}
  2639  
  2640  	if iNdEx > l {
  2641  		return io.ErrUnexpectedEOF
  2642  	}
  2643  	return nil
  2644  }
  2645  func (m *Column) Unmarshal(dAtA []byte) error {
  2646  	l := len(dAtA)
  2647  	iNdEx := 0
  2648  	for iNdEx < l {
  2649  		preIndex := iNdEx
  2650  		var wire uint64
  2651  		for shift := uint(0); ; shift += 7 {
  2652  			if shift >= 64 {
  2653  				return ErrIntOverflowEntryProtocol
  2654  			}
  2655  			if iNdEx >= l {
  2656  				return io.ErrUnexpectedEOF
  2657  			}
  2658  			b := dAtA[iNdEx]
  2659  			iNdEx++
  2660  			wire |= uint64(b&0x7F) << shift
  2661  			if b < 0x80 {
  2662  				break
  2663  			}
  2664  		}
  2665  		fieldNum := int32(wire >> 3)
  2666  		wireType := int(wire & 0x7)
  2667  		if wireType == 4 {
  2668  			return fmt.Errorf("proto: Column: wiretype end group for non-group")
  2669  		}
  2670  		if fieldNum <= 0 {
  2671  			return fmt.Errorf("proto: Column: illegal tag %d (wire type %d)", fieldNum, wire)
  2672  		}
  2673  		switch fieldNum {
  2674  		case 1:
  2675  			if wireType != 0 {
  2676  				return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
  2677  			}
  2678  			m.Index = 0
  2679  			for shift := uint(0); ; shift += 7 {
  2680  				if shift >= 64 {
  2681  					return ErrIntOverflowEntryProtocol
  2682  				}
  2683  				if iNdEx >= l {
  2684  					return io.ErrUnexpectedEOF
  2685  				}
  2686  				b := dAtA[iNdEx]
  2687  				iNdEx++
  2688  				m.Index |= int32(b&0x7F) << shift
  2689  				if b < 0x80 {
  2690  					break
  2691  				}
  2692  			}
  2693  		case 2:
  2694  			if wireType != 0 {
  2695  				return fmt.Errorf("proto: wrong wireType = %d for field SqlType", wireType)
  2696  			}
  2697  			m.SqlType = 0
  2698  			for shift := uint(0); ; shift += 7 {
  2699  				if shift >= 64 {
  2700  					return ErrIntOverflowEntryProtocol
  2701  				}
  2702  				if iNdEx >= l {
  2703  					return io.ErrUnexpectedEOF
  2704  				}
  2705  				b := dAtA[iNdEx]
  2706  				iNdEx++
  2707  				m.SqlType |= int32(b&0x7F) << shift
  2708  				if b < 0x80 {
  2709  					break
  2710  				}
  2711  			}
  2712  		case 3:
  2713  			if wireType != 2 {
  2714  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2715  			}
  2716  			var stringLen uint64
  2717  			for shift := uint(0); ; shift += 7 {
  2718  				if shift >= 64 {
  2719  					return ErrIntOverflowEntryProtocol
  2720  				}
  2721  				if iNdEx >= l {
  2722  					return io.ErrUnexpectedEOF
  2723  				}
  2724  				b := dAtA[iNdEx]
  2725  				iNdEx++
  2726  				stringLen |= uint64(b&0x7F) << shift
  2727  				if b < 0x80 {
  2728  					break
  2729  				}
  2730  			}
  2731  			intStringLen := int(stringLen)
  2732  			if intStringLen < 0 {
  2733  				return ErrInvalidLengthEntryProtocol
  2734  			}
  2735  			postIndex := iNdEx + intStringLen
  2736  			if postIndex < 0 {
  2737  				return ErrInvalidLengthEntryProtocol
  2738  			}
  2739  			if postIndex > l {
  2740  				return io.ErrUnexpectedEOF
  2741  			}
  2742  			m.Name = string(dAtA[iNdEx:postIndex])
  2743  			iNdEx = postIndex
  2744  		case 4:
  2745  			if wireType != 0 {
  2746  				return fmt.Errorf("proto: wrong wireType = %d for field IsKey", wireType)
  2747  			}
  2748  			var v int
  2749  			for shift := uint(0); ; shift += 7 {
  2750  				if shift >= 64 {
  2751  					return ErrIntOverflowEntryProtocol
  2752  				}
  2753  				if iNdEx >= l {
  2754  					return io.ErrUnexpectedEOF
  2755  				}
  2756  				b := dAtA[iNdEx]
  2757  				iNdEx++
  2758  				v |= int(b&0x7F) << shift
  2759  				if b < 0x80 {
  2760  					break
  2761  				}
  2762  			}
  2763  			m.IsKey = bool(v != 0)
  2764  		case 5:
  2765  			if wireType != 0 {
  2766  				return fmt.Errorf("proto: wrong wireType = %d for field Updated", wireType)
  2767  			}
  2768  			var v int
  2769  			for shift := uint(0); ; shift += 7 {
  2770  				if shift >= 64 {
  2771  					return ErrIntOverflowEntryProtocol
  2772  				}
  2773  				if iNdEx >= l {
  2774  					return io.ErrUnexpectedEOF
  2775  				}
  2776  				b := dAtA[iNdEx]
  2777  				iNdEx++
  2778  				v |= int(b&0x7F) << shift
  2779  				if b < 0x80 {
  2780  					break
  2781  				}
  2782  			}
  2783  			m.Updated = bool(v != 0)
  2784  		case 6:
  2785  			if wireType != 0 {
  2786  				return fmt.Errorf("proto: wrong wireType = %d for field IsNull", wireType)
  2787  			}
  2788  			var v int
  2789  			for shift := uint(0); ; shift += 7 {
  2790  				if shift >= 64 {
  2791  					return ErrIntOverflowEntryProtocol
  2792  				}
  2793  				if iNdEx >= l {
  2794  					return io.ErrUnexpectedEOF
  2795  				}
  2796  				b := dAtA[iNdEx]
  2797  				iNdEx++
  2798  				v |= int(b&0x7F) << shift
  2799  				if b < 0x80 {
  2800  					break
  2801  				}
  2802  			}
  2803  			b := bool(v != 0)
  2804  			m.IsNullPresent = &Column_IsNull{b}
  2805  		case 7:
  2806  			if wireType != 2 {
  2807  				return fmt.Errorf("proto: wrong wireType = %d for field Props", wireType)
  2808  			}
  2809  			var msglen int
  2810  			for shift := uint(0); ; shift += 7 {
  2811  				if shift >= 64 {
  2812  					return ErrIntOverflowEntryProtocol
  2813  				}
  2814  				if iNdEx >= l {
  2815  					return io.ErrUnexpectedEOF
  2816  				}
  2817  				b := dAtA[iNdEx]
  2818  				iNdEx++
  2819  				msglen |= int(b&0x7F) << shift
  2820  				if b < 0x80 {
  2821  					break
  2822  				}
  2823  			}
  2824  			if msglen < 0 {
  2825  				return ErrInvalidLengthEntryProtocol
  2826  			}
  2827  			postIndex := iNdEx + msglen
  2828  			if postIndex < 0 {
  2829  				return ErrInvalidLengthEntryProtocol
  2830  			}
  2831  			if postIndex > l {
  2832  				return io.ErrUnexpectedEOF
  2833  			}
  2834  			m.Props = append(m.Props, &Pair{})
  2835  			if err := m.Props[len(m.Props)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2836  				return err
  2837  			}
  2838  			iNdEx = postIndex
  2839  		case 8:
  2840  			if wireType != 2 {
  2841  				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  2842  			}
  2843  			var stringLen uint64
  2844  			for shift := uint(0); ; shift += 7 {
  2845  				if shift >= 64 {
  2846  					return ErrIntOverflowEntryProtocol
  2847  				}
  2848  				if iNdEx >= l {
  2849  					return io.ErrUnexpectedEOF
  2850  				}
  2851  				b := dAtA[iNdEx]
  2852  				iNdEx++
  2853  				stringLen |= uint64(b&0x7F) << shift
  2854  				if b < 0x80 {
  2855  					break
  2856  				}
  2857  			}
  2858  			intStringLen := int(stringLen)
  2859  			if intStringLen < 0 {
  2860  				return ErrInvalidLengthEntryProtocol
  2861  			}
  2862  			postIndex := iNdEx + intStringLen
  2863  			if postIndex < 0 {
  2864  				return ErrInvalidLengthEntryProtocol
  2865  			}
  2866  			if postIndex > l {
  2867  				return io.ErrUnexpectedEOF
  2868  			}
  2869  			m.Value = string(dAtA[iNdEx:postIndex])
  2870  			iNdEx = postIndex
  2871  		case 9:
  2872  			if wireType != 0 {
  2873  				return fmt.Errorf("proto: wrong wireType = %d for field Length", wireType)
  2874  			}
  2875  			m.Length = 0
  2876  			for shift := uint(0); ; shift += 7 {
  2877  				if shift >= 64 {
  2878  					return ErrIntOverflowEntryProtocol
  2879  				}
  2880  				if iNdEx >= l {
  2881  					return io.ErrUnexpectedEOF
  2882  				}
  2883  				b := dAtA[iNdEx]
  2884  				iNdEx++
  2885  				m.Length |= int32(b&0x7F) << shift
  2886  				if b < 0x80 {
  2887  					break
  2888  				}
  2889  			}
  2890  		case 10:
  2891  			if wireType != 2 {
  2892  				return fmt.Errorf("proto: wrong wireType = %d for field MysqlType", wireType)
  2893  			}
  2894  			var stringLen uint64
  2895  			for shift := uint(0); ; shift += 7 {
  2896  				if shift >= 64 {
  2897  					return ErrIntOverflowEntryProtocol
  2898  				}
  2899  				if iNdEx >= l {
  2900  					return io.ErrUnexpectedEOF
  2901  				}
  2902  				b := dAtA[iNdEx]
  2903  				iNdEx++
  2904  				stringLen |= uint64(b&0x7F) << shift
  2905  				if b < 0x80 {
  2906  					break
  2907  				}
  2908  			}
  2909  			intStringLen := int(stringLen)
  2910  			if intStringLen < 0 {
  2911  				return ErrInvalidLengthEntryProtocol
  2912  			}
  2913  			postIndex := iNdEx + intStringLen
  2914  			if postIndex < 0 {
  2915  				return ErrInvalidLengthEntryProtocol
  2916  			}
  2917  			if postIndex > l {
  2918  				return io.ErrUnexpectedEOF
  2919  			}
  2920  			m.MysqlType = string(dAtA[iNdEx:postIndex])
  2921  			iNdEx = postIndex
  2922  		default:
  2923  			iNdEx = preIndex
  2924  			skippy, err := skipEntryProtocol(dAtA[iNdEx:])
  2925  			if err != nil {
  2926  				return err
  2927  			}
  2928  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2929  				return ErrInvalidLengthEntryProtocol
  2930  			}
  2931  			if (iNdEx + skippy) > l {
  2932  				return io.ErrUnexpectedEOF
  2933  			}
  2934  			iNdEx += skippy
  2935  		}
  2936  	}
  2937  
  2938  	if iNdEx > l {
  2939  		return io.ErrUnexpectedEOF
  2940  	}
  2941  	return nil
  2942  }
  2943  func (m *RowData) Unmarshal(dAtA []byte) error {
  2944  	l := len(dAtA)
  2945  	iNdEx := 0
  2946  	for iNdEx < l {
  2947  		preIndex := iNdEx
  2948  		var wire uint64
  2949  		for shift := uint(0); ; shift += 7 {
  2950  			if shift >= 64 {
  2951  				return ErrIntOverflowEntryProtocol
  2952  			}
  2953  			if iNdEx >= l {
  2954  				return io.ErrUnexpectedEOF
  2955  			}
  2956  			b := dAtA[iNdEx]
  2957  			iNdEx++
  2958  			wire |= uint64(b&0x7F) << shift
  2959  			if b < 0x80 {
  2960  				break
  2961  			}
  2962  		}
  2963  		fieldNum := int32(wire >> 3)
  2964  		wireType := int(wire & 0x7)
  2965  		if wireType == 4 {
  2966  			return fmt.Errorf("proto: RowData: wiretype end group for non-group")
  2967  		}
  2968  		if fieldNum <= 0 {
  2969  			return fmt.Errorf("proto: RowData: illegal tag %d (wire type %d)", fieldNum, wire)
  2970  		}
  2971  		switch fieldNum {
  2972  		case 1:
  2973  			if wireType != 2 {
  2974  				return fmt.Errorf("proto: wrong wireType = %d for field BeforeColumns", wireType)
  2975  			}
  2976  			var msglen int
  2977  			for shift := uint(0); ; shift += 7 {
  2978  				if shift >= 64 {
  2979  					return ErrIntOverflowEntryProtocol
  2980  				}
  2981  				if iNdEx >= l {
  2982  					return io.ErrUnexpectedEOF
  2983  				}
  2984  				b := dAtA[iNdEx]
  2985  				iNdEx++
  2986  				msglen |= int(b&0x7F) << shift
  2987  				if b < 0x80 {
  2988  					break
  2989  				}
  2990  			}
  2991  			if msglen < 0 {
  2992  				return ErrInvalidLengthEntryProtocol
  2993  			}
  2994  			postIndex := iNdEx + msglen
  2995  			if postIndex < 0 {
  2996  				return ErrInvalidLengthEntryProtocol
  2997  			}
  2998  			if postIndex > l {
  2999  				return io.ErrUnexpectedEOF
  3000  			}
  3001  			m.BeforeColumns = append(m.BeforeColumns, &Column{})
  3002  			if err := m.BeforeColumns[len(m.BeforeColumns)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3003  				return err
  3004  			}
  3005  			iNdEx = postIndex
  3006  		case 2:
  3007  			if wireType != 2 {
  3008  				return fmt.Errorf("proto: wrong wireType = %d for field AfterColumns", wireType)
  3009  			}
  3010  			var msglen int
  3011  			for shift := uint(0); ; shift += 7 {
  3012  				if shift >= 64 {
  3013  					return ErrIntOverflowEntryProtocol
  3014  				}
  3015  				if iNdEx >= l {
  3016  					return io.ErrUnexpectedEOF
  3017  				}
  3018  				b := dAtA[iNdEx]
  3019  				iNdEx++
  3020  				msglen |= int(b&0x7F) << shift
  3021  				if b < 0x80 {
  3022  					break
  3023  				}
  3024  			}
  3025  			if msglen < 0 {
  3026  				return ErrInvalidLengthEntryProtocol
  3027  			}
  3028  			postIndex := iNdEx + msglen
  3029  			if postIndex < 0 {
  3030  				return ErrInvalidLengthEntryProtocol
  3031  			}
  3032  			if postIndex > l {
  3033  				return io.ErrUnexpectedEOF
  3034  			}
  3035  			m.AfterColumns = append(m.AfterColumns, &Column{})
  3036  			if err := m.AfterColumns[len(m.AfterColumns)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3037  				return err
  3038  			}
  3039  			iNdEx = postIndex
  3040  		case 3:
  3041  			if wireType != 2 {
  3042  				return fmt.Errorf("proto: wrong wireType = %d for field Props", wireType)
  3043  			}
  3044  			var msglen int
  3045  			for shift := uint(0); ; shift += 7 {
  3046  				if shift >= 64 {
  3047  					return ErrIntOverflowEntryProtocol
  3048  				}
  3049  				if iNdEx >= l {
  3050  					return io.ErrUnexpectedEOF
  3051  				}
  3052  				b := dAtA[iNdEx]
  3053  				iNdEx++
  3054  				msglen |= int(b&0x7F) << shift
  3055  				if b < 0x80 {
  3056  					break
  3057  				}
  3058  			}
  3059  			if msglen < 0 {
  3060  				return ErrInvalidLengthEntryProtocol
  3061  			}
  3062  			postIndex := iNdEx + msglen
  3063  			if postIndex < 0 {
  3064  				return ErrInvalidLengthEntryProtocol
  3065  			}
  3066  			if postIndex > l {
  3067  				return io.ErrUnexpectedEOF
  3068  			}
  3069  			m.Props = append(m.Props, &Pair{})
  3070  			if err := m.Props[len(m.Props)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3071  				return err
  3072  			}
  3073  			iNdEx = postIndex
  3074  		default:
  3075  			iNdEx = preIndex
  3076  			skippy, err := skipEntryProtocol(dAtA[iNdEx:])
  3077  			if err != nil {
  3078  				return err
  3079  			}
  3080  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3081  				return ErrInvalidLengthEntryProtocol
  3082  			}
  3083  			if (iNdEx + skippy) > l {
  3084  				return io.ErrUnexpectedEOF
  3085  			}
  3086  			iNdEx += skippy
  3087  		}
  3088  	}
  3089  
  3090  	if iNdEx > l {
  3091  		return io.ErrUnexpectedEOF
  3092  	}
  3093  	return nil
  3094  }
  3095  func (m *RowChange) Unmarshal(dAtA []byte) error {
  3096  	l := len(dAtA)
  3097  	iNdEx := 0
  3098  	for iNdEx < l {
  3099  		preIndex := iNdEx
  3100  		var wire uint64
  3101  		for shift := uint(0); ; shift += 7 {
  3102  			if shift >= 64 {
  3103  				return ErrIntOverflowEntryProtocol
  3104  			}
  3105  			if iNdEx >= l {
  3106  				return io.ErrUnexpectedEOF
  3107  			}
  3108  			b := dAtA[iNdEx]
  3109  			iNdEx++
  3110  			wire |= uint64(b&0x7F) << shift
  3111  			if b < 0x80 {
  3112  				break
  3113  			}
  3114  		}
  3115  		fieldNum := int32(wire >> 3)
  3116  		wireType := int(wire & 0x7)
  3117  		if wireType == 4 {
  3118  			return fmt.Errorf("proto: RowChange: wiretype end group for non-group")
  3119  		}
  3120  		if fieldNum <= 0 {
  3121  			return fmt.Errorf("proto: RowChange: illegal tag %d (wire type %d)", fieldNum, wire)
  3122  		}
  3123  		switch fieldNum {
  3124  		case 1:
  3125  			if wireType != 0 {
  3126  				return fmt.Errorf("proto: wrong wireType = %d for field TableId", wireType)
  3127  			}
  3128  			m.TableId = 0
  3129  			for shift := uint(0); ; shift += 7 {
  3130  				if shift >= 64 {
  3131  					return ErrIntOverflowEntryProtocol
  3132  				}
  3133  				if iNdEx >= l {
  3134  					return io.ErrUnexpectedEOF
  3135  				}
  3136  				b := dAtA[iNdEx]
  3137  				iNdEx++
  3138  				m.TableId |= int64(b&0x7F) << shift
  3139  				if b < 0x80 {
  3140  					break
  3141  				}
  3142  			}
  3143  		case 2:
  3144  			if wireType != 0 {
  3145  				return fmt.Errorf("proto: wrong wireType = %d for field EventType", wireType)
  3146  			}
  3147  			var v EventType
  3148  			for shift := uint(0); ; shift += 7 {
  3149  				if shift >= 64 {
  3150  					return ErrIntOverflowEntryProtocol
  3151  				}
  3152  				if iNdEx >= l {
  3153  					return io.ErrUnexpectedEOF
  3154  				}
  3155  				b := dAtA[iNdEx]
  3156  				iNdEx++
  3157  				v |= EventType(b&0x7F) << shift
  3158  				if b < 0x80 {
  3159  					break
  3160  				}
  3161  			}
  3162  			m.EventTypePresent = &RowChange_EventType{v}
  3163  		case 10:
  3164  			if wireType != 0 {
  3165  				return fmt.Errorf("proto: wrong wireType = %d for field IsDdl", wireType)
  3166  			}
  3167  			var v int
  3168  			for shift := uint(0); ; shift += 7 {
  3169  				if shift >= 64 {
  3170  					return ErrIntOverflowEntryProtocol
  3171  				}
  3172  				if iNdEx >= l {
  3173  					return io.ErrUnexpectedEOF
  3174  				}
  3175  				b := dAtA[iNdEx]
  3176  				iNdEx++
  3177  				v |= int(b&0x7F) << shift
  3178  				if b < 0x80 {
  3179  					break
  3180  				}
  3181  			}
  3182  			b := bool(v != 0)
  3183  			m.IsDdlPresent = &RowChange_IsDdl{b}
  3184  		case 11:
  3185  			if wireType != 2 {
  3186  				return fmt.Errorf("proto: wrong wireType = %d for field Sql", wireType)
  3187  			}
  3188  			var stringLen uint64
  3189  			for shift := uint(0); ; shift += 7 {
  3190  				if shift >= 64 {
  3191  					return ErrIntOverflowEntryProtocol
  3192  				}
  3193  				if iNdEx >= l {
  3194  					return io.ErrUnexpectedEOF
  3195  				}
  3196  				b := dAtA[iNdEx]
  3197  				iNdEx++
  3198  				stringLen |= uint64(b&0x7F) << shift
  3199  				if b < 0x80 {
  3200  					break
  3201  				}
  3202  			}
  3203  			intStringLen := int(stringLen)
  3204  			if intStringLen < 0 {
  3205  				return ErrInvalidLengthEntryProtocol
  3206  			}
  3207  			postIndex := iNdEx + intStringLen
  3208  			if postIndex < 0 {
  3209  				return ErrInvalidLengthEntryProtocol
  3210  			}
  3211  			if postIndex > l {
  3212  				return io.ErrUnexpectedEOF
  3213  			}
  3214  			m.Sql = string(dAtA[iNdEx:postIndex])
  3215  			iNdEx = postIndex
  3216  		case 12:
  3217  			if wireType != 2 {
  3218  				return fmt.Errorf("proto: wrong wireType = %d for field RowDatas", wireType)
  3219  			}
  3220  			var msglen int
  3221  			for shift := uint(0); ; shift += 7 {
  3222  				if shift >= 64 {
  3223  					return ErrIntOverflowEntryProtocol
  3224  				}
  3225  				if iNdEx >= l {
  3226  					return io.ErrUnexpectedEOF
  3227  				}
  3228  				b := dAtA[iNdEx]
  3229  				iNdEx++
  3230  				msglen |= int(b&0x7F) << shift
  3231  				if b < 0x80 {
  3232  					break
  3233  				}
  3234  			}
  3235  			if msglen < 0 {
  3236  				return ErrInvalidLengthEntryProtocol
  3237  			}
  3238  			postIndex := iNdEx + msglen
  3239  			if postIndex < 0 {
  3240  				return ErrInvalidLengthEntryProtocol
  3241  			}
  3242  			if postIndex > l {
  3243  				return io.ErrUnexpectedEOF
  3244  			}
  3245  			m.RowDatas = append(m.RowDatas, &RowData{})
  3246  			if err := m.RowDatas[len(m.RowDatas)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3247  				return err
  3248  			}
  3249  			iNdEx = postIndex
  3250  		case 13:
  3251  			if wireType != 2 {
  3252  				return fmt.Errorf("proto: wrong wireType = %d for field Props", wireType)
  3253  			}
  3254  			var msglen int
  3255  			for shift := uint(0); ; shift += 7 {
  3256  				if shift >= 64 {
  3257  					return ErrIntOverflowEntryProtocol
  3258  				}
  3259  				if iNdEx >= l {
  3260  					return io.ErrUnexpectedEOF
  3261  				}
  3262  				b := dAtA[iNdEx]
  3263  				iNdEx++
  3264  				msglen |= int(b&0x7F) << shift
  3265  				if b < 0x80 {
  3266  					break
  3267  				}
  3268  			}
  3269  			if msglen < 0 {
  3270  				return ErrInvalidLengthEntryProtocol
  3271  			}
  3272  			postIndex := iNdEx + msglen
  3273  			if postIndex < 0 {
  3274  				return ErrInvalidLengthEntryProtocol
  3275  			}
  3276  			if postIndex > l {
  3277  				return io.ErrUnexpectedEOF
  3278  			}
  3279  			m.Props = append(m.Props, &Pair{})
  3280  			if err := m.Props[len(m.Props)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3281  				return err
  3282  			}
  3283  			iNdEx = postIndex
  3284  		case 14:
  3285  			if wireType != 2 {
  3286  				return fmt.Errorf("proto: wrong wireType = %d for field DdlSchemaName", wireType)
  3287  			}
  3288  			var stringLen uint64
  3289  			for shift := uint(0); ; shift += 7 {
  3290  				if shift >= 64 {
  3291  					return ErrIntOverflowEntryProtocol
  3292  				}
  3293  				if iNdEx >= l {
  3294  					return io.ErrUnexpectedEOF
  3295  				}
  3296  				b := dAtA[iNdEx]
  3297  				iNdEx++
  3298  				stringLen |= uint64(b&0x7F) << shift
  3299  				if b < 0x80 {
  3300  					break
  3301  				}
  3302  			}
  3303  			intStringLen := int(stringLen)
  3304  			if intStringLen < 0 {
  3305  				return ErrInvalidLengthEntryProtocol
  3306  			}
  3307  			postIndex := iNdEx + intStringLen
  3308  			if postIndex < 0 {
  3309  				return ErrInvalidLengthEntryProtocol
  3310  			}
  3311  			if postIndex > l {
  3312  				return io.ErrUnexpectedEOF
  3313  			}
  3314  			m.DdlSchemaName = string(dAtA[iNdEx:postIndex])
  3315  			iNdEx = postIndex
  3316  		default:
  3317  			iNdEx = preIndex
  3318  			skippy, err := skipEntryProtocol(dAtA[iNdEx:])
  3319  			if err != nil {
  3320  				return err
  3321  			}
  3322  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3323  				return ErrInvalidLengthEntryProtocol
  3324  			}
  3325  			if (iNdEx + skippy) > l {
  3326  				return io.ErrUnexpectedEOF
  3327  			}
  3328  			iNdEx += skippy
  3329  		}
  3330  	}
  3331  
  3332  	if iNdEx > l {
  3333  		return io.ErrUnexpectedEOF
  3334  	}
  3335  	return nil
  3336  }
  3337  func (m *TransactionBegin) Unmarshal(dAtA []byte) error {
  3338  	l := len(dAtA)
  3339  	iNdEx := 0
  3340  	for iNdEx < l {
  3341  		preIndex := iNdEx
  3342  		var wire uint64
  3343  		for shift := uint(0); ; shift += 7 {
  3344  			if shift >= 64 {
  3345  				return ErrIntOverflowEntryProtocol
  3346  			}
  3347  			if iNdEx >= l {
  3348  				return io.ErrUnexpectedEOF
  3349  			}
  3350  			b := dAtA[iNdEx]
  3351  			iNdEx++
  3352  			wire |= uint64(b&0x7F) << shift
  3353  			if b < 0x80 {
  3354  				break
  3355  			}
  3356  		}
  3357  		fieldNum := int32(wire >> 3)
  3358  		wireType := int(wire & 0x7)
  3359  		if wireType == 4 {
  3360  			return fmt.Errorf("proto: TransactionBegin: wiretype end group for non-group")
  3361  		}
  3362  		if fieldNum <= 0 {
  3363  			return fmt.Errorf("proto: TransactionBegin: illegal tag %d (wire type %d)", fieldNum, wire)
  3364  		}
  3365  		switch fieldNum {
  3366  		case 1:
  3367  			if wireType != 0 {
  3368  				return fmt.Errorf("proto: wrong wireType = %d for field ExecuteTime", wireType)
  3369  			}
  3370  			m.ExecuteTime = 0
  3371  			for shift := uint(0); ; shift += 7 {
  3372  				if shift >= 64 {
  3373  					return ErrIntOverflowEntryProtocol
  3374  				}
  3375  				if iNdEx >= l {
  3376  					return io.ErrUnexpectedEOF
  3377  				}
  3378  				b := dAtA[iNdEx]
  3379  				iNdEx++
  3380  				m.ExecuteTime |= int64(b&0x7F) << shift
  3381  				if b < 0x80 {
  3382  					break
  3383  				}
  3384  			}
  3385  		case 2:
  3386  			if wireType != 2 {
  3387  				return fmt.Errorf("proto: wrong wireType = %d for field TransactionId", wireType)
  3388  			}
  3389  			var stringLen uint64
  3390  			for shift := uint(0); ; shift += 7 {
  3391  				if shift >= 64 {
  3392  					return ErrIntOverflowEntryProtocol
  3393  				}
  3394  				if iNdEx >= l {
  3395  					return io.ErrUnexpectedEOF
  3396  				}
  3397  				b := dAtA[iNdEx]
  3398  				iNdEx++
  3399  				stringLen |= uint64(b&0x7F) << shift
  3400  				if b < 0x80 {
  3401  					break
  3402  				}
  3403  			}
  3404  			intStringLen := int(stringLen)
  3405  			if intStringLen < 0 {
  3406  				return ErrInvalidLengthEntryProtocol
  3407  			}
  3408  			postIndex := iNdEx + intStringLen
  3409  			if postIndex < 0 {
  3410  				return ErrInvalidLengthEntryProtocol
  3411  			}
  3412  			if postIndex > l {
  3413  				return io.ErrUnexpectedEOF
  3414  			}
  3415  			m.TransactionId = string(dAtA[iNdEx:postIndex])
  3416  			iNdEx = postIndex
  3417  		case 3:
  3418  			if wireType != 2 {
  3419  				return fmt.Errorf("proto: wrong wireType = %d for field Props", wireType)
  3420  			}
  3421  			var msglen int
  3422  			for shift := uint(0); ; shift += 7 {
  3423  				if shift >= 64 {
  3424  					return ErrIntOverflowEntryProtocol
  3425  				}
  3426  				if iNdEx >= l {
  3427  					return io.ErrUnexpectedEOF
  3428  				}
  3429  				b := dAtA[iNdEx]
  3430  				iNdEx++
  3431  				msglen |= int(b&0x7F) << shift
  3432  				if b < 0x80 {
  3433  					break
  3434  				}
  3435  			}
  3436  			if msglen < 0 {
  3437  				return ErrInvalidLengthEntryProtocol
  3438  			}
  3439  			postIndex := iNdEx + msglen
  3440  			if postIndex < 0 {
  3441  				return ErrInvalidLengthEntryProtocol
  3442  			}
  3443  			if postIndex > l {
  3444  				return io.ErrUnexpectedEOF
  3445  			}
  3446  			m.Props = append(m.Props, &Pair{})
  3447  			if err := m.Props[len(m.Props)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3448  				return err
  3449  			}
  3450  			iNdEx = postIndex
  3451  		case 4:
  3452  			if wireType != 0 {
  3453  				return fmt.Errorf("proto: wrong wireType = %d for field ThreadId", wireType)
  3454  			}
  3455  			m.ThreadId = 0
  3456  			for shift := uint(0); ; shift += 7 {
  3457  				if shift >= 64 {
  3458  					return ErrIntOverflowEntryProtocol
  3459  				}
  3460  				if iNdEx >= l {
  3461  					return io.ErrUnexpectedEOF
  3462  				}
  3463  				b := dAtA[iNdEx]
  3464  				iNdEx++
  3465  				m.ThreadId |= int64(b&0x7F) << shift
  3466  				if b < 0x80 {
  3467  					break
  3468  				}
  3469  			}
  3470  		default:
  3471  			iNdEx = preIndex
  3472  			skippy, err := skipEntryProtocol(dAtA[iNdEx:])
  3473  			if err != nil {
  3474  				return err
  3475  			}
  3476  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3477  				return ErrInvalidLengthEntryProtocol
  3478  			}
  3479  			if (iNdEx + skippy) > l {
  3480  				return io.ErrUnexpectedEOF
  3481  			}
  3482  			iNdEx += skippy
  3483  		}
  3484  	}
  3485  
  3486  	if iNdEx > l {
  3487  		return io.ErrUnexpectedEOF
  3488  	}
  3489  	return nil
  3490  }
  3491  func (m *TransactionEnd) Unmarshal(dAtA []byte) error {
  3492  	l := len(dAtA)
  3493  	iNdEx := 0
  3494  	for iNdEx < l {
  3495  		preIndex := iNdEx
  3496  		var wire uint64
  3497  		for shift := uint(0); ; shift += 7 {
  3498  			if shift >= 64 {
  3499  				return ErrIntOverflowEntryProtocol
  3500  			}
  3501  			if iNdEx >= l {
  3502  				return io.ErrUnexpectedEOF
  3503  			}
  3504  			b := dAtA[iNdEx]
  3505  			iNdEx++
  3506  			wire |= uint64(b&0x7F) << shift
  3507  			if b < 0x80 {
  3508  				break
  3509  			}
  3510  		}
  3511  		fieldNum := int32(wire >> 3)
  3512  		wireType := int(wire & 0x7)
  3513  		if wireType == 4 {
  3514  			return fmt.Errorf("proto: TransactionEnd: wiretype end group for non-group")
  3515  		}
  3516  		if fieldNum <= 0 {
  3517  			return fmt.Errorf("proto: TransactionEnd: illegal tag %d (wire type %d)", fieldNum, wire)
  3518  		}
  3519  		switch fieldNum {
  3520  		case 1:
  3521  			if wireType != 0 {
  3522  				return fmt.Errorf("proto: wrong wireType = %d for field ExecuteTime", wireType)
  3523  			}
  3524  			m.ExecuteTime = 0
  3525  			for shift := uint(0); ; shift += 7 {
  3526  				if shift >= 64 {
  3527  					return ErrIntOverflowEntryProtocol
  3528  				}
  3529  				if iNdEx >= l {
  3530  					return io.ErrUnexpectedEOF
  3531  				}
  3532  				b := dAtA[iNdEx]
  3533  				iNdEx++
  3534  				m.ExecuteTime |= int64(b&0x7F) << shift
  3535  				if b < 0x80 {
  3536  					break
  3537  				}
  3538  			}
  3539  		case 2:
  3540  			if wireType != 2 {
  3541  				return fmt.Errorf("proto: wrong wireType = %d for field TransactionId", wireType)
  3542  			}
  3543  			var stringLen uint64
  3544  			for shift := uint(0); ; shift += 7 {
  3545  				if shift >= 64 {
  3546  					return ErrIntOverflowEntryProtocol
  3547  				}
  3548  				if iNdEx >= l {
  3549  					return io.ErrUnexpectedEOF
  3550  				}
  3551  				b := dAtA[iNdEx]
  3552  				iNdEx++
  3553  				stringLen |= uint64(b&0x7F) << shift
  3554  				if b < 0x80 {
  3555  					break
  3556  				}
  3557  			}
  3558  			intStringLen := int(stringLen)
  3559  			if intStringLen < 0 {
  3560  				return ErrInvalidLengthEntryProtocol
  3561  			}
  3562  			postIndex := iNdEx + intStringLen
  3563  			if postIndex < 0 {
  3564  				return ErrInvalidLengthEntryProtocol
  3565  			}
  3566  			if postIndex > l {
  3567  				return io.ErrUnexpectedEOF
  3568  			}
  3569  			m.TransactionId = string(dAtA[iNdEx:postIndex])
  3570  			iNdEx = postIndex
  3571  		case 3:
  3572  			if wireType != 2 {
  3573  				return fmt.Errorf("proto: wrong wireType = %d for field Props", wireType)
  3574  			}
  3575  			var msglen int
  3576  			for shift := uint(0); ; shift += 7 {
  3577  				if shift >= 64 {
  3578  					return ErrIntOverflowEntryProtocol
  3579  				}
  3580  				if iNdEx >= l {
  3581  					return io.ErrUnexpectedEOF
  3582  				}
  3583  				b := dAtA[iNdEx]
  3584  				iNdEx++
  3585  				msglen |= int(b&0x7F) << shift
  3586  				if b < 0x80 {
  3587  					break
  3588  				}
  3589  			}
  3590  			if msglen < 0 {
  3591  				return ErrInvalidLengthEntryProtocol
  3592  			}
  3593  			postIndex := iNdEx + msglen
  3594  			if postIndex < 0 {
  3595  				return ErrInvalidLengthEntryProtocol
  3596  			}
  3597  			if postIndex > l {
  3598  				return io.ErrUnexpectedEOF
  3599  			}
  3600  			m.Props = append(m.Props, &Pair{})
  3601  			if err := m.Props[len(m.Props)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3602  				return err
  3603  			}
  3604  			iNdEx = postIndex
  3605  		default:
  3606  			iNdEx = preIndex
  3607  			skippy, err := skipEntryProtocol(dAtA[iNdEx:])
  3608  			if err != nil {
  3609  				return err
  3610  			}
  3611  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3612  				return ErrInvalidLengthEntryProtocol
  3613  			}
  3614  			if (iNdEx + skippy) > l {
  3615  				return io.ErrUnexpectedEOF
  3616  			}
  3617  			iNdEx += skippy
  3618  		}
  3619  	}
  3620  
  3621  	if iNdEx > l {
  3622  		return io.ErrUnexpectedEOF
  3623  	}
  3624  	return nil
  3625  }
  3626  func (m *Pair) Unmarshal(dAtA []byte) error {
  3627  	l := len(dAtA)
  3628  	iNdEx := 0
  3629  	for iNdEx < l {
  3630  		preIndex := iNdEx
  3631  		var wire uint64
  3632  		for shift := uint(0); ; shift += 7 {
  3633  			if shift >= 64 {
  3634  				return ErrIntOverflowEntryProtocol
  3635  			}
  3636  			if iNdEx >= l {
  3637  				return io.ErrUnexpectedEOF
  3638  			}
  3639  			b := dAtA[iNdEx]
  3640  			iNdEx++
  3641  			wire |= uint64(b&0x7F) << shift
  3642  			if b < 0x80 {
  3643  				break
  3644  			}
  3645  		}
  3646  		fieldNum := int32(wire >> 3)
  3647  		wireType := int(wire & 0x7)
  3648  		if wireType == 4 {
  3649  			return fmt.Errorf("proto: Pair: wiretype end group for non-group")
  3650  		}
  3651  		if fieldNum <= 0 {
  3652  			return fmt.Errorf("proto: Pair: illegal tag %d (wire type %d)", fieldNum, wire)
  3653  		}
  3654  		switch fieldNum {
  3655  		case 1:
  3656  			if wireType != 2 {
  3657  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  3658  			}
  3659  			var stringLen uint64
  3660  			for shift := uint(0); ; shift += 7 {
  3661  				if shift >= 64 {
  3662  					return ErrIntOverflowEntryProtocol
  3663  				}
  3664  				if iNdEx >= l {
  3665  					return io.ErrUnexpectedEOF
  3666  				}
  3667  				b := dAtA[iNdEx]
  3668  				iNdEx++
  3669  				stringLen |= uint64(b&0x7F) << shift
  3670  				if b < 0x80 {
  3671  					break
  3672  				}
  3673  			}
  3674  			intStringLen := int(stringLen)
  3675  			if intStringLen < 0 {
  3676  				return ErrInvalidLengthEntryProtocol
  3677  			}
  3678  			postIndex := iNdEx + intStringLen
  3679  			if postIndex < 0 {
  3680  				return ErrInvalidLengthEntryProtocol
  3681  			}
  3682  			if postIndex > l {
  3683  				return io.ErrUnexpectedEOF
  3684  			}
  3685  			m.Key = string(dAtA[iNdEx:postIndex])
  3686  			iNdEx = postIndex
  3687  		case 2:
  3688  			if wireType != 2 {
  3689  				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  3690  			}
  3691  			var stringLen uint64
  3692  			for shift := uint(0); ; shift += 7 {
  3693  				if shift >= 64 {
  3694  					return ErrIntOverflowEntryProtocol
  3695  				}
  3696  				if iNdEx >= l {
  3697  					return io.ErrUnexpectedEOF
  3698  				}
  3699  				b := dAtA[iNdEx]
  3700  				iNdEx++
  3701  				stringLen |= uint64(b&0x7F) << shift
  3702  				if b < 0x80 {
  3703  					break
  3704  				}
  3705  			}
  3706  			intStringLen := int(stringLen)
  3707  			if intStringLen < 0 {
  3708  				return ErrInvalidLengthEntryProtocol
  3709  			}
  3710  			postIndex := iNdEx + intStringLen
  3711  			if postIndex < 0 {
  3712  				return ErrInvalidLengthEntryProtocol
  3713  			}
  3714  			if postIndex > l {
  3715  				return io.ErrUnexpectedEOF
  3716  			}
  3717  			m.Value = string(dAtA[iNdEx:postIndex])
  3718  			iNdEx = postIndex
  3719  		default:
  3720  			iNdEx = preIndex
  3721  			skippy, err := skipEntryProtocol(dAtA[iNdEx:])
  3722  			if err != nil {
  3723  				return err
  3724  			}
  3725  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3726  				return ErrInvalidLengthEntryProtocol
  3727  			}
  3728  			if (iNdEx + skippy) > l {
  3729  				return io.ErrUnexpectedEOF
  3730  			}
  3731  			iNdEx += skippy
  3732  		}
  3733  	}
  3734  
  3735  	if iNdEx > l {
  3736  		return io.ErrUnexpectedEOF
  3737  	}
  3738  	return nil
  3739  }
  3740  func skipEntryProtocol(dAtA []byte) (n int, err error) {
  3741  	l := len(dAtA)
  3742  	iNdEx := 0
  3743  	depth := 0
  3744  	for iNdEx < l {
  3745  		var wire uint64
  3746  		for shift := uint(0); ; shift += 7 {
  3747  			if shift >= 64 {
  3748  				return 0, ErrIntOverflowEntryProtocol
  3749  			}
  3750  			if iNdEx >= l {
  3751  				return 0, io.ErrUnexpectedEOF
  3752  			}
  3753  			b := dAtA[iNdEx]
  3754  			iNdEx++
  3755  			wire |= (uint64(b) & 0x7F) << shift
  3756  			if b < 0x80 {
  3757  				break
  3758  			}
  3759  		}
  3760  		wireType := int(wire & 0x7)
  3761  		switch wireType {
  3762  		case 0:
  3763  			for shift := uint(0); ; shift += 7 {
  3764  				if shift >= 64 {
  3765  					return 0, ErrIntOverflowEntryProtocol
  3766  				}
  3767  				if iNdEx >= l {
  3768  					return 0, io.ErrUnexpectedEOF
  3769  				}
  3770  				iNdEx++
  3771  				if dAtA[iNdEx-1] < 0x80 {
  3772  					break
  3773  				}
  3774  			}
  3775  		case 1:
  3776  			iNdEx += 8
  3777  		case 2:
  3778  			var length int
  3779  			for shift := uint(0); ; shift += 7 {
  3780  				if shift >= 64 {
  3781  					return 0, ErrIntOverflowEntryProtocol
  3782  				}
  3783  				if iNdEx >= l {
  3784  					return 0, io.ErrUnexpectedEOF
  3785  				}
  3786  				b := dAtA[iNdEx]
  3787  				iNdEx++
  3788  				length |= (int(b) & 0x7F) << shift
  3789  				if b < 0x80 {
  3790  					break
  3791  				}
  3792  			}
  3793  			if length < 0 {
  3794  				return 0, ErrInvalidLengthEntryProtocol
  3795  			}
  3796  			iNdEx += length
  3797  		case 3:
  3798  			depth++
  3799  		case 4:
  3800  			if depth == 0 {
  3801  				return 0, ErrUnexpectedEndOfGroupEntryProtocol
  3802  			}
  3803  			depth--
  3804  		case 5:
  3805  			iNdEx += 4
  3806  		default:
  3807  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  3808  		}
  3809  		if iNdEx < 0 {
  3810  			return 0, ErrInvalidLengthEntryProtocol
  3811  		}
  3812  		if depth == 0 {
  3813  			return iNdEx, nil
  3814  		}
  3815  	}
  3816  	return 0, io.ErrUnexpectedEOF
  3817  }
  3818  
  3819  var (
  3820  	ErrInvalidLengthEntryProtocol        = fmt.Errorf("proto: negative length found during unmarshaling")
  3821  	ErrIntOverflowEntryProtocol          = fmt.Errorf("proto: integer overflow")
  3822  	ErrUnexpectedEndOfGroupEntryProtocol = fmt.Errorf("proto: unexpected end of group")
  3823  )