vitess.io/vitess@v0.16.2/go/vt/proto/vschema/vschema_vtproto.pb.go (about)

     1  // Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
     2  // protoc-gen-go-vtproto version: v0.4.0
     3  // source: vschema.proto
     4  
     5  package vschema
     6  
     7  import (
     8  	fmt "fmt"
     9  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    10  	io "io"
    11  	bits "math/bits"
    12  	query "vitess.io/vitess/go/vt/proto/query"
    13  )
    14  
    15  const (
    16  	// Verify that this generated code is sufficiently up-to-date.
    17  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    18  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    19  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    20  )
    21  
    22  func (m *RoutingRules) MarshalVT() (dAtA []byte, err error) {
    23  	if m == nil {
    24  		return nil, nil
    25  	}
    26  	size := m.SizeVT()
    27  	dAtA = make([]byte, size)
    28  	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
    29  	if err != nil {
    30  		return nil, err
    31  	}
    32  	return dAtA[:n], nil
    33  }
    34  
    35  func (m *RoutingRules) MarshalToVT(dAtA []byte) (int, error) {
    36  	size := m.SizeVT()
    37  	return m.MarshalToSizedBufferVT(dAtA[:size])
    38  }
    39  
    40  func (m *RoutingRules) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
    41  	if m == nil {
    42  		return 0, nil
    43  	}
    44  	i := len(dAtA)
    45  	_ = i
    46  	var l int
    47  	_ = l
    48  	if m.unknownFields != nil {
    49  		i -= len(m.unknownFields)
    50  		copy(dAtA[i:], m.unknownFields)
    51  	}
    52  	if len(m.Rules) > 0 {
    53  		for iNdEx := len(m.Rules) - 1; iNdEx >= 0; iNdEx-- {
    54  			size, err := m.Rules[iNdEx].MarshalToSizedBufferVT(dAtA[:i])
    55  			if err != nil {
    56  				return 0, err
    57  			}
    58  			i -= size
    59  			i = encodeVarint(dAtA, i, uint64(size))
    60  			i--
    61  			dAtA[i] = 0xa
    62  		}
    63  	}
    64  	return len(dAtA) - i, nil
    65  }
    66  
    67  func (m *RoutingRule) MarshalVT() (dAtA []byte, err error) {
    68  	if m == nil {
    69  		return nil, nil
    70  	}
    71  	size := m.SizeVT()
    72  	dAtA = make([]byte, size)
    73  	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
    74  	if err != nil {
    75  		return nil, err
    76  	}
    77  	return dAtA[:n], nil
    78  }
    79  
    80  func (m *RoutingRule) MarshalToVT(dAtA []byte) (int, error) {
    81  	size := m.SizeVT()
    82  	return m.MarshalToSizedBufferVT(dAtA[:size])
    83  }
    84  
    85  func (m *RoutingRule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
    86  	if m == nil {
    87  		return 0, nil
    88  	}
    89  	i := len(dAtA)
    90  	_ = i
    91  	var l int
    92  	_ = l
    93  	if m.unknownFields != nil {
    94  		i -= len(m.unknownFields)
    95  		copy(dAtA[i:], m.unknownFields)
    96  	}
    97  	if len(m.ToTables) > 0 {
    98  		for iNdEx := len(m.ToTables) - 1; iNdEx >= 0; iNdEx-- {
    99  			i -= len(m.ToTables[iNdEx])
   100  			copy(dAtA[i:], m.ToTables[iNdEx])
   101  			i = encodeVarint(dAtA, i, uint64(len(m.ToTables[iNdEx])))
   102  			i--
   103  			dAtA[i] = 0x12
   104  		}
   105  	}
   106  	if len(m.FromTable) > 0 {
   107  		i -= len(m.FromTable)
   108  		copy(dAtA[i:], m.FromTable)
   109  		i = encodeVarint(dAtA, i, uint64(len(m.FromTable)))
   110  		i--
   111  		dAtA[i] = 0xa
   112  	}
   113  	return len(dAtA) - i, nil
   114  }
   115  
   116  func (m *Keyspace) MarshalVT() (dAtA []byte, err error) {
   117  	if m == nil {
   118  		return nil, nil
   119  	}
   120  	size := m.SizeVT()
   121  	dAtA = make([]byte, size)
   122  	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
   123  	if err != nil {
   124  		return nil, err
   125  	}
   126  	return dAtA[:n], nil
   127  }
   128  
   129  func (m *Keyspace) MarshalToVT(dAtA []byte) (int, error) {
   130  	size := m.SizeVT()
   131  	return m.MarshalToSizedBufferVT(dAtA[:size])
   132  }
   133  
   134  func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
   135  	if m == nil {
   136  		return 0, nil
   137  	}
   138  	i := len(dAtA)
   139  	_ = i
   140  	var l int
   141  	_ = l
   142  	if m.unknownFields != nil {
   143  		i -= len(m.unknownFields)
   144  		copy(dAtA[i:], m.unknownFields)
   145  	}
   146  	if m.RequireExplicitRouting {
   147  		i--
   148  		if m.RequireExplicitRouting {
   149  			dAtA[i] = 1
   150  		} else {
   151  			dAtA[i] = 0
   152  		}
   153  		i--
   154  		dAtA[i] = 0x20
   155  	}
   156  	if len(m.Tables) > 0 {
   157  		for k := range m.Tables {
   158  			v := m.Tables[k]
   159  			baseI := i
   160  			size, err := v.MarshalToSizedBufferVT(dAtA[:i])
   161  			if err != nil {
   162  				return 0, err
   163  			}
   164  			i -= size
   165  			i = encodeVarint(dAtA, i, uint64(size))
   166  			i--
   167  			dAtA[i] = 0x12
   168  			i -= len(k)
   169  			copy(dAtA[i:], k)
   170  			i = encodeVarint(dAtA, i, uint64(len(k)))
   171  			i--
   172  			dAtA[i] = 0xa
   173  			i = encodeVarint(dAtA, i, uint64(baseI-i))
   174  			i--
   175  			dAtA[i] = 0x1a
   176  		}
   177  	}
   178  	if len(m.Vindexes) > 0 {
   179  		for k := range m.Vindexes {
   180  			v := m.Vindexes[k]
   181  			baseI := i
   182  			size, err := v.MarshalToSizedBufferVT(dAtA[:i])
   183  			if err != nil {
   184  				return 0, err
   185  			}
   186  			i -= size
   187  			i = encodeVarint(dAtA, i, uint64(size))
   188  			i--
   189  			dAtA[i] = 0x12
   190  			i -= len(k)
   191  			copy(dAtA[i:], k)
   192  			i = encodeVarint(dAtA, i, uint64(len(k)))
   193  			i--
   194  			dAtA[i] = 0xa
   195  			i = encodeVarint(dAtA, i, uint64(baseI-i))
   196  			i--
   197  			dAtA[i] = 0x12
   198  		}
   199  	}
   200  	if m.Sharded {
   201  		i--
   202  		if m.Sharded {
   203  			dAtA[i] = 1
   204  		} else {
   205  			dAtA[i] = 0
   206  		}
   207  		i--
   208  		dAtA[i] = 0x8
   209  	}
   210  	return len(dAtA) - i, nil
   211  }
   212  
   213  func (m *Vindex) MarshalVT() (dAtA []byte, err error) {
   214  	if m == nil {
   215  		return nil, nil
   216  	}
   217  	size := m.SizeVT()
   218  	dAtA = make([]byte, size)
   219  	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
   220  	if err != nil {
   221  		return nil, err
   222  	}
   223  	return dAtA[:n], nil
   224  }
   225  
   226  func (m *Vindex) MarshalToVT(dAtA []byte) (int, error) {
   227  	size := m.SizeVT()
   228  	return m.MarshalToSizedBufferVT(dAtA[:size])
   229  }
   230  
   231  func (m *Vindex) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
   232  	if m == nil {
   233  		return 0, nil
   234  	}
   235  	i := len(dAtA)
   236  	_ = i
   237  	var l int
   238  	_ = l
   239  	if m.unknownFields != nil {
   240  		i -= len(m.unknownFields)
   241  		copy(dAtA[i:], m.unknownFields)
   242  	}
   243  	if len(m.Owner) > 0 {
   244  		i -= len(m.Owner)
   245  		copy(dAtA[i:], m.Owner)
   246  		i = encodeVarint(dAtA, i, uint64(len(m.Owner)))
   247  		i--
   248  		dAtA[i] = 0x1a
   249  	}
   250  	if len(m.Params) > 0 {
   251  		for k := range m.Params {
   252  			v := m.Params[k]
   253  			baseI := i
   254  			i -= len(v)
   255  			copy(dAtA[i:], v)
   256  			i = encodeVarint(dAtA, i, uint64(len(v)))
   257  			i--
   258  			dAtA[i] = 0x12
   259  			i -= len(k)
   260  			copy(dAtA[i:], k)
   261  			i = encodeVarint(dAtA, i, uint64(len(k)))
   262  			i--
   263  			dAtA[i] = 0xa
   264  			i = encodeVarint(dAtA, i, uint64(baseI-i))
   265  			i--
   266  			dAtA[i] = 0x12
   267  		}
   268  	}
   269  	if len(m.Type) > 0 {
   270  		i -= len(m.Type)
   271  		copy(dAtA[i:], m.Type)
   272  		i = encodeVarint(dAtA, i, uint64(len(m.Type)))
   273  		i--
   274  		dAtA[i] = 0xa
   275  	}
   276  	return len(dAtA) - i, nil
   277  }
   278  
   279  func (m *Table) MarshalVT() (dAtA []byte, err error) {
   280  	if m == nil {
   281  		return nil, nil
   282  	}
   283  	size := m.SizeVT()
   284  	dAtA = make([]byte, size)
   285  	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
   286  	if err != nil {
   287  		return nil, err
   288  	}
   289  	return dAtA[:n], nil
   290  }
   291  
   292  func (m *Table) MarshalToVT(dAtA []byte) (int, error) {
   293  	size := m.SizeVT()
   294  	return m.MarshalToSizedBufferVT(dAtA[:size])
   295  }
   296  
   297  func (m *Table) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
   298  	if m == nil {
   299  		return 0, nil
   300  	}
   301  	i := len(dAtA)
   302  	_ = i
   303  	var l int
   304  	_ = l
   305  	if m.unknownFields != nil {
   306  		i -= len(m.unknownFields)
   307  		copy(dAtA[i:], m.unknownFields)
   308  	}
   309  	if len(m.Source) > 0 {
   310  		i -= len(m.Source)
   311  		copy(dAtA[i:], m.Source)
   312  		i = encodeVarint(dAtA, i, uint64(len(m.Source)))
   313  		i--
   314  		dAtA[i] = 0x3a
   315  	}
   316  	if m.ColumnListAuthoritative {
   317  		i--
   318  		if m.ColumnListAuthoritative {
   319  			dAtA[i] = 1
   320  		} else {
   321  			dAtA[i] = 0
   322  		}
   323  		i--
   324  		dAtA[i] = 0x30
   325  	}
   326  	if len(m.Pinned) > 0 {
   327  		i -= len(m.Pinned)
   328  		copy(dAtA[i:], m.Pinned)
   329  		i = encodeVarint(dAtA, i, uint64(len(m.Pinned)))
   330  		i--
   331  		dAtA[i] = 0x2a
   332  	}
   333  	if len(m.Columns) > 0 {
   334  		for iNdEx := len(m.Columns) - 1; iNdEx >= 0; iNdEx-- {
   335  			size, err := m.Columns[iNdEx].MarshalToSizedBufferVT(dAtA[:i])
   336  			if err != nil {
   337  				return 0, err
   338  			}
   339  			i -= size
   340  			i = encodeVarint(dAtA, i, uint64(size))
   341  			i--
   342  			dAtA[i] = 0x22
   343  		}
   344  	}
   345  	if m.AutoIncrement != nil {
   346  		size, err := m.AutoIncrement.MarshalToSizedBufferVT(dAtA[:i])
   347  		if err != nil {
   348  			return 0, err
   349  		}
   350  		i -= size
   351  		i = encodeVarint(dAtA, i, uint64(size))
   352  		i--
   353  		dAtA[i] = 0x1a
   354  	}
   355  	if len(m.ColumnVindexes) > 0 {
   356  		for iNdEx := len(m.ColumnVindexes) - 1; iNdEx >= 0; iNdEx-- {
   357  			size, err := m.ColumnVindexes[iNdEx].MarshalToSizedBufferVT(dAtA[:i])
   358  			if err != nil {
   359  				return 0, err
   360  			}
   361  			i -= size
   362  			i = encodeVarint(dAtA, i, uint64(size))
   363  			i--
   364  			dAtA[i] = 0x12
   365  		}
   366  	}
   367  	if len(m.Type) > 0 {
   368  		i -= len(m.Type)
   369  		copy(dAtA[i:], m.Type)
   370  		i = encodeVarint(dAtA, i, uint64(len(m.Type)))
   371  		i--
   372  		dAtA[i] = 0xa
   373  	}
   374  	return len(dAtA) - i, nil
   375  }
   376  
   377  func (m *ColumnVindex) MarshalVT() (dAtA []byte, err error) {
   378  	if m == nil {
   379  		return nil, nil
   380  	}
   381  	size := m.SizeVT()
   382  	dAtA = make([]byte, size)
   383  	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
   384  	if err != nil {
   385  		return nil, err
   386  	}
   387  	return dAtA[:n], nil
   388  }
   389  
   390  func (m *ColumnVindex) MarshalToVT(dAtA []byte) (int, error) {
   391  	size := m.SizeVT()
   392  	return m.MarshalToSizedBufferVT(dAtA[:size])
   393  }
   394  
   395  func (m *ColumnVindex) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
   396  	if m == nil {
   397  		return 0, nil
   398  	}
   399  	i := len(dAtA)
   400  	_ = i
   401  	var l int
   402  	_ = l
   403  	if m.unknownFields != nil {
   404  		i -= len(m.unknownFields)
   405  		copy(dAtA[i:], m.unknownFields)
   406  	}
   407  	if len(m.Columns) > 0 {
   408  		for iNdEx := len(m.Columns) - 1; iNdEx >= 0; iNdEx-- {
   409  			i -= len(m.Columns[iNdEx])
   410  			copy(dAtA[i:], m.Columns[iNdEx])
   411  			i = encodeVarint(dAtA, i, uint64(len(m.Columns[iNdEx])))
   412  			i--
   413  			dAtA[i] = 0x1a
   414  		}
   415  	}
   416  	if len(m.Name) > 0 {
   417  		i -= len(m.Name)
   418  		copy(dAtA[i:], m.Name)
   419  		i = encodeVarint(dAtA, i, uint64(len(m.Name)))
   420  		i--
   421  		dAtA[i] = 0x12
   422  	}
   423  	if len(m.Column) > 0 {
   424  		i -= len(m.Column)
   425  		copy(dAtA[i:], m.Column)
   426  		i = encodeVarint(dAtA, i, uint64(len(m.Column)))
   427  		i--
   428  		dAtA[i] = 0xa
   429  	}
   430  	return len(dAtA) - i, nil
   431  }
   432  
   433  func (m *AutoIncrement) MarshalVT() (dAtA []byte, err error) {
   434  	if m == nil {
   435  		return nil, nil
   436  	}
   437  	size := m.SizeVT()
   438  	dAtA = make([]byte, size)
   439  	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
   440  	if err != nil {
   441  		return nil, err
   442  	}
   443  	return dAtA[:n], nil
   444  }
   445  
   446  func (m *AutoIncrement) MarshalToVT(dAtA []byte) (int, error) {
   447  	size := m.SizeVT()
   448  	return m.MarshalToSizedBufferVT(dAtA[:size])
   449  }
   450  
   451  func (m *AutoIncrement) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
   452  	if m == nil {
   453  		return 0, nil
   454  	}
   455  	i := len(dAtA)
   456  	_ = i
   457  	var l int
   458  	_ = l
   459  	if m.unknownFields != nil {
   460  		i -= len(m.unknownFields)
   461  		copy(dAtA[i:], m.unknownFields)
   462  	}
   463  	if len(m.Sequence) > 0 {
   464  		i -= len(m.Sequence)
   465  		copy(dAtA[i:], m.Sequence)
   466  		i = encodeVarint(dAtA, i, uint64(len(m.Sequence)))
   467  		i--
   468  		dAtA[i] = 0x12
   469  	}
   470  	if len(m.Column) > 0 {
   471  		i -= len(m.Column)
   472  		copy(dAtA[i:], m.Column)
   473  		i = encodeVarint(dAtA, i, uint64(len(m.Column)))
   474  		i--
   475  		dAtA[i] = 0xa
   476  	}
   477  	return len(dAtA) - i, nil
   478  }
   479  
   480  func (m *Column) MarshalVT() (dAtA []byte, err error) {
   481  	if m == nil {
   482  		return nil, nil
   483  	}
   484  	size := m.SizeVT()
   485  	dAtA = make([]byte, size)
   486  	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
   487  	if err != nil {
   488  		return nil, err
   489  	}
   490  	return dAtA[:n], nil
   491  }
   492  
   493  func (m *Column) MarshalToVT(dAtA []byte) (int, error) {
   494  	size := m.SizeVT()
   495  	return m.MarshalToSizedBufferVT(dAtA[:size])
   496  }
   497  
   498  func (m *Column) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
   499  	if m == nil {
   500  		return 0, nil
   501  	}
   502  	i := len(dAtA)
   503  	_ = i
   504  	var l int
   505  	_ = l
   506  	if m.unknownFields != nil {
   507  		i -= len(m.unknownFields)
   508  		copy(dAtA[i:], m.unknownFields)
   509  	}
   510  	if m.Type != 0 {
   511  		i = encodeVarint(dAtA, i, uint64(m.Type))
   512  		i--
   513  		dAtA[i] = 0x10
   514  	}
   515  	if len(m.Name) > 0 {
   516  		i -= len(m.Name)
   517  		copy(dAtA[i:], m.Name)
   518  		i = encodeVarint(dAtA, i, uint64(len(m.Name)))
   519  		i--
   520  		dAtA[i] = 0xa
   521  	}
   522  	return len(dAtA) - i, nil
   523  }
   524  
   525  func (m *SrvVSchema) MarshalVT() (dAtA []byte, err error) {
   526  	if m == nil {
   527  		return nil, nil
   528  	}
   529  	size := m.SizeVT()
   530  	dAtA = make([]byte, size)
   531  	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
   532  	if err != nil {
   533  		return nil, err
   534  	}
   535  	return dAtA[:n], nil
   536  }
   537  
   538  func (m *SrvVSchema) MarshalToVT(dAtA []byte) (int, error) {
   539  	size := m.SizeVT()
   540  	return m.MarshalToSizedBufferVT(dAtA[:size])
   541  }
   542  
   543  func (m *SrvVSchema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
   544  	if m == nil {
   545  		return 0, nil
   546  	}
   547  	i := len(dAtA)
   548  	_ = i
   549  	var l int
   550  	_ = l
   551  	if m.unknownFields != nil {
   552  		i -= len(m.unknownFields)
   553  		copy(dAtA[i:], m.unknownFields)
   554  	}
   555  	if m.ShardRoutingRules != nil {
   556  		size, err := m.ShardRoutingRules.MarshalToSizedBufferVT(dAtA[:i])
   557  		if err != nil {
   558  			return 0, err
   559  		}
   560  		i -= size
   561  		i = encodeVarint(dAtA, i, uint64(size))
   562  		i--
   563  		dAtA[i] = 0x1a
   564  	}
   565  	if m.RoutingRules != nil {
   566  		size, err := m.RoutingRules.MarshalToSizedBufferVT(dAtA[:i])
   567  		if err != nil {
   568  			return 0, err
   569  		}
   570  		i -= size
   571  		i = encodeVarint(dAtA, i, uint64(size))
   572  		i--
   573  		dAtA[i] = 0x12
   574  	}
   575  	if len(m.Keyspaces) > 0 {
   576  		for k := range m.Keyspaces {
   577  			v := m.Keyspaces[k]
   578  			baseI := i
   579  			size, err := v.MarshalToSizedBufferVT(dAtA[:i])
   580  			if err != nil {
   581  				return 0, err
   582  			}
   583  			i -= size
   584  			i = encodeVarint(dAtA, i, uint64(size))
   585  			i--
   586  			dAtA[i] = 0x12
   587  			i -= len(k)
   588  			copy(dAtA[i:], k)
   589  			i = encodeVarint(dAtA, i, uint64(len(k)))
   590  			i--
   591  			dAtA[i] = 0xa
   592  			i = encodeVarint(dAtA, i, uint64(baseI-i))
   593  			i--
   594  			dAtA[i] = 0xa
   595  		}
   596  	}
   597  	return len(dAtA) - i, nil
   598  }
   599  
   600  func (m *ShardRoutingRules) MarshalVT() (dAtA []byte, err error) {
   601  	if m == nil {
   602  		return nil, nil
   603  	}
   604  	size := m.SizeVT()
   605  	dAtA = make([]byte, size)
   606  	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
   607  	if err != nil {
   608  		return nil, err
   609  	}
   610  	return dAtA[:n], nil
   611  }
   612  
   613  func (m *ShardRoutingRules) MarshalToVT(dAtA []byte) (int, error) {
   614  	size := m.SizeVT()
   615  	return m.MarshalToSizedBufferVT(dAtA[:size])
   616  }
   617  
   618  func (m *ShardRoutingRules) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
   619  	if m == nil {
   620  		return 0, nil
   621  	}
   622  	i := len(dAtA)
   623  	_ = i
   624  	var l int
   625  	_ = l
   626  	if m.unknownFields != nil {
   627  		i -= len(m.unknownFields)
   628  		copy(dAtA[i:], m.unknownFields)
   629  	}
   630  	if len(m.Rules) > 0 {
   631  		for iNdEx := len(m.Rules) - 1; iNdEx >= 0; iNdEx-- {
   632  			size, err := m.Rules[iNdEx].MarshalToSizedBufferVT(dAtA[:i])
   633  			if err != nil {
   634  				return 0, err
   635  			}
   636  			i -= size
   637  			i = encodeVarint(dAtA, i, uint64(size))
   638  			i--
   639  			dAtA[i] = 0xa
   640  		}
   641  	}
   642  	return len(dAtA) - i, nil
   643  }
   644  
   645  func (m *ShardRoutingRule) MarshalVT() (dAtA []byte, err error) {
   646  	if m == nil {
   647  		return nil, nil
   648  	}
   649  	size := m.SizeVT()
   650  	dAtA = make([]byte, size)
   651  	n, err := m.MarshalToSizedBufferVT(dAtA[:size])
   652  	if err != nil {
   653  		return nil, err
   654  	}
   655  	return dAtA[:n], nil
   656  }
   657  
   658  func (m *ShardRoutingRule) MarshalToVT(dAtA []byte) (int, error) {
   659  	size := m.SizeVT()
   660  	return m.MarshalToSizedBufferVT(dAtA[:size])
   661  }
   662  
   663  func (m *ShardRoutingRule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
   664  	if m == nil {
   665  		return 0, nil
   666  	}
   667  	i := len(dAtA)
   668  	_ = i
   669  	var l int
   670  	_ = l
   671  	if m.unknownFields != nil {
   672  		i -= len(m.unknownFields)
   673  		copy(dAtA[i:], m.unknownFields)
   674  	}
   675  	if len(m.Shard) > 0 {
   676  		i -= len(m.Shard)
   677  		copy(dAtA[i:], m.Shard)
   678  		i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
   679  		i--
   680  		dAtA[i] = 0x1a
   681  	}
   682  	if len(m.ToKeyspace) > 0 {
   683  		i -= len(m.ToKeyspace)
   684  		copy(dAtA[i:], m.ToKeyspace)
   685  		i = encodeVarint(dAtA, i, uint64(len(m.ToKeyspace)))
   686  		i--
   687  		dAtA[i] = 0x12
   688  	}
   689  	if len(m.FromKeyspace) > 0 {
   690  		i -= len(m.FromKeyspace)
   691  		copy(dAtA[i:], m.FromKeyspace)
   692  		i = encodeVarint(dAtA, i, uint64(len(m.FromKeyspace)))
   693  		i--
   694  		dAtA[i] = 0xa
   695  	}
   696  	return len(dAtA) - i, nil
   697  }
   698  
   699  func encodeVarint(dAtA []byte, offset int, v uint64) int {
   700  	offset -= sov(v)
   701  	base := offset
   702  	for v >= 1<<7 {
   703  		dAtA[offset] = uint8(v&0x7f | 0x80)
   704  		v >>= 7
   705  		offset++
   706  	}
   707  	dAtA[offset] = uint8(v)
   708  	return base
   709  }
   710  func (m *RoutingRules) SizeVT() (n int) {
   711  	if m == nil {
   712  		return 0
   713  	}
   714  	var l int
   715  	_ = l
   716  	if len(m.Rules) > 0 {
   717  		for _, e := range m.Rules {
   718  			l = e.SizeVT()
   719  			n += 1 + l + sov(uint64(l))
   720  		}
   721  	}
   722  	n += len(m.unknownFields)
   723  	return n
   724  }
   725  
   726  func (m *RoutingRule) SizeVT() (n int) {
   727  	if m == nil {
   728  		return 0
   729  	}
   730  	var l int
   731  	_ = l
   732  	l = len(m.FromTable)
   733  	if l > 0 {
   734  		n += 1 + l + sov(uint64(l))
   735  	}
   736  	if len(m.ToTables) > 0 {
   737  		for _, s := range m.ToTables {
   738  			l = len(s)
   739  			n += 1 + l + sov(uint64(l))
   740  		}
   741  	}
   742  	n += len(m.unknownFields)
   743  	return n
   744  }
   745  
   746  func (m *Keyspace) SizeVT() (n int) {
   747  	if m == nil {
   748  		return 0
   749  	}
   750  	var l int
   751  	_ = l
   752  	if m.Sharded {
   753  		n += 2
   754  	}
   755  	if len(m.Vindexes) > 0 {
   756  		for k, v := range m.Vindexes {
   757  			_ = k
   758  			_ = v
   759  			l = 0
   760  			if v != nil {
   761  				l = v.SizeVT()
   762  			}
   763  			l += 1 + sov(uint64(l))
   764  			mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
   765  			n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
   766  		}
   767  	}
   768  	if len(m.Tables) > 0 {
   769  		for k, v := range m.Tables {
   770  			_ = k
   771  			_ = v
   772  			l = 0
   773  			if v != nil {
   774  				l = v.SizeVT()
   775  			}
   776  			l += 1 + sov(uint64(l))
   777  			mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
   778  			n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
   779  		}
   780  	}
   781  	if m.RequireExplicitRouting {
   782  		n += 2
   783  	}
   784  	n += len(m.unknownFields)
   785  	return n
   786  }
   787  
   788  func (m *Vindex) SizeVT() (n int) {
   789  	if m == nil {
   790  		return 0
   791  	}
   792  	var l int
   793  	_ = l
   794  	l = len(m.Type)
   795  	if l > 0 {
   796  		n += 1 + l + sov(uint64(l))
   797  	}
   798  	if len(m.Params) > 0 {
   799  		for k, v := range m.Params {
   800  			_ = k
   801  			_ = v
   802  			mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v)))
   803  			n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
   804  		}
   805  	}
   806  	l = len(m.Owner)
   807  	if l > 0 {
   808  		n += 1 + l + sov(uint64(l))
   809  	}
   810  	n += len(m.unknownFields)
   811  	return n
   812  }
   813  
   814  func (m *Table) SizeVT() (n int) {
   815  	if m == nil {
   816  		return 0
   817  	}
   818  	var l int
   819  	_ = l
   820  	l = len(m.Type)
   821  	if l > 0 {
   822  		n += 1 + l + sov(uint64(l))
   823  	}
   824  	if len(m.ColumnVindexes) > 0 {
   825  		for _, e := range m.ColumnVindexes {
   826  			l = e.SizeVT()
   827  			n += 1 + l + sov(uint64(l))
   828  		}
   829  	}
   830  	if m.AutoIncrement != nil {
   831  		l = m.AutoIncrement.SizeVT()
   832  		n += 1 + l + sov(uint64(l))
   833  	}
   834  	if len(m.Columns) > 0 {
   835  		for _, e := range m.Columns {
   836  			l = e.SizeVT()
   837  			n += 1 + l + sov(uint64(l))
   838  		}
   839  	}
   840  	l = len(m.Pinned)
   841  	if l > 0 {
   842  		n += 1 + l + sov(uint64(l))
   843  	}
   844  	if m.ColumnListAuthoritative {
   845  		n += 2
   846  	}
   847  	l = len(m.Source)
   848  	if l > 0 {
   849  		n += 1 + l + sov(uint64(l))
   850  	}
   851  	n += len(m.unknownFields)
   852  	return n
   853  }
   854  
   855  func (m *ColumnVindex) SizeVT() (n int) {
   856  	if m == nil {
   857  		return 0
   858  	}
   859  	var l int
   860  	_ = l
   861  	l = len(m.Column)
   862  	if l > 0 {
   863  		n += 1 + l + sov(uint64(l))
   864  	}
   865  	l = len(m.Name)
   866  	if l > 0 {
   867  		n += 1 + l + sov(uint64(l))
   868  	}
   869  	if len(m.Columns) > 0 {
   870  		for _, s := range m.Columns {
   871  			l = len(s)
   872  			n += 1 + l + sov(uint64(l))
   873  		}
   874  	}
   875  	n += len(m.unknownFields)
   876  	return n
   877  }
   878  
   879  func (m *AutoIncrement) SizeVT() (n int) {
   880  	if m == nil {
   881  		return 0
   882  	}
   883  	var l int
   884  	_ = l
   885  	l = len(m.Column)
   886  	if l > 0 {
   887  		n += 1 + l + sov(uint64(l))
   888  	}
   889  	l = len(m.Sequence)
   890  	if l > 0 {
   891  		n += 1 + l + sov(uint64(l))
   892  	}
   893  	n += len(m.unknownFields)
   894  	return n
   895  }
   896  
   897  func (m *Column) SizeVT() (n int) {
   898  	if m == nil {
   899  		return 0
   900  	}
   901  	var l int
   902  	_ = l
   903  	l = len(m.Name)
   904  	if l > 0 {
   905  		n += 1 + l + sov(uint64(l))
   906  	}
   907  	if m.Type != 0 {
   908  		n += 1 + sov(uint64(m.Type))
   909  	}
   910  	n += len(m.unknownFields)
   911  	return n
   912  }
   913  
   914  func (m *SrvVSchema) SizeVT() (n int) {
   915  	if m == nil {
   916  		return 0
   917  	}
   918  	var l int
   919  	_ = l
   920  	if len(m.Keyspaces) > 0 {
   921  		for k, v := range m.Keyspaces {
   922  			_ = k
   923  			_ = v
   924  			l = 0
   925  			if v != nil {
   926  				l = v.SizeVT()
   927  			}
   928  			l += 1 + sov(uint64(l))
   929  			mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
   930  			n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
   931  		}
   932  	}
   933  	if m.RoutingRules != nil {
   934  		l = m.RoutingRules.SizeVT()
   935  		n += 1 + l + sov(uint64(l))
   936  	}
   937  	if m.ShardRoutingRules != nil {
   938  		l = m.ShardRoutingRules.SizeVT()
   939  		n += 1 + l + sov(uint64(l))
   940  	}
   941  	n += len(m.unknownFields)
   942  	return n
   943  }
   944  
   945  func (m *ShardRoutingRules) SizeVT() (n int) {
   946  	if m == nil {
   947  		return 0
   948  	}
   949  	var l int
   950  	_ = l
   951  	if len(m.Rules) > 0 {
   952  		for _, e := range m.Rules {
   953  			l = e.SizeVT()
   954  			n += 1 + l + sov(uint64(l))
   955  		}
   956  	}
   957  	n += len(m.unknownFields)
   958  	return n
   959  }
   960  
   961  func (m *ShardRoutingRule) SizeVT() (n int) {
   962  	if m == nil {
   963  		return 0
   964  	}
   965  	var l int
   966  	_ = l
   967  	l = len(m.FromKeyspace)
   968  	if l > 0 {
   969  		n += 1 + l + sov(uint64(l))
   970  	}
   971  	l = len(m.ToKeyspace)
   972  	if l > 0 {
   973  		n += 1 + l + sov(uint64(l))
   974  	}
   975  	l = len(m.Shard)
   976  	if l > 0 {
   977  		n += 1 + l + sov(uint64(l))
   978  	}
   979  	n += len(m.unknownFields)
   980  	return n
   981  }
   982  
   983  func sov(x uint64) (n int) {
   984  	return (bits.Len64(x|1) + 6) / 7
   985  }
   986  func soz(x uint64) (n int) {
   987  	return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
   988  }
   989  func (m *RoutingRules) UnmarshalVT(dAtA []byte) error {
   990  	l := len(dAtA)
   991  	iNdEx := 0
   992  	for iNdEx < l {
   993  		preIndex := iNdEx
   994  		var wire uint64
   995  		for shift := uint(0); ; shift += 7 {
   996  			if shift >= 64 {
   997  				return ErrIntOverflow
   998  			}
   999  			if iNdEx >= l {
  1000  				return io.ErrUnexpectedEOF
  1001  			}
  1002  			b := dAtA[iNdEx]
  1003  			iNdEx++
  1004  			wire |= uint64(b&0x7F) << shift
  1005  			if b < 0x80 {
  1006  				break
  1007  			}
  1008  		}
  1009  		fieldNum := int32(wire >> 3)
  1010  		wireType := int(wire & 0x7)
  1011  		if wireType == 4 {
  1012  			return fmt.Errorf("proto: RoutingRules: wiretype end group for non-group")
  1013  		}
  1014  		if fieldNum <= 0 {
  1015  			return fmt.Errorf("proto: RoutingRules: illegal tag %d (wire type %d)", fieldNum, wire)
  1016  		}
  1017  		switch fieldNum {
  1018  		case 1:
  1019  			if wireType != 2 {
  1020  				return fmt.Errorf("proto: wrong wireType = %d for field Rules", wireType)
  1021  			}
  1022  			var msglen int
  1023  			for shift := uint(0); ; shift += 7 {
  1024  				if shift >= 64 {
  1025  					return ErrIntOverflow
  1026  				}
  1027  				if iNdEx >= l {
  1028  					return io.ErrUnexpectedEOF
  1029  				}
  1030  				b := dAtA[iNdEx]
  1031  				iNdEx++
  1032  				msglen |= int(b&0x7F) << shift
  1033  				if b < 0x80 {
  1034  					break
  1035  				}
  1036  			}
  1037  			if msglen < 0 {
  1038  				return ErrInvalidLength
  1039  			}
  1040  			postIndex := iNdEx + msglen
  1041  			if postIndex < 0 {
  1042  				return ErrInvalidLength
  1043  			}
  1044  			if postIndex > l {
  1045  				return io.ErrUnexpectedEOF
  1046  			}
  1047  			m.Rules = append(m.Rules, &RoutingRule{})
  1048  			if err := m.Rules[len(m.Rules)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
  1049  				return err
  1050  			}
  1051  			iNdEx = postIndex
  1052  		default:
  1053  			iNdEx = preIndex
  1054  			skippy, err := skip(dAtA[iNdEx:])
  1055  			if err != nil {
  1056  				return err
  1057  			}
  1058  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1059  				return ErrInvalidLength
  1060  			}
  1061  			if (iNdEx + skippy) > l {
  1062  				return io.ErrUnexpectedEOF
  1063  			}
  1064  			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  1065  			iNdEx += skippy
  1066  		}
  1067  	}
  1068  
  1069  	if iNdEx > l {
  1070  		return io.ErrUnexpectedEOF
  1071  	}
  1072  	return nil
  1073  }
  1074  func (m *RoutingRule) UnmarshalVT(dAtA []byte) error {
  1075  	l := len(dAtA)
  1076  	iNdEx := 0
  1077  	for iNdEx < l {
  1078  		preIndex := iNdEx
  1079  		var wire uint64
  1080  		for shift := uint(0); ; shift += 7 {
  1081  			if shift >= 64 {
  1082  				return ErrIntOverflow
  1083  			}
  1084  			if iNdEx >= l {
  1085  				return io.ErrUnexpectedEOF
  1086  			}
  1087  			b := dAtA[iNdEx]
  1088  			iNdEx++
  1089  			wire |= uint64(b&0x7F) << shift
  1090  			if b < 0x80 {
  1091  				break
  1092  			}
  1093  		}
  1094  		fieldNum := int32(wire >> 3)
  1095  		wireType := int(wire & 0x7)
  1096  		if wireType == 4 {
  1097  			return fmt.Errorf("proto: RoutingRule: wiretype end group for non-group")
  1098  		}
  1099  		if fieldNum <= 0 {
  1100  			return fmt.Errorf("proto: RoutingRule: illegal tag %d (wire type %d)", fieldNum, wire)
  1101  		}
  1102  		switch fieldNum {
  1103  		case 1:
  1104  			if wireType != 2 {
  1105  				return fmt.Errorf("proto: wrong wireType = %d for field FromTable", wireType)
  1106  			}
  1107  			var stringLen uint64
  1108  			for shift := uint(0); ; shift += 7 {
  1109  				if shift >= 64 {
  1110  					return ErrIntOverflow
  1111  				}
  1112  				if iNdEx >= l {
  1113  					return io.ErrUnexpectedEOF
  1114  				}
  1115  				b := dAtA[iNdEx]
  1116  				iNdEx++
  1117  				stringLen |= uint64(b&0x7F) << shift
  1118  				if b < 0x80 {
  1119  					break
  1120  				}
  1121  			}
  1122  			intStringLen := int(stringLen)
  1123  			if intStringLen < 0 {
  1124  				return ErrInvalidLength
  1125  			}
  1126  			postIndex := iNdEx + intStringLen
  1127  			if postIndex < 0 {
  1128  				return ErrInvalidLength
  1129  			}
  1130  			if postIndex > l {
  1131  				return io.ErrUnexpectedEOF
  1132  			}
  1133  			m.FromTable = string(dAtA[iNdEx:postIndex])
  1134  			iNdEx = postIndex
  1135  		case 2:
  1136  			if wireType != 2 {
  1137  				return fmt.Errorf("proto: wrong wireType = %d for field ToTables", wireType)
  1138  			}
  1139  			var stringLen uint64
  1140  			for shift := uint(0); ; shift += 7 {
  1141  				if shift >= 64 {
  1142  					return ErrIntOverflow
  1143  				}
  1144  				if iNdEx >= l {
  1145  					return io.ErrUnexpectedEOF
  1146  				}
  1147  				b := dAtA[iNdEx]
  1148  				iNdEx++
  1149  				stringLen |= uint64(b&0x7F) << shift
  1150  				if b < 0x80 {
  1151  					break
  1152  				}
  1153  			}
  1154  			intStringLen := int(stringLen)
  1155  			if intStringLen < 0 {
  1156  				return ErrInvalidLength
  1157  			}
  1158  			postIndex := iNdEx + intStringLen
  1159  			if postIndex < 0 {
  1160  				return ErrInvalidLength
  1161  			}
  1162  			if postIndex > l {
  1163  				return io.ErrUnexpectedEOF
  1164  			}
  1165  			m.ToTables = append(m.ToTables, string(dAtA[iNdEx:postIndex]))
  1166  			iNdEx = postIndex
  1167  		default:
  1168  			iNdEx = preIndex
  1169  			skippy, err := skip(dAtA[iNdEx:])
  1170  			if err != nil {
  1171  				return err
  1172  			}
  1173  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1174  				return ErrInvalidLength
  1175  			}
  1176  			if (iNdEx + skippy) > l {
  1177  				return io.ErrUnexpectedEOF
  1178  			}
  1179  			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  1180  			iNdEx += skippy
  1181  		}
  1182  	}
  1183  
  1184  	if iNdEx > l {
  1185  		return io.ErrUnexpectedEOF
  1186  	}
  1187  	return nil
  1188  }
  1189  func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
  1190  	l := len(dAtA)
  1191  	iNdEx := 0
  1192  	for iNdEx < l {
  1193  		preIndex := iNdEx
  1194  		var wire uint64
  1195  		for shift := uint(0); ; shift += 7 {
  1196  			if shift >= 64 {
  1197  				return ErrIntOverflow
  1198  			}
  1199  			if iNdEx >= l {
  1200  				return io.ErrUnexpectedEOF
  1201  			}
  1202  			b := dAtA[iNdEx]
  1203  			iNdEx++
  1204  			wire |= uint64(b&0x7F) << shift
  1205  			if b < 0x80 {
  1206  				break
  1207  			}
  1208  		}
  1209  		fieldNum := int32(wire >> 3)
  1210  		wireType := int(wire & 0x7)
  1211  		if wireType == 4 {
  1212  			return fmt.Errorf("proto: Keyspace: wiretype end group for non-group")
  1213  		}
  1214  		if fieldNum <= 0 {
  1215  			return fmt.Errorf("proto: Keyspace: illegal tag %d (wire type %d)", fieldNum, wire)
  1216  		}
  1217  		switch fieldNum {
  1218  		case 1:
  1219  			if wireType != 0 {
  1220  				return fmt.Errorf("proto: wrong wireType = %d for field Sharded", wireType)
  1221  			}
  1222  			var v int
  1223  			for shift := uint(0); ; shift += 7 {
  1224  				if shift >= 64 {
  1225  					return ErrIntOverflow
  1226  				}
  1227  				if iNdEx >= l {
  1228  					return io.ErrUnexpectedEOF
  1229  				}
  1230  				b := dAtA[iNdEx]
  1231  				iNdEx++
  1232  				v |= int(b&0x7F) << shift
  1233  				if b < 0x80 {
  1234  					break
  1235  				}
  1236  			}
  1237  			m.Sharded = bool(v != 0)
  1238  		case 2:
  1239  			if wireType != 2 {
  1240  				return fmt.Errorf("proto: wrong wireType = %d for field Vindexes", wireType)
  1241  			}
  1242  			var msglen int
  1243  			for shift := uint(0); ; shift += 7 {
  1244  				if shift >= 64 {
  1245  					return ErrIntOverflow
  1246  				}
  1247  				if iNdEx >= l {
  1248  					return io.ErrUnexpectedEOF
  1249  				}
  1250  				b := dAtA[iNdEx]
  1251  				iNdEx++
  1252  				msglen |= int(b&0x7F) << shift
  1253  				if b < 0x80 {
  1254  					break
  1255  				}
  1256  			}
  1257  			if msglen < 0 {
  1258  				return ErrInvalidLength
  1259  			}
  1260  			postIndex := iNdEx + msglen
  1261  			if postIndex < 0 {
  1262  				return ErrInvalidLength
  1263  			}
  1264  			if postIndex > l {
  1265  				return io.ErrUnexpectedEOF
  1266  			}
  1267  			if m.Vindexes == nil {
  1268  				m.Vindexes = make(map[string]*Vindex)
  1269  			}
  1270  			var mapkey string
  1271  			var mapvalue *Vindex
  1272  			for iNdEx < postIndex {
  1273  				entryPreIndex := iNdEx
  1274  				var wire uint64
  1275  				for shift := uint(0); ; shift += 7 {
  1276  					if shift >= 64 {
  1277  						return ErrIntOverflow
  1278  					}
  1279  					if iNdEx >= l {
  1280  						return io.ErrUnexpectedEOF
  1281  					}
  1282  					b := dAtA[iNdEx]
  1283  					iNdEx++
  1284  					wire |= uint64(b&0x7F) << shift
  1285  					if b < 0x80 {
  1286  						break
  1287  					}
  1288  				}
  1289  				fieldNum := int32(wire >> 3)
  1290  				if fieldNum == 1 {
  1291  					var stringLenmapkey uint64
  1292  					for shift := uint(0); ; shift += 7 {
  1293  						if shift >= 64 {
  1294  							return ErrIntOverflow
  1295  						}
  1296  						if iNdEx >= l {
  1297  							return io.ErrUnexpectedEOF
  1298  						}
  1299  						b := dAtA[iNdEx]
  1300  						iNdEx++
  1301  						stringLenmapkey |= uint64(b&0x7F) << shift
  1302  						if b < 0x80 {
  1303  							break
  1304  						}
  1305  					}
  1306  					intStringLenmapkey := int(stringLenmapkey)
  1307  					if intStringLenmapkey < 0 {
  1308  						return ErrInvalidLength
  1309  					}
  1310  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  1311  					if postStringIndexmapkey < 0 {
  1312  						return ErrInvalidLength
  1313  					}
  1314  					if postStringIndexmapkey > l {
  1315  						return io.ErrUnexpectedEOF
  1316  					}
  1317  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  1318  					iNdEx = postStringIndexmapkey
  1319  				} else if fieldNum == 2 {
  1320  					var mapmsglen int
  1321  					for shift := uint(0); ; shift += 7 {
  1322  						if shift >= 64 {
  1323  							return ErrIntOverflow
  1324  						}
  1325  						if iNdEx >= l {
  1326  							return io.ErrUnexpectedEOF
  1327  						}
  1328  						b := dAtA[iNdEx]
  1329  						iNdEx++
  1330  						mapmsglen |= int(b&0x7F) << shift
  1331  						if b < 0x80 {
  1332  							break
  1333  						}
  1334  					}
  1335  					if mapmsglen < 0 {
  1336  						return ErrInvalidLength
  1337  					}
  1338  					postmsgIndex := iNdEx + mapmsglen
  1339  					if postmsgIndex < 0 {
  1340  						return ErrInvalidLength
  1341  					}
  1342  					if postmsgIndex > l {
  1343  						return io.ErrUnexpectedEOF
  1344  					}
  1345  					mapvalue = &Vindex{}
  1346  					if err := mapvalue.UnmarshalVT(dAtA[iNdEx:postmsgIndex]); err != nil {
  1347  						return err
  1348  					}
  1349  					iNdEx = postmsgIndex
  1350  				} else {
  1351  					iNdEx = entryPreIndex
  1352  					skippy, err := skip(dAtA[iNdEx:])
  1353  					if err != nil {
  1354  						return err
  1355  					}
  1356  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  1357  						return ErrInvalidLength
  1358  					}
  1359  					if (iNdEx + skippy) > postIndex {
  1360  						return io.ErrUnexpectedEOF
  1361  					}
  1362  					iNdEx += skippy
  1363  				}
  1364  			}
  1365  			m.Vindexes[mapkey] = mapvalue
  1366  			iNdEx = postIndex
  1367  		case 3:
  1368  			if wireType != 2 {
  1369  				return fmt.Errorf("proto: wrong wireType = %d for field Tables", wireType)
  1370  			}
  1371  			var msglen int
  1372  			for shift := uint(0); ; shift += 7 {
  1373  				if shift >= 64 {
  1374  					return ErrIntOverflow
  1375  				}
  1376  				if iNdEx >= l {
  1377  					return io.ErrUnexpectedEOF
  1378  				}
  1379  				b := dAtA[iNdEx]
  1380  				iNdEx++
  1381  				msglen |= int(b&0x7F) << shift
  1382  				if b < 0x80 {
  1383  					break
  1384  				}
  1385  			}
  1386  			if msglen < 0 {
  1387  				return ErrInvalidLength
  1388  			}
  1389  			postIndex := iNdEx + msglen
  1390  			if postIndex < 0 {
  1391  				return ErrInvalidLength
  1392  			}
  1393  			if postIndex > l {
  1394  				return io.ErrUnexpectedEOF
  1395  			}
  1396  			if m.Tables == nil {
  1397  				m.Tables = make(map[string]*Table)
  1398  			}
  1399  			var mapkey string
  1400  			var mapvalue *Table
  1401  			for iNdEx < postIndex {
  1402  				entryPreIndex := iNdEx
  1403  				var wire uint64
  1404  				for shift := uint(0); ; shift += 7 {
  1405  					if shift >= 64 {
  1406  						return ErrIntOverflow
  1407  					}
  1408  					if iNdEx >= l {
  1409  						return io.ErrUnexpectedEOF
  1410  					}
  1411  					b := dAtA[iNdEx]
  1412  					iNdEx++
  1413  					wire |= uint64(b&0x7F) << shift
  1414  					if b < 0x80 {
  1415  						break
  1416  					}
  1417  				}
  1418  				fieldNum := int32(wire >> 3)
  1419  				if fieldNum == 1 {
  1420  					var stringLenmapkey uint64
  1421  					for shift := uint(0); ; shift += 7 {
  1422  						if shift >= 64 {
  1423  							return ErrIntOverflow
  1424  						}
  1425  						if iNdEx >= l {
  1426  							return io.ErrUnexpectedEOF
  1427  						}
  1428  						b := dAtA[iNdEx]
  1429  						iNdEx++
  1430  						stringLenmapkey |= uint64(b&0x7F) << shift
  1431  						if b < 0x80 {
  1432  							break
  1433  						}
  1434  					}
  1435  					intStringLenmapkey := int(stringLenmapkey)
  1436  					if intStringLenmapkey < 0 {
  1437  						return ErrInvalidLength
  1438  					}
  1439  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  1440  					if postStringIndexmapkey < 0 {
  1441  						return ErrInvalidLength
  1442  					}
  1443  					if postStringIndexmapkey > l {
  1444  						return io.ErrUnexpectedEOF
  1445  					}
  1446  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  1447  					iNdEx = postStringIndexmapkey
  1448  				} else if fieldNum == 2 {
  1449  					var mapmsglen int
  1450  					for shift := uint(0); ; shift += 7 {
  1451  						if shift >= 64 {
  1452  							return ErrIntOverflow
  1453  						}
  1454  						if iNdEx >= l {
  1455  							return io.ErrUnexpectedEOF
  1456  						}
  1457  						b := dAtA[iNdEx]
  1458  						iNdEx++
  1459  						mapmsglen |= int(b&0x7F) << shift
  1460  						if b < 0x80 {
  1461  							break
  1462  						}
  1463  					}
  1464  					if mapmsglen < 0 {
  1465  						return ErrInvalidLength
  1466  					}
  1467  					postmsgIndex := iNdEx + mapmsglen
  1468  					if postmsgIndex < 0 {
  1469  						return ErrInvalidLength
  1470  					}
  1471  					if postmsgIndex > l {
  1472  						return io.ErrUnexpectedEOF
  1473  					}
  1474  					mapvalue = &Table{}
  1475  					if err := mapvalue.UnmarshalVT(dAtA[iNdEx:postmsgIndex]); err != nil {
  1476  						return err
  1477  					}
  1478  					iNdEx = postmsgIndex
  1479  				} else {
  1480  					iNdEx = entryPreIndex
  1481  					skippy, err := skip(dAtA[iNdEx:])
  1482  					if err != nil {
  1483  						return err
  1484  					}
  1485  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  1486  						return ErrInvalidLength
  1487  					}
  1488  					if (iNdEx + skippy) > postIndex {
  1489  						return io.ErrUnexpectedEOF
  1490  					}
  1491  					iNdEx += skippy
  1492  				}
  1493  			}
  1494  			m.Tables[mapkey] = mapvalue
  1495  			iNdEx = postIndex
  1496  		case 4:
  1497  			if wireType != 0 {
  1498  				return fmt.Errorf("proto: wrong wireType = %d for field RequireExplicitRouting", wireType)
  1499  			}
  1500  			var v int
  1501  			for shift := uint(0); ; shift += 7 {
  1502  				if shift >= 64 {
  1503  					return ErrIntOverflow
  1504  				}
  1505  				if iNdEx >= l {
  1506  					return io.ErrUnexpectedEOF
  1507  				}
  1508  				b := dAtA[iNdEx]
  1509  				iNdEx++
  1510  				v |= int(b&0x7F) << shift
  1511  				if b < 0x80 {
  1512  					break
  1513  				}
  1514  			}
  1515  			m.RequireExplicitRouting = bool(v != 0)
  1516  		default:
  1517  			iNdEx = preIndex
  1518  			skippy, err := skip(dAtA[iNdEx:])
  1519  			if err != nil {
  1520  				return err
  1521  			}
  1522  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1523  				return ErrInvalidLength
  1524  			}
  1525  			if (iNdEx + skippy) > l {
  1526  				return io.ErrUnexpectedEOF
  1527  			}
  1528  			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  1529  			iNdEx += skippy
  1530  		}
  1531  	}
  1532  
  1533  	if iNdEx > l {
  1534  		return io.ErrUnexpectedEOF
  1535  	}
  1536  	return nil
  1537  }
  1538  func (m *Vindex) UnmarshalVT(dAtA []byte) error {
  1539  	l := len(dAtA)
  1540  	iNdEx := 0
  1541  	for iNdEx < l {
  1542  		preIndex := iNdEx
  1543  		var wire uint64
  1544  		for shift := uint(0); ; shift += 7 {
  1545  			if shift >= 64 {
  1546  				return ErrIntOverflow
  1547  			}
  1548  			if iNdEx >= l {
  1549  				return io.ErrUnexpectedEOF
  1550  			}
  1551  			b := dAtA[iNdEx]
  1552  			iNdEx++
  1553  			wire |= uint64(b&0x7F) << shift
  1554  			if b < 0x80 {
  1555  				break
  1556  			}
  1557  		}
  1558  		fieldNum := int32(wire >> 3)
  1559  		wireType := int(wire & 0x7)
  1560  		if wireType == 4 {
  1561  			return fmt.Errorf("proto: Vindex: wiretype end group for non-group")
  1562  		}
  1563  		if fieldNum <= 0 {
  1564  			return fmt.Errorf("proto: Vindex: illegal tag %d (wire type %d)", fieldNum, wire)
  1565  		}
  1566  		switch fieldNum {
  1567  		case 1:
  1568  			if wireType != 2 {
  1569  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  1570  			}
  1571  			var stringLen uint64
  1572  			for shift := uint(0); ; shift += 7 {
  1573  				if shift >= 64 {
  1574  					return ErrIntOverflow
  1575  				}
  1576  				if iNdEx >= l {
  1577  					return io.ErrUnexpectedEOF
  1578  				}
  1579  				b := dAtA[iNdEx]
  1580  				iNdEx++
  1581  				stringLen |= uint64(b&0x7F) << shift
  1582  				if b < 0x80 {
  1583  					break
  1584  				}
  1585  			}
  1586  			intStringLen := int(stringLen)
  1587  			if intStringLen < 0 {
  1588  				return ErrInvalidLength
  1589  			}
  1590  			postIndex := iNdEx + intStringLen
  1591  			if postIndex < 0 {
  1592  				return ErrInvalidLength
  1593  			}
  1594  			if postIndex > l {
  1595  				return io.ErrUnexpectedEOF
  1596  			}
  1597  			m.Type = string(dAtA[iNdEx:postIndex])
  1598  			iNdEx = postIndex
  1599  		case 2:
  1600  			if wireType != 2 {
  1601  				return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType)
  1602  			}
  1603  			var msglen int
  1604  			for shift := uint(0); ; shift += 7 {
  1605  				if shift >= 64 {
  1606  					return ErrIntOverflow
  1607  				}
  1608  				if iNdEx >= l {
  1609  					return io.ErrUnexpectedEOF
  1610  				}
  1611  				b := dAtA[iNdEx]
  1612  				iNdEx++
  1613  				msglen |= int(b&0x7F) << shift
  1614  				if b < 0x80 {
  1615  					break
  1616  				}
  1617  			}
  1618  			if msglen < 0 {
  1619  				return ErrInvalidLength
  1620  			}
  1621  			postIndex := iNdEx + msglen
  1622  			if postIndex < 0 {
  1623  				return ErrInvalidLength
  1624  			}
  1625  			if postIndex > l {
  1626  				return io.ErrUnexpectedEOF
  1627  			}
  1628  			if m.Params == nil {
  1629  				m.Params = make(map[string]string)
  1630  			}
  1631  			var mapkey string
  1632  			var mapvalue string
  1633  			for iNdEx < postIndex {
  1634  				entryPreIndex := iNdEx
  1635  				var wire uint64
  1636  				for shift := uint(0); ; shift += 7 {
  1637  					if shift >= 64 {
  1638  						return ErrIntOverflow
  1639  					}
  1640  					if iNdEx >= l {
  1641  						return io.ErrUnexpectedEOF
  1642  					}
  1643  					b := dAtA[iNdEx]
  1644  					iNdEx++
  1645  					wire |= uint64(b&0x7F) << shift
  1646  					if b < 0x80 {
  1647  						break
  1648  					}
  1649  				}
  1650  				fieldNum := int32(wire >> 3)
  1651  				if fieldNum == 1 {
  1652  					var stringLenmapkey uint64
  1653  					for shift := uint(0); ; shift += 7 {
  1654  						if shift >= 64 {
  1655  							return ErrIntOverflow
  1656  						}
  1657  						if iNdEx >= l {
  1658  							return io.ErrUnexpectedEOF
  1659  						}
  1660  						b := dAtA[iNdEx]
  1661  						iNdEx++
  1662  						stringLenmapkey |= uint64(b&0x7F) << shift
  1663  						if b < 0x80 {
  1664  							break
  1665  						}
  1666  					}
  1667  					intStringLenmapkey := int(stringLenmapkey)
  1668  					if intStringLenmapkey < 0 {
  1669  						return ErrInvalidLength
  1670  					}
  1671  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  1672  					if postStringIndexmapkey < 0 {
  1673  						return ErrInvalidLength
  1674  					}
  1675  					if postStringIndexmapkey > l {
  1676  						return io.ErrUnexpectedEOF
  1677  					}
  1678  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  1679  					iNdEx = postStringIndexmapkey
  1680  				} else if fieldNum == 2 {
  1681  					var stringLenmapvalue uint64
  1682  					for shift := uint(0); ; shift += 7 {
  1683  						if shift >= 64 {
  1684  							return ErrIntOverflow
  1685  						}
  1686  						if iNdEx >= l {
  1687  							return io.ErrUnexpectedEOF
  1688  						}
  1689  						b := dAtA[iNdEx]
  1690  						iNdEx++
  1691  						stringLenmapvalue |= uint64(b&0x7F) << shift
  1692  						if b < 0x80 {
  1693  							break
  1694  						}
  1695  					}
  1696  					intStringLenmapvalue := int(stringLenmapvalue)
  1697  					if intStringLenmapvalue < 0 {
  1698  						return ErrInvalidLength
  1699  					}
  1700  					postStringIndexmapvalue := iNdEx + intStringLenmapvalue
  1701  					if postStringIndexmapvalue < 0 {
  1702  						return ErrInvalidLength
  1703  					}
  1704  					if postStringIndexmapvalue > l {
  1705  						return io.ErrUnexpectedEOF
  1706  					}
  1707  					mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
  1708  					iNdEx = postStringIndexmapvalue
  1709  				} else {
  1710  					iNdEx = entryPreIndex
  1711  					skippy, err := skip(dAtA[iNdEx:])
  1712  					if err != nil {
  1713  						return err
  1714  					}
  1715  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  1716  						return ErrInvalidLength
  1717  					}
  1718  					if (iNdEx + skippy) > postIndex {
  1719  						return io.ErrUnexpectedEOF
  1720  					}
  1721  					iNdEx += skippy
  1722  				}
  1723  			}
  1724  			m.Params[mapkey] = mapvalue
  1725  			iNdEx = postIndex
  1726  		case 3:
  1727  			if wireType != 2 {
  1728  				return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType)
  1729  			}
  1730  			var stringLen uint64
  1731  			for shift := uint(0); ; shift += 7 {
  1732  				if shift >= 64 {
  1733  					return ErrIntOverflow
  1734  				}
  1735  				if iNdEx >= l {
  1736  					return io.ErrUnexpectedEOF
  1737  				}
  1738  				b := dAtA[iNdEx]
  1739  				iNdEx++
  1740  				stringLen |= uint64(b&0x7F) << shift
  1741  				if b < 0x80 {
  1742  					break
  1743  				}
  1744  			}
  1745  			intStringLen := int(stringLen)
  1746  			if intStringLen < 0 {
  1747  				return ErrInvalidLength
  1748  			}
  1749  			postIndex := iNdEx + intStringLen
  1750  			if postIndex < 0 {
  1751  				return ErrInvalidLength
  1752  			}
  1753  			if postIndex > l {
  1754  				return io.ErrUnexpectedEOF
  1755  			}
  1756  			m.Owner = string(dAtA[iNdEx:postIndex])
  1757  			iNdEx = postIndex
  1758  		default:
  1759  			iNdEx = preIndex
  1760  			skippy, err := skip(dAtA[iNdEx:])
  1761  			if err != nil {
  1762  				return err
  1763  			}
  1764  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1765  				return ErrInvalidLength
  1766  			}
  1767  			if (iNdEx + skippy) > l {
  1768  				return io.ErrUnexpectedEOF
  1769  			}
  1770  			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  1771  			iNdEx += skippy
  1772  		}
  1773  	}
  1774  
  1775  	if iNdEx > l {
  1776  		return io.ErrUnexpectedEOF
  1777  	}
  1778  	return nil
  1779  }
  1780  func (m *Table) UnmarshalVT(dAtA []byte) error {
  1781  	l := len(dAtA)
  1782  	iNdEx := 0
  1783  	for iNdEx < l {
  1784  		preIndex := iNdEx
  1785  		var wire uint64
  1786  		for shift := uint(0); ; shift += 7 {
  1787  			if shift >= 64 {
  1788  				return ErrIntOverflow
  1789  			}
  1790  			if iNdEx >= l {
  1791  				return io.ErrUnexpectedEOF
  1792  			}
  1793  			b := dAtA[iNdEx]
  1794  			iNdEx++
  1795  			wire |= uint64(b&0x7F) << shift
  1796  			if b < 0x80 {
  1797  				break
  1798  			}
  1799  		}
  1800  		fieldNum := int32(wire >> 3)
  1801  		wireType := int(wire & 0x7)
  1802  		if wireType == 4 {
  1803  			return fmt.Errorf("proto: Table: wiretype end group for non-group")
  1804  		}
  1805  		if fieldNum <= 0 {
  1806  			return fmt.Errorf("proto: Table: illegal tag %d (wire type %d)", fieldNum, wire)
  1807  		}
  1808  		switch fieldNum {
  1809  		case 1:
  1810  			if wireType != 2 {
  1811  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  1812  			}
  1813  			var stringLen uint64
  1814  			for shift := uint(0); ; shift += 7 {
  1815  				if shift >= 64 {
  1816  					return ErrIntOverflow
  1817  				}
  1818  				if iNdEx >= l {
  1819  					return io.ErrUnexpectedEOF
  1820  				}
  1821  				b := dAtA[iNdEx]
  1822  				iNdEx++
  1823  				stringLen |= uint64(b&0x7F) << shift
  1824  				if b < 0x80 {
  1825  					break
  1826  				}
  1827  			}
  1828  			intStringLen := int(stringLen)
  1829  			if intStringLen < 0 {
  1830  				return ErrInvalidLength
  1831  			}
  1832  			postIndex := iNdEx + intStringLen
  1833  			if postIndex < 0 {
  1834  				return ErrInvalidLength
  1835  			}
  1836  			if postIndex > l {
  1837  				return io.ErrUnexpectedEOF
  1838  			}
  1839  			m.Type = string(dAtA[iNdEx:postIndex])
  1840  			iNdEx = postIndex
  1841  		case 2:
  1842  			if wireType != 2 {
  1843  				return fmt.Errorf("proto: wrong wireType = %d for field ColumnVindexes", wireType)
  1844  			}
  1845  			var msglen int
  1846  			for shift := uint(0); ; shift += 7 {
  1847  				if shift >= 64 {
  1848  					return ErrIntOverflow
  1849  				}
  1850  				if iNdEx >= l {
  1851  					return io.ErrUnexpectedEOF
  1852  				}
  1853  				b := dAtA[iNdEx]
  1854  				iNdEx++
  1855  				msglen |= int(b&0x7F) << shift
  1856  				if b < 0x80 {
  1857  					break
  1858  				}
  1859  			}
  1860  			if msglen < 0 {
  1861  				return ErrInvalidLength
  1862  			}
  1863  			postIndex := iNdEx + msglen
  1864  			if postIndex < 0 {
  1865  				return ErrInvalidLength
  1866  			}
  1867  			if postIndex > l {
  1868  				return io.ErrUnexpectedEOF
  1869  			}
  1870  			m.ColumnVindexes = append(m.ColumnVindexes, &ColumnVindex{})
  1871  			if err := m.ColumnVindexes[len(m.ColumnVindexes)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
  1872  				return err
  1873  			}
  1874  			iNdEx = postIndex
  1875  		case 3:
  1876  			if wireType != 2 {
  1877  				return fmt.Errorf("proto: wrong wireType = %d for field AutoIncrement", wireType)
  1878  			}
  1879  			var msglen int
  1880  			for shift := uint(0); ; shift += 7 {
  1881  				if shift >= 64 {
  1882  					return ErrIntOverflow
  1883  				}
  1884  				if iNdEx >= l {
  1885  					return io.ErrUnexpectedEOF
  1886  				}
  1887  				b := dAtA[iNdEx]
  1888  				iNdEx++
  1889  				msglen |= int(b&0x7F) << shift
  1890  				if b < 0x80 {
  1891  					break
  1892  				}
  1893  			}
  1894  			if msglen < 0 {
  1895  				return ErrInvalidLength
  1896  			}
  1897  			postIndex := iNdEx + msglen
  1898  			if postIndex < 0 {
  1899  				return ErrInvalidLength
  1900  			}
  1901  			if postIndex > l {
  1902  				return io.ErrUnexpectedEOF
  1903  			}
  1904  			if m.AutoIncrement == nil {
  1905  				m.AutoIncrement = &AutoIncrement{}
  1906  			}
  1907  			if err := m.AutoIncrement.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
  1908  				return err
  1909  			}
  1910  			iNdEx = postIndex
  1911  		case 4:
  1912  			if wireType != 2 {
  1913  				return fmt.Errorf("proto: wrong wireType = %d for field Columns", wireType)
  1914  			}
  1915  			var msglen int
  1916  			for shift := uint(0); ; shift += 7 {
  1917  				if shift >= 64 {
  1918  					return ErrIntOverflow
  1919  				}
  1920  				if iNdEx >= l {
  1921  					return io.ErrUnexpectedEOF
  1922  				}
  1923  				b := dAtA[iNdEx]
  1924  				iNdEx++
  1925  				msglen |= int(b&0x7F) << shift
  1926  				if b < 0x80 {
  1927  					break
  1928  				}
  1929  			}
  1930  			if msglen < 0 {
  1931  				return ErrInvalidLength
  1932  			}
  1933  			postIndex := iNdEx + msglen
  1934  			if postIndex < 0 {
  1935  				return ErrInvalidLength
  1936  			}
  1937  			if postIndex > l {
  1938  				return io.ErrUnexpectedEOF
  1939  			}
  1940  			m.Columns = append(m.Columns, &Column{})
  1941  			if err := m.Columns[len(m.Columns)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
  1942  				return err
  1943  			}
  1944  			iNdEx = postIndex
  1945  		case 5:
  1946  			if wireType != 2 {
  1947  				return fmt.Errorf("proto: wrong wireType = %d for field Pinned", wireType)
  1948  			}
  1949  			var stringLen uint64
  1950  			for shift := uint(0); ; shift += 7 {
  1951  				if shift >= 64 {
  1952  					return ErrIntOverflow
  1953  				}
  1954  				if iNdEx >= l {
  1955  					return io.ErrUnexpectedEOF
  1956  				}
  1957  				b := dAtA[iNdEx]
  1958  				iNdEx++
  1959  				stringLen |= uint64(b&0x7F) << shift
  1960  				if b < 0x80 {
  1961  					break
  1962  				}
  1963  			}
  1964  			intStringLen := int(stringLen)
  1965  			if intStringLen < 0 {
  1966  				return ErrInvalidLength
  1967  			}
  1968  			postIndex := iNdEx + intStringLen
  1969  			if postIndex < 0 {
  1970  				return ErrInvalidLength
  1971  			}
  1972  			if postIndex > l {
  1973  				return io.ErrUnexpectedEOF
  1974  			}
  1975  			m.Pinned = string(dAtA[iNdEx:postIndex])
  1976  			iNdEx = postIndex
  1977  		case 6:
  1978  			if wireType != 0 {
  1979  				return fmt.Errorf("proto: wrong wireType = %d for field ColumnListAuthoritative", wireType)
  1980  			}
  1981  			var v int
  1982  			for shift := uint(0); ; shift += 7 {
  1983  				if shift >= 64 {
  1984  					return ErrIntOverflow
  1985  				}
  1986  				if iNdEx >= l {
  1987  					return io.ErrUnexpectedEOF
  1988  				}
  1989  				b := dAtA[iNdEx]
  1990  				iNdEx++
  1991  				v |= int(b&0x7F) << shift
  1992  				if b < 0x80 {
  1993  					break
  1994  				}
  1995  			}
  1996  			m.ColumnListAuthoritative = bool(v != 0)
  1997  		case 7:
  1998  			if wireType != 2 {
  1999  				return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType)
  2000  			}
  2001  			var stringLen uint64
  2002  			for shift := uint(0); ; shift += 7 {
  2003  				if shift >= 64 {
  2004  					return ErrIntOverflow
  2005  				}
  2006  				if iNdEx >= l {
  2007  					return io.ErrUnexpectedEOF
  2008  				}
  2009  				b := dAtA[iNdEx]
  2010  				iNdEx++
  2011  				stringLen |= uint64(b&0x7F) << shift
  2012  				if b < 0x80 {
  2013  					break
  2014  				}
  2015  			}
  2016  			intStringLen := int(stringLen)
  2017  			if intStringLen < 0 {
  2018  				return ErrInvalidLength
  2019  			}
  2020  			postIndex := iNdEx + intStringLen
  2021  			if postIndex < 0 {
  2022  				return ErrInvalidLength
  2023  			}
  2024  			if postIndex > l {
  2025  				return io.ErrUnexpectedEOF
  2026  			}
  2027  			m.Source = string(dAtA[iNdEx:postIndex])
  2028  			iNdEx = postIndex
  2029  		default:
  2030  			iNdEx = preIndex
  2031  			skippy, err := skip(dAtA[iNdEx:])
  2032  			if err != nil {
  2033  				return err
  2034  			}
  2035  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2036  				return ErrInvalidLength
  2037  			}
  2038  			if (iNdEx + skippy) > l {
  2039  				return io.ErrUnexpectedEOF
  2040  			}
  2041  			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  2042  			iNdEx += skippy
  2043  		}
  2044  	}
  2045  
  2046  	if iNdEx > l {
  2047  		return io.ErrUnexpectedEOF
  2048  	}
  2049  	return nil
  2050  }
  2051  func (m *ColumnVindex) UnmarshalVT(dAtA []byte) error {
  2052  	l := len(dAtA)
  2053  	iNdEx := 0
  2054  	for iNdEx < l {
  2055  		preIndex := iNdEx
  2056  		var wire uint64
  2057  		for shift := uint(0); ; shift += 7 {
  2058  			if shift >= 64 {
  2059  				return ErrIntOverflow
  2060  			}
  2061  			if iNdEx >= l {
  2062  				return io.ErrUnexpectedEOF
  2063  			}
  2064  			b := dAtA[iNdEx]
  2065  			iNdEx++
  2066  			wire |= uint64(b&0x7F) << shift
  2067  			if b < 0x80 {
  2068  				break
  2069  			}
  2070  		}
  2071  		fieldNum := int32(wire >> 3)
  2072  		wireType := int(wire & 0x7)
  2073  		if wireType == 4 {
  2074  			return fmt.Errorf("proto: ColumnVindex: wiretype end group for non-group")
  2075  		}
  2076  		if fieldNum <= 0 {
  2077  			return fmt.Errorf("proto: ColumnVindex: illegal tag %d (wire type %d)", fieldNum, wire)
  2078  		}
  2079  		switch fieldNum {
  2080  		case 1:
  2081  			if wireType != 2 {
  2082  				return fmt.Errorf("proto: wrong wireType = %d for field Column", wireType)
  2083  			}
  2084  			var stringLen uint64
  2085  			for shift := uint(0); ; shift += 7 {
  2086  				if shift >= 64 {
  2087  					return ErrIntOverflow
  2088  				}
  2089  				if iNdEx >= l {
  2090  					return io.ErrUnexpectedEOF
  2091  				}
  2092  				b := dAtA[iNdEx]
  2093  				iNdEx++
  2094  				stringLen |= uint64(b&0x7F) << shift
  2095  				if b < 0x80 {
  2096  					break
  2097  				}
  2098  			}
  2099  			intStringLen := int(stringLen)
  2100  			if intStringLen < 0 {
  2101  				return ErrInvalidLength
  2102  			}
  2103  			postIndex := iNdEx + intStringLen
  2104  			if postIndex < 0 {
  2105  				return ErrInvalidLength
  2106  			}
  2107  			if postIndex > l {
  2108  				return io.ErrUnexpectedEOF
  2109  			}
  2110  			m.Column = string(dAtA[iNdEx:postIndex])
  2111  			iNdEx = postIndex
  2112  		case 2:
  2113  			if wireType != 2 {
  2114  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2115  			}
  2116  			var stringLen uint64
  2117  			for shift := uint(0); ; shift += 7 {
  2118  				if shift >= 64 {
  2119  					return ErrIntOverflow
  2120  				}
  2121  				if iNdEx >= l {
  2122  					return io.ErrUnexpectedEOF
  2123  				}
  2124  				b := dAtA[iNdEx]
  2125  				iNdEx++
  2126  				stringLen |= uint64(b&0x7F) << shift
  2127  				if b < 0x80 {
  2128  					break
  2129  				}
  2130  			}
  2131  			intStringLen := int(stringLen)
  2132  			if intStringLen < 0 {
  2133  				return ErrInvalidLength
  2134  			}
  2135  			postIndex := iNdEx + intStringLen
  2136  			if postIndex < 0 {
  2137  				return ErrInvalidLength
  2138  			}
  2139  			if postIndex > l {
  2140  				return io.ErrUnexpectedEOF
  2141  			}
  2142  			m.Name = string(dAtA[iNdEx:postIndex])
  2143  			iNdEx = postIndex
  2144  		case 3:
  2145  			if wireType != 2 {
  2146  				return fmt.Errorf("proto: wrong wireType = %d for field Columns", wireType)
  2147  			}
  2148  			var stringLen uint64
  2149  			for shift := uint(0); ; shift += 7 {
  2150  				if shift >= 64 {
  2151  					return ErrIntOverflow
  2152  				}
  2153  				if iNdEx >= l {
  2154  					return io.ErrUnexpectedEOF
  2155  				}
  2156  				b := dAtA[iNdEx]
  2157  				iNdEx++
  2158  				stringLen |= uint64(b&0x7F) << shift
  2159  				if b < 0x80 {
  2160  					break
  2161  				}
  2162  			}
  2163  			intStringLen := int(stringLen)
  2164  			if intStringLen < 0 {
  2165  				return ErrInvalidLength
  2166  			}
  2167  			postIndex := iNdEx + intStringLen
  2168  			if postIndex < 0 {
  2169  				return ErrInvalidLength
  2170  			}
  2171  			if postIndex > l {
  2172  				return io.ErrUnexpectedEOF
  2173  			}
  2174  			m.Columns = append(m.Columns, string(dAtA[iNdEx:postIndex]))
  2175  			iNdEx = postIndex
  2176  		default:
  2177  			iNdEx = preIndex
  2178  			skippy, err := skip(dAtA[iNdEx:])
  2179  			if err != nil {
  2180  				return err
  2181  			}
  2182  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2183  				return ErrInvalidLength
  2184  			}
  2185  			if (iNdEx + skippy) > l {
  2186  				return io.ErrUnexpectedEOF
  2187  			}
  2188  			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  2189  			iNdEx += skippy
  2190  		}
  2191  	}
  2192  
  2193  	if iNdEx > l {
  2194  		return io.ErrUnexpectedEOF
  2195  	}
  2196  	return nil
  2197  }
  2198  func (m *AutoIncrement) UnmarshalVT(dAtA []byte) error {
  2199  	l := len(dAtA)
  2200  	iNdEx := 0
  2201  	for iNdEx < l {
  2202  		preIndex := iNdEx
  2203  		var wire uint64
  2204  		for shift := uint(0); ; shift += 7 {
  2205  			if shift >= 64 {
  2206  				return ErrIntOverflow
  2207  			}
  2208  			if iNdEx >= l {
  2209  				return io.ErrUnexpectedEOF
  2210  			}
  2211  			b := dAtA[iNdEx]
  2212  			iNdEx++
  2213  			wire |= uint64(b&0x7F) << shift
  2214  			if b < 0x80 {
  2215  				break
  2216  			}
  2217  		}
  2218  		fieldNum := int32(wire >> 3)
  2219  		wireType := int(wire & 0x7)
  2220  		if wireType == 4 {
  2221  			return fmt.Errorf("proto: AutoIncrement: wiretype end group for non-group")
  2222  		}
  2223  		if fieldNum <= 0 {
  2224  			return fmt.Errorf("proto: AutoIncrement: illegal tag %d (wire type %d)", fieldNum, wire)
  2225  		}
  2226  		switch fieldNum {
  2227  		case 1:
  2228  			if wireType != 2 {
  2229  				return fmt.Errorf("proto: wrong wireType = %d for field Column", wireType)
  2230  			}
  2231  			var stringLen uint64
  2232  			for shift := uint(0); ; shift += 7 {
  2233  				if shift >= 64 {
  2234  					return ErrIntOverflow
  2235  				}
  2236  				if iNdEx >= l {
  2237  					return io.ErrUnexpectedEOF
  2238  				}
  2239  				b := dAtA[iNdEx]
  2240  				iNdEx++
  2241  				stringLen |= uint64(b&0x7F) << shift
  2242  				if b < 0x80 {
  2243  					break
  2244  				}
  2245  			}
  2246  			intStringLen := int(stringLen)
  2247  			if intStringLen < 0 {
  2248  				return ErrInvalidLength
  2249  			}
  2250  			postIndex := iNdEx + intStringLen
  2251  			if postIndex < 0 {
  2252  				return ErrInvalidLength
  2253  			}
  2254  			if postIndex > l {
  2255  				return io.ErrUnexpectedEOF
  2256  			}
  2257  			m.Column = string(dAtA[iNdEx:postIndex])
  2258  			iNdEx = postIndex
  2259  		case 2:
  2260  			if wireType != 2 {
  2261  				return fmt.Errorf("proto: wrong wireType = %d for field Sequence", wireType)
  2262  			}
  2263  			var stringLen uint64
  2264  			for shift := uint(0); ; shift += 7 {
  2265  				if shift >= 64 {
  2266  					return ErrIntOverflow
  2267  				}
  2268  				if iNdEx >= l {
  2269  					return io.ErrUnexpectedEOF
  2270  				}
  2271  				b := dAtA[iNdEx]
  2272  				iNdEx++
  2273  				stringLen |= uint64(b&0x7F) << shift
  2274  				if b < 0x80 {
  2275  					break
  2276  				}
  2277  			}
  2278  			intStringLen := int(stringLen)
  2279  			if intStringLen < 0 {
  2280  				return ErrInvalidLength
  2281  			}
  2282  			postIndex := iNdEx + intStringLen
  2283  			if postIndex < 0 {
  2284  				return ErrInvalidLength
  2285  			}
  2286  			if postIndex > l {
  2287  				return io.ErrUnexpectedEOF
  2288  			}
  2289  			m.Sequence = string(dAtA[iNdEx:postIndex])
  2290  			iNdEx = postIndex
  2291  		default:
  2292  			iNdEx = preIndex
  2293  			skippy, err := skip(dAtA[iNdEx:])
  2294  			if err != nil {
  2295  				return err
  2296  			}
  2297  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2298  				return ErrInvalidLength
  2299  			}
  2300  			if (iNdEx + skippy) > l {
  2301  				return io.ErrUnexpectedEOF
  2302  			}
  2303  			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  2304  			iNdEx += skippy
  2305  		}
  2306  	}
  2307  
  2308  	if iNdEx > l {
  2309  		return io.ErrUnexpectedEOF
  2310  	}
  2311  	return nil
  2312  }
  2313  func (m *Column) UnmarshalVT(dAtA []byte) error {
  2314  	l := len(dAtA)
  2315  	iNdEx := 0
  2316  	for iNdEx < l {
  2317  		preIndex := iNdEx
  2318  		var wire uint64
  2319  		for shift := uint(0); ; shift += 7 {
  2320  			if shift >= 64 {
  2321  				return ErrIntOverflow
  2322  			}
  2323  			if iNdEx >= l {
  2324  				return io.ErrUnexpectedEOF
  2325  			}
  2326  			b := dAtA[iNdEx]
  2327  			iNdEx++
  2328  			wire |= uint64(b&0x7F) << shift
  2329  			if b < 0x80 {
  2330  				break
  2331  			}
  2332  		}
  2333  		fieldNum := int32(wire >> 3)
  2334  		wireType := int(wire & 0x7)
  2335  		if wireType == 4 {
  2336  			return fmt.Errorf("proto: Column: wiretype end group for non-group")
  2337  		}
  2338  		if fieldNum <= 0 {
  2339  			return fmt.Errorf("proto: Column: illegal tag %d (wire type %d)", fieldNum, wire)
  2340  		}
  2341  		switch fieldNum {
  2342  		case 1:
  2343  			if wireType != 2 {
  2344  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2345  			}
  2346  			var stringLen uint64
  2347  			for shift := uint(0); ; shift += 7 {
  2348  				if shift >= 64 {
  2349  					return ErrIntOverflow
  2350  				}
  2351  				if iNdEx >= l {
  2352  					return io.ErrUnexpectedEOF
  2353  				}
  2354  				b := dAtA[iNdEx]
  2355  				iNdEx++
  2356  				stringLen |= uint64(b&0x7F) << shift
  2357  				if b < 0x80 {
  2358  					break
  2359  				}
  2360  			}
  2361  			intStringLen := int(stringLen)
  2362  			if intStringLen < 0 {
  2363  				return ErrInvalidLength
  2364  			}
  2365  			postIndex := iNdEx + intStringLen
  2366  			if postIndex < 0 {
  2367  				return ErrInvalidLength
  2368  			}
  2369  			if postIndex > l {
  2370  				return io.ErrUnexpectedEOF
  2371  			}
  2372  			m.Name = string(dAtA[iNdEx:postIndex])
  2373  			iNdEx = postIndex
  2374  		case 2:
  2375  			if wireType != 0 {
  2376  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  2377  			}
  2378  			m.Type = 0
  2379  			for shift := uint(0); ; shift += 7 {
  2380  				if shift >= 64 {
  2381  					return ErrIntOverflow
  2382  				}
  2383  				if iNdEx >= l {
  2384  					return io.ErrUnexpectedEOF
  2385  				}
  2386  				b := dAtA[iNdEx]
  2387  				iNdEx++
  2388  				m.Type |= query.Type(b&0x7F) << shift
  2389  				if b < 0x80 {
  2390  					break
  2391  				}
  2392  			}
  2393  		default:
  2394  			iNdEx = preIndex
  2395  			skippy, err := skip(dAtA[iNdEx:])
  2396  			if err != nil {
  2397  				return err
  2398  			}
  2399  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2400  				return ErrInvalidLength
  2401  			}
  2402  			if (iNdEx + skippy) > l {
  2403  				return io.ErrUnexpectedEOF
  2404  			}
  2405  			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  2406  			iNdEx += skippy
  2407  		}
  2408  	}
  2409  
  2410  	if iNdEx > l {
  2411  		return io.ErrUnexpectedEOF
  2412  	}
  2413  	return nil
  2414  }
  2415  func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
  2416  	l := len(dAtA)
  2417  	iNdEx := 0
  2418  	for iNdEx < l {
  2419  		preIndex := iNdEx
  2420  		var wire uint64
  2421  		for shift := uint(0); ; shift += 7 {
  2422  			if shift >= 64 {
  2423  				return ErrIntOverflow
  2424  			}
  2425  			if iNdEx >= l {
  2426  				return io.ErrUnexpectedEOF
  2427  			}
  2428  			b := dAtA[iNdEx]
  2429  			iNdEx++
  2430  			wire |= uint64(b&0x7F) << shift
  2431  			if b < 0x80 {
  2432  				break
  2433  			}
  2434  		}
  2435  		fieldNum := int32(wire >> 3)
  2436  		wireType := int(wire & 0x7)
  2437  		if wireType == 4 {
  2438  			return fmt.Errorf("proto: SrvVSchema: wiretype end group for non-group")
  2439  		}
  2440  		if fieldNum <= 0 {
  2441  			return fmt.Errorf("proto: SrvVSchema: illegal tag %d (wire type %d)", fieldNum, wire)
  2442  		}
  2443  		switch fieldNum {
  2444  		case 1:
  2445  			if wireType != 2 {
  2446  				return fmt.Errorf("proto: wrong wireType = %d for field Keyspaces", wireType)
  2447  			}
  2448  			var msglen int
  2449  			for shift := uint(0); ; shift += 7 {
  2450  				if shift >= 64 {
  2451  					return ErrIntOverflow
  2452  				}
  2453  				if iNdEx >= l {
  2454  					return io.ErrUnexpectedEOF
  2455  				}
  2456  				b := dAtA[iNdEx]
  2457  				iNdEx++
  2458  				msglen |= int(b&0x7F) << shift
  2459  				if b < 0x80 {
  2460  					break
  2461  				}
  2462  			}
  2463  			if msglen < 0 {
  2464  				return ErrInvalidLength
  2465  			}
  2466  			postIndex := iNdEx + msglen
  2467  			if postIndex < 0 {
  2468  				return ErrInvalidLength
  2469  			}
  2470  			if postIndex > l {
  2471  				return io.ErrUnexpectedEOF
  2472  			}
  2473  			if m.Keyspaces == nil {
  2474  				m.Keyspaces = make(map[string]*Keyspace)
  2475  			}
  2476  			var mapkey string
  2477  			var mapvalue *Keyspace
  2478  			for iNdEx < postIndex {
  2479  				entryPreIndex := iNdEx
  2480  				var wire uint64
  2481  				for shift := uint(0); ; shift += 7 {
  2482  					if shift >= 64 {
  2483  						return ErrIntOverflow
  2484  					}
  2485  					if iNdEx >= l {
  2486  						return io.ErrUnexpectedEOF
  2487  					}
  2488  					b := dAtA[iNdEx]
  2489  					iNdEx++
  2490  					wire |= uint64(b&0x7F) << shift
  2491  					if b < 0x80 {
  2492  						break
  2493  					}
  2494  				}
  2495  				fieldNum := int32(wire >> 3)
  2496  				if fieldNum == 1 {
  2497  					var stringLenmapkey uint64
  2498  					for shift := uint(0); ; shift += 7 {
  2499  						if shift >= 64 {
  2500  							return ErrIntOverflow
  2501  						}
  2502  						if iNdEx >= l {
  2503  							return io.ErrUnexpectedEOF
  2504  						}
  2505  						b := dAtA[iNdEx]
  2506  						iNdEx++
  2507  						stringLenmapkey |= uint64(b&0x7F) << shift
  2508  						if b < 0x80 {
  2509  							break
  2510  						}
  2511  					}
  2512  					intStringLenmapkey := int(stringLenmapkey)
  2513  					if intStringLenmapkey < 0 {
  2514  						return ErrInvalidLength
  2515  					}
  2516  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  2517  					if postStringIndexmapkey < 0 {
  2518  						return ErrInvalidLength
  2519  					}
  2520  					if postStringIndexmapkey > l {
  2521  						return io.ErrUnexpectedEOF
  2522  					}
  2523  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  2524  					iNdEx = postStringIndexmapkey
  2525  				} else if fieldNum == 2 {
  2526  					var mapmsglen int
  2527  					for shift := uint(0); ; shift += 7 {
  2528  						if shift >= 64 {
  2529  							return ErrIntOverflow
  2530  						}
  2531  						if iNdEx >= l {
  2532  							return io.ErrUnexpectedEOF
  2533  						}
  2534  						b := dAtA[iNdEx]
  2535  						iNdEx++
  2536  						mapmsglen |= int(b&0x7F) << shift
  2537  						if b < 0x80 {
  2538  							break
  2539  						}
  2540  					}
  2541  					if mapmsglen < 0 {
  2542  						return ErrInvalidLength
  2543  					}
  2544  					postmsgIndex := iNdEx + mapmsglen
  2545  					if postmsgIndex < 0 {
  2546  						return ErrInvalidLength
  2547  					}
  2548  					if postmsgIndex > l {
  2549  						return io.ErrUnexpectedEOF
  2550  					}
  2551  					mapvalue = &Keyspace{}
  2552  					if err := mapvalue.UnmarshalVT(dAtA[iNdEx:postmsgIndex]); err != nil {
  2553  						return err
  2554  					}
  2555  					iNdEx = postmsgIndex
  2556  				} else {
  2557  					iNdEx = entryPreIndex
  2558  					skippy, err := skip(dAtA[iNdEx:])
  2559  					if err != nil {
  2560  						return err
  2561  					}
  2562  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  2563  						return ErrInvalidLength
  2564  					}
  2565  					if (iNdEx + skippy) > postIndex {
  2566  						return io.ErrUnexpectedEOF
  2567  					}
  2568  					iNdEx += skippy
  2569  				}
  2570  			}
  2571  			m.Keyspaces[mapkey] = mapvalue
  2572  			iNdEx = postIndex
  2573  		case 2:
  2574  			if wireType != 2 {
  2575  				return fmt.Errorf("proto: wrong wireType = %d for field RoutingRules", wireType)
  2576  			}
  2577  			var msglen int
  2578  			for shift := uint(0); ; shift += 7 {
  2579  				if shift >= 64 {
  2580  					return ErrIntOverflow
  2581  				}
  2582  				if iNdEx >= l {
  2583  					return io.ErrUnexpectedEOF
  2584  				}
  2585  				b := dAtA[iNdEx]
  2586  				iNdEx++
  2587  				msglen |= int(b&0x7F) << shift
  2588  				if b < 0x80 {
  2589  					break
  2590  				}
  2591  			}
  2592  			if msglen < 0 {
  2593  				return ErrInvalidLength
  2594  			}
  2595  			postIndex := iNdEx + msglen
  2596  			if postIndex < 0 {
  2597  				return ErrInvalidLength
  2598  			}
  2599  			if postIndex > l {
  2600  				return io.ErrUnexpectedEOF
  2601  			}
  2602  			if m.RoutingRules == nil {
  2603  				m.RoutingRules = &RoutingRules{}
  2604  			}
  2605  			if err := m.RoutingRules.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
  2606  				return err
  2607  			}
  2608  			iNdEx = postIndex
  2609  		case 3:
  2610  			if wireType != 2 {
  2611  				return fmt.Errorf("proto: wrong wireType = %d for field ShardRoutingRules", wireType)
  2612  			}
  2613  			var msglen int
  2614  			for shift := uint(0); ; shift += 7 {
  2615  				if shift >= 64 {
  2616  					return ErrIntOverflow
  2617  				}
  2618  				if iNdEx >= l {
  2619  					return io.ErrUnexpectedEOF
  2620  				}
  2621  				b := dAtA[iNdEx]
  2622  				iNdEx++
  2623  				msglen |= int(b&0x7F) << shift
  2624  				if b < 0x80 {
  2625  					break
  2626  				}
  2627  			}
  2628  			if msglen < 0 {
  2629  				return ErrInvalidLength
  2630  			}
  2631  			postIndex := iNdEx + msglen
  2632  			if postIndex < 0 {
  2633  				return ErrInvalidLength
  2634  			}
  2635  			if postIndex > l {
  2636  				return io.ErrUnexpectedEOF
  2637  			}
  2638  			if m.ShardRoutingRules == nil {
  2639  				m.ShardRoutingRules = &ShardRoutingRules{}
  2640  			}
  2641  			if err := m.ShardRoutingRules.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
  2642  				return err
  2643  			}
  2644  			iNdEx = postIndex
  2645  		default:
  2646  			iNdEx = preIndex
  2647  			skippy, err := skip(dAtA[iNdEx:])
  2648  			if err != nil {
  2649  				return err
  2650  			}
  2651  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2652  				return ErrInvalidLength
  2653  			}
  2654  			if (iNdEx + skippy) > l {
  2655  				return io.ErrUnexpectedEOF
  2656  			}
  2657  			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  2658  			iNdEx += skippy
  2659  		}
  2660  	}
  2661  
  2662  	if iNdEx > l {
  2663  		return io.ErrUnexpectedEOF
  2664  	}
  2665  	return nil
  2666  }
  2667  func (m *ShardRoutingRules) UnmarshalVT(dAtA []byte) error {
  2668  	l := len(dAtA)
  2669  	iNdEx := 0
  2670  	for iNdEx < l {
  2671  		preIndex := iNdEx
  2672  		var wire uint64
  2673  		for shift := uint(0); ; shift += 7 {
  2674  			if shift >= 64 {
  2675  				return ErrIntOverflow
  2676  			}
  2677  			if iNdEx >= l {
  2678  				return io.ErrUnexpectedEOF
  2679  			}
  2680  			b := dAtA[iNdEx]
  2681  			iNdEx++
  2682  			wire |= uint64(b&0x7F) << shift
  2683  			if b < 0x80 {
  2684  				break
  2685  			}
  2686  		}
  2687  		fieldNum := int32(wire >> 3)
  2688  		wireType := int(wire & 0x7)
  2689  		if wireType == 4 {
  2690  			return fmt.Errorf("proto: ShardRoutingRules: wiretype end group for non-group")
  2691  		}
  2692  		if fieldNum <= 0 {
  2693  			return fmt.Errorf("proto: ShardRoutingRules: illegal tag %d (wire type %d)", fieldNum, wire)
  2694  		}
  2695  		switch fieldNum {
  2696  		case 1:
  2697  			if wireType != 2 {
  2698  				return fmt.Errorf("proto: wrong wireType = %d for field Rules", wireType)
  2699  			}
  2700  			var msglen int
  2701  			for shift := uint(0); ; shift += 7 {
  2702  				if shift >= 64 {
  2703  					return ErrIntOverflow
  2704  				}
  2705  				if iNdEx >= l {
  2706  					return io.ErrUnexpectedEOF
  2707  				}
  2708  				b := dAtA[iNdEx]
  2709  				iNdEx++
  2710  				msglen |= int(b&0x7F) << shift
  2711  				if b < 0x80 {
  2712  					break
  2713  				}
  2714  			}
  2715  			if msglen < 0 {
  2716  				return ErrInvalidLength
  2717  			}
  2718  			postIndex := iNdEx + msglen
  2719  			if postIndex < 0 {
  2720  				return ErrInvalidLength
  2721  			}
  2722  			if postIndex > l {
  2723  				return io.ErrUnexpectedEOF
  2724  			}
  2725  			m.Rules = append(m.Rules, &ShardRoutingRule{})
  2726  			if err := m.Rules[len(m.Rules)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
  2727  				return err
  2728  			}
  2729  			iNdEx = postIndex
  2730  		default:
  2731  			iNdEx = preIndex
  2732  			skippy, err := skip(dAtA[iNdEx:])
  2733  			if err != nil {
  2734  				return err
  2735  			}
  2736  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2737  				return ErrInvalidLength
  2738  			}
  2739  			if (iNdEx + skippy) > l {
  2740  				return io.ErrUnexpectedEOF
  2741  			}
  2742  			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  2743  			iNdEx += skippy
  2744  		}
  2745  	}
  2746  
  2747  	if iNdEx > l {
  2748  		return io.ErrUnexpectedEOF
  2749  	}
  2750  	return nil
  2751  }
  2752  func (m *ShardRoutingRule) UnmarshalVT(dAtA []byte) error {
  2753  	l := len(dAtA)
  2754  	iNdEx := 0
  2755  	for iNdEx < l {
  2756  		preIndex := iNdEx
  2757  		var wire uint64
  2758  		for shift := uint(0); ; shift += 7 {
  2759  			if shift >= 64 {
  2760  				return ErrIntOverflow
  2761  			}
  2762  			if iNdEx >= l {
  2763  				return io.ErrUnexpectedEOF
  2764  			}
  2765  			b := dAtA[iNdEx]
  2766  			iNdEx++
  2767  			wire |= uint64(b&0x7F) << shift
  2768  			if b < 0x80 {
  2769  				break
  2770  			}
  2771  		}
  2772  		fieldNum := int32(wire >> 3)
  2773  		wireType := int(wire & 0x7)
  2774  		if wireType == 4 {
  2775  			return fmt.Errorf("proto: ShardRoutingRule: wiretype end group for non-group")
  2776  		}
  2777  		if fieldNum <= 0 {
  2778  			return fmt.Errorf("proto: ShardRoutingRule: illegal tag %d (wire type %d)", fieldNum, wire)
  2779  		}
  2780  		switch fieldNum {
  2781  		case 1:
  2782  			if wireType != 2 {
  2783  				return fmt.Errorf("proto: wrong wireType = %d for field FromKeyspace", wireType)
  2784  			}
  2785  			var stringLen uint64
  2786  			for shift := uint(0); ; shift += 7 {
  2787  				if shift >= 64 {
  2788  					return ErrIntOverflow
  2789  				}
  2790  				if iNdEx >= l {
  2791  					return io.ErrUnexpectedEOF
  2792  				}
  2793  				b := dAtA[iNdEx]
  2794  				iNdEx++
  2795  				stringLen |= uint64(b&0x7F) << shift
  2796  				if b < 0x80 {
  2797  					break
  2798  				}
  2799  			}
  2800  			intStringLen := int(stringLen)
  2801  			if intStringLen < 0 {
  2802  				return ErrInvalidLength
  2803  			}
  2804  			postIndex := iNdEx + intStringLen
  2805  			if postIndex < 0 {
  2806  				return ErrInvalidLength
  2807  			}
  2808  			if postIndex > l {
  2809  				return io.ErrUnexpectedEOF
  2810  			}
  2811  			m.FromKeyspace = string(dAtA[iNdEx:postIndex])
  2812  			iNdEx = postIndex
  2813  		case 2:
  2814  			if wireType != 2 {
  2815  				return fmt.Errorf("proto: wrong wireType = %d for field ToKeyspace", wireType)
  2816  			}
  2817  			var stringLen uint64
  2818  			for shift := uint(0); ; shift += 7 {
  2819  				if shift >= 64 {
  2820  					return ErrIntOverflow
  2821  				}
  2822  				if iNdEx >= l {
  2823  					return io.ErrUnexpectedEOF
  2824  				}
  2825  				b := dAtA[iNdEx]
  2826  				iNdEx++
  2827  				stringLen |= uint64(b&0x7F) << shift
  2828  				if b < 0x80 {
  2829  					break
  2830  				}
  2831  			}
  2832  			intStringLen := int(stringLen)
  2833  			if intStringLen < 0 {
  2834  				return ErrInvalidLength
  2835  			}
  2836  			postIndex := iNdEx + intStringLen
  2837  			if postIndex < 0 {
  2838  				return ErrInvalidLength
  2839  			}
  2840  			if postIndex > l {
  2841  				return io.ErrUnexpectedEOF
  2842  			}
  2843  			m.ToKeyspace = string(dAtA[iNdEx:postIndex])
  2844  			iNdEx = postIndex
  2845  		case 3:
  2846  			if wireType != 2 {
  2847  				return fmt.Errorf("proto: wrong wireType = %d for field Shard", wireType)
  2848  			}
  2849  			var stringLen uint64
  2850  			for shift := uint(0); ; shift += 7 {
  2851  				if shift >= 64 {
  2852  					return ErrIntOverflow
  2853  				}
  2854  				if iNdEx >= l {
  2855  					return io.ErrUnexpectedEOF
  2856  				}
  2857  				b := dAtA[iNdEx]
  2858  				iNdEx++
  2859  				stringLen |= uint64(b&0x7F) << shift
  2860  				if b < 0x80 {
  2861  					break
  2862  				}
  2863  			}
  2864  			intStringLen := int(stringLen)
  2865  			if intStringLen < 0 {
  2866  				return ErrInvalidLength
  2867  			}
  2868  			postIndex := iNdEx + intStringLen
  2869  			if postIndex < 0 {
  2870  				return ErrInvalidLength
  2871  			}
  2872  			if postIndex > l {
  2873  				return io.ErrUnexpectedEOF
  2874  			}
  2875  			m.Shard = string(dAtA[iNdEx:postIndex])
  2876  			iNdEx = postIndex
  2877  		default:
  2878  			iNdEx = preIndex
  2879  			skippy, err := skip(dAtA[iNdEx:])
  2880  			if err != nil {
  2881  				return err
  2882  			}
  2883  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2884  				return ErrInvalidLength
  2885  			}
  2886  			if (iNdEx + skippy) > l {
  2887  				return io.ErrUnexpectedEOF
  2888  			}
  2889  			m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  2890  			iNdEx += skippy
  2891  		}
  2892  	}
  2893  
  2894  	if iNdEx > l {
  2895  		return io.ErrUnexpectedEOF
  2896  	}
  2897  	return nil
  2898  }
  2899  
  2900  func skip(dAtA []byte) (n int, err error) {
  2901  	l := len(dAtA)
  2902  	iNdEx := 0
  2903  	depth := 0
  2904  	for iNdEx < l {
  2905  		var wire uint64
  2906  		for shift := uint(0); ; shift += 7 {
  2907  			if shift >= 64 {
  2908  				return 0, ErrIntOverflow
  2909  			}
  2910  			if iNdEx >= l {
  2911  				return 0, io.ErrUnexpectedEOF
  2912  			}
  2913  			b := dAtA[iNdEx]
  2914  			iNdEx++
  2915  			wire |= (uint64(b) & 0x7F) << shift
  2916  			if b < 0x80 {
  2917  				break
  2918  			}
  2919  		}
  2920  		wireType := int(wire & 0x7)
  2921  		switch wireType {
  2922  		case 0:
  2923  			for shift := uint(0); ; shift += 7 {
  2924  				if shift >= 64 {
  2925  					return 0, ErrIntOverflow
  2926  				}
  2927  				if iNdEx >= l {
  2928  					return 0, io.ErrUnexpectedEOF
  2929  				}
  2930  				iNdEx++
  2931  				if dAtA[iNdEx-1] < 0x80 {
  2932  					break
  2933  				}
  2934  			}
  2935  		case 1:
  2936  			iNdEx += 8
  2937  		case 2:
  2938  			var length int
  2939  			for shift := uint(0); ; shift += 7 {
  2940  				if shift >= 64 {
  2941  					return 0, ErrIntOverflow
  2942  				}
  2943  				if iNdEx >= l {
  2944  					return 0, io.ErrUnexpectedEOF
  2945  				}
  2946  				b := dAtA[iNdEx]
  2947  				iNdEx++
  2948  				length |= (int(b) & 0x7F) << shift
  2949  				if b < 0x80 {
  2950  					break
  2951  				}
  2952  			}
  2953  			if length < 0 {
  2954  				return 0, ErrInvalidLength
  2955  			}
  2956  			iNdEx += length
  2957  		case 3:
  2958  			depth++
  2959  		case 4:
  2960  			if depth == 0 {
  2961  				return 0, ErrUnexpectedEndOfGroup
  2962  			}
  2963  			depth--
  2964  		case 5:
  2965  			iNdEx += 4
  2966  		default:
  2967  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  2968  		}
  2969  		if iNdEx < 0 {
  2970  			return 0, ErrInvalidLength
  2971  		}
  2972  		if depth == 0 {
  2973  			return iNdEx, nil
  2974  		}
  2975  	}
  2976  	return 0, io.ErrUnexpectedEOF
  2977  }
  2978  
  2979  var (
  2980  	ErrInvalidLength        = fmt.Errorf("proto: negative length found during unmarshaling")
  2981  	ErrIntOverflow          = fmt.Errorf("proto: integer overflow")
  2982  	ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
  2983  )