pg_query/
node_structs.rs

1use crate::*;
2
3impl Node {
4    pub fn deparse(&self) -> Result<String> {
5        crate::deparse(&protobuf::ParseResult {
6            version: crate::bindings::PG_VERSION_NUM as i32,
7            stmts: vec![protobuf::RawStmt { stmt: Some(Box::new(self.clone())), stmt_location: 0, stmt_len: 0 }],
8        })
9    }
10}
11
12impl protobuf::Alias {
13    pub fn to_ref(&self) -> NodeRef {
14        NodeRef::Alias(self)
15    }
16    pub fn to_mut(&mut self) -> NodeMut {
17        NodeMut::Alias(self)
18    }
19}
20
21impl protobuf::RangeVar {
22    pub fn to_ref(&self) -> NodeRef {
23        NodeRef::RangeVar(self)
24    }
25    pub fn to_mut(&mut self) -> NodeMut {
26        NodeMut::RangeVar(self)
27    }
28}
29
30impl protobuf::TableFunc {
31    pub fn to_ref(&self) -> NodeRef {
32        NodeRef::TableFunc(self)
33    }
34    pub fn to_mut(&mut self) -> NodeMut {
35        NodeMut::TableFunc(self)
36    }
37}
38
39impl protobuf::Var {
40    pub fn to_ref(&self) -> NodeRef {
41        NodeRef::Var(self)
42    }
43    pub fn to_mut(&mut self) -> NodeMut {
44        NodeMut::Var(self)
45    }
46}
47
48impl protobuf::Param {
49    pub fn to_ref(&self) -> NodeRef {
50        NodeRef::Param(self)
51    }
52    pub fn to_mut(&mut self) -> NodeMut {
53        NodeMut::Param(self)
54    }
55}
56
57impl protobuf::Aggref {
58    pub fn to_ref(&self) -> NodeRef {
59        NodeRef::Aggref(self)
60    }
61    pub fn to_mut(&mut self) -> NodeMut {
62        NodeMut::Aggref(self)
63    }
64}
65
66impl protobuf::GroupingFunc {
67    pub fn to_ref(&self) -> NodeRef {
68        NodeRef::GroupingFunc(self)
69    }
70    pub fn to_mut(&mut self) -> NodeMut {
71        NodeMut::GroupingFunc(self)
72    }
73}
74
75impl protobuf::WindowFunc {
76    pub fn to_ref(&self) -> NodeRef {
77        NodeRef::WindowFunc(self)
78    }
79    pub fn to_mut(&mut self) -> NodeMut {
80        NodeMut::WindowFunc(self)
81    }
82}
83
84impl protobuf::SubscriptingRef {
85    pub fn to_ref(&self) -> NodeRef {
86        NodeRef::SubscriptingRef(self)
87    }
88    pub fn to_mut(&mut self) -> NodeMut {
89        NodeMut::SubscriptingRef(self)
90    }
91}
92
93impl protobuf::FuncExpr {
94    pub fn to_ref(&self) -> NodeRef {
95        NodeRef::FuncExpr(self)
96    }
97    pub fn to_mut(&mut self) -> NodeMut {
98        NodeMut::FuncExpr(self)
99    }
100}
101
102impl protobuf::NamedArgExpr {
103    pub fn to_ref(&self) -> NodeRef {
104        NodeRef::NamedArgExpr(self)
105    }
106    pub fn to_mut(&mut self) -> NodeMut {
107        NodeMut::NamedArgExpr(self)
108    }
109}
110
111impl protobuf::OpExpr {
112    pub fn to_ref(&self) -> NodeRef {
113        NodeRef::OpExpr(self)
114    }
115    pub fn to_mut(&mut self) -> NodeMut {
116        NodeMut::OpExpr(self)
117    }
118}
119
120impl protobuf::DistinctExpr {
121    pub fn to_ref(&self) -> NodeRef {
122        NodeRef::DistinctExpr(self)
123    }
124    pub fn to_mut(&mut self) -> NodeMut {
125        NodeMut::DistinctExpr(self)
126    }
127}
128
129impl protobuf::NullIfExpr {
130    pub fn to_ref(&self) -> NodeRef {
131        NodeRef::NullIfExpr(self)
132    }
133    pub fn to_mut(&mut self) -> NodeMut {
134        NodeMut::NullIfExpr(self)
135    }
136}
137
138impl protobuf::ScalarArrayOpExpr {
139    pub fn to_ref(&self) -> NodeRef {
140        NodeRef::ScalarArrayOpExpr(self)
141    }
142    pub fn to_mut(&mut self) -> NodeMut {
143        NodeMut::ScalarArrayOpExpr(self)
144    }
145}
146
147impl protobuf::BoolExpr {
148    pub fn to_ref(&self) -> NodeRef {
149        NodeRef::BoolExpr(self)
150    }
151    pub fn to_mut(&mut self) -> NodeMut {
152        NodeMut::BoolExpr(self)
153    }
154}
155
156impl protobuf::SubLink {
157    pub fn to_ref(&self) -> NodeRef {
158        NodeRef::SubLink(self)
159    }
160    pub fn to_mut(&mut self) -> NodeMut {
161        NodeMut::SubLink(self)
162    }
163}
164
165impl protobuf::SubPlan {
166    pub fn to_ref(&self) -> NodeRef {
167        NodeRef::SubPlan(self)
168    }
169    pub fn to_mut(&mut self) -> NodeMut {
170        NodeMut::SubPlan(self)
171    }
172}
173
174impl protobuf::AlternativeSubPlan {
175    pub fn to_ref(&self) -> NodeRef {
176        NodeRef::AlternativeSubPlan(self)
177    }
178    pub fn to_mut(&mut self) -> NodeMut {
179        NodeMut::AlternativeSubPlan(self)
180    }
181}
182
183impl protobuf::FieldSelect {
184    pub fn to_ref(&self) -> NodeRef {
185        NodeRef::FieldSelect(self)
186    }
187    pub fn to_mut(&mut self) -> NodeMut {
188        NodeMut::FieldSelect(self)
189    }
190}
191
192impl protobuf::FieldStore {
193    pub fn to_ref(&self) -> NodeRef {
194        NodeRef::FieldStore(self)
195    }
196    pub fn to_mut(&mut self) -> NodeMut {
197        NodeMut::FieldStore(self)
198    }
199}
200
201impl protobuf::RelabelType {
202    pub fn to_ref(&self) -> NodeRef {
203        NodeRef::RelabelType(self)
204    }
205    pub fn to_mut(&mut self) -> NodeMut {
206        NodeMut::RelabelType(self)
207    }
208}
209
210impl protobuf::CoerceViaIo {
211    pub fn to_ref(&self) -> NodeRef {
212        NodeRef::CoerceViaIo(self)
213    }
214    pub fn to_mut(&mut self) -> NodeMut {
215        NodeMut::CoerceViaIo(self)
216    }
217}
218
219impl protobuf::ArrayCoerceExpr {
220    pub fn to_ref(&self) -> NodeRef {
221        NodeRef::ArrayCoerceExpr(self)
222    }
223    pub fn to_mut(&mut self) -> NodeMut {
224        NodeMut::ArrayCoerceExpr(self)
225    }
226}
227
228impl protobuf::ConvertRowtypeExpr {
229    pub fn to_ref(&self) -> NodeRef {
230        NodeRef::ConvertRowtypeExpr(self)
231    }
232    pub fn to_mut(&mut self) -> NodeMut {
233        NodeMut::ConvertRowtypeExpr(self)
234    }
235}
236
237impl protobuf::CollateExpr {
238    pub fn to_ref(&self) -> NodeRef {
239        NodeRef::CollateExpr(self)
240    }
241    pub fn to_mut(&mut self) -> NodeMut {
242        NodeMut::CollateExpr(self)
243    }
244}
245
246impl protobuf::CaseExpr {
247    pub fn to_ref(&self) -> NodeRef {
248        NodeRef::CaseExpr(self)
249    }
250    pub fn to_mut(&mut self) -> NodeMut {
251        NodeMut::CaseExpr(self)
252    }
253}
254
255impl protobuf::CaseWhen {
256    pub fn to_ref(&self) -> NodeRef {
257        NodeRef::CaseWhen(self)
258    }
259    pub fn to_mut(&mut self) -> NodeMut {
260        NodeMut::CaseWhen(self)
261    }
262}
263
264impl protobuf::CaseTestExpr {
265    pub fn to_ref(&self) -> NodeRef {
266        NodeRef::CaseTestExpr(self)
267    }
268    pub fn to_mut(&mut self) -> NodeMut {
269        NodeMut::CaseTestExpr(self)
270    }
271}
272
273impl protobuf::ArrayExpr {
274    pub fn to_ref(&self) -> NodeRef {
275        NodeRef::ArrayExpr(self)
276    }
277    pub fn to_mut(&mut self) -> NodeMut {
278        NodeMut::ArrayExpr(self)
279    }
280}
281
282impl protobuf::RowExpr {
283    pub fn to_ref(&self) -> NodeRef {
284        NodeRef::RowExpr(self)
285    }
286    pub fn to_mut(&mut self) -> NodeMut {
287        NodeMut::RowExpr(self)
288    }
289}
290
291impl protobuf::RowCompareExpr {
292    pub fn to_ref(&self) -> NodeRef {
293        NodeRef::RowCompareExpr(self)
294    }
295    pub fn to_mut(&mut self) -> NodeMut {
296        NodeMut::RowCompareExpr(self)
297    }
298}
299
300impl protobuf::CoalesceExpr {
301    pub fn to_ref(&self) -> NodeRef {
302        NodeRef::CoalesceExpr(self)
303    }
304    pub fn to_mut(&mut self) -> NodeMut {
305        NodeMut::CoalesceExpr(self)
306    }
307}
308
309impl protobuf::MinMaxExpr {
310    pub fn to_ref(&self) -> NodeRef {
311        NodeRef::MinMaxExpr(self)
312    }
313    pub fn to_mut(&mut self) -> NodeMut {
314        NodeMut::MinMaxExpr(self)
315    }
316}
317
318impl protobuf::SqlValueFunction {
319    pub fn to_ref(&self) -> NodeRef {
320        NodeRef::SqlvalueFunction(self)
321    }
322    pub fn to_mut(&mut self) -> NodeMut {
323        NodeMut::SqlvalueFunction(self)
324    }
325}
326
327impl protobuf::XmlExpr {
328    pub fn to_ref(&self) -> NodeRef {
329        NodeRef::XmlExpr(self)
330    }
331    pub fn to_mut(&mut self) -> NodeMut {
332        NodeMut::XmlExpr(self)
333    }
334}
335
336impl protobuf::NullTest {
337    pub fn to_ref(&self) -> NodeRef {
338        NodeRef::NullTest(self)
339    }
340    pub fn to_mut(&mut self) -> NodeMut {
341        NodeMut::NullTest(self)
342    }
343}
344
345impl protobuf::BooleanTest {
346    pub fn to_ref(&self) -> NodeRef {
347        NodeRef::BooleanTest(self)
348    }
349    pub fn to_mut(&mut self) -> NodeMut {
350        NodeMut::BooleanTest(self)
351    }
352}
353
354impl protobuf::CoerceToDomain {
355    pub fn to_ref(&self) -> NodeRef {
356        NodeRef::CoerceToDomain(self)
357    }
358    pub fn to_mut(&mut self) -> NodeMut {
359        NodeMut::CoerceToDomain(self)
360    }
361}
362
363impl protobuf::CoerceToDomainValue {
364    pub fn to_ref(&self) -> NodeRef {
365        NodeRef::CoerceToDomainValue(self)
366    }
367    pub fn to_mut(&mut self) -> NodeMut {
368        NodeMut::CoerceToDomainValue(self)
369    }
370}
371
372impl protobuf::SetToDefault {
373    pub fn to_ref(&self) -> NodeRef {
374        NodeRef::SetToDefault(self)
375    }
376    pub fn to_mut(&mut self) -> NodeMut {
377        NodeMut::SetToDefault(self)
378    }
379}
380
381impl protobuf::CurrentOfExpr {
382    pub fn to_ref(&self) -> NodeRef {
383        NodeRef::CurrentOfExpr(self)
384    }
385    pub fn to_mut(&mut self) -> NodeMut {
386        NodeMut::CurrentOfExpr(self)
387    }
388}
389
390impl protobuf::NextValueExpr {
391    pub fn to_ref(&self) -> NodeRef {
392        NodeRef::NextValueExpr(self)
393    }
394    pub fn to_mut(&mut self) -> NodeMut {
395        NodeMut::NextValueExpr(self)
396    }
397}
398
399impl protobuf::InferenceElem {
400    pub fn to_ref(&self) -> NodeRef {
401        NodeRef::InferenceElem(self)
402    }
403    pub fn to_mut(&mut self) -> NodeMut {
404        NodeMut::InferenceElem(self)
405    }
406}
407
408impl protobuf::TargetEntry {
409    pub fn to_ref(&self) -> NodeRef {
410        NodeRef::TargetEntry(self)
411    }
412    pub fn to_mut(&mut self) -> NodeMut {
413        NodeMut::TargetEntry(self)
414    }
415}
416
417impl protobuf::RangeTblRef {
418    pub fn to_ref(&self) -> NodeRef {
419        NodeRef::RangeTblRef(self)
420    }
421    pub fn to_mut(&mut self) -> NodeMut {
422        NodeMut::RangeTblRef(self)
423    }
424}
425
426impl protobuf::JoinExpr {
427    pub fn to_ref(&self) -> NodeRef {
428        NodeRef::JoinExpr(self)
429    }
430    pub fn to_mut(&mut self) -> NodeMut {
431        NodeMut::JoinExpr(self)
432    }
433}
434
435impl protobuf::FromExpr {
436    pub fn to_ref(&self) -> NodeRef {
437        NodeRef::FromExpr(self)
438    }
439    pub fn to_mut(&mut self) -> NodeMut {
440        NodeMut::FromExpr(self)
441    }
442}
443
444impl protobuf::OnConflictExpr {
445    pub fn to_ref(&self) -> NodeRef {
446        NodeRef::OnConflictExpr(self)
447    }
448    pub fn to_mut(&mut self) -> NodeMut {
449        NodeMut::OnConflictExpr(self)
450    }
451}
452
453impl protobuf::IntoClause {
454    pub fn to_ref(&self) -> NodeRef {
455        NodeRef::IntoClause(self)
456    }
457    pub fn to_mut(&mut self) -> NodeMut {
458        NodeMut::IntoClause(self)
459    }
460}
461
462impl protobuf::RawStmt {
463    pub fn to_ref(&self) -> NodeRef {
464        NodeRef::RawStmt(self)
465    }
466    pub fn to_mut(&mut self) -> NodeMut {
467        NodeMut::RawStmt(self)
468    }
469}
470
471impl protobuf::Query {
472    pub fn to_ref(&self) -> NodeRef {
473        NodeRef::Query(self)
474    }
475    pub fn to_mut(&mut self) -> NodeMut {
476        NodeMut::Query(self)
477    }
478}
479
480impl protobuf::InsertStmt {
481    pub fn to_ref(&self) -> NodeRef {
482        NodeRef::InsertStmt(self)
483    }
484    pub fn to_mut(&mut self) -> NodeMut {
485        NodeMut::InsertStmt(self)
486    }
487}
488
489impl protobuf::DeleteStmt {
490    pub fn to_ref(&self) -> NodeRef {
491        NodeRef::DeleteStmt(self)
492    }
493    pub fn to_mut(&mut self) -> NodeMut {
494        NodeMut::DeleteStmt(self)
495    }
496}
497
498impl protobuf::UpdateStmt {
499    pub fn to_ref(&self) -> NodeRef {
500        NodeRef::UpdateStmt(self)
501    }
502    pub fn to_mut(&mut self) -> NodeMut {
503        NodeMut::UpdateStmt(self)
504    }
505}
506
507impl protobuf::SelectStmt {
508    pub fn to_ref(&self) -> NodeRef {
509        NodeRef::SelectStmt(self)
510    }
511    pub fn to_mut(&mut self) -> NodeMut {
512        NodeMut::SelectStmt(self)
513    }
514}
515
516impl protobuf::AlterTableStmt {
517    pub fn to_ref(&self) -> NodeRef {
518        NodeRef::AlterTableStmt(self)
519    }
520    pub fn to_mut(&mut self) -> NodeMut {
521        NodeMut::AlterTableStmt(self)
522    }
523}
524
525impl protobuf::AlterTableCmd {
526    pub fn to_ref(&self) -> NodeRef {
527        NodeRef::AlterTableCmd(self)
528    }
529    pub fn to_mut(&mut self) -> NodeMut {
530        NodeMut::AlterTableCmd(self)
531    }
532}
533
534impl protobuf::AlterDomainStmt {
535    pub fn to_ref(&self) -> NodeRef {
536        NodeRef::AlterDomainStmt(self)
537    }
538    pub fn to_mut(&mut self) -> NodeMut {
539        NodeMut::AlterDomainStmt(self)
540    }
541}
542
543impl protobuf::SetOperationStmt {
544    pub fn to_ref(&self) -> NodeRef {
545        NodeRef::SetOperationStmt(self)
546    }
547    pub fn to_mut(&mut self) -> NodeMut {
548        NodeMut::SetOperationStmt(self)
549    }
550}
551
552impl protobuf::GrantStmt {
553    pub fn to_ref(&self) -> NodeRef {
554        NodeRef::GrantStmt(self)
555    }
556    pub fn to_mut(&mut self) -> NodeMut {
557        NodeMut::GrantStmt(self)
558    }
559}
560
561impl protobuf::GrantRoleStmt {
562    pub fn to_ref(&self) -> NodeRef {
563        NodeRef::GrantRoleStmt(self)
564    }
565    pub fn to_mut(&mut self) -> NodeMut {
566        NodeMut::GrantRoleStmt(self)
567    }
568}
569
570impl protobuf::AlterDefaultPrivilegesStmt {
571    pub fn to_ref(&self) -> NodeRef {
572        NodeRef::AlterDefaultPrivilegesStmt(self)
573    }
574    pub fn to_mut(&mut self) -> NodeMut {
575        NodeMut::AlterDefaultPrivilegesStmt(self)
576    }
577}
578
579impl protobuf::ClosePortalStmt {
580    pub fn to_ref(&self) -> NodeRef {
581        NodeRef::ClosePortalStmt(self)
582    }
583    pub fn to_mut(&mut self) -> NodeMut {
584        NodeMut::ClosePortalStmt(self)
585    }
586}
587
588impl protobuf::ClusterStmt {
589    pub fn to_ref(&self) -> NodeRef {
590        NodeRef::ClusterStmt(self)
591    }
592    pub fn to_mut(&mut self) -> NodeMut {
593        NodeMut::ClusterStmt(self)
594    }
595}
596
597impl protobuf::CopyStmt {
598    pub fn to_ref(&self) -> NodeRef {
599        NodeRef::CopyStmt(self)
600    }
601    pub fn to_mut(&mut self) -> NodeMut {
602        NodeMut::CopyStmt(self)
603    }
604}
605
606impl protobuf::CreateStmt {
607    pub fn to_ref(&self) -> NodeRef {
608        NodeRef::CreateStmt(self)
609    }
610    pub fn to_mut(&mut self) -> NodeMut {
611        NodeMut::CreateStmt(self)
612    }
613}
614
615impl protobuf::DefineStmt {
616    pub fn to_ref(&self) -> NodeRef {
617        NodeRef::DefineStmt(self)
618    }
619    pub fn to_mut(&mut self) -> NodeMut {
620        NodeMut::DefineStmt(self)
621    }
622}
623
624impl protobuf::DropStmt {
625    pub fn to_ref(&self) -> NodeRef {
626        NodeRef::DropStmt(self)
627    }
628    pub fn to_mut(&mut self) -> NodeMut {
629        NodeMut::DropStmt(self)
630    }
631}
632
633impl protobuf::TruncateStmt {
634    pub fn to_ref(&self) -> NodeRef {
635        NodeRef::TruncateStmt(self)
636    }
637    pub fn to_mut(&mut self) -> NodeMut {
638        NodeMut::TruncateStmt(self)
639    }
640}
641
642impl protobuf::CommentStmt {
643    pub fn to_ref(&self) -> NodeRef {
644        NodeRef::CommentStmt(self)
645    }
646    pub fn to_mut(&mut self) -> NodeMut {
647        NodeMut::CommentStmt(self)
648    }
649}
650
651impl protobuf::FetchStmt {
652    pub fn to_ref(&self) -> NodeRef {
653        NodeRef::FetchStmt(self)
654    }
655    pub fn to_mut(&mut self) -> NodeMut {
656        NodeMut::FetchStmt(self)
657    }
658}
659
660impl protobuf::IndexStmt {
661    pub fn to_ref(&self) -> NodeRef {
662        NodeRef::IndexStmt(self)
663    }
664    pub fn to_mut(&mut self) -> NodeMut {
665        NodeMut::IndexStmt(self)
666    }
667}
668
669impl protobuf::CreateFunctionStmt {
670    pub fn to_ref(&self) -> NodeRef {
671        NodeRef::CreateFunctionStmt(self)
672    }
673    pub fn to_mut(&mut self) -> NodeMut {
674        NodeMut::CreateFunctionStmt(self)
675    }
676}
677
678impl protobuf::AlterFunctionStmt {
679    pub fn to_ref(&self) -> NodeRef {
680        NodeRef::AlterFunctionStmt(self)
681    }
682    pub fn to_mut(&mut self) -> NodeMut {
683        NodeMut::AlterFunctionStmt(self)
684    }
685}
686
687impl protobuf::DoStmt {
688    pub fn to_ref(&self) -> NodeRef {
689        NodeRef::DoStmt(self)
690    }
691    pub fn to_mut(&mut self) -> NodeMut {
692        NodeMut::DoStmt(self)
693    }
694}
695
696impl protobuf::RenameStmt {
697    pub fn to_ref(&self) -> NodeRef {
698        NodeRef::RenameStmt(self)
699    }
700    pub fn to_mut(&mut self) -> NodeMut {
701        NodeMut::RenameStmt(self)
702    }
703}
704
705impl protobuf::RuleStmt {
706    pub fn to_ref(&self) -> NodeRef {
707        NodeRef::RuleStmt(self)
708    }
709    pub fn to_mut(&mut self) -> NodeMut {
710        NodeMut::RuleStmt(self)
711    }
712}
713
714impl protobuf::NotifyStmt {
715    pub fn to_ref(&self) -> NodeRef {
716        NodeRef::NotifyStmt(self)
717    }
718    pub fn to_mut(&mut self) -> NodeMut {
719        NodeMut::NotifyStmt(self)
720    }
721}
722
723impl protobuf::ListenStmt {
724    pub fn to_ref(&self) -> NodeRef {
725        NodeRef::ListenStmt(self)
726    }
727    pub fn to_mut(&mut self) -> NodeMut {
728        NodeMut::ListenStmt(self)
729    }
730}
731
732impl protobuf::UnlistenStmt {
733    pub fn to_ref(&self) -> NodeRef {
734        NodeRef::UnlistenStmt(self)
735    }
736    pub fn to_mut(&mut self) -> NodeMut {
737        NodeMut::UnlistenStmt(self)
738    }
739}
740
741impl protobuf::TransactionStmt {
742    pub fn to_ref(&self) -> NodeRef {
743        NodeRef::TransactionStmt(self)
744    }
745    pub fn to_mut(&mut self) -> NodeMut {
746        NodeMut::TransactionStmt(self)
747    }
748}
749
750impl protobuf::ViewStmt {
751    pub fn to_ref(&self) -> NodeRef {
752        NodeRef::ViewStmt(self)
753    }
754    pub fn to_mut(&mut self) -> NodeMut {
755        NodeMut::ViewStmt(self)
756    }
757}
758
759impl protobuf::LoadStmt {
760    pub fn to_ref(&self) -> NodeRef {
761        NodeRef::LoadStmt(self)
762    }
763    pub fn to_mut(&mut self) -> NodeMut {
764        NodeMut::LoadStmt(self)
765    }
766}
767
768impl protobuf::CreateDomainStmt {
769    pub fn to_ref(&self) -> NodeRef {
770        NodeRef::CreateDomainStmt(self)
771    }
772    pub fn to_mut(&mut self) -> NodeMut {
773        NodeMut::CreateDomainStmt(self)
774    }
775}
776
777impl protobuf::CreatedbStmt {
778    pub fn to_ref(&self) -> NodeRef {
779        NodeRef::CreatedbStmt(self)
780    }
781    pub fn to_mut(&mut self) -> NodeMut {
782        NodeMut::CreatedbStmt(self)
783    }
784}
785
786impl protobuf::DropdbStmt {
787    pub fn to_ref(&self) -> NodeRef {
788        NodeRef::DropdbStmt(self)
789    }
790    pub fn to_mut(&mut self) -> NodeMut {
791        NodeMut::DropdbStmt(self)
792    }
793}
794
795impl protobuf::VacuumStmt {
796    pub fn to_ref(&self) -> NodeRef {
797        NodeRef::VacuumStmt(self)
798    }
799    pub fn to_mut(&mut self) -> NodeMut {
800        NodeMut::VacuumStmt(self)
801    }
802}
803
804impl protobuf::ExplainStmt {
805    pub fn to_ref(&self) -> NodeRef {
806        NodeRef::ExplainStmt(self)
807    }
808    pub fn to_mut(&mut self) -> NodeMut {
809        NodeMut::ExplainStmt(self)
810    }
811}
812
813impl protobuf::CreateTableAsStmt {
814    pub fn to_ref(&self) -> NodeRef {
815        NodeRef::CreateTableAsStmt(self)
816    }
817    pub fn to_mut(&mut self) -> NodeMut {
818        NodeMut::CreateTableAsStmt(self)
819    }
820}
821
822impl protobuf::CreateSeqStmt {
823    pub fn to_ref(&self) -> NodeRef {
824        NodeRef::CreateSeqStmt(self)
825    }
826    pub fn to_mut(&mut self) -> NodeMut {
827        NodeMut::CreateSeqStmt(self)
828    }
829}
830
831impl protobuf::AlterSeqStmt {
832    pub fn to_ref(&self) -> NodeRef {
833        NodeRef::AlterSeqStmt(self)
834    }
835    pub fn to_mut(&mut self) -> NodeMut {
836        NodeMut::AlterSeqStmt(self)
837    }
838}
839
840impl protobuf::VariableSetStmt {
841    pub fn to_ref(&self) -> NodeRef {
842        NodeRef::VariableSetStmt(self)
843    }
844    pub fn to_mut(&mut self) -> NodeMut {
845        NodeMut::VariableSetStmt(self)
846    }
847}
848
849impl protobuf::VariableShowStmt {
850    pub fn to_ref(&self) -> NodeRef {
851        NodeRef::VariableShowStmt(self)
852    }
853    pub fn to_mut(&mut self) -> NodeMut {
854        NodeMut::VariableShowStmt(self)
855    }
856}
857
858impl protobuf::DiscardStmt {
859    pub fn to_ref(&self) -> NodeRef {
860        NodeRef::DiscardStmt(self)
861    }
862    pub fn to_mut(&mut self) -> NodeMut {
863        NodeMut::DiscardStmt(self)
864    }
865}
866
867impl protobuf::CreateTrigStmt {
868    pub fn to_ref(&self) -> NodeRef {
869        NodeRef::CreateTrigStmt(self)
870    }
871    pub fn to_mut(&mut self) -> NodeMut {
872        NodeMut::CreateTrigStmt(self)
873    }
874}
875
876impl protobuf::CreatePLangStmt {
877    pub fn to_ref(&self) -> NodeRef {
878        NodeRef::CreatePlangStmt(self)
879    }
880    pub fn to_mut(&mut self) -> NodeMut {
881        NodeMut::CreatePlangStmt(self)
882    }
883}
884
885impl protobuf::CreateRoleStmt {
886    pub fn to_ref(&self) -> NodeRef {
887        NodeRef::CreateRoleStmt(self)
888    }
889    pub fn to_mut(&mut self) -> NodeMut {
890        NodeMut::CreateRoleStmt(self)
891    }
892}
893
894impl protobuf::AlterRoleStmt {
895    pub fn to_ref(&self) -> NodeRef {
896        NodeRef::AlterRoleStmt(self)
897    }
898    pub fn to_mut(&mut self) -> NodeMut {
899        NodeMut::AlterRoleStmt(self)
900    }
901}
902
903impl protobuf::DropRoleStmt {
904    pub fn to_ref(&self) -> NodeRef {
905        NodeRef::DropRoleStmt(self)
906    }
907    pub fn to_mut(&mut self) -> NodeMut {
908        NodeMut::DropRoleStmt(self)
909    }
910}
911
912impl protobuf::LockStmt {
913    pub fn to_ref(&self) -> NodeRef {
914        NodeRef::LockStmt(self)
915    }
916    pub fn to_mut(&mut self) -> NodeMut {
917        NodeMut::LockStmt(self)
918    }
919}
920
921impl protobuf::ConstraintsSetStmt {
922    pub fn to_ref(&self) -> NodeRef {
923        NodeRef::ConstraintsSetStmt(self)
924    }
925    pub fn to_mut(&mut self) -> NodeMut {
926        NodeMut::ConstraintsSetStmt(self)
927    }
928}
929
930impl protobuf::ReindexStmt {
931    pub fn to_ref(&self) -> NodeRef {
932        NodeRef::ReindexStmt(self)
933    }
934    pub fn to_mut(&mut self) -> NodeMut {
935        NodeMut::ReindexStmt(self)
936    }
937}
938
939impl protobuf::CheckPointStmt {
940    pub fn to_ref(&self) -> NodeRef {
941        NodeRef::CheckPointStmt(self)
942    }
943    pub fn to_mut(&mut self) -> NodeMut {
944        NodeMut::CheckPointStmt(self)
945    }
946}
947
948impl protobuf::CreateSchemaStmt {
949    pub fn to_ref(&self) -> NodeRef {
950        NodeRef::CreateSchemaStmt(self)
951    }
952    pub fn to_mut(&mut self) -> NodeMut {
953        NodeMut::CreateSchemaStmt(self)
954    }
955}
956
957impl protobuf::AlterDatabaseStmt {
958    pub fn to_ref(&self) -> NodeRef {
959        NodeRef::AlterDatabaseStmt(self)
960    }
961    pub fn to_mut(&mut self) -> NodeMut {
962        NodeMut::AlterDatabaseStmt(self)
963    }
964}
965
966impl protobuf::AlterDatabaseSetStmt {
967    pub fn to_ref(&self) -> NodeRef {
968        NodeRef::AlterDatabaseSetStmt(self)
969    }
970    pub fn to_mut(&mut self) -> NodeMut {
971        NodeMut::AlterDatabaseSetStmt(self)
972    }
973}
974
975impl protobuf::AlterRoleSetStmt {
976    pub fn to_ref(&self) -> NodeRef {
977        NodeRef::AlterRoleSetStmt(self)
978    }
979    pub fn to_mut(&mut self) -> NodeMut {
980        NodeMut::AlterRoleSetStmt(self)
981    }
982}
983
984impl protobuf::CreateConversionStmt {
985    pub fn to_ref(&self) -> NodeRef {
986        NodeRef::CreateConversionStmt(self)
987    }
988    pub fn to_mut(&mut self) -> NodeMut {
989        NodeMut::CreateConversionStmt(self)
990    }
991}
992
993impl protobuf::CreateCastStmt {
994    pub fn to_ref(&self) -> NodeRef {
995        NodeRef::CreateCastStmt(self)
996    }
997    pub fn to_mut(&mut self) -> NodeMut {
998        NodeMut::CreateCastStmt(self)
999    }
1000}
1001
1002impl protobuf::CreateOpClassStmt {
1003    pub fn to_ref(&self) -> NodeRef {
1004        NodeRef::CreateOpClassStmt(self)
1005    }
1006    pub fn to_mut(&mut self) -> NodeMut {
1007        NodeMut::CreateOpClassStmt(self)
1008    }
1009}
1010
1011impl protobuf::CreateOpFamilyStmt {
1012    pub fn to_ref(&self) -> NodeRef {
1013        NodeRef::CreateOpFamilyStmt(self)
1014    }
1015    pub fn to_mut(&mut self) -> NodeMut {
1016        NodeMut::CreateOpFamilyStmt(self)
1017    }
1018}
1019
1020impl protobuf::AlterOpFamilyStmt {
1021    pub fn to_ref(&self) -> NodeRef {
1022        NodeRef::AlterOpFamilyStmt(self)
1023    }
1024    pub fn to_mut(&mut self) -> NodeMut {
1025        NodeMut::AlterOpFamilyStmt(self)
1026    }
1027}
1028
1029impl protobuf::PrepareStmt {
1030    pub fn to_ref(&self) -> NodeRef {
1031        NodeRef::PrepareStmt(self)
1032    }
1033    pub fn to_mut(&mut self) -> NodeMut {
1034        NodeMut::PrepareStmt(self)
1035    }
1036}
1037
1038impl protobuf::ExecuteStmt {
1039    pub fn to_ref(&self) -> NodeRef {
1040        NodeRef::ExecuteStmt(self)
1041    }
1042    pub fn to_mut(&mut self) -> NodeMut {
1043        NodeMut::ExecuteStmt(self)
1044    }
1045}
1046
1047impl protobuf::DeallocateStmt {
1048    pub fn to_ref(&self) -> NodeRef {
1049        NodeRef::DeallocateStmt(self)
1050    }
1051    pub fn to_mut(&mut self) -> NodeMut {
1052        NodeMut::DeallocateStmt(self)
1053    }
1054}
1055
1056impl protobuf::DeclareCursorStmt {
1057    pub fn to_ref(&self) -> NodeRef {
1058        NodeRef::DeclareCursorStmt(self)
1059    }
1060    pub fn to_mut(&mut self) -> NodeMut {
1061        NodeMut::DeclareCursorStmt(self)
1062    }
1063}
1064
1065impl protobuf::CreateTableSpaceStmt {
1066    pub fn to_ref(&self) -> NodeRef {
1067        NodeRef::CreateTableSpaceStmt(self)
1068    }
1069    pub fn to_mut(&mut self) -> NodeMut {
1070        NodeMut::CreateTableSpaceStmt(self)
1071    }
1072}
1073
1074impl protobuf::DropTableSpaceStmt {
1075    pub fn to_ref(&self) -> NodeRef {
1076        NodeRef::DropTableSpaceStmt(self)
1077    }
1078    pub fn to_mut(&mut self) -> NodeMut {
1079        NodeMut::DropTableSpaceStmt(self)
1080    }
1081}
1082
1083impl protobuf::AlterObjectDependsStmt {
1084    pub fn to_ref(&self) -> NodeRef {
1085        NodeRef::AlterObjectDependsStmt(self)
1086    }
1087    pub fn to_mut(&mut self) -> NodeMut {
1088        NodeMut::AlterObjectDependsStmt(self)
1089    }
1090}
1091
1092impl protobuf::AlterObjectSchemaStmt {
1093    pub fn to_ref(&self) -> NodeRef {
1094        NodeRef::AlterObjectSchemaStmt(self)
1095    }
1096    pub fn to_mut(&mut self) -> NodeMut {
1097        NodeMut::AlterObjectSchemaStmt(self)
1098    }
1099}
1100
1101impl protobuf::AlterOwnerStmt {
1102    pub fn to_ref(&self) -> NodeRef {
1103        NodeRef::AlterOwnerStmt(self)
1104    }
1105    pub fn to_mut(&mut self) -> NodeMut {
1106        NodeMut::AlterOwnerStmt(self)
1107    }
1108}
1109
1110impl protobuf::AlterOperatorStmt {
1111    pub fn to_ref(&self) -> NodeRef {
1112        NodeRef::AlterOperatorStmt(self)
1113    }
1114    pub fn to_mut(&mut self) -> NodeMut {
1115        NodeMut::AlterOperatorStmt(self)
1116    }
1117}
1118
1119impl protobuf::AlterTypeStmt {
1120    pub fn to_ref(&self) -> NodeRef {
1121        NodeRef::AlterTypeStmt(self)
1122    }
1123    pub fn to_mut(&mut self) -> NodeMut {
1124        NodeMut::AlterTypeStmt(self)
1125    }
1126}
1127
1128impl protobuf::DropOwnedStmt {
1129    pub fn to_ref(&self) -> NodeRef {
1130        NodeRef::DropOwnedStmt(self)
1131    }
1132    pub fn to_mut(&mut self) -> NodeMut {
1133        NodeMut::DropOwnedStmt(self)
1134    }
1135}
1136
1137impl protobuf::ReassignOwnedStmt {
1138    pub fn to_ref(&self) -> NodeRef {
1139        NodeRef::ReassignOwnedStmt(self)
1140    }
1141    pub fn to_mut(&mut self) -> NodeMut {
1142        NodeMut::ReassignOwnedStmt(self)
1143    }
1144}
1145
1146impl protobuf::CompositeTypeStmt {
1147    pub fn to_ref(&self) -> NodeRef {
1148        NodeRef::CompositeTypeStmt(self)
1149    }
1150    pub fn to_mut(&mut self) -> NodeMut {
1151        NodeMut::CompositeTypeStmt(self)
1152    }
1153}
1154
1155impl protobuf::CreateEnumStmt {
1156    pub fn to_ref(&self) -> NodeRef {
1157        NodeRef::CreateEnumStmt(self)
1158    }
1159    pub fn to_mut(&mut self) -> NodeMut {
1160        NodeMut::CreateEnumStmt(self)
1161    }
1162}
1163
1164impl protobuf::CreateRangeStmt {
1165    pub fn to_ref(&self) -> NodeRef {
1166        NodeRef::CreateRangeStmt(self)
1167    }
1168    pub fn to_mut(&mut self) -> NodeMut {
1169        NodeMut::CreateRangeStmt(self)
1170    }
1171}
1172
1173impl protobuf::AlterEnumStmt {
1174    pub fn to_ref(&self) -> NodeRef {
1175        NodeRef::AlterEnumStmt(self)
1176    }
1177    pub fn to_mut(&mut self) -> NodeMut {
1178        NodeMut::AlterEnumStmt(self)
1179    }
1180}
1181
1182impl protobuf::AlterTsDictionaryStmt {
1183    pub fn to_ref(&self) -> NodeRef {
1184        NodeRef::AlterTsdictionaryStmt(self)
1185    }
1186    pub fn to_mut(&mut self) -> NodeMut {
1187        NodeMut::AlterTsdictionaryStmt(self)
1188    }
1189}
1190
1191impl protobuf::AlterTsConfigurationStmt {
1192    pub fn to_ref(&self) -> NodeRef {
1193        NodeRef::AlterTsconfigurationStmt(self)
1194    }
1195    pub fn to_mut(&mut self) -> NodeMut {
1196        NodeMut::AlterTsconfigurationStmt(self)
1197    }
1198}
1199
1200impl protobuf::CreateFdwStmt {
1201    pub fn to_ref(&self) -> NodeRef {
1202        NodeRef::CreateFdwStmt(self)
1203    }
1204    pub fn to_mut(&mut self) -> NodeMut {
1205        NodeMut::CreateFdwStmt(self)
1206    }
1207}
1208
1209impl protobuf::AlterFdwStmt {
1210    pub fn to_ref(&self) -> NodeRef {
1211        NodeRef::AlterFdwStmt(self)
1212    }
1213    pub fn to_mut(&mut self) -> NodeMut {
1214        NodeMut::AlterFdwStmt(self)
1215    }
1216}
1217
1218impl protobuf::CreateForeignServerStmt {
1219    pub fn to_ref(&self) -> NodeRef {
1220        NodeRef::CreateForeignServerStmt(self)
1221    }
1222    pub fn to_mut(&mut self) -> NodeMut {
1223        NodeMut::CreateForeignServerStmt(self)
1224    }
1225}
1226
1227impl protobuf::AlterForeignServerStmt {
1228    pub fn to_ref(&self) -> NodeRef {
1229        NodeRef::AlterForeignServerStmt(self)
1230    }
1231    pub fn to_mut(&mut self) -> NodeMut {
1232        NodeMut::AlterForeignServerStmt(self)
1233    }
1234}
1235
1236impl protobuf::CreateUserMappingStmt {
1237    pub fn to_ref(&self) -> NodeRef {
1238        NodeRef::CreateUserMappingStmt(self)
1239    }
1240    pub fn to_mut(&mut self) -> NodeMut {
1241        NodeMut::CreateUserMappingStmt(self)
1242    }
1243}
1244
1245impl protobuf::AlterUserMappingStmt {
1246    pub fn to_ref(&self) -> NodeRef {
1247        NodeRef::AlterUserMappingStmt(self)
1248    }
1249    pub fn to_mut(&mut self) -> NodeMut {
1250        NodeMut::AlterUserMappingStmt(self)
1251    }
1252}
1253
1254impl protobuf::DropUserMappingStmt {
1255    pub fn to_ref(&self) -> NodeRef {
1256        NodeRef::DropUserMappingStmt(self)
1257    }
1258    pub fn to_mut(&mut self) -> NodeMut {
1259        NodeMut::DropUserMappingStmt(self)
1260    }
1261}
1262
1263impl protobuf::AlterTableSpaceOptionsStmt {
1264    pub fn to_ref(&self) -> NodeRef {
1265        NodeRef::AlterTableSpaceOptionsStmt(self)
1266    }
1267    pub fn to_mut(&mut self) -> NodeMut {
1268        NodeMut::AlterTableSpaceOptionsStmt(self)
1269    }
1270}
1271
1272impl protobuf::AlterTableMoveAllStmt {
1273    pub fn to_ref(&self) -> NodeRef {
1274        NodeRef::AlterTableMoveAllStmt(self)
1275    }
1276    pub fn to_mut(&mut self) -> NodeMut {
1277        NodeMut::AlterTableMoveAllStmt(self)
1278    }
1279}
1280
1281impl protobuf::SecLabelStmt {
1282    pub fn to_ref(&self) -> NodeRef {
1283        NodeRef::SecLabelStmt(self)
1284    }
1285    pub fn to_mut(&mut self) -> NodeMut {
1286        NodeMut::SecLabelStmt(self)
1287    }
1288}
1289
1290impl protobuf::CreateForeignTableStmt {
1291    pub fn to_ref(&self) -> NodeRef {
1292        NodeRef::CreateForeignTableStmt(self)
1293    }
1294    pub fn to_mut(&mut self) -> NodeMut {
1295        NodeMut::CreateForeignTableStmt(self)
1296    }
1297}
1298
1299impl protobuf::ImportForeignSchemaStmt {
1300    pub fn to_ref(&self) -> NodeRef {
1301        NodeRef::ImportForeignSchemaStmt(self)
1302    }
1303    pub fn to_mut(&mut self) -> NodeMut {
1304        NodeMut::ImportForeignSchemaStmt(self)
1305    }
1306}
1307
1308impl protobuf::CreateExtensionStmt {
1309    pub fn to_ref(&self) -> NodeRef {
1310        NodeRef::CreateExtensionStmt(self)
1311    }
1312    pub fn to_mut(&mut self) -> NodeMut {
1313        NodeMut::CreateExtensionStmt(self)
1314    }
1315}
1316
1317impl protobuf::AlterExtensionStmt {
1318    pub fn to_ref(&self) -> NodeRef {
1319        NodeRef::AlterExtensionStmt(self)
1320    }
1321    pub fn to_mut(&mut self) -> NodeMut {
1322        NodeMut::AlterExtensionStmt(self)
1323    }
1324}
1325
1326impl protobuf::AlterExtensionContentsStmt {
1327    pub fn to_ref(&self) -> NodeRef {
1328        NodeRef::AlterExtensionContentsStmt(self)
1329    }
1330    pub fn to_mut(&mut self) -> NodeMut {
1331        NodeMut::AlterExtensionContentsStmt(self)
1332    }
1333}
1334
1335impl protobuf::CreateEventTrigStmt {
1336    pub fn to_ref(&self) -> NodeRef {
1337        NodeRef::CreateEventTrigStmt(self)
1338    }
1339    pub fn to_mut(&mut self) -> NodeMut {
1340        NodeMut::CreateEventTrigStmt(self)
1341    }
1342}
1343
1344impl protobuf::AlterEventTrigStmt {
1345    pub fn to_ref(&self) -> NodeRef {
1346        NodeRef::AlterEventTrigStmt(self)
1347    }
1348    pub fn to_mut(&mut self) -> NodeMut {
1349        NodeMut::AlterEventTrigStmt(self)
1350    }
1351}
1352
1353impl protobuf::RefreshMatViewStmt {
1354    pub fn to_ref(&self) -> NodeRef {
1355        NodeRef::RefreshMatViewStmt(self)
1356    }
1357    pub fn to_mut(&mut self) -> NodeMut {
1358        NodeMut::RefreshMatViewStmt(self)
1359    }
1360}
1361
1362impl protobuf::ReplicaIdentityStmt {
1363    pub fn to_ref(&self) -> NodeRef {
1364        NodeRef::ReplicaIdentityStmt(self)
1365    }
1366    pub fn to_mut(&mut self) -> NodeMut {
1367        NodeMut::ReplicaIdentityStmt(self)
1368    }
1369}
1370
1371impl protobuf::AlterSystemStmt {
1372    pub fn to_ref(&self) -> NodeRef {
1373        NodeRef::AlterSystemStmt(self)
1374    }
1375    pub fn to_mut(&mut self) -> NodeMut {
1376        NodeMut::AlterSystemStmt(self)
1377    }
1378}
1379
1380impl protobuf::CreatePolicyStmt {
1381    pub fn to_ref(&self) -> NodeRef {
1382        NodeRef::CreatePolicyStmt(self)
1383    }
1384    pub fn to_mut(&mut self) -> NodeMut {
1385        NodeMut::CreatePolicyStmt(self)
1386    }
1387}
1388
1389impl protobuf::AlterPolicyStmt {
1390    pub fn to_ref(&self) -> NodeRef {
1391        NodeRef::AlterPolicyStmt(self)
1392    }
1393    pub fn to_mut(&mut self) -> NodeMut {
1394        NodeMut::AlterPolicyStmt(self)
1395    }
1396}
1397
1398impl protobuf::CreateTransformStmt {
1399    pub fn to_ref(&self) -> NodeRef {
1400        NodeRef::CreateTransformStmt(self)
1401    }
1402    pub fn to_mut(&mut self) -> NodeMut {
1403        NodeMut::CreateTransformStmt(self)
1404    }
1405}
1406
1407impl protobuf::CreateAmStmt {
1408    pub fn to_ref(&self) -> NodeRef {
1409        NodeRef::CreateAmStmt(self)
1410    }
1411    pub fn to_mut(&mut self) -> NodeMut {
1412        NodeMut::CreateAmStmt(self)
1413    }
1414}
1415
1416impl protobuf::CreatePublicationStmt {
1417    pub fn to_ref(&self) -> NodeRef {
1418        NodeRef::CreatePublicationStmt(self)
1419    }
1420    pub fn to_mut(&mut self) -> NodeMut {
1421        NodeMut::CreatePublicationStmt(self)
1422    }
1423}
1424
1425impl protobuf::AlterPublicationStmt {
1426    pub fn to_ref(&self) -> NodeRef {
1427        NodeRef::AlterPublicationStmt(self)
1428    }
1429    pub fn to_mut(&mut self) -> NodeMut {
1430        NodeMut::AlterPublicationStmt(self)
1431    }
1432}
1433
1434impl protobuf::CreateSubscriptionStmt {
1435    pub fn to_ref(&self) -> NodeRef {
1436        NodeRef::CreateSubscriptionStmt(self)
1437    }
1438    pub fn to_mut(&mut self) -> NodeMut {
1439        NodeMut::CreateSubscriptionStmt(self)
1440    }
1441}
1442
1443impl protobuf::AlterSubscriptionStmt {
1444    pub fn to_ref(&self) -> NodeRef {
1445        NodeRef::AlterSubscriptionStmt(self)
1446    }
1447    pub fn to_mut(&mut self) -> NodeMut {
1448        NodeMut::AlterSubscriptionStmt(self)
1449    }
1450}
1451
1452impl protobuf::DropSubscriptionStmt {
1453    pub fn to_ref(&self) -> NodeRef {
1454        NodeRef::DropSubscriptionStmt(self)
1455    }
1456    pub fn to_mut(&mut self) -> NodeMut {
1457        NodeMut::DropSubscriptionStmt(self)
1458    }
1459}
1460
1461impl protobuf::CreateStatsStmt {
1462    pub fn to_ref(&self) -> NodeRef {
1463        NodeRef::CreateStatsStmt(self)
1464    }
1465    pub fn to_mut(&mut self) -> NodeMut {
1466        NodeMut::CreateStatsStmt(self)
1467    }
1468}
1469
1470impl protobuf::AlterCollationStmt {
1471    pub fn to_ref(&self) -> NodeRef {
1472        NodeRef::AlterCollationStmt(self)
1473    }
1474    pub fn to_mut(&mut self) -> NodeMut {
1475        NodeMut::AlterCollationStmt(self)
1476    }
1477}
1478
1479impl protobuf::CallStmt {
1480    pub fn to_ref(&self) -> NodeRef {
1481        NodeRef::CallStmt(self)
1482    }
1483    pub fn to_mut(&mut self) -> NodeMut {
1484        NodeMut::CallStmt(self)
1485    }
1486}
1487
1488impl protobuf::AlterStatsStmt {
1489    pub fn to_ref(&self) -> NodeRef {
1490        NodeRef::AlterStatsStmt(self)
1491    }
1492    pub fn to_mut(&mut self) -> NodeMut {
1493        NodeMut::AlterStatsStmt(self)
1494    }
1495}
1496
1497impl protobuf::AExpr {
1498    pub fn to_ref(&self) -> NodeRef {
1499        NodeRef::AExpr(self)
1500    }
1501    pub fn to_mut(&mut self) -> NodeMut {
1502        NodeMut::AExpr(self)
1503    }
1504}
1505
1506impl protobuf::ColumnRef {
1507    pub fn to_ref(&self) -> NodeRef {
1508        NodeRef::ColumnRef(self)
1509    }
1510    pub fn to_mut(&mut self) -> NodeMut {
1511        NodeMut::ColumnRef(self)
1512    }
1513}
1514
1515impl protobuf::ParamRef {
1516    pub fn to_ref(&self) -> NodeRef {
1517        NodeRef::ParamRef(self)
1518    }
1519    pub fn to_mut(&mut self) -> NodeMut {
1520        NodeMut::ParamRef(self)
1521    }
1522}
1523
1524impl protobuf::AConst {
1525    pub fn to_ref(&self) -> NodeRef {
1526        NodeRef::AConst(self)
1527    }
1528    pub fn to_mut(&mut self) -> NodeMut {
1529        NodeMut::AConst(self)
1530    }
1531}
1532
1533impl protobuf::FuncCall {
1534    pub fn to_ref(&self) -> NodeRef {
1535        NodeRef::FuncCall(self)
1536    }
1537    pub fn to_mut(&mut self) -> NodeMut {
1538        NodeMut::FuncCall(self)
1539    }
1540}
1541
1542impl protobuf::AStar {
1543    pub fn to_ref(&self) -> NodeRef {
1544        NodeRef::AStar(self)
1545    }
1546    pub fn to_mut(&mut self) -> NodeMut {
1547        NodeMut::AStar(self)
1548    }
1549}
1550
1551impl protobuf::AIndices {
1552    pub fn to_ref(&self) -> NodeRef {
1553        NodeRef::AIndices(self)
1554    }
1555    pub fn to_mut(&mut self) -> NodeMut {
1556        NodeMut::AIndices(self)
1557    }
1558}
1559
1560impl protobuf::AIndirection {
1561    pub fn to_ref(&self) -> NodeRef {
1562        NodeRef::AIndirection(self)
1563    }
1564    pub fn to_mut(&mut self) -> NodeMut {
1565        NodeMut::AIndirection(self)
1566    }
1567}
1568
1569impl protobuf::AArrayExpr {
1570    pub fn to_ref(&self) -> NodeRef {
1571        NodeRef::AArrayExpr(self)
1572    }
1573    pub fn to_mut(&mut self) -> NodeMut {
1574        NodeMut::AArrayExpr(self)
1575    }
1576}
1577
1578impl protobuf::ResTarget {
1579    pub fn to_ref(&self) -> NodeRef {
1580        NodeRef::ResTarget(self)
1581    }
1582    pub fn to_mut(&mut self) -> NodeMut {
1583        NodeMut::ResTarget(self)
1584    }
1585}
1586
1587impl protobuf::MultiAssignRef {
1588    pub fn to_ref(&self) -> NodeRef {
1589        NodeRef::MultiAssignRef(self)
1590    }
1591    pub fn to_mut(&mut self) -> NodeMut {
1592        NodeMut::MultiAssignRef(self)
1593    }
1594}
1595
1596impl protobuf::TypeCast {
1597    pub fn to_ref(&self) -> NodeRef {
1598        NodeRef::TypeCast(self)
1599    }
1600    pub fn to_mut(&mut self) -> NodeMut {
1601        NodeMut::TypeCast(self)
1602    }
1603}
1604
1605impl protobuf::CollateClause {
1606    pub fn to_ref(&self) -> NodeRef {
1607        NodeRef::CollateClause(self)
1608    }
1609    pub fn to_mut(&mut self) -> NodeMut {
1610        NodeMut::CollateClause(self)
1611    }
1612}
1613
1614impl protobuf::SortBy {
1615    pub fn to_ref(&self) -> NodeRef {
1616        NodeRef::SortBy(self)
1617    }
1618    pub fn to_mut(&mut self) -> NodeMut {
1619        NodeMut::SortBy(self)
1620    }
1621}
1622
1623impl protobuf::WindowDef {
1624    pub fn to_ref(&self) -> NodeRef {
1625        NodeRef::WindowDef(self)
1626    }
1627    pub fn to_mut(&mut self) -> NodeMut {
1628        NodeMut::WindowDef(self)
1629    }
1630}
1631
1632impl protobuf::RangeSubselect {
1633    pub fn to_ref(&self) -> NodeRef {
1634        NodeRef::RangeSubselect(self)
1635    }
1636    pub fn to_mut(&mut self) -> NodeMut {
1637        NodeMut::RangeSubselect(self)
1638    }
1639}
1640
1641impl protobuf::RangeFunction {
1642    pub fn to_ref(&self) -> NodeRef {
1643        NodeRef::RangeFunction(self)
1644    }
1645    pub fn to_mut(&mut self) -> NodeMut {
1646        NodeMut::RangeFunction(self)
1647    }
1648}
1649
1650impl protobuf::RangeTableSample {
1651    pub fn to_ref(&self) -> NodeRef {
1652        NodeRef::RangeTableSample(self)
1653    }
1654    pub fn to_mut(&mut self) -> NodeMut {
1655        NodeMut::RangeTableSample(self)
1656    }
1657}
1658
1659impl protobuf::RangeTableFunc {
1660    pub fn to_ref(&self) -> NodeRef {
1661        NodeRef::RangeTableFunc(self)
1662    }
1663    pub fn to_mut(&mut self) -> NodeMut {
1664        NodeMut::RangeTableFunc(self)
1665    }
1666}
1667
1668impl protobuf::RangeTableFuncCol {
1669    pub fn to_ref(&self) -> NodeRef {
1670        NodeRef::RangeTableFuncCol(self)
1671    }
1672    pub fn to_mut(&mut self) -> NodeMut {
1673        NodeMut::RangeTableFuncCol(self)
1674    }
1675}
1676
1677impl protobuf::TypeName {
1678    pub fn to_ref(&self) -> NodeRef {
1679        NodeRef::TypeName(self)
1680    }
1681    pub fn to_mut(&mut self) -> NodeMut {
1682        NodeMut::TypeName(self)
1683    }
1684}
1685
1686impl protobuf::ColumnDef {
1687    pub fn to_ref(&self) -> NodeRef {
1688        NodeRef::ColumnDef(self)
1689    }
1690    pub fn to_mut(&mut self) -> NodeMut {
1691        NodeMut::ColumnDef(self)
1692    }
1693}
1694
1695impl protobuf::IndexElem {
1696    pub fn to_ref(&self) -> NodeRef {
1697        NodeRef::IndexElem(self)
1698    }
1699    pub fn to_mut(&mut self) -> NodeMut {
1700        NodeMut::IndexElem(self)
1701    }
1702}
1703
1704impl protobuf::Constraint {
1705    pub fn to_ref(&self) -> NodeRef {
1706        NodeRef::Constraint(self)
1707    }
1708    pub fn to_mut(&mut self) -> NodeMut {
1709        NodeMut::Constraint(self)
1710    }
1711}
1712
1713impl protobuf::DefElem {
1714    pub fn to_ref(&self) -> NodeRef {
1715        NodeRef::DefElem(self)
1716    }
1717    pub fn to_mut(&mut self) -> NodeMut {
1718        NodeMut::DefElem(self)
1719    }
1720}
1721
1722impl protobuf::RangeTblEntry {
1723    pub fn to_ref(&self) -> NodeRef {
1724        NodeRef::RangeTblEntry(self)
1725    }
1726    pub fn to_mut(&mut self) -> NodeMut {
1727        NodeMut::RangeTblEntry(self)
1728    }
1729}
1730
1731impl protobuf::RangeTblFunction {
1732    pub fn to_ref(&self) -> NodeRef {
1733        NodeRef::RangeTblFunction(self)
1734    }
1735    pub fn to_mut(&mut self) -> NodeMut {
1736        NodeMut::RangeTblFunction(self)
1737    }
1738}
1739
1740impl protobuf::TableSampleClause {
1741    pub fn to_ref(&self) -> NodeRef {
1742        NodeRef::TableSampleClause(self)
1743    }
1744    pub fn to_mut(&mut self) -> NodeMut {
1745        NodeMut::TableSampleClause(self)
1746    }
1747}
1748
1749impl protobuf::WithCheckOption {
1750    pub fn to_ref(&self) -> NodeRef {
1751        NodeRef::WithCheckOption(self)
1752    }
1753    pub fn to_mut(&mut self) -> NodeMut {
1754        NodeMut::WithCheckOption(self)
1755    }
1756}
1757
1758impl protobuf::SortGroupClause {
1759    pub fn to_ref(&self) -> NodeRef {
1760        NodeRef::SortGroupClause(self)
1761    }
1762    pub fn to_mut(&mut self) -> NodeMut {
1763        NodeMut::SortGroupClause(self)
1764    }
1765}
1766
1767impl protobuf::GroupingSet {
1768    pub fn to_ref(&self) -> NodeRef {
1769        NodeRef::GroupingSet(self)
1770    }
1771    pub fn to_mut(&mut self) -> NodeMut {
1772        NodeMut::GroupingSet(self)
1773    }
1774}
1775
1776impl protobuf::WindowClause {
1777    pub fn to_ref(&self) -> NodeRef {
1778        NodeRef::WindowClause(self)
1779    }
1780    pub fn to_mut(&mut self) -> NodeMut {
1781        NodeMut::WindowClause(self)
1782    }
1783}
1784
1785impl protobuf::ObjectWithArgs {
1786    pub fn to_ref(&self) -> NodeRef {
1787        NodeRef::ObjectWithArgs(self)
1788    }
1789    pub fn to_mut(&mut self) -> NodeMut {
1790        NodeMut::ObjectWithArgs(self)
1791    }
1792}
1793
1794impl protobuf::AccessPriv {
1795    pub fn to_ref(&self) -> NodeRef {
1796        NodeRef::AccessPriv(self)
1797    }
1798    pub fn to_mut(&mut self) -> NodeMut {
1799        NodeMut::AccessPriv(self)
1800    }
1801}
1802
1803impl protobuf::CreateOpClassItem {
1804    pub fn to_ref(&self) -> NodeRef {
1805        NodeRef::CreateOpClassItem(self)
1806    }
1807    pub fn to_mut(&mut self) -> NodeMut {
1808        NodeMut::CreateOpClassItem(self)
1809    }
1810}
1811
1812impl protobuf::TableLikeClause {
1813    pub fn to_ref(&self) -> NodeRef {
1814        NodeRef::TableLikeClause(self)
1815    }
1816    pub fn to_mut(&mut self) -> NodeMut {
1817        NodeMut::TableLikeClause(self)
1818    }
1819}
1820
1821impl protobuf::FunctionParameter {
1822    pub fn to_ref(&self) -> NodeRef {
1823        NodeRef::FunctionParameter(self)
1824    }
1825    pub fn to_mut(&mut self) -> NodeMut {
1826        NodeMut::FunctionParameter(self)
1827    }
1828}
1829
1830impl protobuf::LockingClause {
1831    pub fn to_ref(&self) -> NodeRef {
1832        NodeRef::LockingClause(self)
1833    }
1834    pub fn to_mut(&mut self) -> NodeMut {
1835        NodeMut::LockingClause(self)
1836    }
1837}
1838
1839impl protobuf::RowMarkClause {
1840    pub fn to_ref(&self) -> NodeRef {
1841        NodeRef::RowMarkClause(self)
1842    }
1843    pub fn to_mut(&mut self) -> NodeMut {
1844        NodeMut::RowMarkClause(self)
1845    }
1846}
1847
1848impl protobuf::XmlSerialize {
1849    pub fn to_ref(&self) -> NodeRef {
1850        NodeRef::XmlSerialize(self)
1851    }
1852    pub fn to_mut(&mut self) -> NodeMut {
1853        NodeMut::XmlSerialize(self)
1854    }
1855}
1856
1857impl protobuf::WithClause {
1858    pub fn to_ref(&self) -> NodeRef {
1859        NodeRef::WithClause(self)
1860    }
1861    pub fn to_mut(&mut self) -> NodeMut {
1862        NodeMut::WithClause(self)
1863    }
1864}
1865
1866impl protobuf::InferClause {
1867    pub fn to_ref(&self) -> NodeRef {
1868        NodeRef::InferClause(self)
1869    }
1870    pub fn to_mut(&mut self) -> NodeMut {
1871        NodeMut::InferClause(self)
1872    }
1873}
1874
1875impl protobuf::OnConflictClause {
1876    pub fn to_ref(&self) -> NodeRef {
1877        NodeRef::OnConflictClause(self)
1878    }
1879    pub fn to_mut(&mut self) -> NodeMut {
1880        NodeMut::OnConflictClause(self)
1881    }
1882}
1883
1884impl protobuf::CommonTableExpr {
1885    pub fn to_ref(&self) -> NodeRef {
1886        NodeRef::CommonTableExpr(self)
1887    }
1888    pub fn to_mut(&mut self) -> NodeMut {
1889        NodeMut::CommonTableExpr(self)
1890    }
1891}
1892
1893impl protobuf::RoleSpec {
1894    pub fn to_ref(&self) -> NodeRef {
1895        NodeRef::RoleSpec(self)
1896    }
1897    pub fn to_mut(&mut self) -> NodeMut {
1898        NodeMut::RoleSpec(self)
1899    }
1900}
1901
1902impl protobuf::TriggerTransition {
1903    pub fn to_ref(&self) -> NodeRef {
1904        NodeRef::TriggerTransition(self)
1905    }
1906    pub fn to_mut(&mut self) -> NodeMut {
1907        NodeMut::TriggerTransition(self)
1908    }
1909}
1910
1911impl protobuf::PartitionElem {
1912    pub fn to_ref(&self) -> NodeRef {
1913        NodeRef::PartitionElem(self)
1914    }
1915    pub fn to_mut(&mut self) -> NodeMut {
1916        NodeMut::PartitionElem(self)
1917    }
1918}
1919
1920impl protobuf::PartitionSpec {
1921    pub fn to_ref(&self) -> NodeRef {
1922        NodeRef::PartitionSpec(self)
1923    }
1924    pub fn to_mut(&mut self) -> NodeMut {
1925        NodeMut::PartitionSpec(self)
1926    }
1927}
1928
1929impl protobuf::PartitionBoundSpec {
1930    pub fn to_ref(&self) -> NodeRef {
1931        NodeRef::PartitionBoundSpec(self)
1932    }
1933    pub fn to_mut(&mut self) -> NodeMut {
1934        NodeMut::PartitionBoundSpec(self)
1935    }
1936}
1937
1938impl protobuf::PartitionRangeDatum {
1939    pub fn to_ref(&self) -> NodeRef {
1940        NodeRef::PartitionRangeDatum(self)
1941    }
1942    pub fn to_mut(&mut self) -> NodeMut {
1943        NodeMut::PartitionRangeDatum(self)
1944    }
1945}
1946
1947impl protobuf::PartitionCmd {
1948    pub fn to_ref(&self) -> NodeRef {
1949        NodeRef::PartitionCmd(self)
1950    }
1951    pub fn to_mut(&mut self) -> NodeMut {
1952        NodeMut::PartitionCmd(self)
1953    }
1954}
1955
1956impl protobuf::VacuumRelation {
1957    pub fn to_ref(&self) -> NodeRef {
1958        NodeRef::VacuumRelation(self)
1959    }
1960    pub fn to_mut(&mut self) -> NodeMut {
1961        NodeMut::VacuumRelation(self)
1962    }
1963}
1964
1965impl protobuf::InlineCodeBlock {
1966    pub fn to_ref(&self) -> NodeRef {
1967        NodeRef::InlineCodeBlock(self)
1968    }
1969    pub fn to_mut(&mut self) -> NodeMut {
1970        NodeMut::InlineCodeBlock(self)
1971    }
1972}
1973
1974impl protobuf::CallContext {
1975    pub fn to_ref(&self) -> NodeRef {
1976        NodeRef::CallContext(self)
1977    }
1978    pub fn to_mut(&mut self) -> NodeMut {
1979        NodeMut::CallContext(self)
1980    }
1981}
1982
1983impl protobuf::Integer {
1984    pub fn to_ref(&self) -> NodeRef {
1985        NodeRef::Integer(self)
1986    }
1987    pub fn to_mut(&mut self) -> NodeMut {
1988        NodeMut::Integer(self)
1989    }
1990}
1991
1992impl protobuf::Float {
1993    pub fn to_ref(&self) -> NodeRef {
1994        NodeRef::Float(self)
1995    }
1996    pub fn to_mut(&mut self) -> NodeMut {
1997        NodeMut::Float(self)
1998    }
1999}
2000
2001impl protobuf::String {
2002    pub fn to_ref(&self) -> NodeRef {
2003        NodeRef::String(self)
2004    }
2005    pub fn to_mut(&mut self) -> NodeMut {
2006        NodeMut::String(self)
2007    }
2008}
2009
2010impl protobuf::BitString {
2011    pub fn to_ref(&self) -> NodeRef {
2012        NodeRef::BitString(self)
2013    }
2014    pub fn to_mut(&mut self) -> NodeMut {
2015        NodeMut::BitString(self)
2016    }
2017}
2018
2019impl protobuf::List {
2020    pub fn to_ref(&self) -> NodeRef {
2021        NodeRef::List(self)
2022    }
2023    pub fn to_mut(&mut self) -> NodeMut {
2024        NodeMut::List(self)
2025    }
2026}
2027
2028impl protobuf::IntList {
2029    pub fn to_ref(&self) -> NodeRef {
2030        NodeRef::IntList(self)
2031    }
2032    pub fn to_mut(&mut self) -> NodeMut {
2033        NodeMut::IntList(self)
2034    }
2035}
2036
2037impl protobuf::OidList {
2038    pub fn to_ref(&self) -> NodeRef {
2039        NodeRef::OidList(self)
2040    }
2041    pub fn to_mut(&mut self) -> NodeMut {
2042        NodeMut::OidList(self)
2043    }
2044}