12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195 |
- package astutils
- import (
- "fmt"
- "github.com/kyleconroy/sqlc/internal/sql/ast"
- "github.com/kyleconroy/sqlc/internal/sql/ast/pg"
- )
- type Visitor interface {
- Visit(ast.Node) Visitor
- }
- type VisitorFunc func(ast.Node)
- func (vf VisitorFunc) Visit(node ast.Node) Visitor {
- vf(node)
- return vf
- }
- func Walk(f Visitor, node ast.Node) {
- if f = f.Visit(node); f == nil {
- return
- }
- switch n := node.(type) {
- case *ast.AlterTableCmd:
- if n.Def != nil {
- Walk(f, n.Def)
- }
- case *ast.AlterTableSetSchemaStmt:
- if n.Table != nil {
- Walk(f, n.Table)
- }
- case *ast.AlterTableStmt:
- if n.Table != nil {
- Walk(f, n.Table)
- }
- if n.Cmds != nil {
- Walk(f, n.Cmds)
- }
- case *ast.AlterTypeAddValueStmt:
- if n.Type != nil {
- Walk(f, n.Type)
- }
- case *ast.AlterTypeRenameValueStmt:
- if n.Type != nil {
- Walk(f, n.Type)
- }
- case *ast.ColumnDef:
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- case *ast.ColumnRef:
- // pass
- case *ast.CommentOnColumnStmt:
- if n.Table != nil {
- Walk(f, n.Table)
- }
- if n.Col != nil {
- Walk(f, n.Col)
- }
- case *ast.CommentOnSchemaStmt:
- if n.Schema != nil {
- Walk(f, n.Schema)
- }
- case *ast.CommentOnTableStmt:
- if n.Table != nil {
- Walk(f, n.Table)
- }
- case *ast.CommentOnTypeStmt:
- if n.Type != nil {
- Walk(f, n.Type)
- }
- case *ast.CompositeTypeStmt:
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- case *ast.CreateEnumStmt:
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- if n.Vals != nil {
- Walk(f, n.Vals)
- }
- case *ast.CreateFunctionStmt:
- if n.ReturnType != nil {
- Walk(f, n.ReturnType)
- }
- if n.Func != nil {
- Walk(f, n.Func)
- }
- case *ast.CreateSchemaStmt:
- // pass
- case *ast.CreateTableStmt:
- if n.Name != nil {
- Walk(f, n.Name)
- }
- case *ast.DropFunctionStmt:
- // pass
- case *ast.DropSchemaStmt:
- // pass
- case *ast.DropTableStmt:
- // pass
- case *ast.DropTypeStmt:
- // pass
- case *ast.FuncName:
- // pass
- case *ast.FuncParam:
- if n.Type != nil {
- Walk(f, n.Type)
- }
- if n.DefExpr != nil {
- Walk(f, n.DefExpr)
- }
- case *ast.FuncSpec:
- if n.Name != nil {
- Walk(f, n.Name)
- }
- case *ast.List:
- for _, item := range n.Items {
- Walk(f, item)
- }
- case *ast.RawStmt:
- if n.Stmt != nil {
- Walk(f, n.Stmt)
- }
- case *ast.RenameColumnStmt:
- if n.Table != nil {
- Walk(f, n.Table)
- }
- if n.Col != nil {
- Walk(f, n.Col)
- }
- case *ast.RenameTableStmt:
- if n.Table != nil {
- Walk(f, n.Table)
- }
- case *ast.ResTarget:
- if n.Val != nil {
- Walk(f, n.Val)
- }
- case *ast.SelectStmt:
- if n.Fields != nil {
- Walk(f, n.Fields)
- }
- if n.From != nil {
- Walk(f, n.From)
- }
- case *ast.Statement:
- if n.Raw != nil {
- Walk(f, n.Raw)
- }
- case *ast.String:
- // pass
- case *ast.TODO:
- // pass
- case *ast.TableName:
- // pass
- case *ast.TypeName:
- // pass
- case *pg.A_ArrayExpr:
- if n.Elements != nil {
- Walk(f, n.Elements)
- }
- case *pg.A_Const:
- if n.Val != nil {
- Walk(f, n.Val)
- }
- case *pg.A_Expr:
- if n.Name != nil {
- Walk(f, n.Name)
- }
- if n.Lexpr != nil {
- Walk(f, n.Lexpr)
- }
- if n.Rexpr != nil {
- Walk(f, n.Rexpr)
- }
- case *pg.A_Indices:
- if n.Lidx != nil {
- Walk(f, n.Lidx)
- }
- if n.Uidx != nil {
- Walk(f, n.Uidx)
- }
- case *pg.A_Indirection:
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- if n.Indirection != nil {
- Walk(f, n.Indirection)
- }
- case *pg.A_Star:
- // pass
- case *pg.AccessPriv:
- if n.Cols != nil {
- Walk(f, n.Cols)
- }
- case *pg.Aggref:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Aggargtypes != nil {
- Walk(f, n.Aggargtypes)
- }
- if n.Aggdirectargs != nil {
- Walk(f, n.Aggdirectargs)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- if n.Aggorder != nil {
- Walk(f, n.Aggorder)
- }
- if n.Aggdistinct != nil {
- Walk(f, n.Aggdistinct)
- }
- if n.Aggfilter != nil {
- Walk(f, n.Aggfilter)
- }
- case *pg.Alias:
- if n.Colnames != nil {
- Walk(f, n.Colnames)
- }
- case *pg.AlterCollationStmt:
- if n.Collname != nil {
- Walk(f, n.Collname)
- }
- case *pg.AlterDatabaseSetStmt:
- if n.Setstmt != nil {
- Walk(f, n.Setstmt)
- }
- case *pg.AlterDatabaseStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.AlterDefaultPrivilegesStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- if n.Action != nil {
- Walk(f, n.Action)
- }
- case *pg.AlterDomainStmt:
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- if n.Def != nil {
- Walk(f, n.Def)
- }
- case *pg.AlterEnumStmt:
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- case *pg.AlterEventTrigStmt:
- // pass
- case *pg.AlterExtensionContentsStmt:
- if n.Object != nil {
- Walk(f, n.Object)
- }
- case *pg.AlterExtensionStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.AlterFdwStmt:
- if n.FuncOptions != nil {
- Walk(f, n.FuncOptions)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.AlterForeignServerStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.AlterFunctionStmt:
- if n.Func != nil {
- Walk(f, n.Func)
- }
- if n.Actions != nil {
- Walk(f, n.Actions)
- }
- case *pg.AlterObjectDependsStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.Object != nil {
- Walk(f, n.Object)
- }
- if n.Extname != nil {
- Walk(f, n.Extname)
- }
- case *pg.AlterObjectSchemaStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.Object != nil {
- Walk(f, n.Object)
- }
- case *pg.AlterOpFamilyStmt:
- if n.Opfamilyname != nil {
- Walk(f, n.Opfamilyname)
- }
- if n.Items != nil {
- Walk(f, n.Items)
- }
- case *pg.AlterOperatorStmt:
- if n.Opername != nil {
- Walk(f, n.Opername)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.AlterOwnerStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.Object != nil {
- Walk(f, n.Object)
- }
- if n.Newowner != nil {
- Walk(f, n.Newowner)
- }
- case *pg.AlterPolicyStmt:
- if n.Table != nil {
- Walk(f, n.Table)
- }
- if n.Roles != nil {
- Walk(f, n.Roles)
- }
- if n.Qual != nil {
- Walk(f, n.Qual)
- }
- if n.WithCheck != nil {
- Walk(f, n.WithCheck)
- }
- case *pg.AlterPublicationStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- if n.Tables != nil {
- Walk(f, n.Tables)
- }
- case *pg.AlterRoleSetStmt:
- if n.Role != nil {
- Walk(f, n.Role)
- }
- if n.Setstmt != nil {
- Walk(f, n.Setstmt)
- }
- case *pg.AlterRoleStmt:
- if n.Role != nil {
- Walk(f, n.Role)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.AlterSeqStmt:
- if n.Sequence != nil {
- Walk(f, n.Sequence)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.AlterSubscriptionStmt:
- if n.Publication != nil {
- Walk(f, n.Publication)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.AlterSystemStmt:
- if n.Setstmt != nil {
- Walk(f, n.Setstmt)
- }
- case *pg.AlterTSConfigurationStmt:
- if n.Cfgname != nil {
- Walk(f, n.Cfgname)
- }
- if n.Tokentype != nil {
- Walk(f, n.Tokentype)
- }
- if n.Dicts != nil {
- Walk(f, n.Dicts)
- }
- case *pg.AlterTSDictionaryStmt:
- if n.Dictname != nil {
- Walk(f, n.Dictname)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.AlterTableCmd:
- if n.Newowner != nil {
- Walk(f, n.Newowner)
- }
- if n.Def != nil {
- Walk(f, n.Def)
- }
- case *pg.AlterTableMoveAllStmt:
- if n.Roles != nil {
- Walk(f, n.Roles)
- }
- case *pg.AlterTableSpaceOptionsStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.AlterTableStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.Cmds != nil {
- Walk(f, n.Cmds)
- }
- case *pg.AlterUserMappingStmt:
- if n.User != nil {
- Walk(f, n.User)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.AlternativeSubPlan:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Subplans != nil {
- Walk(f, n.Subplans)
- }
- case *pg.ArrayCoerceExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- case *pg.ArrayExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Elements != nil {
- Walk(f, n.Elements)
- }
- case *pg.ArrayRef:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Refupperindexpr != nil {
- Walk(f, n.Refupperindexpr)
- }
- if n.Reflowerindexpr != nil {
- Walk(f, n.Reflowerindexpr)
- }
- if n.Refexpr != nil {
- Walk(f, n.Refexpr)
- }
- if n.Refassgnexpr != nil {
- Walk(f, n.Refassgnexpr)
- }
- case *pg.BitString:
- // pass
- case *pg.BlockIdData:
- // pass
- case *pg.BoolExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- case *pg.BooleanTest:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- case *pg.CaseExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- if n.Defresult != nil {
- Walk(f, n.Defresult)
- }
- case *pg.CaseTestExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- case *pg.CaseWhen:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Expr != nil {
- Walk(f, n.Expr)
- }
- if n.Result != nil {
- Walk(f, n.Result)
- }
- case *pg.CheckPointStmt:
- // pass
- case *pg.ClosePortalStmt:
- // pass
- case *pg.ClusterStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- case *pg.CoalesceExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- case *pg.CoerceToDomain:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- case *pg.CoerceToDomainValue:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- case *pg.CoerceViaIO:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- case *pg.CollateClause:
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- if n.Collname != nil {
- Walk(f, n.Collname)
- }
- case *pg.CollateExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- case *pg.ColumnDef:
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- if n.RawDefault != nil {
- Walk(f, n.RawDefault)
- }
- if n.CookedDefault != nil {
- Walk(f, n.CookedDefault)
- }
- if n.CollClause != nil {
- Walk(f, n.CollClause)
- }
- if n.Constraints != nil {
- Walk(f, n.Constraints)
- }
- if n.Fdwoptions != nil {
- Walk(f, n.Fdwoptions)
- }
- case *pg.ColumnRef:
- if n.Fields != nil {
- Walk(f, n.Fields)
- }
- case *pg.CommentStmt:
- if n.Object != nil {
- Walk(f, n.Object)
- }
- case *pg.CommonTableExpr:
- if n.Aliascolnames != nil {
- Walk(f, n.Aliascolnames)
- }
- if n.Ctequery != nil {
- Walk(f, n.Ctequery)
- }
- if n.Ctecolnames != nil {
- Walk(f, n.Ctecolnames)
- }
- if n.Ctecoltypes != nil {
- Walk(f, n.Ctecoltypes)
- }
- if n.Ctecoltypmods != nil {
- Walk(f, n.Ctecoltypmods)
- }
- if n.Ctecolcollations != nil {
- Walk(f, n.Ctecolcollations)
- }
- case *pg.CompositeTypeStmt:
- if n.Typevar != nil {
- Walk(f, n.Typevar)
- }
- if n.Coldeflist != nil {
- Walk(f, n.Coldeflist)
- }
- case *pg.Const:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- case *pg.Constraint:
- if n.RawExpr != nil {
- Walk(f, n.RawExpr)
- }
- if n.Keys != nil {
- Walk(f, n.Keys)
- }
- if n.Exclusions != nil {
- Walk(f, n.Exclusions)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- if n.WhereClause != nil {
- Walk(f, n.WhereClause)
- }
- if n.Pktable != nil {
- Walk(f, n.Pktable)
- }
- if n.FkAttrs != nil {
- Walk(f, n.FkAttrs)
- }
- if n.PkAttrs != nil {
- Walk(f, n.PkAttrs)
- }
- if n.OldConpfeqop != nil {
- Walk(f, n.OldConpfeqop)
- }
- case *pg.ConstraintsSetStmt:
- if n.Constraints != nil {
- Walk(f, n.Constraints)
- }
- case *pg.ConvertRowtypeExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- case *pg.CopyStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.Query != nil {
- Walk(f, n.Query)
- }
- if n.Attlist != nil {
- Walk(f, n.Attlist)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CreateAmStmt:
- if n.HandlerName != nil {
- Walk(f, n.HandlerName)
- }
- case *pg.CreateCastStmt:
- if n.Sourcetype != nil {
- Walk(f, n.Sourcetype)
- }
- if n.Targettype != nil {
- Walk(f, n.Targettype)
- }
- if n.Func != nil {
- Walk(f, n.Func)
- }
- case *pg.CreateConversionStmt:
- if n.ConversionName != nil {
- Walk(f, n.ConversionName)
- }
- if n.FuncName != nil {
- Walk(f, n.FuncName)
- }
- case *pg.CreateDomainStmt:
- if n.Domainname != nil {
- Walk(f, n.Domainname)
- }
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- if n.CollClause != nil {
- Walk(f, n.CollClause)
- }
- if n.Constraints != nil {
- Walk(f, n.Constraints)
- }
- case *pg.CreateEnumStmt:
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- if n.Vals != nil {
- Walk(f, n.Vals)
- }
- case *pg.CreateEventTrigStmt:
- if n.Whenclause != nil {
- Walk(f, n.Whenclause)
- }
- if n.Funcname != nil {
- Walk(f, n.Funcname)
- }
- case *pg.CreateExtensionStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CreateFdwStmt:
- if n.FuncOptions != nil {
- Walk(f, n.FuncOptions)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CreateForeignServerStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CreateForeignTableStmt:
- if n.Base != nil {
- Walk(f, n.Base)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CreateFunctionStmt:
- if n.Funcname != nil {
- Walk(f, n.Funcname)
- }
- if n.Parameters != nil {
- Walk(f, n.Parameters)
- }
- if n.ReturnType != nil {
- Walk(f, n.ReturnType)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- if n.WithClause != nil {
- Walk(f, n.WithClause)
- }
- case *pg.CreateOpClassItem:
- if n.Name != nil {
- Walk(f, n.Name)
- }
- if n.OrderFamily != nil {
- Walk(f, n.OrderFamily)
- }
- if n.ClassArgs != nil {
- Walk(f, n.ClassArgs)
- }
- if n.Storedtype != nil {
- Walk(f, n.Storedtype)
- }
- case *pg.CreateOpClassStmt:
- if n.Opclassname != nil {
- Walk(f, n.Opclassname)
- }
- if n.Opfamilyname != nil {
- Walk(f, n.Opfamilyname)
- }
- if n.Datatype != nil {
- Walk(f, n.Datatype)
- }
- if n.Items != nil {
- Walk(f, n.Items)
- }
- case *pg.CreateOpFamilyStmt:
- if n.Opfamilyname != nil {
- Walk(f, n.Opfamilyname)
- }
- case *pg.CreatePLangStmt:
- if n.Plhandler != nil {
- Walk(f, n.Plhandler)
- }
- if n.Plinline != nil {
- Walk(f, n.Plinline)
- }
- if n.Plvalidator != nil {
- Walk(f, n.Plvalidator)
- }
- case *pg.CreatePolicyStmt:
- if n.Table != nil {
- Walk(f, n.Table)
- }
- if n.Roles != nil {
- Walk(f, n.Roles)
- }
- if n.Qual != nil {
- Walk(f, n.Qual)
- }
- if n.WithCheck != nil {
- Walk(f, n.WithCheck)
- }
- case *pg.CreatePublicationStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- if n.Tables != nil {
- Walk(f, n.Tables)
- }
- case *pg.CreateRangeStmt:
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- if n.Params != nil {
- Walk(f, n.Params)
- }
- case *pg.CreateRoleStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CreateSchemaStmt:
- if n.Authrole != nil {
- Walk(f, n.Authrole)
- }
- if n.SchemaElts != nil {
- Walk(f, n.SchemaElts)
- }
- case *pg.CreateSeqStmt:
- if n.Sequence != nil {
- Walk(f, n.Sequence)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CreateStatsStmt:
- if n.Defnames != nil {
- Walk(f, n.Defnames)
- }
- if n.StatTypes != nil {
- Walk(f, n.StatTypes)
- }
- if n.Exprs != nil {
- Walk(f, n.Exprs)
- }
- if n.Relations != nil {
- Walk(f, n.Relations)
- }
- case *pg.CreateStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.TableElts != nil {
- Walk(f, n.TableElts)
- }
- if n.InhRelations != nil {
- Walk(f, n.InhRelations)
- }
- if n.Partbound != nil {
- Walk(f, n.Partbound)
- }
- if n.Partspec != nil {
- Walk(f, n.Partspec)
- }
- if n.OfTypename != nil {
- Walk(f, n.OfTypename)
- }
- if n.Constraints != nil {
- Walk(f, n.Constraints)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CreateSubscriptionStmt:
- if n.Publication != nil {
- Walk(f, n.Publication)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CreateTableAsStmt:
- if n.Query != nil {
- Walk(f, n.Query)
- }
- if n.Into != nil {
- Walk(f, n.Into)
- }
- case *pg.CreateTableSpaceStmt:
- if n.Owner != nil {
- Walk(f, n.Owner)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CreateTransformStmt:
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- if n.Fromsql != nil {
- Walk(f, n.Fromsql)
- }
- if n.Tosql != nil {
- Walk(f, n.Tosql)
- }
- case *pg.CreateTrigStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.Funcname != nil {
- Walk(f, n.Funcname)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- if n.Columns != nil {
- Walk(f, n.Columns)
- }
- if n.WhenClause != nil {
- Walk(f, n.WhenClause)
- }
- if n.TransitionRels != nil {
- Walk(f, n.TransitionRels)
- }
- if n.Constrrel != nil {
- Walk(f, n.Constrrel)
- }
- case *pg.CreateUserMappingStmt:
- if n.User != nil {
- Walk(f, n.User)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CreatedbStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.CurrentOfExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- case *pg.DeallocateStmt:
- // pass
- case *pg.DeclareCursorStmt:
- if n.Query != nil {
- Walk(f, n.Query)
- }
- case *pg.DefElem:
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- case *pg.DefineStmt:
- if n.Defnames != nil {
- Walk(f, n.Defnames)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- if n.Definition != nil {
- Walk(f, n.Definition)
- }
- case *pg.DeleteStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.UsingClause != nil {
- Walk(f, n.UsingClause)
- }
- if n.WhereClause != nil {
- Walk(f, n.WhereClause)
- }
- if n.ReturningList != nil {
- Walk(f, n.ReturningList)
- }
- if n.WithClause != nil {
- Walk(f, n.WithClause)
- }
- case *pg.DiscardStmt:
- // pass
- case *pg.DoStmt:
- if n.Args != nil {
- Walk(f, n.Args)
- }
- case *pg.DropOwnedStmt:
- if n.Roles != nil {
- Walk(f, n.Roles)
- }
- case *pg.DropRoleStmt:
- if n.Roles != nil {
- Walk(f, n.Roles)
- }
- case *pg.DropStmt:
- if n.Objects != nil {
- Walk(f, n.Objects)
- }
- case *pg.DropSubscriptionStmt:
- // pass
- case *pg.DropTableSpaceStmt:
- // pass
- case *pg.DropUserMappingStmt:
- if n.User != nil {
- Walk(f, n.User)
- }
- case *pg.DropdbStmt:
- // pass
- case *pg.ExecuteStmt:
- if n.Params != nil {
- Walk(f, n.Params)
- }
- case *pg.ExplainStmt:
- if n.Query != nil {
- Walk(f, n.Query)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.Expr:
- // pass
- case *pg.FetchStmt:
- // pass
- case *pg.FieldSelect:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- case *pg.FieldStore:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- if n.Newvals != nil {
- Walk(f, n.Newvals)
- }
- if n.Fieldnums != nil {
- Walk(f, n.Fieldnums)
- }
- case *pg.Float:
- // pass
- case *pg.FromExpr:
- if n.Fromlist != nil {
- Walk(f, n.Fromlist)
- }
- if n.Quals != nil {
- Walk(f, n.Quals)
- }
- case *ast.FuncCall:
- if n.Func != nil {
- Walk(f, n.Func)
- }
- if n.Funcname != nil {
- Walk(f, n.Funcname)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- if n.AggOrder != nil {
- Walk(f, n.AggOrder)
- }
- if n.AggFilter != nil {
- Walk(f, n.AggFilter)
- }
- if n.Over != nil {
- Walk(f, n.Over)
- }
- case *pg.FuncExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- case *pg.FunctionParameter:
- if n.ArgType != nil {
- Walk(f, n.ArgType)
- }
- if n.Defexpr != nil {
- Walk(f, n.Defexpr)
- }
- case *pg.GrantRoleStmt:
- if n.GrantedRoles != nil {
- Walk(f, n.GrantedRoles)
- }
- if n.GranteeRoles != nil {
- Walk(f, n.GranteeRoles)
- }
- if n.Grantor != nil {
- Walk(f, n.Grantor)
- }
- case *pg.GrantStmt:
- if n.Objects != nil {
- Walk(f, n.Objects)
- }
- if n.Privileges != nil {
- Walk(f, n.Privileges)
- }
- if n.Grantees != nil {
- Walk(f, n.Grantees)
- }
- case *pg.GroupingFunc:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- if n.Refs != nil {
- Walk(f, n.Refs)
- }
- if n.Cols != nil {
- Walk(f, n.Cols)
- }
- case *pg.GroupingSet:
- if n.Content != nil {
- Walk(f, n.Content)
- }
- case *pg.ImportForeignSchemaStmt:
- if n.TableList != nil {
- Walk(f, n.TableList)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.IndexElem:
- if n.Expr != nil {
- Walk(f, n.Expr)
- }
- if n.Collation != nil {
- Walk(f, n.Collation)
- }
- if n.Opclass != nil {
- Walk(f, n.Opclass)
- }
- case *pg.IndexStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.IndexParams != nil {
- Walk(f, n.IndexParams)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- if n.WhereClause != nil {
- Walk(f, n.WhereClause)
- }
- if n.ExcludeOpNames != nil {
- Walk(f, n.ExcludeOpNames)
- }
- case *pg.InferClause:
- if n.IndexElems != nil {
- Walk(f, n.IndexElems)
- }
- if n.WhereClause != nil {
- Walk(f, n.WhereClause)
- }
- case *pg.InferenceElem:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Expr != nil {
- Walk(f, n.Expr)
- }
- case *pg.InlineCodeBlock:
- // pass
- case *pg.InsertStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.Cols != nil {
- Walk(f, n.Cols)
- }
- if n.SelectStmt != nil {
- Walk(f, n.SelectStmt)
- }
- if n.OnConflictClause != nil {
- Walk(f, n.OnConflictClause)
- }
- if n.ReturningList != nil {
- Walk(f, n.ReturningList)
- }
- if n.WithClause != nil {
- Walk(f, n.WithClause)
- }
- case *pg.Integer:
- // pass
- case *pg.IntoClause:
- if n.Rel != nil {
- Walk(f, n.Rel)
- }
- if n.ColNames != nil {
- Walk(f, n.ColNames)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- if n.ViewQuery != nil {
- Walk(f, n.ViewQuery)
- }
- case *pg.JoinExpr:
- if n.Larg != nil {
- Walk(f, n.Larg)
- }
- if n.Rarg != nil {
- Walk(f, n.Rarg)
- }
- if n.UsingClause != nil {
- Walk(f, n.UsingClause)
- }
- if n.Quals != nil {
- Walk(f, n.Quals)
- }
- if n.Alias != nil {
- Walk(f, n.Alias)
- }
- case *pg.ListenStmt:
- // pass
- case *pg.LoadStmt:
- // pass
- case *pg.LockStmt:
- if n.Relations != nil {
- Walk(f, n.Relations)
- }
- case *pg.LockingClause:
- if n.LockedRels != nil {
- Walk(f, n.LockedRels)
- }
- case *pg.MinMaxExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- case *pg.MultiAssignRef:
- if n.Source != nil {
- Walk(f, n.Source)
- }
- case *pg.NamedArgExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- case *pg.NextValueExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- case *pg.NotifyStmt:
- // pass
- case *pg.Null:
- // pass
- case *pg.NullTest:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- case *pg.ObjectWithArgs:
- if n.Objname != nil {
- Walk(f, n.Objname)
- }
- if n.Objargs != nil {
- Walk(f, n.Objargs)
- }
- case *pg.OnConflictClause:
- if n.Infer != nil {
- Walk(f, n.Infer)
- }
- if n.TargetList != nil {
- Walk(f, n.TargetList)
- }
- if n.WhereClause != nil {
- Walk(f, n.WhereClause)
- }
- case *pg.OnConflictExpr:
- if n.ArbiterElems != nil {
- Walk(f, n.ArbiterElems)
- }
- if n.ArbiterWhere != nil {
- Walk(f, n.ArbiterWhere)
- }
- if n.OnConflictSet != nil {
- Walk(f, n.OnConflictSet)
- }
- if n.OnConflictWhere != nil {
- Walk(f, n.OnConflictWhere)
- }
- if n.ExclRelTlist != nil {
- Walk(f, n.ExclRelTlist)
- }
- case *pg.OpExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- case *pg.Param:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- case *pg.ParamExecData:
- // pass
- case *pg.ParamExternData:
- // pass
- case *pg.ParamListInfoData:
- // pass
- case *pg.ParamRef:
- // pass
- case *pg.PartitionBoundSpec:
- if n.Listdatums != nil {
- Walk(f, n.Listdatums)
- }
- if n.Lowerdatums != nil {
- Walk(f, n.Lowerdatums)
- }
- if n.Upperdatums != nil {
- Walk(f, n.Upperdatums)
- }
- case *pg.PartitionCmd:
- if n.Name != nil {
- Walk(f, n.Name)
- }
- if n.Bound != nil {
- Walk(f, n.Bound)
- }
- case *pg.PartitionElem:
- if n.Expr != nil {
- Walk(f, n.Expr)
- }
- if n.Collation != nil {
- Walk(f, n.Collation)
- }
- if n.Opclass != nil {
- Walk(f, n.Opclass)
- }
- case *pg.PartitionRangeDatum:
- if n.Value != nil {
- Walk(f, n.Value)
- }
- case *pg.PartitionSpec:
- if n.PartParams != nil {
- Walk(f, n.PartParams)
- }
- case *pg.PrepareStmt:
- if n.Argtypes != nil {
- Walk(f, n.Argtypes)
- }
- if n.Query != nil {
- Walk(f, n.Query)
- }
- case *pg.Query:
- if n.UtilityStmt != nil {
- Walk(f, n.UtilityStmt)
- }
- if n.CteList != nil {
- Walk(f, n.CteList)
- }
- if n.Rtable != nil {
- Walk(f, n.Rtable)
- }
- if n.Jointree != nil {
- Walk(f, n.Jointree)
- }
- if n.TargetList != nil {
- Walk(f, n.TargetList)
- }
- if n.OnConflict != nil {
- Walk(f, n.OnConflict)
- }
- if n.ReturningList != nil {
- Walk(f, n.ReturningList)
- }
- if n.GroupClause != nil {
- Walk(f, n.GroupClause)
- }
- if n.GroupingSets != nil {
- Walk(f, n.GroupingSets)
- }
- if n.HavingQual != nil {
- Walk(f, n.HavingQual)
- }
- if n.WindowClause != nil {
- Walk(f, n.WindowClause)
- }
- if n.DistinctClause != nil {
- Walk(f, n.DistinctClause)
- }
- if n.SortClause != nil {
- Walk(f, n.SortClause)
- }
- if n.LimitOffset != nil {
- Walk(f, n.LimitOffset)
- }
- if n.LimitCount != nil {
- Walk(f, n.LimitCount)
- }
- if n.RowMarks != nil {
- Walk(f, n.RowMarks)
- }
- if n.SetOperations != nil {
- Walk(f, n.SetOperations)
- }
- if n.ConstraintDeps != nil {
- Walk(f, n.ConstraintDeps)
- }
- if n.WithCheckOptions != nil {
- Walk(f, n.WithCheckOptions)
- }
- case *pg.RangeFunction:
- if n.Functions != nil {
- Walk(f, n.Functions)
- }
- if n.Alias != nil {
- Walk(f, n.Alias)
- }
- if n.Coldeflist != nil {
- Walk(f, n.Coldeflist)
- }
- case *pg.RangeSubselect:
- if n.Subquery != nil {
- Walk(f, n.Subquery)
- }
- if n.Alias != nil {
- Walk(f, n.Alias)
- }
- case *pg.RangeTableFunc:
- if n.Docexpr != nil {
- Walk(f, n.Docexpr)
- }
- if n.Rowexpr != nil {
- Walk(f, n.Rowexpr)
- }
- if n.Namespaces != nil {
- Walk(f, n.Namespaces)
- }
- if n.Columns != nil {
- Walk(f, n.Columns)
- }
- if n.Alias != nil {
- Walk(f, n.Alias)
- }
- case *pg.RangeTableFuncCol:
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- if n.Colexpr != nil {
- Walk(f, n.Colexpr)
- }
- if n.Coldefexpr != nil {
- Walk(f, n.Coldefexpr)
- }
- case *pg.RangeTableSample:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.Method != nil {
- Walk(f, n.Method)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- if n.Repeatable != nil {
- Walk(f, n.Repeatable)
- }
- case *pg.RangeTblEntry:
- if n.Tablesample != nil {
- Walk(f, n.Tablesample)
- }
- if n.Subquery != nil {
- Walk(f, n.Subquery)
- }
- if n.Joinaliasvars != nil {
- Walk(f, n.Joinaliasvars)
- }
- if n.Functions != nil {
- Walk(f, n.Functions)
- }
- if n.Tablefunc != nil {
- Walk(f, n.Tablefunc)
- }
- if n.ValuesLists != nil {
- Walk(f, n.ValuesLists)
- }
- if n.Coltypes != nil {
- Walk(f, n.Coltypes)
- }
- if n.Coltypmods != nil {
- Walk(f, n.Coltypmods)
- }
- if n.Colcollations != nil {
- Walk(f, n.Colcollations)
- }
- if n.Alias != nil {
- Walk(f, n.Alias)
- }
- if n.Eref != nil {
- Walk(f, n.Eref)
- }
- if n.SecurityQuals != nil {
- Walk(f, n.SecurityQuals)
- }
- case *pg.RangeTblFunction:
- if n.Funcexpr != nil {
- Walk(f, n.Funcexpr)
- }
- if n.Funccolnames != nil {
- Walk(f, n.Funccolnames)
- }
- if n.Funccoltypes != nil {
- Walk(f, n.Funccoltypes)
- }
- if n.Funccoltypmods != nil {
- Walk(f, n.Funccoltypmods)
- }
- if n.Funccolcollations != nil {
- Walk(f, n.Funccolcollations)
- }
- case *pg.RangeTblRef:
- // pass
- case *pg.RangeVar:
- if n.Alias != nil {
- Walk(f, n.Alias)
- }
- case *pg.RawStmt:
- if n.Stmt != nil {
- Walk(f, n.Stmt)
- }
- case *pg.ReassignOwnedStmt:
- if n.Roles != nil {
- Walk(f, n.Roles)
- }
- if n.Newrole != nil {
- Walk(f, n.Newrole)
- }
- case *pg.RefreshMatViewStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- case *pg.ReindexStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- case *pg.RelabelType:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- case *pg.RenameStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.Object != nil {
- Walk(f, n.Object)
- }
- case *pg.ReplicaIdentityStmt:
- // pass
- case *pg.ResTarget:
- if n.Indirection != nil {
- Walk(f, n.Indirection)
- }
- if n.Val != nil {
- Walk(f, n.Val)
- }
- case *pg.RoleSpec:
- // pass
- case *pg.RowCompareExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Opnos != nil {
- Walk(f, n.Opnos)
- }
- if n.Opfamilies != nil {
- Walk(f, n.Opfamilies)
- }
- if n.Inputcollids != nil {
- Walk(f, n.Inputcollids)
- }
- if n.Largs != nil {
- Walk(f, n.Largs)
- }
- if n.Rargs != nil {
- Walk(f, n.Rargs)
- }
- case *pg.RowExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- if n.Colnames != nil {
- Walk(f, n.Colnames)
- }
- case *pg.RowMarkClause:
- // pass
- case *pg.RuleStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.WhereClause != nil {
- Walk(f, n.WhereClause)
- }
- if n.Actions != nil {
- Walk(f, n.Actions)
- }
- case *pg.SQLValueFunction:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- case *pg.ScalarArrayOpExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- case *pg.SecLabelStmt:
- if n.Object != nil {
- Walk(f, n.Object)
- }
- case *pg.SelectStmt:
- if n.DistinctClause != nil {
- Walk(f, n.DistinctClause)
- }
- if n.IntoClause != nil {
- Walk(f, n.IntoClause)
- }
- if n.TargetList != nil {
- Walk(f, n.TargetList)
- }
- if n.FromClause != nil {
- Walk(f, n.FromClause)
- }
- if n.WhereClause != nil {
- Walk(f, n.WhereClause)
- }
- if n.GroupClause != nil {
- Walk(f, n.GroupClause)
- }
- if n.HavingClause != nil {
- Walk(f, n.HavingClause)
- }
- if n.WindowClause != nil {
- Walk(f, n.WindowClause)
- }
- if n.ValuesLists != nil {
- Walk(f, n.ValuesLists)
- }
- if n.SortClause != nil {
- Walk(f, n.SortClause)
- }
- if n.LimitOffset != nil {
- Walk(f, n.LimitOffset)
- }
- if n.LimitCount != nil {
- Walk(f, n.LimitCount)
- }
- if n.LockingClause != nil {
- Walk(f, n.LockingClause)
- }
- if n.WithClause != nil {
- Walk(f, n.WithClause)
- }
- if n.Larg != nil {
- Walk(f, n.Larg)
- }
- if n.Rarg != nil {
- Walk(f, n.Rarg)
- }
- case *pg.SetOperationStmt:
- if n.Larg != nil {
- Walk(f, n.Larg)
- }
- if n.Rarg != nil {
- Walk(f, n.Rarg)
- }
- if n.ColTypes != nil {
- Walk(f, n.ColTypes)
- }
- if n.ColTypmods != nil {
- Walk(f, n.ColTypmods)
- }
- if n.ColCollations != nil {
- Walk(f, n.ColCollations)
- }
- if n.GroupClauses != nil {
- Walk(f, n.GroupClauses)
- }
- case *pg.SetToDefault:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- case *pg.SortBy:
- if n.Node != nil {
- Walk(f, n.Node)
- }
- if n.UseOp != nil {
- Walk(f, n.UseOp)
- }
- case *pg.SortGroupClause:
- // pass
- case *pg.String:
- // pass
- case *pg.SubLink:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Testexpr != nil {
- Walk(f, n.Testexpr)
- }
- if n.OperName != nil {
- Walk(f, n.OperName)
- }
- if n.Subselect != nil {
- Walk(f, n.Subselect)
- }
- case *pg.SubPlan:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Testexpr != nil {
- Walk(f, n.Testexpr)
- }
- if n.ParamIds != nil {
- Walk(f, n.ParamIds)
- }
- if n.SetParam != nil {
- Walk(f, n.SetParam)
- }
- if n.ParParam != nil {
- Walk(f, n.ParParam)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- case *pg.TableFunc:
- if n.NsUris != nil {
- Walk(f, n.NsUris)
- }
- if n.NsNames != nil {
- Walk(f, n.NsNames)
- }
- if n.Docexpr != nil {
- Walk(f, n.Docexpr)
- }
- if n.Rowexpr != nil {
- Walk(f, n.Rowexpr)
- }
- if n.Colnames != nil {
- Walk(f, n.Colnames)
- }
- if n.Coltypes != nil {
- Walk(f, n.Coltypes)
- }
- if n.Coltypmods != nil {
- Walk(f, n.Coltypmods)
- }
- if n.Colcollations != nil {
- Walk(f, n.Colcollations)
- }
- if n.Colexprs != nil {
- Walk(f, n.Colexprs)
- }
- if n.Coldefexprs != nil {
- Walk(f, n.Coldefexprs)
- }
- case *pg.TableLikeClause:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- case *pg.TableSampleClause:
- if n.Args != nil {
- Walk(f, n.Args)
- }
- if n.Repeatable != nil {
- Walk(f, n.Repeatable)
- }
- case *pg.TargetEntry:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Expr != nil {
- Walk(f, n.Expr)
- }
- case *pg.TransactionStmt:
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.TriggerTransition:
- // pass
- case *pg.TruncateStmt:
- if n.Relations != nil {
- Walk(f, n.Relations)
- }
- case *pg.TypeCast:
- if n.Arg != nil {
- Walk(f, n.Arg)
- }
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- case *pg.TypeName:
- if n.Names != nil {
- Walk(f, n.Names)
- }
- if n.Typmods != nil {
- Walk(f, n.Typmods)
- }
- if n.ArrayBounds != nil {
- Walk(f, n.ArrayBounds)
- }
- case *pg.UnlistenStmt:
- // pass
- case *pg.UpdateStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.TargetList != nil {
- Walk(f, n.TargetList)
- }
- if n.WhereClause != nil {
- Walk(f, n.WhereClause)
- }
- if n.FromClause != nil {
- Walk(f, n.FromClause)
- }
- if n.ReturningList != nil {
- Walk(f, n.ReturningList)
- }
- if n.WithClause != nil {
- Walk(f, n.WithClause)
- }
- case *pg.VacuumStmt:
- if n.Relation != nil {
- Walk(f, n.Relation)
- }
- if n.VaCols != nil {
- Walk(f, n.VaCols)
- }
- case *pg.Var:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- case *pg.VariableSetStmt:
- if n.Args != nil {
- Walk(f, n.Args)
- }
- case *pg.VariableShowStmt:
- // pass
- case *pg.ViewStmt:
- if n.View != nil {
- Walk(f, n.View)
- }
- if n.Aliases != nil {
- Walk(f, n.Aliases)
- }
- if n.Query != nil {
- Walk(f, n.Query)
- }
- if n.Options != nil {
- Walk(f, n.Options)
- }
- case *pg.WindowClause:
- if n.PartitionClause != nil {
- Walk(f, n.PartitionClause)
- }
- if n.OrderClause != nil {
- Walk(f, n.OrderClause)
- }
- if n.StartOffset != nil {
- Walk(f, n.StartOffset)
- }
- if n.EndOffset != nil {
- Walk(f, n.EndOffset)
- }
- case *ast.WindowDef:
- if n.PartitionClause != nil {
- Walk(f, n.PartitionClause)
- }
- if n.OrderClause != nil {
- Walk(f, n.OrderClause)
- }
- if n.StartOffset != nil {
- Walk(f, n.StartOffset)
- }
- if n.EndOffset != nil {
- Walk(f, n.EndOffset)
- }
- case *pg.WindowFunc:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- if n.Aggfilter != nil {
- Walk(f, n.Aggfilter)
- }
- case *pg.WithCheckOption:
- if n.Qual != nil {
- Walk(f, n.Qual)
- }
- case *pg.WithClause:
- if n.Ctes != nil {
- Walk(f, n.Ctes)
- }
- case *pg.XmlExpr:
- if n.Xpr != nil {
- Walk(f, n.Xpr)
- }
- if n.NamedArgs != nil {
- Walk(f, n.NamedArgs)
- }
- if n.ArgNames != nil {
- Walk(f, n.ArgNames)
- }
- if n.Args != nil {
- Walk(f, n.Args)
- }
- case *pg.XmlSerialize:
- if n.Expr != nil {
- Walk(f, n.Expr)
- }
- if n.TypeName != nil {
- Walk(f, n.TypeName)
- }
- default:
- panic(fmt.Sprintf("walk: unexpected node type %T", n))
- }
- f.Visit(nil)
- }
|