vitess.io/vitess@v0.16.2/go/vt/vtgate/engine/cached_size.go (about)

     1  /*
     2  Copyright 2021 The Vitess Authors.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  // Code generated by Sizegen. DO NOT EDIT.
    17  
    18  package engine
    19  
    20  import (
    21  	"math"
    22  	"reflect"
    23  	"unsafe"
    24  
    25  	hack "vitess.io/vitess/go/hack"
    26  )
    27  
    28  type cachedObject interface {
    29  	CachedSize(alloc bool) int64
    30  }
    31  
    32  func (cached *AggregateParams) CachedSize(alloc bool) int64 {
    33  	if cached == nil {
    34  		return int64(0)
    35  	}
    36  	size := int64(0)
    37  	if alloc {
    38  		size += int64(96)
    39  	}
    40  	// field Alias string
    41  	size += hack.RuntimeAllocSize(int64(len(cached.Alias)))
    42  	// field Expr vitess.io/vitess/go/vt/sqlparser.Expr
    43  	if cc, ok := cached.Expr.(cachedObject); ok {
    44  		size += cc.CachedSize(true)
    45  	}
    46  	// field Original *vitess.io/vitess/go/vt/sqlparser.AliasedExpr
    47  	size += cached.Original.CachedSize(true)
    48  	return size
    49  }
    50  func (cached *AlterVSchema) CachedSize(alloc bool) int64 {
    51  	if cached == nil {
    52  		return int64(0)
    53  	}
    54  	size := int64(0)
    55  	if alloc {
    56  		size += int64(16)
    57  	}
    58  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
    59  	size += cached.Keyspace.CachedSize(true)
    60  	// field AlterVschemaDDL *vitess.io/vitess/go/vt/sqlparser.AlterVschema
    61  	size += cached.AlterVschemaDDL.CachedSize(true)
    62  	return size
    63  }
    64  func (cached *CheckCol) CachedSize(alloc bool) int64 {
    65  	if cached == nil {
    66  		return int64(0)
    67  	}
    68  	size := int64(0)
    69  	if alloc {
    70  		size += int64(24)
    71  	}
    72  	// field WsCol *int
    73  	size += hack.RuntimeAllocSize(int64(8))
    74  	return size
    75  }
    76  
    77  //go:nocheckptr
    78  func (cached *Concatenate) CachedSize(alloc bool) int64 {
    79  	if cached == nil {
    80  		return int64(0)
    81  	}
    82  	size := int64(0)
    83  	if alloc {
    84  		size += int64(32)
    85  	}
    86  	// field Sources []vitess.io/vitess/go/vt/vtgate/engine.Primitive
    87  	{
    88  		size += hack.RuntimeAllocSize(int64(cap(cached.Sources)) * int64(16))
    89  		for _, elem := range cached.Sources {
    90  			if cc, ok := elem.(cachedObject); ok {
    91  				size += cc.CachedSize(true)
    92  			}
    93  		}
    94  	}
    95  	// field NoNeedToTypeCheck map[int]any
    96  	if cached.NoNeedToTypeCheck != nil {
    97  		size += int64(48)
    98  		hmap := reflect.ValueOf(cached.NoNeedToTypeCheck)
    99  		numBuckets := int(math.Pow(2, float64((*(*uint8)(unsafe.Pointer(hmap.Pointer() + uintptr(9)))))))
   100  		numOldBuckets := (*(*uint16)(unsafe.Pointer(hmap.Pointer() + uintptr(10))))
   101  		size += hack.RuntimeAllocSize(int64(numOldBuckets * 208))
   102  		if len(cached.NoNeedToTypeCheck) > 0 || numBuckets > 1 {
   103  			size += hack.RuntimeAllocSize(int64(numBuckets * 208))
   104  		}
   105  	}
   106  	return size
   107  }
   108  func (cached *DBDDL) CachedSize(alloc bool) int64 {
   109  	if cached == nil {
   110  		return int64(0)
   111  	}
   112  	size := int64(0)
   113  	if alloc {
   114  		size += int64(32)
   115  	}
   116  	// field name string
   117  	size += hack.RuntimeAllocSize(int64(len(cached.name)))
   118  	return size
   119  }
   120  func (cached *DDL) CachedSize(alloc bool) int64 {
   121  	if cached == nil {
   122  		return int64(0)
   123  	}
   124  	size := int64(0)
   125  	if alloc {
   126  		size += int64(64)
   127  	}
   128  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
   129  	size += cached.Keyspace.CachedSize(true)
   130  	// field SQL string
   131  	size += hack.RuntimeAllocSize(int64(len(cached.SQL)))
   132  	// field DDL vitess.io/vitess/go/vt/sqlparser.DDLStatement
   133  	if cc, ok := cached.DDL.(cachedObject); ok {
   134  		size += cc.CachedSize(true)
   135  	}
   136  	// field NormalDDL *vitess.io/vitess/go/vt/vtgate/engine.Send
   137  	size += cached.NormalDDL.CachedSize(true)
   138  	// field OnlineDDL *vitess.io/vitess/go/vt/vtgate/engine.OnlineDDL
   139  	size += cached.OnlineDDL.CachedSize(true)
   140  	return size
   141  }
   142  func (cached *DML) CachedSize(alloc bool) int64 {
   143  	if cached == nil {
   144  		return int64(0)
   145  	}
   146  	size := int64(0)
   147  	if alloc {
   148  		size += int64(112)
   149  	}
   150  	// field Query string
   151  	size += hack.RuntimeAllocSize(int64(len(cached.Query)))
   152  	// field KsidVindex vitess.io/vitess/go/vt/vtgate/vindexes.Vindex
   153  	if cc, ok := cached.KsidVindex.(cachedObject); ok {
   154  		size += cc.CachedSize(true)
   155  	}
   156  	// field Table []*vitess.io/vitess/go/vt/vtgate/vindexes.Table
   157  	{
   158  		size += hack.RuntimeAllocSize(int64(cap(cached.Table)) * int64(8))
   159  		for _, elem := range cached.Table {
   160  			size += elem.CachedSize(true)
   161  		}
   162  	}
   163  	// field OwnedVindexQuery string
   164  	size += hack.RuntimeAllocSize(int64(len(cached.OwnedVindexQuery)))
   165  	// field RoutingParameters *vitess.io/vitess/go/vt/vtgate/engine.RoutingParameters
   166  	size += cached.RoutingParameters.CachedSize(true)
   167  	return size
   168  }
   169  func (cached *Delete) CachedSize(alloc bool) int64 {
   170  	if cached == nil {
   171  		return int64(0)
   172  	}
   173  	size := int64(0)
   174  	if alloc {
   175  		size += int64(8)
   176  	}
   177  	// field DML *vitess.io/vitess/go/vt/vtgate/engine.DML
   178  	size += cached.DML.CachedSize(true)
   179  	return size
   180  }
   181  func (cached *Distinct) CachedSize(alloc bool) int64 {
   182  	if cached == nil {
   183  		return int64(0)
   184  	}
   185  	size := int64(0)
   186  	if alloc {
   187  		size += int64(48)
   188  	}
   189  	// field Source vitess.io/vitess/go/vt/vtgate/engine.Primitive
   190  	if cc, ok := cached.Source.(cachedObject); ok {
   191  		size += cc.CachedSize(true)
   192  	}
   193  	// field CheckCols []vitess.io/vitess/go/vt/vtgate/engine.CheckCol
   194  	{
   195  		size += hack.RuntimeAllocSize(int64(cap(cached.CheckCols)) * int64(18))
   196  		for _, elem := range cached.CheckCols {
   197  			size += elem.CachedSize(false)
   198  		}
   199  	}
   200  	return size
   201  }
   202  func (cached *DistinctV3) CachedSize(alloc bool) int64 {
   203  	if cached == nil {
   204  		return int64(0)
   205  	}
   206  	size := int64(0)
   207  	if alloc {
   208  		size += int64(16)
   209  	}
   210  	// field Source vitess.io/vitess/go/vt/vtgate/engine.Primitive
   211  	if cc, ok := cached.Source.(cachedObject); ok {
   212  		size += cc.CachedSize(true)
   213  	}
   214  	return size
   215  }
   216  func (cached *Filter) CachedSize(alloc bool) int64 {
   217  	if cached == nil {
   218  		return int64(0)
   219  	}
   220  	size := int64(0)
   221  	if alloc {
   222  		size += int64(48)
   223  	}
   224  	// field Predicate vitess.io/vitess/go/vt/vtgate/evalengine.Expr
   225  	if cc, ok := cached.Predicate.(cachedObject); ok {
   226  		size += cc.CachedSize(true)
   227  	}
   228  	// field ASTPredicate vitess.io/vitess/go/vt/sqlparser.Expr
   229  	if cc, ok := cached.ASTPredicate.(cachedObject); ok {
   230  		size += cc.CachedSize(true)
   231  	}
   232  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
   233  	if cc, ok := cached.Input.(cachedObject); ok {
   234  		size += cc.CachedSize(true)
   235  	}
   236  	return size
   237  }
   238  func (cached *Gen4CompareV3) CachedSize(alloc bool) int64 {
   239  	if cached == nil {
   240  		return int64(0)
   241  	}
   242  	size := int64(0)
   243  	if alloc {
   244  		size += int64(48)
   245  	}
   246  	// field V3 vitess.io/vitess/go/vt/vtgate/engine.Primitive
   247  	if cc, ok := cached.V3.(cachedObject); ok {
   248  		size += cc.CachedSize(true)
   249  	}
   250  	// field Gen4 vitess.io/vitess/go/vt/vtgate/engine.Primitive
   251  	if cc, ok := cached.Gen4.(cachedObject); ok {
   252  		size += cc.CachedSize(true)
   253  	}
   254  	return size
   255  }
   256  func (cached *Generate) CachedSize(alloc bool) int64 {
   257  	if cached == nil {
   258  		return int64(0)
   259  	}
   260  	size := int64(0)
   261  	if alloc {
   262  		size += int64(48)
   263  	}
   264  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
   265  	size += cached.Keyspace.CachedSize(true)
   266  	// field Query string
   267  	size += hack.RuntimeAllocSize(int64(len(cached.Query)))
   268  	// field Values vitess.io/vitess/go/vt/vtgate/evalengine.Expr
   269  	if cc, ok := cached.Values.(cachedObject); ok {
   270  		size += cc.CachedSize(true)
   271  	}
   272  	return size
   273  }
   274  func (cached *GroupByParams) CachedSize(alloc bool) int64 {
   275  	if cached == nil {
   276  		return int64(0)
   277  	}
   278  	size := int64(0)
   279  	if alloc {
   280  		size += int64(48)
   281  	}
   282  	// field Expr vitess.io/vitess/go/vt/sqlparser.Expr
   283  	if cc, ok := cached.Expr.(cachedObject); ok {
   284  		size += cc.CachedSize(true)
   285  	}
   286  	return size
   287  }
   288  func (cached *HashJoin) CachedSize(alloc bool) int64 {
   289  	if cached == nil {
   290  		return int64(0)
   291  	}
   292  	size := int64(0)
   293  	if alloc {
   294  		size += int64(112)
   295  	}
   296  	// field Left vitess.io/vitess/go/vt/vtgate/engine.Primitive
   297  	if cc, ok := cached.Left.(cachedObject); ok {
   298  		size += cc.CachedSize(true)
   299  	}
   300  	// field Right vitess.io/vitess/go/vt/vtgate/engine.Primitive
   301  	if cc, ok := cached.Right.(cachedObject); ok {
   302  		size += cc.CachedSize(true)
   303  	}
   304  	// field Cols []int
   305  	{
   306  		size += hack.RuntimeAllocSize(int64(cap(cached.Cols)) * int64(8))
   307  	}
   308  	// field ASTPred vitess.io/vitess/go/vt/sqlparser.Expr
   309  	if cc, ok := cached.ASTPred.(cachedObject); ok {
   310  		size += cc.CachedSize(true)
   311  	}
   312  	return size
   313  }
   314  func (cached *Insert) CachedSize(alloc bool) int64 {
   315  	if cached == nil {
   316  		return int64(0)
   317  	}
   318  	size := int64(0)
   319  	if alloc {
   320  		size += int64(224)
   321  	}
   322  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
   323  	size += cached.Keyspace.CachedSize(true)
   324  	// field Query string
   325  	size += hack.RuntimeAllocSize(int64(len(cached.Query)))
   326  	// field VindexValues [][][]vitess.io/vitess/go/vt/vtgate/evalengine.Expr
   327  	{
   328  		size += hack.RuntimeAllocSize(int64(cap(cached.VindexValues)) * int64(24))
   329  		for _, elem := range cached.VindexValues {
   330  			{
   331  				size += hack.RuntimeAllocSize(int64(cap(elem)) * int64(24))
   332  				for _, elem := range elem {
   333  					{
   334  						size += hack.RuntimeAllocSize(int64(cap(elem)) * int64(16))
   335  						for _, elem := range elem {
   336  							if cc, ok := elem.(cachedObject); ok {
   337  								size += cc.CachedSize(true)
   338  							}
   339  						}
   340  					}
   341  				}
   342  			}
   343  		}
   344  	}
   345  	// field ColVindexes []*vitess.io/vitess/go/vt/vtgate/vindexes.ColumnVindex
   346  	{
   347  		size += hack.RuntimeAllocSize(int64(cap(cached.ColVindexes)) * int64(8))
   348  		for _, elem := range cached.ColVindexes {
   349  			size += elem.CachedSize(true)
   350  		}
   351  	}
   352  	// field Table *vitess.io/vitess/go/vt/vtgate/vindexes.Table
   353  	size += cached.Table.CachedSize(true)
   354  	// field Generate *vitess.io/vitess/go/vt/vtgate/engine.Generate
   355  	size += cached.Generate.CachedSize(true)
   356  	// field Prefix string
   357  	size += hack.RuntimeAllocSize(int64(len(cached.Prefix)))
   358  	// field Mid []string
   359  	{
   360  		size += hack.RuntimeAllocSize(int64(cap(cached.Mid)) * int64(16))
   361  		for _, elem := range cached.Mid {
   362  			size += hack.RuntimeAllocSize(int64(len(elem)))
   363  		}
   364  	}
   365  	// field Suffix string
   366  	size += hack.RuntimeAllocSize(int64(len(cached.Suffix)))
   367  	// field VindexValueOffset [][]int
   368  	{
   369  		size += hack.RuntimeAllocSize(int64(cap(cached.VindexValueOffset)) * int64(24))
   370  		for _, elem := range cached.VindexValueOffset {
   371  			{
   372  				size += hack.RuntimeAllocSize(int64(cap(elem)) * int64(8))
   373  			}
   374  		}
   375  	}
   376  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
   377  	if cc, ok := cached.Input.(cachedObject); ok {
   378  		size += cc.CachedSize(true)
   379  	}
   380  	return size
   381  }
   382  
   383  //go:nocheckptr
   384  func (cached *Join) CachedSize(alloc bool) int64 {
   385  	if cached == nil {
   386  		return int64(0)
   387  	}
   388  	size := int64(0)
   389  	if alloc {
   390  		size += int64(80)
   391  	}
   392  	// field Left vitess.io/vitess/go/vt/vtgate/engine.Primitive
   393  	if cc, ok := cached.Left.(cachedObject); ok {
   394  		size += cc.CachedSize(true)
   395  	}
   396  	// field Right vitess.io/vitess/go/vt/vtgate/engine.Primitive
   397  	if cc, ok := cached.Right.(cachedObject); ok {
   398  		size += cc.CachedSize(true)
   399  	}
   400  	// field Cols []int
   401  	{
   402  		size += hack.RuntimeAllocSize(int64(cap(cached.Cols)) * int64(8))
   403  	}
   404  	// field Vars map[string]int
   405  	if cached.Vars != nil {
   406  		size += int64(48)
   407  		hmap := reflect.ValueOf(cached.Vars)
   408  		numBuckets := int(math.Pow(2, float64((*(*uint8)(unsafe.Pointer(hmap.Pointer() + uintptr(9)))))))
   409  		numOldBuckets := (*(*uint16)(unsafe.Pointer(hmap.Pointer() + uintptr(10))))
   410  		size += hack.RuntimeAllocSize(int64(numOldBuckets * 208))
   411  		if len(cached.Vars) > 0 || numBuckets > 1 {
   412  			size += hack.RuntimeAllocSize(int64(numBuckets * 208))
   413  		}
   414  		for k := range cached.Vars {
   415  			size += hack.RuntimeAllocSize(int64(len(k)))
   416  		}
   417  	}
   418  	return size
   419  }
   420  func (cached *Limit) CachedSize(alloc bool) int64 {
   421  	if cached == nil {
   422  		return int64(0)
   423  	}
   424  	size := int64(0)
   425  	if alloc {
   426  		size += int64(48)
   427  	}
   428  	// field Count vitess.io/vitess/go/vt/vtgate/evalengine.Expr
   429  	if cc, ok := cached.Count.(cachedObject); ok {
   430  		size += cc.CachedSize(true)
   431  	}
   432  	// field Offset vitess.io/vitess/go/vt/vtgate/evalengine.Expr
   433  	if cc, ok := cached.Offset.(cachedObject); ok {
   434  		size += cc.CachedSize(true)
   435  	}
   436  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
   437  	if cc, ok := cached.Input.(cachedObject); ok {
   438  		size += cc.CachedSize(true)
   439  	}
   440  	return size
   441  }
   442  func (cached *Lock) CachedSize(alloc bool) int64 {
   443  	if cached == nil {
   444  		return int64(0)
   445  	}
   446  	size := int64(0)
   447  	if alloc {
   448  		size += int64(64)
   449  	}
   450  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
   451  	size += cached.Keyspace.CachedSize(true)
   452  	// field TargetDestination vitess.io/vitess/go/vt/key.Destination
   453  	if cc, ok := cached.TargetDestination.(cachedObject); ok {
   454  		size += cc.CachedSize(true)
   455  	}
   456  	// field FieldQuery string
   457  	size += hack.RuntimeAllocSize(int64(len(cached.FieldQuery)))
   458  	// field LockFunctions []*vitess.io/vitess/go/vt/vtgate/engine.LockFunc
   459  	{
   460  		size += hack.RuntimeAllocSize(int64(cap(cached.LockFunctions)) * int64(8))
   461  		for _, elem := range cached.LockFunctions {
   462  			size += elem.CachedSize(true)
   463  		}
   464  	}
   465  	return size
   466  }
   467  func (cached *LockFunc) CachedSize(alloc bool) int64 {
   468  	if cached == nil {
   469  		return int64(0)
   470  	}
   471  	size := int64(0)
   472  	if alloc {
   473  		size += int64(24)
   474  	}
   475  	// field Typ *vitess.io/vitess/go/vt/sqlparser.LockingFunc
   476  	size += cached.Typ.CachedSize(true)
   477  	// field Name vitess.io/vitess/go/vt/vtgate/evalengine.Expr
   478  	if cc, ok := cached.Name.(cachedObject); ok {
   479  		size += cc.CachedSize(true)
   480  	}
   481  	return size
   482  }
   483  func (cached *MStream) CachedSize(alloc bool) int64 {
   484  	if cached == nil {
   485  		return int64(0)
   486  	}
   487  	size := int64(0)
   488  	if alloc {
   489  		size += int64(48)
   490  	}
   491  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
   492  	size += cached.Keyspace.CachedSize(true)
   493  	// field TargetDestination vitess.io/vitess/go/vt/key.Destination
   494  	if cc, ok := cached.TargetDestination.(cachedObject); ok {
   495  		size += cc.CachedSize(true)
   496  	}
   497  	// field TableName string
   498  	size += hack.RuntimeAllocSize(int64(len(cached.TableName)))
   499  	return size
   500  }
   501  func (cached *MemorySort) CachedSize(alloc bool) int64 {
   502  	if cached == nil {
   503  		return int64(0)
   504  	}
   505  	size := int64(0)
   506  	if alloc {
   507  		size += int64(64)
   508  	}
   509  	// field UpperLimit vitess.io/vitess/go/vt/vtgate/evalengine.Expr
   510  	if cc, ok := cached.UpperLimit.(cachedObject); ok {
   511  		size += cc.CachedSize(true)
   512  	}
   513  	// field OrderBy []vitess.io/vitess/go/vt/vtgate/engine.OrderByParams
   514  	{
   515  		size += hack.RuntimeAllocSize(int64(cap(cached.OrderBy)) * int64(36))
   516  	}
   517  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
   518  	if cc, ok := cached.Input.(cachedObject); ok {
   519  		size += cc.CachedSize(true)
   520  	}
   521  	return size
   522  }
   523  func (cached *MergeSort) CachedSize(alloc bool) int64 {
   524  	if cached == nil {
   525  		return int64(0)
   526  	}
   527  	size := int64(0)
   528  	if alloc {
   529  		size += int64(64)
   530  	}
   531  	// field Primitives []vitess.io/vitess/go/vt/vtgate/engine.StreamExecutor
   532  	{
   533  		size += hack.RuntimeAllocSize(int64(cap(cached.Primitives)) * int64(16))
   534  		for _, elem := range cached.Primitives {
   535  			if cc, ok := elem.(cachedObject); ok {
   536  				size += cc.CachedSize(true)
   537  			}
   538  		}
   539  	}
   540  	// field OrderBy []vitess.io/vitess/go/vt/vtgate/engine.OrderByParams
   541  	{
   542  		size += hack.RuntimeAllocSize(int64(cap(cached.OrderBy)) * int64(36))
   543  	}
   544  	return size
   545  }
   546  func (cached *OnlineDDL) CachedSize(alloc bool) int64 {
   547  	if cached == nil {
   548  		return int64(0)
   549  	}
   550  	size := int64(0)
   551  	if alloc {
   552  		size += int64(64)
   553  	}
   554  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
   555  	size += cached.Keyspace.CachedSize(true)
   556  	// field DDL vitess.io/vitess/go/vt/sqlparser.DDLStatement
   557  	if cc, ok := cached.DDL.(cachedObject); ok {
   558  		size += cc.CachedSize(true)
   559  	}
   560  	// field SQL string
   561  	size += hack.RuntimeAllocSize(int64(len(cached.SQL)))
   562  	// field DDLStrategySetting *vitess.io/vitess/go/vt/schema.DDLStrategySetting
   563  	size += cached.DDLStrategySetting.CachedSize(true)
   564  	// field TargetDestination vitess.io/vitess/go/vt/key.Destination
   565  	if cc, ok := cached.TargetDestination.(cachedObject); ok {
   566  		size += cc.CachedSize(true)
   567  	}
   568  	return size
   569  }
   570  
   571  //go:nocheckptr
   572  func (cached *OrderedAggregate) CachedSize(alloc bool) int64 {
   573  	if cached == nil {
   574  		return int64(0)
   575  	}
   576  	size := int64(0)
   577  	if alloc {
   578  		size += int64(96)
   579  	}
   580  	// field Aggregates []*vitess.io/vitess/go/vt/vtgate/engine.AggregateParams
   581  	{
   582  		size += hack.RuntimeAllocSize(int64(cap(cached.Aggregates)) * int64(8))
   583  		for _, elem := range cached.Aggregates {
   584  			size += elem.CachedSize(true)
   585  		}
   586  	}
   587  	// field GroupByKeys []*vitess.io/vitess/go/vt/vtgate/engine.GroupByParams
   588  	{
   589  		size += hack.RuntimeAllocSize(int64(cap(cached.GroupByKeys)) * int64(8))
   590  		for _, elem := range cached.GroupByKeys {
   591  			size += elem.CachedSize(true)
   592  		}
   593  	}
   594  	// field Collations map[int]vitess.io/vitess/go/mysql/collations.ID
   595  	if cached.Collations != nil {
   596  		size += int64(48)
   597  		hmap := reflect.ValueOf(cached.Collations)
   598  		numBuckets := int(math.Pow(2, float64((*(*uint8)(unsafe.Pointer(hmap.Pointer() + uintptr(9)))))))
   599  		numOldBuckets := (*(*uint16)(unsafe.Pointer(hmap.Pointer() + uintptr(10))))
   600  		size += hack.RuntimeAllocSize(int64(numOldBuckets * 96))
   601  		if len(cached.Collations) > 0 || numBuckets > 1 {
   602  			size += hack.RuntimeAllocSize(int64(numBuckets * 96))
   603  		}
   604  	}
   605  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
   606  	if cc, ok := cached.Input.(cachedObject); ok {
   607  		size += cc.CachedSize(true)
   608  	}
   609  	return size
   610  }
   611  func (cached *Plan) CachedSize(alloc bool) int64 {
   612  	if cached == nil {
   613  		return int64(0)
   614  	}
   615  	size := int64(0)
   616  	if alloc {
   617  		size += int64(144)
   618  	}
   619  	// field Original string
   620  	size += hack.RuntimeAllocSize(int64(len(cached.Original)))
   621  	// field Instructions vitess.io/vitess/go/vt/vtgate/engine.Primitive
   622  	if cc, ok := cached.Instructions.(cachedObject); ok {
   623  		size += cc.CachedSize(true)
   624  	}
   625  	// field BindVarNeeds *vitess.io/vitess/go/vt/sqlparser.BindVarNeeds
   626  	size += cached.BindVarNeeds.CachedSize(true)
   627  	// field Warnings []*vitess.io/vitess/go/vt/proto/query.QueryWarning
   628  	{
   629  		size += hack.RuntimeAllocSize(int64(cap(cached.Warnings)) * int64(8))
   630  		for _, elem := range cached.Warnings {
   631  			size += elem.CachedSize(true)
   632  		}
   633  	}
   634  	// field TablesUsed []string
   635  	{
   636  		size += hack.RuntimeAllocSize(int64(cap(cached.TablesUsed)) * int64(16))
   637  		for _, elem := range cached.TablesUsed {
   638  			size += hack.RuntimeAllocSize(int64(len(elem)))
   639  		}
   640  	}
   641  	return size
   642  }
   643  func (cached *Projection) CachedSize(alloc bool) int64 {
   644  	if cached == nil {
   645  		return int64(0)
   646  	}
   647  	size := int64(0)
   648  	if alloc {
   649  		size += int64(64)
   650  	}
   651  	// field Cols []string
   652  	{
   653  		size += hack.RuntimeAllocSize(int64(cap(cached.Cols)) * int64(16))
   654  		for _, elem := range cached.Cols {
   655  			size += hack.RuntimeAllocSize(int64(len(elem)))
   656  		}
   657  	}
   658  	// field Exprs []vitess.io/vitess/go/vt/vtgate/evalengine.Expr
   659  	{
   660  		size += hack.RuntimeAllocSize(int64(cap(cached.Exprs)) * int64(16))
   661  		for _, elem := range cached.Exprs {
   662  			if cc, ok := elem.(cachedObject); ok {
   663  				size += cc.CachedSize(true)
   664  			}
   665  		}
   666  	}
   667  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
   668  	if cc, ok := cached.Input.(cachedObject); ok {
   669  		size += cc.CachedSize(true)
   670  	}
   671  	return size
   672  }
   673  func (cached *PulloutSubquery) CachedSize(alloc bool) int64 {
   674  	if cached == nil {
   675  		return int64(0)
   676  	}
   677  	size := int64(0)
   678  	if alloc {
   679  		size += int64(80)
   680  	}
   681  	// field SubqueryResult string
   682  	size += hack.RuntimeAllocSize(int64(len(cached.SubqueryResult)))
   683  	// field HasValues string
   684  	size += hack.RuntimeAllocSize(int64(len(cached.HasValues)))
   685  	// field Subquery vitess.io/vitess/go/vt/vtgate/engine.Primitive
   686  	if cc, ok := cached.Subquery.(cachedObject); ok {
   687  		size += cc.CachedSize(true)
   688  	}
   689  	// field Underlying vitess.io/vitess/go/vt/vtgate/engine.Primitive
   690  	if cc, ok := cached.Underlying.(cachedObject); ok {
   691  		size += cc.CachedSize(true)
   692  	}
   693  	return size
   694  }
   695  func (cached *RenameFields) CachedSize(alloc bool) int64 {
   696  	if cached == nil {
   697  		return int64(0)
   698  	}
   699  	size := int64(0)
   700  	if alloc {
   701  		size += int64(64)
   702  	}
   703  	// field Cols []string
   704  	{
   705  		size += hack.RuntimeAllocSize(int64(cap(cached.Cols)) * int64(16))
   706  		for _, elem := range cached.Cols {
   707  			size += hack.RuntimeAllocSize(int64(len(elem)))
   708  		}
   709  	}
   710  	// field Indices []int
   711  	{
   712  		size += hack.RuntimeAllocSize(int64(cap(cached.Indices)) * int64(8))
   713  	}
   714  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
   715  	if cc, ok := cached.Input.(cachedObject); ok {
   716  		size += cc.CachedSize(true)
   717  	}
   718  	return size
   719  }
   720  func (cached *ReplaceVariables) CachedSize(alloc bool) int64 {
   721  	if cached == nil {
   722  		return int64(0)
   723  	}
   724  	size := int64(0)
   725  	if alloc {
   726  		size += int64(16)
   727  	}
   728  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
   729  	if cc, ok := cached.Input.(cachedObject); ok {
   730  		size += cc.CachedSize(true)
   731  	}
   732  	return size
   733  }
   734  func (cached *RevertMigration) CachedSize(alloc bool) int64 {
   735  	if cached == nil {
   736  		return int64(0)
   737  	}
   738  	size := int64(0)
   739  	if alloc {
   740  		size += int64(48)
   741  	}
   742  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
   743  	size += cached.Keyspace.CachedSize(true)
   744  	// field Stmt *vitess.io/vitess/go/vt/sqlparser.RevertMigration
   745  	size += cached.Stmt.CachedSize(true)
   746  	// field Query string
   747  	size += hack.RuntimeAllocSize(int64(len(cached.Query)))
   748  	// field TargetDestination vitess.io/vitess/go/vt/key.Destination
   749  	if cc, ok := cached.TargetDestination.(cachedObject); ok {
   750  		size += cc.CachedSize(true)
   751  	}
   752  	return size
   753  }
   754  func (cached *Route) CachedSize(alloc bool) int64 {
   755  	if cached == nil {
   756  		return int64(0)
   757  	}
   758  	size := int64(0)
   759  	if alloc {
   760  		size += int64(128)
   761  	}
   762  	// field Query string
   763  	size += hack.RuntimeAllocSize(int64(len(cached.Query)))
   764  	// field TableName string
   765  	size += hack.RuntimeAllocSize(int64(len(cached.TableName)))
   766  	// field FieldQuery string
   767  	size += hack.RuntimeAllocSize(int64(len(cached.FieldQuery)))
   768  	// field OrderBy []vitess.io/vitess/go/vt/vtgate/engine.OrderByParams
   769  	{
   770  		size += hack.RuntimeAllocSize(int64(cap(cached.OrderBy)) * int64(36))
   771  	}
   772  	// field RoutingParameters *vitess.io/vitess/go/vt/vtgate/engine.RoutingParameters
   773  	size += cached.RoutingParameters.CachedSize(true)
   774  	return size
   775  }
   776  
   777  //go:nocheckptr
   778  func (cached *RoutingParameters) CachedSize(alloc bool) int64 {
   779  	if cached == nil {
   780  		return int64(0)
   781  	}
   782  	size := int64(0)
   783  	if alloc {
   784  		size += int64(112)
   785  	}
   786  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
   787  	size += cached.Keyspace.CachedSize(true)
   788  	// field SysTableTableSchema []vitess.io/vitess/go/vt/vtgate/evalengine.Expr
   789  	{
   790  		size += hack.RuntimeAllocSize(int64(cap(cached.SysTableTableSchema)) * int64(16))
   791  		for _, elem := range cached.SysTableTableSchema {
   792  			if cc, ok := elem.(cachedObject); ok {
   793  				size += cc.CachedSize(true)
   794  			}
   795  		}
   796  	}
   797  	// field SysTableTableName map[string]vitess.io/vitess/go/vt/vtgate/evalengine.Expr
   798  	if cached.SysTableTableName != nil {
   799  		size += int64(48)
   800  		hmap := reflect.ValueOf(cached.SysTableTableName)
   801  		numBuckets := int(math.Pow(2, float64((*(*uint8)(unsafe.Pointer(hmap.Pointer() + uintptr(9)))))))
   802  		numOldBuckets := (*(*uint16)(unsafe.Pointer(hmap.Pointer() + uintptr(10))))
   803  		size += hack.RuntimeAllocSize(int64(numOldBuckets * 272))
   804  		if len(cached.SysTableTableName) > 0 || numBuckets > 1 {
   805  			size += hack.RuntimeAllocSize(int64(numBuckets * 272))
   806  		}
   807  		for k, v := range cached.SysTableTableName {
   808  			size += hack.RuntimeAllocSize(int64(len(k)))
   809  			if cc, ok := v.(cachedObject); ok {
   810  				size += cc.CachedSize(true)
   811  			}
   812  		}
   813  	}
   814  	// field TargetDestination vitess.io/vitess/go/vt/key.Destination
   815  	if cc, ok := cached.TargetDestination.(cachedObject); ok {
   816  		size += cc.CachedSize(true)
   817  	}
   818  	// field Vindex vitess.io/vitess/go/vt/vtgate/vindexes.Vindex
   819  	if cc, ok := cached.Vindex.(cachedObject); ok {
   820  		size += cc.CachedSize(true)
   821  	}
   822  	// field Values []vitess.io/vitess/go/vt/vtgate/evalengine.Expr
   823  	{
   824  		size += hack.RuntimeAllocSize(int64(cap(cached.Values)) * int64(16))
   825  		for _, elem := range cached.Values {
   826  			if cc, ok := elem.(cachedObject); ok {
   827  				size += cc.CachedSize(true)
   828  			}
   829  		}
   830  	}
   831  	return size
   832  }
   833  func (cached *Rows) CachedSize(alloc bool) int64 {
   834  	if cached == nil {
   835  		return int64(0)
   836  	}
   837  	size := int64(0)
   838  	if alloc {
   839  		size += int64(48)
   840  	}
   841  	// field rows [][]vitess.io/vitess/go/sqltypes.Value
   842  	{
   843  		size += hack.RuntimeAllocSize(int64(cap(cached.rows)) * int64(24))
   844  		for _, elem := range cached.rows {
   845  			{
   846  				size += hack.RuntimeAllocSize(int64(cap(elem)) * int64(32))
   847  				for _, elem := range elem {
   848  					size += elem.CachedSize(false)
   849  				}
   850  			}
   851  		}
   852  	}
   853  	// field fields []*vitess.io/vitess/go/vt/proto/query.Field
   854  	{
   855  		size += hack.RuntimeAllocSize(int64(cap(cached.fields)) * int64(8))
   856  		for _, elem := range cached.fields {
   857  			size += elem.CachedSize(true)
   858  		}
   859  	}
   860  	return size
   861  }
   862  func (cached *SQLCalcFoundRows) CachedSize(alloc bool) int64 {
   863  	if cached == nil {
   864  		return int64(0)
   865  	}
   866  	size := int64(0)
   867  	if alloc {
   868  		size += int64(32)
   869  	}
   870  	// field LimitPrimitive vitess.io/vitess/go/vt/vtgate/engine.Primitive
   871  	if cc, ok := cached.LimitPrimitive.(cachedObject); ok {
   872  		size += cc.CachedSize(true)
   873  	}
   874  	// field CountPrimitive vitess.io/vitess/go/vt/vtgate/engine.Primitive
   875  	if cc, ok := cached.CountPrimitive.(cachedObject); ok {
   876  		size += cc.CachedSize(true)
   877  	}
   878  	return size
   879  }
   880  
   881  //go:nocheckptr
   882  func (cached *ScalarAggregate) CachedSize(alloc bool) int64 {
   883  	if cached == nil {
   884  		return int64(0)
   885  	}
   886  	size := int64(0)
   887  	if alloc {
   888  		size += int64(64)
   889  	}
   890  	// field Aggregates []*vitess.io/vitess/go/vt/vtgate/engine.AggregateParams
   891  	{
   892  		size += hack.RuntimeAllocSize(int64(cap(cached.Aggregates)) * int64(8))
   893  		for _, elem := range cached.Aggregates {
   894  			size += elem.CachedSize(true)
   895  		}
   896  	}
   897  	// field Collations map[int]vitess.io/vitess/go/mysql/collations.ID
   898  	if cached.Collations != nil {
   899  		size += int64(48)
   900  		hmap := reflect.ValueOf(cached.Collations)
   901  		numBuckets := int(math.Pow(2, float64((*(*uint8)(unsafe.Pointer(hmap.Pointer() + uintptr(9)))))))
   902  		numOldBuckets := (*(*uint16)(unsafe.Pointer(hmap.Pointer() + uintptr(10))))
   903  		size += hack.RuntimeAllocSize(int64(numOldBuckets * 96))
   904  		if len(cached.Collations) > 0 || numBuckets > 1 {
   905  			size += hack.RuntimeAllocSize(int64(numBuckets * 96))
   906  		}
   907  	}
   908  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
   909  	if cc, ok := cached.Input.(cachedObject); ok {
   910  		size += cc.CachedSize(true)
   911  	}
   912  	return size
   913  }
   914  
   915  //go:nocheckptr
   916  func (cached *SemiJoin) CachedSize(alloc bool) int64 {
   917  	if cached == nil {
   918  		return int64(0)
   919  	}
   920  	size := int64(0)
   921  	if alloc {
   922  		size += int64(64)
   923  	}
   924  	// field Left vitess.io/vitess/go/vt/vtgate/engine.Primitive
   925  	if cc, ok := cached.Left.(cachedObject); ok {
   926  		size += cc.CachedSize(true)
   927  	}
   928  	// field Right vitess.io/vitess/go/vt/vtgate/engine.Primitive
   929  	if cc, ok := cached.Right.(cachedObject); ok {
   930  		size += cc.CachedSize(true)
   931  	}
   932  	// field Cols []int
   933  	{
   934  		size += hack.RuntimeAllocSize(int64(cap(cached.Cols)) * int64(8))
   935  	}
   936  	// field Vars map[string]int
   937  	if cached.Vars != nil {
   938  		size += int64(48)
   939  		hmap := reflect.ValueOf(cached.Vars)
   940  		numBuckets := int(math.Pow(2, float64((*(*uint8)(unsafe.Pointer(hmap.Pointer() + uintptr(9)))))))
   941  		numOldBuckets := (*(*uint16)(unsafe.Pointer(hmap.Pointer() + uintptr(10))))
   942  		size += hack.RuntimeAllocSize(int64(numOldBuckets * 208))
   943  		if len(cached.Vars) > 0 || numBuckets > 1 {
   944  			size += hack.RuntimeAllocSize(int64(numBuckets * 208))
   945  		}
   946  		for k := range cached.Vars {
   947  			size += hack.RuntimeAllocSize(int64(len(k)))
   948  		}
   949  	}
   950  	return size
   951  }
   952  func (cached *Send) CachedSize(alloc bool) int64 {
   953  	if cached == nil {
   954  		return int64(0)
   955  	}
   956  	size := int64(0)
   957  	if alloc {
   958  		size += int64(48)
   959  	}
   960  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
   961  	size += cached.Keyspace.CachedSize(true)
   962  	// field TargetDestination vitess.io/vitess/go/vt/key.Destination
   963  	if cc, ok := cached.TargetDestination.(cachedObject); ok {
   964  		size += cc.CachedSize(true)
   965  	}
   966  	// field Query string
   967  	size += hack.RuntimeAllocSize(int64(len(cached.Query)))
   968  	return size
   969  }
   970  func (cached *SessionPrimitive) CachedSize(alloc bool) int64 {
   971  	if cached == nil {
   972  		return int64(0)
   973  	}
   974  	size := int64(0)
   975  	if alloc {
   976  		size += int64(24)
   977  	}
   978  	// field name string
   979  	size += hack.RuntimeAllocSize(int64(len(cached.name)))
   980  	return size
   981  }
   982  func (cached *Set) CachedSize(alloc bool) int64 {
   983  	if cached == nil {
   984  		return int64(0)
   985  	}
   986  	size := int64(0)
   987  	if alloc {
   988  		size += int64(48)
   989  	}
   990  	// field Ops []vitess.io/vitess/go/vt/vtgate/engine.SetOp
   991  	{
   992  		size += hack.RuntimeAllocSize(int64(cap(cached.Ops)) * int64(16))
   993  		for _, elem := range cached.Ops {
   994  			if cc, ok := elem.(cachedObject); ok {
   995  				size += cc.CachedSize(true)
   996  			}
   997  		}
   998  	}
   999  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
  1000  	if cc, ok := cached.Input.(cachedObject); ok {
  1001  		size += cc.CachedSize(true)
  1002  	}
  1003  	return size
  1004  }
  1005  func (cached *ShowExec) CachedSize(alloc bool) int64 {
  1006  	if cached == nil {
  1007  		return int64(0)
  1008  	}
  1009  	size := int64(0)
  1010  	if alloc {
  1011  		size += int64(16)
  1012  	}
  1013  	// field ShowFilter *vitess.io/vitess/go/vt/sqlparser.ShowFilter
  1014  	size += cached.ShowFilter.CachedSize(true)
  1015  	return size
  1016  }
  1017  func (cached *SimpleProjection) CachedSize(alloc bool) int64 {
  1018  	if cached == nil {
  1019  		return int64(0)
  1020  	}
  1021  	size := int64(0)
  1022  	if alloc {
  1023  		size += int64(48)
  1024  	}
  1025  	// field Cols []int
  1026  	{
  1027  		size += hack.RuntimeAllocSize(int64(cap(cached.Cols)) * int64(8))
  1028  	}
  1029  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
  1030  	if cc, ok := cached.Input.(cachedObject); ok {
  1031  		size += cc.CachedSize(true)
  1032  	}
  1033  	return size
  1034  }
  1035  func (cached *SysVarCheckAndIgnore) CachedSize(alloc bool) int64 {
  1036  	if cached == nil {
  1037  		return int64(0)
  1038  	}
  1039  	size := int64(0)
  1040  	if alloc {
  1041  		size += int64(64)
  1042  	}
  1043  	// field Name string
  1044  	size += hack.RuntimeAllocSize(int64(len(cached.Name)))
  1045  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
  1046  	size += cached.Keyspace.CachedSize(true)
  1047  	// field TargetDestination vitess.io/vitess/go/vt/key.Destination
  1048  	if cc, ok := cached.TargetDestination.(cachedObject); ok {
  1049  		size += cc.CachedSize(true)
  1050  	}
  1051  	// field Expr string
  1052  	size += hack.RuntimeAllocSize(int64(len(cached.Expr)))
  1053  	return size
  1054  }
  1055  func (cached *SysVarIgnore) CachedSize(alloc bool) int64 {
  1056  	if cached == nil {
  1057  		return int64(0)
  1058  	}
  1059  	size := int64(0)
  1060  	if alloc {
  1061  		size += int64(32)
  1062  	}
  1063  	// field Name string
  1064  	size += hack.RuntimeAllocSize(int64(len(cached.Name)))
  1065  	// field Expr string
  1066  	size += hack.RuntimeAllocSize(int64(len(cached.Expr)))
  1067  	return size
  1068  }
  1069  func (cached *SysVarReservedConn) CachedSize(alloc bool) int64 {
  1070  	if cached == nil {
  1071  		return int64(0)
  1072  	}
  1073  	size := int64(0)
  1074  	if alloc {
  1075  		size += int64(64)
  1076  	}
  1077  	// field Name string
  1078  	size += hack.RuntimeAllocSize(int64(len(cached.Name)))
  1079  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
  1080  	size += cached.Keyspace.CachedSize(true)
  1081  	// field TargetDestination vitess.io/vitess/go/vt/key.Destination
  1082  	if cc, ok := cached.TargetDestination.(cachedObject); ok {
  1083  		size += cc.CachedSize(true)
  1084  	}
  1085  	// field Expr string
  1086  	size += hack.RuntimeAllocSize(int64(len(cached.Expr)))
  1087  	return size
  1088  }
  1089  func (cached *SysVarSetAware) CachedSize(alloc bool) int64 {
  1090  	if cached == nil {
  1091  		return int64(0)
  1092  	}
  1093  	size := int64(0)
  1094  	if alloc {
  1095  		size += int64(32)
  1096  	}
  1097  	// field Name string
  1098  	size += hack.RuntimeAllocSize(int64(len(cached.Name)))
  1099  	// field Expr vitess.io/vitess/go/vt/vtgate/evalengine.Expr
  1100  	if cc, ok := cached.Expr.(cachedObject); ok {
  1101  		size += cc.CachedSize(true)
  1102  	}
  1103  	return size
  1104  }
  1105  
  1106  //go:nocheckptr
  1107  func (cached *Update) CachedSize(alloc bool) int64 {
  1108  	if cached == nil {
  1109  		return int64(0)
  1110  	}
  1111  	size := int64(0)
  1112  	if alloc {
  1113  		size += int64(16)
  1114  	}
  1115  	// field DML *vitess.io/vitess/go/vt/vtgate/engine.DML
  1116  	size += cached.DML.CachedSize(true)
  1117  	// field ChangedVindexValues map[string]*vitess.io/vitess/go/vt/vtgate/engine.VindexValues
  1118  	if cached.ChangedVindexValues != nil {
  1119  		size += int64(48)
  1120  		hmap := reflect.ValueOf(cached.ChangedVindexValues)
  1121  		numBuckets := int(math.Pow(2, float64((*(*uint8)(unsafe.Pointer(hmap.Pointer() + uintptr(9)))))))
  1122  		numOldBuckets := (*(*uint16)(unsafe.Pointer(hmap.Pointer() + uintptr(10))))
  1123  		size += hack.RuntimeAllocSize(int64(numOldBuckets * 208))
  1124  		if len(cached.ChangedVindexValues) > 0 || numBuckets > 1 {
  1125  			size += hack.RuntimeAllocSize(int64(numBuckets * 208))
  1126  		}
  1127  		for k, v := range cached.ChangedVindexValues {
  1128  			size += hack.RuntimeAllocSize(int64(len(k)))
  1129  			size += v.CachedSize(true)
  1130  		}
  1131  	}
  1132  	return size
  1133  }
  1134  func (cached *UpdateTarget) CachedSize(alloc bool) int64 {
  1135  	if cached == nil {
  1136  		return int64(0)
  1137  	}
  1138  	size := int64(0)
  1139  	if alloc {
  1140  		size += int64(16)
  1141  	}
  1142  	// field Target string
  1143  	size += hack.RuntimeAllocSize(int64(len(cached.Target)))
  1144  	return size
  1145  }
  1146  func (cached *UserDefinedVariable) CachedSize(alloc bool) int64 {
  1147  	if cached == nil {
  1148  		return int64(0)
  1149  	}
  1150  	size := int64(0)
  1151  	if alloc {
  1152  		size += int64(32)
  1153  	}
  1154  	// field Name string
  1155  	size += hack.RuntimeAllocSize(int64(len(cached.Name)))
  1156  	// field Expr vitess.io/vitess/go/vt/vtgate/evalengine.Expr
  1157  	if cc, ok := cached.Expr.(cachedObject); ok {
  1158  		size += cc.CachedSize(true)
  1159  	}
  1160  	return size
  1161  }
  1162  func (cached *VExplain) CachedSize(alloc bool) int64 {
  1163  	if cached == nil {
  1164  		return int64(0)
  1165  	}
  1166  	size := int64(0)
  1167  	if alloc {
  1168  		size += int64(24)
  1169  	}
  1170  	// field Input vitess.io/vitess/go/vt/vtgate/engine.Primitive
  1171  	if cc, ok := cached.Input.(cachedObject); ok {
  1172  		size += cc.CachedSize(true)
  1173  	}
  1174  	return size
  1175  }
  1176  func (cached *VStream) CachedSize(alloc bool) int64 {
  1177  	if cached == nil {
  1178  		return int64(0)
  1179  	}
  1180  	size := int64(0)
  1181  	if alloc {
  1182  		size += int64(64)
  1183  	}
  1184  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
  1185  	size += cached.Keyspace.CachedSize(true)
  1186  	// field TargetDestination vitess.io/vitess/go/vt/key.Destination
  1187  	if cc, ok := cached.TargetDestination.(cachedObject); ok {
  1188  		size += cc.CachedSize(true)
  1189  	}
  1190  	// field TableName string
  1191  	size += hack.RuntimeAllocSize(int64(len(cached.TableName)))
  1192  	// field Position string
  1193  	size += hack.RuntimeAllocSize(int64(len(cached.Position)))
  1194  	return size
  1195  }
  1196  func (cached *VindexFunc) CachedSize(alloc bool) int64 {
  1197  	if cached == nil {
  1198  		return int64(0)
  1199  	}
  1200  	size := int64(0)
  1201  	if alloc {
  1202  		size += int64(96)
  1203  	}
  1204  	// field Fields []*vitess.io/vitess/go/vt/proto/query.Field
  1205  	{
  1206  		size += hack.RuntimeAllocSize(int64(cap(cached.Fields)) * int64(8))
  1207  		for _, elem := range cached.Fields {
  1208  			size += elem.CachedSize(true)
  1209  		}
  1210  	}
  1211  	// field Cols []int
  1212  	{
  1213  		size += hack.RuntimeAllocSize(int64(cap(cached.Cols)) * int64(8))
  1214  	}
  1215  	// field Vindex vitess.io/vitess/go/vt/vtgate/vindexes.SingleColumn
  1216  	if cc, ok := cached.Vindex.(cachedObject); ok {
  1217  		size += cc.CachedSize(true)
  1218  	}
  1219  	// field Value vitess.io/vitess/go/vt/vtgate/evalengine.Expr
  1220  	if cc, ok := cached.Value.(cachedObject); ok {
  1221  		size += cc.CachedSize(true)
  1222  	}
  1223  	return size
  1224  }
  1225  func (cached *VindexLookup) CachedSize(alloc bool) int64 {
  1226  	if cached == nil {
  1227  		return int64(0)
  1228  	}
  1229  	size := int64(0)
  1230  	if alloc {
  1231  		size += int64(112)
  1232  	}
  1233  	// field Vindex vitess.io/vitess/go/vt/vtgate/vindexes.LookupPlanable
  1234  	if cc, ok := cached.Vindex.(cachedObject); ok {
  1235  		size += cc.CachedSize(true)
  1236  	}
  1237  	// field Keyspace *vitess.io/vitess/go/vt/vtgate/vindexes.Keyspace
  1238  	size += cached.Keyspace.CachedSize(true)
  1239  	// field Arguments []string
  1240  	{
  1241  		size += hack.RuntimeAllocSize(int64(cap(cached.Arguments)) * int64(16))
  1242  		for _, elem := range cached.Arguments {
  1243  			size += hack.RuntimeAllocSize(int64(len(elem)))
  1244  		}
  1245  	}
  1246  	// field Values []vitess.io/vitess/go/vt/vtgate/evalengine.Expr
  1247  	{
  1248  		size += hack.RuntimeAllocSize(int64(cap(cached.Values)) * int64(16))
  1249  		for _, elem := range cached.Values {
  1250  			if cc, ok := elem.(cachedObject); ok {
  1251  				size += cc.CachedSize(true)
  1252  			}
  1253  		}
  1254  	}
  1255  	// field Lookup vitess.io/vitess/go/vt/vtgate/engine.Primitive
  1256  	if cc, ok := cached.Lookup.(cachedObject); ok {
  1257  		size += cc.CachedSize(true)
  1258  	}
  1259  	// field SendTo *vitess.io/vitess/go/vt/vtgate/engine.Route
  1260  	size += cached.SendTo.CachedSize(true)
  1261  	return size
  1262  }
  1263  
  1264  //go:nocheckptr
  1265  func (cached *VindexValues) CachedSize(alloc bool) int64 {
  1266  	if cached == nil {
  1267  		return int64(0)
  1268  	}
  1269  	size := int64(0)
  1270  	if alloc {
  1271  		size += int64(16)
  1272  	}
  1273  	// field PvMap map[string]vitess.io/vitess/go/vt/vtgate/evalengine.Expr
  1274  	if cached.PvMap != nil {
  1275  		size += int64(48)
  1276  		hmap := reflect.ValueOf(cached.PvMap)
  1277  		numBuckets := int(math.Pow(2, float64((*(*uint8)(unsafe.Pointer(hmap.Pointer() + uintptr(9)))))))
  1278  		numOldBuckets := (*(*uint16)(unsafe.Pointer(hmap.Pointer() + uintptr(10))))
  1279  		size += hack.RuntimeAllocSize(int64(numOldBuckets * 272))
  1280  		if len(cached.PvMap) > 0 || numBuckets > 1 {
  1281  			size += hack.RuntimeAllocSize(int64(numBuckets * 272))
  1282  		}
  1283  		for k, v := range cached.PvMap {
  1284  			size += hack.RuntimeAllocSize(int64(len(k)))
  1285  			if cc, ok := v.(cachedObject); ok {
  1286  				size += cc.CachedSize(true)
  1287  			}
  1288  		}
  1289  	}
  1290  	return size
  1291  }
  1292  func (cached *VitessMetadata) CachedSize(alloc bool) int64 {
  1293  	if cached == nil {
  1294  		return int64(0)
  1295  	}
  1296  	size := int64(0)
  1297  	if alloc {
  1298  		size += int64(32)
  1299  	}
  1300  	// field Name string
  1301  	size += hack.RuntimeAllocSize(int64(len(cached.Name)))
  1302  	// field Value string
  1303  	size += hack.RuntimeAllocSize(int64(len(cached.Value)))
  1304  	return size
  1305  }
  1306  
  1307  //go:nocheckptr
  1308  func (cached *shardRoute) CachedSize(alloc bool) int64 {
  1309  	if cached == nil {
  1310  		return int64(0)
  1311  	}
  1312  	size := int64(0)
  1313  	if alloc {
  1314  		size += int64(48)
  1315  	}
  1316  	// field query string
  1317  	size += hack.RuntimeAllocSize(int64(len(cached.query)))
  1318  	// field rs *vitess.io/vitess/go/vt/srvtopo.ResolvedShard
  1319  	size += cached.rs.CachedSize(true)
  1320  	// field bv map[string]*vitess.io/vitess/go/vt/proto/query.BindVariable
  1321  	if cached.bv != nil {
  1322  		size += int64(48)
  1323  		hmap := reflect.ValueOf(cached.bv)
  1324  		numBuckets := int(math.Pow(2, float64((*(*uint8)(unsafe.Pointer(hmap.Pointer() + uintptr(9)))))))
  1325  		numOldBuckets := (*(*uint16)(unsafe.Pointer(hmap.Pointer() + uintptr(10))))
  1326  		size += hack.RuntimeAllocSize(int64(numOldBuckets * 208))
  1327  		if len(cached.bv) > 0 || numBuckets > 1 {
  1328  			size += hack.RuntimeAllocSize(int64(numBuckets * 208))
  1329  		}
  1330  		for k, v := range cached.bv {
  1331  			size += hack.RuntimeAllocSize(int64(len(k)))
  1332  			size += v.CachedSize(true)
  1333  		}
  1334  	}
  1335  	// field primitive vitess.io/vitess/go/vt/vtgate/engine.Primitive
  1336  	if cc, ok := cached.primitive.(cachedObject); ok {
  1337  		size += cc.CachedSize(true)
  1338  	}
  1339  	return size
  1340  }