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 }