vitess.io/vitess@v0.16.2/go/vt/sqlparser/ast_visit.go (about) 1 /* 2 Copyright 2023 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 ASTHelperGen. DO NOT EDIT. 17 18 package sqlparser 19 20 func VisitSQLNode(in SQLNode, f Visit) error { 21 if in == nil { 22 return nil 23 } 24 switch in := in.(type) { 25 case *AddColumns: 26 return VisitRefOfAddColumns(in, f) 27 case *AddConstraintDefinition: 28 return VisitRefOfAddConstraintDefinition(in, f) 29 case *AddIndexDefinition: 30 return VisitRefOfAddIndexDefinition(in, f) 31 case AlgorithmValue: 32 return VisitAlgorithmValue(in, f) 33 case *AliasedExpr: 34 return VisitRefOfAliasedExpr(in, f) 35 case *AliasedTableExpr: 36 return VisitRefOfAliasedTableExpr(in, f) 37 case *AlterCharset: 38 return VisitRefOfAlterCharset(in, f) 39 case *AlterCheck: 40 return VisitRefOfAlterCheck(in, f) 41 case *AlterColumn: 42 return VisitRefOfAlterColumn(in, f) 43 case *AlterDatabase: 44 return VisitRefOfAlterDatabase(in, f) 45 case *AlterIndex: 46 return VisitRefOfAlterIndex(in, f) 47 case *AlterMigration: 48 return VisitRefOfAlterMigration(in, f) 49 case *AlterTable: 50 return VisitRefOfAlterTable(in, f) 51 case *AlterView: 52 return VisitRefOfAlterView(in, f) 53 case *AlterVschema: 54 return VisitRefOfAlterVschema(in, f) 55 case *AndExpr: 56 return VisitRefOfAndExpr(in, f) 57 case Argument: 58 return VisitArgument(in, f) 59 case *ArgumentLessWindowExpr: 60 return VisitRefOfArgumentLessWindowExpr(in, f) 61 case *AutoIncSpec: 62 return VisitRefOfAutoIncSpec(in, f) 63 case *Avg: 64 return VisitRefOfAvg(in, f) 65 case *Begin: 66 return VisitRefOfBegin(in, f) 67 case *BetweenExpr: 68 return VisitRefOfBetweenExpr(in, f) 69 case *BinaryExpr: 70 return VisitRefOfBinaryExpr(in, f) 71 case *BitAnd: 72 return VisitRefOfBitAnd(in, f) 73 case *BitOr: 74 return VisitRefOfBitOr(in, f) 75 case *BitXor: 76 return VisitRefOfBitXor(in, f) 77 case BoolVal: 78 return VisitBoolVal(in, f) 79 case *CallProc: 80 return VisitRefOfCallProc(in, f) 81 case *CaseExpr: 82 return VisitRefOfCaseExpr(in, f) 83 case *CastExpr: 84 return VisitRefOfCastExpr(in, f) 85 case *ChangeColumn: 86 return VisitRefOfChangeColumn(in, f) 87 case *CharExpr: 88 return VisitRefOfCharExpr(in, f) 89 case *CheckConstraintDefinition: 90 return VisitRefOfCheckConstraintDefinition(in, f) 91 case *ColName: 92 return VisitRefOfColName(in, f) 93 case *CollateExpr: 94 return VisitRefOfCollateExpr(in, f) 95 case *ColumnDefinition: 96 return VisitRefOfColumnDefinition(in, f) 97 case *ColumnType: 98 return VisitRefOfColumnType(in, f) 99 case Columns: 100 return VisitColumns(in, f) 101 case *CommentOnly: 102 return VisitRefOfCommentOnly(in, f) 103 case *Commit: 104 return VisitRefOfCommit(in, f) 105 case *CommonTableExpr: 106 return VisitRefOfCommonTableExpr(in, f) 107 case *ComparisonExpr: 108 return VisitRefOfComparisonExpr(in, f) 109 case *ConstraintDefinition: 110 return VisitRefOfConstraintDefinition(in, f) 111 case *ConvertExpr: 112 return VisitRefOfConvertExpr(in, f) 113 case *ConvertType: 114 return VisitRefOfConvertType(in, f) 115 case *ConvertUsingExpr: 116 return VisitRefOfConvertUsingExpr(in, f) 117 case *Count: 118 return VisitRefOfCount(in, f) 119 case *CountStar: 120 return VisitRefOfCountStar(in, f) 121 case *CreateDatabase: 122 return VisitRefOfCreateDatabase(in, f) 123 case *CreateTable: 124 return VisitRefOfCreateTable(in, f) 125 case *CreateView: 126 return VisitRefOfCreateView(in, f) 127 case *CurTimeFuncExpr: 128 return VisitRefOfCurTimeFuncExpr(in, f) 129 case *DeallocateStmt: 130 return VisitRefOfDeallocateStmt(in, f) 131 case *Default: 132 return VisitRefOfDefault(in, f) 133 case *Definer: 134 return VisitRefOfDefiner(in, f) 135 case *Delete: 136 return VisitRefOfDelete(in, f) 137 case *DerivedTable: 138 return VisitRefOfDerivedTable(in, f) 139 case *DropColumn: 140 return VisitRefOfDropColumn(in, f) 141 case *DropDatabase: 142 return VisitRefOfDropDatabase(in, f) 143 case *DropKey: 144 return VisitRefOfDropKey(in, f) 145 case *DropTable: 146 return VisitRefOfDropTable(in, f) 147 case *DropView: 148 return VisitRefOfDropView(in, f) 149 case *ExecuteStmt: 150 return VisitRefOfExecuteStmt(in, f) 151 case *ExistsExpr: 152 return VisitRefOfExistsExpr(in, f) 153 case *ExplainStmt: 154 return VisitRefOfExplainStmt(in, f) 155 case *ExplainTab: 156 return VisitRefOfExplainTab(in, f) 157 case Exprs: 158 return VisitExprs(in, f) 159 case *ExtractFuncExpr: 160 return VisitRefOfExtractFuncExpr(in, f) 161 case *ExtractValueExpr: 162 return VisitRefOfExtractValueExpr(in, f) 163 case *ExtractedSubquery: 164 return VisitRefOfExtractedSubquery(in, f) 165 case *FirstOrLastValueExpr: 166 return VisitRefOfFirstOrLastValueExpr(in, f) 167 case *Flush: 168 return VisitRefOfFlush(in, f) 169 case *Force: 170 return VisitRefOfForce(in, f) 171 case *ForeignKeyDefinition: 172 return VisitRefOfForeignKeyDefinition(in, f) 173 case *FrameClause: 174 return VisitRefOfFrameClause(in, f) 175 case *FramePoint: 176 return VisitRefOfFramePoint(in, f) 177 case *FromFirstLastClause: 178 return VisitRefOfFromFirstLastClause(in, f) 179 case *FuncExpr: 180 return VisitRefOfFuncExpr(in, f) 181 case *GTIDFuncExpr: 182 return VisitRefOfGTIDFuncExpr(in, f) 183 case GroupBy: 184 return VisitGroupBy(in, f) 185 case *GroupConcatExpr: 186 return VisitRefOfGroupConcatExpr(in, f) 187 case IdentifierCI: 188 return VisitIdentifierCI(in, f) 189 case IdentifierCS: 190 return VisitIdentifierCS(in, f) 191 case *IndexDefinition: 192 return VisitRefOfIndexDefinition(in, f) 193 case *IndexHint: 194 return VisitRefOfIndexHint(in, f) 195 case IndexHints: 196 return VisitIndexHints(in, f) 197 case *IndexInfo: 198 return VisitRefOfIndexInfo(in, f) 199 case *Insert: 200 return VisitRefOfInsert(in, f) 201 case *InsertExpr: 202 return VisitRefOfInsertExpr(in, f) 203 case *IntervalExpr: 204 return VisitRefOfIntervalExpr(in, f) 205 case *IntervalFuncExpr: 206 return VisitRefOfIntervalFuncExpr(in, f) 207 case *IntroducerExpr: 208 return VisitRefOfIntroducerExpr(in, f) 209 case *IsExpr: 210 return VisitRefOfIsExpr(in, f) 211 case *JSONArrayExpr: 212 return VisitRefOfJSONArrayExpr(in, f) 213 case *JSONAttributesExpr: 214 return VisitRefOfJSONAttributesExpr(in, f) 215 case *JSONContainsExpr: 216 return VisitRefOfJSONContainsExpr(in, f) 217 case *JSONContainsPathExpr: 218 return VisitRefOfJSONContainsPathExpr(in, f) 219 case *JSONExtractExpr: 220 return VisitRefOfJSONExtractExpr(in, f) 221 case *JSONKeysExpr: 222 return VisitRefOfJSONKeysExpr(in, f) 223 case *JSONObjectExpr: 224 return VisitRefOfJSONObjectExpr(in, f) 225 case *JSONObjectParam: 226 return VisitRefOfJSONObjectParam(in, f) 227 case *JSONOverlapsExpr: 228 return VisitRefOfJSONOverlapsExpr(in, f) 229 case *JSONPrettyExpr: 230 return VisitRefOfJSONPrettyExpr(in, f) 231 case *JSONQuoteExpr: 232 return VisitRefOfJSONQuoteExpr(in, f) 233 case *JSONRemoveExpr: 234 return VisitRefOfJSONRemoveExpr(in, f) 235 case *JSONSchemaValidFuncExpr: 236 return VisitRefOfJSONSchemaValidFuncExpr(in, f) 237 case *JSONSchemaValidationReportFuncExpr: 238 return VisitRefOfJSONSchemaValidationReportFuncExpr(in, f) 239 case *JSONSearchExpr: 240 return VisitRefOfJSONSearchExpr(in, f) 241 case *JSONStorageFreeExpr: 242 return VisitRefOfJSONStorageFreeExpr(in, f) 243 case *JSONStorageSizeExpr: 244 return VisitRefOfJSONStorageSizeExpr(in, f) 245 case *JSONTableExpr: 246 return VisitRefOfJSONTableExpr(in, f) 247 case *JSONUnquoteExpr: 248 return VisitRefOfJSONUnquoteExpr(in, f) 249 case *JSONValueExpr: 250 return VisitRefOfJSONValueExpr(in, f) 251 case *JSONValueMergeExpr: 252 return VisitRefOfJSONValueMergeExpr(in, f) 253 case *JSONValueModifierExpr: 254 return VisitRefOfJSONValueModifierExpr(in, f) 255 case *JoinCondition: 256 return VisitRefOfJoinCondition(in, f) 257 case *JoinTableExpr: 258 return VisitRefOfJoinTableExpr(in, f) 259 case *JtColumnDefinition: 260 return VisitRefOfJtColumnDefinition(in, f) 261 case *JtOnResponse: 262 return VisitRefOfJtOnResponse(in, f) 263 case *KeyState: 264 return VisitRefOfKeyState(in, f) 265 case *LagLeadExpr: 266 return VisitRefOfLagLeadExpr(in, f) 267 case *Limit: 268 return VisitRefOfLimit(in, f) 269 case ListArg: 270 return VisitListArg(in, f) 271 case *Literal: 272 return VisitRefOfLiteral(in, f) 273 case *Load: 274 return VisitRefOfLoad(in, f) 275 case *LocateExpr: 276 return VisitRefOfLocateExpr(in, f) 277 case *LockOption: 278 return VisitRefOfLockOption(in, f) 279 case *LockTables: 280 return VisitRefOfLockTables(in, f) 281 case *LockingFunc: 282 return VisitRefOfLockingFunc(in, f) 283 case MatchAction: 284 return VisitMatchAction(in, f) 285 case *MatchExpr: 286 return VisitRefOfMatchExpr(in, f) 287 case *Max: 288 return VisitRefOfMax(in, f) 289 case *MemberOfExpr: 290 return VisitRefOfMemberOfExpr(in, f) 291 case *Min: 292 return VisitRefOfMin(in, f) 293 case *ModifyColumn: 294 return VisitRefOfModifyColumn(in, f) 295 case *NTHValueExpr: 296 return VisitRefOfNTHValueExpr(in, f) 297 case *NamedWindow: 298 return VisitRefOfNamedWindow(in, f) 299 case NamedWindows: 300 return VisitNamedWindows(in, f) 301 case *Nextval: 302 return VisitRefOfNextval(in, f) 303 case *NotExpr: 304 return VisitRefOfNotExpr(in, f) 305 case *NtileExpr: 306 return VisitRefOfNtileExpr(in, f) 307 case *NullTreatmentClause: 308 return VisitRefOfNullTreatmentClause(in, f) 309 case *NullVal: 310 return VisitRefOfNullVal(in, f) 311 case *Offset: 312 return VisitRefOfOffset(in, f) 313 case OnDup: 314 return VisitOnDup(in, f) 315 case *OptLike: 316 return VisitRefOfOptLike(in, f) 317 case *OrExpr: 318 return VisitRefOfOrExpr(in, f) 319 case *Order: 320 return VisitRefOfOrder(in, f) 321 case OrderBy: 322 return VisitOrderBy(in, f) 323 case *OrderByOption: 324 return VisitRefOfOrderByOption(in, f) 325 case *OtherAdmin: 326 return VisitRefOfOtherAdmin(in, f) 327 case *OtherRead: 328 return VisitRefOfOtherRead(in, f) 329 case *OverClause: 330 return VisitRefOfOverClause(in, f) 331 case *ParenTableExpr: 332 return VisitRefOfParenTableExpr(in, f) 333 case *ParsedComments: 334 return VisitRefOfParsedComments(in, f) 335 case *PartitionDefinition: 336 return VisitRefOfPartitionDefinition(in, f) 337 case *PartitionDefinitionOptions: 338 return VisitRefOfPartitionDefinitionOptions(in, f) 339 case *PartitionEngine: 340 return VisitRefOfPartitionEngine(in, f) 341 case *PartitionOption: 342 return VisitRefOfPartitionOption(in, f) 343 case *PartitionSpec: 344 return VisitRefOfPartitionSpec(in, f) 345 case *PartitionValueRange: 346 return VisitRefOfPartitionValueRange(in, f) 347 case Partitions: 348 return VisitPartitions(in, f) 349 case *PerformanceSchemaFuncExpr: 350 return VisitRefOfPerformanceSchemaFuncExpr(in, f) 351 case *PrepareStmt: 352 return VisitRefOfPrepareStmt(in, f) 353 case ReferenceAction: 354 return VisitReferenceAction(in, f) 355 case *ReferenceDefinition: 356 return VisitRefOfReferenceDefinition(in, f) 357 case *RegexpInstrExpr: 358 return VisitRefOfRegexpInstrExpr(in, f) 359 case *RegexpLikeExpr: 360 return VisitRefOfRegexpLikeExpr(in, f) 361 case *RegexpReplaceExpr: 362 return VisitRefOfRegexpReplaceExpr(in, f) 363 case *RegexpSubstrExpr: 364 return VisitRefOfRegexpSubstrExpr(in, f) 365 case *Release: 366 return VisitRefOfRelease(in, f) 367 case *RenameColumn: 368 return VisitRefOfRenameColumn(in, f) 369 case *RenameIndex: 370 return VisitRefOfRenameIndex(in, f) 371 case *RenameTable: 372 return VisitRefOfRenameTable(in, f) 373 case *RenameTableName: 374 return VisitRefOfRenameTableName(in, f) 375 case *RevertMigration: 376 return VisitRefOfRevertMigration(in, f) 377 case *Rollback: 378 return VisitRefOfRollback(in, f) 379 case RootNode: 380 return VisitRootNode(in, f) 381 case *SRollback: 382 return VisitRefOfSRollback(in, f) 383 case *Savepoint: 384 return VisitRefOfSavepoint(in, f) 385 case *Select: 386 return VisitRefOfSelect(in, f) 387 case SelectExprs: 388 return VisitSelectExprs(in, f) 389 case *SelectInto: 390 return VisitRefOfSelectInto(in, f) 391 case *Set: 392 return VisitRefOfSet(in, f) 393 case *SetExpr: 394 return VisitRefOfSetExpr(in, f) 395 case SetExprs: 396 return VisitSetExprs(in, f) 397 case *Show: 398 return VisitRefOfShow(in, f) 399 case *ShowBasic: 400 return VisitRefOfShowBasic(in, f) 401 case *ShowCreate: 402 return VisitRefOfShowCreate(in, f) 403 case *ShowFilter: 404 return VisitRefOfShowFilter(in, f) 405 case *ShowMigrationLogs: 406 return VisitRefOfShowMigrationLogs(in, f) 407 case *ShowOther: 408 return VisitRefOfShowOther(in, f) 409 case *ShowThrottledApps: 410 return VisitRefOfShowThrottledApps(in, f) 411 case *ShowThrottlerStatus: 412 return VisitRefOfShowThrottlerStatus(in, f) 413 case *StarExpr: 414 return VisitRefOfStarExpr(in, f) 415 case *Std: 416 return VisitRefOfStd(in, f) 417 case *StdDev: 418 return VisitRefOfStdDev(in, f) 419 case *StdPop: 420 return VisitRefOfStdPop(in, f) 421 case *StdSamp: 422 return VisitRefOfStdSamp(in, f) 423 case *Stream: 424 return VisitRefOfStream(in, f) 425 case *SubPartition: 426 return VisitRefOfSubPartition(in, f) 427 case *SubPartitionDefinition: 428 return VisitRefOfSubPartitionDefinition(in, f) 429 case *SubPartitionDefinitionOptions: 430 return VisitRefOfSubPartitionDefinitionOptions(in, f) 431 case SubPartitionDefinitions: 432 return VisitSubPartitionDefinitions(in, f) 433 case *Subquery: 434 return VisitRefOfSubquery(in, f) 435 case *SubstrExpr: 436 return VisitRefOfSubstrExpr(in, f) 437 case *Sum: 438 return VisitRefOfSum(in, f) 439 case TableExprs: 440 return VisitTableExprs(in, f) 441 case TableName: 442 return VisitTableName(in, f) 443 case TableNames: 444 return VisitTableNames(in, f) 445 case TableOptions: 446 return VisitTableOptions(in, f) 447 case *TableSpec: 448 return VisitRefOfTableSpec(in, f) 449 case *TablespaceOperation: 450 return VisitRefOfTablespaceOperation(in, f) 451 case *TimestampFuncExpr: 452 return VisitRefOfTimestampFuncExpr(in, f) 453 case *TrimFuncExpr: 454 return VisitRefOfTrimFuncExpr(in, f) 455 case *TruncateTable: 456 return VisitRefOfTruncateTable(in, f) 457 case *UnaryExpr: 458 return VisitRefOfUnaryExpr(in, f) 459 case *Union: 460 return VisitRefOfUnion(in, f) 461 case *UnlockTables: 462 return VisitRefOfUnlockTables(in, f) 463 case *Update: 464 return VisitRefOfUpdate(in, f) 465 case *UpdateExpr: 466 return VisitRefOfUpdateExpr(in, f) 467 case UpdateExprs: 468 return VisitUpdateExprs(in, f) 469 case *UpdateXMLExpr: 470 return VisitRefOfUpdateXMLExpr(in, f) 471 case *Use: 472 return VisitRefOfUse(in, f) 473 case *VExplainStmt: 474 return VisitRefOfVExplainStmt(in, f) 475 case *VStream: 476 return VisitRefOfVStream(in, f) 477 case ValTuple: 478 return VisitValTuple(in, f) 479 case *Validation: 480 return VisitRefOfValidation(in, f) 481 case Values: 482 return VisitValues(in, f) 483 case *ValuesFuncExpr: 484 return VisitRefOfValuesFuncExpr(in, f) 485 case *VarPop: 486 return VisitRefOfVarPop(in, f) 487 case *VarSamp: 488 return VisitRefOfVarSamp(in, f) 489 case *Variable: 490 return VisitRefOfVariable(in, f) 491 case *Variance: 492 return VisitRefOfVariance(in, f) 493 case VindexParam: 494 return VisitVindexParam(in, f) 495 case *VindexSpec: 496 return VisitRefOfVindexSpec(in, f) 497 case *WeightStringFuncExpr: 498 return VisitRefOfWeightStringFuncExpr(in, f) 499 case *When: 500 return VisitRefOfWhen(in, f) 501 case *Where: 502 return VisitRefOfWhere(in, f) 503 case *WindowDefinition: 504 return VisitRefOfWindowDefinition(in, f) 505 case WindowDefinitions: 506 return VisitWindowDefinitions(in, f) 507 case *WindowSpecification: 508 return VisitRefOfWindowSpecification(in, f) 509 case *With: 510 return VisitRefOfWith(in, f) 511 case *XorExpr: 512 return VisitRefOfXorExpr(in, f) 513 default: 514 // this should never happen 515 return nil 516 } 517 } 518 func VisitRefOfAddColumns(in *AddColumns, f Visit) error { 519 if in == nil { 520 return nil 521 } 522 if cont, err := f(in); err != nil || !cont { 523 return err 524 } 525 for _, el := range in.Columns { 526 if err := VisitRefOfColumnDefinition(el, f); err != nil { 527 return err 528 } 529 } 530 if err := VisitRefOfColName(in.After, f); err != nil { 531 return err 532 } 533 return nil 534 } 535 func VisitRefOfAddConstraintDefinition(in *AddConstraintDefinition, f Visit) error { 536 if in == nil { 537 return nil 538 } 539 if cont, err := f(in); err != nil || !cont { 540 return err 541 } 542 if err := VisitRefOfConstraintDefinition(in.ConstraintDefinition, f); err != nil { 543 return err 544 } 545 return nil 546 } 547 func VisitRefOfAddIndexDefinition(in *AddIndexDefinition, f Visit) error { 548 if in == nil { 549 return nil 550 } 551 if cont, err := f(in); err != nil || !cont { 552 return err 553 } 554 if err := VisitRefOfIndexDefinition(in.IndexDefinition, f); err != nil { 555 return err 556 } 557 return nil 558 } 559 func VisitRefOfAliasedExpr(in *AliasedExpr, f Visit) error { 560 if in == nil { 561 return nil 562 } 563 if cont, err := f(in); err != nil || !cont { 564 return err 565 } 566 if err := VisitExpr(in.Expr, f); err != nil { 567 return err 568 } 569 if err := VisitIdentifierCI(in.As, f); err != nil { 570 return err 571 } 572 return nil 573 } 574 func VisitRefOfAliasedTableExpr(in *AliasedTableExpr, f Visit) error { 575 if in == nil { 576 return nil 577 } 578 if cont, err := f(in); err != nil || !cont { 579 return err 580 } 581 if err := VisitSimpleTableExpr(in.Expr, f); err != nil { 582 return err 583 } 584 if err := VisitPartitions(in.Partitions, f); err != nil { 585 return err 586 } 587 if err := VisitIdentifierCS(in.As, f); err != nil { 588 return err 589 } 590 if err := VisitIndexHints(in.Hints, f); err != nil { 591 return err 592 } 593 if err := VisitColumns(in.Columns, f); err != nil { 594 return err 595 } 596 return nil 597 } 598 func VisitRefOfAlterCharset(in *AlterCharset, f Visit) error { 599 if in == nil { 600 return nil 601 } 602 if cont, err := f(in); err != nil || !cont { 603 return err 604 } 605 return nil 606 } 607 func VisitRefOfAlterCheck(in *AlterCheck, f Visit) error { 608 if in == nil { 609 return nil 610 } 611 if cont, err := f(in); err != nil || !cont { 612 return err 613 } 614 if err := VisitIdentifierCI(in.Name, f); err != nil { 615 return err 616 } 617 return nil 618 } 619 func VisitRefOfAlterColumn(in *AlterColumn, f Visit) error { 620 if in == nil { 621 return nil 622 } 623 if cont, err := f(in); err != nil || !cont { 624 return err 625 } 626 if err := VisitRefOfColName(in.Column, f); err != nil { 627 return err 628 } 629 if err := VisitExpr(in.DefaultVal, f); err != nil { 630 return err 631 } 632 return nil 633 } 634 func VisitRefOfAlterDatabase(in *AlterDatabase, f Visit) error { 635 if in == nil { 636 return nil 637 } 638 if cont, err := f(in); err != nil || !cont { 639 return err 640 } 641 if err := VisitIdentifierCS(in.DBName, f); err != nil { 642 return err 643 } 644 return nil 645 } 646 func VisitRefOfAlterIndex(in *AlterIndex, f Visit) error { 647 if in == nil { 648 return nil 649 } 650 if cont, err := f(in); err != nil || !cont { 651 return err 652 } 653 if err := VisitIdentifierCI(in.Name, f); err != nil { 654 return err 655 } 656 return nil 657 } 658 func VisitRefOfAlterMigration(in *AlterMigration, f Visit) error { 659 if in == nil { 660 return nil 661 } 662 if cont, err := f(in); err != nil || !cont { 663 return err 664 } 665 if err := VisitRefOfLiteral(in.Ratio, f); err != nil { 666 return err 667 } 668 return nil 669 } 670 func VisitRefOfAlterTable(in *AlterTable, f Visit) error { 671 if in == nil { 672 return nil 673 } 674 if cont, err := f(in); err != nil || !cont { 675 return err 676 } 677 if err := VisitTableName(in.Table, f); err != nil { 678 return err 679 } 680 for _, el := range in.AlterOptions { 681 if err := VisitAlterOption(el, f); err != nil { 682 return err 683 } 684 } 685 if err := VisitRefOfPartitionSpec(in.PartitionSpec, f); err != nil { 686 return err 687 } 688 if err := VisitRefOfPartitionOption(in.PartitionOption, f); err != nil { 689 return err 690 } 691 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 692 return err 693 } 694 return nil 695 } 696 func VisitRefOfAlterView(in *AlterView, f Visit) error { 697 if in == nil { 698 return nil 699 } 700 if cont, err := f(in); err != nil || !cont { 701 return err 702 } 703 if err := VisitTableName(in.ViewName, f); err != nil { 704 return err 705 } 706 if err := VisitRefOfDefiner(in.Definer, f); err != nil { 707 return err 708 } 709 if err := VisitColumns(in.Columns, f); err != nil { 710 return err 711 } 712 if err := VisitSelectStatement(in.Select, f); err != nil { 713 return err 714 } 715 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 716 return err 717 } 718 return nil 719 } 720 func VisitRefOfAlterVschema(in *AlterVschema, f Visit) error { 721 if in == nil { 722 return nil 723 } 724 if cont, err := f(in); err != nil || !cont { 725 return err 726 } 727 if err := VisitTableName(in.Table, f); err != nil { 728 return err 729 } 730 if err := VisitRefOfVindexSpec(in.VindexSpec, f); err != nil { 731 return err 732 } 733 for _, el := range in.VindexCols { 734 if err := VisitIdentifierCI(el, f); err != nil { 735 return err 736 } 737 } 738 if err := VisitRefOfAutoIncSpec(in.AutoIncSpec, f); err != nil { 739 return err 740 } 741 return nil 742 } 743 func VisitRefOfAndExpr(in *AndExpr, f Visit) error { 744 if in == nil { 745 return nil 746 } 747 if cont, err := f(in); err != nil || !cont { 748 return err 749 } 750 if err := VisitExpr(in.Left, f); err != nil { 751 return err 752 } 753 if err := VisitExpr(in.Right, f); err != nil { 754 return err 755 } 756 return nil 757 } 758 func VisitRefOfArgumentLessWindowExpr(in *ArgumentLessWindowExpr, f Visit) error { 759 if in == nil { 760 return nil 761 } 762 if cont, err := f(in); err != nil || !cont { 763 return err 764 } 765 if err := VisitRefOfOverClause(in.OverClause, f); err != nil { 766 return err 767 } 768 return nil 769 } 770 func VisitRefOfAutoIncSpec(in *AutoIncSpec, f Visit) error { 771 if in == nil { 772 return nil 773 } 774 if cont, err := f(in); err != nil || !cont { 775 return err 776 } 777 if err := VisitIdentifierCI(in.Column, f); err != nil { 778 return err 779 } 780 if err := VisitTableName(in.Sequence, f); err != nil { 781 return err 782 } 783 return nil 784 } 785 func VisitRefOfAvg(in *Avg, f Visit) error { 786 if in == nil { 787 return nil 788 } 789 if cont, err := f(in); err != nil || !cont { 790 return err 791 } 792 if err := VisitExpr(in.Arg, f); err != nil { 793 return err 794 } 795 return nil 796 } 797 func VisitRefOfBegin(in *Begin, f Visit) error { 798 if in == nil { 799 return nil 800 } 801 if cont, err := f(in); err != nil || !cont { 802 return err 803 } 804 return nil 805 } 806 func VisitRefOfBetweenExpr(in *BetweenExpr, f Visit) error { 807 if in == nil { 808 return nil 809 } 810 if cont, err := f(in); err != nil || !cont { 811 return err 812 } 813 if err := VisitExpr(in.Left, f); err != nil { 814 return err 815 } 816 if err := VisitExpr(in.From, f); err != nil { 817 return err 818 } 819 if err := VisitExpr(in.To, f); err != nil { 820 return err 821 } 822 return nil 823 } 824 func VisitRefOfBinaryExpr(in *BinaryExpr, f Visit) error { 825 if in == nil { 826 return nil 827 } 828 if cont, err := f(in); err != nil || !cont { 829 return err 830 } 831 if err := VisitExpr(in.Left, f); err != nil { 832 return err 833 } 834 if err := VisitExpr(in.Right, f); err != nil { 835 return err 836 } 837 return nil 838 } 839 func VisitRefOfBitAnd(in *BitAnd, f Visit) error { 840 if in == nil { 841 return nil 842 } 843 if cont, err := f(in); err != nil || !cont { 844 return err 845 } 846 if err := VisitExpr(in.Arg, f); err != nil { 847 return err 848 } 849 return nil 850 } 851 func VisitRefOfBitOr(in *BitOr, f Visit) error { 852 if in == nil { 853 return nil 854 } 855 if cont, err := f(in); err != nil || !cont { 856 return err 857 } 858 if err := VisitExpr(in.Arg, f); err != nil { 859 return err 860 } 861 return nil 862 } 863 func VisitRefOfBitXor(in *BitXor, f Visit) error { 864 if in == nil { 865 return nil 866 } 867 if cont, err := f(in); err != nil || !cont { 868 return err 869 } 870 if err := VisitExpr(in.Arg, f); err != nil { 871 return err 872 } 873 return nil 874 } 875 func VisitRefOfCallProc(in *CallProc, f Visit) error { 876 if in == nil { 877 return nil 878 } 879 if cont, err := f(in); err != nil || !cont { 880 return err 881 } 882 if err := VisitTableName(in.Name, f); err != nil { 883 return err 884 } 885 if err := VisitExprs(in.Params, f); err != nil { 886 return err 887 } 888 return nil 889 } 890 func VisitRefOfCaseExpr(in *CaseExpr, f Visit) error { 891 if in == nil { 892 return nil 893 } 894 if cont, err := f(in); err != nil || !cont { 895 return err 896 } 897 if err := VisitExpr(in.Expr, f); err != nil { 898 return err 899 } 900 for _, el := range in.Whens { 901 if err := VisitRefOfWhen(el, f); err != nil { 902 return err 903 } 904 } 905 if err := VisitExpr(in.Else, f); err != nil { 906 return err 907 } 908 return nil 909 } 910 func VisitRefOfCastExpr(in *CastExpr, f Visit) error { 911 if in == nil { 912 return nil 913 } 914 if cont, err := f(in); err != nil || !cont { 915 return err 916 } 917 if err := VisitExpr(in.Expr, f); err != nil { 918 return err 919 } 920 if err := VisitRefOfConvertType(in.Type, f); err != nil { 921 return err 922 } 923 return nil 924 } 925 func VisitRefOfChangeColumn(in *ChangeColumn, f Visit) error { 926 if in == nil { 927 return nil 928 } 929 if cont, err := f(in); err != nil || !cont { 930 return err 931 } 932 if err := VisitRefOfColName(in.OldColumn, f); err != nil { 933 return err 934 } 935 if err := VisitRefOfColumnDefinition(in.NewColDefinition, f); err != nil { 936 return err 937 } 938 if err := VisitRefOfColName(in.After, f); err != nil { 939 return err 940 } 941 return nil 942 } 943 func VisitRefOfCharExpr(in *CharExpr, f Visit) error { 944 if in == nil { 945 return nil 946 } 947 if cont, err := f(in); err != nil || !cont { 948 return err 949 } 950 if err := VisitExprs(in.Exprs, f); err != nil { 951 return err 952 } 953 return nil 954 } 955 func VisitRefOfCheckConstraintDefinition(in *CheckConstraintDefinition, f Visit) error { 956 if in == nil { 957 return nil 958 } 959 if cont, err := f(in); err != nil || !cont { 960 return err 961 } 962 if err := VisitExpr(in.Expr, f); err != nil { 963 return err 964 } 965 return nil 966 } 967 func VisitRefOfColName(in *ColName, f Visit) error { 968 if in == nil { 969 return nil 970 } 971 if cont, err := f(in); err != nil || !cont { 972 return err 973 } 974 if err := VisitIdentifierCI(in.Name, f); err != nil { 975 return err 976 } 977 if err := VisitTableName(in.Qualifier, f); err != nil { 978 return err 979 } 980 return nil 981 } 982 func VisitRefOfCollateExpr(in *CollateExpr, f Visit) error { 983 if in == nil { 984 return nil 985 } 986 if cont, err := f(in); err != nil || !cont { 987 return err 988 } 989 if err := VisitExpr(in.Expr, f); err != nil { 990 return err 991 } 992 return nil 993 } 994 func VisitRefOfColumnDefinition(in *ColumnDefinition, f Visit) error { 995 if in == nil { 996 return nil 997 } 998 if cont, err := f(in); err != nil || !cont { 999 return err 1000 } 1001 if err := VisitIdentifierCI(in.Name, f); err != nil { 1002 return err 1003 } 1004 if err := VisitRefOfColumnType(in.Type, f); err != nil { 1005 return err 1006 } 1007 return nil 1008 } 1009 func VisitRefOfColumnType(in *ColumnType, f Visit) error { 1010 if in == nil { 1011 return nil 1012 } 1013 if cont, err := f(in); err != nil || !cont { 1014 return err 1015 } 1016 if err := VisitRefOfLiteral(in.Length, f); err != nil { 1017 return err 1018 } 1019 if err := VisitRefOfLiteral(in.Scale, f); err != nil { 1020 return err 1021 } 1022 return nil 1023 } 1024 func VisitColumns(in Columns, f Visit) error { 1025 if in == nil { 1026 return nil 1027 } 1028 if cont, err := f(in); err != nil || !cont { 1029 return err 1030 } 1031 for _, el := range in { 1032 if err := VisitIdentifierCI(el, f); err != nil { 1033 return err 1034 } 1035 } 1036 return nil 1037 } 1038 func VisitRefOfCommentOnly(in *CommentOnly, f Visit) error { 1039 if in == nil { 1040 return nil 1041 } 1042 if cont, err := f(in); err != nil || !cont { 1043 return err 1044 } 1045 return nil 1046 } 1047 func VisitRefOfCommit(in *Commit, f Visit) error { 1048 if in == nil { 1049 return nil 1050 } 1051 if cont, err := f(in); err != nil || !cont { 1052 return err 1053 } 1054 return nil 1055 } 1056 func VisitRefOfCommonTableExpr(in *CommonTableExpr, f Visit) error { 1057 if in == nil { 1058 return nil 1059 } 1060 if cont, err := f(in); err != nil || !cont { 1061 return err 1062 } 1063 if err := VisitIdentifierCS(in.ID, f); err != nil { 1064 return err 1065 } 1066 if err := VisitColumns(in.Columns, f); err != nil { 1067 return err 1068 } 1069 if err := VisitRefOfSubquery(in.Subquery, f); err != nil { 1070 return err 1071 } 1072 return nil 1073 } 1074 func VisitRefOfComparisonExpr(in *ComparisonExpr, f Visit) error { 1075 if in == nil { 1076 return nil 1077 } 1078 if cont, err := f(in); err != nil || !cont { 1079 return err 1080 } 1081 if err := VisitExpr(in.Left, f); err != nil { 1082 return err 1083 } 1084 if err := VisitExpr(in.Right, f); err != nil { 1085 return err 1086 } 1087 if err := VisitExpr(in.Escape, f); err != nil { 1088 return err 1089 } 1090 return nil 1091 } 1092 func VisitRefOfConstraintDefinition(in *ConstraintDefinition, f Visit) error { 1093 if in == nil { 1094 return nil 1095 } 1096 if cont, err := f(in); err != nil || !cont { 1097 return err 1098 } 1099 if err := VisitIdentifierCI(in.Name, f); err != nil { 1100 return err 1101 } 1102 if err := VisitConstraintInfo(in.Details, f); err != nil { 1103 return err 1104 } 1105 return nil 1106 } 1107 func VisitRefOfConvertExpr(in *ConvertExpr, f Visit) error { 1108 if in == nil { 1109 return nil 1110 } 1111 if cont, err := f(in); err != nil || !cont { 1112 return err 1113 } 1114 if err := VisitExpr(in.Expr, f); err != nil { 1115 return err 1116 } 1117 if err := VisitRefOfConvertType(in.Type, f); err != nil { 1118 return err 1119 } 1120 return nil 1121 } 1122 func VisitRefOfConvertType(in *ConvertType, f Visit) error { 1123 if in == nil { 1124 return nil 1125 } 1126 if cont, err := f(in); err != nil || !cont { 1127 return err 1128 } 1129 if err := VisitRefOfLiteral(in.Length, f); err != nil { 1130 return err 1131 } 1132 if err := VisitRefOfLiteral(in.Scale, f); err != nil { 1133 return err 1134 } 1135 return nil 1136 } 1137 func VisitRefOfConvertUsingExpr(in *ConvertUsingExpr, f Visit) error { 1138 if in == nil { 1139 return nil 1140 } 1141 if cont, err := f(in); err != nil || !cont { 1142 return err 1143 } 1144 if err := VisitExpr(in.Expr, f); err != nil { 1145 return err 1146 } 1147 return nil 1148 } 1149 func VisitRefOfCount(in *Count, f Visit) error { 1150 if in == nil { 1151 return nil 1152 } 1153 if cont, err := f(in); err != nil || !cont { 1154 return err 1155 } 1156 if err := VisitExprs(in.Args, f); err != nil { 1157 return err 1158 } 1159 return nil 1160 } 1161 func VisitRefOfCountStar(in *CountStar, f Visit) error { 1162 if in == nil { 1163 return nil 1164 } 1165 if cont, err := f(in); err != nil || !cont { 1166 return err 1167 } 1168 return nil 1169 } 1170 func VisitRefOfCreateDatabase(in *CreateDatabase, f Visit) error { 1171 if in == nil { 1172 return nil 1173 } 1174 if cont, err := f(in); err != nil || !cont { 1175 return err 1176 } 1177 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 1178 return err 1179 } 1180 if err := VisitIdentifierCS(in.DBName, f); err != nil { 1181 return err 1182 } 1183 return nil 1184 } 1185 func VisitRefOfCreateTable(in *CreateTable, f Visit) error { 1186 if in == nil { 1187 return nil 1188 } 1189 if cont, err := f(in); err != nil || !cont { 1190 return err 1191 } 1192 if err := VisitTableName(in.Table, f); err != nil { 1193 return err 1194 } 1195 if err := VisitRefOfTableSpec(in.TableSpec, f); err != nil { 1196 return err 1197 } 1198 if err := VisitRefOfOptLike(in.OptLike, f); err != nil { 1199 return err 1200 } 1201 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 1202 return err 1203 } 1204 return nil 1205 } 1206 func VisitRefOfCreateView(in *CreateView, f Visit) error { 1207 if in == nil { 1208 return nil 1209 } 1210 if cont, err := f(in); err != nil || !cont { 1211 return err 1212 } 1213 if err := VisitTableName(in.ViewName, f); err != nil { 1214 return err 1215 } 1216 if err := VisitRefOfDefiner(in.Definer, f); err != nil { 1217 return err 1218 } 1219 if err := VisitColumns(in.Columns, f); err != nil { 1220 return err 1221 } 1222 if err := VisitSelectStatement(in.Select, f); err != nil { 1223 return err 1224 } 1225 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 1226 return err 1227 } 1228 return nil 1229 } 1230 func VisitRefOfCurTimeFuncExpr(in *CurTimeFuncExpr, f Visit) error { 1231 if in == nil { 1232 return nil 1233 } 1234 if cont, err := f(in); err != nil || !cont { 1235 return err 1236 } 1237 if err := VisitIdentifierCI(in.Name, f); err != nil { 1238 return err 1239 } 1240 if err := VisitExpr(in.Fsp, f); err != nil { 1241 return err 1242 } 1243 return nil 1244 } 1245 func VisitRefOfDeallocateStmt(in *DeallocateStmt, f Visit) error { 1246 if in == nil { 1247 return nil 1248 } 1249 if cont, err := f(in); err != nil || !cont { 1250 return err 1251 } 1252 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 1253 return err 1254 } 1255 if err := VisitIdentifierCI(in.Name, f); err != nil { 1256 return err 1257 } 1258 return nil 1259 } 1260 func VisitRefOfDefault(in *Default, f Visit) error { 1261 if in == nil { 1262 return nil 1263 } 1264 if cont, err := f(in); err != nil || !cont { 1265 return err 1266 } 1267 return nil 1268 } 1269 func VisitRefOfDefiner(in *Definer, f Visit) error { 1270 if in == nil { 1271 return nil 1272 } 1273 if cont, err := f(in); err != nil || !cont { 1274 return err 1275 } 1276 return nil 1277 } 1278 func VisitRefOfDelete(in *Delete, f Visit) error { 1279 if in == nil { 1280 return nil 1281 } 1282 if cont, err := f(in); err != nil || !cont { 1283 return err 1284 } 1285 if err := VisitRefOfWith(in.With, f); err != nil { 1286 return err 1287 } 1288 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 1289 return err 1290 } 1291 if err := VisitTableNames(in.Targets, f); err != nil { 1292 return err 1293 } 1294 if err := VisitTableExprs(in.TableExprs, f); err != nil { 1295 return err 1296 } 1297 if err := VisitPartitions(in.Partitions, f); err != nil { 1298 return err 1299 } 1300 if err := VisitRefOfWhere(in.Where, f); err != nil { 1301 return err 1302 } 1303 if err := VisitOrderBy(in.OrderBy, f); err != nil { 1304 return err 1305 } 1306 if err := VisitRefOfLimit(in.Limit, f); err != nil { 1307 return err 1308 } 1309 return nil 1310 } 1311 func VisitRefOfDerivedTable(in *DerivedTable, f Visit) error { 1312 if in == nil { 1313 return nil 1314 } 1315 if cont, err := f(in); err != nil || !cont { 1316 return err 1317 } 1318 if err := VisitSelectStatement(in.Select, f); err != nil { 1319 return err 1320 } 1321 return nil 1322 } 1323 func VisitRefOfDropColumn(in *DropColumn, f Visit) error { 1324 if in == nil { 1325 return nil 1326 } 1327 if cont, err := f(in); err != nil || !cont { 1328 return err 1329 } 1330 if err := VisitRefOfColName(in.Name, f); err != nil { 1331 return err 1332 } 1333 return nil 1334 } 1335 func VisitRefOfDropDatabase(in *DropDatabase, f Visit) error { 1336 if in == nil { 1337 return nil 1338 } 1339 if cont, err := f(in); err != nil || !cont { 1340 return err 1341 } 1342 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 1343 return err 1344 } 1345 if err := VisitIdentifierCS(in.DBName, f); err != nil { 1346 return err 1347 } 1348 return nil 1349 } 1350 func VisitRefOfDropKey(in *DropKey, f Visit) error { 1351 if in == nil { 1352 return nil 1353 } 1354 if cont, err := f(in); err != nil || !cont { 1355 return err 1356 } 1357 if err := VisitIdentifierCI(in.Name, f); err != nil { 1358 return err 1359 } 1360 return nil 1361 } 1362 func VisitRefOfDropTable(in *DropTable, f Visit) error { 1363 if in == nil { 1364 return nil 1365 } 1366 if cont, err := f(in); err != nil || !cont { 1367 return err 1368 } 1369 if err := VisitTableNames(in.FromTables, f); err != nil { 1370 return err 1371 } 1372 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 1373 return err 1374 } 1375 return nil 1376 } 1377 func VisitRefOfDropView(in *DropView, f Visit) error { 1378 if in == nil { 1379 return nil 1380 } 1381 if cont, err := f(in); err != nil || !cont { 1382 return err 1383 } 1384 if err := VisitTableNames(in.FromTables, f); err != nil { 1385 return err 1386 } 1387 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 1388 return err 1389 } 1390 return nil 1391 } 1392 func VisitRefOfExecuteStmt(in *ExecuteStmt, f Visit) error { 1393 if in == nil { 1394 return nil 1395 } 1396 if cont, err := f(in); err != nil || !cont { 1397 return err 1398 } 1399 if err := VisitIdentifierCI(in.Name, f); err != nil { 1400 return err 1401 } 1402 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 1403 return err 1404 } 1405 for _, el := range in.Arguments { 1406 if err := VisitRefOfVariable(el, f); err != nil { 1407 return err 1408 } 1409 } 1410 return nil 1411 } 1412 func VisitRefOfExistsExpr(in *ExistsExpr, f Visit) error { 1413 if in == nil { 1414 return nil 1415 } 1416 if cont, err := f(in); err != nil || !cont { 1417 return err 1418 } 1419 if err := VisitRefOfSubquery(in.Subquery, f); err != nil { 1420 return err 1421 } 1422 return nil 1423 } 1424 func VisitRefOfExplainStmt(in *ExplainStmt, f Visit) error { 1425 if in == nil { 1426 return nil 1427 } 1428 if cont, err := f(in); err != nil || !cont { 1429 return err 1430 } 1431 if err := VisitStatement(in.Statement, f); err != nil { 1432 return err 1433 } 1434 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 1435 return err 1436 } 1437 return nil 1438 } 1439 func VisitRefOfExplainTab(in *ExplainTab, f Visit) error { 1440 if in == nil { 1441 return nil 1442 } 1443 if cont, err := f(in); err != nil || !cont { 1444 return err 1445 } 1446 if err := VisitTableName(in.Table, f); err != nil { 1447 return err 1448 } 1449 return nil 1450 } 1451 func VisitExprs(in Exprs, f Visit) error { 1452 if in == nil { 1453 return nil 1454 } 1455 if cont, err := f(in); err != nil || !cont { 1456 return err 1457 } 1458 for _, el := range in { 1459 if err := VisitExpr(el, f); err != nil { 1460 return err 1461 } 1462 } 1463 return nil 1464 } 1465 func VisitRefOfExtractFuncExpr(in *ExtractFuncExpr, f Visit) error { 1466 if in == nil { 1467 return nil 1468 } 1469 if cont, err := f(in); err != nil || !cont { 1470 return err 1471 } 1472 if err := VisitExpr(in.Expr, f); err != nil { 1473 return err 1474 } 1475 return nil 1476 } 1477 func VisitRefOfExtractValueExpr(in *ExtractValueExpr, f Visit) error { 1478 if in == nil { 1479 return nil 1480 } 1481 if cont, err := f(in); err != nil || !cont { 1482 return err 1483 } 1484 if err := VisitExpr(in.Fragment, f); err != nil { 1485 return err 1486 } 1487 if err := VisitExpr(in.XPathExpr, f); err != nil { 1488 return err 1489 } 1490 return nil 1491 } 1492 func VisitRefOfExtractedSubquery(in *ExtractedSubquery, f Visit) error { 1493 if in == nil { 1494 return nil 1495 } 1496 if cont, err := f(in); err != nil || !cont { 1497 return err 1498 } 1499 if err := VisitExpr(in.Original, f); err != nil { 1500 return err 1501 } 1502 if err := VisitRefOfSubquery(in.Subquery, f); err != nil { 1503 return err 1504 } 1505 if err := VisitExpr(in.OtherSide, f); err != nil { 1506 return err 1507 } 1508 if err := VisitExpr(in.alternative, f); err != nil { 1509 return err 1510 } 1511 return nil 1512 } 1513 func VisitRefOfFirstOrLastValueExpr(in *FirstOrLastValueExpr, f Visit) error { 1514 if in == nil { 1515 return nil 1516 } 1517 if cont, err := f(in); err != nil || !cont { 1518 return err 1519 } 1520 if err := VisitExpr(in.Expr, f); err != nil { 1521 return err 1522 } 1523 if err := VisitRefOfNullTreatmentClause(in.NullTreatmentClause, f); err != nil { 1524 return err 1525 } 1526 if err := VisitRefOfOverClause(in.OverClause, f); err != nil { 1527 return err 1528 } 1529 return nil 1530 } 1531 func VisitRefOfFlush(in *Flush, f Visit) error { 1532 if in == nil { 1533 return nil 1534 } 1535 if cont, err := f(in); err != nil || !cont { 1536 return err 1537 } 1538 if err := VisitTableNames(in.TableNames, f); err != nil { 1539 return err 1540 } 1541 return nil 1542 } 1543 func VisitRefOfForce(in *Force, f Visit) error { 1544 if in == nil { 1545 return nil 1546 } 1547 if cont, err := f(in); err != nil || !cont { 1548 return err 1549 } 1550 return nil 1551 } 1552 func VisitRefOfForeignKeyDefinition(in *ForeignKeyDefinition, f Visit) error { 1553 if in == nil { 1554 return nil 1555 } 1556 if cont, err := f(in); err != nil || !cont { 1557 return err 1558 } 1559 if err := VisitColumns(in.Source, f); err != nil { 1560 return err 1561 } 1562 if err := VisitIdentifierCI(in.IndexName, f); err != nil { 1563 return err 1564 } 1565 if err := VisitRefOfReferenceDefinition(in.ReferenceDefinition, f); err != nil { 1566 return err 1567 } 1568 return nil 1569 } 1570 func VisitRefOfFrameClause(in *FrameClause, f Visit) error { 1571 if in == nil { 1572 return nil 1573 } 1574 if cont, err := f(in); err != nil || !cont { 1575 return err 1576 } 1577 if err := VisitRefOfFramePoint(in.Start, f); err != nil { 1578 return err 1579 } 1580 if err := VisitRefOfFramePoint(in.End, f); err != nil { 1581 return err 1582 } 1583 return nil 1584 } 1585 func VisitRefOfFramePoint(in *FramePoint, f Visit) error { 1586 if in == nil { 1587 return nil 1588 } 1589 if cont, err := f(in); err != nil || !cont { 1590 return err 1591 } 1592 if err := VisitExpr(in.Expr, f); err != nil { 1593 return err 1594 } 1595 return nil 1596 } 1597 func VisitRefOfFromFirstLastClause(in *FromFirstLastClause, f Visit) error { 1598 if in == nil { 1599 return nil 1600 } 1601 if cont, err := f(in); err != nil || !cont { 1602 return err 1603 } 1604 return nil 1605 } 1606 func VisitRefOfFuncExpr(in *FuncExpr, f Visit) error { 1607 if in == nil { 1608 return nil 1609 } 1610 if cont, err := f(in); err != nil || !cont { 1611 return err 1612 } 1613 if err := VisitIdentifierCS(in.Qualifier, f); err != nil { 1614 return err 1615 } 1616 if err := VisitIdentifierCI(in.Name, f); err != nil { 1617 return err 1618 } 1619 if err := VisitSelectExprs(in.Exprs, f); err != nil { 1620 return err 1621 } 1622 return nil 1623 } 1624 func VisitRefOfGTIDFuncExpr(in *GTIDFuncExpr, f Visit) error { 1625 if in == nil { 1626 return nil 1627 } 1628 if cont, err := f(in); err != nil || !cont { 1629 return err 1630 } 1631 if err := VisitExpr(in.Set1, f); err != nil { 1632 return err 1633 } 1634 if err := VisitExpr(in.Set2, f); err != nil { 1635 return err 1636 } 1637 if err := VisitExpr(in.Timeout, f); err != nil { 1638 return err 1639 } 1640 if err := VisitExpr(in.Channel, f); err != nil { 1641 return err 1642 } 1643 return nil 1644 } 1645 func VisitGroupBy(in GroupBy, f Visit) error { 1646 if in == nil { 1647 return nil 1648 } 1649 if cont, err := f(in); err != nil || !cont { 1650 return err 1651 } 1652 for _, el := range in { 1653 if err := VisitExpr(el, f); err != nil { 1654 return err 1655 } 1656 } 1657 return nil 1658 } 1659 func VisitRefOfGroupConcatExpr(in *GroupConcatExpr, f Visit) error { 1660 if in == nil { 1661 return nil 1662 } 1663 if cont, err := f(in); err != nil || !cont { 1664 return err 1665 } 1666 if err := VisitExprs(in.Exprs, f); err != nil { 1667 return err 1668 } 1669 if err := VisitOrderBy(in.OrderBy, f); err != nil { 1670 return err 1671 } 1672 if err := VisitRefOfLimit(in.Limit, f); err != nil { 1673 return err 1674 } 1675 return nil 1676 } 1677 func VisitIdentifierCI(in IdentifierCI, f Visit) error { 1678 if cont, err := f(in); err != nil || !cont { 1679 return err 1680 } 1681 return nil 1682 } 1683 func VisitIdentifierCS(in IdentifierCS, f Visit) error { 1684 if cont, err := f(in); err != nil || !cont { 1685 return err 1686 } 1687 return nil 1688 } 1689 func VisitRefOfIndexDefinition(in *IndexDefinition, f Visit) error { 1690 if in == nil { 1691 return nil 1692 } 1693 if cont, err := f(in); err != nil || !cont { 1694 return err 1695 } 1696 if err := VisitRefOfIndexInfo(in.Info, f); err != nil { 1697 return err 1698 } 1699 return nil 1700 } 1701 func VisitRefOfIndexHint(in *IndexHint, f Visit) error { 1702 if in == nil { 1703 return nil 1704 } 1705 if cont, err := f(in); err != nil || !cont { 1706 return err 1707 } 1708 for _, el := range in.Indexes { 1709 if err := VisitIdentifierCI(el, f); err != nil { 1710 return err 1711 } 1712 } 1713 return nil 1714 } 1715 func VisitIndexHints(in IndexHints, f Visit) error { 1716 if in == nil { 1717 return nil 1718 } 1719 if cont, err := f(in); err != nil || !cont { 1720 return err 1721 } 1722 for _, el := range in { 1723 if err := VisitRefOfIndexHint(el, f); err != nil { 1724 return err 1725 } 1726 } 1727 return nil 1728 } 1729 func VisitRefOfIndexInfo(in *IndexInfo, f Visit) error { 1730 if in == nil { 1731 return nil 1732 } 1733 if cont, err := f(in); err != nil || !cont { 1734 return err 1735 } 1736 if err := VisitIdentifierCI(in.Name, f); err != nil { 1737 return err 1738 } 1739 if err := VisitIdentifierCI(in.ConstraintName, f); err != nil { 1740 return err 1741 } 1742 return nil 1743 } 1744 func VisitRefOfInsert(in *Insert, f Visit) error { 1745 if in == nil { 1746 return nil 1747 } 1748 if cont, err := f(in); err != nil || !cont { 1749 return err 1750 } 1751 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 1752 return err 1753 } 1754 if err := VisitTableName(in.Table, f); err != nil { 1755 return err 1756 } 1757 if err := VisitPartitions(in.Partitions, f); err != nil { 1758 return err 1759 } 1760 if err := VisitColumns(in.Columns, f); err != nil { 1761 return err 1762 } 1763 if err := VisitInsertRows(in.Rows, f); err != nil { 1764 return err 1765 } 1766 if err := VisitOnDup(in.OnDup, f); err != nil { 1767 return err 1768 } 1769 return nil 1770 } 1771 func VisitRefOfInsertExpr(in *InsertExpr, f Visit) error { 1772 if in == nil { 1773 return nil 1774 } 1775 if cont, err := f(in); err != nil || !cont { 1776 return err 1777 } 1778 if err := VisitExpr(in.Str, f); err != nil { 1779 return err 1780 } 1781 if err := VisitExpr(in.Pos, f); err != nil { 1782 return err 1783 } 1784 if err := VisitExpr(in.Len, f); err != nil { 1785 return err 1786 } 1787 if err := VisitExpr(in.NewStr, f); err != nil { 1788 return err 1789 } 1790 return nil 1791 } 1792 func VisitRefOfIntervalExpr(in *IntervalExpr, f Visit) error { 1793 if in == nil { 1794 return nil 1795 } 1796 if cont, err := f(in); err != nil || !cont { 1797 return err 1798 } 1799 if err := VisitExpr(in.Expr, f); err != nil { 1800 return err 1801 } 1802 return nil 1803 } 1804 func VisitRefOfIntervalFuncExpr(in *IntervalFuncExpr, f Visit) error { 1805 if in == nil { 1806 return nil 1807 } 1808 if cont, err := f(in); err != nil || !cont { 1809 return err 1810 } 1811 if err := VisitExpr(in.Expr, f); err != nil { 1812 return err 1813 } 1814 if err := VisitExprs(in.Exprs, f); err != nil { 1815 return err 1816 } 1817 return nil 1818 } 1819 func VisitRefOfIntroducerExpr(in *IntroducerExpr, f Visit) error { 1820 if in == nil { 1821 return nil 1822 } 1823 if cont, err := f(in); err != nil || !cont { 1824 return err 1825 } 1826 if err := VisitExpr(in.Expr, f); err != nil { 1827 return err 1828 } 1829 return nil 1830 } 1831 func VisitRefOfIsExpr(in *IsExpr, f Visit) error { 1832 if in == nil { 1833 return nil 1834 } 1835 if cont, err := f(in); err != nil || !cont { 1836 return err 1837 } 1838 if err := VisitExpr(in.Left, f); err != nil { 1839 return err 1840 } 1841 return nil 1842 } 1843 func VisitRefOfJSONArrayExpr(in *JSONArrayExpr, f Visit) error { 1844 if in == nil { 1845 return nil 1846 } 1847 if cont, err := f(in); err != nil || !cont { 1848 return err 1849 } 1850 if err := VisitExprs(in.Params, f); err != nil { 1851 return err 1852 } 1853 return nil 1854 } 1855 func VisitRefOfJSONAttributesExpr(in *JSONAttributesExpr, f Visit) error { 1856 if in == nil { 1857 return nil 1858 } 1859 if cont, err := f(in); err != nil || !cont { 1860 return err 1861 } 1862 if err := VisitExpr(in.JSONDoc, f); err != nil { 1863 return err 1864 } 1865 if err := VisitExpr(in.Path, f); err != nil { 1866 return err 1867 } 1868 return nil 1869 } 1870 func VisitRefOfJSONContainsExpr(in *JSONContainsExpr, f Visit) error { 1871 if in == nil { 1872 return nil 1873 } 1874 if cont, err := f(in); err != nil || !cont { 1875 return err 1876 } 1877 if err := VisitExpr(in.Target, f); err != nil { 1878 return err 1879 } 1880 if err := VisitExpr(in.Candidate, f); err != nil { 1881 return err 1882 } 1883 for _, el := range in.PathList { 1884 if err := VisitExpr(el, f); err != nil { 1885 return err 1886 } 1887 } 1888 return nil 1889 } 1890 func VisitRefOfJSONContainsPathExpr(in *JSONContainsPathExpr, f Visit) error { 1891 if in == nil { 1892 return nil 1893 } 1894 if cont, err := f(in); err != nil || !cont { 1895 return err 1896 } 1897 if err := VisitExpr(in.JSONDoc, f); err != nil { 1898 return err 1899 } 1900 if err := VisitExpr(in.OneOrAll, f); err != nil { 1901 return err 1902 } 1903 for _, el := range in.PathList { 1904 if err := VisitExpr(el, f); err != nil { 1905 return err 1906 } 1907 } 1908 return nil 1909 } 1910 func VisitRefOfJSONExtractExpr(in *JSONExtractExpr, f Visit) error { 1911 if in == nil { 1912 return nil 1913 } 1914 if cont, err := f(in); err != nil || !cont { 1915 return err 1916 } 1917 if err := VisitExpr(in.JSONDoc, f); err != nil { 1918 return err 1919 } 1920 for _, el := range in.PathList { 1921 if err := VisitExpr(el, f); err != nil { 1922 return err 1923 } 1924 } 1925 return nil 1926 } 1927 func VisitRefOfJSONKeysExpr(in *JSONKeysExpr, f Visit) error { 1928 if in == nil { 1929 return nil 1930 } 1931 if cont, err := f(in); err != nil || !cont { 1932 return err 1933 } 1934 if err := VisitExpr(in.JSONDoc, f); err != nil { 1935 return err 1936 } 1937 if err := VisitExpr(in.Path, f); err != nil { 1938 return err 1939 } 1940 return nil 1941 } 1942 func VisitRefOfJSONObjectExpr(in *JSONObjectExpr, f Visit) error { 1943 if in == nil { 1944 return nil 1945 } 1946 if cont, err := f(in); err != nil || !cont { 1947 return err 1948 } 1949 for _, el := range in.Params { 1950 if err := VisitRefOfJSONObjectParam(el, f); err != nil { 1951 return err 1952 } 1953 } 1954 return nil 1955 } 1956 func VisitRefOfJSONObjectParam(in *JSONObjectParam, f Visit) error { 1957 if in == nil { 1958 return nil 1959 } 1960 if cont, err := f(in); err != nil || !cont { 1961 return err 1962 } 1963 if err := VisitExpr(in.Key, f); err != nil { 1964 return err 1965 } 1966 if err := VisitExpr(in.Value, f); err != nil { 1967 return err 1968 } 1969 return nil 1970 } 1971 func VisitRefOfJSONOverlapsExpr(in *JSONOverlapsExpr, f Visit) error { 1972 if in == nil { 1973 return nil 1974 } 1975 if cont, err := f(in); err != nil || !cont { 1976 return err 1977 } 1978 if err := VisitExpr(in.JSONDoc1, f); err != nil { 1979 return err 1980 } 1981 if err := VisitExpr(in.JSONDoc2, f); err != nil { 1982 return err 1983 } 1984 return nil 1985 } 1986 func VisitRefOfJSONPrettyExpr(in *JSONPrettyExpr, f Visit) error { 1987 if in == nil { 1988 return nil 1989 } 1990 if cont, err := f(in); err != nil || !cont { 1991 return err 1992 } 1993 if err := VisitExpr(in.JSONVal, f); err != nil { 1994 return err 1995 } 1996 return nil 1997 } 1998 func VisitRefOfJSONQuoteExpr(in *JSONQuoteExpr, f Visit) error { 1999 if in == nil { 2000 return nil 2001 } 2002 if cont, err := f(in); err != nil || !cont { 2003 return err 2004 } 2005 if err := VisitExpr(in.StringArg, f); err != nil { 2006 return err 2007 } 2008 return nil 2009 } 2010 func VisitRefOfJSONRemoveExpr(in *JSONRemoveExpr, f Visit) error { 2011 if in == nil { 2012 return nil 2013 } 2014 if cont, err := f(in); err != nil || !cont { 2015 return err 2016 } 2017 if err := VisitExpr(in.JSONDoc, f); err != nil { 2018 return err 2019 } 2020 if err := VisitExprs(in.PathList, f); err != nil { 2021 return err 2022 } 2023 return nil 2024 } 2025 func VisitRefOfJSONSchemaValidFuncExpr(in *JSONSchemaValidFuncExpr, f Visit) error { 2026 if in == nil { 2027 return nil 2028 } 2029 if cont, err := f(in); err != nil || !cont { 2030 return err 2031 } 2032 if err := VisitExpr(in.Schema, f); err != nil { 2033 return err 2034 } 2035 if err := VisitExpr(in.Document, f); err != nil { 2036 return err 2037 } 2038 return nil 2039 } 2040 func VisitRefOfJSONSchemaValidationReportFuncExpr(in *JSONSchemaValidationReportFuncExpr, f Visit) error { 2041 if in == nil { 2042 return nil 2043 } 2044 if cont, err := f(in); err != nil || !cont { 2045 return err 2046 } 2047 if err := VisitExpr(in.Schema, f); err != nil { 2048 return err 2049 } 2050 if err := VisitExpr(in.Document, f); err != nil { 2051 return err 2052 } 2053 return nil 2054 } 2055 func VisitRefOfJSONSearchExpr(in *JSONSearchExpr, f Visit) error { 2056 if in == nil { 2057 return nil 2058 } 2059 if cont, err := f(in); err != nil || !cont { 2060 return err 2061 } 2062 if err := VisitExpr(in.JSONDoc, f); err != nil { 2063 return err 2064 } 2065 if err := VisitExpr(in.OneOrAll, f); err != nil { 2066 return err 2067 } 2068 if err := VisitExpr(in.SearchStr, f); err != nil { 2069 return err 2070 } 2071 if err := VisitExpr(in.EscapeChar, f); err != nil { 2072 return err 2073 } 2074 for _, el := range in.PathList { 2075 if err := VisitExpr(el, f); err != nil { 2076 return err 2077 } 2078 } 2079 return nil 2080 } 2081 func VisitRefOfJSONStorageFreeExpr(in *JSONStorageFreeExpr, f Visit) error { 2082 if in == nil { 2083 return nil 2084 } 2085 if cont, err := f(in); err != nil || !cont { 2086 return err 2087 } 2088 if err := VisitExpr(in.JSONVal, f); err != nil { 2089 return err 2090 } 2091 return nil 2092 } 2093 func VisitRefOfJSONStorageSizeExpr(in *JSONStorageSizeExpr, f Visit) error { 2094 if in == nil { 2095 return nil 2096 } 2097 if cont, err := f(in); err != nil || !cont { 2098 return err 2099 } 2100 if err := VisitExpr(in.JSONVal, f); err != nil { 2101 return err 2102 } 2103 return nil 2104 } 2105 func VisitRefOfJSONTableExpr(in *JSONTableExpr, f Visit) error { 2106 if in == nil { 2107 return nil 2108 } 2109 if cont, err := f(in); err != nil || !cont { 2110 return err 2111 } 2112 if err := VisitExpr(in.Expr, f); err != nil { 2113 return err 2114 } 2115 if err := VisitIdentifierCS(in.Alias, f); err != nil { 2116 return err 2117 } 2118 if err := VisitExpr(in.Filter, f); err != nil { 2119 return err 2120 } 2121 for _, el := range in.Columns { 2122 if err := VisitRefOfJtColumnDefinition(el, f); err != nil { 2123 return err 2124 } 2125 } 2126 return nil 2127 } 2128 func VisitRefOfJSONUnquoteExpr(in *JSONUnquoteExpr, f Visit) error { 2129 if in == nil { 2130 return nil 2131 } 2132 if cont, err := f(in); err != nil || !cont { 2133 return err 2134 } 2135 if err := VisitExpr(in.JSONValue, f); err != nil { 2136 return err 2137 } 2138 return nil 2139 } 2140 func VisitRefOfJSONValueExpr(in *JSONValueExpr, f Visit) error { 2141 if in == nil { 2142 return nil 2143 } 2144 if cont, err := f(in); err != nil || !cont { 2145 return err 2146 } 2147 if err := VisitExpr(in.JSONDoc, f); err != nil { 2148 return err 2149 } 2150 if err := VisitExpr(in.Path, f); err != nil { 2151 return err 2152 } 2153 if err := VisitRefOfConvertType(in.ReturningType, f); err != nil { 2154 return err 2155 } 2156 if err := VisitRefOfJtOnResponse(in.EmptyOnResponse, f); err != nil { 2157 return err 2158 } 2159 if err := VisitRefOfJtOnResponse(in.ErrorOnResponse, f); err != nil { 2160 return err 2161 } 2162 return nil 2163 } 2164 func VisitRefOfJSONValueMergeExpr(in *JSONValueMergeExpr, f Visit) error { 2165 if in == nil { 2166 return nil 2167 } 2168 if cont, err := f(in); err != nil || !cont { 2169 return err 2170 } 2171 if err := VisitExpr(in.JSONDoc, f); err != nil { 2172 return err 2173 } 2174 if err := VisitExprs(in.JSONDocList, f); err != nil { 2175 return err 2176 } 2177 return nil 2178 } 2179 func VisitRefOfJSONValueModifierExpr(in *JSONValueModifierExpr, f Visit) error { 2180 if in == nil { 2181 return nil 2182 } 2183 if cont, err := f(in); err != nil || !cont { 2184 return err 2185 } 2186 if err := VisitExpr(in.JSONDoc, f); err != nil { 2187 return err 2188 } 2189 for _, el := range in.Params { 2190 if err := VisitRefOfJSONObjectParam(el, f); err != nil { 2191 return err 2192 } 2193 } 2194 return nil 2195 } 2196 func VisitRefOfJoinCondition(in *JoinCondition, f Visit) error { 2197 if in == nil { 2198 return nil 2199 } 2200 if cont, err := f(in); err != nil || !cont { 2201 return err 2202 } 2203 if err := VisitExpr(in.On, f); err != nil { 2204 return err 2205 } 2206 if err := VisitColumns(in.Using, f); err != nil { 2207 return err 2208 } 2209 return nil 2210 } 2211 func VisitRefOfJoinTableExpr(in *JoinTableExpr, f Visit) error { 2212 if in == nil { 2213 return nil 2214 } 2215 if cont, err := f(in); err != nil || !cont { 2216 return err 2217 } 2218 if err := VisitTableExpr(in.LeftExpr, f); err != nil { 2219 return err 2220 } 2221 if err := VisitTableExpr(in.RightExpr, f); err != nil { 2222 return err 2223 } 2224 if err := VisitRefOfJoinCondition(in.Condition, f); err != nil { 2225 return err 2226 } 2227 return nil 2228 } 2229 func VisitRefOfJtColumnDefinition(in *JtColumnDefinition, f Visit) error { 2230 if in == nil { 2231 return nil 2232 } 2233 if cont, err := f(in); err != nil || !cont { 2234 return err 2235 } 2236 return nil 2237 } 2238 func VisitRefOfJtOnResponse(in *JtOnResponse, f Visit) error { 2239 if in == nil { 2240 return nil 2241 } 2242 if cont, err := f(in); err != nil || !cont { 2243 return err 2244 } 2245 if err := VisitExpr(in.Expr, f); err != nil { 2246 return err 2247 } 2248 return nil 2249 } 2250 func VisitRefOfKeyState(in *KeyState, f Visit) error { 2251 if in == nil { 2252 return nil 2253 } 2254 if cont, err := f(in); err != nil || !cont { 2255 return err 2256 } 2257 return nil 2258 } 2259 func VisitRefOfLagLeadExpr(in *LagLeadExpr, f Visit) error { 2260 if in == nil { 2261 return nil 2262 } 2263 if cont, err := f(in); err != nil || !cont { 2264 return err 2265 } 2266 if err := VisitExpr(in.Expr, f); err != nil { 2267 return err 2268 } 2269 if err := VisitExpr(in.N, f); err != nil { 2270 return err 2271 } 2272 if err := VisitExpr(in.Default, f); err != nil { 2273 return err 2274 } 2275 if err := VisitRefOfOverClause(in.OverClause, f); err != nil { 2276 return err 2277 } 2278 if err := VisitRefOfNullTreatmentClause(in.NullTreatmentClause, f); err != nil { 2279 return err 2280 } 2281 return nil 2282 } 2283 func VisitRefOfLimit(in *Limit, f Visit) error { 2284 if in == nil { 2285 return nil 2286 } 2287 if cont, err := f(in); err != nil || !cont { 2288 return err 2289 } 2290 if err := VisitExpr(in.Offset, f); err != nil { 2291 return err 2292 } 2293 if err := VisitExpr(in.Rowcount, f); err != nil { 2294 return err 2295 } 2296 return nil 2297 } 2298 func VisitRefOfLiteral(in *Literal, f Visit) error { 2299 if in == nil { 2300 return nil 2301 } 2302 if cont, err := f(in); err != nil || !cont { 2303 return err 2304 } 2305 return nil 2306 } 2307 func VisitRefOfLoad(in *Load, f Visit) error { 2308 if in == nil { 2309 return nil 2310 } 2311 if cont, err := f(in); err != nil || !cont { 2312 return err 2313 } 2314 return nil 2315 } 2316 func VisitRefOfLocateExpr(in *LocateExpr, f Visit) error { 2317 if in == nil { 2318 return nil 2319 } 2320 if cont, err := f(in); err != nil || !cont { 2321 return err 2322 } 2323 if err := VisitExpr(in.SubStr, f); err != nil { 2324 return err 2325 } 2326 if err := VisitExpr(in.Str, f); err != nil { 2327 return err 2328 } 2329 if err := VisitExpr(in.Pos, f); err != nil { 2330 return err 2331 } 2332 return nil 2333 } 2334 func VisitRefOfLockOption(in *LockOption, f Visit) error { 2335 if in == nil { 2336 return nil 2337 } 2338 if cont, err := f(in); err != nil || !cont { 2339 return err 2340 } 2341 return nil 2342 } 2343 func VisitRefOfLockTables(in *LockTables, f Visit) error { 2344 if in == nil { 2345 return nil 2346 } 2347 if cont, err := f(in); err != nil || !cont { 2348 return err 2349 } 2350 return nil 2351 } 2352 func VisitRefOfLockingFunc(in *LockingFunc, f Visit) error { 2353 if in == nil { 2354 return nil 2355 } 2356 if cont, err := f(in); err != nil || !cont { 2357 return err 2358 } 2359 if err := VisitExpr(in.Name, f); err != nil { 2360 return err 2361 } 2362 if err := VisitExpr(in.Timeout, f); err != nil { 2363 return err 2364 } 2365 return nil 2366 } 2367 func VisitRefOfMatchExpr(in *MatchExpr, f Visit) error { 2368 if in == nil { 2369 return nil 2370 } 2371 if cont, err := f(in); err != nil || !cont { 2372 return err 2373 } 2374 for _, el := range in.Columns { 2375 if err := VisitRefOfColName(el, f); err != nil { 2376 return err 2377 } 2378 } 2379 if err := VisitExpr(in.Expr, f); err != nil { 2380 return err 2381 } 2382 return nil 2383 } 2384 func VisitRefOfMax(in *Max, f Visit) error { 2385 if in == nil { 2386 return nil 2387 } 2388 if cont, err := f(in); err != nil || !cont { 2389 return err 2390 } 2391 if err := VisitExpr(in.Arg, f); err != nil { 2392 return err 2393 } 2394 return nil 2395 } 2396 func VisitRefOfMemberOfExpr(in *MemberOfExpr, f Visit) error { 2397 if in == nil { 2398 return nil 2399 } 2400 if cont, err := f(in); err != nil || !cont { 2401 return err 2402 } 2403 if err := VisitExpr(in.Value, f); err != nil { 2404 return err 2405 } 2406 if err := VisitExpr(in.JSONArr, f); err != nil { 2407 return err 2408 } 2409 return nil 2410 } 2411 func VisitRefOfMin(in *Min, f Visit) error { 2412 if in == nil { 2413 return nil 2414 } 2415 if cont, err := f(in); err != nil || !cont { 2416 return err 2417 } 2418 if err := VisitExpr(in.Arg, f); err != nil { 2419 return err 2420 } 2421 return nil 2422 } 2423 func VisitRefOfModifyColumn(in *ModifyColumn, f Visit) error { 2424 if in == nil { 2425 return nil 2426 } 2427 if cont, err := f(in); err != nil || !cont { 2428 return err 2429 } 2430 if err := VisitRefOfColumnDefinition(in.NewColDefinition, f); err != nil { 2431 return err 2432 } 2433 if err := VisitRefOfColName(in.After, f); err != nil { 2434 return err 2435 } 2436 return nil 2437 } 2438 func VisitRefOfNTHValueExpr(in *NTHValueExpr, f Visit) error { 2439 if in == nil { 2440 return nil 2441 } 2442 if cont, err := f(in); err != nil || !cont { 2443 return err 2444 } 2445 if err := VisitExpr(in.Expr, f); err != nil { 2446 return err 2447 } 2448 if err := VisitExpr(in.N, f); err != nil { 2449 return err 2450 } 2451 if err := VisitRefOfOverClause(in.OverClause, f); err != nil { 2452 return err 2453 } 2454 if err := VisitRefOfFromFirstLastClause(in.FromFirstLastClause, f); err != nil { 2455 return err 2456 } 2457 if err := VisitRefOfNullTreatmentClause(in.NullTreatmentClause, f); err != nil { 2458 return err 2459 } 2460 return nil 2461 } 2462 func VisitRefOfNamedWindow(in *NamedWindow, f Visit) error { 2463 if in == nil { 2464 return nil 2465 } 2466 if cont, err := f(in); err != nil || !cont { 2467 return err 2468 } 2469 if err := VisitWindowDefinitions(in.Windows, f); err != nil { 2470 return err 2471 } 2472 return nil 2473 } 2474 func VisitNamedWindows(in NamedWindows, f Visit) error { 2475 if in == nil { 2476 return nil 2477 } 2478 if cont, err := f(in); err != nil || !cont { 2479 return err 2480 } 2481 for _, el := range in { 2482 if err := VisitRefOfNamedWindow(el, f); err != nil { 2483 return err 2484 } 2485 } 2486 return nil 2487 } 2488 func VisitRefOfNextval(in *Nextval, f Visit) error { 2489 if in == nil { 2490 return nil 2491 } 2492 if cont, err := f(in); err != nil || !cont { 2493 return err 2494 } 2495 if err := VisitExpr(in.Expr, f); err != nil { 2496 return err 2497 } 2498 return nil 2499 } 2500 func VisitRefOfNotExpr(in *NotExpr, f Visit) error { 2501 if in == nil { 2502 return nil 2503 } 2504 if cont, err := f(in); err != nil || !cont { 2505 return err 2506 } 2507 if err := VisitExpr(in.Expr, f); err != nil { 2508 return err 2509 } 2510 return nil 2511 } 2512 func VisitRefOfNtileExpr(in *NtileExpr, f Visit) error { 2513 if in == nil { 2514 return nil 2515 } 2516 if cont, err := f(in); err != nil || !cont { 2517 return err 2518 } 2519 if err := VisitExpr(in.N, f); err != nil { 2520 return err 2521 } 2522 if err := VisitRefOfOverClause(in.OverClause, f); err != nil { 2523 return err 2524 } 2525 return nil 2526 } 2527 func VisitRefOfNullTreatmentClause(in *NullTreatmentClause, f Visit) error { 2528 if in == nil { 2529 return nil 2530 } 2531 if cont, err := f(in); err != nil || !cont { 2532 return err 2533 } 2534 return nil 2535 } 2536 func VisitRefOfNullVal(in *NullVal, f Visit) error { 2537 if in == nil { 2538 return nil 2539 } 2540 if cont, err := f(in); err != nil || !cont { 2541 return err 2542 } 2543 return nil 2544 } 2545 func VisitRefOfOffset(in *Offset, f Visit) error { 2546 if in == nil { 2547 return nil 2548 } 2549 if cont, err := f(in); err != nil || !cont { 2550 return err 2551 } 2552 return nil 2553 } 2554 func VisitOnDup(in OnDup, f Visit) error { 2555 if in == nil { 2556 return nil 2557 } 2558 if cont, err := f(in); err != nil || !cont { 2559 return err 2560 } 2561 for _, el := range in { 2562 if err := VisitRefOfUpdateExpr(el, f); err != nil { 2563 return err 2564 } 2565 } 2566 return nil 2567 } 2568 func VisitRefOfOptLike(in *OptLike, f Visit) error { 2569 if in == nil { 2570 return nil 2571 } 2572 if cont, err := f(in); err != nil || !cont { 2573 return err 2574 } 2575 if err := VisitTableName(in.LikeTable, f); err != nil { 2576 return err 2577 } 2578 return nil 2579 } 2580 func VisitRefOfOrExpr(in *OrExpr, f Visit) error { 2581 if in == nil { 2582 return nil 2583 } 2584 if cont, err := f(in); err != nil || !cont { 2585 return err 2586 } 2587 if err := VisitExpr(in.Left, f); err != nil { 2588 return err 2589 } 2590 if err := VisitExpr(in.Right, f); err != nil { 2591 return err 2592 } 2593 return nil 2594 } 2595 func VisitRefOfOrder(in *Order, f Visit) error { 2596 if in == nil { 2597 return nil 2598 } 2599 if cont, err := f(in); err != nil || !cont { 2600 return err 2601 } 2602 if err := VisitExpr(in.Expr, f); err != nil { 2603 return err 2604 } 2605 return nil 2606 } 2607 func VisitOrderBy(in OrderBy, f Visit) error { 2608 if in == nil { 2609 return nil 2610 } 2611 if cont, err := f(in); err != nil || !cont { 2612 return err 2613 } 2614 for _, el := range in { 2615 if err := VisitRefOfOrder(el, f); err != nil { 2616 return err 2617 } 2618 } 2619 return nil 2620 } 2621 func VisitRefOfOrderByOption(in *OrderByOption, f Visit) error { 2622 if in == nil { 2623 return nil 2624 } 2625 if cont, err := f(in); err != nil || !cont { 2626 return err 2627 } 2628 if err := VisitColumns(in.Cols, f); err != nil { 2629 return err 2630 } 2631 return nil 2632 } 2633 func VisitRefOfOtherAdmin(in *OtherAdmin, f Visit) error { 2634 if in == nil { 2635 return nil 2636 } 2637 if cont, err := f(in); err != nil || !cont { 2638 return err 2639 } 2640 return nil 2641 } 2642 func VisitRefOfOtherRead(in *OtherRead, f Visit) error { 2643 if in == nil { 2644 return nil 2645 } 2646 if cont, err := f(in); err != nil || !cont { 2647 return err 2648 } 2649 return nil 2650 } 2651 func VisitRefOfOverClause(in *OverClause, f Visit) error { 2652 if in == nil { 2653 return nil 2654 } 2655 if cont, err := f(in); err != nil || !cont { 2656 return err 2657 } 2658 if err := VisitIdentifierCI(in.WindowName, f); err != nil { 2659 return err 2660 } 2661 if err := VisitRefOfWindowSpecification(in.WindowSpec, f); err != nil { 2662 return err 2663 } 2664 return nil 2665 } 2666 func VisitRefOfParenTableExpr(in *ParenTableExpr, f Visit) error { 2667 if in == nil { 2668 return nil 2669 } 2670 if cont, err := f(in); err != nil || !cont { 2671 return err 2672 } 2673 if err := VisitTableExprs(in.Exprs, f); err != nil { 2674 return err 2675 } 2676 return nil 2677 } 2678 func VisitRefOfParsedComments(in *ParsedComments, f Visit) error { 2679 if in == nil { 2680 return nil 2681 } 2682 if cont, err := f(in); err != nil || !cont { 2683 return err 2684 } 2685 return nil 2686 } 2687 func VisitRefOfPartitionDefinition(in *PartitionDefinition, f Visit) error { 2688 if in == nil { 2689 return nil 2690 } 2691 if cont, err := f(in); err != nil || !cont { 2692 return err 2693 } 2694 if err := VisitIdentifierCI(in.Name, f); err != nil { 2695 return err 2696 } 2697 if err := VisitRefOfPartitionDefinitionOptions(in.Options, f); err != nil { 2698 return err 2699 } 2700 return nil 2701 } 2702 func VisitRefOfPartitionDefinitionOptions(in *PartitionDefinitionOptions, f Visit) error { 2703 if in == nil { 2704 return nil 2705 } 2706 if cont, err := f(in); err != nil || !cont { 2707 return err 2708 } 2709 if err := VisitRefOfPartitionValueRange(in.ValueRange, f); err != nil { 2710 return err 2711 } 2712 if err := VisitRefOfLiteral(in.Comment, f); err != nil { 2713 return err 2714 } 2715 if err := VisitRefOfPartitionEngine(in.Engine, f); err != nil { 2716 return err 2717 } 2718 if err := VisitRefOfLiteral(in.DataDirectory, f); err != nil { 2719 return err 2720 } 2721 if err := VisitRefOfLiteral(in.IndexDirectory, f); err != nil { 2722 return err 2723 } 2724 if err := VisitSubPartitionDefinitions(in.SubPartitionDefinitions, f); err != nil { 2725 return err 2726 } 2727 return nil 2728 } 2729 func VisitRefOfPartitionEngine(in *PartitionEngine, f Visit) error { 2730 if in == nil { 2731 return nil 2732 } 2733 if cont, err := f(in); err != nil || !cont { 2734 return err 2735 } 2736 return nil 2737 } 2738 func VisitRefOfPartitionOption(in *PartitionOption, f Visit) error { 2739 if in == nil { 2740 return nil 2741 } 2742 if cont, err := f(in); err != nil || !cont { 2743 return err 2744 } 2745 if err := VisitColumns(in.ColList, f); err != nil { 2746 return err 2747 } 2748 if err := VisitExpr(in.Expr, f); err != nil { 2749 return err 2750 } 2751 if err := VisitRefOfSubPartition(in.SubPartition, f); err != nil { 2752 return err 2753 } 2754 for _, el := range in.Definitions { 2755 if err := VisitRefOfPartitionDefinition(el, f); err != nil { 2756 return err 2757 } 2758 } 2759 return nil 2760 } 2761 func VisitRefOfPartitionSpec(in *PartitionSpec, f Visit) error { 2762 if in == nil { 2763 return nil 2764 } 2765 if cont, err := f(in); err != nil || !cont { 2766 return err 2767 } 2768 if err := VisitPartitions(in.Names, f); err != nil { 2769 return err 2770 } 2771 if err := VisitRefOfLiteral(in.Number, f); err != nil { 2772 return err 2773 } 2774 if err := VisitTableName(in.TableName, f); err != nil { 2775 return err 2776 } 2777 for _, el := range in.Definitions { 2778 if err := VisitRefOfPartitionDefinition(el, f); err != nil { 2779 return err 2780 } 2781 } 2782 return nil 2783 } 2784 func VisitRefOfPartitionValueRange(in *PartitionValueRange, f Visit) error { 2785 if in == nil { 2786 return nil 2787 } 2788 if cont, err := f(in); err != nil || !cont { 2789 return err 2790 } 2791 if err := VisitValTuple(in.Range, f); err != nil { 2792 return err 2793 } 2794 return nil 2795 } 2796 func VisitPartitions(in Partitions, f Visit) error { 2797 if in == nil { 2798 return nil 2799 } 2800 if cont, err := f(in); err != nil || !cont { 2801 return err 2802 } 2803 for _, el := range in { 2804 if err := VisitIdentifierCI(el, f); err != nil { 2805 return err 2806 } 2807 } 2808 return nil 2809 } 2810 func VisitRefOfPerformanceSchemaFuncExpr(in *PerformanceSchemaFuncExpr, f Visit) error { 2811 if in == nil { 2812 return nil 2813 } 2814 if cont, err := f(in); err != nil || !cont { 2815 return err 2816 } 2817 if err := VisitExpr(in.Argument, f); err != nil { 2818 return err 2819 } 2820 return nil 2821 } 2822 func VisitRefOfPrepareStmt(in *PrepareStmt, f Visit) error { 2823 if in == nil { 2824 return nil 2825 } 2826 if cont, err := f(in); err != nil || !cont { 2827 return err 2828 } 2829 if err := VisitIdentifierCI(in.Name, f); err != nil { 2830 return err 2831 } 2832 if err := VisitExpr(in.Statement, f); err != nil { 2833 return err 2834 } 2835 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 2836 return err 2837 } 2838 return nil 2839 } 2840 func VisitRefOfReferenceDefinition(in *ReferenceDefinition, f Visit) error { 2841 if in == nil { 2842 return nil 2843 } 2844 if cont, err := f(in); err != nil || !cont { 2845 return err 2846 } 2847 if err := VisitTableName(in.ReferencedTable, f); err != nil { 2848 return err 2849 } 2850 if err := VisitColumns(in.ReferencedColumns, f); err != nil { 2851 return err 2852 } 2853 if err := VisitMatchAction(in.Match, f); err != nil { 2854 return err 2855 } 2856 if err := VisitReferenceAction(in.OnDelete, f); err != nil { 2857 return err 2858 } 2859 if err := VisitReferenceAction(in.OnUpdate, f); err != nil { 2860 return err 2861 } 2862 return nil 2863 } 2864 func VisitRefOfRegexpInstrExpr(in *RegexpInstrExpr, f Visit) error { 2865 if in == nil { 2866 return nil 2867 } 2868 if cont, err := f(in); err != nil || !cont { 2869 return err 2870 } 2871 if err := VisitExpr(in.Expr, f); err != nil { 2872 return err 2873 } 2874 if err := VisitExpr(in.Pattern, f); err != nil { 2875 return err 2876 } 2877 if err := VisitExpr(in.Position, f); err != nil { 2878 return err 2879 } 2880 if err := VisitExpr(in.Occurrence, f); err != nil { 2881 return err 2882 } 2883 if err := VisitExpr(in.ReturnOption, f); err != nil { 2884 return err 2885 } 2886 if err := VisitExpr(in.MatchType, f); err != nil { 2887 return err 2888 } 2889 return nil 2890 } 2891 func VisitRefOfRegexpLikeExpr(in *RegexpLikeExpr, f Visit) error { 2892 if in == nil { 2893 return nil 2894 } 2895 if cont, err := f(in); err != nil || !cont { 2896 return err 2897 } 2898 if err := VisitExpr(in.Expr, f); err != nil { 2899 return err 2900 } 2901 if err := VisitExpr(in.Pattern, f); err != nil { 2902 return err 2903 } 2904 if err := VisitExpr(in.MatchType, f); err != nil { 2905 return err 2906 } 2907 return nil 2908 } 2909 func VisitRefOfRegexpReplaceExpr(in *RegexpReplaceExpr, f Visit) error { 2910 if in == nil { 2911 return nil 2912 } 2913 if cont, err := f(in); err != nil || !cont { 2914 return err 2915 } 2916 if err := VisitExpr(in.Expr, f); err != nil { 2917 return err 2918 } 2919 if err := VisitExpr(in.Pattern, f); err != nil { 2920 return err 2921 } 2922 if err := VisitExpr(in.Repl, f); err != nil { 2923 return err 2924 } 2925 if err := VisitExpr(in.Occurrence, f); err != nil { 2926 return err 2927 } 2928 if err := VisitExpr(in.Position, f); err != nil { 2929 return err 2930 } 2931 if err := VisitExpr(in.MatchType, f); err != nil { 2932 return err 2933 } 2934 return nil 2935 } 2936 func VisitRefOfRegexpSubstrExpr(in *RegexpSubstrExpr, f Visit) error { 2937 if in == nil { 2938 return nil 2939 } 2940 if cont, err := f(in); err != nil || !cont { 2941 return err 2942 } 2943 if err := VisitExpr(in.Expr, f); err != nil { 2944 return err 2945 } 2946 if err := VisitExpr(in.Pattern, f); err != nil { 2947 return err 2948 } 2949 if err := VisitExpr(in.Occurrence, f); err != nil { 2950 return err 2951 } 2952 if err := VisitExpr(in.Position, f); err != nil { 2953 return err 2954 } 2955 if err := VisitExpr(in.MatchType, f); err != nil { 2956 return err 2957 } 2958 return nil 2959 } 2960 func VisitRefOfRelease(in *Release, f Visit) error { 2961 if in == nil { 2962 return nil 2963 } 2964 if cont, err := f(in); err != nil || !cont { 2965 return err 2966 } 2967 if err := VisitIdentifierCI(in.Name, f); err != nil { 2968 return err 2969 } 2970 return nil 2971 } 2972 func VisitRefOfRenameColumn(in *RenameColumn, f Visit) error { 2973 if in == nil { 2974 return nil 2975 } 2976 if cont, err := f(in); err != nil || !cont { 2977 return err 2978 } 2979 if err := VisitRefOfColName(in.OldName, f); err != nil { 2980 return err 2981 } 2982 if err := VisitRefOfColName(in.NewName, f); err != nil { 2983 return err 2984 } 2985 return nil 2986 } 2987 func VisitRefOfRenameIndex(in *RenameIndex, f Visit) error { 2988 if in == nil { 2989 return nil 2990 } 2991 if cont, err := f(in); err != nil || !cont { 2992 return err 2993 } 2994 if err := VisitIdentifierCI(in.OldName, f); err != nil { 2995 return err 2996 } 2997 if err := VisitIdentifierCI(in.NewName, f); err != nil { 2998 return err 2999 } 3000 return nil 3001 } 3002 func VisitRefOfRenameTable(in *RenameTable, f Visit) error { 3003 if in == nil { 3004 return nil 3005 } 3006 if cont, err := f(in); err != nil || !cont { 3007 return err 3008 } 3009 return nil 3010 } 3011 func VisitRefOfRenameTableName(in *RenameTableName, f Visit) error { 3012 if in == nil { 3013 return nil 3014 } 3015 if cont, err := f(in); err != nil || !cont { 3016 return err 3017 } 3018 if err := VisitTableName(in.Table, f); err != nil { 3019 return err 3020 } 3021 return nil 3022 } 3023 func VisitRefOfRevertMigration(in *RevertMigration, f Visit) error { 3024 if in == nil { 3025 return nil 3026 } 3027 if cont, err := f(in); err != nil || !cont { 3028 return err 3029 } 3030 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 3031 return err 3032 } 3033 return nil 3034 } 3035 func VisitRefOfRollback(in *Rollback, f Visit) error { 3036 if in == nil { 3037 return nil 3038 } 3039 if cont, err := f(in); err != nil || !cont { 3040 return err 3041 } 3042 return nil 3043 } 3044 func VisitRootNode(in RootNode, f Visit) error { 3045 if cont, err := f(in); err != nil || !cont { 3046 return err 3047 } 3048 if err := VisitSQLNode(in.SQLNode, f); err != nil { 3049 return err 3050 } 3051 return nil 3052 } 3053 func VisitRefOfSRollback(in *SRollback, f Visit) error { 3054 if in == nil { 3055 return nil 3056 } 3057 if cont, err := f(in); err != nil || !cont { 3058 return err 3059 } 3060 if err := VisitIdentifierCI(in.Name, f); err != nil { 3061 return err 3062 } 3063 return nil 3064 } 3065 func VisitRefOfSavepoint(in *Savepoint, f Visit) error { 3066 if in == nil { 3067 return nil 3068 } 3069 if cont, err := f(in); err != nil || !cont { 3070 return err 3071 } 3072 if err := VisitIdentifierCI(in.Name, f); err != nil { 3073 return err 3074 } 3075 return nil 3076 } 3077 func VisitRefOfSelect(in *Select, f Visit) error { 3078 if in == nil { 3079 return nil 3080 } 3081 if cont, err := f(in); err != nil || !cont { 3082 return err 3083 } 3084 for _, el := range in.From { 3085 if err := VisitTableExpr(el, f); err != nil { 3086 return err 3087 } 3088 } 3089 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 3090 return err 3091 } 3092 if err := VisitSelectExprs(in.SelectExprs, f); err != nil { 3093 return err 3094 } 3095 if err := VisitRefOfWhere(in.Where, f); err != nil { 3096 return err 3097 } 3098 if err := VisitRefOfWith(in.With, f); err != nil { 3099 return err 3100 } 3101 if err := VisitGroupBy(in.GroupBy, f); err != nil { 3102 return err 3103 } 3104 if err := VisitRefOfWhere(in.Having, f); err != nil { 3105 return err 3106 } 3107 if err := VisitNamedWindows(in.Windows, f); err != nil { 3108 return err 3109 } 3110 if err := VisitOrderBy(in.OrderBy, f); err != nil { 3111 return err 3112 } 3113 if err := VisitRefOfLimit(in.Limit, f); err != nil { 3114 return err 3115 } 3116 if err := VisitRefOfSelectInto(in.Into, f); err != nil { 3117 return err 3118 } 3119 return nil 3120 } 3121 func VisitSelectExprs(in SelectExprs, f Visit) error { 3122 if in == nil { 3123 return nil 3124 } 3125 if cont, err := f(in); err != nil || !cont { 3126 return err 3127 } 3128 for _, el := range in { 3129 if err := VisitSelectExpr(el, f); err != nil { 3130 return err 3131 } 3132 } 3133 return nil 3134 } 3135 func VisitRefOfSelectInto(in *SelectInto, f Visit) error { 3136 if in == nil { 3137 return nil 3138 } 3139 if cont, err := f(in); err != nil || !cont { 3140 return err 3141 } 3142 return nil 3143 } 3144 func VisitRefOfSet(in *Set, f Visit) error { 3145 if in == nil { 3146 return nil 3147 } 3148 if cont, err := f(in); err != nil || !cont { 3149 return err 3150 } 3151 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 3152 return err 3153 } 3154 if err := VisitSetExprs(in.Exprs, f); err != nil { 3155 return err 3156 } 3157 return nil 3158 } 3159 func VisitRefOfSetExpr(in *SetExpr, f Visit) error { 3160 if in == nil { 3161 return nil 3162 } 3163 if cont, err := f(in); err != nil || !cont { 3164 return err 3165 } 3166 if err := VisitRefOfVariable(in.Var, f); err != nil { 3167 return err 3168 } 3169 if err := VisitExpr(in.Expr, f); err != nil { 3170 return err 3171 } 3172 return nil 3173 } 3174 func VisitSetExprs(in SetExprs, f Visit) error { 3175 if in == nil { 3176 return nil 3177 } 3178 if cont, err := f(in); err != nil || !cont { 3179 return err 3180 } 3181 for _, el := range in { 3182 if err := VisitRefOfSetExpr(el, f); err != nil { 3183 return err 3184 } 3185 } 3186 return nil 3187 } 3188 func VisitRefOfShow(in *Show, f Visit) error { 3189 if in == nil { 3190 return nil 3191 } 3192 if cont, err := f(in); err != nil || !cont { 3193 return err 3194 } 3195 if err := VisitShowInternal(in.Internal, f); err != nil { 3196 return err 3197 } 3198 return nil 3199 } 3200 func VisitRefOfShowBasic(in *ShowBasic, f Visit) error { 3201 if in == nil { 3202 return nil 3203 } 3204 if cont, err := f(in); err != nil || !cont { 3205 return err 3206 } 3207 if err := VisitTableName(in.Tbl, f); err != nil { 3208 return err 3209 } 3210 if err := VisitIdentifierCS(in.DbName, f); err != nil { 3211 return err 3212 } 3213 if err := VisitRefOfShowFilter(in.Filter, f); err != nil { 3214 return err 3215 } 3216 return nil 3217 } 3218 func VisitRefOfShowCreate(in *ShowCreate, f Visit) error { 3219 if in == nil { 3220 return nil 3221 } 3222 if cont, err := f(in); err != nil || !cont { 3223 return err 3224 } 3225 if err := VisitTableName(in.Op, f); err != nil { 3226 return err 3227 } 3228 return nil 3229 } 3230 func VisitRefOfShowFilter(in *ShowFilter, f Visit) error { 3231 if in == nil { 3232 return nil 3233 } 3234 if cont, err := f(in); err != nil || !cont { 3235 return err 3236 } 3237 if err := VisitExpr(in.Filter, f); err != nil { 3238 return err 3239 } 3240 return nil 3241 } 3242 func VisitRefOfShowMigrationLogs(in *ShowMigrationLogs, f Visit) error { 3243 if in == nil { 3244 return nil 3245 } 3246 if cont, err := f(in); err != nil || !cont { 3247 return err 3248 } 3249 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 3250 return err 3251 } 3252 return nil 3253 } 3254 func VisitRefOfShowOther(in *ShowOther, f Visit) error { 3255 if in == nil { 3256 return nil 3257 } 3258 if cont, err := f(in); err != nil || !cont { 3259 return err 3260 } 3261 return nil 3262 } 3263 func VisitRefOfShowThrottledApps(in *ShowThrottledApps, f Visit) error { 3264 if in == nil { 3265 return nil 3266 } 3267 if cont, err := f(in); err != nil || !cont { 3268 return err 3269 } 3270 return nil 3271 } 3272 func VisitRefOfShowThrottlerStatus(in *ShowThrottlerStatus, f Visit) error { 3273 if in == nil { 3274 return nil 3275 } 3276 if cont, err := f(in); err != nil || !cont { 3277 return err 3278 } 3279 return nil 3280 } 3281 func VisitRefOfStarExpr(in *StarExpr, f Visit) error { 3282 if in == nil { 3283 return nil 3284 } 3285 if cont, err := f(in); err != nil || !cont { 3286 return err 3287 } 3288 if err := VisitTableName(in.TableName, f); err != nil { 3289 return err 3290 } 3291 return nil 3292 } 3293 func VisitRefOfStd(in *Std, f Visit) error { 3294 if in == nil { 3295 return nil 3296 } 3297 if cont, err := f(in); err != nil || !cont { 3298 return err 3299 } 3300 if err := VisitExpr(in.Arg, f); err != nil { 3301 return err 3302 } 3303 return nil 3304 } 3305 func VisitRefOfStdDev(in *StdDev, f Visit) error { 3306 if in == nil { 3307 return nil 3308 } 3309 if cont, err := f(in); err != nil || !cont { 3310 return err 3311 } 3312 if err := VisitExpr(in.Arg, f); err != nil { 3313 return err 3314 } 3315 return nil 3316 } 3317 func VisitRefOfStdPop(in *StdPop, f Visit) error { 3318 if in == nil { 3319 return nil 3320 } 3321 if cont, err := f(in); err != nil || !cont { 3322 return err 3323 } 3324 if err := VisitExpr(in.Arg, f); err != nil { 3325 return err 3326 } 3327 return nil 3328 } 3329 func VisitRefOfStdSamp(in *StdSamp, f Visit) error { 3330 if in == nil { 3331 return nil 3332 } 3333 if cont, err := f(in); err != nil || !cont { 3334 return err 3335 } 3336 if err := VisitExpr(in.Arg, f); err != nil { 3337 return err 3338 } 3339 return nil 3340 } 3341 func VisitRefOfStream(in *Stream, f Visit) error { 3342 if in == nil { 3343 return nil 3344 } 3345 if cont, err := f(in); err != nil || !cont { 3346 return err 3347 } 3348 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 3349 return err 3350 } 3351 if err := VisitSelectExpr(in.SelectExpr, f); err != nil { 3352 return err 3353 } 3354 if err := VisitTableName(in.Table, f); err != nil { 3355 return err 3356 } 3357 return nil 3358 } 3359 func VisitRefOfSubPartition(in *SubPartition, f Visit) error { 3360 if in == nil { 3361 return nil 3362 } 3363 if cont, err := f(in); err != nil || !cont { 3364 return err 3365 } 3366 if err := VisitColumns(in.ColList, f); err != nil { 3367 return err 3368 } 3369 if err := VisitExpr(in.Expr, f); err != nil { 3370 return err 3371 } 3372 return nil 3373 } 3374 func VisitRefOfSubPartitionDefinition(in *SubPartitionDefinition, f Visit) error { 3375 if in == nil { 3376 return nil 3377 } 3378 if cont, err := f(in); err != nil || !cont { 3379 return err 3380 } 3381 if err := VisitIdentifierCI(in.Name, f); err != nil { 3382 return err 3383 } 3384 if err := VisitRefOfSubPartitionDefinitionOptions(in.Options, f); err != nil { 3385 return err 3386 } 3387 return nil 3388 } 3389 func VisitRefOfSubPartitionDefinitionOptions(in *SubPartitionDefinitionOptions, f Visit) error { 3390 if in == nil { 3391 return nil 3392 } 3393 if cont, err := f(in); err != nil || !cont { 3394 return err 3395 } 3396 if err := VisitRefOfLiteral(in.Comment, f); err != nil { 3397 return err 3398 } 3399 if err := VisitRefOfPartitionEngine(in.Engine, f); err != nil { 3400 return err 3401 } 3402 if err := VisitRefOfLiteral(in.DataDirectory, f); err != nil { 3403 return err 3404 } 3405 if err := VisitRefOfLiteral(in.IndexDirectory, f); err != nil { 3406 return err 3407 } 3408 return nil 3409 } 3410 func VisitSubPartitionDefinitions(in SubPartitionDefinitions, f Visit) error { 3411 if in == nil { 3412 return nil 3413 } 3414 if cont, err := f(in); err != nil || !cont { 3415 return err 3416 } 3417 for _, el := range in { 3418 if err := VisitRefOfSubPartitionDefinition(el, f); err != nil { 3419 return err 3420 } 3421 } 3422 return nil 3423 } 3424 func VisitRefOfSubquery(in *Subquery, f Visit) error { 3425 if in == nil { 3426 return nil 3427 } 3428 if cont, err := f(in); err != nil || !cont { 3429 return err 3430 } 3431 if err := VisitSelectStatement(in.Select, f); err != nil { 3432 return err 3433 } 3434 return nil 3435 } 3436 func VisitRefOfSubstrExpr(in *SubstrExpr, f Visit) error { 3437 if in == nil { 3438 return nil 3439 } 3440 if cont, err := f(in); err != nil || !cont { 3441 return err 3442 } 3443 if err := VisitExpr(in.Name, f); err != nil { 3444 return err 3445 } 3446 if err := VisitExpr(in.From, f); err != nil { 3447 return err 3448 } 3449 if err := VisitExpr(in.To, f); err != nil { 3450 return err 3451 } 3452 return nil 3453 } 3454 func VisitRefOfSum(in *Sum, f Visit) error { 3455 if in == nil { 3456 return nil 3457 } 3458 if cont, err := f(in); err != nil || !cont { 3459 return err 3460 } 3461 if err := VisitExpr(in.Arg, f); err != nil { 3462 return err 3463 } 3464 return nil 3465 } 3466 func VisitTableExprs(in TableExprs, f Visit) error { 3467 if in == nil { 3468 return nil 3469 } 3470 if cont, err := f(in); err != nil || !cont { 3471 return err 3472 } 3473 for _, el := range in { 3474 if err := VisitTableExpr(el, f); err != nil { 3475 return err 3476 } 3477 } 3478 return nil 3479 } 3480 func VisitTableName(in TableName, f Visit) error { 3481 if cont, err := f(in); err != nil || !cont { 3482 return err 3483 } 3484 if err := VisitIdentifierCS(in.Name, f); err != nil { 3485 return err 3486 } 3487 if err := VisitIdentifierCS(in.Qualifier, f); err != nil { 3488 return err 3489 } 3490 return nil 3491 } 3492 func VisitTableNames(in TableNames, f Visit) error { 3493 if in == nil { 3494 return nil 3495 } 3496 if cont, err := f(in); err != nil || !cont { 3497 return err 3498 } 3499 for _, el := range in { 3500 if err := VisitTableName(el, f); err != nil { 3501 return err 3502 } 3503 } 3504 return nil 3505 } 3506 func VisitTableOptions(in TableOptions, f Visit) error { 3507 _, err := f(in) 3508 return err 3509 } 3510 func VisitRefOfTableSpec(in *TableSpec, f Visit) error { 3511 if in == nil { 3512 return nil 3513 } 3514 if cont, err := f(in); err != nil || !cont { 3515 return err 3516 } 3517 for _, el := range in.Columns { 3518 if err := VisitRefOfColumnDefinition(el, f); err != nil { 3519 return err 3520 } 3521 } 3522 for _, el := range in.Indexes { 3523 if err := VisitRefOfIndexDefinition(el, f); err != nil { 3524 return err 3525 } 3526 } 3527 for _, el := range in.Constraints { 3528 if err := VisitRefOfConstraintDefinition(el, f); err != nil { 3529 return err 3530 } 3531 } 3532 if err := VisitTableOptions(in.Options, f); err != nil { 3533 return err 3534 } 3535 if err := VisitRefOfPartitionOption(in.PartitionOption, f); err != nil { 3536 return err 3537 } 3538 return nil 3539 } 3540 func VisitRefOfTablespaceOperation(in *TablespaceOperation, f Visit) error { 3541 if in == nil { 3542 return nil 3543 } 3544 if cont, err := f(in); err != nil || !cont { 3545 return err 3546 } 3547 return nil 3548 } 3549 func VisitRefOfTimestampFuncExpr(in *TimestampFuncExpr, f Visit) error { 3550 if in == nil { 3551 return nil 3552 } 3553 if cont, err := f(in); err != nil || !cont { 3554 return err 3555 } 3556 if err := VisitExpr(in.Expr1, f); err != nil { 3557 return err 3558 } 3559 if err := VisitExpr(in.Expr2, f); err != nil { 3560 return err 3561 } 3562 return nil 3563 } 3564 func VisitRefOfTrimFuncExpr(in *TrimFuncExpr, f Visit) error { 3565 if in == nil { 3566 return nil 3567 } 3568 if cont, err := f(in); err != nil || !cont { 3569 return err 3570 } 3571 if err := VisitExpr(in.TrimArg, f); err != nil { 3572 return err 3573 } 3574 if err := VisitExpr(in.StringArg, f); err != nil { 3575 return err 3576 } 3577 return nil 3578 } 3579 func VisitRefOfTruncateTable(in *TruncateTable, f Visit) error { 3580 if in == nil { 3581 return nil 3582 } 3583 if cont, err := f(in); err != nil || !cont { 3584 return err 3585 } 3586 if err := VisitTableName(in.Table, f); err != nil { 3587 return err 3588 } 3589 return nil 3590 } 3591 func VisitRefOfUnaryExpr(in *UnaryExpr, f Visit) error { 3592 if in == nil { 3593 return nil 3594 } 3595 if cont, err := f(in); err != nil || !cont { 3596 return err 3597 } 3598 if err := VisitExpr(in.Expr, f); err != nil { 3599 return err 3600 } 3601 return nil 3602 } 3603 func VisitRefOfUnion(in *Union, f Visit) error { 3604 if in == nil { 3605 return nil 3606 } 3607 if cont, err := f(in); err != nil || !cont { 3608 return err 3609 } 3610 if err := VisitSelectStatement(in.Left, f); err != nil { 3611 return err 3612 } 3613 if err := VisitSelectStatement(in.Right, f); err != nil { 3614 return err 3615 } 3616 if err := VisitOrderBy(in.OrderBy, f); err != nil { 3617 return err 3618 } 3619 if err := VisitRefOfWith(in.With, f); err != nil { 3620 return err 3621 } 3622 if err := VisitRefOfLimit(in.Limit, f); err != nil { 3623 return err 3624 } 3625 if err := VisitRefOfSelectInto(in.Into, f); err != nil { 3626 return err 3627 } 3628 return nil 3629 } 3630 func VisitRefOfUnlockTables(in *UnlockTables, f Visit) error { 3631 if in == nil { 3632 return nil 3633 } 3634 if cont, err := f(in); err != nil || !cont { 3635 return err 3636 } 3637 return nil 3638 } 3639 func VisitRefOfUpdate(in *Update, f Visit) error { 3640 if in == nil { 3641 return nil 3642 } 3643 if cont, err := f(in); err != nil || !cont { 3644 return err 3645 } 3646 if err := VisitRefOfWith(in.With, f); err != nil { 3647 return err 3648 } 3649 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 3650 return err 3651 } 3652 if err := VisitTableExprs(in.TableExprs, f); err != nil { 3653 return err 3654 } 3655 if err := VisitUpdateExprs(in.Exprs, f); err != nil { 3656 return err 3657 } 3658 if err := VisitRefOfWhere(in.Where, f); err != nil { 3659 return err 3660 } 3661 if err := VisitOrderBy(in.OrderBy, f); err != nil { 3662 return err 3663 } 3664 if err := VisitRefOfLimit(in.Limit, f); err != nil { 3665 return err 3666 } 3667 return nil 3668 } 3669 func VisitRefOfUpdateExpr(in *UpdateExpr, f Visit) error { 3670 if in == nil { 3671 return nil 3672 } 3673 if cont, err := f(in); err != nil || !cont { 3674 return err 3675 } 3676 if err := VisitRefOfColName(in.Name, f); err != nil { 3677 return err 3678 } 3679 if err := VisitExpr(in.Expr, f); err != nil { 3680 return err 3681 } 3682 return nil 3683 } 3684 func VisitUpdateExprs(in UpdateExprs, f Visit) error { 3685 if in == nil { 3686 return nil 3687 } 3688 if cont, err := f(in); err != nil || !cont { 3689 return err 3690 } 3691 for _, el := range in { 3692 if err := VisitRefOfUpdateExpr(el, f); err != nil { 3693 return err 3694 } 3695 } 3696 return nil 3697 } 3698 func VisitRefOfUpdateXMLExpr(in *UpdateXMLExpr, f Visit) error { 3699 if in == nil { 3700 return nil 3701 } 3702 if cont, err := f(in); err != nil || !cont { 3703 return err 3704 } 3705 if err := VisitExpr(in.Target, f); err != nil { 3706 return err 3707 } 3708 if err := VisitExpr(in.XPathExpr, f); err != nil { 3709 return err 3710 } 3711 if err := VisitExpr(in.NewXML, f); err != nil { 3712 return err 3713 } 3714 return nil 3715 } 3716 func VisitRefOfUse(in *Use, f Visit) error { 3717 if in == nil { 3718 return nil 3719 } 3720 if cont, err := f(in); err != nil || !cont { 3721 return err 3722 } 3723 if err := VisitIdentifierCS(in.DBName, f); err != nil { 3724 return err 3725 } 3726 return nil 3727 } 3728 func VisitRefOfVExplainStmt(in *VExplainStmt, f Visit) error { 3729 if in == nil { 3730 return nil 3731 } 3732 if cont, err := f(in); err != nil || !cont { 3733 return err 3734 } 3735 if err := VisitStatement(in.Statement, f); err != nil { 3736 return err 3737 } 3738 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 3739 return err 3740 } 3741 return nil 3742 } 3743 func VisitRefOfVStream(in *VStream, f Visit) error { 3744 if in == nil { 3745 return nil 3746 } 3747 if cont, err := f(in); err != nil || !cont { 3748 return err 3749 } 3750 if err := VisitRefOfParsedComments(in.Comments, f); err != nil { 3751 return err 3752 } 3753 if err := VisitSelectExpr(in.SelectExpr, f); err != nil { 3754 return err 3755 } 3756 if err := VisitTableName(in.Table, f); err != nil { 3757 return err 3758 } 3759 if err := VisitRefOfWhere(in.Where, f); err != nil { 3760 return err 3761 } 3762 if err := VisitRefOfLimit(in.Limit, f); err != nil { 3763 return err 3764 } 3765 return nil 3766 } 3767 func VisitValTuple(in ValTuple, f Visit) error { 3768 if in == nil { 3769 return nil 3770 } 3771 if cont, err := f(in); err != nil || !cont { 3772 return err 3773 } 3774 for _, el := range in { 3775 if err := VisitExpr(el, f); err != nil { 3776 return err 3777 } 3778 } 3779 return nil 3780 } 3781 func VisitRefOfValidation(in *Validation, f Visit) error { 3782 if in == nil { 3783 return nil 3784 } 3785 if cont, err := f(in); err != nil || !cont { 3786 return err 3787 } 3788 return nil 3789 } 3790 func VisitValues(in Values, f Visit) error { 3791 if in == nil { 3792 return nil 3793 } 3794 if cont, err := f(in); err != nil || !cont { 3795 return err 3796 } 3797 for _, el := range in { 3798 if err := VisitValTuple(el, f); err != nil { 3799 return err 3800 } 3801 } 3802 return nil 3803 } 3804 func VisitRefOfValuesFuncExpr(in *ValuesFuncExpr, f Visit) error { 3805 if in == nil { 3806 return nil 3807 } 3808 if cont, err := f(in); err != nil || !cont { 3809 return err 3810 } 3811 if err := VisitRefOfColName(in.Name, f); err != nil { 3812 return err 3813 } 3814 return nil 3815 } 3816 func VisitRefOfVarPop(in *VarPop, f Visit) error { 3817 if in == nil { 3818 return nil 3819 } 3820 if cont, err := f(in); err != nil || !cont { 3821 return err 3822 } 3823 if err := VisitExpr(in.Arg, f); err != nil { 3824 return err 3825 } 3826 return nil 3827 } 3828 func VisitRefOfVarSamp(in *VarSamp, f Visit) error { 3829 if in == nil { 3830 return nil 3831 } 3832 if cont, err := f(in); err != nil || !cont { 3833 return err 3834 } 3835 if err := VisitExpr(in.Arg, f); err != nil { 3836 return err 3837 } 3838 return nil 3839 } 3840 func VisitRefOfVariable(in *Variable, f Visit) error { 3841 if in == nil { 3842 return nil 3843 } 3844 if cont, err := f(in); err != nil || !cont { 3845 return err 3846 } 3847 if err := VisitIdentifierCI(in.Name, f); err != nil { 3848 return err 3849 } 3850 return nil 3851 } 3852 func VisitRefOfVariance(in *Variance, f Visit) error { 3853 if in == nil { 3854 return nil 3855 } 3856 if cont, err := f(in); err != nil || !cont { 3857 return err 3858 } 3859 if err := VisitExpr(in.Arg, f); err != nil { 3860 return err 3861 } 3862 return nil 3863 } 3864 func VisitVindexParam(in VindexParam, f Visit) error { 3865 if cont, err := f(in); err != nil || !cont { 3866 return err 3867 } 3868 if err := VisitIdentifierCI(in.Key, f); err != nil { 3869 return err 3870 } 3871 return nil 3872 } 3873 func VisitRefOfVindexSpec(in *VindexSpec, f Visit) error { 3874 if in == nil { 3875 return nil 3876 } 3877 if cont, err := f(in); err != nil || !cont { 3878 return err 3879 } 3880 if err := VisitIdentifierCI(in.Name, f); err != nil { 3881 return err 3882 } 3883 if err := VisitIdentifierCI(in.Type, f); err != nil { 3884 return err 3885 } 3886 for _, el := range in.Params { 3887 if err := VisitVindexParam(el, f); err != nil { 3888 return err 3889 } 3890 } 3891 return nil 3892 } 3893 func VisitRefOfWeightStringFuncExpr(in *WeightStringFuncExpr, f Visit) error { 3894 if in == nil { 3895 return nil 3896 } 3897 if cont, err := f(in); err != nil || !cont { 3898 return err 3899 } 3900 if err := VisitExpr(in.Expr, f); err != nil { 3901 return err 3902 } 3903 if err := VisitRefOfConvertType(in.As, f); err != nil { 3904 return err 3905 } 3906 return nil 3907 } 3908 func VisitRefOfWhen(in *When, f Visit) error { 3909 if in == nil { 3910 return nil 3911 } 3912 if cont, err := f(in); err != nil || !cont { 3913 return err 3914 } 3915 if err := VisitExpr(in.Cond, f); err != nil { 3916 return err 3917 } 3918 if err := VisitExpr(in.Val, f); err != nil { 3919 return err 3920 } 3921 return nil 3922 } 3923 func VisitRefOfWhere(in *Where, f Visit) error { 3924 if in == nil { 3925 return nil 3926 } 3927 if cont, err := f(in); err != nil || !cont { 3928 return err 3929 } 3930 if err := VisitExpr(in.Expr, f); err != nil { 3931 return err 3932 } 3933 return nil 3934 } 3935 func VisitRefOfWindowDefinition(in *WindowDefinition, f Visit) error { 3936 if in == nil { 3937 return nil 3938 } 3939 if cont, err := f(in); err != nil || !cont { 3940 return err 3941 } 3942 if err := VisitIdentifierCI(in.Name, f); err != nil { 3943 return err 3944 } 3945 if err := VisitRefOfWindowSpecification(in.WindowSpec, f); err != nil { 3946 return err 3947 } 3948 return nil 3949 } 3950 func VisitWindowDefinitions(in WindowDefinitions, f Visit) error { 3951 if in == nil { 3952 return nil 3953 } 3954 if cont, err := f(in); err != nil || !cont { 3955 return err 3956 } 3957 for _, el := range in { 3958 if err := VisitRefOfWindowDefinition(el, f); err != nil { 3959 return err 3960 } 3961 } 3962 return nil 3963 } 3964 func VisitRefOfWindowSpecification(in *WindowSpecification, f Visit) error { 3965 if in == nil { 3966 return nil 3967 } 3968 if cont, err := f(in); err != nil || !cont { 3969 return err 3970 } 3971 if err := VisitIdentifierCI(in.Name, f); err != nil { 3972 return err 3973 } 3974 if err := VisitExprs(in.PartitionClause, f); err != nil { 3975 return err 3976 } 3977 if err := VisitOrderBy(in.OrderClause, f); err != nil { 3978 return err 3979 } 3980 if err := VisitRefOfFrameClause(in.FrameClause, f); err != nil { 3981 return err 3982 } 3983 return nil 3984 } 3985 func VisitRefOfWith(in *With, f Visit) error { 3986 if in == nil { 3987 return nil 3988 } 3989 if cont, err := f(in); err != nil || !cont { 3990 return err 3991 } 3992 for _, el := range in.ctes { 3993 if err := VisitRefOfCommonTableExpr(el, f); err != nil { 3994 return err 3995 } 3996 } 3997 return nil 3998 } 3999 func VisitRefOfXorExpr(in *XorExpr, f Visit) error { 4000 if in == nil { 4001 return nil 4002 } 4003 if cont, err := f(in); err != nil || !cont { 4004 return err 4005 } 4006 if err := VisitExpr(in.Left, f); err != nil { 4007 return err 4008 } 4009 if err := VisitExpr(in.Right, f); err != nil { 4010 return err 4011 } 4012 return nil 4013 } 4014 func VisitAggrFunc(in AggrFunc, f Visit) error { 4015 if in == nil { 4016 return nil 4017 } 4018 switch in := in.(type) { 4019 case *Avg: 4020 return VisitRefOfAvg(in, f) 4021 case *BitAnd: 4022 return VisitRefOfBitAnd(in, f) 4023 case *BitOr: 4024 return VisitRefOfBitOr(in, f) 4025 case *BitXor: 4026 return VisitRefOfBitXor(in, f) 4027 case *Count: 4028 return VisitRefOfCount(in, f) 4029 case *CountStar: 4030 return VisitRefOfCountStar(in, f) 4031 case *GroupConcatExpr: 4032 return VisitRefOfGroupConcatExpr(in, f) 4033 case *Max: 4034 return VisitRefOfMax(in, f) 4035 case *Min: 4036 return VisitRefOfMin(in, f) 4037 case *Std: 4038 return VisitRefOfStd(in, f) 4039 case *StdDev: 4040 return VisitRefOfStdDev(in, f) 4041 case *StdPop: 4042 return VisitRefOfStdPop(in, f) 4043 case *StdSamp: 4044 return VisitRefOfStdSamp(in, f) 4045 case *Sum: 4046 return VisitRefOfSum(in, f) 4047 case *VarPop: 4048 return VisitRefOfVarPop(in, f) 4049 case *VarSamp: 4050 return VisitRefOfVarSamp(in, f) 4051 case *Variance: 4052 return VisitRefOfVariance(in, f) 4053 default: 4054 // this should never happen 4055 return nil 4056 } 4057 } 4058 func VisitAlterOption(in AlterOption, f Visit) error { 4059 if in == nil { 4060 return nil 4061 } 4062 switch in := in.(type) { 4063 case *AddColumns: 4064 return VisitRefOfAddColumns(in, f) 4065 case *AddConstraintDefinition: 4066 return VisitRefOfAddConstraintDefinition(in, f) 4067 case *AddIndexDefinition: 4068 return VisitRefOfAddIndexDefinition(in, f) 4069 case AlgorithmValue: 4070 return VisitAlgorithmValue(in, f) 4071 case *AlterCharset: 4072 return VisitRefOfAlterCharset(in, f) 4073 case *AlterCheck: 4074 return VisitRefOfAlterCheck(in, f) 4075 case *AlterColumn: 4076 return VisitRefOfAlterColumn(in, f) 4077 case *AlterIndex: 4078 return VisitRefOfAlterIndex(in, f) 4079 case *ChangeColumn: 4080 return VisitRefOfChangeColumn(in, f) 4081 case *DropColumn: 4082 return VisitRefOfDropColumn(in, f) 4083 case *DropKey: 4084 return VisitRefOfDropKey(in, f) 4085 case *Force: 4086 return VisitRefOfForce(in, f) 4087 case *KeyState: 4088 return VisitRefOfKeyState(in, f) 4089 case *LockOption: 4090 return VisitRefOfLockOption(in, f) 4091 case *ModifyColumn: 4092 return VisitRefOfModifyColumn(in, f) 4093 case *OrderByOption: 4094 return VisitRefOfOrderByOption(in, f) 4095 case *RenameColumn: 4096 return VisitRefOfRenameColumn(in, f) 4097 case *RenameIndex: 4098 return VisitRefOfRenameIndex(in, f) 4099 case *RenameTableName: 4100 return VisitRefOfRenameTableName(in, f) 4101 case TableOptions: 4102 return VisitTableOptions(in, f) 4103 case *TablespaceOperation: 4104 return VisitRefOfTablespaceOperation(in, f) 4105 case *Validation: 4106 return VisitRefOfValidation(in, f) 4107 default: 4108 // this should never happen 4109 return nil 4110 } 4111 } 4112 func VisitCallable(in Callable, f Visit) error { 4113 if in == nil { 4114 return nil 4115 } 4116 switch in := in.(type) { 4117 case *ArgumentLessWindowExpr: 4118 return VisitRefOfArgumentLessWindowExpr(in, f) 4119 case *Avg: 4120 return VisitRefOfAvg(in, f) 4121 case *CharExpr: 4122 return VisitRefOfCharExpr(in, f) 4123 case *ConvertExpr: 4124 return VisitRefOfConvertExpr(in, f) 4125 case *ConvertUsingExpr: 4126 return VisitRefOfConvertUsingExpr(in, f) 4127 case *Count: 4128 return VisitRefOfCount(in, f) 4129 case *CountStar: 4130 return VisitRefOfCountStar(in, f) 4131 case *CurTimeFuncExpr: 4132 return VisitRefOfCurTimeFuncExpr(in, f) 4133 case *ExtractFuncExpr: 4134 return VisitRefOfExtractFuncExpr(in, f) 4135 case *ExtractValueExpr: 4136 return VisitRefOfExtractValueExpr(in, f) 4137 case *FirstOrLastValueExpr: 4138 return VisitRefOfFirstOrLastValueExpr(in, f) 4139 case *FuncExpr: 4140 return VisitRefOfFuncExpr(in, f) 4141 case *GTIDFuncExpr: 4142 return VisitRefOfGTIDFuncExpr(in, f) 4143 case *GroupConcatExpr: 4144 return VisitRefOfGroupConcatExpr(in, f) 4145 case *InsertExpr: 4146 return VisitRefOfInsertExpr(in, f) 4147 case *IntervalFuncExpr: 4148 return VisitRefOfIntervalFuncExpr(in, f) 4149 case *JSONArrayExpr: 4150 return VisitRefOfJSONArrayExpr(in, f) 4151 case *JSONAttributesExpr: 4152 return VisitRefOfJSONAttributesExpr(in, f) 4153 case *JSONContainsExpr: 4154 return VisitRefOfJSONContainsExpr(in, f) 4155 case *JSONContainsPathExpr: 4156 return VisitRefOfJSONContainsPathExpr(in, f) 4157 case *JSONExtractExpr: 4158 return VisitRefOfJSONExtractExpr(in, f) 4159 case *JSONKeysExpr: 4160 return VisitRefOfJSONKeysExpr(in, f) 4161 case *JSONObjectExpr: 4162 return VisitRefOfJSONObjectExpr(in, f) 4163 case *JSONOverlapsExpr: 4164 return VisitRefOfJSONOverlapsExpr(in, f) 4165 case *JSONPrettyExpr: 4166 return VisitRefOfJSONPrettyExpr(in, f) 4167 case *JSONQuoteExpr: 4168 return VisitRefOfJSONQuoteExpr(in, f) 4169 case *JSONRemoveExpr: 4170 return VisitRefOfJSONRemoveExpr(in, f) 4171 case *JSONSchemaValidFuncExpr: 4172 return VisitRefOfJSONSchemaValidFuncExpr(in, f) 4173 case *JSONSchemaValidationReportFuncExpr: 4174 return VisitRefOfJSONSchemaValidationReportFuncExpr(in, f) 4175 case *JSONSearchExpr: 4176 return VisitRefOfJSONSearchExpr(in, f) 4177 case *JSONStorageFreeExpr: 4178 return VisitRefOfJSONStorageFreeExpr(in, f) 4179 case *JSONStorageSizeExpr: 4180 return VisitRefOfJSONStorageSizeExpr(in, f) 4181 case *JSONUnquoteExpr: 4182 return VisitRefOfJSONUnquoteExpr(in, f) 4183 case *JSONValueExpr: 4184 return VisitRefOfJSONValueExpr(in, f) 4185 case *JSONValueMergeExpr: 4186 return VisitRefOfJSONValueMergeExpr(in, f) 4187 case *JSONValueModifierExpr: 4188 return VisitRefOfJSONValueModifierExpr(in, f) 4189 case *LagLeadExpr: 4190 return VisitRefOfLagLeadExpr(in, f) 4191 case *LocateExpr: 4192 return VisitRefOfLocateExpr(in, f) 4193 case *MatchExpr: 4194 return VisitRefOfMatchExpr(in, f) 4195 case *Max: 4196 return VisitRefOfMax(in, f) 4197 case *MemberOfExpr: 4198 return VisitRefOfMemberOfExpr(in, f) 4199 case *Min: 4200 return VisitRefOfMin(in, f) 4201 case *NTHValueExpr: 4202 return VisitRefOfNTHValueExpr(in, f) 4203 case *NamedWindow: 4204 return VisitRefOfNamedWindow(in, f) 4205 case *NtileExpr: 4206 return VisitRefOfNtileExpr(in, f) 4207 case *PerformanceSchemaFuncExpr: 4208 return VisitRefOfPerformanceSchemaFuncExpr(in, f) 4209 case *RegexpInstrExpr: 4210 return VisitRefOfRegexpInstrExpr(in, f) 4211 case *RegexpLikeExpr: 4212 return VisitRefOfRegexpLikeExpr(in, f) 4213 case *RegexpReplaceExpr: 4214 return VisitRefOfRegexpReplaceExpr(in, f) 4215 case *RegexpSubstrExpr: 4216 return VisitRefOfRegexpSubstrExpr(in, f) 4217 case *SubstrExpr: 4218 return VisitRefOfSubstrExpr(in, f) 4219 case *Sum: 4220 return VisitRefOfSum(in, f) 4221 case *TimestampFuncExpr: 4222 return VisitRefOfTimestampFuncExpr(in, f) 4223 case *TrimFuncExpr: 4224 return VisitRefOfTrimFuncExpr(in, f) 4225 case *UpdateXMLExpr: 4226 return VisitRefOfUpdateXMLExpr(in, f) 4227 case *ValuesFuncExpr: 4228 return VisitRefOfValuesFuncExpr(in, f) 4229 case *WeightStringFuncExpr: 4230 return VisitRefOfWeightStringFuncExpr(in, f) 4231 default: 4232 // this should never happen 4233 return nil 4234 } 4235 } 4236 func VisitColTuple(in ColTuple, f Visit) error { 4237 if in == nil { 4238 return nil 4239 } 4240 switch in := in.(type) { 4241 case ListArg: 4242 return VisitListArg(in, f) 4243 case *Subquery: 4244 return VisitRefOfSubquery(in, f) 4245 case ValTuple: 4246 return VisitValTuple(in, f) 4247 default: 4248 // this should never happen 4249 return nil 4250 } 4251 } 4252 func VisitConstraintInfo(in ConstraintInfo, f Visit) error { 4253 if in == nil { 4254 return nil 4255 } 4256 switch in := in.(type) { 4257 case *CheckConstraintDefinition: 4258 return VisitRefOfCheckConstraintDefinition(in, f) 4259 case *ForeignKeyDefinition: 4260 return VisitRefOfForeignKeyDefinition(in, f) 4261 default: 4262 // this should never happen 4263 return nil 4264 } 4265 } 4266 func VisitDBDDLStatement(in DBDDLStatement, f Visit) error { 4267 if in == nil { 4268 return nil 4269 } 4270 switch in := in.(type) { 4271 case *AlterDatabase: 4272 return VisitRefOfAlterDatabase(in, f) 4273 case *CreateDatabase: 4274 return VisitRefOfCreateDatabase(in, f) 4275 case *DropDatabase: 4276 return VisitRefOfDropDatabase(in, f) 4277 default: 4278 // this should never happen 4279 return nil 4280 } 4281 } 4282 func VisitDDLStatement(in DDLStatement, f Visit) error { 4283 if in == nil { 4284 return nil 4285 } 4286 switch in := in.(type) { 4287 case *AlterTable: 4288 return VisitRefOfAlterTable(in, f) 4289 case *AlterView: 4290 return VisitRefOfAlterView(in, f) 4291 case *CreateTable: 4292 return VisitRefOfCreateTable(in, f) 4293 case *CreateView: 4294 return VisitRefOfCreateView(in, f) 4295 case *DropTable: 4296 return VisitRefOfDropTable(in, f) 4297 case *DropView: 4298 return VisitRefOfDropView(in, f) 4299 case *RenameTable: 4300 return VisitRefOfRenameTable(in, f) 4301 case *TruncateTable: 4302 return VisitRefOfTruncateTable(in, f) 4303 default: 4304 // this should never happen 4305 return nil 4306 } 4307 } 4308 func VisitExplain(in Explain, f Visit) error { 4309 if in == nil { 4310 return nil 4311 } 4312 switch in := in.(type) { 4313 case *ExplainStmt: 4314 return VisitRefOfExplainStmt(in, f) 4315 case *ExplainTab: 4316 return VisitRefOfExplainTab(in, f) 4317 default: 4318 // this should never happen 4319 return nil 4320 } 4321 } 4322 func VisitExpr(in Expr, f Visit) error { 4323 if in == nil { 4324 return nil 4325 } 4326 switch in := in.(type) { 4327 case *AndExpr: 4328 return VisitRefOfAndExpr(in, f) 4329 case Argument: 4330 return VisitArgument(in, f) 4331 case *ArgumentLessWindowExpr: 4332 return VisitRefOfArgumentLessWindowExpr(in, f) 4333 case *Avg: 4334 return VisitRefOfAvg(in, f) 4335 case *BetweenExpr: 4336 return VisitRefOfBetweenExpr(in, f) 4337 case *BinaryExpr: 4338 return VisitRefOfBinaryExpr(in, f) 4339 case *BitAnd: 4340 return VisitRefOfBitAnd(in, f) 4341 case *BitOr: 4342 return VisitRefOfBitOr(in, f) 4343 case *BitXor: 4344 return VisitRefOfBitXor(in, f) 4345 case BoolVal: 4346 return VisitBoolVal(in, f) 4347 case *CaseExpr: 4348 return VisitRefOfCaseExpr(in, f) 4349 case *CastExpr: 4350 return VisitRefOfCastExpr(in, f) 4351 case *CharExpr: 4352 return VisitRefOfCharExpr(in, f) 4353 case *ColName: 4354 return VisitRefOfColName(in, f) 4355 case *CollateExpr: 4356 return VisitRefOfCollateExpr(in, f) 4357 case *ComparisonExpr: 4358 return VisitRefOfComparisonExpr(in, f) 4359 case *ConvertExpr: 4360 return VisitRefOfConvertExpr(in, f) 4361 case *ConvertUsingExpr: 4362 return VisitRefOfConvertUsingExpr(in, f) 4363 case *Count: 4364 return VisitRefOfCount(in, f) 4365 case *CountStar: 4366 return VisitRefOfCountStar(in, f) 4367 case *CurTimeFuncExpr: 4368 return VisitRefOfCurTimeFuncExpr(in, f) 4369 case *Default: 4370 return VisitRefOfDefault(in, f) 4371 case *ExistsExpr: 4372 return VisitRefOfExistsExpr(in, f) 4373 case *ExtractFuncExpr: 4374 return VisitRefOfExtractFuncExpr(in, f) 4375 case *ExtractValueExpr: 4376 return VisitRefOfExtractValueExpr(in, f) 4377 case *ExtractedSubquery: 4378 return VisitRefOfExtractedSubquery(in, f) 4379 case *FirstOrLastValueExpr: 4380 return VisitRefOfFirstOrLastValueExpr(in, f) 4381 case *FuncExpr: 4382 return VisitRefOfFuncExpr(in, f) 4383 case *GTIDFuncExpr: 4384 return VisitRefOfGTIDFuncExpr(in, f) 4385 case *GroupConcatExpr: 4386 return VisitRefOfGroupConcatExpr(in, f) 4387 case *InsertExpr: 4388 return VisitRefOfInsertExpr(in, f) 4389 case *IntervalExpr: 4390 return VisitRefOfIntervalExpr(in, f) 4391 case *IntervalFuncExpr: 4392 return VisitRefOfIntervalFuncExpr(in, f) 4393 case *IntroducerExpr: 4394 return VisitRefOfIntroducerExpr(in, f) 4395 case *IsExpr: 4396 return VisitRefOfIsExpr(in, f) 4397 case *JSONArrayExpr: 4398 return VisitRefOfJSONArrayExpr(in, f) 4399 case *JSONAttributesExpr: 4400 return VisitRefOfJSONAttributesExpr(in, f) 4401 case *JSONContainsExpr: 4402 return VisitRefOfJSONContainsExpr(in, f) 4403 case *JSONContainsPathExpr: 4404 return VisitRefOfJSONContainsPathExpr(in, f) 4405 case *JSONExtractExpr: 4406 return VisitRefOfJSONExtractExpr(in, f) 4407 case *JSONKeysExpr: 4408 return VisitRefOfJSONKeysExpr(in, f) 4409 case *JSONObjectExpr: 4410 return VisitRefOfJSONObjectExpr(in, f) 4411 case *JSONOverlapsExpr: 4412 return VisitRefOfJSONOverlapsExpr(in, f) 4413 case *JSONPrettyExpr: 4414 return VisitRefOfJSONPrettyExpr(in, f) 4415 case *JSONQuoteExpr: 4416 return VisitRefOfJSONQuoteExpr(in, f) 4417 case *JSONRemoveExpr: 4418 return VisitRefOfJSONRemoveExpr(in, f) 4419 case *JSONSchemaValidFuncExpr: 4420 return VisitRefOfJSONSchemaValidFuncExpr(in, f) 4421 case *JSONSchemaValidationReportFuncExpr: 4422 return VisitRefOfJSONSchemaValidationReportFuncExpr(in, f) 4423 case *JSONSearchExpr: 4424 return VisitRefOfJSONSearchExpr(in, f) 4425 case *JSONStorageFreeExpr: 4426 return VisitRefOfJSONStorageFreeExpr(in, f) 4427 case *JSONStorageSizeExpr: 4428 return VisitRefOfJSONStorageSizeExpr(in, f) 4429 case *JSONUnquoteExpr: 4430 return VisitRefOfJSONUnquoteExpr(in, f) 4431 case *JSONValueExpr: 4432 return VisitRefOfJSONValueExpr(in, f) 4433 case *JSONValueMergeExpr: 4434 return VisitRefOfJSONValueMergeExpr(in, f) 4435 case *JSONValueModifierExpr: 4436 return VisitRefOfJSONValueModifierExpr(in, f) 4437 case *LagLeadExpr: 4438 return VisitRefOfLagLeadExpr(in, f) 4439 case ListArg: 4440 return VisitListArg(in, f) 4441 case *Literal: 4442 return VisitRefOfLiteral(in, f) 4443 case *LocateExpr: 4444 return VisitRefOfLocateExpr(in, f) 4445 case *LockingFunc: 4446 return VisitRefOfLockingFunc(in, f) 4447 case *MatchExpr: 4448 return VisitRefOfMatchExpr(in, f) 4449 case *Max: 4450 return VisitRefOfMax(in, f) 4451 case *MemberOfExpr: 4452 return VisitRefOfMemberOfExpr(in, f) 4453 case *Min: 4454 return VisitRefOfMin(in, f) 4455 case *NTHValueExpr: 4456 return VisitRefOfNTHValueExpr(in, f) 4457 case *NamedWindow: 4458 return VisitRefOfNamedWindow(in, f) 4459 case *NotExpr: 4460 return VisitRefOfNotExpr(in, f) 4461 case *NtileExpr: 4462 return VisitRefOfNtileExpr(in, f) 4463 case *NullVal: 4464 return VisitRefOfNullVal(in, f) 4465 case *Offset: 4466 return VisitRefOfOffset(in, f) 4467 case *OrExpr: 4468 return VisitRefOfOrExpr(in, f) 4469 case *PerformanceSchemaFuncExpr: 4470 return VisitRefOfPerformanceSchemaFuncExpr(in, f) 4471 case *RegexpInstrExpr: 4472 return VisitRefOfRegexpInstrExpr(in, f) 4473 case *RegexpLikeExpr: 4474 return VisitRefOfRegexpLikeExpr(in, f) 4475 case *RegexpReplaceExpr: 4476 return VisitRefOfRegexpReplaceExpr(in, f) 4477 case *RegexpSubstrExpr: 4478 return VisitRefOfRegexpSubstrExpr(in, f) 4479 case *Std: 4480 return VisitRefOfStd(in, f) 4481 case *StdDev: 4482 return VisitRefOfStdDev(in, f) 4483 case *StdPop: 4484 return VisitRefOfStdPop(in, f) 4485 case *StdSamp: 4486 return VisitRefOfStdSamp(in, f) 4487 case *Subquery: 4488 return VisitRefOfSubquery(in, f) 4489 case *SubstrExpr: 4490 return VisitRefOfSubstrExpr(in, f) 4491 case *Sum: 4492 return VisitRefOfSum(in, f) 4493 case *TimestampFuncExpr: 4494 return VisitRefOfTimestampFuncExpr(in, f) 4495 case *TrimFuncExpr: 4496 return VisitRefOfTrimFuncExpr(in, f) 4497 case *UnaryExpr: 4498 return VisitRefOfUnaryExpr(in, f) 4499 case *UpdateXMLExpr: 4500 return VisitRefOfUpdateXMLExpr(in, f) 4501 case ValTuple: 4502 return VisitValTuple(in, f) 4503 case *ValuesFuncExpr: 4504 return VisitRefOfValuesFuncExpr(in, f) 4505 case *VarPop: 4506 return VisitRefOfVarPop(in, f) 4507 case *VarSamp: 4508 return VisitRefOfVarSamp(in, f) 4509 case *Variable: 4510 return VisitRefOfVariable(in, f) 4511 case *Variance: 4512 return VisitRefOfVariance(in, f) 4513 case *WeightStringFuncExpr: 4514 return VisitRefOfWeightStringFuncExpr(in, f) 4515 case *XorExpr: 4516 return VisitRefOfXorExpr(in, f) 4517 default: 4518 // this should never happen 4519 return nil 4520 } 4521 } 4522 func VisitInsertRows(in InsertRows, f Visit) error { 4523 if in == nil { 4524 return nil 4525 } 4526 switch in := in.(type) { 4527 case *Select: 4528 return VisitRefOfSelect(in, f) 4529 case *Union: 4530 return VisitRefOfUnion(in, f) 4531 case Values: 4532 return VisitValues(in, f) 4533 default: 4534 // this should never happen 4535 return nil 4536 } 4537 } 4538 func VisitSelectExpr(in SelectExpr, f Visit) error { 4539 if in == nil { 4540 return nil 4541 } 4542 switch in := in.(type) { 4543 case *AliasedExpr: 4544 return VisitRefOfAliasedExpr(in, f) 4545 case *Nextval: 4546 return VisitRefOfNextval(in, f) 4547 case *StarExpr: 4548 return VisitRefOfStarExpr(in, f) 4549 default: 4550 // this should never happen 4551 return nil 4552 } 4553 } 4554 func VisitSelectStatement(in SelectStatement, f Visit) error { 4555 if in == nil { 4556 return nil 4557 } 4558 switch in := in.(type) { 4559 case *Select: 4560 return VisitRefOfSelect(in, f) 4561 case *Union: 4562 return VisitRefOfUnion(in, f) 4563 default: 4564 // this should never happen 4565 return nil 4566 } 4567 } 4568 func VisitShowInternal(in ShowInternal, f Visit) error { 4569 if in == nil { 4570 return nil 4571 } 4572 switch in := in.(type) { 4573 case *ShowBasic: 4574 return VisitRefOfShowBasic(in, f) 4575 case *ShowCreate: 4576 return VisitRefOfShowCreate(in, f) 4577 case *ShowOther: 4578 return VisitRefOfShowOther(in, f) 4579 default: 4580 // this should never happen 4581 return nil 4582 } 4583 } 4584 func VisitSimpleTableExpr(in SimpleTableExpr, f Visit) error { 4585 if in == nil { 4586 return nil 4587 } 4588 switch in := in.(type) { 4589 case *DerivedTable: 4590 return VisitRefOfDerivedTable(in, f) 4591 case TableName: 4592 return VisitTableName(in, f) 4593 default: 4594 // this should never happen 4595 return nil 4596 } 4597 } 4598 func VisitStatement(in Statement, f Visit) error { 4599 if in == nil { 4600 return nil 4601 } 4602 switch in := in.(type) { 4603 case *AlterDatabase: 4604 return VisitRefOfAlterDatabase(in, f) 4605 case *AlterMigration: 4606 return VisitRefOfAlterMigration(in, f) 4607 case *AlterTable: 4608 return VisitRefOfAlterTable(in, f) 4609 case *AlterView: 4610 return VisitRefOfAlterView(in, f) 4611 case *AlterVschema: 4612 return VisitRefOfAlterVschema(in, f) 4613 case *Begin: 4614 return VisitRefOfBegin(in, f) 4615 case *CallProc: 4616 return VisitRefOfCallProc(in, f) 4617 case *CommentOnly: 4618 return VisitRefOfCommentOnly(in, f) 4619 case *Commit: 4620 return VisitRefOfCommit(in, f) 4621 case *CreateDatabase: 4622 return VisitRefOfCreateDatabase(in, f) 4623 case *CreateTable: 4624 return VisitRefOfCreateTable(in, f) 4625 case *CreateView: 4626 return VisitRefOfCreateView(in, f) 4627 case *DeallocateStmt: 4628 return VisitRefOfDeallocateStmt(in, f) 4629 case *Delete: 4630 return VisitRefOfDelete(in, f) 4631 case *DropDatabase: 4632 return VisitRefOfDropDatabase(in, f) 4633 case *DropTable: 4634 return VisitRefOfDropTable(in, f) 4635 case *DropView: 4636 return VisitRefOfDropView(in, f) 4637 case *ExecuteStmt: 4638 return VisitRefOfExecuteStmt(in, f) 4639 case *ExplainStmt: 4640 return VisitRefOfExplainStmt(in, f) 4641 case *ExplainTab: 4642 return VisitRefOfExplainTab(in, f) 4643 case *Flush: 4644 return VisitRefOfFlush(in, f) 4645 case *Insert: 4646 return VisitRefOfInsert(in, f) 4647 case *Load: 4648 return VisitRefOfLoad(in, f) 4649 case *LockTables: 4650 return VisitRefOfLockTables(in, f) 4651 case *OtherAdmin: 4652 return VisitRefOfOtherAdmin(in, f) 4653 case *OtherRead: 4654 return VisitRefOfOtherRead(in, f) 4655 case *PrepareStmt: 4656 return VisitRefOfPrepareStmt(in, f) 4657 case *Release: 4658 return VisitRefOfRelease(in, f) 4659 case *RenameTable: 4660 return VisitRefOfRenameTable(in, f) 4661 case *RevertMigration: 4662 return VisitRefOfRevertMigration(in, f) 4663 case *Rollback: 4664 return VisitRefOfRollback(in, f) 4665 case *SRollback: 4666 return VisitRefOfSRollback(in, f) 4667 case *Savepoint: 4668 return VisitRefOfSavepoint(in, f) 4669 case *Select: 4670 return VisitRefOfSelect(in, f) 4671 case *Set: 4672 return VisitRefOfSet(in, f) 4673 case *Show: 4674 return VisitRefOfShow(in, f) 4675 case *ShowMigrationLogs: 4676 return VisitRefOfShowMigrationLogs(in, f) 4677 case *ShowThrottledApps: 4678 return VisitRefOfShowThrottledApps(in, f) 4679 case *ShowThrottlerStatus: 4680 return VisitRefOfShowThrottlerStatus(in, f) 4681 case *Stream: 4682 return VisitRefOfStream(in, f) 4683 case *TruncateTable: 4684 return VisitRefOfTruncateTable(in, f) 4685 case *Union: 4686 return VisitRefOfUnion(in, f) 4687 case *UnlockTables: 4688 return VisitRefOfUnlockTables(in, f) 4689 case *Update: 4690 return VisitRefOfUpdate(in, f) 4691 case *Use: 4692 return VisitRefOfUse(in, f) 4693 case *VExplainStmt: 4694 return VisitRefOfVExplainStmt(in, f) 4695 case *VStream: 4696 return VisitRefOfVStream(in, f) 4697 default: 4698 // this should never happen 4699 return nil 4700 } 4701 } 4702 func VisitTableExpr(in TableExpr, f Visit) error { 4703 if in == nil { 4704 return nil 4705 } 4706 switch in := in.(type) { 4707 case *AliasedTableExpr: 4708 return VisitRefOfAliasedTableExpr(in, f) 4709 case *JSONTableExpr: 4710 return VisitRefOfJSONTableExpr(in, f) 4711 case *JoinTableExpr: 4712 return VisitRefOfJoinTableExpr(in, f) 4713 case *ParenTableExpr: 4714 return VisitRefOfParenTableExpr(in, f) 4715 default: 4716 // this should never happen 4717 return nil 4718 } 4719 } 4720 func VisitAlgorithmValue(in AlgorithmValue, f Visit) error { 4721 _, err := f(in) 4722 return err 4723 } 4724 func VisitArgument(in Argument, f Visit) error { 4725 _, err := f(in) 4726 return err 4727 } 4728 func VisitBoolVal(in BoolVal, f Visit) error { 4729 _, err := f(in) 4730 return err 4731 } 4732 func VisitListArg(in ListArg, f Visit) error { 4733 _, err := f(in) 4734 return err 4735 } 4736 func VisitMatchAction(in MatchAction, f Visit) error { 4737 _, err := f(in) 4738 return err 4739 } 4740 func VisitReferenceAction(in ReferenceAction, f Visit) error { 4741 _, err := f(in) 4742 return err 4743 } 4744 func VisitRefOfIdentifierCI(in *IdentifierCI, f Visit) error { 4745 if in == nil { 4746 return nil 4747 } 4748 if cont, err := f(in); err != nil || !cont { 4749 return err 4750 } 4751 return nil 4752 } 4753 func VisitRefOfIdentifierCS(in *IdentifierCS, f Visit) error { 4754 if in == nil { 4755 return nil 4756 } 4757 if cont, err := f(in); err != nil || !cont { 4758 return err 4759 } 4760 return nil 4761 } 4762 func VisitRefOfRootNode(in *RootNode, f Visit) error { 4763 if in == nil { 4764 return nil 4765 } 4766 if cont, err := f(in); err != nil || !cont { 4767 return err 4768 } 4769 if err := VisitSQLNode(in.SQLNode, f); err != nil { 4770 return err 4771 } 4772 return nil 4773 } 4774 func VisitRefOfTableName(in *TableName, f Visit) error { 4775 if in == nil { 4776 return nil 4777 } 4778 if cont, err := f(in); err != nil || !cont { 4779 return err 4780 } 4781 if err := VisitIdentifierCS(in.Name, f); err != nil { 4782 return err 4783 } 4784 if err := VisitIdentifierCS(in.Qualifier, f); err != nil { 4785 return err 4786 } 4787 return nil 4788 } 4789 func VisitRefOfVindexParam(in *VindexParam, f Visit) error { 4790 if in == nil { 4791 return nil 4792 } 4793 if cont, err := f(in); err != nil || !cont { 4794 return err 4795 } 4796 if err := VisitIdentifierCI(in.Key, f); err != nil { 4797 return err 4798 } 4799 return nil 4800 }