1use crate::SyntaxKind;
2use crate::ast::AstNode;
3use crate::ast::{AstChildren, support};
4use crate::syntax_node::SyntaxNode;
5use crate::syntax_node::SyntaxToken;
6
7#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8pub struct AddColumn {
9 pub(crate) syntax: SyntaxNode,
10}
11impl AddColumn {
12 #[inline]
13 pub fn collate(&self) -> Option<Collate> {
14 support::child(&self.syntax)
15 }
16 #[inline]
17 pub fn constraints(&self) -> AstChildren<Constraint> {
18 support::children(&self.syntax)
19 }
20 #[inline]
21 pub fn if_not_exists(&self) -> Option<IfNotExists> {
22 support::child(&self.syntax)
23 }
24 #[inline]
25 pub fn name(&self) -> Option<Name> {
26 support::child(&self.syntax)
27 }
28 #[inline]
29 pub fn ty(&self) -> Option<Type> {
30 support::child(&self.syntax)
31 }
32 #[inline]
33 pub fn add_token(&self) -> Option<SyntaxToken> {
34 support::token(&self.syntax, SyntaxKind::ADD_KW)
35 }
36 #[inline]
37 pub fn column_token(&self) -> Option<SyntaxToken> {
38 support::token(&self.syntax, SyntaxKind::COLUMN_KW)
39 }
40}
41
42#[derive(Debug, Clone, PartialEq, Eq, Hash)]
43pub struct AddConstraint {
44 pub(crate) syntax: SyntaxNode,
45}
46impl AddConstraint {
47 #[inline]
48 pub fn constraint(&self) -> Option<Constraint> {
49 support::child(&self.syntax)
50 }
51 #[inline]
52 pub fn deferrable_constraint_option(&self) -> Option<DeferrableConstraintOption> {
53 support::child(&self.syntax)
54 }
55 #[inline]
56 pub fn enforced(&self) -> Option<Enforced> {
57 support::child(&self.syntax)
58 }
59 #[inline]
60 pub fn initially_deferred_constraint_option(
61 &self,
62 ) -> Option<InitiallyDeferredConstraintOption> {
63 support::child(&self.syntax)
64 }
65 #[inline]
66 pub fn initially_immediate_constraint_option(
67 &self,
68 ) -> Option<InitiallyImmediateConstraintOption> {
69 support::child(&self.syntax)
70 }
71 #[inline]
72 pub fn no_inherit(&self) -> Option<NoInherit> {
73 support::child(&self.syntax)
74 }
75 #[inline]
76 pub fn not_deferrable_constraint_option(&self) -> Option<NotDeferrableConstraintOption> {
77 support::child(&self.syntax)
78 }
79 #[inline]
80 pub fn not_enforced(&self) -> Option<NotEnforced> {
81 support::child(&self.syntax)
82 }
83 #[inline]
84 pub fn not_valid(&self) -> Option<NotValid> {
85 support::child(&self.syntax)
86 }
87 #[inline]
88 pub fn add_token(&self) -> Option<SyntaxToken> {
89 support::token(&self.syntax, SyntaxKind::ADD_KW)
90 }
91}
92
93#[derive(Debug, Clone, PartialEq, Eq, Hash)]
94pub struct AddGenerated {
95 pub(crate) syntax: SyntaxNode,
96}
97impl AddGenerated {
98 #[inline]
99 pub fn add_token(&self) -> Option<SyntaxToken> {
100 support::token(&self.syntax, SyntaxKind::ADD_KW)
101 }
102}
103
104#[derive(Debug, Clone, PartialEq, Eq, Hash)]
105pub struct Aggregate {
106 pub(crate) syntax: SyntaxNode,
107}
108impl Aggregate {
109 #[inline]
110 pub fn param_list(&self) -> Option<ParamList> {
111 support::child(&self.syntax)
112 }
113 #[inline]
114 pub fn path(&self) -> Option<Path> {
115 support::child(&self.syntax)
116 }
117}
118
119#[derive(Debug, Clone, PartialEq, Eq, Hash)]
120pub struct Alias {
121 pub(crate) syntax: SyntaxNode,
122}
123impl Alias {
124 #[inline]
125 pub fn column_list(&self) -> Option<ColumnList> {
126 support::child(&self.syntax)
127 }
128 #[inline]
129 pub fn name(&self) -> Option<Name> {
130 support::child(&self.syntax)
131 }
132 #[inline]
133 pub fn as_token(&self) -> Option<SyntaxToken> {
134 support::token(&self.syntax, SyntaxKind::AS_KW)
135 }
136}
137
138#[derive(Debug, Clone, PartialEq, Eq, Hash)]
139pub struct AlterAggregate {
140 pub(crate) syntax: SyntaxNode,
141}
142impl AlterAggregate {
143 #[inline]
144 pub fn aggregate(&self) -> Option<Aggregate> {
145 support::child(&self.syntax)
146 }
147 #[inline]
148 pub fn aggregate_token(&self) -> Option<SyntaxToken> {
149 support::token(&self.syntax, SyntaxKind::AGGREGATE_KW)
150 }
151 #[inline]
152 pub fn alter_token(&self) -> Option<SyntaxToken> {
153 support::token(&self.syntax, SyntaxKind::ALTER_KW)
154 }
155}
156
157#[derive(Debug, Clone, PartialEq, Eq, Hash)]
158pub struct AlterCollation {
159 pub(crate) syntax: SyntaxNode,
160}
161impl AlterCollation {
162 #[inline]
163 pub fn name_ref(&self) -> Option<NameRef> {
164 support::child(&self.syntax)
165 }
166 #[inline]
167 pub fn alter_token(&self) -> Option<SyntaxToken> {
168 support::token(&self.syntax, SyntaxKind::ALTER_KW)
169 }
170 #[inline]
171 pub fn collation_token(&self) -> Option<SyntaxToken> {
172 support::token(&self.syntax, SyntaxKind::COLLATION_KW)
173 }
174}
175
176#[derive(Debug, Clone, PartialEq, Eq, Hash)]
177pub struct AlterColumn {
178 pub(crate) syntax: SyntaxNode,
179}
180impl AlterColumn {
181 #[inline]
182 pub fn name_ref(&self) -> Option<NameRef> {
183 support::child(&self.syntax)
184 }
185 #[inline]
186 pub fn option(&self) -> Option<AlterColumnOption> {
187 support::child(&self.syntax)
188 }
189 #[inline]
190 pub fn alter_token(&self) -> Option<SyntaxToken> {
191 support::token(&self.syntax, SyntaxKind::ALTER_KW)
192 }
193 #[inline]
194 pub fn column_token(&self) -> Option<SyntaxToken> {
195 support::token(&self.syntax, SyntaxKind::COLUMN_KW)
196 }
197}
198
199#[derive(Debug, Clone, PartialEq, Eq, Hash)]
200pub struct AlterConstraint {
201 pub(crate) syntax: SyntaxNode,
202}
203impl AlterConstraint {
204 #[inline]
205 pub fn option(&self) -> Option<AlterColumnOption> {
206 support::child(&self.syntax)
207 }
208 #[inline]
209 pub fn alter_token(&self) -> Option<SyntaxToken> {
210 support::token(&self.syntax, SyntaxKind::ALTER_KW)
211 }
212 #[inline]
213 pub fn constraint_token(&self) -> Option<SyntaxToken> {
214 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
215 }
216}
217
218#[derive(Debug, Clone, PartialEq, Eq, Hash)]
219pub struct AlterConversion {
220 pub(crate) syntax: SyntaxNode,
221}
222impl AlterConversion {
223 #[inline]
224 pub fn name_ref(&self) -> Option<NameRef> {
225 support::child(&self.syntax)
226 }
227 #[inline]
228 pub fn alter_token(&self) -> Option<SyntaxToken> {
229 support::token(&self.syntax, SyntaxKind::ALTER_KW)
230 }
231 #[inline]
232 pub fn conversion_token(&self) -> Option<SyntaxToken> {
233 support::token(&self.syntax, SyntaxKind::CONVERSION_KW)
234 }
235}
236
237#[derive(Debug, Clone, PartialEq, Eq, Hash)]
238pub struct AlterDatabase {
239 pub(crate) syntax: SyntaxNode,
240}
241impl AlterDatabase {
242 #[inline]
243 pub fn name_ref(&self) -> Option<NameRef> {
244 support::child(&self.syntax)
245 }
246 #[inline]
247 pub fn alter_token(&self) -> Option<SyntaxToken> {
248 support::token(&self.syntax, SyntaxKind::ALTER_KW)
249 }
250 #[inline]
251 pub fn database_token(&self) -> Option<SyntaxToken> {
252 support::token(&self.syntax, SyntaxKind::DATABASE_KW)
253 }
254}
255
256#[derive(Debug, Clone, PartialEq, Eq, Hash)]
257pub struct AlterDefaultPrivileges {
258 pub(crate) syntax: SyntaxNode,
259}
260impl AlterDefaultPrivileges {
261 #[inline]
262 pub fn alter_token(&self) -> Option<SyntaxToken> {
263 support::token(&self.syntax, SyntaxKind::ALTER_KW)
264 }
265 #[inline]
266 pub fn default_token(&self) -> Option<SyntaxToken> {
267 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
268 }
269 #[inline]
270 pub fn privileges_token(&self) -> Option<SyntaxToken> {
271 support::token(&self.syntax, SyntaxKind::PRIVILEGES_KW)
272 }
273}
274
275#[derive(Debug, Clone, PartialEq, Eq, Hash)]
276pub struct AlterDomain {
277 pub(crate) syntax: SyntaxNode,
278}
279impl AlterDomain {
280 #[inline]
281 pub fn action(&self) -> Option<AlterDomainAction> {
282 support::child(&self.syntax)
283 }
284 #[inline]
285 pub fn path(&self) -> Option<Path> {
286 support::child(&self.syntax)
287 }
288 #[inline]
289 pub fn alter_token(&self) -> Option<SyntaxToken> {
290 support::token(&self.syntax, SyntaxKind::ALTER_KW)
291 }
292 #[inline]
293 pub fn domain_token(&self) -> Option<SyntaxToken> {
294 support::token(&self.syntax, SyntaxKind::DOMAIN_KW)
295 }
296}
297
298#[derive(Debug, Clone, PartialEq, Eq, Hash)]
299pub struct AlterEventTrigger {
300 pub(crate) syntax: SyntaxNode,
301}
302impl AlterEventTrigger {
303 #[inline]
304 pub fn alter_token(&self) -> Option<SyntaxToken> {
305 support::token(&self.syntax, SyntaxKind::ALTER_KW)
306 }
307 #[inline]
308 pub fn event_token(&self) -> Option<SyntaxToken> {
309 support::token(&self.syntax, SyntaxKind::EVENT_KW)
310 }
311 #[inline]
312 pub fn trigger_token(&self) -> Option<SyntaxToken> {
313 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
314 }
315}
316
317#[derive(Debug, Clone, PartialEq, Eq, Hash)]
318pub struct AlterExtension {
319 pub(crate) syntax: SyntaxNode,
320}
321impl AlterExtension {
322 #[inline]
323 pub fn name_ref(&self) -> Option<NameRef> {
324 support::child(&self.syntax)
325 }
326 #[inline]
327 pub fn alter_token(&self) -> Option<SyntaxToken> {
328 support::token(&self.syntax, SyntaxKind::ALTER_KW)
329 }
330 #[inline]
331 pub fn extension_token(&self) -> Option<SyntaxToken> {
332 support::token(&self.syntax, SyntaxKind::EXTENSION_KW)
333 }
334}
335
336#[derive(Debug, Clone, PartialEq, Eq, Hash)]
337pub struct AlterForeignDataWrapper {
338 pub(crate) syntax: SyntaxNode,
339}
340impl AlterForeignDataWrapper {
341 #[inline]
342 pub fn alter_token(&self) -> Option<SyntaxToken> {
343 support::token(&self.syntax, SyntaxKind::ALTER_KW)
344 }
345 #[inline]
346 pub fn data_token(&self) -> Option<SyntaxToken> {
347 support::token(&self.syntax, SyntaxKind::DATA_KW)
348 }
349 #[inline]
350 pub fn foreign_token(&self) -> Option<SyntaxToken> {
351 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
352 }
353 #[inline]
354 pub fn wrapper_token(&self) -> Option<SyntaxToken> {
355 support::token(&self.syntax, SyntaxKind::WRAPPER_KW)
356 }
357}
358
359#[derive(Debug, Clone, PartialEq, Eq, Hash)]
360pub struct AlterForeignTable {
361 pub(crate) syntax: SyntaxNode,
362}
363impl AlterForeignTable {
364 #[inline]
365 pub fn alter_token(&self) -> Option<SyntaxToken> {
366 support::token(&self.syntax, SyntaxKind::ALTER_KW)
367 }
368 #[inline]
369 pub fn foreign_token(&self) -> Option<SyntaxToken> {
370 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
371 }
372 #[inline]
373 pub fn table_token(&self) -> Option<SyntaxToken> {
374 support::token(&self.syntax, SyntaxKind::TABLE_KW)
375 }
376}
377
378#[derive(Debug, Clone, PartialEq, Eq, Hash)]
379pub struct AlterFunction {
380 pub(crate) syntax: SyntaxNode,
381}
382impl AlterFunction {
383 #[inline]
384 pub fn alter_token(&self) -> Option<SyntaxToken> {
385 support::token(&self.syntax, SyntaxKind::ALTER_KW)
386 }
387 #[inline]
388 pub fn function_token(&self) -> Option<SyntaxToken> {
389 support::token(&self.syntax, SyntaxKind::FUNCTION_KW)
390 }
391}
392
393#[derive(Debug, Clone, PartialEq, Eq, Hash)]
394pub struct AlterGroup {
395 pub(crate) syntax: SyntaxNode,
396}
397impl AlterGroup {
398 #[inline]
399 pub fn name_ref(&self) -> Option<NameRef> {
400 support::child(&self.syntax)
401 }
402 #[inline]
403 pub fn alter_token(&self) -> Option<SyntaxToken> {
404 support::token(&self.syntax, SyntaxKind::ALTER_KW)
405 }
406 #[inline]
407 pub fn group_token(&self) -> Option<SyntaxToken> {
408 support::token(&self.syntax, SyntaxKind::GROUP_KW)
409 }
410}
411
412#[derive(Debug, Clone, PartialEq, Eq, Hash)]
413pub struct AlterIndex {
414 pub(crate) syntax: SyntaxNode,
415}
416impl AlterIndex {
417 #[inline]
418 pub fn name_ref(&self) -> Option<NameRef> {
419 support::child(&self.syntax)
420 }
421 #[inline]
422 pub fn alter_token(&self) -> Option<SyntaxToken> {
423 support::token(&self.syntax, SyntaxKind::ALTER_KW)
424 }
425 #[inline]
426 pub fn index_token(&self) -> Option<SyntaxToken> {
427 support::token(&self.syntax, SyntaxKind::INDEX_KW)
428 }
429}
430
431#[derive(Debug, Clone, PartialEq, Eq, Hash)]
432pub struct AlterLanguage {
433 pub(crate) syntax: SyntaxNode,
434}
435impl AlterLanguage {
436 #[inline]
437 pub fn name_ref(&self) -> Option<NameRef> {
438 support::child(&self.syntax)
439 }
440 #[inline]
441 pub fn alter_token(&self) -> Option<SyntaxToken> {
442 support::token(&self.syntax, SyntaxKind::ALTER_KW)
443 }
444 #[inline]
445 pub fn language_token(&self) -> Option<SyntaxToken> {
446 support::token(&self.syntax, SyntaxKind::LANGUAGE_KW)
447 }
448}
449
450#[derive(Debug, Clone, PartialEq, Eq, Hash)]
451pub struct AlterLargeObject {
452 pub(crate) syntax: SyntaxNode,
453}
454impl AlterLargeObject {
455 #[inline]
456 pub fn alter_token(&self) -> Option<SyntaxToken> {
457 support::token(&self.syntax, SyntaxKind::ALTER_KW)
458 }
459 #[inline]
460 pub fn large_token(&self) -> Option<SyntaxToken> {
461 support::token(&self.syntax, SyntaxKind::LARGE_KW)
462 }
463 #[inline]
464 pub fn object_token(&self) -> Option<SyntaxToken> {
465 support::token(&self.syntax, SyntaxKind::OBJECT_KW)
466 }
467}
468
469#[derive(Debug, Clone, PartialEq, Eq, Hash)]
470pub struct AlterMaterializedView {
471 pub(crate) syntax: SyntaxNode,
472}
473impl AlterMaterializedView {
474 #[inline]
475 pub fn name_ref(&self) -> Option<NameRef> {
476 support::child(&self.syntax)
477 }
478 #[inline]
479 pub fn alter_token(&self) -> Option<SyntaxToken> {
480 support::token(&self.syntax, SyntaxKind::ALTER_KW)
481 }
482 #[inline]
483 pub fn materialized_token(&self) -> Option<SyntaxToken> {
484 support::token(&self.syntax, SyntaxKind::MATERIALIZED_KW)
485 }
486 #[inline]
487 pub fn view_token(&self) -> Option<SyntaxToken> {
488 support::token(&self.syntax, SyntaxKind::VIEW_KW)
489 }
490}
491
492#[derive(Debug, Clone, PartialEq, Eq, Hash)]
493pub struct AlterOperator {
494 pub(crate) syntax: SyntaxNode,
495}
496impl AlterOperator {
497 #[inline]
498 pub fn alter_token(&self) -> Option<SyntaxToken> {
499 support::token(&self.syntax, SyntaxKind::ALTER_KW)
500 }
501 #[inline]
502 pub fn operator_token(&self) -> Option<SyntaxToken> {
503 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
504 }
505}
506
507#[derive(Debug, Clone, PartialEq, Eq, Hash)]
508pub struct AlterOperatorClass {
509 pub(crate) syntax: SyntaxNode,
510}
511impl AlterOperatorClass {
512 #[inline]
513 pub fn name_ref(&self) -> Option<NameRef> {
514 support::child(&self.syntax)
515 }
516 #[inline]
517 pub fn alter_token(&self) -> Option<SyntaxToken> {
518 support::token(&self.syntax, SyntaxKind::ALTER_KW)
519 }
520 #[inline]
521 pub fn class_token(&self) -> Option<SyntaxToken> {
522 support::token(&self.syntax, SyntaxKind::CLASS_KW)
523 }
524 #[inline]
525 pub fn operator_token(&self) -> Option<SyntaxToken> {
526 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
527 }
528 #[inline]
529 pub fn using_token(&self) -> Option<SyntaxToken> {
530 support::token(&self.syntax, SyntaxKind::USING_KW)
531 }
532}
533
534#[derive(Debug, Clone, PartialEq, Eq, Hash)]
535pub struct AlterOperatorFamily {
536 pub(crate) syntax: SyntaxNode,
537}
538impl AlterOperatorFamily {
539 #[inline]
540 pub fn name_ref(&self) -> Option<NameRef> {
541 support::child(&self.syntax)
542 }
543 #[inline]
544 pub fn alter_token(&self) -> Option<SyntaxToken> {
545 support::token(&self.syntax, SyntaxKind::ALTER_KW)
546 }
547 #[inline]
548 pub fn family_token(&self) -> Option<SyntaxToken> {
549 support::token(&self.syntax, SyntaxKind::FAMILY_KW)
550 }
551 #[inline]
552 pub fn operator_token(&self) -> Option<SyntaxToken> {
553 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
554 }
555 #[inline]
556 pub fn using_token(&self) -> Option<SyntaxToken> {
557 support::token(&self.syntax, SyntaxKind::USING_KW)
558 }
559}
560
561#[derive(Debug, Clone, PartialEq, Eq, Hash)]
562pub struct AlterOption {
563 pub(crate) syntax: SyntaxNode,
564}
565impl AlterOption {
566 #[inline]
567 pub fn literal(&self) -> Option<Literal> {
568 support::child(&self.syntax)
569 }
570 #[inline]
571 pub fn name_ref(&self) -> Option<NameRef> {
572 support::child(&self.syntax)
573 }
574 #[inline]
575 pub fn add_token(&self) -> Option<SyntaxToken> {
576 support::token(&self.syntax, SyntaxKind::ADD_KW)
577 }
578 #[inline]
579 pub fn drop_token(&self) -> Option<SyntaxToken> {
580 support::token(&self.syntax, SyntaxKind::DROP_KW)
581 }
582 #[inline]
583 pub fn set_token(&self) -> Option<SyntaxToken> {
584 support::token(&self.syntax, SyntaxKind::SET_KW)
585 }
586}
587
588#[derive(Debug, Clone, PartialEq, Eq, Hash)]
589pub struct AlterOptionList {
590 pub(crate) syntax: SyntaxNode,
591}
592impl AlterOptionList {
593 #[inline]
594 pub fn alter_options(&self) -> AstChildren<AlterOption> {
595 support::children(&self.syntax)
596 }
597}
598
599#[derive(Debug, Clone, PartialEq, Eq, Hash)]
600pub struct AlterPolicy {
601 pub(crate) syntax: SyntaxNode,
602}
603impl AlterPolicy {
604 #[inline]
605 pub fn name_ref(&self) -> Option<NameRef> {
606 support::child(&self.syntax)
607 }
608 #[inline]
609 pub fn alter_token(&self) -> Option<SyntaxToken> {
610 support::token(&self.syntax, SyntaxKind::ALTER_KW)
611 }
612 #[inline]
613 pub fn on_token(&self) -> Option<SyntaxToken> {
614 support::token(&self.syntax, SyntaxKind::ON_KW)
615 }
616 #[inline]
617 pub fn policy_token(&self) -> Option<SyntaxToken> {
618 support::token(&self.syntax, SyntaxKind::POLICY_KW)
619 }
620}
621
622#[derive(Debug, Clone, PartialEq, Eq, Hash)]
623pub struct AlterProcedure {
624 pub(crate) syntax: SyntaxNode,
625}
626impl AlterProcedure {
627 #[inline]
628 pub fn alter_token(&self) -> Option<SyntaxToken> {
629 support::token(&self.syntax, SyntaxKind::ALTER_KW)
630 }
631 #[inline]
632 pub fn procedure_token(&self) -> Option<SyntaxToken> {
633 support::token(&self.syntax, SyntaxKind::PROCEDURE_KW)
634 }
635}
636
637#[derive(Debug, Clone, PartialEq, Eq, Hash)]
638pub struct AlterPublication {
639 pub(crate) syntax: SyntaxNode,
640}
641impl AlterPublication {
642 #[inline]
643 pub fn name_ref(&self) -> Option<NameRef> {
644 support::child(&self.syntax)
645 }
646 #[inline]
647 pub fn alter_token(&self) -> Option<SyntaxToken> {
648 support::token(&self.syntax, SyntaxKind::ALTER_KW)
649 }
650 #[inline]
651 pub fn publication_token(&self) -> Option<SyntaxToken> {
652 support::token(&self.syntax, SyntaxKind::PUBLICATION_KW)
653 }
654}
655
656#[derive(Debug, Clone, PartialEq, Eq, Hash)]
657pub struct AlterRole {
658 pub(crate) syntax: SyntaxNode,
659}
660impl AlterRole {
661 #[inline]
662 pub fn alter_token(&self) -> Option<SyntaxToken> {
663 support::token(&self.syntax, SyntaxKind::ALTER_KW)
664 }
665 #[inline]
666 pub fn role_token(&self) -> Option<SyntaxToken> {
667 support::token(&self.syntax, SyntaxKind::ROLE_KW)
668 }
669}
670
671#[derive(Debug, Clone, PartialEq, Eq, Hash)]
672pub struct AlterRoutine {
673 pub(crate) syntax: SyntaxNode,
674}
675impl AlterRoutine {
676 #[inline]
677 pub fn alter_token(&self) -> Option<SyntaxToken> {
678 support::token(&self.syntax, SyntaxKind::ALTER_KW)
679 }
680 #[inline]
681 pub fn routine_token(&self) -> Option<SyntaxToken> {
682 support::token(&self.syntax, SyntaxKind::ROUTINE_KW)
683 }
684}
685
686#[derive(Debug, Clone, PartialEq, Eq, Hash)]
687pub struct AlterRule {
688 pub(crate) syntax: SyntaxNode,
689}
690impl AlterRule {
691 #[inline]
692 pub fn name_ref(&self) -> Option<NameRef> {
693 support::child(&self.syntax)
694 }
695 #[inline]
696 pub fn alter_token(&self) -> Option<SyntaxToken> {
697 support::token(&self.syntax, SyntaxKind::ALTER_KW)
698 }
699 #[inline]
700 pub fn on_token(&self) -> Option<SyntaxToken> {
701 support::token(&self.syntax, SyntaxKind::ON_KW)
702 }
703 #[inline]
704 pub fn rule_token(&self) -> Option<SyntaxToken> {
705 support::token(&self.syntax, SyntaxKind::RULE_KW)
706 }
707}
708
709#[derive(Debug, Clone, PartialEq, Eq, Hash)]
710pub struct AlterSchema {
711 pub(crate) syntax: SyntaxNode,
712}
713impl AlterSchema {
714 #[inline]
715 pub fn name_ref(&self) -> Option<NameRef> {
716 support::child(&self.syntax)
717 }
718 #[inline]
719 pub fn alter_token(&self) -> Option<SyntaxToken> {
720 support::token(&self.syntax, SyntaxKind::ALTER_KW)
721 }
722 #[inline]
723 pub fn rename_token(&self) -> Option<SyntaxToken> {
724 support::token(&self.syntax, SyntaxKind::RENAME_KW)
725 }
726 #[inline]
727 pub fn schema_token(&self) -> Option<SyntaxToken> {
728 support::token(&self.syntax, SyntaxKind::SCHEMA_KW)
729 }
730 #[inline]
731 pub fn to_token(&self) -> Option<SyntaxToken> {
732 support::token(&self.syntax, SyntaxKind::TO_KW)
733 }
734}
735
736#[derive(Debug, Clone, PartialEq, Eq, Hash)]
737pub struct AlterSequence {
738 pub(crate) syntax: SyntaxNode,
739}
740impl AlterSequence {
741 #[inline]
742 pub fn name_ref(&self) -> Option<NameRef> {
743 support::child(&self.syntax)
744 }
745 #[inline]
746 pub fn alter_token(&self) -> Option<SyntaxToken> {
747 support::token(&self.syntax, SyntaxKind::ALTER_KW)
748 }
749 #[inline]
750 pub fn sequence_token(&self) -> Option<SyntaxToken> {
751 support::token(&self.syntax, SyntaxKind::SEQUENCE_KW)
752 }
753}
754
755#[derive(Debug, Clone, PartialEq, Eq, Hash)]
756pub struct AlterServer {
757 pub(crate) syntax: SyntaxNode,
758}
759impl AlterServer {
760 #[inline]
761 pub fn alter_option_list(&self) -> Option<AlterOptionList> {
762 support::child(&self.syntax)
763 }
764 #[inline]
765 pub fn name_ref(&self) -> Option<NameRef> {
766 support::child(&self.syntax)
767 }
768 #[inline]
769 pub fn alter_token(&self) -> Option<SyntaxToken> {
770 support::token(&self.syntax, SyntaxKind::ALTER_KW)
771 }
772 #[inline]
773 pub fn server_token(&self) -> Option<SyntaxToken> {
774 support::token(&self.syntax, SyntaxKind::SERVER_KW)
775 }
776}
777
778#[derive(Debug, Clone, PartialEq, Eq, Hash)]
779pub struct AlterStatistics {
780 pub(crate) syntax: SyntaxNode,
781}
782impl AlterStatistics {
783 #[inline]
784 pub fn name_ref(&self) -> Option<NameRef> {
785 support::child(&self.syntax)
786 }
787 #[inline]
788 pub fn alter_token(&self) -> Option<SyntaxToken> {
789 support::token(&self.syntax, SyntaxKind::ALTER_KW)
790 }
791 #[inline]
792 pub fn statistics_token(&self) -> Option<SyntaxToken> {
793 support::token(&self.syntax, SyntaxKind::STATISTICS_KW)
794 }
795}
796
797#[derive(Debug, Clone, PartialEq, Eq, Hash)]
798pub struct AlterSubscription {
799 pub(crate) syntax: SyntaxNode,
800}
801impl AlterSubscription {
802 #[inline]
803 pub fn name_ref(&self) -> Option<NameRef> {
804 support::child(&self.syntax)
805 }
806 #[inline]
807 pub fn alter_token(&self) -> Option<SyntaxToken> {
808 support::token(&self.syntax, SyntaxKind::ALTER_KW)
809 }
810 #[inline]
811 pub fn subscription_token(&self) -> Option<SyntaxToken> {
812 support::token(&self.syntax, SyntaxKind::SUBSCRIPTION_KW)
813 }
814}
815
816#[derive(Debug, Clone, PartialEq, Eq, Hash)]
817pub struct AlterSystem {
818 pub(crate) syntax: SyntaxNode,
819}
820impl AlterSystem {
821 #[inline]
822 pub fn alter_token(&self) -> Option<SyntaxToken> {
823 support::token(&self.syntax, SyntaxKind::ALTER_KW)
824 }
825 #[inline]
826 pub fn set_token(&self) -> Option<SyntaxToken> {
827 support::token(&self.syntax, SyntaxKind::SET_KW)
828 }
829 #[inline]
830 pub fn system_token(&self) -> Option<SyntaxToken> {
831 support::token(&self.syntax, SyntaxKind::SYSTEM_KW)
832 }
833}
834
835#[derive(Debug, Clone, PartialEq, Eq, Hash)]
836pub struct AlterTable {
837 pub(crate) syntax: SyntaxNode,
838}
839impl AlterTable {
840 #[inline]
841 pub fn actions(&self) -> AstChildren<AlterTableAction> {
842 support::children(&self.syntax)
843 }
844 #[inline]
845 pub fn relation_name(&self) -> Option<RelationName> {
846 support::child(&self.syntax)
847 }
848 #[inline]
849 pub fn alter_token(&self) -> Option<SyntaxToken> {
850 support::token(&self.syntax, SyntaxKind::ALTER_KW)
851 }
852 #[inline]
853 pub fn table_token(&self) -> Option<SyntaxToken> {
854 support::token(&self.syntax, SyntaxKind::TABLE_KW)
855 }
856}
857
858#[derive(Debug, Clone, PartialEq, Eq, Hash)]
859pub struct AlterTablespace {
860 pub(crate) syntax: SyntaxNode,
861}
862impl AlterTablespace {
863 #[inline]
864 pub fn name_ref(&self) -> Option<NameRef> {
865 support::child(&self.syntax)
866 }
867 #[inline]
868 pub fn alter_token(&self) -> Option<SyntaxToken> {
869 support::token(&self.syntax, SyntaxKind::ALTER_KW)
870 }
871 #[inline]
872 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
873 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
874 }
875}
876
877#[derive(Debug, Clone, PartialEq, Eq, Hash)]
878pub struct AlterTextSearchConfiguration {
879 pub(crate) syntax: SyntaxNode,
880}
881impl AlterTextSearchConfiguration {
882 #[inline]
883 pub fn name_ref(&self) -> Option<NameRef> {
884 support::child(&self.syntax)
885 }
886 #[inline]
887 pub fn alter_token(&self) -> Option<SyntaxToken> {
888 support::token(&self.syntax, SyntaxKind::ALTER_KW)
889 }
890 #[inline]
891 pub fn configuration_token(&self) -> Option<SyntaxToken> {
892 support::token(&self.syntax, SyntaxKind::CONFIGURATION_KW)
893 }
894 #[inline]
895 pub fn search_token(&self) -> Option<SyntaxToken> {
896 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
897 }
898 #[inline]
899 pub fn text_token(&self) -> Option<SyntaxToken> {
900 support::token(&self.syntax, SyntaxKind::TEXT_KW)
901 }
902}
903
904#[derive(Debug, Clone, PartialEq, Eq, Hash)]
905pub struct AlterTextSearchDictionary {
906 pub(crate) syntax: SyntaxNode,
907}
908impl AlterTextSearchDictionary {
909 #[inline]
910 pub fn name_ref(&self) -> Option<NameRef> {
911 support::child(&self.syntax)
912 }
913 #[inline]
914 pub fn alter_token(&self) -> Option<SyntaxToken> {
915 support::token(&self.syntax, SyntaxKind::ALTER_KW)
916 }
917 #[inline]
918 pub fn dictionary_token(&self) -> Option<SyntaxToken> {
919 support::token(&self.syntax, SyntaxKind::DICTIONARY_KW)
920 }
921 #[inline]
922 pub fn search_token(&self) -> Option<SyntaxToken> {
923 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
924 }
925 #[inline]
926 pub fn text_token(&self) -> Option<SyntaxToken> {
927 support::token(&self.syntax, SyntaxKind::TEXT_KW)
928 }
929}
930
931#[derive(Debug, Clone, PartialEq, Eq, Hash)]
932pub struct AlterTextSearchParser {
933 pub(crate) syntax: SyntaxNode,
934}
935impl AlterTextSearchParser {
936 #[inline]
937 pub fn name_ref(&self) -> Option<NameRef> {
938 support::child(&self.syntax)
939 }
940 #[inline]
941 pub fn alter_token(&self) -> Option<SyntaxToken> {
942 support::token(&self.syntax, SyntaxKind::ALTER_KW)
943 }
944 #[inline]
945 pub fn parser_token(&self) -> Option<SyntaxToken> {
946 support::token(&self.syntax, SyntaxKind::PARSER_KW)
947 }
948 #[inline]
949 pub fn search_token(&self) -> Option<SyntaxToken> {
950 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
951 }
952 #[inline]
953 pub fn text_token(&self) -> Option<SyntaxToken> {
954 support::token(&self.syntax, SyntaxKind::TEXT_KW)
955 }
956}
957
958#[derive(Debug, Clone, PartialEq, Eq, Hash)]
959pub struct AlterTextSearchTemplate {
960 pub(crate) syntax: SyntaxNode,
961}
962impl AlterTextSearchTemplate {
963 #[inline]
964 pub fn name_ref(&self) -> Option<NameRef> {
965 support::child(&self.syntax)
966 }
967 #[inline]
968 pub fn alter_token(&self) -> Option<SyntaxToken> {
969 support::token(&self.syntax, SyntaxKind::ALTER_KW)
970 }
971 #[inline]
972 pub fn search_token(&self) -> Option<SyntaxToken> {
973 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
974 }
975 #[inline]
976 pub fn template_token(&self) -> Option<SyntaxToken> {
977 support::token(&self.syntax, SyntaxKind::TEMPLATE_KW)
978 }
979 #[inline]
980 pub fn text_token(&self) -> Option<SyntaxToken> {
981 support::token(&self.syntax, SyntaxKind::TEXT_KW)
982 }
983}
984
985#[derive(Debug, Clone, PartialEq, Eq, Hash)]
986pub struct AlterTrigger {
987 pub(crate) syntax: SyntaxNode,
988}
989impl AlterTrigger {
990 #[inline]
991 pub fn name_ref(&self) -> Option<NameRef> {
992 support::child(&self.syntax)
993 }
994 #[inline]
995 pub fn alter_token(&self) -> Option<SyntaxToken> {
996 support::token(&self.syntax, SyntaxKind::ALTER_KW)
997 }
998 #[inline]
999 pub fn on_token(&self) -> Option<SyntaxToken> {
1000 support::token(&self.syntax, SyntaxKind::ON_KW)
1001 }
1002 #[inline]
1003 pub fn trigger_token(&self) -> Option<SyntaxToken> {
1004 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
1005 }
1006}
1007
1008#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1009pub struct AlterType {
1010 pub(crate) syntax: SyntaxNode,
1011}
1012impl AlterType {
1013 #[inline]
1014 pub fn ty(&self) -> Option<Type> {
1015 support::child(&self.syntax)
1016 }
1017 #[inline]
1018 pub fn alter_token(&self) -> Option<SyntaxToken> {
1019 support::token(&self.syntax, SyntaxKind::ALTER_KW)
1020 }
1021 #[inline]
1022 pub fn type_token(&self) -> Option<SyntaxToken> {
1023 support::token(&self.syntax, SyntaxKind::TYPE_KW)
1024 }
1025}
1026
1027#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1028pub struct AlterUser {
1029 pub(crate) syntax: SyntaxNode,
1030}
1031impl AlterUser {
1032 #[inline]
1033 pub fn name_ref(&self) -> Option<NameRef> {
1034 support::child(&self.syntax)
1035 }
1036 #[inline]
1037 pub fn alter_token(&self) -> Option<SyntaxToken> {
1038 support::token(&self.syntax, SyntaxKind::ALTER_KW)
1039 }
1040 #[inline]
1041 pub fn user_token(&self) -> Option<SyntaxToken> {
1042 support::token(&self.syntax, SyntaxKind::USER_KW)
1043 }
1044}
1045
1046#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1047pub struct AlterUserMapping {
1048 pub(crate) syntax: SyntaxNode,
1049}
1050impl AlterUserMapping {
1051 #[inline]
1052 pub fn name_ref(&self) -> Option<NameRef> {
1053 support::child(&self.syntax)
1054 }
1055 #[inline]
1056 pub fn alter_token(&self) -> Option<SyntaxToken> {
1057 support::token(&self.syntax, SyntaxKind::ALTER_KW)
1058 }
1059 #[inline]
1060 pub fn for_token(&self) -> Option<SyntaxToken> {
1061 support::token(&self.syntax, SyntaxKind::FOR_KW)
1062 }
1063 #[inline]
1064 pub fn mapping_token(&self) -> Option<SyntaxToken> {
1065 support::token(&self.syntax, SyntaxKind::MAPPING_KW)
1066 }
1067 #[inline]
1068 pub fn server_token(&self) -> Option<SyntaxToken> {
1069 support::token(&self.syntax, SyntaxKind::SERVER_KW)
1070 }
1071 #[inline]
1072 pub fn user_token(&self) -> Option<SyntaxToken> {
1073 support::token(&self.syntax, SyntaxKind::USER_KW)
1074 }
1075}
1076
1077#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1078pub struct AlterView {
1079 pub(crate) syntax: SyntaxNode,
1080}
1081impl AlterView {
1082 #[inline]
1083 pub fn name_ref(&self) -> Option<NameRef> {
1084 support::child(&self.syntax)
1085 }
1086 #[inline]
1087 pub fn alter_token(&self) -> Option<SyntaxToken> {
1088 support::token(&self.syntax, SyntaxKind::ALTER_KW)
1089 }
1090 #[inline]
1091 pub fn view_token(&self) -> Option<SyntaxToken> {
1092 support::token(&self.syntax, SyntaxKind::VIEW_KW)
1093 }
1094}
1095
1096#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1097pub struct Analyze {
1098 pub(crate) syntax: SyntaxNode,
1099}
1100impl Analyze {
1101 #[inline]
1102 pub fn option_item_list(&self) -> Option<OptionItemList> {
1103 support::child(&self.syntax)
1104 }
1105 #[inline]
1106 pub fn analyze_token(&self) -> Option<SyntaxToken> {
1107 support::token(&self.syntax, SyntaxKind::ANALYZE_KW)
1108 }
1109 #[inline]
1110 pub fn verbose_token(&self) -> Option<SyntaxToken> {
1111 support::token(&self.syntax, SyntaxKind::VERBOSE_KW)
1112 }
1113}
1114
1115#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1116pub struct Arg {
1117 pub(crate) syntax: SyntaxNode,
1118}
1119impl Arg {
1120 #[inline]
1121 pub fn expr(&self) -> Option<Expr> {
1122 support::child(&self.syntax)
1123 }
1124}
1125
1126#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1127pub struct ArgList {
1128 pub(crate) syntax: SyntaxNode,
1129}
1130impl ArgList {
1131 #[inline]
1132 pub fn args(&self) -> AstChildren<Expr> {
1133 support::children(&self.syntax)
1134 }
1135 #[inline]
1136 pub fn expr(&self) -> Option<Expr> {
1137 support::child(&self.syntax)
1138 }
1139 #[inline]
1140 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1141 support::token(&self.syntax, SyntaxKind::L_PAREN)
1142 }
1143 #[inline]
1144 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1145 support::token(&self.syntax, SyntaxKind::R_PAREN)
1146 }
1147 #[inline]
1148 pub fn star_token(&self) -> Option<SyntaxToken> {
1149 support::token(&self.syntax, SyntaxKind::STAR)
1150 }
1151 #[inline]
1152 pub fn all_token(&self) -> Option<SyntaxToken> {
1153 support::token(&self.syntax, SyntaxKind::ALL_KW)
1154 }
1155 #[inline]
1156 pub fn distinct_token(&self) -> Option<SyntaxToken> {
1157 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
1158 }
1159 #[inline]
1160 pub fn variadic_token(&self) -> Option<SyntaxToken> {
1161 support::token(&self.syntax, SyntaxKind::VARIADIC_KW)
1162 }
1163}
1164
1165#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1166pub struct ArrayExpr {
1167 pub(crate) syntax: SyntaxNode,
1168}
1169impl ArrayExpr {
1170 #[inline]
1171 pub fn exprs(&self) -> AstChildren<Expr> {
1172 support::children(&self.syntax)
1173 }
1174 #[inline]
1175 pub fn select(&self) -> Option<Select> {
1176 support::child(&self.syntax)
1177 }
1178 #[inline]
1179 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1180 support::token(&self.syntax, SyntaxKind::L_PAREN)
1181 }
1182 #[inline]
1183 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1184 support::token(&self.syntax, SyntaxKind::R_PAREN)
1185 }
1186 #[inline]
1187 pub fn l_brack_token(&self) -> Option<SyntaxToken> {
1188 support::token(&self.syntax, SyntaxKind::L_BRACK)
1189 }
1190 #[inline]
1191 pub fn r_brack_token(&self) -> Option<SyntaxToken> {
1192 support::token(&self.syntax, SyntaxKind::R_BRACK)
1193 }
1194 #[inline]
1195 pub fn array_token(&self) -> Option<SyntaxToken> {
1196 support::token(&self.syntax, SyntaxKind::ARRAY_KW)
1197 }
1198}
1199
1200#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1201pub struct ArrayType {
1202 pub(crate) syntax: SyntaxNode,
1203}
1204impl ArrayType {
1205 #[inline]
1206 pub fn expr(&self) -> Option<Expr> {
1207 support::child(&self.syntax)
1208 }
1209 #[inline]
1210 pub fn name_ref(&self) -> Option<NameRef> {
1211 support::child(&self.syntax)
1212 }
1213 #[inline]
1214 pub fn ty(&self) -> Option<Type> {
1215 support::child(&self.syntax)
1216 }
1217 #[inline]
1218 pub fn l_brack_token(&self) -> Option<SyntaxToken> {
1219 support::token(&self.syntax, SyntaxKind::L_BRACK)
1220 }
1221 #[inline]
1222 pub fn r_brack_token(&self) -> Option<SyntaxToken> {
1223 support::token(&self.syntax, SyntaxKind::R_BRACK)
1224 }
1225 #[inline]
1226 pub fn array_token(&self) -> Option<SyntaxToken> {
1227 support::token(&self.syntax, SyntaxKind::ARRAY_KW)
1228 }
1229}
1230
1231#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1232pub struct AsFuncOption {
1233 pub(crate) syntax: SyntaxNode,
1234}
1235impl AsFuncOption {
1236 #[inline]
1237 pub fn definition(&self) -> Option<Literal> {
1238 support::child(&self.syntax)
1239 }
1240 #[inline]
1241 pub fn link_symbol(&self) -> Option<Literal> {
1242 support::child(&self.syntax)
1243 }
1244 #[inline]
1245 pub fn obj_file(&self) -> Option<Literal> {
1246 support::child(&self.syntax)
1247 }
1248 #[inline]
1249 pub fn comma_token(&self) -> Option<SyntaxToken> {
1250 support::token(&self.syntax, SyntaxKind::COMMA)
1251 }
1252 #[inline]
1253 pub fn as_token(&self) -> Option<SyntaxToken> {
1254 support::token(&self.syntax, SyntaxKind::AS_KW)
1255 }
1256}
1257
1258#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1259pub struct AsName {
1260 pub(crate) syntax: SyntaxNode,
1261}
1262impl AsName {
1263 #[inline]
1264 pub fn name(&self) -> Option<Name> {
1265 support::child(&self.syntax)
1266 }
1267 #[inline]
1268 pub fn as_token(&self) -> Option<SyntaxToken> {
1269 support::token(&self.syntax, SyntaxKind::AS_KW)
1270 }
1271}
1272
1273#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1274pub struct AtTimeZone {
1275 pub(crate) syntax: SyntaxNode,
1276}
1277impl AtTimeZone {
1278 #[inline]
1279 pub fn at_token(&self) -> Option<SyntaxToken> {
1280 support::token(&self.syntax, SyntaxKind::AT_KW)
1281 }
1282 #[inline]
1283 pub fn time_token(&self) -> Option<SyntaxToken> {
1284 support::token(&self.syntax, SyntaxKind::TIME_KW)
1285 }
1286 #[inline]
1287 pub fn zone_token(&self) -> Option<SyntaxToken> {
1288 support::token(&self.syntax, SyntaxKind::ZONE_KW)
1289 }
1290}
1291
1292#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1293pub struct AttachPartition {
1294 pub(crate) syntax: SyntaxNode,
1295}
1296impl AttachPartition {
1297 #[inline]
1298 pub fn partition_type(&self) -> Option<PartitionType> {
1299 support::child(&self.syntax)
1300 }
1301 #[inline]
1302 pub fn path(&self) -> Option<Path> {
1303 support::child(&self.syntax)
1304 }
1305 #[inline]
1306 pub fn attach_token(&self) -> Option<SyntaxToken> {
1307 support::token(&self.syntax, SyntaxKind::ATTACH_KW)
1308 }
1309 #[inline]
1310 pub fn partition_token(&self) -> Option<SyntaxToken> {
1311 support::token(&self.syntax, SyntaxKind::PARTITION_KW)
1312 }
1313}
1314
1315#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1316pub struct AttributeList {
1317 pub(crate) syntax: SyntaxNode,
1318}
1319impl AttributeList {
1320 #[inline]
1321 pub fn attribute_options(&self) -> AstChildren<AttributeOption> {
1322 support::children(&self.syntax)
1323 }
1324 #[inline]
1325 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1326 support::token(&self.syntax, SyntaxKind::L_PAREN)
1327 }
1328 #[inline]
1329 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1330 support::token(&self.syntax, SyntaxKind::R_PAREN)
1331 }
1332}
1333
1334#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1335pub struct AttributeOption {
1336 pub(crate) syntax: SyntaxNode,
1337}
1338impl AttributeOption {
1339 #[inline]
1340 pub fn eq_token(&self) -> Option<SyntaxToken> {
1341 support::token(&self.syntax, SyntaxKind::EQ)
1342 }
1343}
1344
1345#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1346pub struct Begin {
1347 pub(crate) syntax: SyntaxNode,
1348}
1349impl Begin {
1350 #[inline]
1351 pub fn transaction_mode_list(&self) -> Option<TransactionModeList> {
1352 support::child(&self.syntax)
1353 }
1354 #[inline]
1355 pub fn begin_token(&self) -> Option<SyntaxToken> {
1356 support::token(&self.syntax, SyntaxKind::BEGIN_KW)
1357 }
1358 #[inline]
1359 pub fn start_token(&self) -> Option<SyntaxToken> {
1360 support::token(&self.syntax, SyntaxKind::START_KW)
1361 }
1362 #[inline]
1363 pub fn transaction_token(&self) -> Option<SyntaxToken> {
1364 support::token(&self.syntax, SyntaxKind::TRANSACTION_KW)
1365 }
1366 #[inline]
1367 pub fn work_token(&self) -> Option<SyntaxToken> {
1368 support::token(&self.syntax, SyntaxKind::WORK_KW)
1369 }
1370}
1371
1372#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1373pub struct BeginFuncOption {
1374 pub(crate) syntax: SyntaxNode,
1375}
1376impl BeginFuncOption {
1377 #[inline]
1378 pub fn atomic_token(&self) -> Option<SyntaxToken> {
1379 support::token(&self.syntax, SyntaxKind::ATOMIC_KW)
1380 }
1381 #[inline]
1382 pub fn begin_token(&self) -> Option<SyntaxToken> {
1383 support::token(&self.syntax, SyntaxKind::BEGIN_KW)
1384 }
1385 #[inline]
1386 pub fn end_token(&self) -> Option<SyntaxToken> {
1387 support::token(&self.syntax, SyntaxKind::END_KW)
1388 }
1389}
1390
1391#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1392pub struct BetweenExpr {
1393 pub(crate) syntax: SyntaxNode,
1394}
1395impl BetweenExpr {
1396 #[inline]
1397 pub fn and_token(&self) -> Option<SyntaxToken> {
1398 support::token(&self.syntax, SyntaxKind::AND_KW)
1399 }
1400 #[inline]
1401 pub fn between_token(&self) -> Option<SyntaxToken> {
1402 support::token(&self.syntax, SyntaxKind::BETWEEN_KW)
1403 }
1404}
1405
1406#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1407pub struct BinExpr {
1408 pub(crate) syntax: SyntaxNode,
1409}
1410impl BinExpr {
1411 #[inline]
1412 pub fn op(&self) -> Option<Op> {
1413 support::child(&self.syntax)
1414 }
1415}
1416
1417#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1418pub struct BitType {
1419 pub(crate) syntax: SyntaxNode,
1420}
1421impl BitType {
1422 #[inline]
1423 pub fn arg_list(&self) -> Option<ArgList> {
1424 support::child(&self.syntax)
1425 }
1426 #[inline]
1427 pub fn bit_token(&self) -> Option<SyntaxToken> {
1428 support::token(&self.syntax, SyntaxKind::BIT_KW)
1429 }
1430 #[inline]
1431 pub fn varying_token(&self) -> Option<SyntaxToken> {
1432 support::token(&self.syntax, SyntaxKind::VARYING_KW)
1433 }
1434}
1435
1436#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1437pub struct Call {
1438 pub(crate) syntax: SyntaxNode,
1439}
1440impl Call {
1441 #[inline]
1442 pub fn call_token(&self) -> Option<SyntaxToken> {
1443 support::token(&self.syntax, SyntaxKind::CALL_KW)
1444 }
1445}
1446
1447#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1448pub struct CallExpr {
1449 pub(crate) syntax: SyntaxNode,
1450}
1451impl CallExpr {
1452 #[inline]
1453 pub fn arg_list(&self) -> Option<ArgList> {
1454 support::child(&self.syntax)
1455 }
1456 #[inline]
1457 pub fn expr(&self) -> Option<Expr> {
1458 support::child(&self.syntax)
1459 }
1460 #[inline]
1461 pub fn filter_clause(&self) -> Option<FilterClause> {
1462 support::child(&self.syntax)
1463 }
1464 #[inline]
1465 pub fn over_clause(&self) -> Option<OverClause> {
1466 support::child(&self.syntax)
1467 }
1468 #[inline]
1469 pub fn within_clause(&self) -> Option<WithinClause> {
1470 support::child(&self.syntax)
1471 }
1472}
1473
1474#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1475pub struct Cascade {
1476 pub(crate) syntax: SyntaxNode,
1477}
1478impl Cascade {
1479 #[inline]
1480 pub fn cascade_token(&self) -> Option<SyntaxToken> {
1481 support::token(&self.syntax, SyntaxKind::CASCADE_KW)
1482 }
1483}
1484
1485#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1486pub struct CaseExpr {
1487 pub(crate) syntax: SyntaxNode,
1488}
1489impl CaseExpr {
1490 #[inline]
1491 pub fn else_clause(&self) -> Option<ElseClause> {
1492 support::child(&self.syntax)
1493 }
1494 #[inline]
1495 pub fn expr(&self) -> Option<Expr> {
1496 support::child(&self.syntax)
1497 }
1498 #[inline]
1499 pub fn when_clause_list(&self) -> Option<WhenClauseList> {
1500 support::child(&self.syntax)
1501 }
1502 #[inline]
1503 pub fn case_token(&self) -> Option<SyntaxToken> {
1504 support::token(&self.syntax, SyntaxKind::CASE_KW)
1505 }
1506}
1507
1508#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1509pub struct CastExpr {
1510 pub(crate) syntax: SyntaxNode,
1511}
1512impl CastExpr {
1513 #[inline]
1514 pub fn colon_colon(&self) -> Option<ColonColon> {
1515 support::child(&self.syntax)
1516 }
1517 #[inline]
1518 pub fn expr(&self) -> Option<Expr> {
1519 support::child(&self.syntax)
1520 }
1521 #[inline]
1522 pub fn ty(&self) -> Option<Type> {
1523 support::child(&self.syntax)
1524 }
1525 #[inline]
1526 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1527 support::token(&self.syntax, SyntaxKind::L_PAREN)
1528 }
1529 #[inline]
1530 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1531 support::token(&self.syntax, SyntaxKind::R_PAREN)
1532 }
1533 #[inline]
1534 pub fn as_token(&self) -> Option<SyntaxToken> {
1535 support::token(&self.syntax, SyntaxKind::AS_KW)
1536 }
1537 #[inline]
1538 pub fn cast_token(&self) -> Option<SyntaxToken> {
1539 support::token(&self.syntax, SyntaxKind::CAST_KW)
1540 }
1541}
1542
1543#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1544pub struct CharType {
1545 pub(crate) syntax: SyntaxNode,
1546}
1547impl CharType {
1548 #[inline]
1549 pub fn arg_list(&self) -> Option<ArgList> {
1550 support::child(&self.syntax)
1551 }
1552 #[inline]
1553 pub fn char_token(&self) -> Option<SyntaxToken> {
1554 support::token(&self.syntax, SyntaxKind::CHAR_KW)
1555 }
1556 #[inline]
1557 pub fn character_token(&self) -> Option<SyntaxToken> {
1558 support::token(&self.syntax, SyntaxKind::CHARACTER_KW)
1559 }
1560 #[inline]
1561 pub fn nchar_token(&self) -> Option<SyntaxToken> {
1562 support::token(&self.syntax, SyntaxKind::NCHAR_KW)
1563 }
1564 #[inline]
1565 pub fn varchar_token(&self) -> Option<SyntaxToken> {
1566 support::token(&self.syntax, SyntaxKind::VARCHAR_KW)
1567 }
1568 #[inline]
1569 pub fn varying_token(&self) -> Option<SyntaxToken> {
1570 support::token(&self.syntax, SyntaxKind::VARYING_KW)
1571 }
1572}
1573
1574#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1575pub struct CheckConstraint {
1576 pub(crate) syntax: SyntaxNode,
1577}
1578impl CheckConstraint {
1579 #[inline]
1580 pub fn expr(&self) -> Option<Expr> {
1581 support::child(&self.syntax)
1582 }
1583 #[inline]
1584 pub fn name_ref(&self) -> Option<NameRef> {
1585 support::child(&self.syntax)
1586 }
1587 #[inline]
1588 pub fn no_inherit(&self) -> Option<NoInherit> {
1589 support::child(&self.syntax)
1590 }
1591 #[inline]
1592 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1593 support::token(&self.syntax, SyntaxKind::L_PAREN)
1594 }
1595 #[inline]
1596 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1597 support::token(&self.syntax, SyntaxKind::R_PAREN)
1598 }
1599 #[inline]
1600 pub fn check_token(&self) -> Option<SyntaxToken> {
1601 support::token(&self.syntax, SyntaxKind::CHECK_KW)
1602 }
1603 #[inline]
1604 pub fn constraint_token(&self) -> Option<SyntaxToken> {
1605 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
1606 }
1607}
1608
1609#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1610pub struct Checkpoint {
1611 pub(crate) syntax: SyntaxNode,
1612}
1613impl Checkpoint {
1614 #[inline]
1615 pub fn checkpoint_token(&self) -> Option<SyntaxToken> {
1616 support::token(&self.syntax, SyntaxKind::CHECKPOINT_KW)
1617 }
1618}
1619
1620#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1621pub struct Close {
1622 pub(crate) syntax: SyntaxNode,
1623}
1624impl Close {
1625 #[inline]
1626 pub fn close_token(&self) -> Option<SyntaxToken> {
1627 support::token(&self.syntax, SyntaxKind::CLOSE_KW)
1628 }
1629}
1630
1631#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1632pub struct Cluster {
1633 pub(crate) syntax: SyntaxNode,
1634}
1635impl Cluster {
1636 #[inline]
1637 pub fn cluster_token(&self) -> Option<SyntaxToken> {
1638 support::token(&self.syntax, SyntaxKind::CLUSTER_KW)
1639 }
1640 #[inline]
1641 pub fn verbose_token(&self) -> Option<SyntaxToken> {
1642 support::token(&self.syntax, SyntaxKind::VERBOSE_KW)
1643 }
1644}
1645
1646#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1647pub struct ClusterOn {
1648 pub(crate) syntax: SyntaxNode,
1649}
1650impl ClusterOn {
1651 #[inline]
1652 pub fn cluster_token(&self) -> Option<SyntaxToken> {
1653 support::token(&self.syntax, SyntaxKind::CLUSTER_KW)
1654 }
1655 #[inline]
1656 pub fn on_token(&self) -> Option<SyntaxToken> {
1657 support::token(&self.syntax, SyntaxKind::ON_KW)
1658 }
1659}
1660
1661#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1662pub struct Collate {
1663 pub(crate) syntax: SyntaxNode,
1664}
1665impl Collate {
1666 #[inline]
1667 pub fn path(&self) -> Option<Path> {
1668 support::child(&self.syntax)
1669 }
1670 #[inline]
1671 pub fn collate_token(&self) -> Option<SyntaxToken> {
1672 support::token(&self.syntax, SyntaxKind::COLLATE_KW)
1673 }
1674}
1675
1676#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1677pub struct ColonColon {
1678 pub(crate) syntax: SyntaxNode,
1679}
1680impl ColonColon {
1681 #[inline]
1682 pub fn colon_token(&self) -> Option<SyntaxToken> {
1683 support::token(&self.syntax, SyntaxKind::COLON)
1684 }
1685}
1686
1687#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1688pub struct ColonEq {
1689 pub(crate) syntax: SyntaxNode,
1690}
1691impl ColonEq {
1692 #[inline]
1693 pub fn colon_token(&self) -> Option<SyntaxToken> {
1694 support::token(&self.syntax, SyntaxKind::COLON)
1695 }
1696 #[inline]
1697 pub fn eq_token(&self) -> Option<SyntaxToken> {
1698 support::token(&self.syntax, SyntaxKind::EQ)
1699 }
1700}
1701
1702#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1703pub struct Column {
1704 pub(crate) syntax: SyntaxNode,
1705}
1706impl Column {
1707 #[inline]
1708 pub fn collate(&self) -> Option<Collate> {
1709 support::child(&self.syntax)
1710 }
1711 #[inline]
1712 pub fn compression_method(&self) -> Option<CompressionMethod> {
1713 support::child(&self.syntax)
1714 }
1715 #[inline]
1716 pub fn constraint(&self) -> Option<ColumnConstraint> {
1717 support::child(&self.syntax)
1718 }
1719 #[inline]
1720 pub fn deferrable_constraint_option(&self) -> Option<DeferrableConstraintOption> {
1721 support::child(&self.syntax)
1722 }
1723 #[inline]
1724 pub fn enforced(&self) -> Option<Enforced> {
1725 support::child(&self.syntax)
1726 }
1727 #[inline]
1728 pub fn index_expr(&self) -> Option<IndexExpr> {
1729 support::child(&self.syntax)
1730 }
1731 #[inline]
1732 pub fn initially_deferred_constraint_option(
1733 &self,
1734 ) -> Option<InitiallyDeferredConstraintOption> {
1735 support::child(&self.syntax)
1736 }
1737 #[inline]
1738 pub fn initially_immediate_constraint_option(
1739 &self,
1740 ) -> Option<InitiallyImmediateConstraintOption> {
1741 support::child(&self.syntax)
1742 }
1743 #[inline]
1744 pub fn name(&self) -> Option<Name> {
1745 support::child(&self.syntax)
1746 }
1747 #[inline]
1748 pub fn name_ref(&self) -> Option<NameRef> {
1749 support::child(&self.syntax)
1750 }
1751 #[inline]
1752 pub fn not_deferrable_constraint_option(&self) -> Option<NotDeferrableConstraintOption> {
1753 support::child(&self.syntax)
1754 }
1755 #[inline]
1756 pub fn not_enforced(&self) -> Option<NotEnforced> {
1757 support::child(&self.syntax)
1758 }
1759 #[inline]
1760 pub fn storage(&self) -> Option<Storage> {
1761 support::child(&self.syntax)
1762 }
1763 #[inline]
1764 pub fn ty(&self) -> Option<Type> {
1765 support::child(&self.syntax)
1766 }
1767 #[inline]
1768 pub fn with_options(&self) -> Option<WithOptions> {
1769 support::child(&self.syntax)
1770 }
1771 #[inline]
1772 pub fn period_token(&self) -> Option<SyntaxToken> {
1773 support::token(&self.syntax, SyntaxKind::PERIOD_KW)
1774 }
1775}
1776
1777#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1778pub struct ColumnList {
1779 pub(crate) syntax: SyntaxNode,
1780}
1781impl ColumnList {
1782 #[inline]
1783 pub fn columns(&self) -> AstChildren<Column> {
1784 support::children(&self.syntax)
1785 }
1786 #[inline]
1787 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1788 support::token(&self.syntax, SyntaxKind::L_PAREN)
1789 }
1790 #[inline]
1791 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1792 support::token(&self.syntax, SyntaxKind::R_PAREN)
1793 }
1794}
1795
1796#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1797pub struct CommentOn {
1798 pub(crate) syntax: SyntaxNode,
1799}
1800impl CommentOn {
1801 #[inline]
1802 pub fn comment_token(&self) -> Option<SyntaxToken> {
1803 support::token(&self.syntax, SyntaxKind::COMMENT_KW)
1804 }
1805 #[inline]
1806 pub fn on_token(&self) -> Option<SyntaxToken> {
1807 support::token(&self.syntax, SyntaxKind::ON_KW)
1808 }
1809}
1810
1811#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1812pub struct Commit {
1813 pub(crate) syntax: SyntaxNode,
1814}
1815impl Commit {
1816 #[inline]
1817 pub fn literal(&self) -> Option<Literal> {
1818 support::child(&self.syntax)
1819 }
1820 #[inline]
1821 pub fn and_token(&self) -> Option<SyntaxToken> {
1822 support::token(&self.syntax, SyntaxKind::AND_KW)
1823 }
1824 #[inline]
1825 pub fn chain_token(&self) -> Option<SyntaxToken> {
1826 support::token(&self.syntax, SyntaxKind::CHAIN_KW)
1827 }
1828 #[inline]
1829 pub fn commit_token(&self) -> Option<SyntaxToken> {
1830 support::token(&self.syntax, SyntaxKind::COMMIT_KW)
1831 }
1832 #[inline]
1833 pub fn no_token(&self) -> Option<SyntaxToken> {
1834 support::token(&self.syntax, SyntaxKind::NO_KW)
1835 }
1836 #[inline]
1837 pub fn prepared_token(&self) -> Option<SyntaxToken> {
1838 support::token(&self.syntax, SyntaxKind::PREPARED_KW)
1839 }
1840 #[inline]
1841 pub fn transaction_token(&self) -> Option<SyntaxToken> {
1842 support::token(&self.syntax, SyntaxKind::TRANSACTION_KW)
1843 }
1844 #[inline]
1845 pub fn work_token(&self) -> Option<SyntaxToken> {
1846 support::token(&self.syntax, SyntaxKind::WORK_KW)
1847 }
1848}
1849
1850#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1851pub struct CompoundSelect {
1852 pub(crate) syntax: SyntaxNode,
1853}
1854impl CompoundSelect {
1855 #[inline]
1856 pub fn except_token(&self) -> Option<SyntaxToken> {
1857 support::token(&self.syntax, SyntaxKind::EXCEPT_KW)
1858 }
1859 #[inline]
1860 pub fn intersect_token(&self) -> Option<SyntaxToken> {
1861 support::token(&self.syntax, SyntaxKind::INTERSECT_KW)
1862 }
1863 #[inline]
1864 pub fn union_token(&self) -> Option<SyntaxToken> {
1865 support::token(&self.syntax, SyntaxKind::UNION_KW)
1866 }
1867}
1868
1869#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1870pub struct CompressionMethod {
1871 pub(crate) syntax: SyntaxNode,
1872}
1873impl CompressionMethod {
1874 #[inline]
1875 pub fn compression_token(&self) -> Option<SyntaxToken> {
1876 support::token(&self.syntax, SyntaxKind::COMPRESSION_KW)
1877 }
1878 #[inline]
1879 pub fn default_token(&self) -> Option<SyntaxToken> {
1880 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
1881 }
1882 #[inline]
1883 pub fn ident_token(&self) -> Option<SyntaxToken> {
1884 support::token(&self.syntax, SyntaxKind::IDENT)
1885 }
1886}
1887
1888#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1889pub struct ConflictDoNothing {
1890 pub(crate) syntax: SyntaxNode,
1891}
1892impl ConflictDoNothing {
1893 #[inline]
1894 pub fn do_token(&self) -> Option<SyntaxToken> {
1895 support::token(&self.syntax, SyntaxKind::DO_KW)
1896 }
1897 #[inline]
1898 pub fn nothing_token(&self) -> Option<SyntaxToken> {
1899 support::token(&self.syntax, SyntaxKind::NOTHING_KW)
1900 }
1901}
1902
1903#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1904pub struct ConflictDoUpdateSet {
1905 pub(crate) syntax: SyntaxNode,
1906}
1907impl ConflictDoUpdateSet {
1908 #[inline]
1909 pub fn set_clause(&self) -> Option<SetClause> {
1910 support::child(&self.syntax)
1911 }
1912 #[inline]
1913 pub fn where_clause(&self) -> Option<WhereClause> {
1914 support::child(&self.syntax)
1915 }
1916 #[inline]
1917 pub fn do_token(&self) -> Option<SyntaxToken> {
1918 support::token(&self.syntax, SyntaxKind::DO_KW)
1919 }
1920 #[inline]
1921 pub fn update_token(&self) -> Option<SyntaxToken> {
1922 support::token(&self.syntax, SyntaxKind::UPDATE_KW)
1923 }
1924}
1925
1926#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1927pub struct ConflictIndexItem {
1928 pub(crate) syntax: SyntaxNode,
1929}
1930impl ConflictIndexItem {
1931 #[inline]
1932 pub fn collate(&self) -> Option<Collate> {
1933 support::child(&self.syntax)
1934 }
1935 #[inline]
1936 pub fn expr(&self) -> Option<Expr> {
1937 support::child(&self.syntax)
1938 }
1939 #[inline]
1940 pub fn ident_token(&self) -> Option<SyntaxToken> {
1941 support::token(&self.syntax, SyntaxKind::IDENT)
1942 }
1943}
1944
1945#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1946pub struct ConflictIndexItemList {
1947 pub(crate) syntax: SyntaxNode,
1948}
1949impl ConflictIndexItemList {
1950 #[inline]
1951 pub fn conflict_index_items(&self) -> AstChildren<ConflictIndexItem> {
1952 support::children(&self.syntax)
1953 }
1954 #[inline]
1955 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1956 support::token(&self.syntax, SyntaxKind::L_PAREN)
1957 }
1958 #[inline]
1959 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1960 support::token(&self.syntax, SyntaxKind::R_PAREN)
1961 }
1962}
1963
1964#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1965pub struct ConflictOnConstraint {
1966 pub(crate) syntax: SyntaxNode,
1967}
1968impl ConflictOnConstraint {
1969 #[inline]
1970 pub fn name_ref(&self) -> Option<NameRef> {
1971 support::child(&self.syntax)
1972 }
1973 #[inline]
1974 pub fn constraint_token(&self) -> Option<SyntaxToken> {
1975 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
1976 }
1977 #[inline]
1978 pub fn on_token(&self) -> Option<SyntaxToken> {
1979 support::token(&self.syntax, SyntaxKind::ON_KW)
1980 }
1981}
1982
1983#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1984pub struct ConflictOnIndex {
1985 pub(crate) syntax: SyntaxNode,
1986}
1987impl ConflictOnIndex {
1988 #[inline]
1989 pub fn conflict_index_item_list(&self) -> Option<ConflictIndexItemList> {
1990 support::child(&self.syntax)
1991 }
1992 #[inline]
1993 pub fn where_clause(&self) -> Option<WhereClause> {
1994 support::child(&self.syntax)
1995 }
1996}
1997
1998#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1999pub struct ConstraintExclusion {
2000 pub(crate) syntax: SyntaxNode,
2001}
2002impl ConstraintExclusion {
2003 #[inline]
2004 pub fn with_token(&self) -> Option<SyntaxToken> {
2005 support::token(&self.syntax, SyntaxKind::WITH_KW)
2006 }
2007}
2008
2009#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2010pub struct ConstraintExclusionList {
2011 pub(crate) syntax: SyntaxNode,
2012}
2013impl ConstraintExclusionList {
2014 #[inline]
2015 pub fn exclude_token(&self) -> Option<SyntaxToken> {
2016 support::token(&self.syntax, SyntaxKind::EXCLUDE_KW)
2017 }
2018}
2019
2020#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2021pub struct ConstraintIncludeClause {
2022 pub(crate) syntax: SyntaxNode,
2023}
2024impl ConstraintIncludeClause {
2025 #[inline]
2026 pub fn include_token(&self) -> Option<SyntaxToken> {
2027 support::token(&self.syntax, SyntaxKind::INCLUDE_KW)
2028 }
2029}
2030
2031#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2032pub struct ConstraintIndexMethod {
2033 pub(crate) syntax: SyntaxNode,
2034}
2035impl ConstraintIndexMethod {
2036 #[inline]
2037 pub fn using_token(&self) -> Option<SyntaxToken> {
2038 support::token(&self.syntax, SyntaxKind::USING_KW)
2039 }
2040}
2041
2042#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2043pub struct ConstraintIndexTablespace {
2044 pub(crate) syntax: SyntaxNode,
2045}
2046impl ConstraintIndexTablespace {
2047 #[inline]
2048 pub fn name_ref(&self) -> Option<NameRef> {
2049 support::child(&self.syntax)
2050 }
2051 #[inline]
2052 pub fn index_token(&self) -> Option<SyntaxToken> {
2053 support::token(&self.syntax, SyntaxKind::INDEX_KW)
2054 }
2055 #[inline]
2056 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
2057 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
2058 }
2059 #[inline]
2060 pub fn using_token(&self) -> Option<SyntaxToken> {
2061 support::token(&self.syntax, SyntaxKind::USING_KW)
2062 }
2063}
2064
2065#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2066pub struct ConstraintWhereClause {
2067 pub(crate) syntax: SyntaxNode,
2068}
2069impl ConstraintWhereClause {
2070 #[inline]
2071 pub fn where_token(&self) -> Option<SyntaxToken> {
2072 support::token(&self.syntax, SyntaxKind::WHERE_KW)
2073 }
2074}
2075
2076#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2077pub struct Copy {
2078 pub(crate) syntax: SyntaxNode,
2079}
2080impl Copy {
2081 #[inline]
2082 pub fn copy_token(&self) -> Option<SyntaxToken> {
2083 support::token(&self.syntax, SyntaxKind::COPY_KW)
2084 }
2085}
2086
2087#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2088pub struct CostFuncOption {
2089 pub(crate) syntax: SyntaxNode,
2090}
2091impl CostFuncOption {
2092 #[inline]
2093 pub fn cost_token(&self) -> Option<SyntaxToken> {
2094 support::token(&self.syntax, SyntaxKind::COST_KW)
2095 }
2096}
2097
2098#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2099pub struct CreateAccessMethod {
2100 pub(crate) syntax: SyntaxNode,
2101}
2102impl CreateAccessMethod {
2103 #[inline]
2104 pub fn name_ref(&self) -> Option<NameRef> {
2105 support::child(&self.syntax)
2106 }
2107 #[inline]
2108 pub fn access_token(&self) -> Option<SyntaxToken> {
2109 support::token(&self.syntax, SyntaxKind::ACCESS_KW)
2110 }
2111 #[inline]
2112 pub fn create_token(&self) -> Option<SyntaxToken> {
2113 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2114 }
2115 #[inline]
2116 pub fn method_token(&self) -> Option<SyntaxToken> {
2117 support::token(&self.syntax, SyntaxKind::METHOD_KW)
2118 }
2119 #[inline]
2120 pub fn type_token(&self) -> Option<SyntaxToken> {
2121 support::token(&self.syntax, SyntaxKind::TYPE_KW)
2122 }
2123}
2124
2125#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2126pub struct CreateAggregate {
2127 pub(crate) syntax: SyntaxNode,
2128}
2129impl CreateAggregate {
2130 #[inline]
2131 pub fn or_replace(&self) -> Option<OrReplace> {
2132 support::child(&self.syntax)
2133 }
2134 #[inline]
2135 pub fn param_list(&self) -> Option<ParamList> {
2136 support::child(&self.syntax)
2137 }
2138 #[inline]
2139 pub fn path(&self) -> Option<Path> {
2140 support::child(&self.syntax)
2141 }
2142 #[inline]
2143 pub fn aggregate_token(&self) -> Option<SyntaxToken> {
2144 support::token(&self.syntax, SyntaxKind::AGGREGATE_KW)
2145 }
2146 #[inline]
2147 pub fn create_token(&self) -> Option<SyntaxToken> {
2148 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2149 }
2150}
2151
2152#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2153pub struct CreateCast {
2154 pub(crate) syntax: SyntaxNode,
2155}
2156impl CreateCast {
2157 #[inline]
2158 pub fn ty(&self) -> Option<Type> {
2159 support::child(&self.syntax)
2160 }
2161 #[inline]
2162 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
2163 support::token(&self.syntax, SyntaxKind::L_PAREN)
2164 }
2165 #[inline]
2166 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
2167 support::token(&self.syntax, SyntaxKind::R_PAREN)
2168 }
2169 #[inline]
2170 pub fn as_token(&self) -> Option<SyntaxToken> {
2171 support::token(&self.syntax, SyntaxKind::AS_KW)
2172 }
2173 #[inline]
2174 pub fn cast_token(&self) -> Option<SyntaxToken> {
2175 support::token(&self.syntax, SyntaxKind::CAST_KW)
2176 }
2177 #[inline]
2178 pub fn create_token(&self) -> Option<SyntaxToken> {
2179 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2180 }
2181}
2182
2183#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2184pub struct CreateCollation {
2185 pub(crate) syntax: SyntaxNode,
2186}
2187impl CreateCollation {
2188 #[inline]
2189 pub fn name_ref(&self) -> Option<NameRef> {
2190 support::child(&self.syntax)
2191 }
2192 #[inline]
2193 pub fn collation_token(&self) -> Option<SyntaxToken> {
2194 support::token(&self.syntax, SyntaxKind::COLLATION_KW)
2195 }
2196 #[inline]
2197 pub fn create_token(&self) -> Option<SyntaxToken> {
2198 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2199 }
2200}
2201
2202#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2203pub struct CreateConversion {
2204 pub(crate) syntax: SyntaxNode,
2205}
2206impl CreateConversion {
2207 #[inline]
2208 pub fn name_ref(&self) -> Option<NameRef> {
2209 support::child(&self.syntax)
2210 }
2211 #[inline]
2212 pub fn conversion_token(&self) -> Option<SyntaxToken> {
2213 support::token(&self.syntax, SyntaxKind::CONVERSION_KW)
2214 }
2215 #[inline]
2216 pub fn create_token(&self) -> Option<SyntaxToken> {
2217 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2218 }
2219 #[inline]
2220 pub fn for_token(&self) -> Option<SyntaxToken> {
2221 support::token(&self.syntax, SyntaxKind::FOR_KW)
2222 }
2223}
2224
2225#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2226pub struct CreateDatabase {
2227 pub(crate) syntax: SyntaxNode,
2228}
2229impl CreateDatabase {
2230 #[inline]
2231 pub fn name_ref(&self) -> Option<NameRef> {
2232 support::child(&self.syntax)
2233 }
2234 #[inline]
2235 pub fn create_token(&self) -> Option<SyntaxToken> {
2236 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2237 }
2238 #[inline]
2239 pub fn database_token(&self) -> Option<SyntaxToken> {
2240 support::token(&self.syntax, SyntaxKind::DATABASE_KW)
2241 }
2242}
2243
2244#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2245pub struct CreateDomain {
2246 pub(crate) syntax: SyntaxNode,
2247}
2248impl CreateDomain {
2249 #[inline]
2250 pub fn collate(&self) -> Option<Collate> {
2251 support::child(&self.syntax)
2252 }
2253 #[inline]
2254 pub fn constraints(&self) -> AstChildren<Constraint> {
2255 support::children(&self.syntax)
2256 }
2257 #[inline]
2258 pub fn name_ref(&self) -> Option<NameRef> {
2259 support::child(&self.syntax)
2260 }
2261 #[inline]
2262 pub fn ty(&self) -> Option<Type> {
2263 support::child(&self.syntax)
2264 }
2265 #[inline]
2266 pub fn as_token(&self) -> Option<SyntaxToken> {
2267 support::token(&self.syntax, SyntaxKind::AS_KW)
2268 }
2269 #[inline]
2270 pub fn create_token(&self) -> Option<SyntaxToken> {
2271 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2272 }
2273 #[inline]
2274 pub fn domain_token(&self) -> Option<SyntaxToken> {
2275 support::token(&self.syntax, SyntaxKind::DOMAIN_KW)
2276 }
2277}
2278
2279#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2280pub struct CreateEventTrigger {
2281 pub(crate) syntax: SyntaxNode,
2282}
2283impl CreateEventTrigger {
2284 #[inline]
2285 pub fn name_ref(&self) -> Option<NameRef> {
2286 support::child(&self.syntax)
2287 }
2288 #[inline]
2289 pub fn create_token(&self) -> Option<SyntaxToken> {
2290 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2291 }
2292 #[inline]
2293 pub fn event_token(&self) -> Option<SyntaxToken> {
2294 support::token(&self.syntax, SyntaxKind::EVENT_KW)
2295 }
2296 #[inline]
2297 pub fn on_token(&self) -> Option<SyntaxToken> {
2298 support::token(&self.syntax, SyntaxKind::ON_KW)
2299 }
2300 #[inline]
2301 pub fn trigger_token(&self) -> Option<SyntaxToken> {
2302 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
2303 }
2304}
2305
2306#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2307pub struct CreateExtension {
2308 pub(crate) syntax: SyntaxNode,
2309}
2310impl CreateExtension {
2311 #[inline]
2312 pub fn create_token(&self) -> Option<SyntaxToken> {
2313 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2314 }
2315 #[inline]
2316 pub fn extension_token(&self) -> Option<SyntaxToken> {
2317 support::token(&self.syntax, SyntaxKind::EXTENSION_KW)
2318 }
2319}
2320
2321#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2322pub struct CreateForeignDataWrapper {
2323 pub(crate) syntax: SyntaxNode,
2324}
2325impl CreateForeignDataWrapper {
2326 #[inline]
2327 pub fn name_ref(&self) -> Option<NameRef> {
2328 support::child(&self.syntax)
2329 }
2330 #[inline]
2331 pub fn create_token(&self) -> Option<SyntaxToken> {
2332 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2333 }
2334 #[inline]
2335 pub fn data_token(&self) -> Option<SyntaxToken> {
2336 support::token(&self.syntax, SyntaxKind::DATA_KW)
2337 }
2338 #[inline]
2339 pub fn foreign_token(&self) -> Option<SyntaxToken> {
2340 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
2341 }
2342 #[inline]
2343 pub fn wrapper_token(&self) -> Option<SyntaxToken> {
2344 support::token(&self.syntax, SyntaxKind::WRAPPER_KW)
2345 }
2346}
2347
2348#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2349pub struct CreateForeignTable {
2350 pub(crate) syntax: SyntaxNode,
2351}
2352impl CreateForeignTable {
2353 #[inline]
2354 pub fn if_not_exists(&self) -> Option<IfNotExists> {
2355 support::child(&self.syntax)
2356 }
2357 #[inline]
2358 pub fn create_token(&self) -> Option<SyntaxToken> {
2359 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2360 }
2361 #[inline]
2362 pub fn foreign_token(&self) -> Option<SyntaxToken> {
2363 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
2364 }
2365 #[inline]
2366 pub fn table_token(&self) -> Option<SyntaxToken> {
2367 support::token(&self.syntax, SyntaxKind::TABLE_KW)
2368 }
2369}
2370
2371#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2372pub struct CreateFunction {
2373 pub(crate) syntax: SyntaxNode,
2374}
2375impl CreateFunction {
2376 #[inline]
2377 pub fn option_list(&self) -> Option<FuncOptionList> {
2378 support::child(&self.syntax)
2379 }
2380 #[inline]
2381 pub fn or_replace(&self) -> Option<OrReplace> {
2382 support::child(&self.syntax)
2383 }
2384 #[inline]
2385 pub fn param_list(&self) -> Option<ParamList> {
2386 support::child(&self.syntax)
2387 }
2388 #[inline]
2389 pub fn path(&self) -> Option<Path> {
2390 support::child(&self.syntax)
2391 }
2392 #[inline]
2393 pub fn ret_type(&self) -> Option<RetType> {
2394 support::child(&self.syntax)
2395 }
2396 #[inline]
2397 pub fn create_token(&self) -> Option<SyntaxToken> {
2398 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2399 }
2400 #[inline]
2401 pub fn function_token(&self) -> Option<SyntaxToken> {
2402 support::token(&self.syntax, SyntaxKind::FUNCTION_KW)
2403 }
2404}
2405
2406#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2407pub struct CreateGroup {
2408 pub(crate) syntax: SyntaxNode,
2409}
2410impl CreateGroup {
2411 #[inline]
2412 pub fn name_ref(&self) -> Option<NameRef> {
2413 support::child(&self.syntax)
2414 }
2415 #[inline]
2416 pub fn role_option_list(&self) -> Option<RoleOptionList> {
2417 support::child(&self.syntax)
2418 }
2419 #[inline]
2420 pub fn create_token(&self) -> Option<SyntaxToken> {
2421 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2422 }
2423 #[inline]
2424 pub fn group_token(&self) -> Option<SyntaxToken> {
2425 support::token(&self.syntax, SyntaxKind::GROUP_KW)
2426 }
2427}
2428
2429#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2430pub struct CreateIndex {
2431 pub(crate) syntax: SyntaxNode,
2432}
2433impl CreateIndex {
2434 #[inline]
2435 pub fn constraint_include_clause(&self) -> Option<ConstraintIncludeClause> {
2436 support::child(&self.syntax)
2437 }
2438 #[inline]
2439 pub fn if_not_exists(&self) -> Option<IfNotExists> {
2440 support::child(&self.syntax)
2441 }
2442 #[inline]
2443 pub fn name(&self) -> Option<Name> {
2444 support::child(&self.syntax)
2445 }
2446 #[inline]
2447 pub fn nulls_distinct(&self) -> Option<NullsDistinct> {
2448 support::child(&self.syntax)
2449 }
2450 #[inline]
2451 pub fn nulls_not_distinct(&self) -> Option<NullsNotDistinct> {
2452 support::child(&self.syntax)
2453 }
2454 #[inline]
2455 pub fn partition_item_list(&self) -> Option<PartitionItemList> {
2456 support::child(&self.syntax)
2457 }
2458 #[inline]
2459 pub fn relation_name(&self) -> Option<RelationName> {
2460 support::child(&self.syntax)
2461 }
2462 #[inline]
2463 pub fn tablespace(&self) -> Option<Tablespace> {
2464 support::child(&self.syntax)
2465 }
2466 #[inline]
2467 pub fn using_method(&self) -> Option<UsingMethod> {
2468 support::child(&self.syntax)
2469 }
2470 #[inline]
2471 pub fn where_clause(&self) -> Option<WhereClause> {
2472 support::child(&self.syntax)
2473 }
2474 #[inline]
2475 pub fn with_params(&self) -> Option<WithParams> {
2476 support::child(&self.syntax)
2477 }
2478 #[inline]
2479 pub fn concurrently_token(&self) -> Option<SyntaxToken> {
2480 support::token(&self.syntax, SyntaxKind::CONCURRENTLY_KW)
2481 }
2482 #[inline]
2483 pub fn create_token(&self) -> Option<SyntaxToken> {
2484 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2485 }
2486 #[inline]
2487 pub fn index_token(&self) -> Option<SyntaxToken> {
2488 support::token(&self.syntax, SyntaxKind::INDEX_KW)
2489 }
2490 #[inline]
2491 pub fn on_token(&self) -> Option<SyntaxToken> {
2492 support::token(&self.syntax, SyntaxKind::ON_KW)
2493 }
2494 #[inline]
2495 pub fn unique_token(&self) -> Option<SyntaxToken> {
2496 support::token(&self.syntax, SyntaxKind::UNIQUE_KW)
2497 }
2498}
2499
2500#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2501pub struct CreateLanguage {
2502 pub(crate) syntax: SyntaxNode,
2503}
2504impl CreateLanguage {
2505 #[inline]
2506 pub fn name_ref(&self) -> Option<NameRef> {
2507 support::child(&self.syntax)
2508 }
2509 #[inline]
2510 pub fn create_token(&self) -> Option<SyntaxToken> {
2511 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2512 }
2513 #[inline]
2514 pub fn language_token(&self) -> Option<SyntaxToken> {
2515 support::token(&self.syntax, SyntaxKind::LANGUAGE_KW)
2516 }
2517}
2518
2519#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2520pub struct CreateMaterializedView {
2521 pub(crate) syntax: SyntaxNode,
2522}
2523impl CreateMaterializedView {
2524 #[inline]
2525 pub fn create_token(&self) -> Option<SyntaxToken> {
2526 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2527 }
2528}
2529
2530#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2531pub struct CreateOperator {
2532 pub(crate) syntax: SyntaxNode,
2533}
2534impl CreateOperator {
2535 #[inline]
2536 pub fn create_token(&self) -> Option<SyntaxToken> {
2537 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2538 }
2539 #[inline]
2540 pub fn operator_token(&self) -> Option<SyntaxToken> {
2541 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
2542 }
2543}
2544
2545#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2546pub struct CreateOperatorClass {
2547 pub(crate) syntax: SyntaxNode,
2548}
2549impl CreateOperatorClass {
2550 #[inline]
2551 pub fn name_ref(&self) -> Option<NameRef> {
2552 support::child(&self.syntax)
2553 }
2554 #[inline]
2555 pub fn ty(&self) -> Option<Type> {
2556 support::child(&self.syntax)
2557 }
2558 #[inline]
2559 pub fn class_token(&self) -> Option<SyntaxToken> {
2560 support::token(&self.syntax, SyntaxKind::CLASS_KW)
2561 }
2562 #[inline]
2563 pub fn create_token(&self) -> Option<SyntaxToken> {
2564 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2565 }
2566 #[inline]
2567 pub fn default_token(&self) -> Option<SyntaxToken> {
2568 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
2569 }
2570 #[inline]
2571 pub fn for_token(&self) -> Option<SyntaxToken> {
2572 support::token(&self.syntax, SyntaxKind::FOR_KW)
2573 }
2574 #[inline]
2575 pub fn operator_token(&self) -> Option<SyntaxToken> {
2576 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
2577 }
2578 #[inline]
2579 pub fn type_token(&self) -> Option<SyntaxToken> {
2580 support::token(&self.syntax, SyntaxKind::TYPE_KW)
2581 }
2582 #[inline]
2583 pub fn using_token(&self) -> Option<SyntaxToken> {
2584 support::token(&self.syntax, SyntaxKind::USING_KW)
2585 }
2586}
2587
2588#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2589pub struct CreateOperatorFamily {
2590 pub(crate) syntax: SyntaxNode,
2591}
2592impl CreateOperatorFamily {
2593 #[inline]
2594 pub fn name_ref(&self) -> Option<NameRef> {
2595 support::child(&self.syntax)
2596 }
2597 #[inline]
2598 pub fn create_token(&self) -> Option<SyntaxToken> {
2599 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2600 }
2601 #[inline]
2602 pub fn family_token(&self) -> Option<SyntaxToken> {
2603 support::token(&self.syntax, SyntaxKind::FAMILY_KW)
2604 }
2605 #[inline]
2606 pub fn operator_token(&self) -> Option<SyntaxToken> {
2607 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
2608 }
2609 #[inline]
2610 pub fn using_token(&self) -> Option<SyntaxToken> {
2611 support::token(&self.syntax, SyntaxKind::USING_KW)
2612 }
2613}
2614
2615#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2616pub struct CreatePolicy {
2617 pub(crate) syntax: SyntaxNode,
2618}
2619impl CreatePolicy {
2620 #[inline]
2621 pub fn name_ref(&self) -> Option<NameRef> {
2622 support::child(&self.syntax)
2623 }
2624 #[inline]
2625 pub fn create_token(&self) -> Option<SyntaxToken> {
2626 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2627 }
2628 #[inline]
2629 pub fn on_token(&self) -> Option<SyntaxToken> {
2630 support::token(&self.syntax, SyntaxKind::ON_KW)
2631 }
2632 #[inline]
2633 pub fn policy_token(&self) -> Option<SyntaxToken> {
2634 support::token(&self.syntax, SyntaxKind::POLICY_KW)
2635 }
2636}
2637
2638#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2639pub struct CreateProcedure {
2640 pub(crate) syntax: SyntaxNode,
2641}
2642impl CreateProcedure {
2643 #[inline]
2644 pub fn create_token(&self) -> Option<SyntaxToken> {
2645 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2646 }
2647 #[inline]
2648 pub fn procedure_token(&self) -> Option<SyntaxToken> {
2649 support::token(&self.syntax, SyntaxKind::PROCEDURE_KW)
2650 }
2651}
2652
2653#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2654pub struct CreatePublication {
2655 pub(crate) syntax: SyntaxNode,
2656}
2657impl CreatePublication {
2658 #[inline]
2659 pub fn name_ref(&self) -> Option<NameRef> {
2660 support::child(&self.syntax)
2661 }
2662 #[inline]
2663 pub fn create_token(&self) -> Option<SyntaxToken> {
2664 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2665 }
2666 #[inline]
2667 pub fn publication_token(&self) -> Option<SyntaxToken> {
2668 support::token(&self.syntax, SyntaxKind::PUBLICATION_KW)
2669 }
2670}
2671
2672#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2673pub struct CreateRole {
2674 pub(crate) syntax: SyntaxNode,
2675}
2676impl CreateRole {
2677 #[inline]
2678 pub fn name_ref(&self) -> Option<NameRef> {
2679 support::child(&self.syntax)
2680 }
2681 #[inline]
2682 pub fn create_token(&self) -> Option<SyntaxToken> {
2683 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2684 }
2685 #[inline]
2686 pub fn role_token(&self) -> Option<SyntaxToken> {
2687 support::token(&self.syntax, SyntaxKind::ROLE_KW)
2688 }
2689}
2690
2691#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2692pub struct CreateRule {
2693 pub(crate) syntax: SyntaxNode,
2694}
2695impl CreateRule {
2696 #[inline]
2697 pub fn name_ref(&self) -> Option<NameRef> {
2698 support::child(&self.syntax)
2699 }
2700 #[inline]
2701 pub fn as_token(&self) -> Option<SyntaxToken> {
2702 support::token(&self.syntax, SyntaxKind::AS_KW)
2703 }
2704 #[inline]
2705 pub fn create_token(&self) -> Option<SyntaxToken> {
2706 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2707 }
2708 #[inline]
2709 pub fn on_token(&self) -> Option<SyntaxToken> {
2710 support::token(&self.syntax, SyntaxKind::ON_KW)
2711 }
2712 #[inline]
2713 pub fn rule_token(&self) -> Option<SyntaxToken> {
2714 support::token(&self.syntax, SyntaxKind::RULE_KW)
2715 }
2716}
2717
2718#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2719pub struct CreateSchema {
2720 pub(crate) syntax: SyntaxNode,
2721}
2722impl CreateSchema {
2723 #[inline]
2724 pub fn create_token(&self) -> Option<SyntaxToken> {
2725 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2726 }
2727 #[inline]
2728 pub fn schema_token(&self) -> Option<SyntaxToken> {
2729 support::token(&self.syntax, SyntaxKind::SCHEMA_KW)
2730 }
2731}
2732
2733#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2734pub struct CreateSequence {
2735 pub(crate) syntax: SyntaxNode,
2736}
2737impl CreateSequence {
2738 #[inline]
2739 pub fn name_ref(&self) -> Option<NameRef> {
2740 support::child(&self.syntax)
2741 }
2742 #[inline]
2743 pub fn create_token(&self) -> Option<SyntaxToken> {
2744 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2745 }
2746 #[inline]
2747 pub fn sequence_token(&self) -> Option<SyntaxToken> {
2748 support::token(&self.syntax, SyntaxKind::SEQUENCE_KW)
2749 }
2750}
2751
2752#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2753pub struct CreateServer {
2754 pub(crate) syntax: SyntaxNode,
2755}
2756impl CreateServer {
2757 #[inline]
2758 pub fn name_ref(&self) -> Option<NameRef> {
2759 support::child(&self.syntax)
2760 }
2761 #[inline]
2762 pub fn create_token(&self) -> Option<SyntaxToken> {
2763 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2764 }
2765 #[inline]
2766 pub fn server_token(&self) -> Option<SyntaxToken> {
2767 support::token(&self.syntax, SyntaxKind::SERVER_KW)
2768 }
2769}
2770
2771#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2772pub struct CreateStatistics {
2773 pub(crate) syntax: SyntaxNode,
2774}
2775impl CreateStatistics {
2776 #[inline]
2777 pub fn name_ref(&self) -> Option<NameRef> {
2778 support::child(&self.syntax)
2779 }
2780 #[inline]
2781 pub fn create_token(&self) -> Option<SyntaxToken> {
2782 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2783 }
2784 #[inline]
2785 pub fn statistics_token(&self) -> Option<SyntaxToken> {
2786 support::token(&self.syntax, SyntaxKind::STATISTICS_KW)
2787 }
2788}
2789
2790#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2791pub struct CreateSubscription {
2792 pub(crate) syntax: SyntaxNode,
2793}
2794impl CreateSubscription {
2795 #[inline]
2796 pub fn name_ref(&self) -> Option<NameRef> {
2797 support::child(&self.syntax)
2798 }
2799 #[inline]
2800 pub fn create_token(&self) -> Option<SyntaxToken> {
2801 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2802 }
2803 #[inline]
2804 pub fn subscription_token(&self) -> Option<SyntaxToken> {
2805 support::token(&self.syntax, SyntaxKind::SUBSCRIPTION_KW)
2806 }
2807}
2808
2809#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2810pub struct CreateTable {
2811 pub(crate) syntax: SyntaxNode,
2812}
2813impl CreateTable {
2814 #[inline]
2815 pub fn if_not_exists(&self) -> Option<IfNotExists> {
2816 support::child(&self.syntax)
2817 }
2818 #[inline]
2819 pub fn inherits(&self) -> Option<Inherits> {
2820 support::child(&self.syntax)
2821 }
2822 #[inline]
2823 pub fn of_type(&self) -> Option<OfType> {
2824 support::child(&self.syntax)
2825 }
2826 #[inline]
2827 pub fn on_commit(&self) -> Option<OnCommit> {
2828 support::child(&self.syntax)
2829 }
2830 #[inline]
2831 pub fn partition_by(&self) -> Option<PartitionBy> {
2832 support::child(&self.syntax)
2833 }
2834 #[inline]
2835 pub fn partition_of(&self) -> Option<PartitionOf> {
2836 support::child(&self.syntax)
2837 }
2838 #[inline]
2839 pub fn path(&self) -> Option<Path> {
2840 support::child(&self.syntax)
2841 }
2842 #[inline]
2843 pub fn table_arg_list(&self) -> Option<TableArgList> {
2844 support::child(&self.syntax)
2845 }
2846 #[inline]
2847 pub fn tablespace(&self) -> Option<Tablespace> {
2848 support::child(&self.syntax)
2849 }
2850 #[inline]
2851 pub fn using_method(&self) -> Option<UsingMethod> {
2852 support::child(&self.syntax)
2853 }
2854 #[inline]
2855 pub fn with_params(&self) -> Option<WithParams> {
2856 support::child(&self.syntax)
2857 }
2858 #[inline]
2859 pub fn without_oids(&self) -> Option<WithoutOids> {
2860 support::child(&self.syntax)
2861 }
2862 #[inline]
2863 pub fn create_token(&self) -> Option<SyntaxToken> {
2864 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2865 }
2866 #[inline]
2867 pub fn table_token(&self) -> Option<SyntaxToken> {
2868 support::token(&self.syntax, SyntaxKind::TABLE_KW)
2869 }
2870}
2871
2872#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2873pub struct CreateTableAs {
2874 pub(crate) syntax: SyntaxNode,
2875}
2876impl CreateTableAs {
2877 #[inline]
2878 pub fn if_not_exists(&self) -> Option<IfNotExists> {
2879 support::child(&self.syntax)
2880 }
2881 #[inline]
2882 pub fn on_commit(&self) -> Option<OnCommit> {
2883 support::child(&self.syntax)
2884 }
2885 #[inline]
2886 pub fn path(&self) -> Option<Path> {
2887 support::child(&self.syntax)
2888 }
2889 #[inline]
2890 pub fn stmt(&self) -> Option<Stmt> {
2891 support::child(&self.syntax)
2892 }
2893 #[inline]
2894 pub fn tablespace(&self) -> Option<Tablespace> {
2895 support::child(&self.syntax)
2896 }
2897 #[inline]
2898 pub fn using_method(&self) -> Option<UsingMethod> {
2899 support::child(&self.syntax)
2900 }
2901 #[inline]
2902 pub fn with_data(&self) -> Option<WithData> {
2903 support::child(&self.syntax)
2904 }
2905 #[inline]
2906 pub fn with_no_data(&self) -> Option<WithNoData> {
2907 support::child(&self.syntax)
2908 }
2909 #[inline]
2910 pub fn with_params(&self) -> Option<WithParams> {
2911 support::child(&self.syntax)
2912 }
2913 #[inline]
2914 pub fn as_token(&self) -> Option<SyntaxToken> {
2915 support::token(&self.syntax, SyntaxKind::AS_KW)
2916 }
2917 #[inline]
2918 pub fn create_token(&self) -> Option<SyntaxToken> {
2919 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2920 }
2921 #[inline]
2922 pub fn table_token(&self) -> Option<SyntaxToken> {
2923 support::token(&self.syntax, SyntaxKind::TABLE_KW)
2924 }
2925}
2926
2927#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2928pub struct CreateTablespace {
2929 pub(crate) syntax: SyntaxNode,
2930}
2931impl CreateTablespace {
2932 #[inline]
2933 pub fn name_ref(&self) -> Option<NameRef> {
2934 support::child(&self.syntax)
2935 }
2936 #[inline]
2937 pub fn create_token(&self) -> Option<SyntaxToken> {
2938 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2939 }
2940 #[inline]
2941 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
2942 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
2943 }
2944}
2945
2946#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2947pub struct CreateTextSearchConfiguration {
2948 pub(crate) syntax: SyntaxNode,
2949}
2950impl CreateTextSearchConfiguration {
2951 #[inline]
2952 pub fn attribute_list(&self) -> Option<AttributeList> {
2953 support::child(&self.syntax)
2954 }
2955 #[inline]
2956 pub fn name_ref(&self) -> Option<NameRef> {
2957 support::child(&self.syntax)
2958 }
2959 #[inline]
2960 pub fn configuration_token(&self) -> Option<SyntaxToken> {
2961 support::token(&self.syntax, SyntaxKind::CONFIGURATION_KW)
2962 }
2963 #[inline]
2964 pub fn create_token(&self) -> Option<SyntaxToken> {
2965 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2966 }
2967 #[inline]
2968 pub fn search_token(&self) -> Option<SyntaxToken> {
2969 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
2970 }
2971 #[inline]
2972 pub fn text_token(&self) -> Option<SyntaxToken> {
2973 support::token(&self.syntax, SyntaxKind::TEXT_KW)
2974 }
2975}
2976
2977#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2978pub struct CreateTextSearchDictionary {
2979 pub(crate) syntax: SyntaxNode,
2980}
2981impl CreateTextSearchDictionary {
2982 #[inline]
2983 pub fn name_ref(&self) -> Option<NameRef> {
2984 support::child(&self.syntax)
2985 }
2986 #[inline]
2987 pub fn create_token(&self) -> Option<SyntaxToken> {
2988 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2989 }
2990 #[inline]
2991 pub fn dictionary_token(&self) -> Option<SyntaxToken> {
2992 support::token(&self.syntax, SyntaxKind::DICTIONARY_KW)
2993 }
2994 #[inline]
2995 pub fn search_token(&self) -> Option<SyntaxToken> {
2996 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
2997 }
2998 #[inline]
2999 pub fn text_token(&self) -> Option<SyntaxToken> {
3000 support::token(&self.syntax, SyntaxKind::TEXT_KW)
3001 }
3002}
3003
3004#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3005pub struct CreateTextSearchParser {
3006 pub(crate) syntax: SyntaxNode,
3007}
3008impl CreateTextSearchParser {
3009 #[inline]
3010 pub fn name_ref(&self) -> Option<NameRef> {
3011 support::child(&self.syntax)
3012 }
3013 #[inline]
3014 pub fn create_token(&self) -> Option<SyntaxToken> {
3015 support::token(&self.syntax, SyntaxKind::CREATE_KW)
3016 }
3017 #[inline]
3018 pub fn parser_token(&self) -> Option<SyntaxToken> {
3019 support::token(&self.syntax, SyntaxKind::PARSER_KW)
3020 }
3021 #[inline]
3022 pub fn search_token(&self) -> Option<SyntaxToken> {
3023 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
3024 }
3025 #[inline]
3026 pub fn text_token(&self) -> Option<SyntaxToken> {
3027 support::token(&self.syntax, SyntaxKind::TEXT_KW)
3028 }
3029}
3030
3031#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3032pub struct CreateTextSearchTemplate {
3033 pub(crate) syntax: SyntaxNode,
3034}
3035impl CreateTextSearchTemplate {
3036 #[inline]
3037 pub fn name_ref(&self) -> Option<NameRef> {
3038 support::child(&self.syntax)
3039 }
3040 #[inline]
3041 pub fn create_token(&self) -> Option<SyntaxToken> {
3042 support::token(&self.syntax, SyntaxKind::CREATE_KW)
3043 }
3044 #[inline]
3045 pub fn search_token(&self) -> Option<SyntaxToken> {
3046 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
3047 }
3048 #[inline]
3049 pub fn template_token(&self) -> Option<SyntaxToken> {
3050 support::token(&self.syntax, SyntaxKind::TEMPLATE_KW)
3051 }
3052 #[inline]
3053 pub fn text_token(&self) -> Option<SyntaxToken> {
3054 support::token(&self.syntax, SyntaxKind::TEXT_KW)
3055 }
3056}
3057
3058#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3059pub struct CreateTransform {
3060 pub(crate) syntax: SyntaxNode,
3061}
3062impl CreateTransform {
3063 #[inline]
3064 pub fn name_ref(&self) -> Option<NameRef> {
3065 support::child(&self.syntax)
3066 }
3067 #[inline]
3068 pub fn ty(&self) -> Option<Type> {
3069 support::child(&self.syntax)
3070 }
3071 #[inline]
3072 pub fn create_token(&self) -> Option<SyntaxToken> {
3073 support::token(&self.syntax, SyntaxKind::CREATE_KW)
3074 }
3075 #[inline]
3076 pub fn for_token(&self) -> Option<SyntaxToken> {
3077 support::token(&self.syntax, SyntaxKind::FOR_KW)
3078 }
3079 #[inline]
3080 pub fn language_token(&self) -> Option<SyntaxToken> {
3081 support::token(&self.syntax, SyntaxKind::LANGUAGE_KW)
3082 }
3083 #[inline]
3084 pub fn transform_token(&self) -> Option<SyntaxToken> {
3085 support::token(&self.syntax, SyntaxKind::TRANSFORM_KW)
3086 }
3087}
3088
3089#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3090pub struct CreateTrigger {
3091 pub(crate) syntax: SyntaxNode,
3092}
3093impl CreateTrigger {
3094 #[inline]
3095 pub fn create_token(&self) -> Option<SyntaxToken> {
3096 support::token(&self.syntax, SyntaxKind::CREATE_KW)
3097 }
3098}
3099
3100#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3101pub struct CreateType {
3102 pub(crate) syntax: SyntaxNode,
3103}
3104impl CreateType {
3105 #[inline]
3106 pub fn ty(&self) -> Option<Type> {
3107 support::child(&self.syntax)
3108 }
3109 #[inline]
3110 pub fn variant_list(&self) -> Option<VariantList> {
3111 support::child(&self.syntax)
3112 }
3113 #[inline]
3114 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
3115 support::token(&self.syntax, SyntaxKind::L_PAREN)
3116 }
3117 #[inline]
3118 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
3119 support::token(&self.syntax, SyntaxKind::R_PAREN)
3120 }
3121 #[inline]
3122 pub fn as_token(&self) -> Option<SyntaxToken> {
3123 support::token(&self.syntax, SyntaxKind::AS_KW)
3124 }
3125 #[inline]
3126 pub fn create_token(&self) -> Option<SyntaxToken> {
3127 support::token(&self.syntax, SyntaxKind::CREATE_KW)
3128 }
3129 #[inline]
3130 pub fn enum_token(&self) -> Option<SyntaxToken> {
3131 support::token(&self.syntax, SyntaxKind::ENUM_KW)
3132 }
3133 #[inline]
3134 pub fn range_token(&self) -> Option<SyntaxToken> {
3135 support::token(&self.syntax, SyntaxKind::RANGE_KW)
3136 }
3137 #[inline]
3138 pub fn type_token(&self) -> Option<SyntaxToken> {
3139 support::token(&self.syntax, SyntaxKind::TYPE_KW)
3140 }
3141}
3142
3143#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3144pub struct CreateUser {
3145 pub(crate) syntax: SyntaxNode,
3146}
3147impl CreateUser {
3148 #[inline]
3149 pub fn name_ref(&self) -> Option<NameRef> {
3150 support::child(&self.syntax)
3151 }
3152 #[inline]
3153 pub fn create_token(&self) -> Option<SyntaxToken> {
3154 support::token(&self.syntax, SyntaxKind::CREATE_KW)
3155 }
3156 #[inline]
3157 pub fn user_token(&self) -> Option<SyntaxToken> {
3158 support::token(&self.syntax, SyntaxKind::USER_KW)
3159 }
3160}
3161
3162#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3163pub struct CreateUserMapping {
3164 pub(crate) syntax: SyntaxNode,
3165}
3166impl CreateUserMapping {
3167 #[inline]
3168 pub fn name_ref(&self) -> Option<NameRef> {
3169 support::child(&self.syntax)
3170 }
3171 #[inline]
3172 pub fn create_token(&self) -> Option<SyntaxToken> {
3173 support::token(&self.syntax, SyntaxKind::CREATE_KW)
3174 }
3175 #[inline]
3176 pub fn for_token(&self) -> Option<SyntaxToken> {
3177 support::token(&self.syntax, SyntaxKind::FOR_KW)
3178 }
3179 #[inline]
3180 pub fn mapping_token(&self) -> Option<SyntaxToken> {
3181 support::token(&self.syntax, SyntaxKind::MAPPING_KW)
3182 }
3183 #[inline]
3184 pub fn server_token(&self) -> Option<SyntaxToken> {
3185 support::token(&self.syntax, SyntaxKind::SERVER_KW)
3186 }
3187 #[inline]
3188 pub fn user_token(&self) -> Option<SyntaxToken> {
3189 support::token(&self.syntax, SyntaxKind::USER_KW)
3190 }
3191}
3192
3193#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3194pub struct CreateView {
3195 pub(crate) syntax: SyntaxNode,
3196}
3197impl CreateView {
3198 #[inline]
3199 pub fn name_ref(&self) -> Option<NameRef> {
3200 support::child(&self.syntax)
3201 }
3202 #[inline]
3203 pub fn create_token(&self) -> Option<SyntaxToken> {
3204 support::token(&self.syntax, SyntaxKind::CREATE_KW)
3205 }
3206 #[inline]
3207 pub fn view_token(&self) -> Option<SyntaxToken> {
3208 support::token(&self.syntax, SyntaxKind::VIEW_KW)
3209 }
3210}
3211
3212#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3213pub struct CustomOp {
3214 pub(crate) syntax: SyntaxNode,
3215}
3216impl CustomOp {
3217 #[inline]
3218 pub fn bang_token(&self) -> Option<SyntaxToken> {
3219 support::token(&self.syntax, SyntaxKind::BANG)
3220 }
3221 #[inline]
3222 pub fn pound_token(&self) -> Option<SyntaxToken> {
3223 support::token(&self.syntax, SyntaxKind::POUND)
3224 }
3225 #[inline]
3226 pub fn percent_token(&self) -> Option<SyntaxToken> {
3227 support::token(&self.syntax, SyntaxKind::PERCENT)
3228 }
3229 #[inline]
3230 pub fn amp_token(&self) -> Option<SyntaxToken> {
3231 support::token(&self.syntax, SyntaxKind::AMP)
3232 }
3233 #[inline]
3234 pub fn star_token(&self) -> Option<SyntaxToken> {
3235 support::token(&self.syntax, SyntaxKind::STAR)
3236 }
3237 #[inline]
3238 pub fn plus_token(&self) -> Option<SyntaxToken> {
3239 support::token(&self.syntax, SyntaxKind::PLUS)
3240 }
3241 #[inline]
3242 pub fn minus_token(&self) -> Option<SyntaxToken> {
3243 support::token(&self.syntax, SyntaxKind::MINUS)
3244 }
3245 #[inline]
3246 pub fn slash_token(&self) -> Option<SyntaxToken> {
3247 support::token(&self.syntax, SyntaxKind::SLASH)
3248 }
3249 #[inline]
3250 pub fn l_angle_token(&self) -> Option<SyntaxToken> {
3251 support::token(&self.syntax, SyntaxKind::L_ANGLE)
3252 }
3253 #[inline]
3254 pub fn eq_token(&self) -> Option<SyntaxToken> {
3255 support::token(&self.syntax, SyntaxKind::EQ)
3256 }
3257 #[inline]
3258 pub fn r_angle_token(&self) -> Option<SyntaxToken> {
3259 support::token(&self.syntax, SyntaxKind::R_ANGLE)
3260 }
3261 #[inline]
3262 pub fn question_token(&self) -> Option<SyntaxToken> {
3263 support::token(&self.syntax, SyntaxKind::QUESTION)
3264 }
3265 #[inline]
3266 pub fn at_token(&self) -> Option<SyntaxToken> {
3267 support::token(&self.syntax, SyntaxKind::AT)
3268 }
3269 #[inline]
3270 pub fn caret_token(&self) -> Option<SyntaxToken> {
3271 support::token(&self.syntax, SyntaxKind::CARET)
3272 }
3273 #[inline]
3274 pub fn backtick_token(&self) -> Option<SyntaxToken> {
3275 support::token(&self.syntax, SyntaxKind::BACKTICK)
3276 }
3277 #[inline]
3278 pub fn pipe_token(&self) -> Option<SyntaxToken> {
3279 support::token(&self.syntax, SyntaxKind::PIPE)
3280 }
3281 #[inline]
3282 pub fn tilde_token(&self) -> Option<SyntaxToken> {
3283 support::token(&self.syntax, SyntaxKind::TILDE)
3284 }
3285}
3286
3287#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3288pub struct Deallocate {
3289 pub(crate) syntax: SyntaxNode,
3290}
3291impl Deallocate {
3292 #[inline]
3293 pub fn name_ref(&self) -> Option<NameRef> {
3294 support::child(&self.syntax)
3295 }
3296 #[inline]
3297 pub fn all_token(&self) -> Option<SyntaxToken> {
3298 support::token(&self.syntax, SyntaxKind::ALL_KW)
3299 }
3300 #[inline]
3301 pub fn deallocate_token(&self) -> Option<SyntaxToken> {
3302 support::token(&self.syntax, SyntaxKind::DEALLOCATE_KW)
3303 }
3304 #[inline]
3305 pub fn prepare_token(&self) -> Option<SyntaxToken> {
3306 support::token(&self.syntax, SyntaxKind::PREPARE_KW)
3307 }
3308}
3309
3310#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3311pub struct Declare {
3312 pub(crate) syntax: SyntaxNode,
3313}
3314impl Declare {
3315 #[inline]
3316 pub fn declare_token(&self) -> Option<SyntaxToken> {
3317 support::token(&self.syntax, SyntaxKind::DECLARE_KW)
3318 }
3319}
3320
3321#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3322pub struct DefaultConstraint {
3323 pub(crate) syntax: SyntaxNode,
3324}
3325impl DefaultConstraint {
3326 #[inline]
3327 pub fn expr(&self) -> Option<Expr> {
3328 support::child(&self.syntax)
3329 }
3330 #[inline]
3331 pub fn name_ref(&self) -> Option<NameRef> {
3332 support::child(&self.syntax)
3333 }
3334 #[inline]
3335 pub fn constraint_token(&self) -> Option<SyntaxToken> {
3336 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
3337 }
3338 #[inline]
3339 pub fn default_token(&self) -> Option<SyntaxToken> {
3340 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
3341 }
3342}
3343
3344#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3345pub struct Deferrable {
3346 pub(crate) syntax: SyntaxNode,
3347}
3348impl Deferrable {
3349 #[inline]
3350 pub fn deferrable_token(&self) -> Option<SyntaxToken> {
3351 support::token(&self.syntax, SyntaxKind::DEFERRABLE_KW)
3352 }
3353}
3354
3355#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3356pub struct DeferrableConstraintOption {
3357 pub(crate) syntax: SyntaxNode,
3358}
3359impl DeferrableConstraintOption {
3360 #[inline]
3361 pub fn deferrable_token(&self) -> Option<SyntaxToken> {
3362 support::token(&self.syntax, SyntaxKind::DEFERRABLE_KW)
3363 }
3364}
3365
3366#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3367pub struct Delete {
3368 pub(crate) syntax: SyntaxNode,
3369}
3370impl Delete {
3371 #[inline]
3372 pub fn alias(&self) -> Option<Alias> {
3373 support::child(&self.syntax)
3374 }
3375 #[inline]
3376 pub fn relation_name(&self) -> Option<RelationName> {
3377 support::child(&self.syntax)
3378 }
3379 #[inline]
3380 pub fn returning_clause(&self) -> Option<ReturningClause> {
3381 support::child(&self.syntax)
3382 }
3383 #[inline]
3384 pub fn using_clause(&self) -> Option<UsingClause> {
3385 support::child(&self.syntax)
3386 }
3387 #[inline]
3388 pub fn where_clause(&self) -> Option<WhereClause> {
3389 support::child(&self.syntax)
3390 }
3391 #[inline]
3392 pub fn where_current_of(&self) -> Option<WhereCurrentOf> {
3393 support::child(&self.syntax)
3394 }
3395 #[inline]
3396 pub fn delete_token(&self) -> Option<SyntaxToken> {
3397 support::token(&self.syntax, SyntaxKind::DELETE_KW)
3398 }
3399 #[inline]
3400 pub fn from_token(&self) -> Option<SyntaxToken> {
3401 support::token(&self.syntax, SyntaxKind::FROM_KW)
3402 }
3403}
3404
3405#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3406pub struct DeleteRows {
3407 pub(crate) syntax: SyntaxNode,
3408}
3409impl DeleteRows {
3410 #[inline]
3411 pub fn delete_token(&self) -> Option<SyntaxToken> {
3412 support::token(&self.syntax, SyntaxKind::DELETE_KW)
3413 }
3414 #[inline]
3415 pub fn rows_token(&self) -> Option<SyntaxToken> {
3416 support::token(&self.syntax, SyntaxKind::ROWS_KW)
3417 }
3418}
3419
3420#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3421pub struct DetachPartition {
3422 pub(crate) syntax: SyntaxNode,
3423}
3424impl DetachPartition {
3425 #[inline]
3426 pub fn detach_token(&self) -> Option<SyntaxToken> {
3427 support::token(&self.syntax, SyntaxKind::DETACH_KW)
3428 }
3429 #[inline]
3430 pub fn partition_token(&self) -> Option<SyntaxToken> {
3431 support::token(&self.syntax, SyntaxKind::PARTITION_KW)
3432 }
3433}
3434
3435#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3436pub struct DisableRls {
3437 pub(crate) syntax: SyntaxNode,
3438}
3439impl DisableRls {
3440 #[inline]
3441 pub fn disable_token(&self) -> Option<SyntaxToken> {
3442 support::token(&self.syntax, SyntaxKind::DISABLE_KW)
3443 }
3444 #[inline]
3445 pub fn level_token(&self) -> Option<SyntaxToken> {
3446 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
3447 }
3448 #[inline]
3449 pub fn row_token(&self) -> Option<SyntaxToken> {
3450 support::token(&self.syntax, SyntaxKind::ROW_KW)
3451 }
3452 #[inline]
3453 pub fn security_token(&self) -> Option<SyntaxToken> {
3454 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
3455 }
3456}
3457
3458#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3459pub struct DisableRule {
3460 pub(crate) syntax: SyntaxNode,
3461}
3462impl DisableRule {
3463 #[inline]
3464 pub fn disable_token(&self) -> Option<SyntaxToken> {
3465 support::token(&self.syntax, SyntaxKind::DISABLE_KW)
3466 }
3467 #[inline]
3468 pub fn rule_token(&self) -> Option<SyntaxToken> {
3469 support::token(&self.syntax, SyntaxKind::RULE_KW)
3470 }
3471}
3472
3473#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3474pub struct DisableTrigger {
3475 pub(crate) syntax: SyntaxNode,
3476}
3477impl DisableTrigger {
3478 #[inline]
3479 pub fn disable_token(&self) -> Option<SyntaxToken> {
3480 support::token(&self.syntax, SyntaxKind::DISABLE_KW)
3481 }
3482 #[inline]
3483 pub fn trigger_token(&self) -> Option<SyntaxToken> {
3484 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
3485 }
3486}
3487
3488#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3489pub struct Discard {
3490 pub(crate) syntax: SyntaxNode,
3491}
3492impl Discard {
3493 #[inline]
3494 pub fn all_token(&self) -> Option<SyntaxToken> {
3495 support::token(&self.syntax, SyntaxKind::ALL_KW)
3496 }
3497 #[inline]
3498 pub fn discard_token(&self) -> Option<SyntaxToken> {
3499 support::token(&self.syntax, SyntaxKind::DISCARD_KW)
3500 }
3501 #[inline]
3502 pub fn plans_token(&self) -> Option<SyntaxToken> {
3503 support::token(&self.syntax, SyntaxKind::PLANS_KW)
3504 }
3505 #[inline]
3506 pub fn sequences_token(&self) -> Option<SyntaxToken> {
3507 support::token(&self.syntax, SyntaxKind::SEQUENCES_KW)
3508 }
3509 #[inline]
3510 pub fn temp_token(&self) -> Option<SyntaxToken> {
3511 support::token(&self.syntax, SyntaxKind::TEMP_KW)
3512 }
3513 #[inline]
3514 pub fn temporary_token(&self) -> Option<SyntaxToken> {
3515 support::token(&self.syntax, SyntaxKind::TEMPORARY_KW)
3516 }
3517}
3518
3519#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3520pub struct DistinctClause {
3521 pub(crate) syntax: SyntaxNode,
3522}
3523impl DistinctClause {
3524 #[inline]
3525 pub fn exprs(&self) -> AstChildren<Expr> {
3526 support::children(&self.syntax)
3527 }
3528 #[inline]
3529 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
3530 support::token(&self.syntax, SyntaxKind::L_PAREN)
3531 }
3532 #[inline]
3533 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
3534 support::token(&self.syntax, SyntaxKind::R_PAREN)
3535 }
3536 #[inline]
3537 pub fn distinct_token(&self) -> Option<SyntaxToken> {
3538 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
3539 }
3540 #[inline]
3541 pub fn on_token(&self) -> Option<SyntaxToken> {
3542 support::token(&self.syntax, SyntaxKind::ON_KW)
3543 }
3544}
3545
3546#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3547pub struct Do {
3548 pub(crate) syntax: SyntaxNode,
3549}
3550impl Do {
3551 #[inline]
3552 pub fn do_token(&self) -> Option<SyntaxToken> {
3553 support::token(&self.syntax, SyntaxKind::DO_KW)
3554 }
3555}
3556
3557#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3558pub struct DoubleType {
3559 pub(crate) syntax: SyntaxNode,
3560}
3561impl DoubleType {
3562 #[inline]
3563 pub fn double_token(&self) -> Option<SyntaxToken> {
3564 support::token(&self.syntax, SyntaxKind::DOUBLE_KW)
3565 }
3566 #[inline]
3567 pub fn precision_token(&self) -> Option<SyntaxToken> {
3568 support::token(&self.syntax, SyntaxKind::PRECISION_KW)
3569 }
3570}
3571
3572#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3573pub struct Drop {
3574 pub(crate) syntax: SyntaxNode,
3575}
3576impl Drop {
3577 #[inline]
3578 pub fn drop_token(&self) -> Option<SyntaxToken> {
3579 support::token(&self.syntax, SyntaxKind::DROP_KW)
3580 }
3581}
3582
3583#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3584pub struct DropAccessMethod {
3585 pub(crate) syntax: SyntaxNode,
3586}
3587impl DropAccessMethod {
3588 #[inline]
3589 pub fn if_exists(&self) -> Option<IfExists> {
3590 support::child(&self.syntax)
3591 }
3592 #[inline]
3593 pub fn name_ref(&self) -> Option<NameRef> {
3594 support::child(&self.syntax)
3595 }
3596 #[inline]
3597 pub fn access_token(&self) -> Option<SyntaxToken> {
3598 support::token(&self.syntax, SyntaxKind::ACCESS_KW)
3599 }
3600 #[inline]
3601 pub fn drop_token(&self) -> Option<SyntaxToken> {
3602 support::token(&self.syntax, SyntaxKind::DROP_KW)
3603 }
3604 #[inline]
3605 pub fn method_token(&self) -> Option<SyntaxToken> {
3606 support::token(&self.syntax, SyntaxKind::METHOD_KW)
3607 }
3608}
3609
3610#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3611pub struct DropAggregate {
3612 pub(crate) syntax: SyntaxNode,
3613}
3614impl DropAggregate {
3615 #[inline]
3616 pub fn aggregates(&self) -> AstChildren<Aggregate> {
3617 support::children(&self.syntax)
3618 }
3619 #[inline]
3620 pub fn if_exists(&self) -> Option<IfExists> {
3621 support::child(&self.syntax)
3622 }
3623 #[inline]
3624 pub fn aggregate_token(&self) -> Option<SyntaxToken> {
3625 support::token(&self.syntax, SyntaxKind::AGGREGATE_KW)
3626 }
3627 #[inline]
3628 pub fn drop_token(&self) -> Option<SyntaxToken> {
3629 support::token(&self.syntax, SyntaxKind::DROP_KW)
3630 }
3631}
3632
3633#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3634pub struct DropCast {
3635 pub(crate) syntax: SyntaxNode,
3636}
3637impl DropCast {
3638 #[inline]
3639 pub fn if_exists(&self) -> Option<IfExists> {
3640 support::child(&self.syntax)
3641 }
3642 #[inline]
3643 pub fn ty(&self) -> Option<Type> {
3644 support::child(&self.syntax)
3645 }
3646 #[inline]
3647 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
3648 support::token(&self.syntax, SyntaxKind::L_PAREN)
3649 }
3650 #[inline]
3651 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
3652 support::token(&self.syntax, SyntaxKind::R_PAREN)
3653 }
3654 #[inline]
3655 pub fn as_token(&self) -> Option<SyntaxToken> {
3656 support::token(&self.syntax, SyntaxKind::AS_KW)
3657 }
3658 #[inline]
3659 pub fn cast_token(&self) -> Option<SyntaxToken> {
3660 support::token(&self.syntax, SyntaxKind::CAST_KW)
3661 }
3662 #[inline]
3663 pub fn drop_token(&self) -> Option<SyntaxToken> {
3664 support::token(&self.syntax, SyntaxKind::DROP_KW)
3665 }
3666}
3667
3668#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3669pub struct DropCollation {
3670 pub(crate) syntax: SyntaxNode,
3671}
3672impl DropCollation {
3673 #[inline]
3674 pub fn if_exists(&self) -> Option<IfExists> {
3675 support::child(&self.syntax)
3676 }
3677 #[inline]
3678 pub fn name_ref(&self) -> Option<NameRef> {
3679 support::child(&self.syntax)
3680 }
3681 #[inline]
3682 pub fn collation_token(&self) -> Option<SyntaxToken> {
3683 support::token(&self.syntax, SyntaxKind::COLLATION_KW)
3684 }
3685 #[inline]
3686 pub fn drop_token(&self) -> Option<SyntaxToken> {
3687 support::token(&self.syntax, SyntaxKind::DROP_KW)
3688 }
3689}
3690
3691#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3692pub struct DropColumn {
3693 pub(crate) syntax: SyntaxNode,
3694}
3695impl DropColumn {
3696 #[inline]
3697 pub fn if_exists(&self) -> Option<IfExists> {
3698 support::child(&self.syntax)
3699 }
3700 #[inline]
3701 pub fn name_ref(&self) -> Option<NameRef> {
3702 support::child(&self.syntax)
3703 }
3704 #[inline]
3705 pub fn cascade_token(&self) -> Option<SyntaxToken> {
3706 support::token(&self.syntax, SyntaxKind::CASCADE_KW)
3707 }
3708 #[inline]
3709 pub fn column_token(&self) -> Option<SyntaxToken> {
3710 support::token(&self.syntax, SyntaxKind::COLUMN_KW)
3711 }
3712 #[inline]
3713 pub fn drop_token(&self) -> Option<SyntaxToken> {
3714 support::token(&self.syntax, SyntaxKind::DROP_KW)
3715 }
3716 #[inline]
3717 pub fn restrict_token(&self) -> Option<SyntaxToken> {
3718 support::token(&self.syntax, SyntaxKind::RESTRICT_KW)
3719 }
3720}
3721
3722#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3723pub struct DropConstraint {
3724 pub(crate) syntax: SyntaxNode,
3725}
3726impl DropConstraint {
3727 #[inline]
3728 pub fn if_exists(&self) -> Option<IfExists> {
3729 support::child(&self.syntax)
3730 }
3731 #[inline]
3732 pub fn name_ref(&self) -> Option<NameRef> {
3733 support::child(&self.syntax)
3734 }
3735 #[inline]
3736 pub fn cascade_token(&self) -> Option<SyntaxToken> {
3737 support::token(&self.syntax, SyntaxKind::CASCADE_KW)
3738 }
3739 #[inline]
3740 pub fn constraint_token(&self) -> Option<SyntaxToken> {
3741 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
3742 }
3743 #[inline]
3744 pub fn drop_token(&self) -> Option<SyntaxToken> {
3745 support::token(&self.syntax, SyntaxKind::DROP_KW)
3746 }
3747 #[inline]
3748 pub fn restrict_token(&self) -> Option<SyntaxToken> {
3749 support::token(&self.syntax, SyntaxKind::RESTRICT_KW)
3750 }
3751}
3752
3753#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3754pub struct DropConversion {
3755 pub(crate) syntax: SyntaxNode,
3756}
3757impl DropConversion {
3758 #[inline]
3759 pub fn if_exists(&self) -> Option<IfExists> {
3760 support::child(&self.syntax)
3761 }
3762 #[inline]
3763 pub fn name_ref(&self) -> Option<NameRef> {
3764 support::child(&self.syntax)
3765 }
3766 #[inline]
3767 pub fn conversion_token(&self) -> Option<SyntaxToken> {
3768 support::token(&self.syntax, SyntaxKind::CONVERSION_KW)
3769 }
3770 #[inline]
3771 pub fn drop_token(&self) -> Option<SyntaxToken> {
3772 support::token(&self.syntax, SyntaxKind::DROP_KW)
3773 }
3774}
3775
3776#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3777pub struct DropDatabase {
3778 pub(crate) syntax: SyntaxNode,
3779}
3780impl DropDatabase {
3781 #[inline]
3782 pub fn if_exists(&self) -> Option<IfExists> {
3783 support::child(&self.syntax)
3784 }
3785 #[inline]
3786 pub fn name_ref(&self) -> Option<NameRef> {
3787 support::child(&self.syntax)
3788 }
3789 #[inline]
3790 pub fn database_token(&self) -> Option<SyntaxToken> {
3791 support::token(&self.syntax, SyntaxKind::DATABASE_KW)
3792 }
3793 #[inline]
3794 pub fn drop_token(&self) -> Option<SyntaxToken> {
3795 support::token(&self.syntax, SyntaxKind::DROP_KW)
3796 }
3797}
3798
3799#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3800pub struct DropDefault {
3801 pub(crate) syntax: SyntaxNode,
3802}
3803impl DropDefault {
3804 #[inline]
3805 pub fn default_token(&self) -> Option<SyntaxToken> {
3806 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
3807 }
3808 #[inline]
3809 pub fn drop_token(&self) -> Option<SyntaxToken> {
3810 support::token(&self.syntax, SyntaxKind::DROP_KW)
3811 }
3812}
3813
3814#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3815pub struct DropDomain {
3816 pub(crate) syntax: SyntaxNode,
3817}
3818impl DropDomain {
3819 #[inline]
3820 pub fn if_exists(&self) -> Option<IfExists> {
3821 support::child(&self.syntax)
3822 }
3823 #[inline]
3824 pub fn types(&self) -> AstChildren<Type> {
3825 support::children(&self.syntax)
3826 }
3827 #[inline]
3828 pub fn domain_token(&self) -> Option<SyntaxToken> {
3829 support::token(&self.syntax, SyntaxKind::DOMAIN_KW)
3830 }
3831 #[inline]
3832 pub fn drop_token(&self) -> Option<SyntaxToken> {
3833 support::token(&self.syntax, SyntaxKind::DROP_KW)
3834 }
3835}
3836
3837#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3838pub struct DropEventTrigger {
3839 pub(crate) syntax: SyntaxNode,
3840}
3841impl DropEventTrigger {
3842 #[inline]
3843 pub fn if_exists(&self) -> Option<IfExists> {
3844 support::child(&self.syntax)
3845 }
3846 #[inline]
3847 pub fn name_ref(&self) -> Option<NameRef> {
3848 support::child(&self.syntax)
3849 }
3850 #[inline]
3851 pub fn drop_token(&self) -> Option<SyntaxToken> {
3852 support::token(&self.syntax, SyntaxKind::DROP_KW)
3853 }
3854 #[inline]
3855 pub fn event_token(&self) -> Option<SyntaxToken> {
3856 support::token(&self.syntax, SyntaxKind::EVENT_KW)
3857 }
3858 #[inline]
3859 pub fn trigger_token(&self) -> Option<SyntaxToken> {
3860 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
3861 }
3862}
3863
3864#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3865pub struct DropExpression {
3866 pub(crate) syntax: SyntaxNode,
3867}
3868impl DropExpression {
3869 #[inline]
3870 pub fn if_exists(&self) -> Option<IfExists> {
3871 support::child(&self.syntax)
3872 }
3873 #[inline]
3874 pub fn drop_token(&self) -> Option<SyntaxToken> {
3875 support::token(&self.syntax, SyntaxKind::DROP_KW)
3876 }
3877 #[inline]
3878 pub fn expression_token(&self) -> Option<SyntaxToken> {
3879 support::token(&self.syntax, SyntaxKind::EXPRESSION_KW)
3880 }
3881}
3882
3883#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3884pub struct DropExtension {
3885 pub(crate) syntax: SyntaxNode,
3886}
3887impl DropExtension {
3888 #[inline]
3889 pub fn if_exists(&self) -> Option<IfExists> {
3890 support::child(&self.syntax)
3891 }
3892 #[inline]
3893 pub fn name_refs(&self) -> AstChildren<NameRef> {
3894 support::children(&self.syntax)
3895 }
3896 #[inline]
3897 pub fn drop_token(&self) -> Option<SyntaxToken> {
3898 support::token(&self.syntax, SyntaxKind::DROP_KW)
3899 }
3900 #[inline]
3901 pub fn extension_token(&self) -> Option<SyntaxToken> {
3902 support::token(&self.syntax, SyntaxKind::EXTENSION_KW)
3903 }
3904}
3905
3906#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3907pub struct DropForeignDataWrapper {
3908 pub(crate) syntax: SyntaxNode,
3909}
3910impl DropForeignDataWrapper {
3911 #[inline]
3912 pub fn if_exists(&self) -> Option<IfExists> {
3913 support::child(&self.syntax)
3914 }
3915 #[inline]
3916 pub fn name_ref(&self) -> Option<NameRef> {
3917 support::child(&self.syntax)
3918 }
3919 #[inline]
3920 pub fn data_token(&self) -> Option<SyntaxToken> {
3921 support::token(&self.syntax, SyntaxKind::DATA_KW)
3922 }
3923 #[inline]
3924 pub fn drop_token(&self) -> Option<SyntaxToken> {
3925 support::token(&self.syntax, SyntaxKind::DROP_KW)
3926 }
3927 #[inline]
3928 pub fn foreign_token(&self) -> Option<SyntaxToken> {
3929 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
3930 }
3931 #[inline]
3932 pub fn wrapper_token(&self) -> Option<SyntaxToken> {
3933 support::token(&self.syntax, SyntaxKind::WRAPPER_KW)
3934 }
3935}
3936
3937#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3938pub struct DropForeignTable {
3939 pub(crate) syntax: SyntaxNode,
3940}
3941impl DropForeignTable {
3942 #[inline]
3943 pub fn if_exists(&self) -> Option<IfExists> {
3944 support::child(&self.syntax)
3945 }
3946 #[inline]
3947 pub fn drop_token(&self) -> Option<SyntaxToken> {
3948 support::token(&self.syntax, SyntaxKind::DROP_KW)
3949 }
3950 #[inline]
3951 pub fn foreign_token(&self) -> Option<SyntaxToken> {
3952 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
3953 }
3954 #[inline]
3955 pub fn table_token(&self) -> Option<SyntaxToken> {
3956 support::token(&self.syntax, SyntaxKind::TABLE_KW)
3957 }
3958}
3959
3960#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3961pub struct DropFunction {
3962 pub(crate) syntax: SyntaxNode,
3963}
3964impl DropFunction {
3965 #[inline]
3966 pub fn function_sig_list(&self) -> Option<FunctionSigList> {
3967 support::child(&self.syntax)
3968 }
3969 #[inline]
3970 pub fn if_exists(&self) -> Option<IfExists> {
3971 support::child(&self.syntax)
3972 }
3973 #[inline]
3974 pub fn drop_token(&self) -> Option<SyntaxToken> {
3975 support::token(&self.syntax, SyntaxKind::DROP_KW)
3976 }
3977 #[inline]
3978 pub fn function_token(&self) -> Option<SyntaxToken> {
3979 support::token(&self.syntax, SyntaxKind::FUNCTION_KW)
3980 }
3981}
3982
3983#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3984pub struct DropGroup {
3985 pub(crate) syntax: SyntaxNode,
3986}
3987impl DropGroup {
3988 #[inline]
3989 pub fn if_exists(&self) -> Option<IfExists> {
3990 support::child(&self.syntax)
3991 }
3992 #[inline]
3993 pub fn name_ref(&self) -> Option<NameRef> {
3994 support::child(&self.syntax)
3995 }
3996 #[inline]
3997 pub fn drop_token(&self) -> Option<SyntaxToken> {
3998 support::token(&self.syntax, SyntaxKind::DROP_KW)
3999 }
4000 #[inline]
4001 pub fn group_token(&self) -> Option<SyntaxToken> {
4002 support::token(&self.syntax, SyntaxKind::GROUP_KW)
4003 }
4004}
4005
4006#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4007pub struct DropIdentity {
4008 pub(crate) syntax: SyntaxNode,
4009}
4010impl DropIdentity {
4011 #[inline]
4012 pub fn if_exists(&self) -> Option<IfExists> {
4013 support::child(&self.syntax)
4014 }
4015 #[inline]
4016 pub fn drop_token(&self) -> Option<SyntaxToken> {
4017 support::token(&self.syntax, SyntaxKind::DROP_KW)
4018 }
4019 #[inline]
4020 pub fn identity_token(&self) -> Option<SyntaxToken> {
4021 support::token(&self.syntax, SyntaxKind::IDENTITY_KW)
4022 }
4023}
4024
4025#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4026pub struct DropIndex {
4027 pub(crate) syntax: SyntaxNode,
4028}
4029impl DropIndex {
4030 #[inline]
4031 pub fn if_exists(&self) -> Option<IfExists> {
4032 support::child(&self.syntax)
4033 }
4034 #[inline]
4035 pub fn paths(&self) -> AstChildren<Path> {
4036 support::children(&self.syntax)
4037 }
4038 #[inline]
4039 pub fn concurrently_token(&self) -> Option<SyntaxToken> {
4040 support::token(&self.syntax, SyntaxKind::CONCURRENTLY_KW)
4041 }
4042 #[inline]
4043 pub fn drop_token(&self) -> Option<SyntaxToken> {
4044 support::token(&self.syntax, SyntaxKind::DROP_KW)
4045 }
4046 #[inline]
4047 pub fn index_token(&self) -> Option<SyntaxToken> {
4048 support::token(&self.syntax, SyntaxKind::INDEX_KW)
4049 }
4050}
4051
4052#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4053pub struct DropLanguage {
4054 pub(crate) syntax: SyntaxNode,
4055}
4056impl DropLanguage {
4057 #[inline]
4058 pub fn if_exists(&self) -> Option<IfExists> {
4059 support::child(&self.syntax)
4060 }
4061 #[inline]
4062 pub fn name_ref(&self) -> Option<NameRef> {
4063 support::child(&self.syntax)
4064 }
4065 #[inline]
4066 pub fn drop_token(&self) -> Option<SyntaxToken> {
4067 support::token(&self.syntax, SyntaxKind::DROP_KW)
4068 }
4069 #[inline]
4070 pub fn language_token(&self) -> Option<SyntaxToken> {
4071 support::token(&self.syntax, SyntaxKind::LANGUAGE_KW)
4072 }
4073}
4074
4075#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4076pub struct DropMaterializedView {
4077 pub(crate) syntax: SyntaxNode,
4078}
4079impl DropMaterializedView {
4080 #[inline]
4081 pub fn if_exists(&self) -> Option<IfExists> {
4082 support::child(&self.syntax)
4083 }
4084 #[inline]
4085 pub fn drop_token(&self) -> Option<SyntaxToken> {
4086 support::token(&self.syntax, SyntaxKind::DROP_KW)
4087 }
4088 #[inline]
4089 pub fn materialized_token(&self) -> Option<SyntaxToken> {
4090 support::token(&self.syntax, SyntaxKind::MATERIALIZED_KW)
4091 }
4092 #[inline]
4093 pub fn view_token(&self) -> Option<SyntaxToken> {
4094 support::token(&self.syntax, SyntaxKind::VIEW_KW)
4095 }
4096}
4097
4098#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4099pub struct DropNotNull {
4100 pub(crate) syntax: SyntaxNode,
4101}
4102impl DropNotNull {
4103 #[inline]
4104 pub fn drop_token(&self) -> Option<SyntaxToken> {
4105 support::token(&self.syntax, SyntaxKind::DROP_KW)
4106 }
4107 #[inline]
4108 pub fn not_token(&self) -> Option<SyntaxToken> {
4109 support::token(&self.syntax, SyntaxKind::NOT_KW)
4110 }
4111 #[inline]
4112 pub fn null_token(&self) -> Option<SyntaxToken> {
4113 support::token(&self.syntax, SyntaxKind::NULL_KW)
4114 }
4115}
4116
4117#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4118pub struct DropOperator {
4119 pub(crate) syntax: SyntaxNode,
4120}
4121impl DropOperator {
4122 #[inline]
4123 pub fn if_exists(&self) -> Option<IfExists> {
4124 support::child(&self.syntax)
4125 }
4126 #[inline]
4127 pub fn drop_token(&self) -> Option<SyntaxToken> {
4128 support::token(&self.syntax, SyntaxKind::DROP_KW)
4129 }
4130 #[inline]
4131 pub fn operator_token(&self) -> Option<SyntaxToken> {
4132 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
4133 }
4134}
4135
4136#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4137pub struct DropOperatorClass {
4138 pub(crate) syntax: SyntaxNode,
4139}
4140impl DropOperatorClass {
4141 #[inline]
4142 pub fn if_exists(&self) -> Option<IfExists> {
4143 support::child(&self.syntax)
4144 }
4145 #[inline]
4146 pub fn name_ref(&self) -> Option<NameRef> {
4147 support::child(&self.syntax)
4148 }
4149 #[inline]
4150 pub fn class_token(&self) -> Option<SyntaxToken> {
4151 support::token(&self.syntax, SyntaxKind::CLASS_KW)
4152 }
4153 #[inline]
4154 pub fn drop_token(&self) -> Option<SyntaxToken> {
4155 support::token(&self.syntax, SyntaxKind::DROP_KW)
4156 }
4157 #[inline]
4158 pub fn operator_token(&self) -> Option<SyntaxToken> {
4159 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
4160 }
4161 #[inline]
4162 pub fn using_token(&self) -> Option<SyntaxToken> {
4163 support::token(&self.syntax, SyntaxKind::USING_KW)
4164 }
4165}
4166
4167#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4168pub struct DropOperatorFamily {
4169 pub(crate) syntax: SyntaxNode,
4170}
4171impl DropOperatorFamily {
4172 #[inline]
4173 pub fn if_exists(&self) -> Option<IfExists> {
4174 support::child(&self.syntax)
4175 }
4176 #[inline]
4177 pub fn drop_token(&self) -> Option<SyntaxToken> {
4178 support::token(&self.syntax, SyntaxKind::DROP_KW)
4179 }
4180 #[inline]
4181 pub fn family_token(&self) -> Option<SyntaxToken> {
4182 support::token(&self.syntax, SyntaxKind::FAMILY_KW)
4183 }
4184 #[inline]
4185 pub fn operator_token(&self) -> Option<SyntaxToken> {
4186 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
4187 }
4188}
4189
4190#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4191pub struct DropOwned {
4192 pub(crate) syntax: SyntaxNode,
4193}
4194impl DropOwned {
4195 #[inline]
4196 pub fn by_token(&self) -> Option<SyntaxToken> {
4197 support::token(&self.syntax, SyntaxKind::BY_KW)
4198 }
4199 #[inline]
4200 pub fn drop_token(&self) -> Option<SyntaxToken> {
4201 support::token(&self.syntax, SyntaxKind::DROP_KW)
4202 }
4203 #[inline]
4204 pub fn owned_token(&self) -> Option<SyntaxToken> {
4205 support::token(&self.syntax, SyntaxKind::OWNED_KW)
4206 }
4207}
4208
4209#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4210pub struct DropPolicy {
4211 pub(crate) syntax: SyntaxNode,
4212}
4213impl DropPolicy {
4214 #[inline]
4215 pub fn if_exists(&self) -> Option<IfExists> {
4216 support::child(&self.syntax)
4217 }
4218 #[inline]
4219 pub fn name_ref(&self) -> Option<NameRef> {
4220 support::child(&self.syntax)
4221 }
4222 #[inline]
4223 pub fn drop_token(&self) -> Option<SyntaxToken> {
4224 support::token(&self.syntax, SyntaxKind::DROP_KW)
4225 }
4226 #[inline]
4227 pub fn on_token(&self) -> Option<SyntaxToken> {
4228 support::token(&self.syntax, SyntaxKind::ON_KW)
4229 }
4230 #[inline]
4231 pub fn policy_token(&self) -> Option<SyntaxToken> {
4232 support::token(&self.syntax, SyntaxKind::POLICY_KW)
4233 }
4234}
4235
4236#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4237pub struct DropProcedure {
4238 pub(crate) syntax: SyntaxNode,
4239}
4240impl DropProcedure {
4241 #[inline]
4242 pub fn if_exists(&self) -> Option<IfExists> {
4243 support::child(&self.syntax)
4244 }
4245 #[inline]
4246 pub fn drop_token(&self) -> Option<SyntaxToken> {
4247 support::token(&self.syntax, SyntaxKind::DROP_KW)
4248 }
4249 #[inline]
4250 pub fn procedure_token(&self) -> Option<SyntaxToken> {
4251 support::token(&self.syntax, SyntaxKind::PROCEDURE_KW)
4252 }
4253}
4254
4255#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4256pub struct DropPublication {
4257 pub(crate) syntax: SyntaxNode,
4258}
4259impl DropPublication {
4260 #[inline]
4261 pub fn if_exists(&self) -> Option<IfExists> {
4262 support::child(&self.syntax)
4263 }
4264 #[inline]
4265 pub fn name_refs(&self) -> AstChildren<NameRef> {
4266 support::children(&self.syntax)
4267 }
4268 #[inline]
4269 pub fn drop_token(&self) -> Option<SyntaxToken> {
4270 support::token(&self.syntax, SyntaxKind::DROP_KW)
4271 }
4272 #[inline]
4273 pub fn publication_token(&self) -> Option<SyntaxToken> {
4274 support::token(&self.syntax, SyntaxKind::PUBLICATION_KW)
4275 }
4276}
4277
4278#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4279pub struct DropRole {
4280 pub(crate) syntax: SyntaxNode,
4281}
4282impl DropRole {
4283 #[inline]
4284 pub fn if_exists(&self) -> Option<IfExists> {
4285 support::child(&self.syntax)
4286 }
4287 #[inline]
4288 pub fn name_refs(&self) -> AstChildren<NameRef> {
4289 support::children(&self.syntax)
4290 }
4291 #[inline]
4292 pub fn drop_token(&self) -> Option<SyntaxToken> {
4293 support::token(&self.syntax, SyntaxKind::DROP_KW)
4294 }
4295 #[inline]
4296 pub fn role_token(&self) -> Option<SyntaxToken> {
4297 support::token(&self.syntax, SyntaxKind::ROLE_KW)
4298 }
4299}
4300
4301#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4302pub struct DropRoutine {
4303 pub(crate) syntax: SyntaxNode,
4304}
4305impl DropRoutine {
4306 #[inline]
4307 pub fn if_exists(&self) -> Option<IfExists> {
4308 support::child(&self.syntax)
4309 }
4310 #[inline]
4311 pub fn drop_token(&self) -> Option<SyntaxToken> {
4312 support::token(&self.syntax, SyntaxKind::DROP_KW)
4313 }
4314 #[inline]
4315 pub fn routine_token(&self) -> Option<SyntaxToken> {
4316 support::token(&self.syntax, SyntaxKind::ROUTINE_KW)
4317 }
4318}
4319
4320#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4321pub struct DropRule {
4322 pub(crate) syntax: SyntaxNode,
4323}
4324impl DropRule {
4325 #[inline]
4326 pub fn if_exists(&self) -> Option<IfExists> {
4327 support::child(&self.syntax)
4328 }
4329 #[inline]
4330 pub fn name_ref(&self) -> Option<NameRef> {
4331 support::child(&self.syntax)
4332 }
4333 #[inline]
4334 pub fn drop_token(&self) -> Option<SyntaxToken> {
4335 support::token(&self.syntax, SyntaxKind::DROP_KW)
4336 }
4337 #[inline]
4338 pub fn on_token(&self) -> Option<SyntaxToken> {
4339 support::token(&self.syntax, SyntaxKind::ON_KW)
4340 }
4341 #[inline]
4342 pub fn rule_token(&self) -> Option<SyntaxToken> {
4343 support::token(&self.syntax, SyntaxKind::RULE_KW)
4344 }
4345}
4346
4347#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4348pub struct DropSchema {
4349 pub(crate) syntax: SyntaxNode,
4350}
4351impl DropSchema {
4352 #[inline]
4353 pub fn if_exists(&self) -> Option<IfExists> {
4354 support::child(&self.syntax)
4355 }
4356 #[inline]
4357 pub fn drop_token(&self) -> Option<SyntaxToken> {
4358 support::token(&self.syntax, SyntaxKind::DROP_KW)
4359 }
4360 #[inline]
4361 pub fn schema_token(&self) -> Option<SyntaxToken> {
4362 support::token(&self.syntax, SyntaxKind::SCHEMA_KW)
4363 }
4364}
4365
4366#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4367pub struct DropSequence {
4368 pub(crate) syntax: SyntaxNode,
4369}
4370impl DropSequence {
4371 #[inline]
4372 pub fn if_exists(&self) -> Option<IfExists> {
4373 support::child(&self.syntax)
4374 }
4375 #[inline]
4376 pub fn name_refs(&self) -> AstChildren<NameRef> {
4377 support::children(&self.syntax)
4378 }
4379 #[inline]
4380 pub fn drop_token(&self) -> Option<SyntaxToken> {
4381 support::token(&self.syntax, SyntaxKind::DROP_KW)
4382 }
4383 #[inline]
4384 pub fn sequence_token(&self) -> Option<SyntaxToken> {
4385 support::token(&self.syntax, SyntaxKind::SEQUENCE_KW)
4386 }
4387}
4388
4389#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4390pub struct DropServer {
4391 pub(crate) syntax: SyntaxNode,
4392}
4393impl DropServer {
4394 #[inline]
4395 pub fn if_exists(&self) -> Option<IfExists> {
4396 support::child(&self.syntax)
4397 }
4398 #[inline]
4399 pub fn name_ref(&self) -> Option<NameRef> {
4400 support::child(&self.syntax)
4401 }
4402 #[inline]
4403 pub fn drop_token(&self) -> Option<SyntaxToken> {
4404 support::token(&self.syntax, SyntaxKind::DROP_KW)
4405 }
4406 #[inline]
4407 pub fn server_token(&self) -> Option<SyntaxToken> {
4408 support::token(&self.syntax, SyntaxKind::SERVER_KW)
4409 }
4410}
4411
4412#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4413pub struct DropStatistics {
4414 pub(crate) syntax: SyntaxNode,
4415}
4416impl DropStatistics {
4417 #[inline]
4418 pub fn if_exists(&self) -> Option<IfExists> {
4419 support::child(&self.syntax)
4420 }
4421 #[inline]
4422 pub fn name_ref(&self) -> Option<NameRef> {
4423 support::child(&self.syntax)
4424 }
4425 #[inline]
4426 pub fn drop_token(&self) -> Option<SyntaxToken> {
4427 support::token(&self.syntax, SyntaxKind::DROP_KW)
4428 }
4429 #[inline]
4430 pub fn statistics_token(&self) -> Option<SyntaxToken> {
4431 support::token(&self.syntax, SyntaxKind::STATISTICS_KW)
4432 }
4433}
4434
4435#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4436pub struct DropSubscription {
4437 pub(crate) syntax: SyntaxNode,
4438}
4439impl DropSubscription {
4440 #[inline]
4441 pub fn if_exists(&self) -> Option<IfExists> {
4442 support::child(&self.syntax)
4443 }
4444 #[inline]
4445 pub fn name_ref(&self) -> Option<NameRef> {
4446 support::child(&self.syntax)
4447 }
4448 #[inline]
4449 pub fn drop_token(&self) -> Option<SyntaxToken> {
4450 support::token(&self.syntax, SyntaxKind::DROP_KW)
4451 }
4452 #[inline]
4453 pub fn subscription_token(&self) -> Option<SyntaxToken> {
4454 support::token(&self.syntax, SyntaxKind::SUBSCRIPTION_KW)
4455 }
4456}
4457
4458#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4459pub struct DropTable {
4460 pub(crate) syntax: SyntaxNode,
4461}
4462impl DropTable {
4463 #[inline]
4464 pub fn if_exists(&self) -> Option<IfExists> {
4465 support::child(&self.syntax)
4466 }
4467 #[inline]
4468 pub fn path(&self) -> Option<Path> {
4469 support::child(&self.syntax)
4470 }
4471 #[inline]
4472 pub fn comma_token(&self) -> Option<SyntaxToken> {
4473 support::token(&self.syntax, SyntaxKind::COMMA)
4474 }
4475 #[inline]
4476 pub fn cascade_token(&self) -> Option<SyntaxToken> {
4477 support::token(&self.syntax, SyntaxKind::CASCADE_KW)
4478 }
4479 #[inline]
4480 pub fn drop_token(&self) -> Option<SyntaxToken> {
4481 support::token(&self.syntax, SyntaxKind::DROP_KW)
4482 }
4483 #[inline]
4484 pub fn restrict_token(&self) -> Option<SyntaxToken> {
4485 support::token(&self.syntax, SyntaxKind::RESTRICT_KW)
4486 }
4487 #[inline]
4488 pub fn table_token(&self) -> Option<SyntaxToken> {
4489 support::token(&self.syntax, SyntaxKind::TABLE_KW)
4490 }
4491}
4492
4493#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4494pub struct DropTablespace {
4495 pub(crate) syntax: SyntaxNode,
4496}
4497impl DropTablespace {
4498 #[inline]
4499 pub fn if_exists(&self) -> Option<IfExists> {
4500 support::child(&self.syntax)
4501 }
4502 #[inline]
4503 pub fn name_ref(&self) -> Option<NameRef> {
4504 support::child(&self.syntax)
4505 }
4506 #[inline]
4507 pub fn drop_token(&self) -> Option<SyntaxToken> {
4508 support::token(&self.syntax, SyntaxKind::DROP_KW)
4509 }
4510 #[inline]
4511 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
4512 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
4513 }
4514}
4515
4516#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4517pub struct DropTextSearchConfig {
4518 pub(crate) syntax: SyntaxNode,
4519}
4520impl DropTextSearchConfig {
4521 #[inline]
4522 pub fn if_exists(&self) -> Option<IfExists> {
4523 support::child(&self.syntax)
4524 }
4525 #[inline]
4526 pub fn configuration_token(&self) -> Option<SyntaxToken> {
4527 support::token(&self.syntax, SyntaxKind::CONFIGURATION_KW)
4528 }
4529 #[inline]
4530 pub fn drop_token(&self) -> Option<SyntaxToken> {
4531 support::token(&self.syntax, SyntaxKind::DROP_KW)
4532 }
4533 #[inline]
4534 pub fn search_token(&self) -> Option<SyntaxToken> {
4535 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
4536 }
4537 #[inline]
4538 pub fn text_token(&self) -> Option<SyntaxToken> {
4539 support::token(&self.syntax, SyntaxKind::TEXT_KW)
4540 }
4541}
4542
4543#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4544pub struct DropTextSearchDict {
4545 pub(crate) syntax: SyntaxNode,
4546}
4547impl DropTextSearchDict {
4548 #[inline]
4549 pub fn if_exists(&self) -> Option<IfExists> {
4550 support::child(&self.syntax)
4551 }
4552 #[inline]
4553 pub fn dictionary_token(&self) -> Option<SyntaxToken> {
4554 support::token(&self.syntax, SyntaxKind::DICTIONARY_KW)
4555 }
4556 #[inline]
4557 pub fn drop_token(&self) -> Option<SyntaxToken> {
4558 support::token(&self.syntax, SyntaxKind::DROP_KW)
4559 }
4560 #[inline]
4561 pub fn search_token(&self) -> Option<SyntaxToken> {
4562 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
4563 }
4564 #[inline]
4565 pub fn text_token(&self) -> Option<SyntaxToken> {
4566 support::token(&self.syntax, SyntaxKind::TEXT_KW)
4567 }
4568}
4569
4570#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4571pub struct DropTextSearchParser {
4572 pub(crate) syntax: SyntaxNode,
4573}
4574impl DropTextSearchParser {
4575 #[inline]
4576 pub fn if_exists(&self) -> Option<IfExists> {
4577 support::child(&self.syntax)
4578 }
4579 #[inline]
4580 pub fn name_ref(&self) -> Option<NameRef> {
4581 support::child(&self.syntax)
4582 }
4583 #[inline]
4584 pub fn drop_token(&self) -> Option<SyntaxToken> {
4585 support::token(&self.syntax, SyntaxKind::DROP_KW)
4586 }
4587 #[inline]
4588 pub fn parser_token(&self) -> Option<SyntaxToken> {
4589 support::token(&self.syntax, SyntaxKind::PARSER_KW)
4590 }
4591 #[inline]
4592 pub fn search_token(&self) -> Option<SyntaxToken> {
4593 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
4594 }
4595 #[inline]
4596 pub fn text_token(&self) -> Option<SyntaxToken> {
4597 support::token(&self.syntax, SyntaxKind::TEXT_KW)
4598 }
4599}
4600
4601#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4602pub struct DropTextSearchTemplate {
4603 pub(crate) syntax: SyntaxNode,
4604}
4605impl DropTextSearchTemplate {
4606 #[inline]
4607 pub fn if_exists(&self) -> Option<IfExists> {
4608 support::child(&self.syntax)
4609 }
4610 #[inline]
4611 pub fn drop_token(&self) -> Option<SyntaxToken> {
4612 support::token(&self.syntax, SyntaxKind::DROP_KW)
4613 }
4614 #[inline]
4615 pub fn search_token(&self) -> Option<SyntaxToken> {
4616 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
4617 }
4618 #[inline]
4619 pub fn template_token(&self) -> Option<SyntaxToken> {
4620 support::token(&self.syntax, SyntaxKind::TEMPLATE_KW)
4621 }
4622 #[inline]
4623 pub fn text_token(&self) -> Option<SyntaxToken> {
4624 support::token(&self.syntax, SyntaxKind::TEXT_KW)
4625 }
4626}
4627
4628#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4629pub struct DropTransform {
4630 pub(crate) syntax: SyntaxNode,
4631}
4632impl DropTransform {
4633 #[inline]
4634 pub fn if_exists(&self) -> Option<IfExists> {
4635 support::child(&self.syntax)
4636 }
4637 #[inline]
4638 pub fn drop_token(&self) -> Option<SyntaxToken> {
4639 support::token(&self.syntax, SyntaxKind::DROP_KW)
4640 }
4641 #[inline]
4642 pub fn transform_token(&self) -> Option<SyntaxToken> {
4643 support::token(&self.syntax, SyntaxKind::TRANSFORM_KW)
4644 }
4645}
4646
4647#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4648pub struct DropTrigger {
4649 pub(crate) syntax: SyntaxNode,
4650}
4651impl DropTrigger {
4652 #[inline]
4653 pub fn if_exists(&self) -> Option<IfExists> {
4654 support::child(&self.syntax)
4655 }
4656 #[inline]
4657 pub fn name_ref(&self) -> Option<NameRef> {
4658 support::child(&self.syntax)
4659 }
4660 #[inline]
4661 pub fn drop_token(&self) -> Option<SyntaxToken> {
4662 support::token(&self.syntax, SyntaxKind::DROP_KW)
4663 }
4664 #[inline]
4665 pub fn on_token(&self) -> Option<SyntaxToken> {
4666 support::token(&self.syntax, SyntaxKind::ON_KW)
4667 }
4668 #[inline]
4669 pub fn trigger_token(&self) -> Option<SyntaxToken> {
4670 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
4671 }
4672}
4673
4674#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4675pub struct DropType {
4676 pub(crate) syntax: SyntaxNode,
4677}
4678impl DropType {
4679 #[inline]
4680 pub fn if_exists(&self) -> Option<IfExists> {
4681 support::child(&self.syntax)
4682 }
4683 #[inline]
4684 pub fn paths(&self) -> AstChildren<Path> {
4685 support::children(&self.syntax)
4686 }
4687 #[inline]
4688 pub fn cascade_token(&self) -> Option<SyntaxToken> {
4689 support::token(&self.syntax, SyntaxKind::CASCADE_KW)
4690 }
4691 #[inline]
4692 pub fn drop_token(&self) -> Option<SyntaxToken> {
4693 support::token(&self.syntax, SyntaxKind::DROP_KW)
4694 }
4695 #[inline]
4696 pub fn restrict_token(&self) -> Option<SyntaxToken> {
4697 support::token(&self.syntax, SyntaxKind::RESTRICT_KW)
4698 }
4699 #[inline]
4700 pub fn type_token(&self) -> Option<SyntaxToken> {
4701 support::token(&self.syntax, SyntaxKind::TYPE_KW)
4702 }
4703}
4704
4705#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4706pub struct DropUser {
4707 pub(crate) syntax: SyntaxNode,
4708}
4709impl DropUser {
4710 #[inline]
4711 pub fn if_exists(&self) -> Option<IfExists> {
4712 support::child(&self.syntax)
4713 }
4714 #[inline]
4715 pub fn name_refs(&self) -> AstChildren<NameRef> {
4716 support::children(&self.syntax)
4717 }
4718 #[inline]
4719 pub fn drop_token(&self) -> Option<SyntaxToken> {
4720 support::token(&self.syntax, SyntaxKind::DROP_KW)
4721 }
4722 #[inline]
4723 pub fn user_token(&self) -> Option<SyntaxToken> {
4724 support::token(&self.syntax, SyntaxKind::USER_KW)
4725 }
4726}
4727
4728#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4729pub struct DropUserMapping {
4730 pub(crate) syntax: SyntaxNode,
4731}
4732impl DropUserMapping {
4733 #[inline]
4734 pub fn if_exists(&self) -> Option<IfExists> {
4735 support::child(&self.syntax)
4736 }
4737 #[inline]
4738 pub fn name_ref(&self) -> Option<NameRef> {
4739 support::child(&self.syntax)
4740 }
4741 #[inline]
4742 pub fn drop_token(&self) -> Option<SyntaxToken> {
4743 support::token(&self.syntax, SyntaxKind::DROP_KW)
4744 }
4745 #[inline]
4746 pub fn for_token(&self) -> Option<SyntaxToken> {
4747 support::token(&self.syntax, SyntaxKind::FOR_KW)
4748 }
4749 #[inline]
4750 pub fn mapping_token(&self) -> Option<SyntaxToken> {
4751 support::token(&self.syntax, SyntaxKind::MAPPING_KW)
4752 }
4753 #[inline]
4754 pub fn server_token(&self) -> Option<SyntaxToken> {
4755 support::token(&self.syntax, SyntaxKind::SERVER_KW)
4756 }
4757 #[inline]
4758 pub fn user_token(&self) -> Option<SyntaxToken> {
4759 support::token(&self.syntax, SyntaxKind::USER_KW)
4760 }
4761}
4762
4763#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4764pub struct DropView {
4765 pub(crate) syntax: SyntaxNode,
4766}
4767impl DropView {
4768 #[inline]
4769 pub fn if_exists(&self) -> Option<IfExists> {
4770 support::child(&self.syntax)
4771 }
4772 #[inline]
4773 pub fn drop_token(&self) -> Option<SyntaxToken> {
4774 support::token(&self.syntax, SyntaxKind::DROP_KW)
4775 }
4776 #[inline]
4777 pub fn view_token(&self) -> Option<SyntaxToken> {
4778 support::token(&self.syntax, SyntaxKind::VIEW_KW)
4779 }
4780}
4781
4782#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4783pub struct ElseClause {
4784 pub(crate) syntax: SyntaxNode,
4785}
4786impl ElseClause {
4787 #[inline]
4788 pub fn expr(&self) -> Option<Expr> {
4789 support::child(&self.syntax)
4790 }
4791 #[inline]
4792 pub fn else_token(&self) -> Option<SyntaxToken> {
4793 support::token(&self.syntax, SyntaxKind::ELSE_KW)
4794 }
4795}
4796
4797#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4798pub struct EnableAlwaysRule {
4799 pub(crate) syntax: SyntaxNode,
4800}
4801impl EnableAlwaysRule {
4802 #[inline]
4803 pub fn always_token(&self) -> Option<SyntaxToken> {
4804 support::token(&self.syntax, SyntaxKind::ALWAYS_KW)
4805 }
4806 #[inline]
4807 pub fn enable_token(&self) -> Option<SyntaxToken> {
4808 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4809 }
4810 #[inline]
4811 pub fn rule_token(&self) -> Option<SyntaxToken> {
4812 support::token(&self.syntax, SyntaxKind::RULE_KW)
4813 }
4814}
4815
4816#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4817pub struct EnableAlwaysTrigger {
4818 pub(crate) syntax: SyntaxNode,
4819}
4820impl EnableAlwaysTrigger {
4821 #[inline]
4822 pub fn always_token(&self) -> Option<SyntaxToken> {
4823 support::token(&self.syntax, SyntaxKind::ALWAYS_KW)
4824 }
4825 #[inline]
4826 pub fn enable_token(&self) -> Option<SyntaxToken> {
4827 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4828 }
4829 #[inline]
4830 pub fn trigger_token(&self) -> Option<SyntaxToken> {
4831 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
4832 }
4833}
4834
4835#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4836pub struct EnableReplicaRule {
4837 pub(crate) syntax: SyntaxNode,
4838}
4839impl EnableReplicaRule {
4840 #[inline]
4841 pub fn enable_token(&self) -> Option<SyntaxToken> {
4842 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4843 }
4844 #[inline]
4845 pub fn replica_token(&self) -> Option<SyntaxToken> {
4846 support::token(&self.syntax, SyntaxKind::REPLICA_KW)
4847 }
4848 #[inline]
4849 pub fn rule_token(&self) -> Option<SyntaxToken> {
4850 support::token(&self.syntax, SyntaxKind::RULE_KW)
4851 }
4852}
4853
4854#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4855pub struct EnableReplicaTrigger {
4856 pub(crate) syntax: SyntaxNode,
4857}
4858impl EnableReplicaTrigger {
4859 #[inline]
4860 pub fn enable_token(&self) -> Option<SyntaxToken> {
4861 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4862 }
4863 #[inline]
4864 pub fn replica_token(&self) -> Option<SyntaxToken> {
4865 support::token(&self.syntax, SyntaxKind::REPLICA_KW)
4866 }
4867 #[inline]
4868 pub fn trigger_token(&self) -> Option<SyntaxToken> {
4869 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
4870 }
4871}
4872
4873#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4874pub struct EnableRls {
4875 pub(crate) syntax: SyntaxNode,
4876}
4877impl EnableRls {
4878 #[inline]
4879 pub fn enable_token(&self) -> Option<SyntaxToken> {
4880 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4881 }
4882 #[inline]
4883 pub fn level_token(&self) -> Option<SyntaxToken> {
4884 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
4885 }
4886 #[inline]
4887 pub fn row_token(&self) -> Option<SyntaxToken> {
4888 support::token(&self.syntax, SyntaxKind::ROW_KW)
4889 }
4890 #[inline]
4891 pub fn security_token(&self) -> Option<SyntaxToken> {
4892 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
4893 }
4894}
4895
4896#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4897pub struct EnableRule {
4898 pub(crate) syntax: SyntaxNode,
4899}
4900impl EnableRule {
4901 #[inline]
4902 pub fn enable_token(&self) -> Option<SyntaxToken> {
4903 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4904 }
4905 #[inline]
4906 pub fn rule_token(&self) -> Option<SyntaxToken> {
4907 support::token(&self.syntax, SyntaxKind::RULE_KW)
4908 }
4909}
4910
4911#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4912pub struct EnableTrigger {
4913 pub(crate) syntax: SyntaxNode,
4914}
4915impl EnableTrigger {
4916 #[inline]
4917 pub fn enable_token(&self) -> Option<SyntaxToken> {
4918 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4919 }
4920 #[inline]
4921 pub fn trigger_token(&self) -> Option<SyntaxToken> {
4922 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
4923 }
4924}
4925
4926#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4927pub struct Enforced {
4928 pub(crate) syntax: SyntaxNode,
4929}
4930impl Enforced {
4931 #[inline]
4932 pub fn enforced_token(&self) -> Option<SyntaxToken> {
4933 support::token(&self.syntax, SyntaxKind::ENFORCED_KW)
4934 }
4935}
4936
4937#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4938pub struct ExcludeConstraint {
4939 pub(crate) syntax: SyntaxNode,
4940}
4941impl ExcludeConstraint {
4942 #[inline]
4943 pub fn constraint_exclusion_list(&self) -> Option<ConstraintExclusionList> {
4944 support::child(&self.syntax)
4945 }
4946 #[inline]
4947 pub fn constraint_index_method(&self) -> Option<ConstraintIndexMethod> {
4948 support::child(&self.syntax)
4949 }
4950 #[inline]
4951 pub fn exclude_token(&self) -> Option<SyntaxToken> {
4952 support::token(&self.syntax, SyntaxKind::EXCLUDE_KW)
4953 }
4954}
4955
4956#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4957pub struct Execute {
4958 pub(crate) syntax: SyntaxNode,
4959}
4960impl Execute {
4961 #[inline]
4962 pub fn execute_token(&self) -> Option<SyntaxToken> {
4963 support::token(&self.syntax, SyntaxKind::EXECUTE_KW)
4964 }
4965}
4966
4967#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4968pub struct Explain {
4969 pub(crate) syntax: SyntaxNode,
4970}
4971impl Explain {
4972 #[inline]
4973 pub fn explain_stmt(&self) -> Option<ExplainStmt> {
4974 support::child(&self.syntax)
4975 }
4976 #[inline]
4977 pub fn explain_token(&self) -> Option<SyntaxToken> {
4978 support::token(&self.syntax, SyntaxKind::EXPLAIN_KW)
4979 }
4980}
4981
4982#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4983pub struct ExprType {
4984 pub(crate) syntax: SyntaxNode,
4985}
4986impl ExprType {
4987 #[inline]
4988 pub fn expr(&self) -> Option<Expr> {
4989 support::child(&self.syntax)
4990 }
4991}
4992
4993#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4994pub struct FatArrow {
4995 pub(crate) syntax: SyntaxNode,
4996}
4997impl FatArrow {
4998 #[inline]
4999 pub fn eq_token(&self) -> Option<SyntaxToken> {
5000 support::token(&self.syntax, SyntaxKind::EQ)
5001 }
5002 #[inline]
5003 pub fn r_angle_token(&self) -> Option<SyntaxToken> {
5004 support::token(&self.syntax, SyntaxKind::R_ANGLE)
5005 }
5006}
5007
5008#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5009pub struct Fetch {
5010 pub(crate) syntax: SyntaxNode,
5011}
5012impl Fetch {
5013 #[inline]
5014 pub fn fetch_token(&self) -> Option<SyntaxToken> {
5015 support::token(&self.syntax, SyntaxKind::FETCH_KW)
5016 }
5017}
5018
5019#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5020pub struct FetchClause {
5021 pub(crate) syntax: SyntaxNode,
5022}
5023impl FetchClause {
5024 #[inline]
5025 pub fn expr(&self) -> Option<Expr> {
5026 support::child(&self.syntax)
5027 }
5028 #[inline]
5029 pub fn fetch_token(&self) -> Option<SyntaxToken> {
5030 support::token(&self.syntax, SyntaxKind::FETCH_KW)
5031 }
5032 #[inline]
5033 pub fn first_token(&self) -> Option<SyntaxToken> {
5034 support::token(&self.syntax, SyntaxKind::FIRST_KW)
5035 }
5036 #[inline]
5037 pub fn next_token(&self) -> Option<SyntaxToken> {
5038 support::token(&self.syntax, SyntaxKind::NEXT_KW)
5039 }
5040 #[inline]
5041 pub fn only_token(&self) -> Option<SyntaxToken> {
5042 support::token(&self.syntax, SyntaxKind::ONLY_KW)
5043 }
5044 #[inline]
5045 pub fn row_token(&self) -> Option<SyntaxToken> {
5046 support::token(&self.syntax, SyntaxKind::ROW_KW)
5047 }
5048 #[inline]
5049 pub fn rows_token(&self) -> Option<SyntaxToken> {
5050 support::token(&self.syntax, SyntaxKind::ROWS_KW)
5051 }
5052 #[inline]
5053 pub fn ties_token(&self) -> Option<SyntaxToken> {
5054 support::token(&self.syntax, SyntaxKind::TIES_KW)
5055 }
5056 #[inline]
5057 pub fn with_token(&self) -> Option<SyntaxToken> {
5058 support::token(&self.syntax, SyntaxKind::WITH_KW)
5059 }
5060}
5061
5062#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5063pub struct FieldExpr {
5064 pub(crate) syntax: SyntaxNode,
5065}
5066impl FieldExpr {
5067 #[inline]
5068 pub fn star_token(&self) -> Option<SyntaxToken> {
5069 support::token(&self.syntax, SyntaxKind::STAR)
5070 }
5071 #[inline]
5072 pub fn dot_token(&self) -> Option<SyntaxToken> {
5073 support::token(&self.syntax, SyntaxKind::DOT)
5074 }
5075}
5076
5077#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5078pub struct FilterClause {
5079 pub(crate) syntax: SyntaxNode,
5080}
5081impl FilterClause {
5082 #[inline]
5083 pub fn expr(&self) -> Option<Expr> {
5084 support::child(&self.syntax)
5085 }
5086 #[inline]
5087 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
5088 support::token(&self.syntax, SyntaxKind::L_PAREN)
5089 }
5090 #[inline]
5091 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
5092 support::token(&self.syntax, SyntaxKind::R_PAREN)
5093 }
5094 #[inline]
5095 pub fn filter_token(&self) -> Option<SyntaxToken> {
5096 support::token(&self.syntax, SyntaxKind::FILTER_KW)
5097 }
5098 #[inline]
5099 pub fn where_token(&self) -> Option<SyntaxToken> {
5100 support::token(&self.syntax, SyntaxKind::WHERE_KW)
5101 }
5102}
5103
5104#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5105pub struct ForceRls {
5106 pub(crate) syntax: SyntaxNode,
5107}
5108impl ForceRls {
5109 #[inline]
5110 pub fn force_token(&self) -> Option<SyntaxToken> {
5111 support::token(&self.syntax, SyntaxKind::FORCE_KW)
5112 }
5113 #[inline]
5114 pub fn level_token(&self) -> Option<SyntaxToken> {
5115 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
5116 }
5117 #[inline]
5118 pub fn row_token(&self) -> Option<SyntaxToken> {
5119 support::token(&self.syntax, SyntaxKind::ROW_KW)
5120 }
5121 #[inline]
5122 pub fn security_token(&self) -> Option<SyntaxToken> {
5123 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
5124 }
5125}
5126
5127#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5128pub struct ForeignKeyConstraint {
5129 pub(crate) syntax: SyntaxNode,
5130}
5131impl ForeignKeyConstraint {
5132 #[inline]
5133 pub fn match_type(&self) -> Option<MatchType> {
5134 support::child(&self.syntax)
5135 }
5136 #[inline]
5137 pub fn on_delete_action(&self) -> Option<OnDeleteAction> {
5138 support::child(&self.syntax)
5139 }
5140 #[inline]
5141 pub fn on_update_action(&self) -> Option<OnUpdateAction> {
5142 support::child(&self.syntax)
5143 }
5144 #[inline]
5145 pub fn path(&self) -> Option<Path> {
5146 support::child(&self.syntax)
5147 }
5148 #[inline]
5149 pub fn foreign_token(&self) -> Option<SyntaxToken> {
5150 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
5151 }
5152 #[inline]
5153 pub fn key_token(&self) -> Option<SyntaxToken> {
5154 support::token(&self.syntax, SyntaxKind::KEY_KW)
5155 }
5156 #[inline]
5157 pub fn references_token(&self) -> Option<SyntaxToken> {
5158 support::token(&self.syntax, SyntaxKind::REFERENCES_KW)
5159 }
5160}
5161
5162#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5163pub struct FrameClause {
5164 pub(crate) syntax: SyntaxNode,
5165}
5166impl FrameClause {
5167 #[inline]
5168 pub fn groups_token(&self) -> Option<SyntaxToken> {
5169 support::token(&self.syntax, SyntaxKind::GROUPS_KW)
5170 }
5171 #[inline]
5172 pub fn range_token(&self) -> Option<SyntaxToken> {
5173 support::token(&self.syntax, SyntaxKind::RANGE_KW)
5174 }
5175 #[inline]
5176 pub fn rows_token(&self) -> Option<SyntaxToken> {
5177 support::token(&self.syntax, SyntaxKind::ROWS_KW)
5178 }
5179}
5180
5181#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5182pub struct FromClause {
5183 pub(crate) syntax: SyntaxNode,
5184}
5185impl FromClause {
5186 #[inline]
5187 pub fn from_items(&self) -> AstChildren<FromItem> {
5188 support::children(&self.syntax)
5189 }
5190 #[inline]
5191 pub fn join_exprs(&self) -> AstChildren<JoinExpr> {
5192 support::children(&self.syntax)
5193 }
5194 #[inline]
5195 pub fn from_token(&self) -> Option<SyntaxToken> {
5196 support::token(&self.syntax, SyntaxKind::FROM_KW)
5197 }
5198}
5199
5200#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5201pub struct FromItem {
5202 pub(crate) syntax: SyntaxNode,
5203}
5204impl FromItem {
5205 #[inline]
5206 pub fn alias(&self) -> Option<Alias> {
5207 support::child(&self.syntax)
5208 }
5209 #[inline]
5210 pub fn call_expr(&self) -> Option<CallExpr> {
5211 support::child(&self.syntax)
5212 }
5213 #[inline]
5214 pub fn field_expr(&self) -> Option<FieldExpr> {
5215 support::child(&self.syntax)
5216 }
5217 #[inline]
5218 pub fn name_ref(&self) -> Option<NameRef> {
5219 support::child(&self.syntax)
5220 }
5221 #[inline]
5222 pub fn paren_select(&self) -> Option<ParenSelect> {
5223 support::child(&self.syntax)
5224 }
5225 #[inline]
5226 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
5227 support::token(&self.syntax, SyntaxKind::L_PAREN)
5228 }
5229 #[inline]
5230 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
5231 support::token(&self.syntax, SyntaxKind::R_PAREN)
5232 }
5233 #[inline]
5234 pub fn from_token(&self) -> Option<SyntaxToken> {
5235 support::token(&self.syntax, SyntaxKind::FROM_KW)
5236 }
5237 #[inline]
5238 pub fn lateral_token(&self) -> Option<SyntaxToken> {
5239 support::token(&self.syntax, SyntaxKind::LATERAL_KW)
5240 }
5241 #[inline]
5242 pub fn only_token(&self) -> Option<SyntaxToken> {
5243 support::token(&self.syntax, SyntaxKind::ONLY_KW)
5244 }
5245 #[inline]
5246 pub fn rows_token(&self) -> Option<SyntaxToken> {
5247 support::token(&self.syntax, SyntaxKind::ROWS_KW)
5248 }
5249}
5250
5251#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5252pub struct FuncOptionList {
5253 pub(crate) syntax: SyntaxNode,
5254}
5255impl FuncOptionList {
5256 #[inline]
5257 pub fn options(&self) -> AstChildren<FuncOption> {
5258 support::children(&self.syntax)
5259 }
5260}
5261
5262#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5263pub struct FunctionSig {
5264 pub(crate) syntax: SyntaxNode,
5265}
5266impl FunctionSig {
5267 #[inline]
5268 pub fn param_list(&self) -> Option<ParamList> {
5269 support::child(&self.syntax)
5270 }
5271 #[inline]
5272 pub fn path(&self) -> Option<Path> {
5273 support::child(&self.syntax)
5274 }
5275}
5276
5277#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5278pub struct FunctionSigList {
5279 pub(crate) syntax: SyntaxNode,
5280}
5281impl FunctionSigList {
5282 #[inline]
5283 pub fn function_sigs(&self) -> AstChildren<FunctionSig> {
5284 support::children(&self.syntax)
5285 }
5286}
5287
5288#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5289pub struct GeneratedConstraint {
5290 pub(crate) syntax: SyntaxNode,
5291}
5292impl GeneratedConstraint {
5293 #[inline]
5294 pub fn expr(&self) -> Option<Expr> {
5295 support::child(&self.syntax)
5296 }
5297 #[inline]
5298 pub fn name_ref(&self) -> Option<NameRef> {
5299 support::child(&self.syntax)
5300 }
5301 #[inline]
5302 pub fn sequence_option_list(&self) -> Option<SequenceOptionList> {
5303 support::child(&self.syntax)
5304 }
5305 #[inline]
5306 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
5307 support::token(&self.syntax, SyntaxKind::L_PAREN)
5308 }
5309 #[inline]
5310 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
5311 support::token(&self.syntax, SyntaxKind::R_PAREN)
5312 }
5313 #[inline]
5314 pub fn always_token(&self) -> Option<SyntaxToken> {
5315 support::token(&self.syntax, SyntaxKind::ALWAYS_KW)
5316 }
5317 #[inline]
5318 pub fn as_token(&self) -> Option<SyntaxToken> {
5319 support::token(&self.syntax, SyntaxKind::AS_KW)
5320 }
5321 #[inline]
5322 pub fn by_token(&self) -> Option<SyntaxToken> {
5323 support::token(&self.syntax, SyntaxKind::BY_KW)
5324 }
5325 #[inline]
5326 pub fn constraint_token(&self) -> Option<SyntaxToken> {
5327 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
5328 }
5329 #[inline]
5330 pub fn default_token(&self) -> Option<SyntaxToken> {
5331 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
5332 }
5333 #[inline]
5334 pub fn generated_token(&self) -> Option<SyntaxToken> {
5335 support::token(&self.syntax, SyntaxKind::GENERATED_KW)
5336 }
5337 #[inline]
5338 pub fn identity_token(&self) -> Option<SyntaxToken> {
5339 support::token(&self.syntax, SyntaxKind::IDENTITY_KW)
5340 }
5341 #[inline]
5342 pub fn stored_token(&self) -> Option<SyntaxToken> {
5343 support::token(&self.syntax, SyntaxKind::STORED_KW)
5344 }
5345}
5346
5347#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5348pub struct Grant {
5349 pub(crate) syntax: SyntaxNode,
5350}
5351impl Grant {
5352 #[inline]
5353 pub fn grant_token(&self) -> Option<SyntaxToken> {
5354 support::token(&self.syntax, SyntaxKind::GRANT_KW)
5355 }
5356}
5357
5358#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5359pub struct GroupByClause {
5360 pub(crate) syntax: SyntaxNode,
5361}
5362impl GroupByClause {
5363 #[inline]
5364 pub fn group_by_list(&self) -> Option<GroupByList> {
5365 support::child(&self.syntax)
5366 }
5367 #[inline]
5368 pub fn all_token(&self) -> Option<SyntaxToken> {
5369 support::token(&self.syntax, SyntaxKind::ALL_KW)
5370 }
5371 #[inline]
5372 pub fn by_token(&self) -> Option<SyntaxToken> {
5373 support::token(&self.syntax, SyntaxKind::BY_KW)
5374 }
5375 #[inline]
5376 pub fn distinct_token(&self) -> Option<SyntaxToken> {
5377 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
5378 }
5379 #[inline]
5380 pub fn group_token(&self) -> Option<SyntaxToken> {
5381 support::token(&self.syntax, SyntaxKind::GROUP_KW)
5382 }
5383}
5384
5385#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5386pub struct GroupByList {
5387 pub(crate) syntax: SyntaxNode,
5388}
5389impl GroupByList {
5390 #[inline]
5391 pub fn group_bys(&self) -> AstChildren<GroupBy> {
5392 support::children(&self.syntax)
5393 }
5394}
5395
5396#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5397pub struct GroupingCube {
5398 pub(crate) syntax: SyntaxNode,
5399}
5400impl GroupingCube {
5401 #[inline]
5402 pub fn expr(&self) -> Option<Expr> {
5403 support::child(&self.syntax)
5404 }
5405 #[inline]
5406 pub fn cube_token(&self) -> Option<SyntaxToken> {
5407 support::token(&self.syntax, SyntaxKind::CUBE_KW)
5408 }
5409}
5410
5411#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5412pub struct GroupingExpr {
5413 pub(crate) syntax: SyntaxNode,
5414}
5415impl GroupingExpr {
5416 #[inline]
5417 pub fn expr(&self) -> Option<Expr> {
5418 support::child(&self.syntax)
5419 }
5420}
5421
5422#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5423pub struct GroupingRollup {
5424 pub(crate) syntax: SyntaxNode,
5425}
5426impl GroupingRollup {
5427 #[inline]
5428 pub fn expr(&self) -> Option<Expr> {
5429 support::child(&self.syntax)
5430 }
5431 #[inline]
5432 pub fn rollup_token(&self) -> Option<SyntaxToken> {
5433 support::token(&self.syntax, SyntaxKind::ROLLUP_KW)
5434 }
5435}
5436
5437#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5438pub struct GroupingSets {
5439 pub(crate) syntax: SyntaxNode,
5440}
5441impl GroupingSets {
5442 #[inline]
5443 pub fn expr(&self) -> Option<Expr> {
5444 support::child(&self.syntax)
5445 }
5446 #[inline]
5447 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
5448 support::token(&self.syntax, SyntaxKind::L_PAREN)
5449 }
5450 #[inline]
5451 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
5452 support::token(&self.syntax, SyntaxKind::R_PAREN)
5453 }
5454 #[inline]
5455 pub fn grouping_token(&self) -> Option<SyntaxToken> {
5456 support::token(&self.syntax, SyntaxKind::GROUPING_KW)
5457 }
5458 #[inline]
5459 pub fn sets_token(&self) -> Option<SyntaxToken> {
5460 support::token(&self.syntax, SyntaxKind::SETS_KW)
5461 }
5462}
5463
5464#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5465pub struct Gteq {
5466 pub(crate) syntax: SyntaxNode,
5467}
5468impl Gteq {
5469 #[inline]
5470 pub fn eq_token(&self) -> Option<SyntaxToken> {
5471 support::token(&self.syntax, SyntaxKind::EQ)
5472 }
5473 #[inline]
5474 pub fn r_angle_token(&self) -> Option<SyntaxToken> {
5475 support::token(&self.syntax, SyntaxKind::R_ANGLE)
5476 }
5477}
5478
5479#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5480pub struct HavingClause {
5481 pub(crate) syntax: SyntaxNode,
5482}
5483impl HavingClause {
5484 #[inline]
5485 pub fn expr(&self) -> Option<Expr> {
5486 support::child(&self.syntax)
5487 }
5488 #[inline]
5489 pub fn having_token(&self) -> Option<SyntaxToken> {
5490 support::token(&self.syntax, SyntaxKind::HAVING_KW)
5491 }
5492}
5493
5494#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5495pub struct IfExists {
5496 pub(crate) syntax: SyntaxNode,
5497}
5498impl IfExists {
5499 #[inline]
5500 pub fn exists_token(&self) -> Option<SyntaxToken> {
5501 support::token(&self.syntax, SyntaxKind::EXISTS_KW)
5502 }
5503 #[inline]
5504 pub fn if_token(&self) -> Option<SyntaxToken> {
5505 support::token(&self.syntax, SyntaxKind::IF_KW)
5506 }
5507}
5508
5509#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5510pub struct IfNotExists {
5511 pub(crate) syntax: SyntaxNode,
5512}
5513impl IfNotExists {
5514 #[inline]
5515 pub fn exists_token(&self) -> Option<SyntaxToken> {
5516 support::token(&self.syntax, SyntaxKind::EXISTS_KW)
5517 }
5518 #[inline]
5519 pub fn if_token(&self) -> Option<SyntaxToken> {
5520 support::token(&self.syntax, SyntaxKind::IF_KW)
5521 }
5522 #[inline]
5523 pub fn not_token(&self) -> Option<SyntaxToken> {
5524 support::token(&self.syntax, SyntaxKind::NOT_KW)
5525 }
5526}
5527
5528#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5529pub struct ImportForeignSchema {
5530 pub(crate) syntax: SyntaxNode,
5531}
5532impl ImportForeignSchema {
5533 #[inline]
5534 pub fn name_ref(&self) -> Option<NameRef> {
5535 support::child(&self.syntax)
5536 }
5537 #[inline]
5538 pub fn foreign_token(&self) -> Option<SyntaxToken> {
5539 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
5540 }
5541 #[inline]
5542 pub fn import_token(&self) -> Option<SyntaxToken> {
5543 support::token(&self.syntax, SyntaxKind::IMPORT_KW)
5544 }
5545 #[inline]
5546 pub fn schema_token(&self) -> Option<SyntaxToken> {
5547 support::token(&self.syntax, SyntaxKind::SCHEMA_KW)
5548 }
5549}
5550
5551#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5552pub struct IndexExpr {
5553 pub(crate) syntax: SyntaxNode,
5554}
5555impl IndexExpr {
5556 #[inline]
5557 pub fn l_brack_token(&self) -> Option<SyntaxToken> {
5558 support::token(&self.syntax, SyntaxKind::L_BRACK)
5559 }
5560 #[inline]
5561 pub fn r_brack_token(&self) -> Option<SyntaxToken> {
5562 support::token(&self.syntax, SyntaxKind::R_BRACK)
5563 }
5564}
5565
5566#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5567pub struct Inherit {
5568 pub(crate) syntax: SyntaxNode,
5569}
5570impl Inherit {
5571 #[inline]
5572 pub fn path(&self) -> Option<Path> {
5573 support::child(&self.syntax)
5574 }
5575 #[inline]
5576 pub fn inherit_token(&self) -> Option<SyntaxToken> {
5577 support::token(&self.syntax, SyntaxKind::INHERIT_KW)
5578 }
5579}
5580
5581#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5582pub struct InheritTable {
5583 pub(crate) syntax: SyntaxNode,
5584}
5585impl InheritTable {
5586 #[inline]
5587 pub fn path(&self) -> Option<Path> {
5588 support::child(&self.syntax)
5589 }
5590 #[inline]
5591 pub fn inherit_token(&self) -> Option<SyntaxToken> {
5592 support::token(&self.syntax, SyntaxKind::INHERIT_KW)
5593 }
5594}
5595
5596#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5597pub struct Inherits {
5598 pub(crate) syntax: SyntaxNode,
5599}
5600impl Inherits {
5601 #[inline]
5602 pub fn paths(&self) -> AstChildren<Path> {
5603 support::children(&self.syntax)
5604 }
5605 #[inline]
5606 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
5607 support::token(&self.syntax, SyntaxKind::L_PAREN)
5608 }
5609 #[inline]
5610 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
5611 support::token(&self.syntax, SyntaxKind::R_PAREN)
5612 }
5613 #[inline]
5614 pub fn inherits_token(&self) -> Option<SyntaxToken> {
5615 support::token(&self.syntax, SyntaxKind::INHERITS_KW)
5616 }
5617}
5618
5619#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5620pub struct InitiallyDeferredConstraintOption {
5621 pub(crate) syntax: SyntaxNode,
5622}
5623impl InitiallyDeferredConstraintOption {
5624 #[inline]
5625 pub fn deferred_token(&self) -> Option<SyntaxToken> {
5626 support::token(&self.syntax, SyntaxKind::DEFERRED_KW)
5627 }
5628 #[inline]
5629 pub fn initially_token(&self) -> Option<SyntaxToken> {
5630 support::token(&self.syntax, SyntaxKind::INITIALLY_KW)
5631 }
5632}
5633
5634#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5635pub struct InitiallyImmediateConstraintOption {
5636 pub(crate) syntax: SyntaxNode,
5637}
5638impl InitiallyImmediateConstraintOption {
5639 #[inline]
5640 pub fn immediate_token(&self) -> Option<SyntaxToken> {
5641 support::token(&self.syntax, SyntaxKind::IMMEDIATE_KW)
5642 }
5643 #[inline]
5644 pub fn initially_token(&self) -> Option<SyntaxToken> {
5645 support::token(&self.syntax, SyntaxKind::INITIALLY_KW)
5646 }
5647}
5648
5649#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5650pub struct Insert {
5651 pub(crate) syntax: SyntaxNode,
5652}
5653impl Insert {
5654 #[inline]
5655 pub fn alias(&self) -> Option<Alias> {
5656 support::child(&self.syntax)
5657 }
5658 #[inline]
5659 pub fn column_list(&self) -> Option<ColumnList> {
5660 support::child(&self.syntax)
5661 }
5662 #[inline]
5663 pub fn on_conflict_clause(&self) -> Option<OnConflictClause> {
5664 support::child(&self.syntax)
5665 }
5666 #[inline]
5667 pub fn path(&self) -> Option<Path> {
5668 support::child(&self.syntax)
5669 }
5670 #[inline]
5671 pub fn returning_clause(&self) -> Option<ReturningClause> {
5672 support::child(&self.syntax)
5673 }
5674 #[inline]
5675 pub fn stmt(&self) -> Option<Stmt> {
5676 support::child(&self.syntax)
5677 }
5678 #[inline]
5679 pub fn values(&self) -> Option<Values> {
5680 support::child(&self.syntax)
5681 }
5682 #[inline]
5683 pub fn default_token(&self) -> Option<SyntaxToken> {
5684 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
5685 }
5686 #[inline]
5687 pub fn insert_token(&self) -> Option<SyntaxToken> {
5688 support::token(&self.syntax, SyntaxKind::INSERT_KW)
5689 }
5690 #[inline]
5691 pub fn into_token(&self) -> Option<SyntaxToken> {
5692 support::token(&self.syntax, SyntaxKind::INTO_KW)
5693 }
5694 #[inline]
5695 pub fn overriding_token(&self) -> Option<SyntaxToken> {
5696 support::token(&self.syntax, SyntaxKind::OVERRIDING_KW)
5697 }
5698 #[inline]
5699 pub fn system_token(&self) -> Option<SyntaxToken> {
5700 support::token(&self.syntax, SyntaxKind::SYSTEM_KW)
5701 }
5702 #[inline]
5703 pub fn user_token(&self) -> Option<SyntaxToken> {
5704 support::token(&self.syntax, SyntaxKind::USER_KW)
5705 }
5706 #[inline]
5707 pub fn value_token(&self) -> Option<SyntaxToken> {
5708 support::token(&self.syntax, SyntaxKind::VALUE_KW)
5709 }
5710 #[inline]
5711 pub fn values_token(&self) -> Option<SyntaxToken> {
5712 support::token(&self.syntax, SyntaxKind::VALUES_KW)
5713 }
5714}
5715
5716#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5717pub struct IntervalType {
5718 pub(crate) syntax: SyntaxNode,
5719}
5720impl IntervalType {
5721 #[inline]
5722 pub fn literal(&self) -> Option<Literal> {
5723 support::child(&self.syntax)
5724 }
5725 #[inline]
5726 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
5727 support::token(&self.syntax, SyntaxKind::L_PAREN)
5728 }
5729 #[inline]
5730 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
5731 support::token(&self.syntax, SyntaxKind::R_PAREN)
5732 }
5733 #[inline]
5734 pub fn day_token(&self) -> Option<SyntaxToken> {
5735 support::token(&self.syntax, SyntaxKind::DAY_KW)
5736 }
5737 #[inline]
5738 pub fn hour_token(&self) -> Option<SyntaxToken> {
5739 support::token(&self.syntax, SyntaxKind::HOUR_KW)
5740 }
5741 #[inline]
5742 pub fn interval_token(&self) -> Option<SyntaxToken> {
5743 support::token(&self.syntax, SyntaxKind::INTERVAL_KW)
5744 }
5745 #[inline]
5746 pub fn minute_token(&self) -> Option<SyntaxToken> {
5747 support::token(&self.syntax, SyntaxKind::MINUTE_KW)
5748 }
5749 #[inline]
5750 pub fn month_token(&self) -> Option<SyntaxToken> {
5751 support::token(&self.syntax, SyntaxKind::MONTH_KW)
5752 }
5753 #[inline]
5754 pub fn second_token(&self) -> Option<SyntaxToken> {
5755 support::token(&self.syntax, SyntaxKind::SECOND_KW)
5756 }
5757 #[inline]
5758 pub fn to_token(&self) -> Option<SyntaxToken> {
5759 support::token(&self.syntax, SyntaxKind::TO_KW)
5760 }
5761 #[inline]
5762 pub fn year_token(&self) -> Option<SyntaxToken> {
5763 support::token(&self.syntax, SyntaxKind::YEAR_KW)
5764 }
5765}
5766
5767#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5768pub struct IntoClause {
5769 pub(crate) syntax: SyntaxNode,
5770}
5771impl IntoClause {
5772 #[inline]
5773 pub fn into_token(&self) -> Option<SyntaxToken> {
5774 support::token(&self.syntax, SyntaxKind::INTO_KW)
5775 }
5776}
5777
5778#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5779pub struct IsDistinctFrom {
5780 pub(crate) syntax: SyntaxNode,
5781}
5782impl IsDistinctFrom {
5783 #[inline]
5784 pub fn distinct_token(&self) -> Option<SyntaxToken> {
5785 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
5786 }
5787 #[inline]
5788 pub fn from_token(&self) -> Option<SyntaxToken> {
5789 support::token(&self.syntax, SyntaxKind::FROM_KW)
5790 }
5791 #[inline]
5792 pub fn is_token(&self) -> Option<SyntaxToken> {
5793 support::token(&self.syntax, SyntaxKind::IS_KW)
5794 }
5795}
5796
5797#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5798pub struct IsJson {
5799 pub(crate) syntax: SyntaxNode,
5800}
5801impl IsJson {
5802 #[inline]
5803 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5804 support::child(&self.syntax)
5805 }
5806 #[inline]
5807 pub fn is_token(&self) -> Option<SyntaxToken> {
5808 support::token(&self.syntax, SyntaxKind::IS_KW)
5809 }
5810 #[inline]
5811 pub fn json_token(&self) -> Option<SyntaxToken> {
5812 support::token(&self.syntax, SyntaxKind::JSON_KW)
5813 }
5814}
5815
5816#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5817pub struct IsJsonArray {
5818 pub(crate) syntax: SyntaxNode,
5819}
5820impl IsJsonArray {
5821 #[inline]
5822 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5823 support::child(&self.syntax)
5824 }
5825 #[inline]
5826 pub fn array_token(&self) -> Option<SyntaxToken> {
5827 support::token(&self.syntax, SyntaxKind::ARRAY_KW)
5828 }
5829 #[inline]
5830 pub fn is_token(&self) -> Option<SyntaxToken> {
5831 support::token(&self.syntax, SyntaxKind::IS_KW)
5832 }
5833 #[inline]
5834 pub fn json_token(&self) -> Option<SyntaxToken> {
5835 support::token(&self.syntax, SyntaxKind::JSON_KW)
5836 }
5837}
5838
5839#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5840pub struct IsJsonObject {
5841 pub(crate) syntax: SyntaxNode,
5842}
5843impl IsJsonObject {
5844 #[inline]
5845 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5846 support::child(&self.syntax)
5847 }
5848 #[inline]
5849 pub fn is_token(&self) -> Option<SyntaxToken> {
5850 support::token(&self.syntax, SyntaxKind::IS_KW)
5851 }
5852 #[inline]
5853 pub fn json_token(&self) -> Option<SyntaxToken> {
5854 support::token(&self.syntax, SyntaxKind::JSON_KW)
5855 }
5856 #[inline]
5857 pub fn object_token(&self) -> Option<SyntaxToken> {
5858 support::token(&self.syntax, SyntaxKind::OBJECT_KW)
5859 }
5860}
5861
5862#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5863pub struct IsJsonScalar {
5864 pub(crate) syntax: SyntaxNode,
5865}
5866impl IsJsonScalar {
5867 #[inline]
5868 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5869 support::child(&self.syntax)
5870 }
5871 #[inline]
5872 pub fn is_token(&self) -> Option<SyntaxToken> {
5873 support::token(&self.syntax, SyntaxKind::IS_KW)
5874 }
5875 #[inline]
5876 pub fn json_token(&self) -> Option<SyntaxToken> {
5877 support::token(&self.syntax, SyntaxKind::JSON_KW)
5878 }
5879 #[inline]
5880 pub fn scalar_token(&self) -> Option<SyntaxToken> {
5881 support::token(&self.syntax, SyntaxKind::SCALAR_KW)
5882 }
5883}
5884
5885#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5886pub struct IsJsonValue {
5887 pub(crate) syntax: SyntaxNode,
5888}
5889impl IsJsonValue {
5890 #[inline]
5891 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5892 support::child(&self.syntax)
5893 }
5894 #[inline]
5895 pub fn is_token(&self) -> Option<SyntaxToken> {
5896 support::token(&self.syntax, SyntaxKind::IS_KW)
5897 }
5898 #[inline]
5899 pub fn json_token(&self) -> Option<SyntaxToken> {
5900 support::token(&self.syntax, SyntaxKind::JSON_KW)
5901 }
5902 #[inline]
5903 pub fn value_token(&self) -> Option<SyntaxToken> {
5904 support::token(&self.syntax, SyntaxKind::VALUE_KW)
5905 }
5906}
5907
5908#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5909pub struct IsNormalized {
5910 pub(crate) syntax: SyntaxNode,
5911}
5912impl IsNormalized {
5913 #[inline]
5914 pub fn unicode_normal_form(&self) -> Option<UnicodeNormalForm> {
5915 support::child(&self.syntax)
5916 }
5917 #[inline]
5918 pub fn is_token(&self) -> Option<SyntaxToken> {
5919 support::token(&self.syntax, SyntaxKind::IS_KW)
5920 }
5921 #[inline]
5922 pub fn normalized_token(&self) -> Option<SyntaxToken> {
5923 support::token(&self.syntax, SyntaxKind::NORMALIZED_KW)
5924 }
5925}
5926
5927#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5928pub struct IsNot {
5929 pub(crate) syntax: SyntaxNode,
5930}
5931impl IsNot {
5932 #[inline]
5933 pub fn is_token(&self) -> Option<SyntaxToken> {
5934 support::token(&self.syntax, SyntaxKind::IS_KW)
5935 }
5936 #[inline]
5937 pub fn not_token(&self) -> Option<SyntaxToken> {
5938 support::token(&self.syntax, SyntaxKind::NOT_KW)
5939 }
5940}
5941
5942#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5943pub struct IsNotDistinctFrom {
5944 pub(crate) syntax: SyntaxNode,
5945}
5946impl IsNotDistinctFrom {
5947 #[inline]
5948 pub fn distinct_token(&self) -> Option<SyntaxToken> {
5949 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
5950 }
5951 #[inline]
5952 pub fn from_token(&self) -> Option<SyntaxToken> {
5953 support::token(&self.syntax, SyntaxKind::FROM_KW)
5954 }
5955 #[inline]
5956 pub fn is_token(&self) -> Option<SyntaxToken> {
5957 support::token(&self.syntax, SyntaxKind::IS_KW)
5958 }
5959 #[inline]
5960 pub fn not_token(&self) -> Option<SyntaxToken> {
5961 support::token(&self.syntax, SyntaxKind::NOT_KW)
5962 }
5963}
5964
5965#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5966pub struct IsNotJson {
5967 pub(crate) syntax: SyntaxNode,
5968}
5969impl IsNotJson {
5970 #[inline]
5971 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5972 support::child(&self.syntax)
5973 }
5974 #[inline]
5975 pub fn is_token(&self) -> Option<SyntaxToken> {
5976 support::token(&self.syntax, SyntaxKind::IS_KW)
5977 }
5978 #[inline]
5979 pub fn json_token(&self) -> Option<SyntaxToken> {
5980 support::token(&self.syntax, SyntaxKind::JSON_KW)
5981 }
5982 #[inline]
5983 pub fn not_token(&self) -> Option<SyntaxToken> {
5984 support::token(&self.syntax, SyntaxKind::NOT_KW)
5985 }
5986}
5987
5988#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5989pub struct IsNotJsonArray {
5990 pub(crate) syntax: SyntaxNode,
5991}
5992impl IsNotJsonArray {
5993 #[inline]
5994 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5995 support::child(&self.syntax)
5996 }
5997 #[inline]
5998 pub fn array_token(&self) -> Option<SyntaxToken> {
5999 support::token(&self.syntax, SyntaxKind::ARRAY_KW)
6000 }
6001 #[inline]
6002 pub fn is_token(&self) -> Option<SyntaxToken> {
6003 support::token(&self.syntax, SyntaxKind::IS_KW)
6004 }
6005 #[inline]
6006 pub fn json_token(&self) -> Option<SyntaxToken> {
6007 support::token(&self.syntax, SyntaxKind::JSON_KW)
6008 }
6009 #[inline]
6010 pub fn not_token(&self) -> Option<SyntaxToken> {
6011 support::token(&self.syntax, SyntaxKind::NOT_KW)
6012 }
6013}
6014
6015#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6016pub struct IsNotJsonObject {
6017 pub(crate) syntax: SyntaxNode,
6018}
6019impl IsNotJsonObject {
6020 #[inline]
6021 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
6022 support::child(&self.syntax)
6023 }
6024 #[inline]
6025 pub fn is_token(&self) -> Option<SyntaxToken> {
6026 support::token(&self.syntax, SyntaxKind::IS_KW)
6027 }
6028 #[inline]
6029 pub fn json_token(&self) -> Option<SyntaxToken> {
6030 support::token(&self.syntax, SyntaxKind::JSON_KW)
6031 }
6032 #[inline]
6033 pub fn not_token(&self) -> Option<SyntaxToken> {
6034 support::token(&self.syntax, SyntaxKind::NOT_KW)
6035 }
6036 #[inline]
6037 pub fn object_token(&self) -> Option<SyntaxToken> {
6038 support::token(&self.syntax, SyntaxKind::OBJECT_KW)
6039 }
6040}
6041
6042#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6043pub struct IsNotJsonScalar {
6044 pub(crate) syntax: SyntaxNode,
6045}
6046impl IsNotJsonScalar {
6047 #[inline]
6048 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
6049 support::child(&self.syntax)
6050 }
6051 #[inline]
6052 pub fn is_token(&self) -> Option<SyntaxToken> {
6053 support::token(&self.syntax, SyntaxKind::IS_KW)
6054 }
6055 #[inline]
6056 pub fn json_token(&self) -> Option<SyntaxToken> {
6057 support::token(&self.syntax, SyntaxKind::JSON_KW)
6058 }
6059 #[inline]
6060 pub fn not_token(&self) -> Option<SyntaxToken> {
6061 support::token(&self.syntax, SyntaxKind::NOT_KW)
6062 }
6063 #[inline]
6064 pub fn scalar_token(&self) -> Option<SyntaxToken> {
6065 support::token(&self.syntax, SyntaxKind::SCALAR_KW)
6066 }
6067}
6068
6069#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6070pub struct IsNotJsonValue {
6071 pub(crate) syntax: SyntaxNode,
6072}
6073impl IsNotJsonValue {
6074 #[inline]
6075 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
6076 support::child(&self.syntax)
6077 }
6078 #[inline]
6079 pub fn is_token(&self) -> Option<SyntaxToken> {
6080 support::token(&self.syntax, SyntaxKind::IS_KW)
6081 }
6082 #[inline]
6083 pub fn json_token(&self) -> Option<SyntaxToken> {
6084 support::token(&self.syntax, SyntaxKind::JSON_KW)
6085 }
6086 #[inline]
6087 pub fn not_token(&self) -> Option<SyntaxToken> {
6088 support::token(&self.syntax, SyntaxKind::NOT_KW)
6089 }
6090 #[inline]
6091 pub fn value_token(&self) -> Option<SyntaxToken> {
6092 support::token(&self.syntax, SyntaxKind::VALUE_KW)
6093 }
6094}
6095
6096#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6097pub struct IsNotNormalized {
6098 pub(crate) syntax: SyntaxNode,
6099}
6100impl IsNotNormalized {
6101 #[inline]
6102 pub fn unicode_normal_form(&self) -> Option<UnicodeNormalForm> {
6103 support::child(&self.syntax)
6104 }
6105 #[inline]
6106 pub fn is_token(&self) -> Option<SyntaxToken> {
6107 support::token(&self.syntax, SyntaxKind::IS_KW)
6108 }
6109 #[inline]
6110 pub fn normalized_token(&self) -> Option<SyntaxToken> {
6111 support::token(&self.syntax, SyntaxKind::NORMALIZED_KW)
6112 }
6113 #[inline]
6114 pub fn not_token(&self) -> Option<SyntaxToken> {
6115 support::token(&self.syntax, SyntaxKind::NOT_KW)
6116 }
6117}
6118
6119#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6120pub struct Join {
6121 pub(crate) syntax: SyntaxNode,
6122}
6123impl Join {
6124 #[inline]
6125 pub fn from_item(&self) -> Option<FromItem> {
6126 support::child(&self.syntax)
6127 }
6128 #[inline]
6129 pub fn join_type(&self) -> Option<JoinType> {
6130 support::child(&self.syntax)
6131 }
6132 #[inline]
6133 pub fn on_clause(&self) -> Option<OnClause> {
6134 support::child(&self.syntax)
6135 }
6136 #[inline]
6137 pub fn using_clause(&self) -> Option<JoinUsingClause> {
6138 support::child(&self.syntax)
6139 }
6140 #[inline]
6141 pub fn natural_token(&self) -> Option<SyntaxToken> {
6142 support::token(&self.syntax, SyntaxKind::NATURAL_KW)
6143 }
6144}
6145
6146#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6147pub struct JoinCross {
6148 pub(crate) syntax: SyntaxNode,
6149}
6150impl JoinCross {
6151 #[inline]
6152 pub fn cross_token(&self) -> Option<SyntaxToken> {
6153 support::token(&self.syntax, SyntaxKind::CROSS_KW)
6154 }
6155 #[inline]
6156 pub fn join_token(&self) -> Option<SyntaxToken> {
6157 support::token(&self.syntax, SyntaxKind::JOIN_KW)
6158 }
6159}
6160
6161#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6162pub struct JoinExpr {
6163 pub(crate) syntax: SyntaxNode,
6164}
6165impl JoinExpr {
6166 #[inline]
6167 pub fn from_item(&self) -> Option<FromItem> {
6168 support::child(&self.syntax)
6169 }
6170 #[inline]
6171 pub fn join(&self) -> Option<Join> {
6172 support::child(&self.syntax)
6173 }
6174 #[inline]
6175 pub fn join_expr(&self) -> Option<JoinExpr> {
6176 support::child(&self.syntax)
6177 }
6178}
6179
6180#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6181pub struct JoinFull {
6182 pub(crate) syntax: SyntaxNode,
6183}
6184impl JoinFull {
6185 #[inline]
6186 pub fn full_token(&self) -> Option<SyntaxToken> {
6187 support::token(&self.syntax, SyntaxKind::FULL_KW)
6188 }
6189 #[inline]
6190 pub fn join_token(&self) -> Option<SyntaxToken> {
6191 support::token(&self.syntax, SyntaxKind::JOIN_KW)
6192 }
6193 #[inline]
6194 pub fn outer_token(&self) -> Option<SyntaxToken> {
6195 support::token(&self.syntax, SyntaxKind::OUTER_KW)
6196 }
6197}
6198
6199#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6200pub struct JoinInner {
6201 pub(crate) syntax: SyntaxNode,
6202}
6203impl JoinInner {
6204 #[inline]
6205 pub fn inner_token(&self) -> Option<SyntaxToken> {
6206 support::token(&self.syntax, SyntaxKind::INNER_KW)
6207 }
6208 #[inline]
6209 pub fn join_token(&self) -> Option<SyntaxToken> {
6210 support::token(&self.syntax, SyntaxKind::JOIN_KW)
6211 }
6212}
6213
6214#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6215pub struct JoinLeft {
6216 pub(crate) syntax: SyntaxNode,
6217}
6218impl JoinLeft {
6219 #[inline]
6220 pub fn join_token(&self) -> Option<SyntaxToken> {
6221 support::token(&self.syntax, SyntaxKind::JOIN_KW)
6222 }
6223 #[inline]
6224 pub fn left_token(&self) -> Option<SyntaxToken> {
6225 support::token(&self.syntax, SyntaxKind::LEFT_KW)
6226 }
6227 #[inline]
6228 pub fn outer_token(&self) -> Option<SyntaxToken> {
6229 support::token(&self.syntax, SyntaxKind::OUTER_KW)
6230 }
6231}
6232
6233#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6234pub struct JoinRight {
6235 pub(crate) syntax: SyntaxNode,
6236}
6237impl JoinRight {
6238 #[inline]
6239 pub fn join_token(&self) -> Option<SyntaxToken> {
6240 support::token(&self.syntax, SyntaxKind::JOIN_KW)
6241 }
6242 #[inline]
6243 pub fn outer_token(&self) -> Option<SyntaxToken> {
6244 support::token(&self.syntax, SyntaxKind::OUTER_KW)
6245 }
6246 #[inline]
6247 pub fn right_token(&self) -> Option<SyntaxToken> {
6248 support::token(&self.syntax, SyntaxKind::RIGHT_KW)
6249 }
6250}
6251
6252#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6253pub struct JoinUsingClause {
6254 pub(crate) syntax: SyntaxNode,
6255}
6256impl JoinUsingClause {
6257 #[inline]
6258 pub fn alias(&self) -> Option<Alias> {
6259 support::child(&self.syntax)
6260 }
6261 #[inline]
6262 pub fn column_list(&self) -> Option<ColumnList> {
6263 support::child(&self.syntax)
6264 }
6265 #[inline]
6266 pub fn using_token(&self) -> Option<SyntaxToken> {
6267 support::token(&self.syntax, SyntaxKind::USING_KW)
6268 }
6269}
6270
6271#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6272pub struct JsonBehaviorDefault {
6273 pub(crate) syntax: SyntaxNode,
6274}
6275impl JsonBehaviorDefault {
6276 #[inline]
6277 pub fn expr(&self) -> Option<Expr> {
6278 support::child(&self.syntax)
6279 }
6280 #[inline]
6281 pub fn default_token(&self) -> Option<SyntaxToken> {
6282 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
6283 }
6284}
6285
6286#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6287pub struct JsonBehaviorEmptyArray {
6288 pub(crate) syntax: SyntaxNode,
6289}
6290impl JsonBehaviorEmptyArray {
6291 #[inline]
6292 pub fn array_token(&self) -> Option<SyntaxToken> {
6293 support::token(&self.syntax, SyntaxKind::ARRAY_KW)
6294 }
6295 #[inline]
6296 pub fn empty_token(&self) -> Option<SyntaxToken> {
6297 support::token(&self.syntax, SyntaxKind::EMPTY_KW)
6298 }
6299}
6300
6301#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6302pub struct JsonBehaviorEmptyObject {
6303 pub(crate) syntax: SyntaxNode,
6304}
6305impl JsonBehaviorEmptyObject {
6306 #[inline]
6307 pub fn empty_token(&self) -> Option<SyntaxToken> {
6308 support::token(&self.syntax, SyntaxKind::EMPTY_KW)
6309 }
6310 #[inline]
6311 pub fn object_token(&self) -> Option<SyntaxToken> {
6312 support::token(&self.syntax, SyntaxKind::OBJECT_KW)
6313 }
6314}
6315
6316#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6317pub struct JsonBehaviorError {
6318 pub(crate) syntax: SyntaxNode,
6319}
6320impl JsonBehaviorError {
6321 #[inline]
6322 pub fn error_token(&self) -> Option<SyntaxToken> {
6323 support::token(&self.syntax, SyntaxKind::ERROR_KW)
6324 }
6325}
6326
6327#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6328pub struct JsonBehaviorFalse {
6329 pub(crate) syntax: SyntaxNode,
6330}
6331impl JsonBehaviorFalse {
6332 #[inline]
6333 pub fn false_token(&self) -> Option<SyntaxToken> {
6334 support::token(&self.syntax, SyntaxKind::FALSE_KW)
6335 }
6336}
6337
6338#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6339pub struct JsonBehaviorNull {
6340 pub(crate) syntax: SyntaxNode,
6341}
6342impl JsonBehaviorNull {
6343 #[inline]
6344 pub fn null_token(&self) -> Option<SyntaxToken> {
6345 support::token(&self.syntax, SyntaxKind::NULL_KW)
6346 }
6347}
6348
6349#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6350pub struct JsonBehaviorTrue {
6351 pub(crate) syntax: SyntaxNode,
6352}
6353impl JsonBehaviorTrue {
6354 #[inline]
6355 pub fn true_token(&self) -> Option<SyntaxToken> {
6356 support::token(&self.syntax, SyntaxKind::TRUE_KW)
6357 }
6358}
6359
6360#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6361pub struct JsonBehaviorUnknown {
6362 pub(crate) syntax: SyntaxNode,
6363}
6364impl JsonBehaviorUnknown {
6365 #[inline]
6366 pub fn unknown_token(&self) -> Option<SyntaxToken> {
6367 support::token(&self.syntax, SyntaxKind::UNKNOWN_KW)
6368 }
6369}
6370
6371#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6372pub struct JsonFormatClause {
6373 pub(crate) syntax: SyntaxNode,
6374}
6375impl JsonFormatClause {
6376 #[inline]
6377 pub fn name(&self) -> Option<Name> {
6378 support::child(&self.syntax)
6379 }
6380 #[inline]
6381 pub fn encoding_token(&self) -> Option<SyntaxToken> {
6382 support::token(&self.syntax, SyntaxKind::ENCODING_KW)
6383 }
6384 #[inline]
6385 pub fn format_token(&self) -> Option<SyntaxToken> {
6386 support::token(&self.syntax, SyntaxKind::FORMAT_KW)
6387 }
6388 #[inline]
6389 pub fn json_token(&self) -> Option<SyntaxToken> {
6390 support::token(&self.syntax, SyntaxKind::JSON_KW)
6391 }
6392}
6393
6394#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6395pub struct JsonKeyValue {
6396 pub(crate) syntax: SyntaxNode,
6397}
6398impl JsonKeyValue {
6399 #[inline]
6400 pub fn expr(&self) -> Option<Expr> {
6401 support::child(&self.syntax)
6402 }
6403 #[inline]
6404 pub fn json_value_expr(&self) -> Option<JsonValueExpr> {
6405 support::child(&self.syntax)
6406 }
6407 #[inline]
6408 pub fn colon_token(&self) -> Option<SyntaxToken> {
6409 support::token(&self.syntax, SyntaxKind::COLON)
6410 }
6411}
6412
6413#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6414pub struct JsonKeysUniqueClause {
6415 pub(crate) syntax: SyntaxNode,
6416}
6417impl JsonKeysUniqueClause {
6418 #[inline]
6419 pub fn keys_token(&self) -> Option<SyntaxToken> {
6420 support::token(&self.syntax, SyntaxKind::KEYS_KW)
6421 }
6422 #[inline]
6423 pub fn unique_token(&self) -> Option<SyntaxToken> {
6424 support::token(&self.syntax, SyntaxKind::UNIQUE_KW)
6425 }
6426 #[inline]
6427 pub fn with_token(&self) -> Option<SyntaxToken> {
6428 support::token(&self.syntax, SyntaxKind::WITH_KW)
6429 }
6430 #[inline]
6431 pub fn without_token(&self) -> Option<SyntaxToken> {
6432 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
6433 }
6434}
6435
6436#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6437pub struct JsonNullClause {
6438 pub(crate) syntax: SyntaxNode,
6439}
6440impl JsonNullClause {
6441 #[inline]
6442 pub fn absent_token(&self) -> Option<SyntaxToken> {
6443 support::token(&self.syntax, SyntaxKind::ABSENT_KW)
6444 }
6445 #[inline]
6446 pub fn null_token(&self) -> Option<SyntaxToken> {
6447 support::token(&self.syntax, SyntaxKind::NULL_KW)
6448 }
6449 #[inline]
6450 pub fn on_token(&self) -> Option<SyntaxToken> {
6451 support::token(&self.syntax, SyntaxKind::ON_KW)
6452 }
6453}
6454
6455#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6456pub struct JsonOnEmptyClause {
6457 pub(crate) syntax: SyntaxNode,
6458}
6459impl JsonOnEmptyClause {
6460 #[inline]
6461 pub fn json_behavior(&self) -> Option<JsonBehavior> {
6462 support::child(&self.syntax)
6463 }
6464 #[inline]
6465 pub fn empty_token(&self) -> Option<SyntaxToken> {
6466 support::token(&self.syntax, SyntaxKind::EMPTY_KW)
6467 }
6468 #[inline]
6469 pub fn on_token(&self) -> Option<SyntaxToken> {
6470 support::token(&self.syntax, SyntaxKind::ON_KW)
6471 }
6472}
6473
6474#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6475pub struct JsonOnErrorClause {
6476 pub(crate) syntax: SyntaxNode,
6477}
6478impl JsonOnErrorClause {
6479 #[inline]
6480 pub fn json_behavior(&self) -> Option<JsonBehavior> {
6481 support::child(&self.syntax)
6482 }
6483 #[inline]
6484 pub fn error_token(&self) -> Option<SyntaxToken> {
6485 support::token(&self.syntax, SyntaxKind::ERROR_KW)
6486 }
6487 #[inline]
6488 pub fn on_token(&self) -> Option<SyntaxToken> {
6489 support::token(&self.syntax, SyntaxKind::ON_KW)
6490 }
6491}
6492
6493#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6494pub struct JsonPassingArg {
6495 pub(crate) syntax: SyntaxNode,
6496}
6497impl JsonPassingArg {
6498 #[inline]
6499 pub fn expr(&self) -> Option<Expr> {
6500 support::child(&self.syntax)
6501 }
6502 #[inline]
6503 pub fn json_format_clause(&self) -> Option<JsonFormatClause> {
6504 support::child(&self.syntax)
6505 }
6506 #[inline]
6507 pub fn name(&self) -> Option<Name> {
6508 support::child(&self.syntax)
6509 }
6510 #[inline]
6511 pub fn as_token(&self) -> Option<SyntaxToken> {
6512 support::token(&self.syntax, SyntaxKind::AS_KW)
6513 }
6514}
6515
6516#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6517pub struct JsonPassingClause {
6518 pub(crate) syntax: SyntaxNode,
6519}
6520impl JsonPassingClause {
6521 #[inline]
6522 pub fn json_passing_args(&self) -> AstChildren<JsonPassingArg> {
6523 support::children(&self.syntax)
6524 }
6525 #[inline]
6526 pub fn passing_token(&self) -> Option<SyntaxToken> {
6527 support::token(&self.syntax, SyntaxKind::PASSING_KW)
6528 }
6529}
6530
6531#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6532pub struct JsonQuotesClause {
6533 pub(crate) syntax: SyntaxNode,
6534}
6535impl JsonQuotesClause {
6536 #[inline]
6537 pub fn keep_token(&self) -> Option<SyntaxToken> {
6538 support::token(&self.syntax, SyntaxKind::KEEP_KW)
6539 }
6540 #[inline]
6541 pub fn omit_token(&self) -> Option<SyntaxToken> {
6542 support::token(&self.syntax, SyntaxKind::OMIT_KW)
6543 }
6544 #[inline]
6545 pub fn quotes_token(&self) -> Option<SyntaxToken> {
6546 support::token(&self.syntax, SyntaxKind::QUOTES_KW)
6547 }
6548}
6549
6550#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6551pub struct JsonReturningClause {
6552 pub(crate) syntax: SyntaxNode,
6553}
6554impl JsonReturningClause {
6555 #[inline]
6556 pub fn ty(&self) -> Option<Type> {
6557 support::child(&self.syntax)
6558 }
6559 #[inline]
6560 pub fn returning_token(&self) -> Option<SyntaxToken> {
6561 support::token(&self.syntax, SyntaxKind::RETURNING_KW)
6562 }
6563}
6564
6565#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6566pub struct JsonTableColumn {
6567 pub(crate) syntax: SyntaxNode,
6568}
6569impl JsonTableColumn {
6570 #[inline]
6571 pub fn expr(&self) -> Option<Expr> {
6572 support::child(&self.syntax)
6573 }
6574 #[inline]
6575 pub fn name(&self) -> Option<Name> {
6576 support::child(&self.syntax)
6577 }
6578 #[inline]
6579 pub fn ty(&self) -> Option<Type> {
6580 support::child(&self.syntax)
6581 }
6582 #[inline]
6583 pub fn for_token(&self) -> Option<SyntaxToken> {
6584 support::token(&self.syntax, SyntaxKind::FOR_KW)
6585 }
6586 #[inline]
6587 pub fn nested_token(&self) -> Option<SyntaxToken> {
6588 support::token(&self.syntax, SyntaxKind::NESTED_KW)
6589 }
6590 #[inline]
6591 pub fn ordinality_token(&self) -> Option<SyntaxToken> {
6592 support::token(&self.syntax, SyntaxKind::ORDINALITY_KW)
6593 }
6594 #[inline]
6595 pub fn path_token(&self) -> Option<SyntaxToken> {
6596 support::token(&self.syntax, SyntaxKind::PATH_KW)
6597 }
6598}
6599
6600#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6601pub struct JsonTableColumnList {
6602 pub(crate) syntax: SyntaxNode,
6603}
6604impl JsonTableColumnList {
6605 #[inline]
6606 pub fn json_table_columns(&self) -> AstChildren<JsonTableColumn> {
6607 support::children(&self.syntax)
6608 }
6609 #[inline]
6610 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
6611 support::token(&self.syntax, SyntaxKind::L_PAREN)
6612 }
6613 #[inline]
6614 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
6615 support::token(&self.syntax, SyntaxKind::R_PAREN)
6616 }
6617 #[inline]
6618 pub fn columns_token(&self) -> Option<SyntaxToken> {
6619 support::token(&self.syntax, SyntaxKind::COLUMNS_KW)
6620 }
6621}
6622
6623#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6624pub struct JsonValueExpr {
6625 pub(crate) syntax: SyntaxNode,
6626}
6627impl JsonValueExpr {
6628 #[inline]
6629 pub fn expr(&self) -> Option<Expr> {
6630 support::child(&self.syntax)
6631 }
6632 #[inline]
6633 pub fn json_format_clause(&self) -> Option<JsonFormatClause> {
6634 support::child(&self.syntax)
6635 }
6636}
6637
6638#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6639pub struct JsonWrapperBehaviorClause {
6640 pub(crate) syntax: SyntaxNode,
6641}
6642impl JsonWrapperBehaviorClause {
6643 #[inline]
6644 pub fn conditional_token(&self) -> Option<SyntaxToken> {
6645 support::token(&self.syntax, SyntaxKind::CONDITIONAL_KW)
6646 }
6647 #[inline]
6648 pub fn with_token(&self) -> Option<SyntaxToken> {
6649 support::token(&self.syntax, SyntaxKind::WITH_KW)
6650 }
6651 #[inline]
6652 pub fn without_token(&self) -> Option<SyntaxToken> {
6653 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
6654 }
6655 #[inline]
6656 pub fn wrapper_token(&self) -> Option<SyntaxToken> {
6657 support::token(&self.syntax, SyntaxKind::WRAPPER_KW)
6658 }
6659}
6660
6661#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6662pub struct LanguageFuncOption {
6663 pub(crate) syntax: SyntaxNode,
6664}
6665impl LanguageFuncOption {
6666 #[inline]
6667 pub fn name_ref(&self) -> Option<NameRef> {
6668 support::child(&self.syntax)
6669 }
6670 #[inline]
6671 pub fn language_token(&self) -> Option<SyntaxToken> {
6672 support::token(&self.syntax, SyntaxKind::LANGUAGE_KW)
6673 }
6674}
6675
6676#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6677pub struct LeakproofFuncOption {
6678 pub(crate) syntax: SyntaxNode,
6679}
6680impl LeakproofFuncOption {
6681 #[inline]
6682 pub fn leakproof_token(&self) -> Option<SyntaxToken> {
6683 support::token(&self.syntax, SyntaxKind::LEAKPROOF_KW)
6684 }
6685 #[inline]
6686 pub fn not_token(&self) -> Option<SyntaxToken> {
6687 support::token(&self.syntax, SyntaxKind::NOT_KW)
6688 }
6689}
6690
6691#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6692pub struct LikeClause {
6693 pub(crate) syntax: SyntaxNode,
6694}
6695impl LikeClause {
6696 #[inline]
6697 pub fn like_options(&self) -> AstChildren<LikeOption> {
6698 support::children(&self.syntax)
6699 }
6700 #[inline]
6701 pub fn like_token(&self) -> Option<SyntaxToken> {
6702 support::token(&self.syntax, SyntaxKind::LIKE_KW)
6703 }
6704}
6705
6706#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6707pub struct LikeOption {
6708 pub(crate) syntax: SyntaxNode,
6709}
6710impl LikeOption {
6711 #[inline]
6712 pub fn comments_token(&self) -> Option<SyntaxToken> {
6713 support::token(&self.syntax, SyntaxKind::COMMENTS_KW)
6714 }
6715 #[inline]
6716 pub fn compression_token(&self) -> Option<SyntaxToken> {
6717 support::token(&self.syntax, SyntaxKind::COMPRESSION_KW)
6718 }
6719 #[inline]
6720 pub fn constraints_token(&self) -> Option<SyntaxToken> {
6721 support::token(&self.syntax, SyntaxKind::CONSTRAINTS_KW)
6722 }
6723 #[inline]
6724 pub fn defaults_token(&self) -> Option<SyntaxToken> {
6725 support::token(&self.syntax, SyntaxKind::DEFAULTS_KW)
6726 }
6727 #[inline]
6728 pub fn excluding_token(&self) -> Option<SyntaxToken> {
6729 support::token(&self.syntax, SyntaxKind::EXCLUDING_KW)
6730 }
6731 #[inline]
6732 pub fn generated_token(&self) -> Option<SyntaxToken> {
6733 support::token(&self.syntax, SyntaxKind::GENERATED_KW)
6734 }
6735 #[inline]
6736 pub fn identity_token(&self) -> Option<SyntaxToken> {
6737 support::token(&self.syntax, SyntaxKind::IDENTITY_KW)
6738 }
6739 #[inline]
6740 pub fn including_token(&self) -> Option<SyntaxToken> {
6741 support::token(&self.syntax, SyntaxKind::INCLUDING_KW)
6742 }
6743 #[inline]
6744 pub fn indexes_token(&self) -> Option<SyntaxToken> {
6745 support::token(&self.syntax, SyntaxKind::INDEXES_KW)
6746 }
6747}
6748
6749#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6750pub struct LimitClause {
6751 pub(crate) syntax: SyntaxNode,
6752}
6753impl LimitClause {
6754 #[inline]
6755 pub fn expr(&self) -> Option<Expr> {
6756 support::child(&self.syntax)
6757 }
6758 #[inline]
6759 pub fn all_token(&self) -> Option<SyntaxToken> {
6760 support::token(&self.syntax, SyntaxKind::ALL_KW)
6761 }
6762 #[inline]
6763 pub fn limit_token(&self) -> Option<SyntaxToken> {
6764 support::token(&self.syntax, SyntaxKind::LIMIT_KW)
6765 }
6766}
6767
6768#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6769pub struct Listen {
6770 pub(crate) syntax: SyntaxNode,
6771}
6772impl Listen {
6773 #[inline]
6774 pub fn name_ref(&self) -> Option<NameRef> {
6775 support::child(&self.syntax)
6776 }
6777 #[inline]
6778 pub fn listen_token(&self) -> Option<SyntaxToken> {
6779 support::token(&self.syntax, SyntaxKind::LISTEN_KW)
6780 }
6781}
6782
6783#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6784pub struct Literal {
6785 pub(crate) syntax: SyntaxNode,
6786}
6787impl Literal {}
6788
6789#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6790pub struct Load {
6791 pub(crate) syntax: SyntaxNode,
6792}
6793impl Load {
6794 #[inline]
6795 pub fn load_token(&self) -> Option<SyntaxToken> {
6796 support::token(&self.syntax, SyntaxKind::LOAD_KW)
6797 }
6798}
6799
6800#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6801pub struct Lock {
6802 pub(crate) syntax: SyntaxNode,
6803}
6804impl Lock {
6805 #[inline]
6806 pub fn lock_token(&self) -> Option<SyntaxToken> {
6807 support::token(&self.syntax, SyntaxKind::LOCK_KW)
6808 }
6809 #[inline]
6810 pub fn table_token(&self) -> Option<SyntaxToken> {
6811 support::token(&self.syntax, SyntaxKind::TABLE_KW)
6812 }
6813}
6814
6815#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6816pub struct LockingClause {
6817 pub(crate) syntax: SyntaxNode,
6818}
6819impl LockingClause {
6820 #[inline]
6821 pub fn for_token(&self) -> Option<SyntaxToken> {
6822 support::token(&self.syntax, SyntaxKind::FOR_KW)
6823 }
6824}
6825
6826#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6827pub struct Lteq {
6828 pub(crate) syntax: SyntaxNode,
6829}
6830impl Lteq {
6831 #[inline]
6832 pub fn l_angle_token(&self) -> Option<SyntaxToken> {
6833 support::token(&self.syntax, SyntaxKind::L_ANGLE)
6834 }
6835 #[inline]
6836 pub fn eq_token(&self) -> Option<SyntaxToken> {
6837 support::token(&self.syntax, SyntaxKind::EQ)
6838 }
6839}
6840
6841#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6842pub struct MatchFull {
6843 pub(crate) syntax: SyntaxNode,
6844}
6845impl MatchFull {
6846 #[inline]
6847 pub fn full_token(&self) -> Option<SyntaxToken> {
6848 support::token(&self.syntax, SyntaxKind::FULL_KW)
6849 }
6850 #[inline]
6851 pub fn match_token(&self) -> Option<SyntaxToken> {
6852 support::token(&self.syntax, SyntaxKind::MATCH_KW)
6853 }
6854}
6855
6856#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6857pub struct MatchPartial {
6858 pub(crate) syntax: SyntaxNode,
6859}
6860impl MatchPartial {
6861 #[inline]
6862 pub fn match_token(&self) -> Option<SyntaxToken> {
6863 support::token(&self.syntax, SyntaxKind::MATCH_KW)
6864 }
6865 #[inline]
6866 pub fn partial_token(&self) -> Option<SyntaxToken> {
6867 support::token(&self.syntax, SyntaxKind::PARTIAL_KW)
6868 }
6869}
6870
6871#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6872pub struct MatchSimple {
6873 pub(crate) syntax: SyntaxNode,
6874}
6875impl MatchSimple {
6876 #[inline]
6877 pub fn match_token(&self) -> Option<SyntaxToken> {
6878 support::token(&self.syntax, SyntaxKind::MATCH_KW)
6879 }
6880 #[inline]
6881 pub fn simple_token(&self) -> Option<SyntaxToken> {
6882 support::token(&self.syntax, SyntaxKind::SIMPLE_KW)
6883 }
6884}
6885
6886#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6887pub struct Materialized {
6888 pub(crate) syntax: SyntaxNode,
6889}
6890impl Materialized {
6891 #[inline]
6892 pub fn materialized_token(&self) -> Option<SyntaxToken> {
6893 support::token(&self.syntax, SyntaxKind::MATERIALIZED_KW)
6894 }
6895}
6896
6897#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6898pub struct Merge {
6899 pub(crate) syntax: SyntaxNode,
6900}
6901impl Merge {
6902 #[inline]
6903 pub fn alias(&self) -> Option<Alias> {
6904 support::child(&self.syntax)
6905 }
6906 #[inline]
6907 pub fn merge_when_clauses(&self) -> AstChildren<MergeWhenClause> {
6908 support::children(&self.syntax)
6909 }
6910 #[inline]
6911 pub fn relation_name(&self) -> Option<RelationName> {
6912 support::child(&self.syntax)
6913 }
6914 #[inline]
6915 pub fn using_on_clause(&self) -> Option<UsingOnClause> {
6916 support::child(&self.syntax)
6917 }
6918 #[inline]
6919 pub fn into_token(&self) -> Option<SyntaxToken> {
6920 support::token(&self.syntax, SyntaxKind::INTO_KW)
6921 }
6922 #[inline]
6923 pub fn merge_token(&self) -> Option<SyntaxToken> {
6924 support::token(&self.syntax, SyntaxKind::MERGE_KW)
6925 }
6926}
6927
6928#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6929pub struct MergeDelete {
6930 pub(crate) syntax: SyntaxNode,
6931}
6932impl MergeDelete {
6933 #[inline]
6934 pub fn delete_token(&self) -> Option<SyntaxToken> {
6935 support::token(&self.syntax, SyntaxKind::DELETE_KW)
6936 }
6937}
6938
6939#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6940pub struct MergeDoNothing {
6941 pub(crate) syntax: SyntaxNode,
6942}
6943impl MergeDoNothing {
6944 #[inline]
6945 pub fn do_token(&self) -> Option<SyntaxToken> {
6946 support::token(&self.syntax, SyntaxKind::DO_KW)
6947 }
6948 #[inline]
6949 pub fn nothing_token(&self) -> Option<SyntaxToken> {
6950 support::token(&self.syntax, SyntaxKind::NOTHING_KW)
6951 }
6952}
6953
6954#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6955pub struct MergeInsert {
6956 pub(crate) syntax: SyntaxNode,
6957}
6958impl MergeInsert {
6959 #[inline]
6960 pub fn column_list(&self) -> Option<ColumnList> {
6961 support::child(&self.syntax)
6962 }
6963 #[inline]
6964 pub fn values(&self) -> Option<Values> {
6965 support::child(&self.syntax)
6966 }
6967 #[inline]
6968 pub fn default_token(&self) -> Option<SyntaxToken> {
6969 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
6970 }
6971 #[inline]
6972 pub fn insert_token(&self) -> Option<SyntaxToken> {
6973 support::token(&self.syntax, SyntaxKind::INSERT_KW)
6974 }
6975 #[inline]
6976 pub fn overriding_token(&self) -> Option<SyntaxToken> {
6977 support::token(&self.syntax, SyntaxKind::OVERRIDING_KW)
6978 }
6979 #[inline]
6980 pub fn system_token(&self) -> Option<SyntaxToken> {
6981 support::token(&self.syntax, SyntaxKind::SYSTEM_KW)
6982 }
6983 #[inline]
6984 pub fn user_token(&self) -> Option<SyntaxToken> {
6985 support::token(&self.syntax, SyntaxKind::USER_KW)
6986 }
6987 #[inline]
6988 pub fn values_token(&self) -> Option<SyntaxToken> {
6989 support::token(&self.syntax, SyntaxKind::VALUES_KW)
6990 }
6991}
6992
6993#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6994pub struct MergeUpdate {
6995 pub(crate) syntax: SyntaxNode,
6996}
6997impl MergeUpdate {
6998 #[inline]
6999 pub fn set_clause(&self) -> Option<SetClause> {
7000 support::child(&self.syntax)
7001 }
7002 #[inline]
7003 pub fn set_token(&self) -> Option<SyntaxToken> {
7004 support::token(&self.syntax, SyntaxKind::SET_KW)
7005 }
7006 #[inline]
7007 pub fn update_token(&self) -> Option<SyntaxToken> {
7008 support::token(&self.syntax, SyntaxKind::UPDATE_KW)
7009 }
7010}
7011
7012#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7013pub struct MergeWhenMatched {
7014 pub(crate) syntax: SyntaxNode,
7015}
7016impl MergeWhenMatched {
7017 #[inline]
7018 pub fn expr(&self) -> Option<Expr> {
7019 support::child(&self.syntax)
7020 }
7021 #[inline]
7022 pub fn merge_action(&self) -> Option<MergeAction> {
7023 support::child(&self.syntax)
7024 }
7025 #[inline]
7026 pub fn and_token(&self) -> Option<SyntaxToken> {
7027 support::token(&self.syntax, SyntaxKind::AND_KW)
7028 }
7029 #[inline]
7030 pub fn matched_token(&self) -> Option<SyntaxToken> {
7031 support::token(&self.syntax, SyntaxKind::MATCHED_KW)
7032 }
7033 #[inline]
7034 pub fn then_token(&self) -> Option<SyntaxToken> {
7035 support::token(&self.syntax, SyntaxKind::THEN_KW)
7036 }
7037 #[inline]
7038 pub fn when_token(&self) -> Option<SyntaxToken> {
7039 support::token(&self.syntax, SyntaxKind::WHEN_KW)
7040 }
7041}
7042
7043#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7044pub struct MergeWhenNotMatchedSource {
7045 pub(crate) syntax: SyntaxNode,
7046}
7047impl MergeWhenNotMatchedSource {
7048 #[inline]
7049 pub fn expr(&self) -> Option<Expr> {
7050 support::child(&self.syntax)
7051 }
7052 #[inline]
7053 pub fn merge_action(&self) -> Option<MergeAction> {
7054 support::child(&self.syntax)
7055 }
7056 #[inline]
7057 pub fn and_token(&self) -> Option<SyntaxToken> {
7058 support::token(&self.syntax, SyntaxKind::AND_KW)
7059 }
7060 #[inline]
7061 pub fn by_token(&self) -> Option<SyntaxToken> {
7062 support::token(&self.syntax, SyntaxKind::BY_KW)
7063 }
7064 #[inline]
7065 pub fn matched_token(&self) -> Option<SyntaxToken> {
7066 support::token(&self.syntax, SyntaxKind::MATCHED_KW)
7067 }
7068 #[inline]
7069 pub fn not_token(&self) -> Option<SyntaxToken> {
7070 support::token(&self.syntax, SyntaxKind::NOT_KW)
7071 }
7072 #[inline]
7073 pub fn source_token(&self) -> Option<SyntaxToken> {
7074 support::token(&self.syntax, SyntaxKind::SOURCE_KW)
7075 }
7076 #[inline]
7077 pub fn then_token(&self) -> Option<SyntaxToken> {
7078 support::token(&self.syntax, SyntaxKind::THEN_KW)
7079 }
7080 #[inline]
7081 pub fn when_token(&self) -> Option<SyntaxToken> {
7082 support::token(&self.syntax, SyntaxKind::WHEN_KW)
7083 }
7084}
7085
7086#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7087pub struct MergeWhenNotMatchedTarget {
7088 pub(crate) syntax: SyntaxNode,
7089}
7090impl MergeWhenNotMatchedTarget {
7091 #[inline]
7092 pub fn expr(&self) -> Option<Expr> {
7093 support::child(&self.syntax)
7094 }
7095 #[inline]
7096 pub fn merge_action(&self) -> Option<MergeAction> {
7097 support::child(&self.syntax)
7098 }
7099 #[inline]
7100 pub fn and_token(&self) -> Option<SyntaxToken> {
7101 support::token(&self.syntax, SyntaxKind::AND_KW)
7102 }
7103 #[inline]
7104 pub fn by_token(&self) -> Option<SyntaxToken> {
7105 support::token(&self.syntax, SyntaxKind::BY_KW)
7106 }
7107 #[inline]
7108 pub fn matched_token(&self) -> Option<SyntaxToken> {
7109 support::token(&self.syntax, SyntaxKind::MATCHED_KW)
7110 }
7111 #[inline]
7112 pub fn not_token(&self) -> Option<SyntaxToken> {
7113 support::token(&self.syntax, SyntaxKind::NOT_KW)
7114 }
7115 #[inline]
7116 pub fn target_token(&self) -> Option<SyntaxToken> {
7117 support::token(&self.syntax, SyntaxKind::TARGET_KW)
7118 }
7119 #[inline]
7120 pub fn then_token(&self) -> Option<SyntaxToken> {
7121 support::token(&self.syntax, SyntaxKind::THEN_KW)
7122 }
7123 #[inline]
7124 pub fn when_token(&self) -> Option<SyntaxToken> {
7125 support::token(&self.syntax, SyntaxKind::WHEN_KW)
7126 }
7127}
7128
7129#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7130pub struct Move {
7131 pub(crate) syntax: SyntaxNode,
7132}
7133impl Move {
7134 #[inline]
7135 pub fn move_token(&self) -> Option<SyntaxToken> {
7136 support::token(&self.syntax, SyntaxKind::MOVE_KW)
7137 }
7138}
7139
7140#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7141pub struct Name {
7142 pub(crate) syntax: SyntaxNode,
7143}
7144impl Name {
7145 #[inline]
7146 pub fn ident_token(&self) -> Option<SyntaxToken> {
7147 support::token(&self.syntax, SyntaxKind::IDENT)
7148 }
7149}
7150
7151#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7152pub struct NameRef {
7153 pub(crate) syntax: SyntaxNode,
7154}
7155impl NameRef {
7156 #[inline]
7157 pub fn ident_token(&self) -> Option<SyntaxToken> {
7158 support::token(&self.syntax, SyntaxKind::IDENT)
7159 }
7160}
7161
7162#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7163pub struct NamedArg {
7164 pub(crate) syntax: SyntaxNode,
7165}
7166impl NamedArg {
7167 #[inline]
7168 pub fn expr(&self) -> Option<Expr> {
7169 support::child(&self.syntax)
7170 }
7171 #[inline]
7172 pub fn fat_arrow(&self) -> Option<FatArrow> {
7173 support::child(&self.syntax)
7174 }
7175 #[inline]
7176 pub fn name_ref(&self) -> Option<NameRef> {
7177 support::child(&self.syntax)
7178 }
7179}
7180
7181#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7182pub struct Neq {
7183 pub(crate) syntax: SyntaxNode,
7184}
7185impl Neq {
7186 #[inline]
7187 pub fn bang_token(&self) -> Option<SyntaxToken> {
7188 support::token(&self.syntax, SyntaxKind::BANG)
7189 }
7190 #[inline]
7191 pub fn eq_token(&self) -> Option<SyntaxToken> {
7192 support::token(&self.syntax, SyntaxKind::EQ)
7193 }
7194}
7195
7196#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7197pub struct Neqb {
7198 pub(crate) syntax: SyntaxNode,
7199}
7200impl Neqb {
7201 #[inline]
7202 pub fn l_angle_token(&self) -> Option<SyntaxToken> {
7203 support::token(&self.syntax, SyntaxKind::L_ANGLE)
7204 }
7205 #[inline]
7206 pub fn r_angle_token(&self) -> Option<SyntaxToken> {
7207 support::token(&self.syntax, SyntaxKind::R_ANGLE)
7208 }
7209}
7210
7211#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7212pub struct NoAction {
7213 pub(crate) syntax: SyntaxNode,
7214}
7215impl NoAction {
7216 #[inline]
7217 pub fn action_token(&self) -> Option<SyntaxToken> {
7218 support::token(&self.syntax, SyntaxKind::ACTION_KW)
7219 }
7220 #[inline]
7221 pub fn no_token(&self) -> Option<SyntaxToken> {
7222 support::token(&self.syntax, SyntaxKind::NO_KW)
7223 }
7224}
7225
7226#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7227pub struct NoForceRls {
7228 pub(crate) syntax: SyntaxNode,
7229}
7230impl NoForceRls {
7231 #[inline]
7232 pub fn force_token(&self) -> Option<SyntaxToken> {
7233 support::token(&self.syntax, SyntaxKind::FORCE_KW)
7234 }
7235 #[inline]
7236 pub fn level_token(&self) -> Option<SyntaxToken> {
7237 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
7238 }
7239 #[inline]
7240 pub fn no_token(&self) -> Option<SyntaxToken> {
7241 support::token(&self.syntax, SyntaxKind::NO_KW)
7242 }
7243 #[inline]
7244 pub fn row_token(&self) -> Option<SyntaxToken> {
7245 support::token(&self.syntax, SyntaxKind::ROW_KW)
7246 }
7247 #[inline]
7248 pub fn security_token(&self) -> Option<SyntaxToken> {
7249 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
7250 }
7251}
7252
7253#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7254pub struct NoInherit {
7255 pub(crate) syntax: SyntaxNode,
7256}
7257impl NoInherit {
7258 #[inline]
7259 pub fn path(&self) -> Option<Path> {
7260 support::child(&self.syntax)
7261 }
7262 #[inline]
7263 pub fn inherit_token(&self) -> Option<SyntaxToken> {
7264 support::token(&self.syntax, SyntaxKind::INHERIT_KW)
7265 }
7266 #[inline]
7267 pub fn no_token(&self) -> Option<SyntaxToken> {
7268 support::token(&self.syntax, SyntaxKind::NO_KW)
7269 }
7270}
7271
7272#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7273pub struct NoInheritTable {
7274 pub(crate) syntax: SyntaxNode,
7275}
7276impl NoInheritTable {
7277 #[inline]
7278 pub fn path(&self) -> Option<Path> {
7279 support::child(&self.syntax)
7280 }
7281 #[inline]
7282 pub fn inherit_token(&self) -> Option<SyntaxToken> {
7283 support::token(&self.syntax, SyntaxKind::INHERIT_KW)
7284 }
7285 #[inline]
7286 pub fn no_token(&self) -> Option<SyntaxToken> {
7287 support::token(&self.syntax, SyntaxKind::NO_KW)
7288 }
7289}
7290
7291#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7292pub struct NonStandardParam {
7293 pub(crate) syntax: SyntaxNode,
7294}
7295impl NonStandardParam {
7296 #[inline]
7297 pub fn name_ref(&self) -> Option<NameRef> {
7298 support::child(&self.syntax)
7299 }
7300 #[inline]
7301 pub fn colon_token(&self) -> Option<SyntaxToken> {
7302 support::token(&self.syntax, SyntaxKind::COLON)
7303 }
7304}
7305
7306#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7307pub struct NotDeferrable {
7308 pub(crate) syntax: SyntaxNode,
7309}
7310impl NotDeferrable {
7311 #[inline]
7312 pub fn deferrable_token(&self) -> Option<SyntaxToken> {
7313 support::token(&self.syntax, SyntaxKind::DEFERRABLE_KW)
7314 }
7315 #[inline]
7316 pub fn not_token(&self) -> Option<SyntaxToken> {
7317 support::token(&self.syntax, SyntaxKind::NOT_KW)
7318 }
7319}
7320
7321#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7322pub struct NotDeferrableConstraintOption {
7323 pub(crate) syntax: SyntaxNode,
7324}
7325impl NotDeferrableConstraintOption {
7326 #[inline]
7327 pub fn deferrable_token(&self) -> Option<SyntaxToken> {
7328 support::token(&self.syntax, SyntaxKind::DEFERRABLE_KW)
7329 }
7330 #[inline]
7331 pub fn not_token(&self) -> Option<SyntaxToken> {
7332 support::token(&self.syntax, SyntaxKind::NOT_KW)
7333 }
7334}
7335
7336#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7337pub struct NotEnforced {
7338 pub(crate) syntax: SyntaxNode,
7339}
7340impl NotEnforced {
7341 #[inline]
7342 pub fn enforced_token(&self) -> Option<SyntaxToken> {
7343 support::token(&self.syntax, SyntaxKind::ENFORCED_KW)
7344 }
7345 #[inline]
7346 pub fn not_token(&self) -> Option<SyntaxToken> {
7347 support::token(&self.syntax, SyntaxKind::NOT_KW)
7348 }
7349}
7350
7351#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7352pub struct NotIlike {
7353 pub(crate) syntax: SyntaxNode,
7354}
7355impl NotIlike {
7356 #[inline]
7357 pub fn ilike_token(&self) -> Option<SyntaxToken> {
7358 support::token(&self.syntax, SyntaxKind::ILIKE_KW)
7359 }
7360 #[inline]
7361 pub fn not_token(&self) -> Option<SyntaxToken> {
7362 support::token(&self.syntax, SyntaxKind::NOT_KW)
7363 }
7364}
7365
7366#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7367pub struct NotIn {
7368 pub(crate) syntax: SyntaxNode,
7369}
7370impl NotIn {
7371 #[inline]
7372 pub fn in_token(&self) -> Option<SyntaxToken> {
7373 support::token(&self.syntax, SyntaxKind::IN_KW)
7374 }
7375 #[inline]
7376 pub fn not_token(&self) -> Option<SyntaxToken> {
7377 support::token(&self.syntax, SyntaxKind::NOT_KW)
7378 }
7379}
7380
7381#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7382pub struct NotLike {
7383 pub(crate) syntax: SyntaxNode,
7384}
7385impl NotLike {
7386 #[inline]
7387 pub fn like_token(&self) -> Option<SyntaxToken> {
7388 support::token(&self.syntax, SyntaxKind::LIKE_KW)
7389 }
7390 #[inline]
7391 pub fn not_token(&self) -> Option<SyntaxToken> {
7392 support::token(&self.syntax, SyntaxKind::NOT_KW)
7393 }
7394}
7395
7396#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7397pub struct NotMaterialized {
7398 pub(crate) syntax: SyntaxNode,
7399}
7400impl NotMaterialized {
7401 #[inline]
7402 pub fn materialized_token(&self) -> Option<SyntaxToken> {
7403 support::token(&self.syntax, SyntaxKind::MATERIALIZED_KW)
7404 }
7405 #[inline]
7406 pub fn not_token(&self) -> Option<SyntaxToken> {
7407 support::token(&self.syntax, SyntaxKind::NOT_KW)
7408 }
7409}
7410
7411#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7412pub struct NotNullConstraint {
7413 pub(crate) syntax: SyntaxNode,
7414}
7415impl NotNullConstraint {
7416 #[inline]
7417 pub fn name_ref(&self) -> Option<NameRef> {
7418 support::child(&self.syntax)
7419 }
7420 #[inline]
7421 pub fn no_inherit(&self) -> Option<NoInherit> {
7422 support::child(&self.syntax)
7423 }
7424 #[inline]
7425 pub fn constraint_token(&self) -> Option<SyntaxToken> {
7426 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
7427 }
7428 #[inline]
7429 pub fn not_token(&self) -> Option<SyntaxToken> {
7430 support::token(&self.syntax, SyntaxKind::NOT_KW)
7431 }
7432 #[inline]
7433 pub fn null_token(&self) -> Option<SyntaxToken> {
7434 support::token(&self.syntax, SyntaxKind::NULL_KW)
7435 }
7436}
7437
7438#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7439pub struct NotOf {
7440 pub(crate) syntax: SyntaxNode,
7441}
7442impl NotOf {
7443 #[inline]
7444 pub fn not_token(&self) -> Option<SyntaxToken> {
7445 support::token(&self.syntax, SyntaxKind::NOT_KW)
7446 }
7447 #[inline]
7448 pub fn of_token(&self) -> Option<SyntaxToken> {
7449 support::token(&self.syntax, SyntaxKind::OF_KW)
7450 }
7451}
7452
7453#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7454pub struct NotSimilarTo {
7455 pub(crate) syntax: SyntaxNode,
7456}
7457impl NotSimilarTo {
7458 #[inline]
7459 pub fn not_token(&self) -> Option<SyntaxToken> {
7460 support::token(&self.syntax, SyntaxKind::NOT_KW)
7461 }
7462 #[inline]
7463 pub fn similar_token(&self) -> Option<SyntaxToken> {
7464 support::token(&self.syntax, SyntaxKind::SIMILAR_KW)
7465 }
7466 #[inline]
7467 pub fn to_token(&self) -> Option<SyntaxToken> {
7468 support::token(&self.syntax, SyntaxKind::TO_KW)
7469 }
7470}
7471
7472#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7473pub struct NotValid {
7474 pub(crate) syntax: SyntaxNode,
7475}
7476impl NotValid {
7477 #[inline]
7478 pub fn not_token(&self) -> Option<SyntaxToken> {
7479 support::token(&self.syntax, SyntaxKind::NOT_KW)
7480 }
7481 #[inline]
7482 pub fn valid_token(&self) -> Option<SyntaxToken> {
7483 support::token(&self.syntax, SyntaxKind::VALID_KW)
7484 }
7485}
7486
7487#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7488pub struct Notify {
7489 pub(crate) syntax: SyntaxNode,
7490}
7491impl Notify {
7492 #[inline]
7493 pub fn notify_token(&self) -> Option<SyntaxToken> {
7494 support::token(&self.syntax, SyntaxKind::NOTIFY_KW)
7495 }
7496}
7497
7498#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7499pub struct NullConstraint {
7500 pub(crate) syntax: SyntaxNode,
7501}
7502impl NullConstraint {
7503 #[inline]
7504 pub fn name_ref(&self) -> Option<NameRef> {
7505 support::child(&self.syntax)
7506 }
7507 #[inline]
7508 pub fn constraint_token(&self) -> Option<SyntaxToken> {
7509 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
7510 }
7511 #[inline]
7512 pub fn null_token(&self) -> Option<SyntaxToken> {
7513 support::token(&self.syntax, SyntaxKind::NULL_KW)
7514 }
7515}
7516
7517#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7518pub struct NullsDistinct {
7519 pub(crate) syntax: SyntaxNode,
7520}
7521impl NullsDistinct {
7522 #[inline]
7523 pub fn distinct_token(&self) -> Option<SyntaxToken> {
7524 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
7525 }
7526 #[inline]
7527 pub fn nulls_token(&self) -> Option<SyntaxToken> {
7528 support::token(&self.syntax, SyntaxKind::NULLS_KW)
7529 }
7530}
7531
7532#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7533pub struct NullsFirst {
7534 pub(crate) syntax: SyntaxNode,
7535}
7536impl NullsFirst {
7537 #[inline]
7538 pub fn first_token(&self) -> Option<SyntaxToken> {
7539 support::token(&self.syntax, SyntaxKind::FIRST_KW)
7540 }
7541 #[inline]
7542 pub fn nulls_token(&self) -> Option<SyntaxToken> {
7543 support::token(&self.syntax, SyntaxKind::NULLS_KW)
7544 }
7545}
7546
7547#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7548pub struct NullsLast {
7549 pub(crate) syntax: SyntaxNode,
7550}
7551impl NullsLast {
7552 #[inline]
7553 pub fn last_token(&self) -> Option<SyntaxToken> {
7554 support::token(&self.syntax, SyntaxKind::LAST_KW)
7555 }
7556 #[inline]
7557 pub fn nulls_token(&self) -> Option<SyntaxToken> {
7558 support::token(&self.syntax, SyntaxKind::NULLS_KW)
7559 }
7560}
7561
7562#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7563pub struct NullsNotDistinct {
7564 pub(crate) syntax: SyntaxNode,
7565}
7566impl NullsNotDistinct {
7567 #[inline]
7568 pub fn distinct_token(&self) -> Option<SyntaxToken> {
7569 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
7570 }
7571 #[inline]
7572 pub fn not_token(&self) -> Option<SyntaxToken> {
7573 support::token(&self.syntax, SyntaxKind::NOT_KW)
7574 }
7575 #[inline]
7576 pub fn nulls_token(&self) -> Option<SyntaxToken> {
7577 support::token(&self.syntax, SyntaxKind::NULLS_KW)
7578 }
7579}
7580
7581#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7582pub struct OfType {
7583 pub(crate) syntax: SyntaxNode,
7584}
7585impl OfType {
7586 #[inline]
7587 pub fn ty(&self) -> Option<Type> {
7588 support::child(&self.syntax)
7589 }
7590 #[inline]
7591 pub fn of_token(&self) -> Option<SyntaxToken> {
7592 support::token(&self.syntax, SyntaxKind::OF_KW)
7593 }
7594}
7595
7596#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7597pub struct OffsetClause {
7598 pub(crate) syntax: SyntaxNode,
7599}
7600impl OffsetClause {
7601 #[inline]
7602 pub fn expr(&self) -> Option<Expr> {
7603 support::child(&self.syntax)
7604 }
7605 #[inline]
7606 pub fn offset_token(&self) -> Option<SyntaxToken> {
7607 support::token(&self.syntax, SyntaxKind::OFFSET_KW)
7608 }
7609 #[inline]
7610 pub fn row_token(&self) -> Option<SyntaxToken> {
7611 support::token(&self.syntax, SyntaxKind::ROW_KW)
7612 }
7613 #[inline]
7614 pub fn rows_token(&self) -> Option<SyntaxToken> {
7615 support::token(&self.syntax, SyntaxKind::ROWS_KW)
7616 }
7617}
7618
7619#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7620pub struct OnClause {
7621 pub(crate) syntax: SyntaxNode,
7622}
7623impl OnClause {
7624 #[inline]
7625 pub fn expr(&self) -> Option<Expr> {
7626 support::child(&self.syntax)
7627 }
7628 #[inline]
7629 pub fn on_token(&self) -> Option<SyntaxToken> {
7630 support::token(&self.syntax, SyntaxKind::ON_KW)
7631 }
7632}
7633
7634#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7635pub struct OnCommit {
7636 pub(crate) syntax: SyntaxNode,
7637}
7638impl OnCommit {
7639 #[inline]
7640 pub fn on_commit_action(&self) -> Option<OnCommitAction> {
7641 support::child(&self.syntax)
7642 }
7643 #[inline]
7644 pub fn commit_token(&self) -> Option<SyntaxToken> {
7645 support::token(&self.syntax, SyntaxKind::COMMIT_KW)
7646 }
7647 #[inline]
7648 pub fn on_token(&self) -> Option<SyntaxToken> {
7649 support::token(&self.syntax, SyntaxKind::ON_KW)
7650 }
7651}
7652
7653#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7654pub struct OnConflictClause {
7655 pub(crate) syntax: SyntaxNode,
7656}
7657impl OnConflictClause {
7658 #[inline]
7659 pub fn conflict_action(&self) -> Option<ConflictAction> {
7660 support::child(&self.syntax)
7661 }
7662 #[inline]
7663 pub fn conflict_target(&self) -> Option<ConflictTarget> {
7664 support::child(&self.syntax)
7665 }
7666 #[inline]
7667 pub fn conflict_token(&self) -> Option<SyntaxToken> {
7668 support::token(&self.syntax, SyntaxKind::CONFLICT_KW)
7669 }
7670 #[inline]
7671 pub fn on_token(&self) -> Option<SyntaxToken> {
7672 support::token(&self.syntax, SyntaxKind::ON_KW)
7673 }
7674}
7675
7676#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7677pub struct OnDeleteAction {
7678 pub(crate) syntax: SyntaxNode,
7679}
7680impl OnDeleteAction {
7681 #[inline]
7682 pub fn ref_action(&self) -> Option<RefAction> {
7683 support::child(&self.syntax)
7684 }
7685 #[inline]
7686 pub fn delete_token(&self) -> Option<SyntaxToken> {
7687 support::token(&self.syntax, SyntaxKind::DELETE_KW)
7688 }
7689 #[inline]
7690 pub fn on_token(&self) -> Option<SyntaxToken> {
7691 support::token(&self.syntax, SyntaxKind::ON_KW)
7692 }
7693}
7694
7695#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7696pub struct OnUpdateAction {
7697 pub(crate) syntax: SyntaxNode,
7698}
7699impl OnUpdateAction {
7700 #[inline]
7701 pub fn ref_action(&self) -> Option<RefAction> {
7702 support::child(&self.syntax)
7703 }
7704 #[inline]
7705 pub fn on_token(&self) -> Option<SyntaxToken> {
7706 support::token(&self.syntax, SyntaxKind::ON_KW)
7707 }
7708 #[inline]
7709 pub fn update_token(&self) -> Option<SyntaxToken> {
7710 support::token(&self.syntax, SyntaxKind::UPDATE_KW)
7711 }
7712}
7713
7714#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7715pub struct Op {
7716 pub(crate) syntax: SyntaxNode,
7717}
7718impl Op {
7719 #[inline]
7720 pub fn at_time_zone(&self) -> Option<AtTimeZone> {
7721 support::child(&self.syntax)
7722 }
7723 #[inline]
7724 pub fn colon_colon(&self) -> Option<ColonColon> {
7725 support::child(&self.syntax)
7726 }
7727 #[inline]
7728 pub fn colon_eq(&self) -> Option<ColonEq> {
7729 support::child(&self.syntax)
7730 }
7731 #[inline]
7732 pub fn custom_op(&self) -> Option<CustomOp> {
7733 support::child(&self.syntax)
7734 }
7735 #[inline]
7736 pub fn fat_arrow(&self) -> Option<FatArrow> {
7737 support::child(&self.syntax)
7738 }
7739 #[inline]
7740 pub fn gteq(&self) -> Option<Gteq> {
7741 support::child(&self.syntax)
7742 }
7743 #[inline]
7744 pub fn is_distinct_from(&self) -> Option<IsDistinctFrom> {
7745 support::child(&self.syntax)
7746 }
7747 #[inline]
7748 pub fn is_json(&self) -> Option<IsJson> {
7749 support::child(&self.syntax)
7750 }
7751 #[inline]
7752 pub fn is_json_array(&self) -> Option<IsJsonArray> {
7753 support::child(&self.syntax)
7754 }
7755 #[inline]
7756 pub fn is_json_object(&self) -> Option<IsJsonObject> {
7757 support::child(&self.syntax)
7758 }
7759 #[inline]
7760 pub fn is_json_scalar(&self) -> Option<IsJsonScalar> {
7761 support::child(&self.syntax)
7762 }
7763 #[inline]
7764 pub fn is_json_value(&self) -> Option<IsJsonValue> {
7765 support::child(&self.syntax)
7766 }
7767 #[inline]
7768 pub fn is_not(&self) -> Option<IsNot> {
7769 support::child(&self.syntax)
7770 }
7771 #[inline]
7772 pub fn is_not_distinct_from(&self) -> Option<IsNotDistinctFrom> {
7773 support::child(&self.syntax)
7774 }
7775 #[inline]
7776 pub fn is_not_json(&self) -> Option<IsNotJson> {
7777 support::child(&self.syntax)
7778 }
7779 #[inline]
7780 pub fn is_not_json_array(&self) -> Option<IsNotJsonArray> {
7781 support::child(&self.syntax)
7782 }
7783 #[inline]
7784 pub fn is_not_json_scalar(&self) -> Option<IsNotJsonScalar> {
7785 support::child(&self.syntax)
7786 }
7787 #[inline]
7788 pub fn is_not_json_value(&self) -> Option<IsNotJsonValue> {
7789 support::child(&self.syntax)
7790 }
7791 #[inline]
7792 pub fn lteq(&self) -> Option<Lteq> {
7793 support::child(&self.syntax)
7794 }
7795 #[inline]
7796 pub fn neq(&self) -> Option<Neq> {
7797 support::child(&self.syntax)
7798 }
7799 #[inline]
7800 pub fn neqb(&self) -> Option<Neqb> {
7801 support::child(&self.syntax)
7802 }
7803 #[inline]
7804 pub fn not_ilike(&self) -> Option<NotIlike> {
7805 support::child(&self.syntax)
7806 }
7807 #[inline]
7808 pub fn not_in(&self) -> Option<NotIn> {
7809 support::child(&self.syntax)
7810 }
7811 #[inline]
7812 pub fn not_like(&self) -> Option<NotLike> {
7813 support::child(&self.syntax)
7814 }
7815 #[inline]
7816 pub fn not_similar_to(&self) -> Option<NotSimilarTo> {
7817 support::child(&self.syntax)
7818 }
7819 #[inline]
7820 pub fn operator_call(&self) -> Option<OperatorCall> {
7821 support::child(&self.syntax)
7822 }
7823 #[inline]
7824 pub fn similar_to(&self) -> Option<SimilarTo> {
7825 support::child(&self.syntax)
7826 }
7827 #[inline]
7828 pub fn percent_token(&self) -> Option<SyntaxToken> {
7829 support::token(&self.syntax, SyntaxKind::PERCENT)
7830 }
7831 #[inline]
7832 pub fn plus_token(&self) -> Option<SyntaxToken> {
7833 support::token(&self.syntax, SyntaxKind::PLUS)
7834 }
7835 #[inline]
7836 pub fn minus_token(&self) -> Option<SyntaxToken> {
7837 support::token(&self.syntax, SyntaxKind::MINUS)
7838 }
7839 #[inline]
7840 pub fn slash_token(&self) -> Option<SyntaxToken> {
7841 support::token(&self.syntax, SyntaxKind::SLASH)
7842 }
7843 #[inline]
7844 pub fn colon_token(&self) -> Option<SyntaxToken> {
7845 support::token(&self.syntax, SyntaxKind::COLON)
7846 }
7847 #[inline]
7848 pub fn l_angle_token(&self) -> Option<SyntaxToken> {
7849 support::token(&self.syntax, SyntaxKind::L_ANGLE)
7850 }
7851 #[inline]
7852 pub fn eq_token(&self) -> Option<SyntaxToken> {
7853 support::token(&self.syntax, SyntaxKind::EQ)
7854 }
7855 #[inline]
7856 pub fn r_angle_token(&self) -> Option<SyntaxToken> {
7857 support::token(&self.syntax, SyntaxKind::R_ANGLE)
7858 }
7859 #[inline]
7860 pub fn caret_token(&self) -> Option<SyntaxToken> {
7861 support::token(&self.syntax, SyntaxKind::CARET)
7862 }
7863 #[inline]
7864 pub fn and_token(&self) -> Option<SyntaxToken> {
7865 support::token(&self.syntax, SyntaxKind::AND_KW)
7866 }
7867 #[inline]
7868 pub fn collate_token(&self) -> Option<SyntaxToken> {
7869 support::token(&self.syntax, SyntaxKind::COLLATE_KW)
7870 }
7871 #[inline]
7872 pub fn ilike_token(&self) -> Option<SyntaxToken> {
7873 support::token(&self.syntax, SyntaxKind::ILIKE_KW)
7874 }
7875 #[inline]
7876 pub fn in_token(&self) -> Option<SyntaxToken> {
7877 support::token(&self.syntax, SyntaxKind::IN_KW)
7878 }
7879 #[inline]
7880 pub fn is_token(&self) -> Option<SyntaxToken> {
7881 support::token(&self.syntax, SyntaxKind::IS_KW)
7882 }
7883 #[inline]
7884 pub fn like_token(&self) -> Option<SyntaxToken> {
7885 support::token(&self.syntax, SyntaxKind::LIKE_KW)
7886 }
7887 #[inline]
7888 pub fn or_token(&self) -> Option<SyntaxToken> {
7889 support::token(&self.syntax, SyntaxKind::OR_KW)
7890 }
7891 #[inline]
7892 pub fn overlaps_token(&self) -> Option<SyntaxToken> {
7893 support::token(&self.syntax, SyntaxKind::OVERLAPS_KW)
7894 }
7895 #[inline]
7896 pub fn value_token(&self) -> Option<SyntaxToken> {
7897 support::token(&self.syntax, SyntaxKind::VALUE_KW)
7898 }
7899}
7900
7901#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7902pub struct OperatorCall {
7903 pub(crate) syntax: SyntaxNode,
7904}
7905impl OperatorCall {
7906 #[inline]
7907 pub fn op(&self) -> Option<Op> {
7908 support::child(&self.syntax)
7909 }
7910 #[inline]
7911 pub fn path(&self) -> Option<Path> {
7912 support::child(&self.syntax)
7913 }
7914 #[inline]
7915 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
7916 support::token(&self.syntax, SyntaxKind::L_PAREN)
7917 }
7918 #[inline]
7919 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
7920 support::token(&self.syntax, SyntaxKind::R_PAREN)
7921 }
7922 #[inline]
7923 pub fn dot_token(&self) -> Option<SyntaxToken> {
7924 support::token(&self.syntax, SyntaxKind::DOT)
7925 }
7926 #[inline]
7927 pub fn operator_token(&self) -> Option<SyntaxToken> {
7928 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
7929 }
7930}
7931
7932#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7933pub struct OptionItem {
7934 pub(crate) syntax: SyntaxNode,
7935}
7936impl OptionItem {
7937 #[inline]
7938 pub fn expr(&self) -> Option<Expr> {
7939 support::child(&self.syntax)
7940 }
7941 #[inline]
7942 pub fn default_token(&self) -> Option<SyntaxToken> {
7943 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
7944 }
7945}
7946
7947#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7948pub struct OptionItemList {
7949 pub(crate) syntax: SyntaxNode,
7950}
7951impl OptionItemList {
7952 #[inline]
7953 pub fn option_items(&self) -> AstChildren<OptionItem> {
7954 support::children(&self.syntax)
7955 }
7956 #[inline]
7957 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
7958 support::token(&self.syntax, SyntaxKind::L_PAREN)
7959 }
7960 #[inline]
7961 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
7962 support::token(&self.syntax, SyntaxKind::R_PAREN)
7963 }
7964}
7965
7966#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7967pub struct OrReplace {
7968 pub(crate) syntax: SyntaxNode,
7969}
7970impl OrReplace {
7971 #[inline]
7972 pub fn or_token(&self) -> Option<SyntaxToken> {
7973 support::token(&self.syntax, SyntaxKind::OR_KW)
7974 }
7975 #[inline]
7976 pub fn replace_token(&self) -> Option<SyntaxToken> {
7977 support::token(&self.syntax, SyntaxKind::REPLACE_KW)
7978 }
7979}
7980
7981#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7982pub struct OrderByClause {
7983 pub(crate) syntax: SyntaxNode,
7984}
7985impl OrderByClause {
7986 #[inline]
7987 pub fn sort_by_list(&self) -> Option<SortByList> {
7988 support::child(&self.syntax)
7989 }
7990 #[inline]
7991 pub fn by_token(&self) -> Option<SyntaxToken> {
7992 support::token(&self.syntax, SyntaxKind::BY_KW)
7993 }
7994 #[inline]
7995 pub fn order_token(&self) -> Option<SyntaxToken> {
7996 support::token(&self.syntax, SyntaxKind::ORDER_KW)
7997 }
7998}
7999
8000#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8001pub struct OverClause {
8002 pub(crate) syntax: SyntaxNode,
8003}
8004impl OverClause {
8005 #[inline]
8006 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8007 support::token(&self.syntax, SyntaxKind::L_PAREN)
8008 }
8009 #[inline]
8010 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8011 support::token(&self.syntax, SyntaxKind::R_PAREN)
8012 }
8013 #[inline]
8014 pub fn over_token(&self) -> Option<SyntaxToken> {
8015 support::token(&self.syntax, SyntaxKind::OVER_KW)
8016 }
8017}
8018
8019#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8020pub struct OwnerTo {
8021 pub(crate) syntax: SyntaxNode,
8022}
8023impl OwnerTo {
8024 #[inline]
8025 pub fn role(&self) -> Option<Role> {
8026 support::child(&self.syntax)
8027 }
8028 #[inline]
8029 pub fn owner_token(&self) -> Option<SyntaxToken> {
8030 support::token(&self.syntax, SyntaxKind::OWNER_KW)
8031 }
8032 #[inline]
8033 pub fn to_token(&self) -> Option<SyntaxToken> {
8034 support::token(&self.syntax, SyntaxKind::TO_KW)
8035 }
8036}
8037
8038#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8039pub struct ParallelFuncOption {
8040 pub(crate) syntax: SyntaxNode,
8041}
8042impl ParallelFuncOption {
8043 #[inline]
8044 pub fn ident_token(&self) -> Option<SyntaxToken> {
8045 support::token(&self.syntax, SyntaxKind::IDENT)
8046 }
8047 #[inline]
8048 pub fn parallel_token(&self) -> Option<SyntaxToken> {
8049 support::token(&self.syntax, SyntaxKind::PARALLEL_KW)
8050 }
8051}
8052
8053#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8054pub struct Param {
8055 pub(crate) syntax: SyntaxNode,
8056}
8057impl Param {
8058 #[inline]
8059 pub fn mode(&self) -> Option<ParamMode> {
8060 support::child(&self.syntax)
8061 }
8062 #[inline]
8063 pub fn name(&self) -> Option<Name> {
8064 support::child(&self.syntax)
8065 }
8066 #[inline]
8067 pub fn param_default(&self) -> Option<ParamDefault> {
8068 support::child(&self.syntax)
8069 }
8070 #[inline]
8071 pub fn ty(&self) -> Option<Type> {
8072 support::child(&self.syntax)
8073 }
8074}
8075
8076#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8077pub struct ParamDefault {
8078 pub(crate) syntax: SyntaxNode,
8079}
8080impl ParamDefault {
8081 #[inline]
8082 pub fn expr(&self) -> Option<Expr> {
8083 support::child(&self.syntax)
8084 }
8085 #[inline]
8086 pub fn eq_token(&self) -> Option<SyntaxToken> {
8087 support::token(&self.syntax, SyntaxKind::EQ)
8088 }
8089 #[inline]
8090 pub fn default_token(&self) -> Option<SyntaxToken> {
8091 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
8092 }
8093}
8094
8095#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8096pub struct ParamIn {
8097 pub(crate) syntax: SyntaxNode,
8098}
8099impl ParamIn {
8100 #[inline]
8101 pub fn in_token(&self) -> Option<SyntaxToken> {
8102 support::token(&self.syntax, SyntaxKind::IN_KW)
8103 }
8104}
8105
8106#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8107pub struct ParamInOut {
8108 pub(crate) syntax: SyntaxNode,
8109}
8110impl ParamInOut {
8111 #[inline]
8112 pub fn in_token(&self) -> Option<SyntaxToken> {
8113 support::token(&self.syntax, SyntaxKind::IN_KW)
8114 }
8115 #[inline]
8116 pub fn inout_token(&self) -> Option<SyntaxToken> {
8117 support::token(&self.syntax, SyntaxKind::INOUT_KW)
8118 }
8119 #[inline]
8120 pub fn out_token(&self) -> Option<SyntaxToken> {
8121 support::token(&self.syntax, SyntaxKind::OUT_KW)
8122 }
8123}
8124
8125#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8126pub struct ParamList {
8127 pub(crate) syntax: SyntaxNode,
8128}
8129impl ParamList {
8130 #[inline]
8131 pub fn params(&self) -> AstChildren<Param> {
8132 support::children(&self.syntax)
8133 }
8134}
8135
8136#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8137pub struct ParamOut {
8138 pub(crate) syntax: SyntaxNode,
8139}
8140impl ParamOut {
8141 #[inline]
8142 pub fn out_token(&self) -> Option<SyntaxToken> {
8143 support::token(&self.syntax, SyntaxKind::OUT_KW)
8144 }
8145}
8146
8147#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8148pub struct ParamVariadic {
8149 pub(crate) syntax: SyntaxNode,
8150}
8151impl ParamVariadic {
8152 #[inline]
8153 pub fn variadic_token(&self) -> Option<SyntaxToken> {
8154 support::token(&self.syntax, SyntaxKind::VARIADIC_KW)
8155 }
8156}
8157
8158#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8159pub struct ParenExpr {
8160 pub(crate) syntax: SyntaxNode,
8161}
8162impl ParenExpr {
8163 #[inline]
8164 pub fn expr(&self) -> Option<Expr> {
8165 support::child(&self.syntax)
8166 }
8167 #[inline]
8168 pub fn select(&self) -> Option<Select> {
8169 support::child(&self.syntax)
8170 }
8171 #[inline]
8172 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8173 support::token(&self.syntax, SyntaxKind::L_PAREN)
8174 }
8175 #[inline]
8176 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8177 support::token(&self.syntax, SyntaxKind::R_PAREN)
8178 }
8179}
8180
8181#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8182pub struct ParenSelect {
8183 pub(crate) syntax: SyntaxNode,
8184}
8185impl ParenSelect {
8186 #[inline]
8187 pub fn select(&self) -> Option<SelectVariant> {
8188 support::child(&self.syntax)
8189 }
8190 #[inline]
8191 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8192 support::token(&self.syntax, SyntaxKind::L_PAREN)
8193 }
8194 #[inline]
8195 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8196 support::token(&self.syntax, SyntaxKind::R_PAREN)
8197 }
8198}
8199
8200#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8201pub struct PartitionBy {
8202 pub(crate) syntax: SyntaxNode,
8203}
8204impl PartitionBy {
8205 #[inline]
8206 pub fn partition_item_list(&self) -> Option<PartitionItemList> {
8207 support::child(&self.syntax)
8208 }
8209 #[inline]
8210 pub fn by_token(&self) -> Option<SyntaxToken> {
8211 support::token(&self.syntax, SyntaxKind::BY_KW)
8212 }
8213 #[inline]
8214 pub fn ident_token(&self) -> Option<SyntaxToken> {
8215 support::token(&self.syntax, SyntaxKind::IDENT)
8216 }
8217 #[inline]
8218 pub fn partition_token(&self) -> Option<SyntaxToken> {
8219 support::token(&self.syntax, SyntaxKind::PARTITION_KW)
8220 }
8221 #[inline]
8222 pub fn range_token(&self) -> Option<SyntaxToken> {
8223 support::token(&self.syntax, SyntaxKind::RANGE_KW)
8224 }
8225}
8226
8227#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8228pub struct PartitionDefault {
8229 pub(crate) syntax: SyntaxNode,
8230}
8231impl PartitionDefault {
8232 #[inline]
8233 pub fn default_token(&self) -> Option<SyntaxToken> {
8234 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
8235 }
8236}
8237
8238#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8239pub struct PartitionForValuesFrom {
8240 pub(crate) syntax: SyntaxNode,
8241}
8242impl PartitionForValuesFrom {
8243 #[inline]
8244 pub fn exprs(&self) -> AstChildren<Expr> {
8245 support::children(&self.syntax)
8246 }
8247 #[inline]
8248 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8249 support::token(&self.syntax, SyntaxKind::L_PAREN)
8250 }
8251 #[inline]
8252 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8253 support::token(&self.syntax, SyntaxKind::R_PAREN)
8254 }
8255 #[inline]
8256 pub fn for_token(&self) -> Option<SyntaxToken> {
8257 support::token(&self.syntax, SyntaxKind::FOR_KW)
8258 }
8259 #[inline]
8260 pub fn from_token(&self) -> Option<SyntaxToken> {
8261 support::token(&self.syntax, SyntaxKind::FROM_KW)
8262 }
8263 #[inline]
8264 pub fn to_token(&self) -> Option<SyntaxToken> {
8265 support::token(&self.syntax, SyntaxKind::TO_KW)
8266 }
8267 #[inline]
8268 pub fn values_token(&self) -> Option<SyntaxToken> {
8269 support::token(&self.syntax, SyntaxKind::VALUES_KW)
8270 }
8271}
8272
8273#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8274pub struct PartitionForValuesIn {
8275 pub(crate) syntax: SyntaxNode,
8276}
8277impl PartitionForValuesIn {
8278 #[inline]
8279 pub fn exprs(&self) -> AstChildren<Expr> {
8280 support::children(&self.syntax)
8281 }
8282 #[inline]
8283 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8284 support::token(&self.syntax, SyntaxKind::L_PAREN)
8285 }
8286 #[inline]
8287 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8288 support::token(&self.syntax, SyntaxKind::R_PAREN)
8289 }
8290 #[inline]
8291 pub fn for_token(&self) -> Option<SyntaxToken> {
8292 support::token(&self.syntax, SyntaxKind::FOR_KW)
8293 }
8294 #[inline]
8295 pub fn in_token(&self) -> Option<SyntaxToken> {
8296 support::token(&self.syntax, SyntaxKind::IN_KW)
8297 }
8298 #[inline]
8299 pub fn values_token(&self) -> Option<SyntaxToken> {
8300 support::token(&self.syntax, SyntaxKind::VALUES_KW)
8301 }
8302}
8303
8304#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8305pub struct PartitionForValuesWith {
8306 pub(crate) syntax: SyntaxNode,
8307}
8308impl PartitionForValuesWith {
8309 #[inline]
8310 pub fn literal(&self) -> Option<Literal> {
8311 support::child(&self.syntax)
8312 }
8313 #[inline]
8314 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8315 support::token(&self.syntax, SyntaxKind::L_PAREN)
8316 }
8317 #[inline]
8318 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8319 support::token(&self.syntax, SyntaxKind::R_PAREN)
8320 }
8321 #[inline]
8322 pub fn comma_token(&self) -> Option<SyntaxToken> {
8323 support::token(&self.syntax, SyntaxKind::COMMA)
8324 }
8325 #[inline]
8326 pub fn for_token(&self) -> Option<SyntaxToken> {
8327 support::token(&self.syntax, SyntaxKind::FOR_KW)
8328 }
8329 #[inline]
8330 pub fn ident_token(&self) -> Option<SyntaxToken> {
8331 support::token(&self.syntax, SyntaxKind::IDENT)
8332 }
8333 #[inline]
8334 pub fn values_token(&self) -> Option<SyntaxToken> {
8335 support::token(&self.syntax, SyntaxKind::VALUES_KW)
8336 }
8337 #[inline]
8338 pub fn with_token(&self) -> Option<SyntaxToken> {
8339 support::token(&self.syntax, SyntaxKind::WITH_KW)
8340 }
8341}
8342
8343#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8344pub struct PartitionItem {
8345 pub(crate) syntax: SyntaxNode,
8346}
8347impl PartitionItem {
8348 #[inline]
8349 pub fn collate(&self) -> Option<Collate> {
8350 support::child(&self.syntax)
8351 }
8352 #[inline]
8353 pub fn expr(&self) -> Option<Expr> {
8354 support::child(&self.syntax)
8355 }
8356}
8357
8358#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8359pub struct PartitionItemList {
8360 pub(crate) syntax: SyntaxNode,
8361}
8362impl PartitionItemList {
8363 #[inline]
8364 pub fn partition_items(&self) -> AstChildren<PartitionItem> {
8365 support::children(&self.syntax)
8366 }
8367 #[inline]
8368 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8369 support::token(&self.syntax, SyntaxKind::L_PAREN)
8370 }
8371 #[inline]
8372 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8373 support::token(&self.syntax, SyntaxKind::R_PAREN)
8374 }
8375}
8376
8377#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8378pub struct PartitionOf {
8379 pub(crate) syntax: SyntaxNode,
8380}
8381impl PartitionOf {
8382 #[inline]
8383 pub fn ty(&self) -> Option<Type> {
8384 support::child(&self.syntax)
8385 }
8386 #[inline]
8387 pub fn of_token(&self) -> Option<SyntaxToken> {
8388 support::token(&self.syntax, SyntaxKind::OF_KW)
8389 }
8390 #[inline]
8391 pub fn partition_token(&self) -> Option<SyntaxToken> {
8392 support::token(&self.syntax, SyntaxKind::PARTITION_KW)
8393 }
8394}
8395
8396#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8397pub struct Path {
8398 pub(crate) syntax: SyntaxNode,
8399}
8400impl Path {
8401 #[inline]
8402 pub fn qualifier(&self) -> Option<Path> {
8403 support::child(&self.syntax)
8404 }
8405 #[inline]
8406 pub fn segment(&self) -> Option<PathSegment> {
8407 support::child(&self.syntax)
8408 }
8409 #[inline]
8410 pub fn dot_token(&self) -> Option<SyntaxToken> {
8411 support::token(&self.syntax, SyntaxKind::DOT)
8412 }
8413}
8414
8415#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8416pub struct PathSegment {
8417 pub(crate) syntax: SyntaxNode,
8418}
8419impl PathSegment {
8420 #[inline]
8421 pub fn name(&self) -> Option<Name> {
8422 support::child(&self.syntax)
8423 }
8424 #[inline]
8425 pub fn name_ref(&self) -> Option<NameRef> {
8426 support::child(&self.syntax)
8427 }
8428}
8429
8430#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8431pub struct PathType {
8432 pub(crate) syntax: SyntaxNode,
8433}
8434impl PathType {
8435 #[inline]
8436 pub fn arg_list(&self) -> Option<ArgList> {
8437 support::child(&self.syntax)
8438 }
8439 #[inline]
8440 pub fn path(&self) -> Option<Path> {
8441 support::child(&self.syntax)
8442 }
8443}
8444
8445#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8446pub struct PercentType {
8447 pub(crate) syntax: SyntaxNode,
8448}
8449impl PercentType {
8450 #[inline]
8451 pub fn percent_token(&self) -> Option<SyntaxToken> {
8452 support::token(&self.syntax, SyntaxKind::PERCENT)
8453 }
8454 #[inline]
8455 pub fn type_token(&self) -> Option<SyntaxToken> {
8456 support::token(&self.syntax, SyntaxKind::TYPE_KW)
8457 }
8458}
8459
8460#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8461pub struct PercentTypeClause {
8462 pub(crate) syntax: SyntaxNode,
8463}
8464impl PercentTypeClause {
8465 #[inline]
8466 pub fn path(&self) -> Option<Path> {
8467 support::child(&self.syntax)
8468 }
8469 #[inline]
8470 pub fn percent_type_clause(&self) -> Option<PercentTypeClause> {
8471 support::child(&self.syntax)
8472 }
8473}
8474
8475#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8476pub struct PostfixExpr {
8477 pub(crate) syntax: SyntaxNode,
8478}
8479impl PostfixExpr {
8480 #[inline]
8481 pub fn expr(&self) -> Option<Expr> {
8482 support::child(&self.syntax)
8483 }
8484}
8485
8486#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8487pub struct PrefixExpr {
8488 pub(crate) syntax: SyntaxNode,
8489}
8490impl PrefixExpr {
8491 #[inline]
8492 pub fn expr(&self) -> Option<Expr> {
8493 support::child(&self.syntax)
8494 }
8495}
8496
8497#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8498pub struct Prepare {
8499 pub(crate) syntax: SyntaxNode,
8500}
8501impl Prepare {
8502 #[inline]
8503 pub fn name_ref(&self) -> Option<NameRef> {
8504 support::child(&self.syntax)
8505 }
8506 #[inline]
8507 pub fn prepare_token(&self) -> Option<SyntaxToken> {
8508 support::token(&self.syntax, SyntaxKind::PREPARE_KW)
8509 }
8510}
8511
8512#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8513pub struct PrepareTransaction {
8514 pub(crate) syntax: SyntaxNode,
8515}
8516impl PrepareTransaction {
8517 #[inline]
8518 pub fn literal(&self) -> Option<Literal> {
8519 support::child(&self.syntax)
8520 }
8521 #[inline]
8522 pub fn prepare_token(&self) -> Option<SyntaxToken> {
8523 support::token(&self.syntax, SyntaxKind::PREPARE_KW)
8524 }
8525 #[inline]
8526 pub fn transaction_token(&self) -> Option<SyntaxToken> {
8527 support::token(&self.syntax, SyntaxKind::TRANSACTION_KW)
8528 }
8529}
8530
8531#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8532pub struct PreserveRows {
8533 pub(crate) syntax: SyntaxNode,
8534}
8535impl PreserveRows {
8536 #[inline]
8537 pub fn preserve_token(&self) -> Option<SyntaxToken> {
8538 support::token(&self.syntax, SyntaxKind::PRESERVE_KW)
8539 }
8540 #[inline]
8541 pub fn rows_token(&self) -> Option<SyntaxToken> {
8542 support::token(&self.syntax, SyntaxKind::ROWS_KW)
8543 }
8544}
8545
8546#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8547pub struct PrimaryKeyConstraint {
8548 pub(crate) syntax: SyntaxNode,
8549}
8550impl PrimaryKeyConstraint {
8551 #[inline]
8552 pub fn column_list(&self) -> Option<ColumnList> {
8553 support::child(&self.syntax)
8554 }
8555 #[inline]
8556 pub fn name_ref(&self) -> Option<NameRef> {
8557 support::child(&self.syntax)
8558 }
8559 #[inline]
8560 pub fn partition_item_list(&self) -> Option<PartitionItemList> {
8561 support::child(&self.syntax)
8562 }
8563 #[inline]
8564 pub fn using_index(&self) -> Option<UsingIndex> {
8565 support::child(&self.syntax)
8566 }
8567 #[inline]
8568 pub fn constraint_token(&self) -> Option<SyntaxToken> {
8569 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
8570 }
8571 #[inline]
8572 pub fn key_token(&self) -> Option<SyntaxToken> {
8573 support::token(&self.syntax, SyntaxKind::KEY_KW)
8574 }
8575 #[inline]
8576 pub fn primary_token(&self) -> Option<SyntaxToken> {
8577 support::token(&self.syntax, SyntaxKind::PRIMARY_KW)
8578 }
8579}
8580
8581#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8582pub struct ReadCommitted {
8583 pub(crate) syntax: SyntaxNode,
8584}
8585impl ReadCommitted {
8586 #[inline]
8587 pub fn committed_token(&self) -> Option<SyntaxToken> {
8588 support::token(&self.syntax, SyntaxKind::COMMITTED_KW)
8589 }
8590 #[inline]
8591 pub fn isolation_token(&self) -> Option<SyntaxToken> {
8592 support::token(&self.syntax, SyntaxKind::ISOLATION_KW)
8593 }
8594 #[inline]
8595 pub fn level_token(&self) -> Option<SyntaxToken> {
8596 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
8597 }
8598 #[inline]
8599 pub fn read_token(&self) -> Option<SyntaxToken> {
8600 support::token(&self.syntax, SyntaxKind::READ_KW)
8601 }
8602}
8603
8604#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8605pub struct ReadOnly {
8606 pub(crate) syntax: SyntaxNode,
8607}
8608impl ReadOnly {
8609 #[inline]
8610 pub fn only_token(&self) -> Option<SyntaxToken> {
8611 support::token(&self.syntax, SyntaxKind::ONLY_KW)
8612 }
8613 #[inline]
8614 pub fn read_token(&self) -> Option<SyntaxToken> {
8615 support::token(&self.syntax, SyntaxKind::READ_KW)
8616 }
8617}
8618
8619#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8620pub struct ReadUncommitted {
8621 pub(crate) syntax: SyntaxNode,
8622}
8623impl ReadUncommitted {
8624 #[inline]
8625 pub fn isolation_token(&self) -> Option<SyntaxToken> {
8626 support::token(&self.syntax, SyntaxKind::ISOLATION_KW)
8627 }
8628 #[inline]
8629 pub fn level_token(&self) -> Option<SyntaxToken> {
8630 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
8631 }
8632 #[inline]
8633 pub fn read_token(&self) -> Option<SyntaxToken> {
8634 support::token(&self.syntax, SyntaxKind::READ_KW)
8635 }
8636 #[inline]
8637 pub fn uncommitted_token(&self) -> Option<SyntaxToken> {
8638 support::token(&self.syntax, SyntaxKind::UNCOMMITTED_KW)
8639 }
8640}
8641
8642#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8643pub struct ReadWrite {
8644 pub(crate) syntax: SyntaxNode,
8645}
8646impl ReadWrite {
8647 #[inline]
8648 pub fn read_token(&self) -> Option<SyntaxToken> {
8649 support::token(&self.syntax, SyntaxKind::READ_KW)
8650 }
8651 #[inline]
8652 pub fn write_token(&self) -> Option<SyntaxToken> {
8653 support::token(&self.syntax, SyntaxKind::WRITE_KW)
8654 }
8655}
8656
8657#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8658pub struct Reassign {
8659 pub(crate) syntax: SyntaxNode,
8660}
8661impl Reassign {
8662 #[inline]
8663 pub fn reassign_token(&self) -> Option<SyntaxToken> {
8664 support::token(&self.syntax, SyntaxKind::REASSIGN_KW)
8665 }
8666}
8667
8668#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8669pub struct ReferencesConstraint {
8670 pub(crate) syntax: SyntaxNode,
8671}
8672impl ReferencesConstraint {
8673 #[inline]
8674 pub fn match_type(&self) -> Option<MatchType> {
8675 support::child(&self.syntax)
8676 }
8677 #[inline]
8678 pub fn name_ref(&self) -> Option<NameRef> {
8679 support::child(&self.syntax)
8680 }
8681 #[inline]
8682 pub fn on_delete_action(&self) -> Option<OnDeleteAction> {
8683 support::child(&self.syntax)
8684 }
8685 #[inline]
8686 pub fn on_update_action(&self) -> Option<OnUpdateAction> {
8687 support::child(&self.syntax)
8688 }
8689 #[inline]
8690 pub fn path(&self) -> Option<Path> {
8691 support::child(&self.syntax)
8692 }
8693 #[inline]
8694 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8695 support::token(&self.syntax, SyntaxKind::L_PAREN)
8696 }
8697 #[inline]
8698 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8699 support::token(&self.syntax, SyntaxKind::R_PAREN)
8700 }
8701 #[inline]
8702 pub fn constraint_token(&self) -> Option<SyntaxToken> {
8703 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
8704 }
8705 #[inline]
8706 pub fn references_token(&self) -> Option<SyntaxToken> {
8707 support::token(&self.syntax, SyntaxKind::REFERENCES_KW)
8708 }
8709}
8710
8711#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8712pub struct Refresh {
8713 pub(crate) syntax: SyntaxNode,
8714}
8715impl Refresh {
8716 #[inline]
8717 pub fn name_ref(&self) -> Option<NameRef> {
8718 support::child(&self.syntax)
8719 }
8720 #[inline]
8721 pub fn concurrently_token(&self) -> Option<SyntaxToken> {
8722 support::token(&self.syntax, SyntaxKind::CONCURRENTLY_KW)
8723 }
8724 #[inline]
8725 pub fn data_token(&self) -> Option<SyntaxToken> {
8726 support::token(&self.syntax, SyntaxKind::DATA_KW)
8727 }
8728 #[inline]
8729 pub fn materialized_token(&self) -> Option<SyntaxToken> {
8730 support::token(&self.syntax, SyntaxKind::MATERIALIZED_KW)
8731 }
8732 #[inline]
8733 pub fn refresh_token(&self) -> Option<SyntaxToken> {
8734 support::token(&self.syntax, SyntaxKind::REFRESH_KW)
8735 }
8736 #[inline]
8737 pub fn view_token(&self) -> Option<SyntaxToken> {
8738 support::token(&self.syntax, SyntaxKind::VIEW_KW)
8739 }
8740 #[inline]
8741 pub fn with_token(&self) -> Option<SyntaxToken> {
8742 support::token(&self.syntax, SyntaxKind::WITH_KW)
8743 }
8744}
8745
8746#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8747pub struct Reindex {
8748 pub(crate) syntax: SyntaxNode,
8749}
8750impl Reindex {
8751 #[inline]
8752 pub fn reindex_token(&self) -> Option<SyntaxToken> {
8753 support::token(&self.syntax, SyntaxKind::REINDEX_KW)
8754 }
8755}
8756
8757#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8758pub struct RelationName {
8759 pub(crate) syntax: SyntaxNode,
8760}
8761impl RelationName {
8762 #[inline]
8763 pub fn path(&self) -> Option<Path> {
8764 support::child(&self.syntax)
8765 }
8766 #[inline]
8767 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8768 support::token(&self.syntax, SyntaxKind::L_PAREN)
8769 }
8770 #[inline]
8771 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8772 support::token(&self.syntax, SyntaxKind::R_PAREN)
8773 }
8774 #[inline]
8775 pub fn star_token(&self) -> Option<SyntaxToken> {
8776 support::token(&self.syntax, SyntaxKind::STAR)
8777 }
8778 #[inline]
8779 pub fn only_token(&self) -> Option<SyntaxToken> {
8780 support::token(&self.syntax, SyntaxKind::ONLY_KW)
8781 }
8782}
8783
8784#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8785pub struct ReleaseSavepoint {
8786 pub(crate) syntax: SyntaxNode,
8787}
8788impl ReleaseSavepoint {
8789 #[inline]
8790 pub fn name_ref(&self) -> Option<NameRef> {
8791 support::child(&self.syntax)
8792 }
8793 #[inline]
8794 pub fn release_token(&self) -> Option<SyntaxToken> {
8795 support::token(&self.syntax, SyntaxKind::RELEASE_KW)
8796 }
8797 #[inline]
8798 pub fn savepoint_token(&self) -> Option<SyntaxToken> {
8799 support::token(&self.syntax, SyntaxKind::SAVEPOINT_KW)
8800 }
8801}
8802
8803#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8804pub struct RenameColumn {
8805 pub(crate) syntax: SyntaxNode,
8806}
8807impl RenameColumn {
8808 #[inline]
8809 pub fn column_token(&self) -> Option<SyntaxToken> {
8810 support::token(&self.syntax, SyntaxKind::COLUMN_KW)
8811 }
8812 #[inline]
8813 pub fn rename_token(&self) -> Option<SyntaxToken> {
8814 support::token(&self.syntax, SyntaxKind::RENAME_KW)
8815 }
8816 #[inline]
8817 pub fn to_token(&self) -> Option<SyntaxToken> {
8818 support::token(&self.syntax, SyntaxKind::TO_KW)
8819 }
8820}
8821
8822#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8823pub struct RenameConstraint {
8824 pub(crate) syntax: SyntaxNode,
8825}
8826impl RenameConstraint {
8827 #[inline]
8828 pub fn name(&self) -> Option<Name> {
8829 support::child(&self.syntax)
8830 }
8831 #[inline]
8832 pub fn name_ref(&self) -> Option<NameRef> {
8833 support::child(&self.syntax)
8834 }
8835 #[inline]
8836 pub fn constraint_token(&self) -> Option<SyntaxToken> {
8837 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
8838 }
8839 #[inline]
8840 pub fn rename_token(&self) -> Option<SyntaxToken> {
8841 support::token(&self.syntax, SyntaxKind::RENAME_KW)
8842 }
8843 #[inline]
8844 pub fn to_token(&self) -> Option<SyntaxToken> {
8845 support::token(&self.syntax, SyntaxKind::TO_KW)
8846 }
8847}
8848
8849#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8850pub struct RenameTable {
8851 pub(crate) syntax: SyntaxNode,
8852}
8853impl RenameTable {
8854 #[inline]
8855 pub fn name_ref(&self) -> Option<NameRef> {
8856 support::child(&self.syntax)
8857 }
8858 #[inline]
8859 pub fn rename_token(&self) -> Option<SyntaxToken> {
8860 support::token(&self.syntax, SyntaxKind::RENAME_KW)
8861 }
8862 #[inline]
8863 pub fn to_token(&self) -> Option<SyntaxToken> {
8864 support::token(&self.syntax, SyntaxKind::TO_KW)
8865 }
8866}
8867
8868#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8869pub struct RenameTo {
8870 pub(crate) syntax: SyntaxNode,
8871}
8872impl RenameTo {
8873 #[inline]
8874 pub fn name(&self) -> Option<Name> {
8875 support::child(&self.syntax)
8876 }
8877 #[inline]
8878 pub fn rename_token(&self) -> Option<SyntaxToken> {
8879 support::token(&self.syntax, SyntaxKind::RENAME_KW)
8880 }
8881 #[inline]
8882 pub fn to_token(&self) -> Option<SyntaxToken> {
8883 support::token(&self.syntax, SyntaxKind::TO_KW)
8884 }
8885}
8886
8887#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8888pub struct RepeatableRead {
8889 pub(crate) syntax: SyntaxNode,
8890}
8891impl RepeatableRead {
8892 #[inline]
8893 pub fn isolation_token(&self) -> Option<SyntaxToken> {
8894 support::token(&self.syntax, SyntaxKind::ISOLATION_KW)
8895 }
8896 #[inline]
8897 pub fn level_token(&self) -> Option<SyntaxToken> {
8898 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
8899 }
8900 #[inline]
8901 pub fn read_token(&self) -> Option<SyntaxToken> {
8902 support::token(&self.syntax, SyntaxKind::READ_KW)
8903 }
8904 #[inline]
8905 pub fn repeatable_token(&self) -> Option<SyntaxToken> {
8906 support::token(&self.syntax, SyntaxKind::REPEATABLE_KW)
8907 }
8908}
8909
8910#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8911pub struct ReplicaIdentity {
8912 pub(crate) syntax: SyntaxNode,
8913}
8914impl ReplicaIdentity {
8915 #[inline]
8916 pub fn identity_token(&self) -> Option<SyntaxToken> {
8917 support::token(&self.syntax, SyntaxKind::IDENTITY_KW)
8918 }
8919 #[inline]
8920 pub fn replica_token(&self) -> Option<SyntaxToken> {
8921 support::token(&self.syntax, SyntaxKind::REPLICA_KW)
8922 }
8923}
8924
8925#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8926pub struct Reset {
8927 pub(crate) syntax: SyntaxNode,
8928}
8929impl Reset {
8930 #[inline]
8931 pub fn name_ref(&self) -> Option<NameRef> {
8932 support::child(&self.syntax)
8933 }
8934 #[inline]
8935 pub fn all_token(&self) -> Option<SyntaxToken> {
8936 support::token(&self.syntax, SyntaxKind::ALL_KW)
8937 }
8938 #[inline]
8939 pub fn reset_token(&self) -> Option<SyntaxToken> {
8940 support::token(&self.syntax, SyntaxKind::RESET_KW)
8941 }
8942}
8943
8944#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8945pub struct ResetFuncOption {
8946 pub(crate) syntax: SyntaxNode,
8947}
8948impl ResetFuncOption {
8949 #[inline]
8950 pub fn name_ref(&self) -> Option<NameRef> {
8951 support::child(&self.syntax)
8952 }
8953 #[inline]
8954 pub fn reset_token(&self) -> Option<SyntaxToken> {
8955 support::token(&self.syntax, SyntaxKind::RESET_KW)
8956 }
8957}
8958
8959#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8960pub struct ResetOptions {
8961 pub(crate) syntax: SyntaxNode,
8962}
8963impl ResetOptions {
8964 #[inline]
8965 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8966 support::token(&self.syntax, SyntaxKind::L_PAREN)
8967 }
8968 #[inline]
8969 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8970 support::token(&self.syntax, SyntaxKind::R_PAREN)
8971 }
8972 #[inline]
8973 pub fn reset_token(&self) -> Option<SyntaxToken> {
8974 support::token(&self.syntax, SyntaxKind::RESET_KW)
8975 }
8976}
8977
8978#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8979pub struct ResetStorageParams {
8980 pub(crate) syntax: SyntaxNode,
8981}
8982impl ResetStorageParams {
8983 #[inline]
8984 pub fn attribute_list(&self) -> Option<AttributeList> {
8985 support::child(&self.syntax)
8986 }
8987 #[inline]
8988 pub fn reset_token(&self) -> Option<SyntaxToken> {
8989 support::token(&self.syntax, SyntaxKind::RESET_KW)
8990 }
8991}
8992
8993#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8994pub struct Restart {
8995 pub(crate) syntax: SyntaxNode,
8996}
8997impl Restart {
8998 #[inline]
8999 pub fn restart_token(&self) -> Option<SyntaxToken> {
9000 support::token(&self.syntax, SyntaxKind::RESTART_KW)
9001 }
9002 #[inline]
9003 pub fn with_token(&self) -> Option<SyntaxToken> {
9004 support::token(&self.syntax, SyntaxKind::WITH_KW)
9005 }
9006}
9007
9008#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9009pub struct Restrict {
9010 pub(crate) syntax: SyntaxNode,
9011}
9012impl Restrict {
9013 #[inline]
9014 pub fn restrict_token(&self) -> Option<SyntaxToken> {
9015 support::token(&self.syntax, SyntaxKind::RESTRICT_KW)
9016 }
9017}
9018
9019#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9020pub struct RetType {
9021 pub(crate) syntax: SyntaxNode,
9022}
9023impl RetType {
9024 #[inline]
9025 pub fn ty(&self) -> Option<Type> {
9026 support::child(&self.syntax)
9027 }
9028 #[inline]
9029 pub fn returns_token(&self) -> Option<SyntaxToken> {
9030 support::token(&self.syntax, SyntaxKind::RETURNS_KW)
9031 }
9032}
9033
9034#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9035pub struct ReturnFuncOption {
9036 pub(crate) syntax: SyntaxNode,
9037}
9038impl ReturnFuncOption {
9039 #[inline]
9040 pub fn expr(&self) -> Option<Expr> {
9041 support::child(&self.syntax)
9042 }
9043 #[inline]
9044 pub fn return_token(&self) -> Option<SyntaxToken> {
9045 support::token(&self.syntax, SyntaxKind::RETURN_KW)
9046 }
9047}
9048
9049#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9050pub struct ReturningClause {
9051 pub(crate) syntax: SyntaxNode,
9052}
9053impl ReturningClause {
9054 #[inline]
9055 pub fn target_list(&self) -> Option<TargetList> {
9056 support::child(&self.syntax)
9057 }
9058 #[inline]
9059 pub fn returning_token(&self) -> Option<SyntaxToken> {
9060 support::token(&self.syntax, SyntaxKind::RETURNING_KW)
9061 }
9062}
9063
9064#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9065pub struct Revoke {
9066 pub(crate) syntax: SyntaxNode,
9067}
9068impl Revoke {
9069 #[inline]
9070 pub fn revoke_token(&self) -> Option<SyntaxToken> {
9071 support::token(&self.syntax, SyntaxKind::REVOKE_KW)
9072 }
9073}
9074
9075#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9076pub struct Role {
9077 pub(crate) syntax: SyntaxNode,
9078}
9079impl Role {
9080 #[inline]
9081 pub fn current_role_token(&self) -> Option<SyntaxToken> {
9082 support::token(&self.syntax, SyntaxKind::CURRENT_ROLE_KW)
9083 }
9084 #[inline]
9085 pub fn current_user_token(&self) -> Option<SyntaxToken> {
9086 support::token(&self.syntax, SyntaxKind::CURRENT_USER_KW)
9087 }
9088 #[inline]
9089 pub fn group_token(&self) -> Option<SyntaxToken> {
9090 support::token(&self.syntax, SyntaxKind::GROUP_KW)
9091 }
9092 #[inline]
9093 pub fn ident_token(&self) -> Option<SyntaxToken> {
9094 support::token(&self.syntax, SyntaxKind::IDENT)
9095 }
9096 #[inline]
9097 pub fn session_user_token(&self) -> Option<SyntaxToken> {
9098 support::token(&self.syntax, SyntaxKind::SESSION_USER_KW)
9099 }
9100}
9101
9102#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9103pub struct RoleOption {
9104 pub(crate) syntax: SyntaxNode,
9105}
9106impl RoleOption {
9107 #[inline]
9108 pub fn inherit_token(&self) -> Option<SyntaxToken> {
9109 support::token(&self.syntax, SyntaxKind::INHERIT_KW)
9110 }
9111}
9112
9113#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9114pub struct RoleOptionList {
9115 pub(crate) syntax: SyntaxNode,
9116}
9117impl RoleOptionList {
9118 #[inline]
9119 pub fn role_options(&self) -> AstChildren<RoleOption> {
9120 support::children(&self.syntax)
9121 }
9122 #[inline]
9123 pub fn with_token(&self) -> Option<SyntaxToken> {
9124 support::token(&self.syntax, SyntaxKind::WITH_KW)
9125 }
9126}
9127
9128#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9129pub struct Rollback {
9130 pub(crate) syntax: SyntaxNode,
9131}
9132impl Rollback {
9133 #[inline]
9134 pub fn abort_token(&self) -> Option<SyntaxToken> {
9135 support::token(&self.syntax, SyntaxKind::ABORT_KW)
9136 }
9137 #[inline]
9138 pub fn rollback_token(&self) -> Option<SyntaxToken> {
9139 support::token(&self.syntax, SyntaxKind::ROLLBACK_KW)
9140 }
9141}
9142
9143#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9144pub struct Row {
9145 pub(crate) syntax: SyntaxNode,
9146}
9147impl Row {
9148 #[inline]
9149 pub fn exprs(&self) -> AstChildren<Expr> {
9150 support::children(&self.syntax)
9151 }
9152}
9153
9154#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9155pub struct RowList {
9156 pub(crate) syntax: SyntaxNode,
9157}
9158impl RowList {
9159 #[inline]
9160 pub fn rows(&self) -> AstChildren<Row> {
9161 support::children(&self.syntax)
9162 }
9163}
9164
9165#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9166pub struct RowsFuncOption {
9167 pub(crate) syntax: SyntaxNode,
9168}
9169impl RowsFuncOption {
9170 #[inline]
9171 pub fn rows_token(&self) -> Option<SyntaxToken> {
9172 support::token(&self.syntax, SyntaxKind::ROWS_KW)
9173 }
9174}
9175
9176#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9177pub struct Savepoint {
9178 pub(crate) syntax: SyntaxNode,
9179}
9180impl Savepoint {
9181 #[inline]
9182 pub fn savepoint_token(&self) -> Option<SyntaxToken> {
9183 support::token(&self.syntax, SyntaxKind::SAVEPOINT_KW)
9184 }
9185}
9186
9187#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9188pub struct SecurityFuncOption {
9189 pub(crate) syntax: SyntaxNode,
9190}
9191impl SecurityFuncOption {
9192 #[inline]
9193 pub fn definer_token(&self) -> Option<SyntaxToken> {
9194 support::token(&self.syntax, SyntaxKind::DEFINER_KW)
9195 }
9196 #[inline]
9197 pub fn invoker_token(&self) -> Option<SyntaxToken> {
9198 support::token(&self.syntax, SyntaxKind::INVOKER_KW)
9199 }
9200 #[inline]
9201 pub fn security_token(&self) -> Option<SyntaxToken> {
9202 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
9203 }
9204}
9205
9206#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9207pub struct SecurityLabel {
9208 pub(crate) syntax: SyntaxNode,
9209}
9210impl SecurityLabel {
9211 #[inline]
9212 pub fn label_token(&self) -> Option<SyntaxToken> {
9213 support::token(&self.syntax, SyntaxKind::LABEL_KW)
9214 }
9215 #[inline]
9216 pub fn security_token(&self) -> Option<SyntaxToken> {
9217 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
9218 }
9219}
9220
9221#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9222pub struct Select {
9223 pub(crate) syntax: SyntaxNode,
9224}
9225impl Select {
9226 #[inline]
9227 pub fn fetch_clause(&self) -> Option<FetchClause> {
9228 support::child(&self.syntax)
9229 }
9230 #[inline]
9231 pub fn filter_clause(&self) -> Option<FilterClause> {
9232 support::child(&self.syntax)
9233 }
9234 #[inline]
9235 pub fn from_clause(&self) -> Option<FromClause> {
9236 support::child(&self.syntax)
9237 }
9238 #[inline]
9239 pub fn group_by_clause(&self) -> Option<GroupByClause> {
9240 support::child(&self.syntax)
9241 }
9242 #[inline]
9243 pub fn having_clause(&self) -> Option<HavingClause> {
9244 support::child(&self.syntax)
9245 }
9246 #[inline]
9247 pub fn limit_clause(&self) -> Option<LimitClause> {
9248 support::child(&self.syntax)
9249 }
9250 #[inline]
9251 pub fn locking_clauses(&self) -> AstChildren<LockingClause> {
9252 support::children(&self.syntax)
9253 }
9254 #[inline]
9255 pub fn offset_clause(&self) -> Option<OffsetClause> {
9256 support::child(&self.syntax)
9257 }
9258 #[inline]
9259 pub fn order_by_clause(&self) -> Option<OrderByClause> {
9260 support::child(&self.syntax)
9261 }
9262 #[inline]
9263 pub fn select_clause(&self) -> Option<SelectClause> {
9264 support::child(&self.syntax)
9265 }
9266 #[inline]
9267 pub fn where_clause(&self) -> Option<WhereClause> {
9268 support::child(&self.syntax)
9269 }
9270 #[inline]
9271 pub fn window_clause(&self) -> Option<WindowClause> {
9272 support::child(&self.syntax)
9273 }
9274 #[inline]
9275 pub fn with_clause(&self) -> Option<WithClause> {
9276 support::child(&self.syntax)
9277 }
9278}
9279
9280#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9281pub struct SelectClause {
9282 pub(crate) syntax: SyntaxNode,
9283}
9284impl SelectClause {
9285 #[inline]
9286 pub fn distinct_clause(&self) -> Option<DistinctClause> {
9287 support::child(&self.syntax)
9288 }
9289 #[inline]
9290 pub fn target_list(&self) -> Option<TargetList> {
9291 support::child(&self.syntax)
9292 }
9293 #[inline]
9294 pub fn all_token(&self) -> Option<SyntaxToken> {
9295 support::token(&self.syntax, SyntaxKind::ALL_KW)
9296 }
9297 #[inline]
9298 pub fn select_token(&self) -> Option<SyntaxToken> {
9299 support::token(&self.syntax, SyntaxKind::SELECT_KW)
9300 }
9301}
9302
9303#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9304pub struct SelectInto {
9305 pub(crate) syntax: SyntaxNode,
9306}
9307impl SelectInto {
9308 #[inline]
9309 pub fn filter_clause(&self) -> Option<FilterClause> {
9310 support::child(&self.syntax)
9311 }
9312 #[inline]
9313 pub fn from_clause(&self) -> Option<FromClause> {
9314 support::child(&self.syntax)
9315 }
9316 #[inline]
9317 pub fn group_by_clause(&self) -> Option<GroupByClause> {
9318 support::child(&self.syntax)
9319 }
9320 #[inline]
9321 pub fn having_clause(&self) -> Option<HavingClause> {
9322 support::child(&self.syntax)
9323 }
9324 #[inline]
9325 pub fn into_clause(&self) -> Option<IntoClause> {
9326 support::child(&self.syntax)
9327 }
9328 #[inline]
9329 pub fn limit_clause(&self) -> Option<LimitClause> {
9330 support::child(&self.syntax)
9331 }
9332 #[inline]
9333 pub fn locking_clauses(&self) -> AstChildren<LockingClause> {
9334 support::children(&self.syntax)
9335 }
9336 #[inline]
9337 pub fn offset_clause(&self) -> Option<OffsetClause> {
9338 support::child(&self.syntax)
9339 }
9340 #[inline]
9341 pub fn order_by_clause(&self) -> Option<OrderByClause> {
9342 support::child(&self.syntax)
9343 }
9344 #[inline]
9345 pub fn select_clause(&self) -> Option<SelectClause> {
9346 support::child(&self.syntax)
9347 }
9348 #[inline]
9349 pub fn where_clause(&self) -> Option<WhereClause> {
9350 support::child(&self.syntax)
9351 }
9352 #[inline]
9353 pub fn window_clause(&self) -> Option<WindowClause> {
9354 support::child(&self.syntax)
9355 }
9356}
9357
9358#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9359pub struct SequenceOption {
9360 pub(crate) syntax: SyntaxNode,
9361}
9362impl SequenceOption {
9363 #[inline]
9364 pub fn cycle_token(&self) -> Option<SyntaxToken> {
9365 support::token(&self.syntax, SyntaxKind::CYCLE_KW)
9366 }
9367 #[inline]
9368 pub fn maxvalue_token(&self) -> Option<SyntaxToken> {
9369 support::token(&self.syntax, SyntaxKind::MAXVALUE_KW)
9370 }
9371 #[inline]
9372 pub fn minvalue_token(&self) -> Option<SyntaxToken> {
9373 support::token(&self.syntax, SyntaxKind::MINVALUE_KW)
9374 }
9375 #[inline]
9376 pub fn no_token(&self) -> Option<SyntaxToken> {
9377 support::token(&self.syntax, SyntaxKind::NO_KW)
9378 }
9379}
9380
9381#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9382pub struct SequenceOptionList {
9383 pub(crate) syntax: SyntaxNode,
9384}
9385impl SequenceOptionList {
9386 #[inline]
9387 pub fn sequence_options(&self) -> AstChildren<SequenceOption> {
9388 support::children(&self.syntax)
9389 }
9390 #[inline]
9391 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
9392 support::token(&self.syntax, SyntaxKind::L_PAREN)
9393 }
9394 #[inline]
9395 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
9396 support::token(&self.syntax, SyntaxKind::R_PAREN)
9397 }
9398}
9399
9400#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9401pub struct Serializable {
9402 pub(crate) syntax: SyntaxNode,
9403}
9404impl Serializable {
9405 #[inline]
9406 pub fn isolation_token(&self) -> Option<SyntaxToken> {
9407 support::token(&self.syntax, SyntaxKind::ISOLATION_KW)
9408 }
9409 #[inline]
9410 pub fn level_token(&self) -> Option<SyntaxToken> {
9411 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
9412 }
9413 #[inline]
9414 pub fn serializable_token(&self) -> Option<SyntaxToken> {
9415 support::token(&self.syntax, SyntaxKind::SERIALIZABLE_KW)
9416 }
9417}
9418
9419#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9420pub struct Set {
9421 pub(crate) syntax: SyntaxNode,
9422}
9423impl Set {
9424 #[inline]
9425 pub fn expr(&self) -> Option<Expr> {
9426 support::child(&self.syntax)
9427 }
9428 #[inline]
9429 pub fn path(&self) -> Option<Path> {
9430 support::child(&self.syntax)
9431 }
9432 #[inline]
9433 pub fn eq_token(&self) -> Option<SyntaxToken> {
9434 support::token(&self.syntax, SyntaxKind::EQ)
9435 }
9436 #[inline]
9437 pub fn default_token(&self) -> Option<SyntaxToken> {
9438 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
9439 }
9440 #[inline]
9441 pub fn local_token(&self) -> Option<SyntaxToken> {
9442 support::token(&self.syntax, SyntaxKind::LOCAL_KW)
9443 }
9444 #[inline]
9445 pub fn session_token(&self) -> Option<SyntaxToken> {
9446 support::token(&self.syntax, SyntaxKind::SESSION_KW)
9447 }
9448 #[inline]
9449 pub fn set_token(&self) -> Option<SyntaxToken> {
9450 support::token(&self.syntax, SyntaxKind::SET_KW)
9451 }
9452 #[inline]
9453 pub fn time_token(&self) -> Option<SyntaxToken> {
9454 support::token(&self.syntax, SyntaxKind::TIME_KW)
9455 }
9456 #[inline]
9457 pub fn to_token(&self) -> Option<SyntaxToken> {
9458 support::token(&self.syntax, SyntaxKind::TO_KW)
9459 }
9460 #[inline]
9461 pub fn zone_token(&self) -> Option<SyntaxToken> {
9462 support::token(&self.syntax, SyntaxKind::ZONE_KW)
9463 }
9464}
9465
9466#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9467pub struct SetAccessMethod {
9468 pub(crate) syntax: SyntaxNode,
9469}
9470impl SetAccessMethod {
9471 #[inline]
9472 pub fn name_ref(&self) -> Option<NameRef> {
9473 support::child(&self.syntax)
9474 }
9475 #[inline]
9476 pub fn access_token(&self) -> Option<SyntaxToken> {
9477 support::token(&self.syntax, SyntaxKind::ACCESS_KW)
9478 }
9479 #[inline]
9480 pub fn method_token(&self) -> Option<SyntaxToken> {
9481 support::token(&self.syntax, SyntaxKind::METHOD_KW)
9482 }
9483 #[inline]
9484 pub fn set_token(&self) -> Option<SyntaxToken> {
9485 support::token(&self.syntax, SyntaxKind::SET_KW)
9486 }
9487}
9488
9489#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9490pub struct SetClause {
9491 pub(crate) syntax: SyntaxNode,
9492}
9493impl SetClause {
9494 #[inline]
9495 pub fn set_column_list(&self) -> Option<SetColumnList> {
9496 support::child(&self.syntax)
9497 }
9498 #[inline]
9499 pub fn set_token(&self) -> Option<SyntaxToken> {
9500 support::token(&self.syntax, SyntaxKind::SET_KW)
9501 }
9502}
9503
9504#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9505pub struct SetColumnList {
9506 pub(crate) syntax: SyntaxNode,
9507}
9508impl SetColumnList {
9509 #[inline]
9510 pub fn set_columns(&self) -> AstChildren<SetColumn> {
9511 support::children(&self.syntax)
9512 }
9513}
9514
9515#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9516pub struct SetCompression {
9517 pub(crate) syntax: SyntaxNode,
9518}
9519impl SetCompression {
9520 #[inline]
9521 pub fn compression_token(&self) -> Option<SyntaxToken> {
9522 support::token(&self.syntax, SyntaxKind::COMPRESSION_KW)
9523 }
9524 #[inline]
9525 pub fn set_token(&self) -> Option<SyntaxToken> {
9526 support::token(&self.syntax, SyntaxKind::SET_KW)
9527 }
9528}
9529
9530#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9531pub struct SetConstraints {
9532 pub(crate) syntax: SyntaxNode,
9533}
9534impl SetConstraints {
9535 #[inline]
9536 pub fn constraints_token(&self) -> Option<SyntaxToken> {
9537 support::token(&self.syntax, SyntaxKind::CONSTRAINTS_KW)
9538 }
9539 #[inline]
9540 pub fn set_token(&self) -> Option<SyntaxToken> {
9541 support::token(&self.syntax, SyntaxKind::SET_KW)
9542 }
9543}
9544
9545#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9546pub struct SetDefault {
9547 pub(crate) syntax: SyntaxNode,
9548}
9549impl SetDefault {
9550 #[inline]
9551 pub fn expr(&self) -> Option<Expr> {
9552 support::child(&self.syntax)
9553 }
9554 #[inline]
9555 pub fn default_token(&self) -> Option<SyntaxToken> {
9556 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
9557 }
9558 #[inline]
9559 pub fn set_token(&self) -> Option<SyntaxToken> {
9560 support::token(&self.syntax, SyntaxKind::SET_KW)
9561 }
9562}
9563
9564#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9565pub struct SetDefaultColumns {
9566 pub(crate) syntax: SyntaxNode,
9567}
9568impl SetDefaultColumns {
9569 #[inline]
9570 pub fn column_list(&self) -> Option<ColumnList> {
9571 support::child(&self.syntax)
9572 }
9573 #[inline]
9574 pub fn default_token(&self) -> Option<SyntaxToken> {
9575 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
9576 }
9577 #[inline]
9578 pub fn set_token(&self) -> Option<SyntaxToken> {
9579 support::token(&self.syntax, SyntaxKind::SET_KW)
9580 }
9581}
9582
9583#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9584pub struct SetExpr {
9585 pub(crate) syntax: SyntaxNode,
9586}
9587impl SetExpr {
9588 #[inline]
9589 pub fn expr(&self) -> Option<Expr> {
9590 support::child(&self.syntax)
9591 }
9592 #[inline]
9593 pub fn default_token(&self) -> Option<SyntaxToken> {
9594 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
9595 }
9596}
9597
9598#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9599pub struct SetExprList {
9600 pub(crate) syntax: SyntaxNode,
9601}
9602impl SetExprList {
9603 #[inline]
9604 pub fn set_exprs(&self) -> AstChildren<SetExpr> {
9605 support::children(&self.syntax)
9606 }
9607 #[inline]
9608 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
9609 support::token(&self.syntax, SyntaxKind::L_PAREN)
9610 }
9611 #[inline]
9612 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
9613 support::token(&self.syntax, SyntaxKind::R_PAREN)
9614 }
9615 #[inline]
9616 pub fn row_token(&self) -> Option<SyntaxToken> {
9617 support::token(&self.syntax, SyntaxKind::ROW_KW)
9618 }
9619}
9620
9621#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9622pub struct SetExpression {
9623 pub(crate) syntax: SyntaxNode,
9624}
9625impl SetExpression {
9626 #[inline]
9627 pub fn expr(&self) -> Option<Expr> {
9628 support::child(&self.syntax)
9629 }
9630 #[inline]
9631 pub fn expression_token(&self) -> Option<SyntaxToken> {
9632 support::token(&self.syntax, SyntaxKind::EXPRESSION_KW)
9633 }
9634 #[inline]
9635 pub fn set_token(&self) -> Option<SyntaxToken> {
9636 support::token(&self.syntax, SyntaxKind::SET_KW)
9637 }
9638}
9639
9640#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9641pub struct SetFuncOption {
9642 pub(crate) syntax: SyntaxNode,
9643}
9644impl SetFuncOption {
9645 #[inline]
9646 pub fn set_token(&self) -> Option<SyntaxToken> {
9647 support::token(&self.syntax, SyntaxKind::SET_KW)
9648 }
9649}
9650
9651#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9652pub struct SetGenerated {
9653 pub(crate) syntax: SyntaxNode,
9654}
9655impl SetGenerated {
9656 #[inline]
9657 pub fn set_token(&self) -> Option<SyntaxToken> {
9658 support::token(&self.syntax, SyntaxKind::SET_KW)
9659 }
9660}
9661
9662#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9663pub struct SetGeneratedOptions {
9664 pub(crate) syntax: SyntaxNode,
9665}
9666impl SetGeneratedOptions {
9667 #[inline]
9668 pub fn generated_token(&self) -> Option<SyntaxToken> {
9669 support::token(&self.syntax, SyntaxKind::GENERATED_KW)
9670 }
9671 #[inline]
9672 pub fn set_token(&self) -> Option<SyntaxToken> {
9673 support::token(&self.syntax, SyntaxKind::SET_KW)
9674 }
9675}
9676
9677#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9678pub struct SetLogged {
9679 pub(crate) syntax: SyntaxNode,
9680}
9681impl SetLogged {
9682 #[inline]
9683 pub fn logged_token(&self) -> Option<SyntaxToken> {
9684 support::token(&self.syntax, SyntaxKind::LOGGED_KW)
9685 }
9686 #[inline]
9687 pub fn set_token(&self) -> Option<SyntaxToken> {
9688 support::token(&self.syntax, SyntaxKind::SET_KW)
9689 }
9690}
9691
9692#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9693pub struct SetMultipleColumns {
9694 pub(crate) syntax: SyntaxNode,
9695}
9696impl SetMultipleColumns {
9697 #[inline]
9698 pub fn column_list(&self) -> Option<ColumnList> {
9699 support::child(&self.syntax)
9700 }
9701 #[inline]
9702 pub fn paren_select(&self) -> Option<ParenSelect> {
9703 support::child(&self.syntax)
9704 }
9705 #[inline]
9706 pub fn set_expr_list(&self) -> Option<SetExprList> {
9707 support::child(&self.syntax)
9708 }
9709 #[inline]
9710 pub fn eq_token(&self) -> Option<SyntaxToken> {
9711 support::token(&self.syntax, SyntaxKind::EQ)
9712 }
9713}
9714
9715#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9716pub struct SetNotNull {
9717 pub(crate) syntax: SyntaxNode,
9718}
9719impl SetNotNull {
9720 #[inline]
9721 pub fn not_token(&self) -> Option<SyntaxToken> {
9722 support::token(&self.syntax, SyntaxKind::NOT_KW)
9723 }
9724 #[inline]
9725 pub fn null_token(&self) -> Option<SyntaxToken> {
9726 support::token(&self.syntax, SyntaxKind::NULL_KW)
9727 }
9728 #[inline]
9729 pub fn set_token(&self) -> Option<SyntaxToken> {
9730 support::token(&self.syntax, SyntaxKind::SET_KW)
9731 }
9732}
9733
9734#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9735pub struct SetNullColumns {
9736 pub(crate) syntax: SyntaxNode,
9737}
9738impl SetNullColumns {
9739 #[inline]
9740 pub fn column_list(&self) -> Option<ColumnList> {
9741 support::child(&self.syntax)
9742 }
9743 #[inline]
9744 pub fn null_token(&self) -> Option<SyntaxToken> {
9745 support::token(&self.syntax, SyntaxKind::NULL_KW)
9746 }
9747 #[inline]
9748 pub fn set_token(&self) -> Option<SyntaxToken> {
9749 support::token(&self.syntax, SyntaxKind::SET_KW)
9750 }
9751}
9752
9753#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9754pub struct SetOptions {
9755 pub(crate) syntax: SyntaxNode,
9756}
9757impl SetOptions {
9758 #[inline]
9759 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
9760 support::token(&self.syntax, SyntaxKind::L_PAREN)
9761 }
9762 #[inline]
9763 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
9764 support::token(&self.syntax, SyntaxKind::R_PAREN)
9765 }
9766 #[inline]
9767 pub fn set_token(&self) -> Option<SyntaxToken> {
9768 support::token(&self.syntax, SyntaxKind::SET_KW)
9769 }
9770}
9771
9772#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9773pub struct SetOptionsList {
9774 pub(crate) syntax: SyntaxNode,
9775}
9776impl SetOptionsList {
9777 #[inline]
9778 pub fn alter_option_list(&self) -> Option<AlterOptionList> {
9779 support::child(&self.syntax)
9780 }
9781 #[inline]
9782 pub fn options_token(&self) -> Option<SyntaxToken> {
9783 support::token(&self.syntax, SyntaxKind::OPTIONS_KW)
9784 }
9785 #[inline]
9786 pub fn set_token(&self) -> Option<SyntaxToken> {
9787 support::token(&self.syntax, SyntaxKind::SET_KW)
9788 }
9789}
9790
9791#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9792pub struct SetRole {
9793 pub(crate) syntax: SyntaxNode,
9794}
9795impl SetRole {
9796 #[inline]
9797 pub fn role_token(&self) -> Option<SyntaxToken> {
9798 support::token(&self.syntax, SyntaxKind::ROLE_KW)
9799 }
9800 #[inline]
9801 pub fn set_token(&self) -> Option<SyntaxToken> {
9802 support::token(&self.syntax, SyntaxKind::SET_KW)
9803 }
9804}
9805
9806#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9807pub struct SetSchema {
9808 pub(crate) syntax: SyntaxNode,
9809}
9810impl SetSchema {
9811 #[inline]
9812 pub fn name_ref(&self) -> Option<NameRef> {
9813 support::child(&self.syntax)
9814 }
9815 #[inline]
9816 pub fn schema_token(&self) -> Option<SyntaxToken> {
9817 support::token(&self.syntax, SyntaxKind::SCHEMA_KW)
9818 }
9819 #[inline]
9820 pub fn set_token(&self) -> Option<SyntaxToken> {
9821 support::token(&self.syntax, SyntaxKind::SET_KW)
9822 }
9823}
9824
9825#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9826pub struct SetSequenceOption {
9827 pub(crate) syntax: SyntaxNode,
9828}
9829impl SetSequenceOption {
9830 #[inline]
9831 pub fn set_token(&self) -> Option<SyntaxToken> {
9832 support::token(&self.syntax, SyntaxKind::SET_KW)
9833 }
9834}
9835
9836#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9837pub struct SetSessionAuth {
9838 pub(crate) syntax: SyntaxNode,
9839}
9840impl SetSessionAuth {
9841 #[inline]
9842 pub fn authorization_token(&self) -> Option<SyntaxToken> {
9843 support::token(&self.syntax, SyntaxKind::AUTHORIZATION_KW)
9844 }
9845 #[inline]
9846 pub fn session_token(&self) -> Option<SyntaxToken> {
9847 support::token(&self.syntax, SyntaxKind::SESSION_KW)
9848 }
9849 #[inline]
9850 pub fn set_token(&self) -> Option<SyntaxToken> {
9851 support::token(&self.syntax, SyntaxKind::SET_KW)
9852 }
9853}
9854
9855#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9856pub struct SetSingleColumn {
9857 pub(crate) syntax: SyntaxNode,
9858}
9859impl SetSingleColumn {
9860 #[inline]
9861 pub fn column(&self) -> Option<Column> {
9862 support::child(&self.syntax)
9863 }
9864 #[inline]
9865 pub fn set_expr(&self) -> Option<SetExpr> {
9866 support::child(&self.syntax)
9867 }
9868 #[inline]
9869 pub fn eq_token(&self) -> Option<SyntaxToken> {
9870 support::token(&self.syntax, SyntaxKind::EQ)
9871 }
9872}
9873
9874#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9875pub struct SetStatistics {
9876 pub(crate) syntax: SyntaxNode,
9877}
9878impl SetStatistics {
9879 #[inline]
9880 pub fn set_token(&self) -> Option<SyntaxToken> {
9881 support::token(&self.syntax, SyntaxKind::SET_KW)
9882 }
9883 #[inline]
9884 pub fn statistics_token(&self) -> Option<SyntaxToken> {
9885 support::token(&self.syntax, SyntaxKind::STATISTICS_KW)
9886 }
9887}
9888
9889#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9890pub struct SetStorage {
9891 pub(crate) syntax: SyntaxNode,
9892}
9893impl SetStorage {
9894 #[inline]
9895 pub fn set_token(&self) -> Option<SyntaxToken> {
9896 support::token(&self.syntax, SyntaxKind::SET_KW)
9897 }
9898 #[inline]
9899 pub fn storage_token(&self) -> Option<SyntaxToken> {
9900 support::token(&self.syntax, SyntaxKind::STORAGE_KW)
9901 }
9902}
9903
9904#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9905pub struct SetStorageParams {
9906 pub(crate) syntax: SyntaxNode,
9907}
9908impl SetStorageParams {
9909 #[inline]
9910 pub fn attribute_list(&self) -> Option<AttributeList> {
9911 support::child(&self.syntax)
9912 }
9913 #[inline]
9914 pub fn set_token(&self) -> Option<SyntaxToken> {
9915 support::token(&self.syntax, SyntaxKind::SET_KW)
9916 }
9917}
9918
9919#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9920pub struct SetTablespace {
9921 pub(crate) syntax: SyntaxNode,
9922}
9923impl SetTablespace {
9924 #[inline]
9925 pub fn name_ref(&self) -> Option<NameRef> {
9926 support::child(&self.syntax)
9927 }
9928 #[inline]
9929 pub fn set_token(&self) -> Option<SyntaxToken> {
9930 support::token(&self.syntax, SyntaxKind::SET_KW)
9931 }
9932 #[inline]
9933 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
9934 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
9935 }
9936}
9937
9938#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9939pub struct SetTransaction {
9940 pub(crate) syntax: SyntaxNode,
9941}
9942impl SetTransaction {
9943 #[inline]
9944 pub fn set_token(&self) -> Option<SyntaxToken> {
9945 support::token(&self.syntax, SyntaxKind::SET_KW)
9946 }
9947 #[inline]
9948 pub fn transaction_token(&self) -> Option<SyntaxToken> {
9949 support::token(&self.syntax, SyntaxKind::TRANSACTION_KW)
9950 }
9951}
9952
9953#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9954pub struct SetType {
9955 pub(crate) syntax: SyntaxNode,
9956}
9957impl SetType {
9958 #[inline]
9959 pub fn collate(&self) -> Option<Collate> {
9960 support::child(&self.syntax)
9961 }
9962 #[inline]
9963 pub fn ty(&self) -> Option<Type> {
9964 support::child(&self.syntax)
9965 }
9966 #[inline]
9967 pub fn set_token(&self) -> Option<SyntaxToken> {
9968 support::token(&self.syntax, SyntaxKind::SET_KW)
9969 }
9970 #[inline]
9971 pub fn type_token(&self) -> Option<SyntaxToken> {
9972 support::token(&self.syntax, SyntaxKind::TYPE_KW)
9973 }
9974}
9975
9976#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9977pub struct SetUnlogged {
9978 pub(crate) syntax: SyntaxNode,
9979}
9980impl SetUnlogged {
9981 #[inline]
9982 pub fn set_token(&self) -> Option<SyntaxToken> {
9983 support::token(&self.syntax, SyntaxKind::SET_KW)
9984 }
9985 #[inline]
9986 pub fn unlogged_token(&self) -> Option<SyntaxToken> {
9987 support::token(&self.syntax, SyntaxKind::UNLOGGED_KW)
9988 }
9989}
9990
9991#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9992pub struct SetWithoutCluster {
9993 pub(crate) syntax: SyntaxNode,
9994}
9995impl SetWithoutCluster {
9996 #[inline]
9997 pub fn cluster_token(&self) -> Option<SyntaxToken> {
9998 support::token(&self.syntax, SyntaxKind::CLUSTER_KW)
9999 }
10000 #[inline]
10001 pub fn set_token(&self) -> Option<SyntaxToken> {
10002 support::token(&self.syntax, SyntaxKind::SET_KW)
10003 }
10004 #[inline]
10005 pub fn without_token(&self) -> Option<SyntaxToken> {
10006 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
10007 }
10008}
10009
10010#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10011pub struct SetWithoutOids {
10012 pub(crate) syntax: SyntaxNode,
10013}
10014impl SetWithoutOids {
10015 #[inline]
10016 pub fn oids_token(&self) -> Option<SyntaxToken> {
10017 support::token(&self.syntax, SyntaxKind::OIDS_KW)
10018 }
10019 #[inline]
10020 pub fn set_token(&self) -> Option<SyntaxToken> {
10021 support::token(&self.syntax, SyntaxKind::SET_KW)
10022 }
10023 #[inline]
10024 pub fn without_token(&self) -> Option<SyntaxToken> {
10025 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
10026 }
10027}
10028
10029#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10030pub struct Show {
10031 pub(crate) syntax: SyntaxNode,
10032}
10033impl Show {
10034 #[inline]
10035 pub fn show_token(&self) -> Option<SyntaxToken> {
10036 support::token(&self.syntax, SyntaxKind::SHOW_KW)
10037 }
10038}
10039
10040#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10041pub struct SimilarTo {
10042 pub(crate) syntax: SyntaxNode,
10043}
10044impl SimilarTo {
10045 #[inline]
10046 pub fn similar_token(&self) -> Option<SyntaxToken> {
10047 support::token(&self.syntax, SyntaxKind::SIMILAR_KW)
10048 }
10049 #[inline]
10050 pub fn to_token(&self) -> Option<SyntaxToken> {
10051 support::token(&self.syntax, SyntaxKind::TO_KW)
10052 }
10053}
10054
10055#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10056pub struct SliceExpr {
10057 pub(crate) syntax: SyntaxNode,
10058}
10059impl SliceExpr {
10060 #[inline]
10061 pub fn l_brack_token(&self) -> Option<SyntaxToken> {
10062 support::token(&self.syntax, SyntaxKind::L_BRACK)
10063 }
10064 #[inline]
10065 pub fn r_brack_token(&self) -> Option<SyntaxToken> {
10066 support::token(&self.syntax, SyntaxKind::R_BRACK)
10067 }
10068 #[inline]
10069 pub fn colon_token(&self) -> Option<SyntaxToken> {
10070 support::token(&self.syntax, SyntaxKind::COLON)
10071 }
10072}
10073
10074#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10075pub struct SortAsc {
10076 pub(crate) syntax: SyntaxNode,
10077}
10078impl SortAsc {
10079 #[inline]
10080 pub fn asc_token(&self) -> Option<SyntaxToken> {
10081 support::token(&self.syntax, SyntaxKind::ASC_KW)
10082 }
10083}
10084
10085#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10086pub struct SortBy {
10087 pub(crate) syntax: SyntaxNode,
10088}
10089impl SortBy {
10090 #[inline]
10091 pub fn expr(&self) -> Option<Expr> {
10092 support::child(&self.syntax)
10093 }
10094 #[inline]
10095 pub fn nulls_first(&self) -> Option<NullsFirst> {
10096 support::child(&self.syntax)
10097 }
10098 #[inline]
10099 pub fn nulls_last(&self) -> Option<NullsLast> {
10100 support::child(&self.syntax)
10101 }
10102 #[inline]
10103 pub fn sort_asc(&self) -> Option<SortAsc> {
10104 support::child(&self.syntax)
10105 }
10106 #[inline]
10107 pub fn sort_desc(&self) -> Option<SortDesc> {
10108 support::child(&self.syntax)
10109 }
10110 #[inline]
10111 pub fn sort_using(&self) -> Option<SortUsing> {
10112 support::child(&self.syntax)
10113 }
10114}
10115
10116#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10117pub struct SortByList {
10118 pub(crate) syntax: SyntaxNode,
10119}
10120impl SortByList {
10121 #[inline]
10122 pub fn sort_bys(&self) -> AstChildren<SortBy> {
10123 support::children(&self.syntax)
10124 }
10125}
10126
10127#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10128pub struct SortDesc {
10129 pub(crate) syntax: SyntaxNode,
10130}
10131impl SortDesc {
10132 #[inline]
10133 pub fn desc_token(&self) -> Option<SyntaxToken> {
10134 support::token(&self.syntax, SyntaxKind::DESC_KW)
10135 }
10136}
10137
10138#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10139pub struct SortUsing {
10140 pub(crate) syntax: SyntaxNode,
10141}
10142impl SortUsing {
10143 #[inline]
10144 pub fn op(&self) -> Option<Op> {
10145 support::child(&self.syntax)
10146 }
10147 #[inline]
10148 pub fn using_token(&self) -> Option<SyntaxToken> {
10149 support::token(&self.syntax, SyntaxKind::USING_KW)
10150 }
10151}
10152
10153#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10154pub struct SourceFile {
10155 pub(crate) syntax: SyntaxNode,
10156}
10157impl SourceFile {
10158 #[inline]
10159 pub fn stmts(&self) -> AstChildren<Stmt> {
10160 support::children(&self.syntax)
10161 }
10162}
10163
10164#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10165pub struct Storage {
10166 pub(crate) syntax: SyntaxNode,
10167}
10168impl Storage {
10169 #[inline]
10170 pub fn default_token(&self) -> Option<SyntaxToken> {
10171 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
10172 }
10173 #[inline]
10174 pub fn external_token(&self) -> Option<SyntaxToken> {
10175 support::token(&self.syntax, SyntaxKind::EXTERNAL_KW)
10176 }
10177 #[inline]
10178 pub fn ident_token(&self) -> Option<SyntaxToken> {
10179 support::token(&self.syntax, SyntaxKind::IDENT)
10180 }
10181 #[inline]
10182 pub fn storage_token(&self) -> Option<SyntaxToken> {
10183 support::token(&self.syntax, SyntaxKind::STORAGE_KW)
10184 }
10185}
10186
10187#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10188pub struct StrictFuncOption {
10189 pub(crate) syntax: SyntaxNode,
10190}
10191impl StrictFuncOption {
10192 #[inline]
10193 pub fn called_token(&self) -> Option<SyntaxToken> {
10194 support::token(&self.syntax, SyntaxKind::CALLED_KW)
10195 }
10196 #[inline]
10197 pub fn input_token(&self) -> Option<SyntaxToken> {
10198 support::token(&self.syntax, SyntaxKind::INPUT_KW)
10199 }
10200 #[inline]
10201 pub fn null_token(&self) -> Option<SyntaxToken> {
10202 support::token(&self.syntax, SyntaxKind::NULL_KW)
10203 }
10204 #[inline]
10205 pub fn on_token(&self) -> Option<SyntaxToken> {
10206 support::token(&self.syntax, SyntaxKind::ON_KW)
10207 }
10208 #[inline]
10209 pub fn returns_token(&self) -> Option<SyntaxToken> {
10210 support::token(&self.syntax, SyntaxKind::RETURNS_KW)
10211 }
10212 #[inline]
10213 pub fn strict_token(&self) -> Option<SyntaxToken> {
10214 support::token(&self.syntax, SyntaxKind::STRICT_KW)
10215 }
10216}
10217
10218#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10219pub struct SupportFuncOption {
10220 pub(crate) syntax: SyntaxNode,
10221}
10222impl SupportFuncOption {
10223 #[inline]
10224 pub fn support_token(&self) -> Option<SyntaxToken> {
10225 support::token(&self.syntax, SyntaxKind::SUPPORT_KW)
10226 }
10227}
10228
10229#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10230pub struct Table {
10231 pub(crate) syntax: SyntaxNode,
10232}
10233impl Table {
10234 #[inline]
10235 pub fn relation_name(&self) -> Option<RelationName> {
10236 support::child(&self.syntax)
10237 }
10238 #[inline]
10239 pub fn table_token(&self) -> Option<SyntaxToken> {
10240 support::token(&self.syntax, SyntaxKind::TABLE_KW)
10241 }
10242}
10243
10244#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10245pub struct TableArgList {
10246 pub(crate) syntax: SyntaxNode,
10247}
10248impl TableArgList {
10249 #[inline]
10250 pub fn args(&self) -> AstChildren<TableArg> {
10251 support::children(&self.syntax)
10252 }
10253 #[inline]
10254 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10255 support::token(&self.syntax, SyntaxKind::L_PAREN)
10256 }
10257 #[inline]
10258 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10259 support::token(&self.syntax, SyntaxKind::R_PAREN)
10260 }
10261}
10262
10263#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10264pub struct TableList {
10265 pub(crate) syntax: SyntaxNode,
10266}
10267impl TableList {
10268 #[inline]
10269 pub fn relation_names(&self) -> AstChildren<RelationName> {
10270 support::children(&self.syntax)
10271 }
10272}
10273
10274#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10275pub struct Tablespace {
10276 pub(crate) syntax: SyntaxNode,
10277}
10278impl Tablespace {
10279 #[inline]
10280 pub fn name_ref(&self) -> Option<NameRef> {
10281 support::child(&self.syntax)
10282 }
10283 #[inline]
10284 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
10285 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
10286 }
10287}
10288
10289#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10290pub struct Target {
10291 pub(crate) syntax: SyntaxNode,
10292}
10293impl Target {
10294 #[inline]
10295 pub fn as_name(&self) -> Option<AsName> {
10296 support::child(&self.syntax)
10297 }
10298 #[inline]
10299 pub fn expr(&self) -> Option<Expr> {
10300 support::child(&self.syntax)
10301 }
10302 #[inline]
10303 pub fn star_token(&self) -> Option<SyntaxToken> {
10304 support::token(&self.syntax, SyntaxKind::STAR)
10305 }
10306}
10307
10308#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10309pub struct TargetList {
10310 pub(crate) syntax: SyntaxNode,
10311}
10312impl TargetList {
10313 #[inline]
10314 pub fn targets(&self) -> AstChildren<Target> {
10315 support::children(&self.syntax)
10316 }
10317}
10318
10319#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10320pub struct TimeType {
10321 pub(crate) syntax: SyntaxNode,
10322}
10323impl TimeType {
10324 #[inline]
10325 pub fn literal(&self) -> Option<Literal> {
10326 support::child(&self.syntax)
10327 }
10328 #[inline]
10329 pub fn timezone(&self) -> Option<Timezone> {
10330 support::child(&self.syntax)
10331 }
10332 #[inline]
10333 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10334 support::token(&self.syntax, SyntaxKind::L_PAREN)
10335 }
10336 #[inline]
10337 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10338 support::token(&self.syntax, SyntaxKind::R_PAREN)
10339 }
10340 #[inline]
10341 pub fn time_token(&self) -> Option<SyntaxToken> {
10342 support::token(&self.syntax, SyntaxKind::TIME_KW)
10343 }
10344 #[inline]
10345 pub fn timestamp_token(&self) -> Option<SyntaxToken> {
10346 support::token(&self.syntax, SyntaxKind::TIMESTAMP_KW)
10347 }
10348}
10349
10350#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10351pub struct TransactionModeList {
10352 pub(crate) syntax: SyntaxNode,
10353}
10354impl TransactionModeList {
10355 #[inline]
10356 pub fn transaction_modes(&self) -> AstChildren<TransactionMode> {
10357 support::children(&self.syntax)
10358 }
10359}
10360
10361#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10362pub struct TransformFuncOption {
10363 pub(crate) syntax: SyntaxNode,
10364}
10365impl TransformFuncOption {
10366 #[inline]
10367 pub fn transform_token(&self) -> Option<SyntaxToken> {
10368 support::token(&self.syntax, SyntaxKind::TRANSFORM_KW)
10369 }
10370}
10371
10372#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10373pub struct Truncate {
10374 pub(crate) syntax: SyntaxNode,
10375}
10376impl Truncate {
10377 #[inline]
10378 pub fn table_list(&self) -> Option<TableList> {
10379 support::child(&self.syntax)
10380 }
10381 #[inline]
10382 pub fn cascade_token(&self) -> Option<SyntaxToken> {
10383 support::token(&self.syntax, SyntaxKind::CASCADE_KW)
10384 }
10385 #[inline]
10386 pub fn continue_token(&self) -> Option<SyntaxToken> {
10387 support::token(&self.syntax, SyntaxKind::CONTINUE_KW)
10388 }
10389 #[inline]
10390 pub fn identity_token(&self) -> Option<SyntaxToken> {
10391 support::token(&self.syntax, SyntaxKind::IDENTITY_KW)
10392 }
10393 #[inline]
10394 pub fn restart_token(&self) -> Option<SyntaxToken> {
10395 support::token(&self.syntax, SyntaxKind::RESTART_KW)
10396 }
10397 #[inline]
10398 pub fn restrict_token(&self) -> Option<SyntaxToken> {
10399 support::token(&self.syntax, SyntaxKind::RESTRICT_KW)
10400 }
10401 #[inline]
10402 pub fn table_token(&self) -> Option<SyntaxToken> {
10403 support::token(&self.syntax, SyntaxKind::TABLE_KW)
10404 }
10405 #[inline]
10406 pub fn truncate_token(&self) -> Option<SyntaxToken> {
10407 support::token(&self.syntax, SyntaxKind::TRUNCATE_KW)
10408 }
10409}
10410
10411#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10412pub struct TupleExpr {
10413 pub(crate) syntax: SyntaxNode,
10414}
10415impl TupleExpr {
10416 #[inline]
10417 pub fn exprs(&self) -> AstChildren<Expr> {
10418 support::children(&self.syntax)
10419 }
10420 #[inline]
10421 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10422 support::token(&self.syntax, SyntaxKind::L_PAREN)
10423 }
10424 #[inline]
10425 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10426 support::token(&self.syntax, SyntaxKind::R_PAREN)
10427 }
10428}
10429
10430#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10431pub struct UnicodeNormalForm {
10432 pub(crate) syntax: SyntaxNode,
10433}
10434impl UnicodeNormalForm {
10435 #[inline]
10436 pub fn nfc_token(&self) -> Option<SyntaxToken> {
10437 support::token(&self.syntax, SyntaxKind::NFC_KW)
10438 }
10439 #[inline]
10440 pub fn nfd_token(&self) -> Option<SyntaxToken> {
10441 support::token(&self.syntax, SyntaxKind::NFD_KW)
10442 }
10443 #[inline]
10444 pub fn nfkc_token(&self) -> Option<SyntaxToken> {
10445 support::token(&self.syntax, SyntaxKind::NFKC_KW)
10446 }
10447 #[inline]
10448 pub fn nfkd_token(&self) -> Option<SyntaxToken> {
10449 support::token(&self.syntax, SyntaxKind::NFKD_KW)
10450 }
10451}
10452
10453#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10454pub struct UniqueConstraint {
10455 pub(crate) syntax: SyntaxNode,
10456}
10457impl UniqueConstraint {
10458 #[inline]
10459 pub fn column_list(&self) -> Option<ColumnList> {
10460 support::child(&self.syntax)
10461 }
10462 #[inline]
10463 pub fn name_ref(&self) -> Option<NameRef> {
10464 support::child(&self.syntax)
10465 }
10466 #[inline]
10467 pub fn nulls_distinct(&self) -> Option<NullsDistinct> {
10468 support::child(&self.syntax)
10469 }
10470 #[inline]
10471 pub fn nulls_not_distinct(&self) -> Option<NullsNotDistinct> {
10472 support::child(&self.syntax)
10473 }
10474 #[inline]
10475 pub fn using_index(&self) -> Option<UsingIndex> {
10476 support::child(&self.syntax)
10477 }
10478 #[inline]
10479 pub fn constraint_token(&self) -> Option<SyntaxToken> {
10480 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
10481 }
10482 #[inline]
10483 pub fn unique_token(&self) -> Option<SyntaxToken> {
10484 support::token(&self.syntax, SyntaxKind::UNIQUE_KW)
10485 }
10486}
10487
10488#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10489pub struct Unlisten {
10490 pub(crate) syntax: SyntaxNode,
10491}
10492impl Unlisten {
10493 #[inline]
10494 pub fn name_ref(&self) -> Option<NameRef> {
10495 support::child(&self.syntax)
10496 }
10497 #[inline]
10498 pub fn star_token(&self) -> Option<SyntaxToken> {
10499 support::token(&self.syntax, SyntaxKind::STAR)
10500 }
10501 #[inline]
10502 pub fn unlisten_token(&self) -> Option<SyntaxToken> {
10503 support::token(&self.syntax, SyntaxKind::UNLISTEN_KW)
10504 }
10505}
10506
10507#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10508pub struct Update {
10509 pub(crate) syntax: SyntaxNode,
10510}
10511impl Update {
10512 #[inline]
10513 pub fn alias(&self) -> Option<Alias> {
10514 support::child(&self.syntax)
10515 }
10516 #[inline]
10517 pub fn from_clause(&self) -> Option<FromClause> {
10518 support::child(&self.syntax)
10519 }
10520 #[inline]
10521 pub fn relation_name(&self) -> Option<RelationName> {
10522 support::child(&self.syntax)
10523 }
10524 #[inline]
10525 pub fn returning_clause(&self) -> Option<ReturningClause> {
10526 support::child(&self.syntax)
10527 }
10528 #[inline]
10529 pub fn set_clause(&self) -> Option<SetClause> {
10530 support::child(&self.syntax)
10531 }
10532 #[inline]
10533 pub fn where_clause(&self) -> Option<WhereClause> {
10534 support::child(&self.syntax)
10535 }
10536 #[inline]
10537 pub fn update_token(&self) -> Option<SyntaxToken> {
10538 support::token(&self.syntax, SyntaxKind::UPDATE_KW)
10539 }
10540}
10541
10542#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10543pub struct UsingClause {
10544 pub(crate) syntax: SyntaxNode,
10545}
10546impl UsingClause {
10547 #[inline]
10548 pub fn from_items(&self) -> AstChildren<FromItem> {
10549 support::children(&self.syntax)
10550 }
10551 #[inline]
10552 pub fn using_token(&self) -> Option<SyntaxToken> {
10553 support::token(&self.syntax, SyntaxKind::USING_KW)
10554 }
10555}
10556
10557#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10558pub struct UsingIndex {
10559 pub(crate) syntax: SyntaxNode,
10560}
10561impl UsingIndex {
10562 #[inline]
10563 pub fn name_ref(&self) -> Option<NameRef> {
10564 support::child(&self.syntax)
10565 }
10566 #[inline]
10567 pub fn index_token(&self) -> Option<SyntaxToken> {
10568 support::token(&self.syntax, SyntaxKind::INDEX_KW)
10569 }
10570 #[inline]
10571 pub fn using_token(&self) -> Option<SyntaxToken> {
10572 support::token(&self.syntax, SyntaxKind::USING_KW)
10573 }
10574}
10575
10576#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10577pub struct UsingMethod {
10578 pub(crate) syntax: SyntaxNode,
10579}
10580impl UsingMethod {
10581 #[inline]
10582 pub fn name_ref(&self) -> Option<NameRef> {
10583 support::child(&self.syntax)
10584 }
10585 #[inline]
10586 pub fn using_token(&self) -> Option<SyntaxToken> {
10587 support::token(&self.syntax, SyntaxKind::USING_KW)
10588 }
10589}
10590
10591#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10592pub struct UsingOnClause {
10593 pub(crate) syntax: SyntaxNode,
10594}
10595impl UsingOnClause {
10596 #[inline]
10597 pub fn expr(&self) -> Option<Expr> {
10598 support::child(&self.syntax)
10599 }
10600 #[inline]
10601 pub fn from_item(&self) -> Option<FromItem> {
10602 support::child(&self.syntax)
10603 }
10604 #[inline]
10605 pub fn on_token(&self) -> Option<SyntaxToken> {
10606 support::token(&self.syntax, SyntaxKind::ON_KW)
10607 }
10608 #[inline]
10609 pub fn using_token(&self) -> Option<SyntaxToken> {
10610 support::token(&self.syntax, SyntaxKind::USING_KW)
10611 }
10612}
10613
10614#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10615pub struct Vacuum {
10616 pub(crate) syntax: SyntaxNode,
10617}
10618impl Vacuum {
10619 #[inline]
10620 pub fn vacuum_option_list(&self) -> Option<VacuumOptionList> {
10621 support::child(&self.syntax)
10622 }
10623 #[inline]
10624 pub fn vacuum_token(&self) -> Option<SyntaxToken> {
10625 support::token(&self.syntax, SyntaxKind::VACUUM_KW)
10626 }
10627}
10628
10629#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10630pub struct VacuumOption {
10631 pub(crate) syntax: SyntaxNode,
10632}
10633impl VacuumOption {
10634 #[inline]
10635 pub fn full_token(&self) -> Option<SyntaxToken> {
10636 support::token(&self.syntax, SyntaxKind::FULL_KW)
10637 }
10638}
10639
10640#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10641pub struct VacuumOptionList {
10642 pub(crate) syntax: SyntaxNode,
10643}
10644impl VacuumOptionList {
10645 #[inline]
10646 pub fn vacuum_options(&self) -> AstChildren<VacuumOption> {
10647 support::children(&self.syntax)
10648 }
10649 #[inline]
10650 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10651 support::token(&self.syntax, SyntaxKind::L_PAREN)
10652 }
10653 #[inline]
10654 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10655 support::token(&self.syntax, SyntaxKind::R_PAREN)
10656 }
10657}
10658
10659#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10660pub struct ValidateConstraint {
10661 pub(crate) syntax: SyntaxNode,
10662}
10663impl ValidateConstraint {
10664 #[inline]
10665 pub fn name_ref(&self) -> Option<NameRef> {
10666 support::child(&self.syntax)
10667 }
10668 #[inline]
10669 pub fn constraint_token(&self) -> Option<SyntaxToken> {
10670 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
10671 }
10672 #[inline]
10673 pub fn validate_token(&self) -> Option<SyntaxToken> {
10674 support::token(&self.syntax, SyntaxKind::VALIDATE_KW)
10675 }
10676}
10677
10678#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10679pub struct Values {
10680 pub(crate) syntax: SyntaxNode,
10681}
10682impl Values {
10683 #[inline]
10684 pub fn row_list(&self) -> Option<RowList> {
10685 support::child(&self.syntax)
10686 }
10687 #[inline]
10688 pub fn values_token(&self) -> Option<SyntaxToken> {
10689 support::token(&self.syntax, SyntaxKind::VALUES_KW)
10690 }
10691}
10692
10693#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10694pub struct Variant {
10695 pub(crate) syntax: SyntaxNode,
10696}
10697impl Variant {
10698 #[inline]
10699 pub fn literal(&self) -> Option<Literal> {
10700 support::child(&self.syntax)
10701 }
10702}
10703
10704#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10705pub struct VariantList {
10706 pub(crate) syntax: SyntaxNode,
10707}
10708impl VariantList {
10709 #[inline]
10710 pub fn variants(&self) -> AstChildren<Variant> {
10711 support::children(&self.syntax)
10712 }
10713 #[inline]
10714 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10715 support::token(&self.syntax, SyntaxKind::L_PAREN)
10716 }
10717 #[inline]
10718 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10719 support::token(&self.syntax, SyntaxKind::R_PAREN)
10720 }
10721}
10722
10723#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10724pub struct VolatilityFuncOption {
10725 pub(crate) syntax: SyntaxNode,
10726}
10727impl VolatilityFuncOption {
10728 #[inline]
10729 pub fn immutable_token(&self) -> Option<SyntaxToken> {
10730 support::token(&self.syntax, SyntaxKind::IMMUTABLE_KW)
10731 }
10732 #[inline]
10733 pub fn stable_token(&self) -> Option<SyntaxToken> {
10734 support::token(&self.syntax, SyntaxKind::STABLE_KW)
10735 }
10736 #[inline]
10737 pub fn volatile_token(&self) -> Option<SyntaxToken> {
10738 support::token(&self.syntax, SyntaxKind::VOLATILE_KW)
10739 }
10740}
10741
10742#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10743pub struct WhenClause {
10744 pub(crate) syntax: SyntaxNode,
10745}
10746impl WhenClause {
10747 #[inline]
10748 pub fn then_token(&self) -> Option<SyntaxToken> {
10749 support::token(&self.syntax, SyntaxKind::THEN_KW)
10750 }
10751 #[inline]
10752 pub fn when_token(&self) -> Option<SyntaxToken> {
10753 support::token(&self.syntax, SyntaxKind::WHEN_KW)
10754 }
10755}
10756
10757#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10758pub struct WhenClauseList {
10759 pub(crate) syntax: SyntaxNode,
10760}
10761impl WhenClauseList {
10762 #[inline]
10763 pub fn when_clause(&self) -> Option<WhenClause> {
10764 support::child(&self.syntax)
10765 }
10766 #[inline]
10767 pub fn when_clauses(&self) -> AstChildren<WhenClause> {
10768 support::children(&self.syntax)
10769 }
10770}
10771
10772#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10773pub struct WhereClause {
10774 pub(crate) syntax: SyntaxNode,
10775}
10776impl WhereClause {
10777 #[inline]
10778 pub fn expr(&self) -> Option<Expr> {
10779 support::child(&self.syntax)
10780 }
10781 #[inline]
10782 pub fn where_token(&self) -> Option<SyntaxToken> {
10783 support::token(&self.syntax, SyntaxKind::WHERE_KW)
10784 }
10785}
10786
10787#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10788pub struct WhereCurrentOf {
10789 pub(crate) syntax: SyntaxNode,
10790}
10791impl WhereCurrentOf {
10792 #[inline]
10793 pub fn name_ref(&self) -> Option<NameRef> {
10794 support::child(&self.syntax)
10795 }
10796 #[inline]
10797 pub fn current_token(&self) -> Option<SyntaxToken> {
10798 support::token(&self.syntax, SyntaxKind::CURRENT_KW)
10799 }
10800 #[inline]
10801 pub fn of_token(&self) -> Option<SyntaxToken> {
10802 support::token(&self.syntax, SyntaxKind::OF_KW)
10803 }
10804 #[inline]
10805 pub fn where_token(&self) -> Option<SyntaxToken> {
10806 support::token(&self.syntax, SyntaxKind::WHERE_KW)
10807 }
10808}
10809
10810#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10811pub struct WindowClause {
10812 pub(crate) syntax: SyntaxNode,
10813}
10814impl WindowClause {
10815 #[inline]
10816 pub fn window_defs(&self) -> AstChildren<WindowDef> {
10817 support::children(&self.syntax)
10818 }
10819 #[inline]
10820 pub fn window_token(&self) -> Option<SyntaxToken> {
10821 support::token(&self.syntax, SyntaxKind::WINDOW_KW)
10822 }
10823}
10824
10825#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10826pub struct WindowDef {
10827 pub(crate) syntax: SyntaxNode,
10828}
10829impl WindowDef {
10830 #[inline]
10831 pub fn name(&self) -> Option<Name> {
10832 support::child(&self.syntax)
10833 }
10834 #[inline]
10835 pub fn window_spec(&self) -> Option<WindowSpec> {
10836 support::child(&self.syntax)
10837 }
10838 #[inline]
10839 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10840 support::token(&self.syntax, SyntaxKind::L_PAREN)
10841 }
10842 #[inline]
10843 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10844 support::token(&self.syntax, SyntaxKind::R_PAREN)
10845 }
10846 #[inline]
10847 pub fn as_token(&self) -> Option<SyntaxToken> {
10848 support::token(&self.syntax, SyntaxKind::AS_KW)
10849 }
10850}
10851
10852#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10853pub struct WindowFuncOption {
10854 pub(crate) syntax: SyntaxNode,
10855}
10856impl WindowFuncOption {
10857 #[inline]
10858 pub fn window_token(&self) -> Option<SyntaxToken> {
10859 support::token(&self.syntax, SyntaxKind::WINDOW_KW)
10860 }
10861}
10862
10863#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10864pub struct WindowSpec {
10865 pub(crate) syntax: SyntaxNode,
10866}
10867impl WindowSpec {
10868 #[inline]
10869 pub fn exprs(&self) -> AstChildren<Expr> {
10870 support::children(&self.syntax)
10871 }
10872 #[inline]
10873 pub fn frame_clause(&self) -> Option<FrameClause> {
10874 support::child(&self.syntax)
10875 }
10876 #[inline]
10877 pub fn order_by_clause(&self) -> Option<OrderByClause> {
10878 support::child(&self.syntax)
10879 }
10880 #[inline]
10881 pub fn by_token(&self) -> Option<SyntaxToken> {
10882 support::token(&self.syntax, SyntaxKind::BY_KW)
10883 }
10884 #[inline]
10885 pub fn ident_token(&self) -> Option<SyntaxToken> {
10886 support::token(&self.syntax, SyntaxKind::IDENT)
10887 }
10888 #[inline]
10889 pub fn partition_token(&self) -> Option<SyntaxToken> {
10890 support::token(&self.syntax, SyntaxKind::PARTITION_KW)
10891 }
10892}
10893
10894#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10895pub struct WithClause {
10896 pub(crate) syntax: SyntaxNode,
10897}
10898impl WithClause {
10899 #[inline]
10900 pub fn with_tables(&self) -> AstChildren<WithTable> {
10901 support::children(&self.syntax)
10902 }
10903 #[inline]
10904 pub fn recursive_token(&self) -> Option<SyntaxToken> {
10905 support::token(&self.syntax, SyntaxKind::RECURSIVE_KW)
10906 }
10907 #[inline]
10908 pub fn with_token(&self) -> Option<SyntaxToken> {
10909 support::token(&self.syntax, SyntaxKind::WITH_KW)
10910 }
10911}
10912
10913#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10914pub struct WithData {
10915 pub(crate) syntax: SyntaxNode,
10916}
10917impl WithData {
10918 #[inline]
10919 pub fn data_token(&self) -> Option<SyntaxToken> {
10920 support::token(&self.syntax, SyntaxKind::DATA_KW)
10921 }
10922 #[inline]
10923 pub fn with_token(&self) -> Option<SyntaxToken> {
10924 support::token(&self.syntax, SyntaxKind::WITH_KW)
10925 }
10926}
10927
10928#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10929pub struct WithNoData {
10930 pub(crate) syntax: SyntaxNode,
10931}
10932impl WithNoData {
10933 #[inline]
10934 pub fn data_token(&self) -> Option<SyntaxToken> {
10935 support::token(&self.syntax, SyntaxKind::DATA_KW)
10936 }
10937 #[inline]
10938 pub fn no_token(&self) -> Option<SyntaxToken> {
10939 support::token(&self.syntax, SyntaxKind::NO_KW)
10940 }
10941 #[inline]
10942 pub fn with_token(&self) -> Option<SyntaxToken> {
10943 support::token(&self.syntax, SyntaxKind::WITH_KW)
10944 }
10945}
10946
10947#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10948pub struct WithOptions {
10949 pub(crate) syntax: SyntaxNode,
10950}
10951impl WithOptions {
10952 #[inline]
10953 pub fn options_token(&self) -> Option<SyntaxToken> {
10954 support::token(&self.syntax, SyntaxKind::OPTIONS_KW)
10955 }
10956 #[inline]
10957 pub fn with_token(&self) -> Option<SyntaxToken> {
10958 support::token(&self.syntax, SyntaxKind::WITH_KW)
10959 }
10960}
10961
10962#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10963pub struct WithParams {
10964 pub(crate) syntax: SyntaxNode,
10965}
10966impl WithParams {
10967 #[inline]
10968 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10969 support::token(&self.syntax, SyntaxKind::L_PAREN)
10970 }
10971 #[inline]
10972 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10973 support::token(&self.syntax, SyntaxKind::R_PAREN)
10974 }
10975 #[inline]
10976 pub fn with_token(&self) -> Option<SyntaxToken> {
10977 support::token(&self.syntax, SyntaxKind::WITH_KW)
10978 }
10979}
10980
10981#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10982pub struct WithTable {
10983 pub(crate) syntax: SyntaxNode,
10984}
10985impl WithTable {
10986 #[inline]
10987 pub fn column_list(&self) -> Option<ColumnList> {
10988 support::child(&self.syntax)
10989 }
10990 #[inline]
10991 pub fn materialized(&self) -> Option<Materialized> {
10992 support::child(&self.syntax)
10993 }
10994 #[inline]
10995 pub fn name(&self) -> Option<Name> {
10996 support::child(&self.syntax)
10997 }
10998 #[inline]
10999 pub fn not_materialized(&self) -> Option<NotMaterialized> {
11000 support::child(&self.syntax)
11001 }
11002 #[inline]
11003 pub fn query(&self) -> Option<WithQuery> {
11004 support::child(&self.syntax)
11005 }
11006 #[inline]
11007 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
11008 support::token(&self.syntax, SyntaxKind::L_PAREN)
11009 }
11010 #[inline]
11011 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
11012 support::token(&self.syntax, SyntaxKind::R_PAREN)
11013 }
11014 #[inline]
11015 pub fn as_token(&self) -> Option<SyntaxToken> {
11016 support::token(&self.syntax, SyntaxKind::AS_KW)
11017 }
11018}
11019
11020#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11021pub struct WithTimezone {
11022 pub(crate) syntax: SyntaxNode,
11023}
11024impl WithTimezone {
11025 #[inline]
11026 pub fn time_token(&self) -> Option<SyntaxToken> {
11027 support::token(&self.syntax, SyntaxKind::TIME_KW)
11028 }
11029 #[inline]
11030 pub fn with_token(&self) -> Option<SyntaxToken> {
11031 support::token(&self.syntax, SyntaxKind::WITH_KW)
11032 }
11033 #[inline]
11034 pub fn zone_token(&self) -> Option<SyntaxToken> {
11035 support::token(&self.syntax, SyntaxKind::ZONE_KW)
11036 }
11037}
11038
11039#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11040pub struct WithinClause {
11041 pub(crate) syntax: SyntaxNode,
11042}
11043impl WithinClause {
11044 #[inline]
11045 pub fn order_by_clause(&self) -> Option<OrderByClause> {
11046 support::child(&self.syntax)
11047 }
11048 #[inline]
11049 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
11050 support::token(&self.syntax, SyntaxKind::L_PAREN)
11051 }
11052 #[inline]
11053 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
11054 support::token(&self.syntax, SyntaxKind::R_PAREN)
11055 }
11056 #[inline]
11057 pub fn group_token(&self) -> Option<SyntaxToken> {
11058 support::token(&self.syntax, SyntaxKind::GROUP_KW)
11059 }
11060 #[inline]
11061 pub fn within_token(&self) -> Option<SyntaxToken> {
11062 support::token(&self.syntax, SyntaxKind::WITHIN_KW)
11063 }
11064}
11065
11066#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11067pub struct WithoutOids {
11068 pub(crate) syntax: SyntaxNode,
11069}
11070impl WithoutOids {
11071 #[inline]
11072 pub fn oids_token(&self) -> Option<SyntaxToken> {
11073 support::token(&self.syntax, SyntaxKind::OIDS_KW)
11074 }
11075 #[inline]
11076 pub fn without_token(&self) -> Option<SyntaxToken> {
11077 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
11078 }
11079}
11080
11081#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11082pub struct WithoutTimezone {
11083 pub(crate) syntax: SyntaxNode,
11084}
11085impl WithoutTimezone {
11086 #[inline]
11087 pub fn time_token(&self) -> Option<SyntaxToken> {
11088 support::token(&self.syntax, SyntaxKind::TIME_KW)
11089 }
11090 #[inline]
11091 pub fn without_token(&self) -> Option<SyntaxToken> {
11092 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
11093 }
11094 #[inline]
11095 pub fn zone_token(&self) -> Option<SyntaxToken> {
11096 support::token(&self.syntax, SyntaxKind::ZONE_KW)
11097 }
11098}
11099
11100#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11101pub struct XmlColumnOption {
11102 pub(crate) syntax: SyntaxNode,
11103}
11104impl XmlColumnOption {
11105 #[inline]
11106 pub fn expr(&self) -> Option<Expr> {
11107 support::child(&self.syntax)
11108 }
11109 #[inline]
11110 pub fn default_token(&self) -> Option<SyntaxToken> {
11111 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
11112 }
11113 #[inline]
11114 pub fn ident_token(&self) -> Option<SyntaxToken> {
11115 support::token(&self.syntax, SyntaxKind::IDENT)
11116 }
11117 #[inline]
11118 pub fn not_token(&self) -> Option<SyntaxToken> {
11119 support::token(&self.syntax, SyntaxKind::NOT_KW)
11120 }
11121 #[inline]
11122 pub fn null_token(&self) -> Option<SyntaxToken> {
11123 support::token(&self.syntax, SyntaxKind::NULL_KW)
11124 }
11125 #[inline]
11126 pub fn path_token(&self) -> Option<SyntaxToken> {
11127 support::token(&self.syntax, SyntaxKind::PATH_KW)
11128 }
11129}
11130
11131#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11132pub struct XmlColumnOptionList {
11133 pub(crate) syntax: SyntaxNode,
11134}
11135impl XmlColumnOptionList {
11136 #[inline]
11137 pub fn xml_column_option(&self) -> Option<XmlColumnOption> {
11138 support::child(&self.syntax)
11139 }
11140 #[inline]
11141 pub fn xml_column_options(&self) -> AstChildren<XmlColumnOption> {
11142 support::children(&self.syntax)
11143 }
11144}
11145
11146#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11147pub struct XmlTableColumn {
11148 pub(crate) syntax: SyntaxNode,
11149}
11150impl XmlTableColumn {
11151 #[inline]
11152 pub fn name(&self) -> Option<Name> {
11153 support::child(&self.syntax)
11154 }
11155 #[inline]
11156 pub fn ty(&self) -> Option<Type> {
11157 support::child(&self.syntax)
11158 }
11159 #[inline]
11160 pub fn xml_column_option_list(&self) -> Option<XmlColumnOptionList> {
11161 support::child(&self.syntax)
11162 }
11163 #[inline]
11164 pub fn for_token(&self) -> Option<SyntaxToken> {
11165 support::token(&self.syntax, SyntaxKind::FOR_KW)
11166 }
11167 #[inline]
11168 pub fn ordinality_token(&self) -> Option<SyntaxToken> {
11169 support::token(&self.syntax, SyntaxKind::ORDINALITY_KW)
11170 }
11171}
11172
11173#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11174pub struct XmlTableColumnList {
11175 pub(crate) syntax: SyntaxNode,
11176}
11177impl XmlTableColumnList {
11178 #[inline]
11179 pub fn xml_table_columns(&self) -> AstChildren<XmlTableColumn> {
11180 support::children(&self.syntax)
11181 }
11182}
11183
11184#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11185pub enum AlterColumnOption {
11186 AddGenerated(AddGenerated),
11187 DropDefault(DropDefault),
11188 DropExpression(DropExpression),
11189 DropIdentity(DropIdentity),
11190 DropNotNull(DropNotNull),
11191 ResetOptions(ResetOptions),
11192 Restart(Restart),
11193 SetCompression(SetCompression),
11194 SetDefault(SetDefault),
11195 SetExpression(SetExpression),
11196 SetGenerated(SetGenerated),
11197 SetGeneratedOptions(SetGeneratedOptions),
11198 SetNotNull(SetNotNull),
11199 SetOptions(SetOptions),
11200 SetOptionsList(SetOptionsList),
11201 SetSequenceOption(SetSequenceOption),
11202 SetStatistics(SetStatistics),
11203 SetStorage(SetStorage),
11204 SetType(SetType),
11205}
11206
11207#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11208pub enum AlterDomainAction {
11209 AddConstraint(AddConstraint),
11210 DropConstraint(DropConstraint),
11211 DropDefault(DropDefault),
11212 DropNotNull(DropNotNull),
11213 OwnerTo(OwnerTo),
11214 RenameConstraint(RenameConstraint),
11215 RenameTo(RenameTo),
11216 SetDefault(SetDefault),
11217 SetNotNull(SetNotNull),
11218 SetSchema(SetSchema),
11219 ValidateConstraint(ValidateConstraint),
11220}
11221
11222#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11223pub enum AlterTableAction {
11224 AddColumn(AddColumn),
11225 AddConstraint(AddConstraint),
11226 AlterColumn(AlterColumn),
11227 AlterConstraint(AlterConstraint),
11228 AttachPartition(AttachPartition),
11229 ClusterOn(ClusterOn),
11230 DetachPartition(DetachPartition),
11231 DisableRls(DisableRls),
11232 DisableRule(DisableRule),
11233 DisableTrigger(DisableTrigger),
11234 DropColumn(DropColumn),
11235 DropConstraint(DropConstraint),
11236 EnableAlwaysRule(EnableAlwaysRule),
11237 EnableAlwaysTrigger(EnableAlwaysTrigger),
11238 EnableReplicaRule(EnableReplicaRule),
11239 EnableReplicaTrigger(EnableReplicaTrigger),
11240 EnableRls(EnableRls),
11241 EnableRule(EnableRule),
11242 EnableTrigger(EnableTrigger),
11243 ForceRls(ForceRls),
11244 InheritTable(InheritTable),
11245 NoForceRls(NoForceRls),
11246 NoInheritTable(NoInheritTable),
11247 NotOf(NotOf),
11248 OfType(OfType),
11249 OptionItemList(OptionItemList),
11250 OwnerTo(OwnerTo),
11251 RenameColumn(RenameColumn),
11252 RenameConstraint(RenameConstraint),
11253 RenameTable(RenameTable),
11254 ReplicaIdentity(ReplicaIdentity),
11255 ResetStorageParams(ResetStorageParams),
11256 SetAccessMethod(SetAccessMethod),
11257 SetLogged(SetLogged),
11258 SetSchema(SetSchema),
11259 SetStorageParams(SetStorageParams),
11260 SetTablespace(SetTablespace),
11261 SetUnlogged(SetUnlogged),
11262 SetWithoutCluster(SetWithoutCluster),
11263 SetWithoutOids(SetWithoutOids),
11264 ValidateConstraint(ValidateConstraint),
11265}
11266
11267#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11268pub enum ColumnConstraint {
11269 CheckConstraint(CheckConstraint),
11270 ExcludeConstraint(ExcludeConstraint),
11271 NotNullConstraint(NotNullConstraint),
11272 PrimaryKeyConstraint(PrimaryKeyConstraint),
11273 ReferencesConstraint(ReferencesConstraint),
11274 UniqueConstraint(UniqueConstraint),
11275}
11276
11277#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11278pub enum ConflictAction {
11279 ConflictDoNothing(ConflictDoNothing),
11280 ConflictDoUpdateSet(ConflictDoUpdateSet),
11281}
11282
11283#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11284pub enum ConflictTarget {
11285 ConflictOnConstraint(ConflictOnConstraint),
11286 ConflictOnIndex(ConflictOnIndex),
11287}
11288
11289#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11290pub enum Constraint {
11291 CheckConstraint(CheckConstraint),
11292 DefaultConstraint(DefaultConstraint),
11293 ForeignKeyConstraint(ForeignKeyConstraint),
11294 GeneratedConstraint(GeneratedConstraint),
11295 NotNullConstraint(NotNullConstraint),
11296 NullConstraint(NullConstraint),
11297 PrimaryKeyConstraint(PrimaryKeyConstraint),
11298 ReferencesConstraint(ReferencesConstraint),
11299 UniqueConstraint(UniqueConstraint),
11300}
11301
11302#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11303pub enum ExplainStmt {
11304 CompoundSelect(CompoundSelect),
11305 CreateMaterializedView(CreateMaterializedView),
11306 CreateTableAs(CreateTableAs),
11307 Declare(Declare),
11308 Delete(Delete),
11309 Execute(Execute),
11310 Insert(Insert),
11311 Merge(Merge),
11312 ParenSelect(ParenSelect),
11313 Select(Select),
11314 SelectInto(SelectInto),
11315 Table(Table),
11316 Update(Update),
11317 Values(Values),
11318}
11319
11320#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11321pub enum Expr {
11322 ArrayExpr(ArrayExpr),
11323 BetweenExpr(BetweenExpr),
11324 BinExpr(BinExpr),
11325 CallExpr(CallExpr),
11326 CaseExpr(CaseExpr),
11327 CastExpr(CastExpr),
11328 FieldExpr(FieldExpr),
11329 IndexExpr(IndexExpr),
11330 Literal(Literal),
11331 NameRef(NameRef),
11332 ParenExpr(ParenExpr),
11333 PostfixExpr(PostfixExpr),
11334 PrefixExpr(PrefixExpr),
11335 SliceExpr(SliceExpr),
11336 TupleExpr(TupleExpr),
11337}
11338
11339#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11340pub enum FuncOption {
11341 AsFuncOption(AsFuncOption),
11342 BeginFuncOption(BeginFuncOption),
11343 CostFuncOption(CostFuncOption),
11344 LanguageFuncOption(LanguageFuncOption),
11345 LeakproofFuncOption(LeakproofFuncOption),
11346 ParallelFuncOption(ParallelFuncOption),
11347 ResetFuncOption(ResetFuncOption),
11348 ReturnFuncOption(ReturnFuncOption),
11349 RowsFuncOption(RowsFuncOption),
11350 SecurityFuncOption(SecurityFuncOption),
11351 SetFuncOption(SetFuncOption),
11352 StrictFuncOption(StrictFuncOption),
11353 SupportFuncOption(SupportFuncOption),
11354 TransformFuncOption(TransformFuncOption),
11355 VolatilityFuncOption(VolatilityFuncOption),
11356 WindowFuncOption(WindowFuncOption),
11357}
11358
11359#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11360pub enum GroupBy {
11361 GroupingCube(GroupingCube),
11362 GroupingExpr(GroupingExpr),
11363 GroupingRollup(GroupingRollup),
11364 GroupingSets(GroupingSets),
11365}
11366
11367#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11368pub enum JoinType {
11369 JoinCross(JoinCross),
11370 JoinFull(JoinFull),
11371 JoinInner(JoinInner),
11372 JoinLeft(JoinLeft),
11373 JoinRight(JoinRight),
11374}
11375
11376#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11377pub enum JsonBehavior {
11378 JsonBehaviorDefault(JsonBehaviorDefault),
11379 JsonBehaviorEmptyArray(JsonBehaviorEmptyArray),
11380 JsonBehaviorEmptyObject(JsonBehaviorEmptyObject),
11381 JsonBehaviorError(JsonBehaviorError),
11382 JsonBehaviorFalse(JsonBehaviorFalse),
11383 JsonBehaviorNull(JsonBehaviorNull),
11384 JsonBehaviorTrue(JsonBehaviorTrue),
11385 JsonBehaviorUnknown(JsonBehaviorUnknown),
11386}
11387
11388#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11389pub enum MatchType {
11390 MatchFull(MatchFull),
11391 MatchPartial(MatchPartial),
11392 MatchSimple(MatchSimple),
11393}
11394
11395#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11396pub enum MergeAction {
11397 MergeDelete(MergeDelete),
11398 MergeDoNothing(MergeDoNothing),
11399 MergeInsert(MergeInsert),
11400 MergeUpdate(MergeUpdate),
11401}
11402
11403#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11404pub enum MergeWhenClause {
11405 MergeWhenMatched(MergeWhenMatched),
11406 MergeWhenNotMatchedSource(MergeWhenNotMatchedSource),
11407 MergeWhenNotMatchedTarget(MergeWhenNotMatchedTarget),
11408}
11409
11410#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11411pub enum OnCommitAction {
11412 DeleteRows(DeleteRows),
11413 Drop(Drop),
11414 PreserveRows(PreserveRows),
11415}
11416
11417#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11418pub enum ParamMode {
11419 ParamIn(ParamIn),
11420 ParamInOut(ParamInOut),
11421 ParamOut(ParamOut),
11422 ParamVariadic(ParamVariadic),
11423}
11424
11425#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11426pub enum PartitionType {
11427 PartitionDefault(PartitionDefault),
11428 PartitionForValuesFrom(PartitionForValuesFrom),
11429 PartitionForValuesIn(PartitionForValuesIn),
11430 PartitionForValuesWith(PartitionForValuesWith),
11431}
11432
11433#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11434pub enum RefAction {
11435 Cascade(Cascade),
11436 NoAction(NoAction),
11437 Restrict(Restrict),
11438 SetDefaultColumns(SetDefaultColumns),
11439 SetNullColumns(SetNullColumns),
11440}
11441
11442#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11443pub enum SelectVariant {
11444 CompoundSelect(CompoundSelect),
11445 ParenSelect(ParenSelect),
11446 Select(Select),
11447 SelectInto(SelectInto),
11448 Table(Table),
11449 Values(Values),
11450}
11451
11452#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11453pub enum SetColumn {
11454 SetMultipleColumns(SetMultipleColumns),
11455 SetSingleColumn(SetSingleColumn),
11456}
11457
11458#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11459pub enum Stmt {
11460 AlterAggregate(AlterAggregate),
11461 AlterCollation(AlterCollation),
11462 AlterConversion(AlterConversion),
11463 AlterDatabase(AlterDatabase),
11464 AlterDefaultPrivileges(AlterDefaultPrivileges),
11465 AlterDomain(AlterDomain),
11466 AlterEventTrigger(AlterEventTrigger),
11467 AlterExtension(AlterExtension),
11468 AlterForeignDataWrapper(AlterForeignDataWrapper),
11469 AlterForeignTable(AlterForeignTable),
11470 AlterFunction(AlterFunction),
11471 AlterGroup(AlterGroup),
11472 AlterIndex(AlterIndex),
11473 AlterLanguage(AlterLanguage),
11474 AlterLargeObject(AlterLargeObject),
11475 AlterMaterializedView(AlterMaterializedView),
11476 AlterOperator(AlterOperator),
11477 AlterOperatorClass(AlterOperatorClass),
11478 AlterOperatorFamily(AlterOperatorFamily),
11479 AlterPolicy(AlterPolicy),
11480 AlterProcedure(AlterProcedure),
11481 AlterPublication(AlterPublication),
11482 AlterRole(AlterRole),
11483 AlterRoutine(AlterRoutine),
11484 AlterRule(AlterRule),
11485 AlterSchema(AlterSchema),
11486 AlterSequence(AlterSequence),
11487 AlterServer(AlterServer),
11488 AlterStatistics(AlterStatistics),
11489 AlterSubscription(AlterSubscription),
11490 AlterSystem(AlterSystem),
11491 AlterTable(AlterTable),
11492 AlterTablespace(AlterTablespace),
11493 AlterTextSearchConfiguration(AlterTextSearchConfiguration),
11494 AlterTextSearchDictionary(AlterTextSearchDictionary),
11495 AlterTextSearchParser(AlterTextSearchParser),
11496 AlterTextSearchTemplate(AlterTextSearchTemplate),
11497 AlterTrigger(AlterTrigger),
11498 AlterType(AlterType),
11499 AlterUser(AlterUser),
11500 AlterUserMapping(AlterUserMapping),
11501 AlterView(AlterView),
11502 Analyze(Analyze),
11503 Begin(Begin),
11504 Call(Call),
11505 Checkpoint(Checkpoint),
11506 Close(Close),
11507 Cluster(Cluster),
11508 CommentOn(CommentOn),
11509 Commit(Commit),
11510 Copy(Copy),
11511 CreateAccessMethod(CreateAccessMethod),
11512 CreateAggregate(CreateAggregate),
11513 CreateCast(CreateCast),
11514 CreateCollation(CreateCollation),
11515 CreateConversion(CreateConversion),
11516 CreateDatabase(CreateDatabase),
11517 CreateDomain(CreateDomain),
11518 CreateEventTrigger(CreateEventTrigger),
11519 CreateExtension(CreateExtension),
11520 CreateForeignDataWrapper(CreateForeignDataWrapper),
11521 CreateForeignTable(CreateForeignTable),
11522 CreateFunction(CreateFunction),
11523 CreateGroup(CreateGroup),
11524 CreateIndex(CreateIndex),
11525 CreateLanguage(CreateLanguage),
11526 CreateMaterializedView(CreateMaterializedView),
11527 CreateOperator(CreateOperator),
11528 CreateOperatorClass(CreateOperatorClass),
11529 CreateOperatorFamily(CreateOperatorFamily),
11530 CreatePolicy(CreatePolicy),
11531 CreateProcedure(CreateProcedure),
11532 CreatePublication(CreatePublication),
11533 CreateRole(CreateRole),
11534 CreateRule(CreateRule),
11535 CreateSchema(CreateSchema),
11536 CreateSequence(CreateSequence),
11537 CreateServer(CreateServer),
11538 CreateStatistics(CreateStatistics),
11539 CreateSubscription(CreateSubscription),
11540 CreateTable(CreateTable),
11541 CreateTableAs(CreateTableAs),
11542 CreateTablespace(CreateTablespace),
11543 CreateTextSearchConfiguration(CreateTextSearchConfiguration),
11544 CreateTextSearchDictionary(CreateTextSearchDictionary),
11545 CreateTextSearchParser(CreateTextSearchParser),
11546 CreateTextSearchTemplate(CreateTextSearchTemplate),
11547 CreateTransform(CreateTransform),
11548 CreateTrigger(CreateTrigger),
11549 CreateType(CreateType),
11550 CreateUser(CreateUser),
11551 CreateUserMapping(CreateUserMapping),
11552 CreateView(CreateView),
11553 Deallocate(Deallocate),
11554 Declare(Declare),
11555 Delete(Delete),
11556 Discard(Discard),
11557 Do(Do),
11558 DropAccessMethod(DropAccessMethod),
11559 DropAggregate(DropAggregate),
11560 DropCast(DropCast),
11561 DropCollation(DropCollation),
11562 DropConversion(DropConversion),
11563 DropDatabase(DropDatabase),
11564 DropDomain(DropDomain),
11565 DropEventTrigger(DropEventTrigger),
11566 DropExtension(DropExtension),
11567 DropForeignDataWrapper(DropForeignDataWrapper),
11568 DropForeignTable(DropForeignTable),
11569 DropFunction(DropFunction),
11570 DropGroup(DropGroup),
11571 DropIndex(DropIndex),
11572 DropLanguage(DropLanguage),
11573 DropMaterializedView(DropMaterializedView),
11574 DropOperator(DropOperator),
11575 DropOperatorClass(DropOperatorClass),
11576 DropOperatorFamily(DropOperatorFamily),
11577 DropOwned(DropOwned),
11578 DropPolicy(DropPolicy),
11579 DropProcedure(DropProcedure),
11580 DropPublication(DropPublication),
11581 DropRole(DropRole),
11582 DropRoutine(DropRoutine),
11583 DropRule(DropRule),
11584 DropSchema(DropSchema),
11585 DropSequence(DropSequence),
11586 DropServer(DropServer),
11587 DropStatistics(DropStatistics),
11588 DropSubscription(DropSubscription),
11589 DropTable(DropTable),
11590 DropTablespace(DropTablespace),
11591 DropTextSearchConfig(DropTextSearchConfig),
11592 DropTextSearchDict(DropTextSearchDict),
11593 DropTextSearchParser(DropTextSearchParser),
11594 DropTextSearchTemplate(DropTextSearchTemplate),
11595 DropTransform(DropTransform),
11596 DropTrigger(DropTrigger),
11597 DropType(DropType),
11598 DropUser(DropUser),
11599 DropUserMapping(DropUserMapping),
11600 DropView(DropView),
11601 Execute(Execute),
11602 Explain(Explain),
11603 Fetch(Fetch),
11604 Grant(Grant),
11605 ImportForeignSchema(ImportForeignSchema),
11606 Insert(Insert),
11607 Listen(Listen),
11608 Load(Load),
11609 Lock(Lock),
11610 Merge(Merge),
11611 Move(Move),
11612 Notify(Notify),
11613 ParenSelect(ParenSelect),
11614 Prepare(Prepare),
11615 PrepareTransaction(PrepareTransaction),
11616 Reassign(Reassign),
11617 Refresh(Refresh),
11618 Reindex(Reindex),
11619 ReleaseSavepoint(ReleaseSavepoint),
11620 Reset(Reset),
11621 Revoke(Revoke),
11622 Rollback(Rollback),
11623 Savepoint(Savepoint),
11624 SecurityLabel(SecurityLabel),
11625 Select(Select),
11626 SelectInto(SelectInto),
11627 Set(Set),
11628 SetConstraints(SetConstraints),
11629 SetRole(SetRole),
11630 SetSessionAuth(SetSessionAuth),
11631 SetTransaction(SetTransaction),
11632 Show(Show),
11633 Table(Table),
11634 Truncate(Truncate),
11635 Unlisten(Unlisten),
11636 Update(Update),
11637 Vacuum(Vacuum),
11638 Values(Values),
11639}
11640
11641#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11642pub enum TableArg {
11643 Column(Column),
11644 LikeClause(LikeClause),
11645 TableConstraint(TableConstraint),
11646}
11647
11648#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11649pub enum TableConstraint {
11650 CheckConstraint(CheckConstraint),
11651 ExcludeConstraint(ExcludeConstraint),
11652 ForeignKeyConstraint(ForeignKeyConstraint),
11653 PrimaryKeyConstraint(PrimaryKeyConstraint),
11654 UniqueConstraint(UniqueConstraint),
11655}
11656
11657#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11658pub enum Timezone {
11659 WithTimezone(WithTimezone),
11660 WithoutTimezone(WithoutTimezone),
11661}
11662
11663#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11664pub enum TransactionMode {
11665 Deferrable(Deferrable),
11666 NotDeferrable(NotDeferrable),
11667 ReadCommitted(ReadCommitted),
11668 ReadOnly(ReadOnly),
11669 ReadUncommitted(ReadUncommitted),
11670 ReadWrite(ReadWrite),
11671 RepeatableRead(RepeatableRead),
11672 Serializable(Serializable),
11673}
11674
11675#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11676pub enum Type {
11677 ArrayType(ArrayType),
11678 BitType(BitType),
11679 CharType(CharType),
11680 DoubleType(DoubleType),
11681 ExprType(ExprType),
11682 IntervalType(IntervalType),
11683 PathType(PathType),
11684 PercentType(PercentType),
11685 TimeType(TimeType),
11686}
11687
11688#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11689pub enum WithQuery {
11690 Delete(Delete),
11691 Insert(Insert),
11692 Merge(Merge),
11693 Select(Select),
11694 Update(Update),
11695 Values(Values),
11696}
11697impl AstNode for AddColumn {
11698 #[inline]
11699 fn can_cast(kind: SyntaxKind) -> bool {
11700 kind == SyntaxKind::ADD_COLUMN
11701 }
11702 #[inline]
11703 fn cast(syntax: SyntaxNode) -> Option<Self> {
11704 if Self::can_cast(syntax.kind()) {
11705 Some(Self { syntax })
11706 } else {
11707 None
11708 }
11709 }
11710 #[inline]
11711 fn syntax(&self) -> &SyntaxNode {
11712 &self.syntax
11713 }
11714}
11715impl AstNode for AddConstraint {
11716 #[inline]
11717 fn can_cast(kind: SyntaxKind) -> bool {
11718 kind == SyntaxKind::ADD_CONSTRAINT
11719 }
11720 #[inline]
11721 fn cast(syntax: SyntaxNode) -> Option<Self> {
11722 if Self::can_cast(syntax.kind()) {
11723 Some(Self { syntax })
11724 } else {
11725 None
11726 }
11727 }
11728 #[inline]
11729 fn syntax(&self) -> &SyntaxNode {
11730 &self.syntax
11731 }
11732}
11733impl AstNode for AddGenerated {
11734 #[inline]
11735 fn can_cast(kind: SyntaxKind) -> bool {
11736 kind == SyntaxKind::ADD_GENERATED
11737 }
11738 #[inline]
11739 fn cast(syntax: SyntaxNode) -> Option<Self> {
11740 if Self::can_cast(syntax.kind()) {
11741 Some(Self { syntax })
11742 } else {
11743 None
11744 }
11745 }
11746 #[inline]
11747 fn syntax(&self) -> &SyntaxNode {
11748 &self.syntax
11749 }
11750}
11751impl AstNode for Aggregate {
11752 #[inline]
11753 fn can_cast(kind: SyntaxKind) -> bool {
11754 kind == SyntaxKind::AGGREGATE
11755 }
11756 #[inline]
11757 fn cast(syntax: SyntaxNode) -> Option<Self> {
11758 if Self::can_cast(syntax.kind()) {
11759 Some(Self { syntax })
11760 } else {
11761 None
11762 }
11763 }
11764 #[inline]
11765 fn syntax(&self) -> &SyntaxNode {
11766 &self.syntax
11767 }
11768}
11769impl AstNode for Alias {
11770 #[inline]
11771 fn can_cast(kind: SyntaxKind) -> bool {
11772 kind == SyntaxKind::ALIAS
11773 }
11774 #[inline]
11775 fn cast(syntax: SyntaxNode) -> Option<Self> {
11776 if Self::can_cast(syntax.kind()) {
11777 Some(Self { syntax })
11778 } else {
11779 None
11780 }
11781 }
11782 #[inline]
11783 fn syntax(&self) -> &SyntaxNode {
11784 &self.syntax
11785 }
11786}
11787impl AstNode for AlterAggregate {
11788 #[inline]
11789 fn can_cast(kind: SyntaxKind) -> bool {
11790 kind == SyntaxKind::ALTER_AGGREGATE
11791 }
11792 #[inline]
11793 fn cast(syntax: SyntaxNode) -> Option<Self> {
11794 if Self::can_cast(syntax.kind()) {
11795 Some(Self { syntax })
11796 } else {
11797 None
11798 }
11799 }
11800 #[inline]
11801 fn syntax(&self) -> &SyntaxNode {
11802 &self.syntax
11803 }
11804}
11805impl AstNode for AlterCollation {
11806 #[inline]
11807 fn can_cast(kind: SyntaxKind) -> bool {
11808 kind == SyntaxKind::ALTER_COLLATION
11809 }
11810 #[inline]
11811 fn cast(syntax: SyntaxNode) -> Option<Self> {
11812 if Self::can_cast(syntax.kind()) {
11813 Some(Self { syntax })
11814 } else {
11815 None
11816 }
11817 }
11818 #[inline]
11819 fn syntax(&self) -> &SyntaxNode {
11820 &self.syntax
11821 }
11822}
11823impl AstNode for AlterColumn {
11824 #[inline]
11825 fn can_cast(kind: SyntaxKind) -> bool {
11826 kind == SyntaxKind::ALTER_COLUMN
11827 }
11828 #[inline]
11829 fn cast(syntax: SyntaxNode) -> Option<Self> {
11830 if Self::can_cast(syntax.kind()) {
11831 Some(Self { syntax })
11832 } else {
11833 None
11834 }
11835 }
11836 #[inline]
11837 fn syntax(&self) -> &SyntaxNode {
11838 &self.syntax
11839 }
11840}
11841impl AstNode for AlterConstraint {
11842 #[inline]
11843 fn can_cast(kind: SyntaxKind) -> bool {
11844 kind == SyntaxKind::ALTER_CONSTRAINT
11845 }
11846 #[inline]
11847 fn cast(syntax: SyntaxNode) -> Option<Self> {
11848 if Self::can_cast(syntax.kind()) {
11849 Some(Self { syntax })
11850 } else {
11851 None
11852 }
11853 }
11854 #[inline]
11855 fn syntax(&self) -> &SyntaxNode {
11856 &self.syntax
11857 }
11858}
11859impl AstNode for AlterConversion {
11860 #[inline]
11861 fn can_cast(kind: SyntaxKind) -> bool {
11862 kind == SyntaxKind::ALTER_CONVERSION
11863 }
11864 #[inline]
11865 fn cast(syntax: SyntaxNode) -> Option<Self> {
11866 if Self::can_cast(syntax.kind()) {
11867 Some(Self { syntax })
11868 } else {
11869 None
11870 }
11871 }
11872 #[inline]
11873 fn syntax(&self) -> &SyntaxNode {
11874 &self.syntax
11875 }
11876}
11877impl AstNode for AlterDatabase {
11878 #[inline]
11879 fn can_cast(kind: SyntaxKind) -> bool {
11880 kind == SyntaxKind::ALTER_DATABASE
11881 }
11882 #[inline]
11883 fn cast(syntax: SyntaxNode) -> Option<Self> {
11884 if Self::can_cast(syntax.kind()) {
11885 Some(Self { syntax })
11886 } else {
11887 None
11888 }
11889 }
11890 #[inline]
11891 fn syntax(&self) -> &SyntaxNode {
11892 &self.syntax
11893 }
11894}
11895impl AstNode for AlterDefaultPrivileges {
11896 #[inline]
11897 fn can_cast(kind: SyntaxKind) -> bool {
11898 kind == SyntaxKind::ALTER_DEFAULT_PRIVILEGES
11899 }
11900 #[inline]
11901 fn cast(syntax: SyntaxNode) -> Option<Self> {
11902 if Self::can_cast(syntax.kind()) {
11903 Some(Self { syntax })
11904 } else {
11905 None
11906 }
11907 }
11908 #[inline]
11909 fn syntax(&self) -> &SyntaxNode {
11910 &self.syntax
11911 }
11912}
11913impl AstNode for AlterDomain {
11914 #[inline]
11915 fn can_cast(kind: SyntaxKind) -> bool {
11916 kind == SyntaxKind::ALTER_DOMAIN
11917 }
11918 #[inline]
11919 fn cast(syntax: SyntaxNode) -> Option<Self> {
11920 if Self::can_cast(syntax.kind()) {
11921 Some(Self { syntax })
11922 } else {
11923 None
11924 }
11925 }
11926 #[inline]
11927 fn syntax(&self) -> &SyntaxNode {
11928 &self.syntax
11929 }
11930}
11931impl AstNode for AlterEventTrigger {
11932 #[inline]
11933 fn can_cast(kind: SyntaxKind) -> bool {
11934 kind == SyntaxKind::ALTER_EVENT_TRIGGER
11935 }
11936 #[inline]
11937 fn cast(syntax: SyntaxNode) -> Option<Self> {
11938 if Self::can_cast(syntax.kind()) {
11939 Some(Self { syntax })
11940 } else {
11941 None
11942 }
11943 }
11944 #[inline]
11945 fn syntax(&self) -> &SyntaxNode {
11946 &self.syntax
11947 }
11948}
11949impl AstNode for AlterExtension {
11950 #[inline]
11951 fn can_cast(kind: SyntaxKind) -> bool {
11952 kind == SyntaxKind::ALTER_EXTENSION
11953 }
11954 #[inline]
11955 fn cast(syntax: SyntaxNode) -> Option<Self> {
11956 if Self::can_cast(syntax.kind()) {
11957 Some(Self { syntax })
11958 } else {
11959 None
11960 }
11961 }
11962 #[inline]
11963 fn syntax(&self) -> &SyntaxNode {
11964 &self.syntax
11965 }
11966}
11967impl AstNode for AlterForeignDataWrapper {
11968 #[inline]
11969 fn can_cast(kind: SyntaxKind) -> bool {
11970 kind == SyntaxKind::ALTER_FOREIGN_DATA_WRAPPER
11971 }
11972 #[inline]
11973 fn cast(syntax: SyntaxNode) -> Option<Self> {
11974 if Self::can_cast(syntax.kind()) {
11975 Some(Self { syntax })
11976 } else {
11977 None
11978 }
11979 }
11980 #[inline]
11981 fn syntax(&self) -> &SyntaxNode {
11982 &self.syntax
11983 }
11984}
11985impl AstNode for AlterForeignTable {
11986 #[inline]
11987 fn can_cast(kind: SyntaxKind) -> bool {
11988 kind == SyntaxKind::ALTER_FOREIGN_TABLE
11989 }
11990 #[inline]
11991 fn cast(syntax: SyntaxNode) -> Option<Self> {
11992 if Self::can_cast(syntax.kind()) {
11993 Some(Self { syntax })
11994 } else {
11995 None
11996 }
11997 }
11998 #[inline]
11999 fn syntax(&self) -> &SyntaxNode {
12000 &self.syntax
12001 }
12002}
12003impl AstNode for AlterFunction {
12004 #[inline]
12005 fn can_cast(kind: SyntaxKind) -> bool {
12006 kind == SyntaxKind::ALTER_FUNCTION
12007 }
12008 #[inline]
12009 fn cast(syntax: SyntaxNode) -> Option<Self> {
12010 if Self::can_cast(syntax.kind()) {
12011 Some(Self { syntax })
12012 } else {
12013 None
12014 }
12015 }
12016 #[inline]
12017 fn syntax(&self) -> &SyntaxNode {
12018 &self.syntax
12019 }
12020}
12021impl AstNode for AlterGroup {
12022 #[inline]
12023 fn can_cast(kind: SyntaxKind) -> bool {
12024 kind == SyntaxKind::ALTER_GROUP
12025 }
12026 #[inline]
12027 fn cast(syntax: SyntaxNode) -> Option<Self> {
12028 if Self::can_cast(syntax.kind()) {
12029 Some(Self { syntax })
12030 } else {
12031 None
12032 }
12033 }
12034 #[inline]
12035 fn syntax(&self) -> &SyntaxNode {
12036 &self.syntax
12037 }
12038}
12039impl AstNode for AlterIndex {
12040 #[inline]
12041 fn can_cast(kind: SyntaxKind) -> bool {
12042 kind == SyntaxKind::ALTER_INDEX
12043 }
12044 #[inline]
12045 fn cast(syntax: SyntaxNode) -> Option<Self> {
12046 if Self::can_cast(syntax.kind()) {
12047 Some(Self { syntax })
12048 } else {
12049 None
12050 }
12051 }
12052 #[inline]
12053 fn syntax(&self) -> &SyntaxNode {
12054 &self.syntax
12055 }
12056}
12057impl AstNode for AlterLanguage {
12058 #[inline]
12059 fn can_cast(kind: SyntaxKind) -> bool {
12060 kind == SyntaxKind::ALTER_LANGUAGE
12061 }
12062 #[inline]
12063 fn cast(syntax: SyntaxNode) -> Option<Self> {
12064 if Self::can_cast(syntax.kind()) {
12065 Some(Self { syntax })
12066 } else {
12067 None
12068 }
12069 }
12070 #[inline]
12071 fn syntax(&self) -> &SyntaxNode {
12072 &self.syntax
12073 }
12074}
12075impl AstNode for AlterLargeObject {
12076 #[inline]
12077 fn can_cast(kind: SyntaxKind) -> bool {
12078 kind == SyntaxKind::ALTER_LARGE_OBJECT
12079 }
12080 #[inline]
12081 fn cast(syntax: SyntaxNode) -> Option<Self> {
12082 if Self::can_cast(syntax.kind()) {
12083 Some(Self { syntax })
12084 } else {
12085 None
12086 }
12087 }
12088 #[inline]
12089 fn syntax(&self) -> &SyntaxNode {
12090 &self.syntax
12091 }
12092}
12093impl AstNode for AlterMaterializedView {
12094 #[inline]
12095 fn can_cast(kind: SyntaxKind) -> bool {
12096 kind == SyntaxKind::ALTER_MATERIALIZED_VIEW
12097 }
12098 #[inline]
12099 fn cast(syntax: SyntaxNode) -> Option<Self> {
12100 if Self::can_cast(syntax.kind()) {
12101 Some(Self { syntax })
12102 } else {
12103 None
12104 }
12105 }
12106 #[inline]
12107 fn syntax(&self) -> &SyntaxNode {
12108 &self.syntax
12109 }
12110}
12111impl AstNode for AlterOperator {
12112 #[inline]
12113 fn can_cast(kind: SyntaxKind) -> bool {
12114 kind == SyntaxKind::ALTER_OPERATOR
12115 }
12116 #[inline]
12117 fn cast(syntax: SyntaxNode) -> Option<Self> {
12118 if Self::can_cast(syntax.kind()) {
12119 Some(Self { syntax })
12120 } else {
12121 None
12122 }
12123 }
12124 #[inline]
12125 fn syntax(&self) -> &SyntaxNode {
12126 &self.syntax
12127 }
12128}
12129impl AstNode for AlterOperatorClass {
12130 #[inline]
12131 fn can_cast(kind: SyntaxKind) -> bool {
12132 kind == SyntaxKind::ALTER_OPERATOR_CLASS
12133 }
12134 #[inline]
12135 fn cast(syntax: SyntaxNode) -> Option<Self> {
12136 if Self::can_cast(syntax.kind()) {
12137 Some(Self { syntax })
12138 } else {
12139 None
12140 }
12141 }
12142 #[inline]
12143 fn syntax(&self) -> &SyntaxNode {
12144 &self.syntax
12145 }
12146}
12147impl AstNode for AlterOperatorFamily {
12148 #[inline]
12149 fn can_cast(kind: SyntaxKind) -> bool {
12150 kind == SyntaxKind::ALTER_OPERATOR_FAMILY
12151 }
12152 #[inline]
12153 fn cast(syntax: SyntaxNode) -> Option<Self> {
12154 if Self::can_cast(syntax.kind()) {
12155 Some(Self { syntax })
12156 } else {
12157 None
12158 }
12159 }
12160 #[inline]
12161 fn syntax(&self) -> &SyntaxNode {
12162 &self.syntax
12163 }
12164}
12165impl AstNode for AlterOption {
12166 #[inline]
12167 fn can_cast(kind: SyntaxKind) -> bool {
12168 kind == SyntaxKind::ALTER_OPTION
12169 }
12170 #[inline]
12171 fn cast(syntax: SyntaxNode) -> Option<Self> {
12172 if Self::can_cast(syntax.kind()) {
12173 Some(Self { syntax })
12174 } else {
12175 None
12176 }
12177 }
12178 #[inline]
12179 fn syntax(&self) -> &SyntaxNode {
12180 &self.syntax
12181 }
12182}
12183impl AstNode for AlterOptionList {
12184 #[inline]
12185 fn can_cast(kind: SyntaxKind) -> bool {
12186 kind == SyntaxKind::ALTER_OPTION_LIST
12187 }
12188 #[inline]
12189 fn cast(syntax: SyntaxNode) -> Option<Self> {
12190 if Self::can_cast(syntax.kind()) {
12191 Some(Self { syntax })
12192 } else {
12193 None
12194 }
12195 }
12196 #[inline]
12197 fn syntax(&self) -> &SyntaxNode {
12198 &self.syntax
12199 }
12200}
12201impl AstNode for AlterPolicy {
12202 #[inline]
12203 fn can_cast(kind: SyntaxKind) -> bool {
12204 kind == SyntaxKind::ALTER_POLICY
12205 }
12206 #[inline]
12207 fn cast(syntax: SyntaxNode) -> Option<Self> {
12208 if Self::can_cast(syntax.kind()) {
12209 Some(Self { syntax })
12210 } else {
12211 None
12212 }
12213 }
12214 #[inline]
12215 fn syntax(&self) -> &SyntaxNode {
12216 &self.syntax
12217 }
12218}
12219impl AstNode for AlterProcedure {
12220 #[inline]
12221 fn can_cast(kind: SyntaxKind) -> bool {
12222 kind == SyntaxKind::ALTER_PROCEDURE
12223 }
12224 #[inline]
12225 fn cast(syntax: SyntaxNode) -> Option<Self> {
12226 if Self::can_cast(syntax.kind()) {
12227 Some(Self { syntax })
12228 } else {
12229 None
12230 }
12231 }
12232 #[inline]
12233 fn syntax(&self) -> &SyntaxNode {
12234 &self.syntax
12235 }
12236}
12237impl AstNode for AlterPublication {
12238 #[inline]
12239 fn can_cast(kind: SyntaxKind) -> bool {
12240 kind == SyntaxKind::ALTER_PUBLICATION
12241 }
12242 #[inline]
12243 fn cast(syntax: SyntaxNode) -> Option<Self> {
12244 if Self::can_cast(syntax.kind()) {
12245 Some(Self { syntax })
12246 } else {
12247 None
12248 }
12249 }
12250 #[inline]
12251 fn syntax(&self) -> &SyntaxNode {
12252 &self.syntax
12253 }
12254}
12255impl AstNode for AlterRole {
12256 #[inline]
12257 fn can_cast(kind: SyntaxKind) -> bool {
12258 kind == SyntaxKind::ALTER_ROLE
12259 }
12260 #[inline]
12261 fn cast(syntax: SyntaxNode) -> Option<Self> {
12262 if Self::can_cast(syntax.kind()) {
12263 Some(Self { syntax })
12264 } else {
12265 None
12266 }
12267 }
12268 #[inline]
12269 fn syntax(&self) -> &SyntaxNode {
12270 &self.syntax
12271 }
12272}
12273impl AstNode for AlterRoutine {
12274 #[inline]
12275 fn can_cast(kind: SyntaxKind) -> bool {
12276 kind == SyntaxKind::ALTER_ROUTINE
12277 }
12278 #[inline]
12279 fn cast(syntax: SyntaxNode) -> Option<Self> {
12280 if Self::can_cast(syntax.kind()) {
12281 Some(Self { syntax })
12282 } else {
12283 None
12284 }
12285 }
12286 #[inline]
12287 fn syntax(&self) -> &SyntaxNode {
12288 &self.syntax
12289 }
12290}
12291impl AstNode for AlterRule {
12292 #[inline]
12293 fn can_cast(kind: SyntaxKind) -> bool {
12294 kind == SyntaxKind::ALTER_RULE
12295 }
12296 #[inline]
12297 fn cast(syntax: SyntaxNode) -> Option<Self> {
12298 if Self::can_cast(syntax.kind()) {
12299 Some(Self { syntax })
12300 } else {
12301 None
12302 }
12303 }
12304 #[inline]
12305 fn syntax(&self) -> &SyntaxNode {
12306 &self.syntax
12307 }
12308}
12309impl AstNode for AlterSchema {
12310 #[inline]
12311 fn can_cast(kind: SyntaxKind) -> bool {
12312 kind == SyntaxKind::ALTER_SCHEMA
12313 }
12314 #[inline]
12315 fn cast(syntax: SyntaxNode) -> Option<Self> {
12316 if Self::can_cast(syntax.kind()) {
12317 Some(Self { syntax })
12318 } else {
12319 None
12320 }
12321 }
12322 #[inline]
12323 fn syntax(&self) -> &SyntaxNode {
12324 &self.syntax
12325 }
12326}
12327impl AstNode for AlterSequence {
12328 #[inline]
12329 fn can_cast(kind: SyntaxKind) -> bool {
12330 kind == SyntaxKind::ALTER_SEQUENCE
12331 }
12332 #[inline]
12333 fn cast(syntax: SyntaxNode) -> Option<Self> {
12334 if Self::can_cast(syntax.kind()) {
12335 Some(Self { syntax })
12336 } else {
12337 None
12338 }
12339 }
12340 #[inline]
12341 fn syntax(&self) -> &SyntaxNode {
12342 &self.syntax
12343 }
12344}
12345impl AstNode for AlterServer {
12346 #[inline]
12347 fn can_cast(kind: SyntaxKind) -> bool {
12348 kind == SyntaxKind::ALTER_SERVER
12349 }
12350 #[inline]
12351 fn cast(syntax: SyntaxNode) -> Option<Self> {
12352 if Self::can_cast(syntax.kind()) {
12353 Some(Self { syntax })
12354 } else {
12355 None
12356 }
12357 }
12358 #[inline]
12359 fn syntax(&self) -> &SyntaxNode {
12360 &self.syntax
12361 }
12362}
12363impl AstNode for AlterStatistics {
12364 #[inline]
12365 fn can_cast(kind: SyntaxKind) -> bool {
12366 kind == SyntaxKind::ALTER_STATISTICS
12367 }
12368 #[inline]
12369 fn cast(syntax: SyntaxNode) -> Option<Self> {
12370 if Self::can_cast(syntax.kind()) {
12371 Some(Self { syntax })
12372 } else {
12373 None
12374 }
12375 }
12376 #[inline]
12377 fn syntax(&self) -> &SyntaxNode {
12378 &self.syntax
12379 }
12380}
12381impl AstNode for AlterSubscription {
12382 #[inline]
12383 fn can_cast(kind: SyntaxKind) -> bool {
12384 kind == SyntaxKind::ALTER_SUBSCRIPTION
12385 }
12386 #[inline]
12387 fn cast(syntax: SyntaxNode) -> Option<Self> {
12388 if Self::can_cast(syntax.kind()) {
12389 Some(Self { syntax })
12390 } else {
12391 None
12392 }
12393 }
12394 #[inline]
12395 fn syntax(&self) -> &SyntaxNode {
12396 &self.syntax
12397 }
12398}
12399impl AstNode for AlterSystem {
12400 #[inline]
12401 fn can_cast(kind: SyntaxKind) -> bool {
12402 kind == SyntaxKind::ALTER_SYSTEM
12403 }
12404 #[inline]
12405 fn cast(syntax: SyntaxNode) -> Option<Self> {
12406 if Self::can_cast(syntax.kind()) {
12407 Some(Self { syntax })
12408 } else {
12409 None
12410 }
12411 }
12412 #[inline]
12413 fn syntax(&self) -> &SyntaxNode {
12414 &self.syntax
12415 }
12416}
12417impl AstNode for AlterTable {
12418 #[inline]
12419 fn can_cast(kind: SyntaxKind) -> bool {
12420 kind == SyntaxKind::ALTER_TABLE
12421 }
12422 #[inline]
12423 fn cast(syntax: SyntaxNode) -> Option<Self> {
12424 if Self::can_cast(syntax.kind()) {
12425 Some(Self { syntax })
12426 } else {
12427 None
12428 }
12429 }
12430 #[inline]
12431 fn syntax(&self) -> &SyntaxNode {
12432 &self.syntax
12433 }
12434}
12435impl AstNode for AlterTablespace {
12436 #[inline]
12437 fn can_cast(kind: SyntaxKind) -> bool {
12438 kind == SyntaxKind::ALTER_TABLESPACE
12439 }
12440 #[inline]
12441 fn cast(syntax: SyntaxNode) -> Option<Self> {
12442 if Self::can_cast(syntax.kind()) {
12443 Some(Self { syntax })
12444 } else {
12445 None
12446 }
12447 }
12448 #[inline]
12449 fn syntax(&self) -> &SyntaxNode {
12450 &self.syntax
12451 }
12452}
12453impl AstNode for AlterTextSearchConfiguration {
12454 #[inline]
12455 fn can_cast(kind: SyntaxKind) -> bool {
12456 kind == SyntaxKind::ALTER_TEXT_SEARCH_CONFIGURATION
12457 }
12458 #[inline]
12459 fn cast(syntax: SyntaxNode) -> Option<Self> {
12460 if Self::can_cast(syntax.kind()) {
12461 Some(Self { syntax })
12462 } else {
12463 None
12464 }
12465 }
12466 #[inline]
12467 fn syntax(&self) -> &SyntaxNode {
12468 &self.syntax
12469 }
12470}
12471impl AstNode for AlterTextSearchDictionary {
12472 #[inline]
12473 fn can_cast(kind: SyntaxKind) -> bool {
12474 kind == SyntaxKind::ALTER_TEXT_SEARCH_DICTIONARY
12475 }
12476 #[inline]
12477 fn cast(syntax: SyntaxNode) -> Option<Self> {
12478 if Self::can_cast(syntax.kind()) {
12479 Some(Self { syntax })
12480 } else {
12481 None
12482 }
12483 }
12484 #[inline]
12485 fn syntax(&self) -> &SyntaxNode {
12486 &self.syntax
12487 }
12488}
12489impl AstNode for AlterTextSearchParser {
12490 #[inline]
12491 fn can_cast(kind: SyntaxKind) -> bool {
12492 kind == SyntaxKind::ALTER_TEXT_SEARCH_PARSER
12493 }
12494 #[inline]
12495 fn cast(syntax: SyntaxNode) -> Option<Self> {
12496 if Self::can_cast(syntax.kind()) {
12497 Some(Self { syntax })
12498 } else {
12499 None
12500 }
12501 }
12502 #[inline]
12503 fn syntax(&self) -> &SyntaxNode {
12504 &self.syntax
12505 }
12506}
12507impl AstNode for AlterTextSearchTemplate {
12508 #[inline]
12509 fn can_cast(kind: SyntaxKind) -> bool {
12510 kind == SyntaxKind::ALTER_TEXT_SEARCH_TEMPLATE
12511 }
12512 #[inline]
12513 fn cast(syntax: SyntaxNode) -> Option<Self> {
12514 if Self::can_cast(syntax.kind()) {
12515 Some(Self { syntax })
12516 } else {
12517 None
12518 }
12519 }
12520 #[inline]
12521 fn syntax(&self) -> &SyntaxNode {
12522 &self.syntax
12523 }
12524}
12525impl AstNode for AlterTrigger {
12526 #[inline]
12527 fn can_cast(kind: SyntaxKind) -> bool {
12528 kind == SyntaxKind::ALTER_TRIGGER
12529 }
12530 #[inline]
12531 fn cast(syntax: SyntaxNode) -> Option<Self> {
12532 if Self::can_cast(syntax.kind()) {
12533 Some(Self { syntax })
12534 } else {
12535 None
12536 }
12537 }
12538 #[inline]
12539 fn syntax(&self) -> &SyntaxNode {
12540 &self.syntax
12541 }
12542}
12543impl AstNode for AlterType {
12544 #[inline]
12545 fn can_cast(kind: SyntaxKind) -> bool {
12546 kind == SyntaxKind::ALTER_TYPE
12547 }
12548 #[inline]
12549 fn cast(syntax: SyntaxNode) -> Option<Self> {
12550 if Self::can_cast(syntax.kind()) {
12551 Some(Self { syntax })
12552 } else {
12553 None
12554 }
12555 }
12556 #[inline]
12557 fn syntax(&self) -> &SyntaxNode {
12558 &self.syntax
12559 }
12560}
12561impl AstNode for AlterUser {
12562 #[inline]
12563 fn can_cast(kind: SyntaxKind) -> bool {
12564 kind == SyntaxKind::ALTER_USER
12565 }
12566 #[inline]
12567 fn cast(syntax: SyntaxNode) -> Option<Self> {
12568 if Self::can_cast(syntax.kind()) {
12569 Some(Self { syntax })
12570 } else {
12571 None
12572 }
12573 }
12574 #[inline]
12575 fn syntax(&self) -> &SyntaxNode {
12576 &self.syntax
12577 }
12578}
12579impl AstNode for AlterUserMapping {
12580 #[inline]
12581 fn can_cast(kind: SyntaxKind) -> bool {
12582 kind == SyntaxKind::ALTER_USER_MAPPING
12583 }
12584 #[inline]
12585 fn cast(syntax: SyntaxNode) -> Option<Self> {
12586 if Self::can_cast(syntax.kind()) {
12587 Some(Self { syntax })
12588 } else {
12589 None
12590 }
12591 }
12592 #[inline]
12593 fn syntax(&self) -> &SyntaxNode {
12594 &self.syntax
12595 }
12596}
12597impl AstNode for AlterView {
12598 #[inline]
12599 fn can_cast(kind: SyntaxKind) -> bool {
12600 kind == SyntaxKind::ALTER_VIEW
12601 }
12602 #[inline]
12603 fn cast(syntax: SyntaxNode) -> Option<Self> {
12604 if Self::can_cast(syntax.kind()) {
12605 Some(Self { syntax })
12606 } else {
12607 None
12608 }
12609 }
12610 #[inline]
12611 fn syntax(&self) -> &SyntaxNode {
12612 &self.syntax
12613 }
12614}
12615impl AstNode for Analyze {
12616 #[inline]
12617 fn can_cast(kind: SyntaxKind) -> bool {
12618 kind == SyntaxKind::ANALYZE
12619 }
12620 #[inline]
12621 fn cast(syntax: SyntaxNode) -> Option<Self> {
12622 if Self::can_cast(syntax.kind()) {
12623 Some(Self { syntax })
12624 } else {
12625 None
12626 }
12627 }
12628 #[inline]
12629 fn syntax(&self) -> &SyntaxNode {
12630 &self.syntax
12631 }
12632}
12633impl AstNode for Arg {
12634 #[inline]
12635 fn can_cast(kind: SyntaxKind) -> bool {
12636 kind == SyntaxKind::ARG
12637 }
12638 #[inline]
12639 fn cast(syntax: SyntaxNode) -> Option<Self> {
12640 if Self::can_cast(syntax.kind()) {
12641 Some(Self { syntax })
12642 } else {
12643 None
12644 }
12645 }
12646 #[inline]
12647 fn syntax(&self) -> &SyntaxNode {
12648 &self.syntax
12649 }
12650}
12651impl AstNode for ArgList {
12652 #[inline]
12653 fn can_cast(kind: SyntaxKind) -> bool {
12654 kind == SyntaxKind::ARG_LIST
12655 }
12656 #[inline]
12657 fn cast(syntax: SyntaxNode) -> Option<Self> {
12658 if Self::can_cast(syntax.kind()) {
12659 Some(Self { syntax })
12660 } else {
12661 None
12662 }
12663 }
12664 #[inline]
12665 fn syntax(&self) -> &SyntaxNode {
12666 &self.syntax
12667 }
12668}
12669impl AstNode for ArrayExpr {
12670 #[inline]
12671 fn can_cast(kind: SyntaxKind) -> bool {
12672 kind == SyntaxKind::ARRAY_EXPR
12673 }
12674 #[inline]
12675 fn cast(syntax: SyntaxNode) -> Option<Self> {
12676 if Self::can_cast(syntax.kind()) {
12677 Some(Self { syntax })
12678 } else {
12679 None
12680 }
12681 }
12682 #[inline]
12683 fn syntax(&self) -> &SyntaxNode {
12684 &self.syntax
12685 }
12686}
12687impl AstNode for ArrayType {
12688 #[inline]
12689 fn can_cast(kind: SyntaxKind) -> bool {
12690 kind == SyntaxKind::ARRAY_TYPE
12691 }
12692 #[inline]
12693 fn cast(syntax: SyntaxNode) -> Option<Self> {
12694 if Self::can_cast(syntax.kind()) {
12695 Some(Self { syntax })
12696 } else {
12697 None
12698 }
12699 }
12700 #[inline]
12701 fn syntax(&self) -> &SyntaxNode {
12702 &self.syntax
12703 }
12704}
12705impl AstNode for AsFuncOption {
12706 #[inline]
12707 fn can_cast(kind: SyntaxKind) -> bool {
12708 kind == SyntaxKind::AS_FUNC_OPTION
12709 }
12710 #[inline]
12711 fn cast(syntax: SyntaxNode) -> Option<Self> {
12712 if Self::can_cast(syntax.kind()) {
12713 Some(Self { syntax })
12714 } else {
12715 None
12716 }
12717 }
12718 #[inline]
12719 fn syntax(&self) -> &SyntaxNode {
12720 &self.syntax
12721 }
12722}
12723impl AstNode for AsName {
12724 #[inline]
12725 fn can_cast(kind: SyntaxKind) -> bool {
12726 kind == SyntaxKind::AS_NAME
12727 }
12728 #[inline]
12729 fn cast(syntax: SyntaxNode) -> Option<Self> {
12730 if Self::can_cast(syntax.kind()) {
12731 Some(Self { syntax })
12732 } else {
12733 None
12734 }
12735 }
12736 #[inline]
12737 fn syntax(&self) -> &SyntaxNode {
12738 &self.syntax
12739 }
12740}
12741impl AstNode for AtTimeZone {
12742 #[inline]
12743 fn can_cast(kind: SyntaxKind) -> bool {
12744 kind == SyntaxKind::AT_TIME_ZONE
12745 }
12746 #[inline]
12747 fn cast(syntax: SyntaxNode) -> Option<Self> {
12748 if Self::can_cast(syntax.kind()) {
12749 Some(Self { syntax })
12750 } else {
12751 None
12752 }
12753 }
12754 #[inline]
12755 fn syntax(&self) -> &SyntaxNode {
12756 &self.syntax
12757 }
12758}
12759impl AstNode for AttachPartition {
12760 #[inline]
12761 fn can_cast(kind: SyntaxKind) -> bool {
12762 kind == SyntaxKind::ATTACH_PARTITION
12763 }
12764 #[inline]
12765 fn cast(syntax: SyntaxNode) -> Option<Self> {
12766 if Self::can_cast(syntax.kind()) {
12767 Some(Self { syntax })
12768 } else {
12769 None
12770 }
12771 }
12772 #[inline]
12773 fn syntax(&self) -> &SyntaxNode {
12774 &self.syntax
12775 }
12776}
12777impl AstNode for AttributeList {
12778 #[inline]
12779 fn can_cast(kind: SyntaxKind) -> bool {
12780 kind == SyntaxKind::ATTRIBUTE_LIST
12781 }
12782 #[inline]
12783 fn cast(syntax: SyntaxNode) -> Option<Self> {
12784 if Self::can_cast(syntax.kind()) {
12785 Some(Self { syntax })
12786 } else {
12787 None
12788 }
12789 }
12790 #[inline]
12791 fn syntax(&self) -> &SyntaxNode {
12792 &self.syntax
12793 }
12794}
12795impl AstNode for AttributeOption {
12796 #[inline]
12797 fn can_cast(kind: SyntaxKind) -> bool {
12798 kind == SyntaxKind::ATTRIBUTE_OPTION
12799 }
12800 #[inline]
12801 fn cast(syntax: SyntaxNode) -> Option<Self> {
12802 if Self::can_cast(syntax.kind()) {
12803 Some(Self { syntax })
12804 } else {
12805 None
12806 }
12807 }
12808 #[inline]
12809 fn syntax(&self) -> &SyntaxNode {
12810 &self.syntax
12811 }
12812}
12813impl AstNode for Begin {
12814 #[inline]
12815 fn can_cast(kind: SyntaxKind) -> bool {
12816 kind == SyntaxKind::BEGIN
12817 }
12818 #[inline]
12819 fn cast(syntax: SyntaxNode) -> Option<Self> {
12820 if Self::can_cast(syntax.kind()) {
12821 Some(Self { syntax })
12822 } else {
12823 None
12824 }
12825 }
12826 #[inline]
12827 fn syntax(&self) -> &SyntaxNode {
12828 &self.syntax
12829 }
12830}
12831impl AstNode for BeginFuncOption {
12832 #[inline]
12833 fn can_cast(kind: SyntaxKind) -> bool {
12834 kind == SyntaxKind::BEGIN_FUNC_OPTION
12835 }
12836 #[inline]
12837 fn cast(syntax: SyntaxNode) -> Option<Self> {
12838 if Self::can_cast(syntax.kind()) {
12839 Some(Self { syntax })
12840 } else {
12841 None
12842 }
12843 }
12844 #[inline]
12845 fn syntax(&self) -> &SyntaxNode {
12846 &self.syntax
12847 }
12848}
12849impl AstNode for BetweenExpr {
12850 #[inline]
12851 fn can_cast(kind: SyntaxKind) -> bool {
12852 kind == SyntaxKind::BETWEEN_EXPR
12853 }
12854 #[inline]
12855 fn cast(syntax: SyntaxNode) -> Option<Self> {
12856 if Self::can_cast(syntax.kind()) {
12857 Some(Self { syntax })
12858 } else {
12859 None
12860 }
12861 }
12862 #[inline]
12863 fn syntax(&self) -> &SyntaxNode {
12864 &self.syntax
12865 }
12866}
12867impl AstNode for BinExpr {
12868 #[inline]
12869 fn can_cast(kind: SyntaxKind) -> bool {
12870 kind == SyntaxKind::BIN_EXPR
12871 }
12872 #[inline]
12873 fn cast(syntax: SyntaxNode) -> Option<Self> {
12874 if Self::can_cast(syntax.kind()) {
12875 Some(Self { syntax })
12876 } else {
12877 None
12878 }
12879 }
12880 #[inline]
12881 fn syntax(&self) -> &SyntaxNode {
12882 &self.syntax
12883 }
12884}
12885impl AstNode for BitType {
12886 #[inline]
12887 fn can_cast(kind: SyntaxKind) -> bool {
12888 kind == SyntaxKind::BIT_TYPE
12889 }
12890 #[inline]
12891 fn cast(syntax: SyntaxNode) -> Option<Self> {
12892 if Self::can_cast(syntax.kind()) {
12893 Some(Self { syntax })
12894 } else {
12895 None
12896 }
12897 }
12898 #[inline]
12899 fn syntax(&self) -> &SyntaxNode {
12900 &self.syntax
12901 }
12902}
12903impl AstNode for Call {
12904 #[inline]
12905 fn can_cast(kind: SyntaxKind) -> bool {
12906 kind == SyntaxKind::CALL
12907 }
12908 #[inline]
12909 fn cast(syntax: SyntaxNode) -> Option<Self> {
12910 if Self::can_cast(syntax.kind()) {
12911 Some(Self { syntax })
12912 } else {
12913 None
12914 }
12915 }
12916 #[inline]
12917 fn syntax(&self) -> &SyntaxNode {
12918 &self.syntax
12919 }
12920}
12921impl AstNode for CallExpr {
12922 #[inline]
12923 fn can_cast(kind: SyntaxKind) -> bool {
12924 kind == SyntaxKind::CALL_EXPR
12925 }
12926 #[inline]
12927 fn cast(syntax: SyntaxNode) -> Option<Self> {
12928 if Self::can_cast(syntax.kind()) {
12929 Some(Self { syntax })
12930 } else {
12931 None
12932 }
12933 }
12934 #[inline]
12935 fn syntax(&self) -> &SyntaxNode {
12936 &self.syntax
12937 }
12938}
12939impl AstNode for Cascade {
12940 #[inline]
12941 fn can_cast(kind: SyntaxKind) -> bool {
12942 kind == SyntaxKind::CASCADE
12943 }
12944 #[inline]
12945 fn cast(syntax: SyntaxNode) -> Option<Self> {
12946 if Self::can_cast(syntax.kind()) {
12947 Some(Self { syntax })
12948 } else {
12949 None
12950 }
12951 }
12952 #[inline]
12953 fn syntax(&self) -> &SyntaxNode {
12954 &self.syntax
12955 }
12956}
12957impl AstNode for CaseExpr {
12958 #[inline]
12959 fn can_cast(kind: SyntaxKind) -> bool {
12960 kind == SyntaxKind::CASE_EXPR
12961 }
12962 #[inline]
12963 fn cast(syntax: SyntaxNode) -> Option<Self> {
12964 if Self::can_cast(syntax.kind()) {
12965 Some(Self { syntax })
12966 } else {
12967 None
12968 }
12969 }
12970 #[inline]
12971 fn syntax(&self) -> &SyntaxNode {
12972 &self.syntax
12973 }
12974}
12975impl AstNode for CastExpr {
12976 #[inline]
12977 fn can_cast(kind: SyntaxKind) -> bool {
12978 kind == SyntaxKind::CAST_EXPR
12979 }
12980 #[inline]
12981 fn cast(syntax: SyntaxNode) -> Option<Self> {
12982 if Self::can_cast(syntax.kind()) {
12983 Some(Self { syntax })
12984 } else {
12985 None
12986 }
12987 }
12988 #[inline]
12989 fn syntax(&self) -> &SyntaxNode {
12990 &self.syntax
12991 }
12992}
12993impl AstNode for CharType {
12994 #[inline]
12995 fn can_cast(kind: SyntaxKind) -> bool {
12996 kind == SyntaxKind::CHAR_TYPE
12997 }
12998 #[inline]
12999 fn cast(syntax: SyntaxNode) -> Option<Self> {
13000 if Self::can_cast(syntax.kind()) {
13001 Some(Self { syntax })
13002 } else {
13003 None
13004 }
13005 }
13006 #[inline]
13007 fn syntax(&self) -> &SyntaxNode {
13008 &self.syntax
13009 }
13010}
13011impl AstNode for CheckConstraint {
13012 #[inline]
13013 fn can_cast(kind: SyntaxKind) -> bool {
13014 kind == SyntaxKind::CHECK_CONSTRAINT
13015 }
13016 #[inline]
13017 fn cast(syntax: SyntaxNode) -> Option<Self> {
13018 if Self::can_cast(syntax.kind()) {
13019 Some(Self { syntax })
13020 } else {
13021 None
13022 }
13023 }
13024 #[inline]
13025 fn syntax(&self) -> &SyntaxNode {
13026 &self.syntax
13027 }
13028}
13029impl AstNode for Checkpoint {
13030 #[inline]
13031 fn can_cast(kind: SyntaxKind) -> bool {
13032 kind == SyntaxKind::CHECKPOINT
13033 }
13034 #[inline]
13035 fn cast(syntax: SyntaxNode) -> Option<Self> {
13036 if Self::can_cast(syntax.kind()) {
13037 Some(Self { syntax })
13038 } else {
13039 None
13040 }
13041 }
13042 #[inline]
13043 fn syntax(&self) -> &SyntaxNode {
13044 &self.syntax
13045 }
13046}
13047impl AstNode for Close {
13048 #[inline]
13049 fn can_cast(kind: SyntaxKind) -> bool {
13050 kind == SyntaxKind::CLOSE
13051 }
13052 #[inline]
13053 fn cast(syntax: SyntaxNode) -> Option<Self> {
13054 if Self::can_cast(syntax.kind()) {
13055 Some(Self { syntax })
13056 } else {
13057 None
13058 }
13059 }
13060 #[inline]
13061 fn syntax(&self) -> &SyntaxNode {
13062 &self.syntax
13063 }
13064}
13065impl AstNode for Cluster {
13066 #[inline]
13067 fn can_cast(kind: SyntaxKind) -> bool {
13068 kind == SyntaxKind::CLUSTER
13069 }
13070 #[inline]
13071 fn cast(syntax: SyntaxNode) -> Option<Self> {
13072 if Self::can_cast(syntax.kind()) {
13073 Some(Self { syntax })
13074 } else {
13075 None
13076 }
13077 }
13078 #[inline]
13079 fn syntax(&self) -> &SyntaxNode {
13080 &self.syntax
13081 }
13082}
13083impl AstNode for ClusterOn {
13084 #[inline]
13085 fn can_cast(kind: SyntaxKind) -> bool {
13086 kind == SyntaxKind::CLUSTER_ON
13087 }
13088 #[inline]
13089 fn cast(syntax: SyntaxNode) -> Option<Self> {
13090 if Self::can_cast(syntax.kind()) {
13091 Some(Self { syntax })
13092 } else {
13093 None
13094 }
13095 }
13096 #[inline]
13097 fn syntax(&self) -> &SyntaxNode {
13098 &self.syntax
13099 }
13100}
13101impl AstNode for Collate {
13102 #[inline]
13103 fn can_cast(kind: SyntaxKind) -> bool {
13104 kind == SyntaxKind::COLLATE
13105 }
13106 #[inline]
13107 fn cast(syntax: SyntaxNode) -> Option<Self> {
13108 if Self::can_cast(syntax.kind()) {
13109 Some(Self { syntax })
13110 } else {
13111 None
13112 }
13113 }
13114 #[inline]
13115 fn syntax(&self) -> &SyntaxNode {
13116 &self.syntax
13117 }
13118}
13119impl AstNode for ColonColon {
13120 #[inline]
13121 fn can_cast(kind: SyntaxKind) -> bool {
13122 kind == SyntaxKind::COLON_COLON
13123 }
13124 #[inline]
13125 fn cast(syntax: SyntaxNode) -> Option<Self> {
13126 if Self::can_cast(syntax.kind()) {
13127 Some(Self { syntax })
13128 } else {
13129 None
13130 }
13131 }
13132 #[inline]
13133 fn syntax(&self) -> &SyntaxNode {
13134 &self.syntax
13135 }
13136}
13137impl AstNode for ColonEq {
13138 #[inline]
13139 fn can_cast(kind: SyntaxKind) -> bool {
13140 kind == SyntaxKind::COLON_EQ
13141 }
13142 #[inline]
13143 fn cast(syntax: SyntaxNode) -> Option<Self> {
13144 if Self::can_cast(syntax.kind()) {
13145 Some(Self { syntax })
13146 } else {
13147 None
13148 }
13149 }
13150 #[inline]
13151 fn syntax(&self) -> &SyntaxNode {
13152 &self.syntax
13153 }
13154}
13155impl AstNode for Column {
13156 #[inline]
13157 fn can_cast(kind: SyntaxKind) -> bool {
13158 kind == SyntaxKind::COLUMN
13159 }
13160 #[inline]
13161 fn cast(syntax: SyntaxNode) -> Option<Self> {
13162 if Self::can_cast(syntax.kind()) {
13163 Some(Self { syntax })
13164 } else {
13165 None
13166 }
13167 }
13168 #[inline]
13169 fn syntax(&self) -> &SyntaxNode {
13170 &self.syntax
13171 }
13172}
13173impl AstNode for ColumnList {
13174 #[inline]
13175 fn can_cast(kind: SyntaxKind) -> bool {
13176 kind == SyntaxKind::COLUMN_LIST
13177 }
13178 #[inline]
13179 fn cast(syntax: SyntaxNode) -> Option<Self> {
13180 if Self::can_cast(syntax.kind()) {
13181 Some(Self { syntax })
13182 } else {
13183 None
13184 }
13185 }
13186 #[inline]
13187 fn syntax(&self) -> &SyntaxNode {
13188 &self.syntax
13189 }
13190}
13191impl AstNode for CommentOn {
13192 #[inline]
13193 fn can_cast(kind: SyntaxKind) -> bool {
13194 kind == SyntaxKind::COMMENT_ON
13195 }
13196 #[inline]
13197 fn cast(syntax: SyntaxNode) -> Option<Self> {
13198 if Self::can_cast(syntax.kind()) {
13199 Some(Self { syntax })
13200 } else {
13201 None
13202 }
13203 }
13204 #[inline]
13205 fn syntax(&self) -> &SyntaxNode {
13206 &self.syntax
13207 }
13208}
13209impl AstNode for Commit {
13210 #[inline]
13211 fn can_cast(kind: SyntaxKind) -> bool {
13212 kind == SyntaxKind::COMMIT
13213 }
13214 #[inline]
13215 fn cast(syntax: SyntaxNode) -> Option<Self> {
13216 if Self::can_cast(syntax.kind()) {
13217 Some(Self { syntax })
13218 } else {
13219 None
13220 }
13221 }
13222 #[inline]
13223 fn syntax(&self) -> &SyntaxNode {
13224 &self.syntax
13225 }
13226}
13227impl AstNode for CompoundSelect {
13228 #[inline]
13229 fn can_cast(kind: SyntaxKind) -> bool {
13230 kind == SyntaxKind::COMPOUND_SELECT
13231 }
13232 #[inline]
13233 fn cast(syntax: SyntaxNode) -> Option<Self> {
13234 if Self::can_cast(syntax.kind()) {
13235 Some(Self { syntax })
13236 } else {
13237 None
13238 }
13239 }
13240 #[inline]
13241 fn syntax(&self) -> &SyntaxNode {
13242 &self.syntax
13243 }
13244}
13245impl AstNode for CompressionMethod {
13246 #[inline]
13247 fn can_cast(kind: SyntaxKind) -> bool {
13248 kind == SyntaxKind::COMPRESSION_METHOD
13249 }
13250 #[inline]
13251 fn cast(syntax: SyntaxNode) -> Option<Self> {
13252 if Self::can_cast(syntax.kind()) {
13253 Some(Self { syntax })
13254 } else {
13255 None
13256 }
13257 }
13258 #[inline]
13259 fn syntax(&self) -> &SyntaxNode {
13260 &self.syntax
13261 }
13262}
13263impl AstNode for ConflictDoNothing {
13264 #[inline]
13265 fn can_cast(kind: SyntaxKind) -> bool {
13266 kind == SyntaxKind::CONFLICT_DO_NOTHING
13267 }
13268 #[inline]
13269 fn cast(syntax: SyntaxNode) -> Option<Self> {
13270 if Self::can_cast(syntax.kind()) {
13271 Some(Self { syntax })
13272 } else {
13273 None
13274 }
13275 }
13276 #[inline]
13277 fn syntax(&self) -> &SyntaxNode {
13278 &self.syntax
13279 }
13280}
13281impl AstNode for ConflictDoUpdateSet {
13282 #[inline]
13283 fn can_cast(kind: SyntaxKind) -> bool {
13284 kind == SyntaxKind::CONFLICT_DO_UPDATE_SET
13285 }
13286 #[inline]
13287 fn cast(syntax: SyntaxNode) -> Option<Self> {
13288 if Self::can_cast(syntax.kind()) {
13289 Some(Self { syntax })
13290 } else {
13291 None
13292 }
13293 }
13294 #[inline]
13295 fn syntax(&self) -> &SyntaxNode {
13296 &self.syntax
13297 }
13298}
13299impl AstNode for ConflictIndexItem {
13300 #[inline]
13301 fn can_cast(kind: SyntaxKind) -> bool {
13302 kind == SyntaxKind::CONFLICT_INDEX_ITEM
13303 }
13304 #[inline]
13305 fn cast(syntax: SyntaxNode) -> Option<Self> {
13306 if Self::can_cast(syntax.kind()) {
13307 Some(Self { syntax })
13308 } else {
13309 None
13310 }
13311 }
13312 #[inline]
13313 fn syntax(&self) -> &SyntaxNode {
13314 &self.syntax
13315 }
13316}
13317impl AstNode for ConflictIndexItemList {
13318 #[inline]
13319 fn can_cast(kind: SyntaxKind) -> bool {
13320 kind == SyntaxKind::CONFLICT_INDEX_ITEM_LIST
13321 }
13322 #[inline]
13323 fn cast(syntax: SyntaxNode) -> Option<Self> {
13324 if Self::can_cast(syntax.kind()) {
13325 Some(Self { syntax })
13326 } else {
13327 None
13328 }
13329 }
13330 #[inline]
13331 fn syntax(&self) -> &SyntaxNode {
13332 &self.syntax
13333 }
13334}
13335impl AstNode for ConflictOnConstraint {
13336 #[inline]
13337 fn can_cast(kind: SyntaxKind) -> bool {
13338 kind == SyntaxKind::CONFLICT_ON_CONSTRAINT
13339 }
13340 #[inline]
13341 fn cast(syntax: SyntaxNode) -> Option<Self> {
13342 if Self::can_cast(syntax.kind()) {
13343 Some(Self { syntax })
13344 } else {
13345 None
13346 }
13347 }
13348 #[inline]
13349 fn syntax(&self) -> &SyntaxNode {
13350 &self.syntax
13351 }
13352}
13353impl AstNode for ConflictOnIndex {
13354 #[inline]
13355 fn can_cast(kind: SyntaxKind) -> bool {
13356 kind == SyntaxKind::CONFLICT_ON_INDEX
13357 }
13358 #[inline]
13359 fn cast(syntax: SyntaxNode) -> Option<Self> {
13360 if Self::can_cast(syntax.kind()) {
13361 Some(Self { syntax })
13362 } else {
13363 None
13364 }
13365 }
13366 #[inline]
13367 fn syntax(&self) -> &SyntaxNode {
13368 &self.syntax
13369 }
13370}
13371impl AstNode for ConstraintExclusion {
13372 #[inline]
13373 fn can_cast(kind: SyntaxKind) -> bool {
13374 kind == SyntaxKind::CONSTRAINT_EXCLUSION
13375 }
13376 #[inline]
13377 fn cast(syntax: SyntaxNode) -> Option<Self> {
13378 if Self::can_cast(syntax.kind()) {
13379 Some(Self { syntax })
13380 } else {
13381 None
13382 }
13383 }
13384 #[inline]
13385 fn syntax(&self) -> &SyntaxNode {
13386 &self.syntax
13387 }
13388}
13389impl AstNode for ConstraintExclusionList {
13390 #[inline]
13391 fn can_cast(kind: SyntaxKind) -> bool {
13392 kind == SyntaxKind::CONSTRAINT_EXCLUSION_LIST
13393 }
13394 #[inline]
13395 fn cast(syntax: SyntaxNode) -> Option<Self> {
13396 if Self::can_cast(syntax.kind()) {
13397 Some(Self { syntax })
13398 } else {
13399 None
13400 }
13401 }
13402 #[inline]
13403 fn syntax(&self) -> &SyntaxNode {
13404 &self.syntax
13405 }
13406}
13407impl AstNode for ConstraintIncludeClause {
13408 #[inline]
13409 fn can_cast(kind: SyntaxKind) -> bool {
13410 kind == SyntaxKind::CONSTRAINT_INCLUDE_CLAUSE
13411 }
13412 #[inline]
13413 fn cast(syntax: SyntaxNode) -> Option<Self> {
13414 if Self::can_cast(syntax.kind()) {
13415 Some(Self { syntax })
13416 } else {
13417 None
13418 }
13419 }
13420 #[inline]
13421 fn syntax(&self) -> &SyntaxNode {
13422 &self.syntax
13423 }
13424}
13425impl AstNode for ConstraintIndexMethod {
13426 #[inline]
13427 fn can_cast(kind: SyntaxKind) -> bool {
13428 kind == SyntaxKind::CONSTRAINT_INDEX_METHOD
13429 }
13430 #[inline]
13431 fn cast(syntax: SyntaxNode) -> Option<Self> {
13432 if Self::can_cast(syntax.kind()) {
13433 Some(Self { syntax })
13434 } else {
13435 None
13436 }
13437 }
13438 #[inline]
13439 fn syntax(&self) -> &SyntaxNode {
13440 &self.syntax
13441 }
13442}
13443impl AstNode for ConstraintIndexTablespace {
13444 #[inline]
13445 fn can_cast(kind: SyntaxKind) -> bool {
13446 kind == SyntaxKind::CONSTRAINT_INDEX_TABLESPACE
13447 }
13448 #[inline]
13449 fn cast(syntax: SyntaxNode) -> Option<Self> {
13450 if Self::can_cast(syntax.kind()) {
13451 Some(Self { syntax })
13452 } else {
13453 None
13454 }
13455 }
13456 #[inline]
13457 fn syntax(&self) -> &SyntaxNode {
13458 &self.syntax
13459 }
13460}
13461impl AstNode for ConstraintWhereClause {
13462 #[inline]
13463 fn can_cast(kind: SyntaxKind) -> bool {
13464 kind == SyntaxKind::CONSTRAINT_WHERE_CLAUSE
13465 }
13466 #[inline]
13467 fn cast(syntax: SyntaxNode) -> Option<Self> {
13468 if Self::can_cast(syntax.kind()) {
13469 Some(Self { syntax })
13470 } else {
13471 None
13472 }
13473 }
13474 #[inline]
13475 fn syntax(&self) -> &SyntaxNode {
13476 &self.syntax
13477 }
13478}
13479impl AstNode for Copy {
13480 #[inline]
13481 fn can_cast(kind: SyntaxKind) -> bool {
13482 kind == SyntaxKind::COPY
13483 }
13484 #[inline]
13485 fn cast(syntax: SyntaxNode) -> Option<Self> {
13486 if Self::can_cast(syntax.kind()) {
13487 Some(Self { syntax })
13488 } else {
13489 None
13490 }
13491 }
13492 #[inline]
13493 fn syntax(&self) -> &SyntaxNode {
13494 &self.syntax
13495 }
13496}
13497impl AstNode for CostFuncOption {
13498 #[inline]
13499 fn can_cast(kind: SyntaxKind) -> bool {
13500 kind == SyntaxKind::COST_FUNC_OPTION
13501 }
13502 #[inline]
13503 fn cast(syntax: SyntaxNode) -> Option<Self> {
13504 if Self::can_cast(syntax.kind()) {
13505 Some(Self { syntax })
13506 } else {
13507 None
13508 }
13509 }
13510 #[inline]
13511 fn syntax(&self) -> &SyntaxNode {
13512 &self.syntax
13513 }
13514}
13515impl AstNode for CreateAccessMethod {
13516 #[inline]
13517 fn can_cast(kind: SyntaxKind) -> bool {
13518 kind == SyntaxKind::CREATE_ACCESS_METHOD
13519 }
13520 #[inline]
13521 fn cast(syntax: SyntaxNode) -> Option<Self> {
13522 if Self::can_cast(syntax.kind()) {
13523 Some(Self { syntax })
13524 } else {
13525 None
13526 }
13527 }
13528 #[inline]
13529 fn syntax(&self) -> &SyntaxNode {
13530 &self.syntax
13531 }
13532}
13533impl AstNode for CreateAggregate {
13534 #[inline]
13535 fn can_cast(kind: SyntaxKind) -> bool {
13536 kind == SyntaxKind::CREATE_AGGREGATE
13537 }
13538 #[inline]
13539 fn cast(syntax: SyntaxNode) -> Option<Self> {
13540 if Self::can_cast(syntax.kind()) {
13541 Some(Self { syntax })
13542 } else {
13543 None
13544 }
13545 }
13546 #[inline]
13547 fn syntax(&self) -> &SyntaxNode {
13548 &self.syntax
13549 }
13550}
13551impl AstNode for CreateCast {
13552 #[inline]
13553 fn can_cast(kind: SyntaxKind) -> bool {
13554 kind == SyntaxKind::CREATE_CAST
13555 }
13556 #[inline]
13557 fn cast(syntax: SyntaxNode) -> Option<Self> {
13558 if Self::can_cast(syntax.kind()) {
13559 Some(Self { syntax })
13560 } else {
13561 None
13562 }
13563 }
13564 #[inline]
13565 fn syntax(&self) -> &SyntaxNode {
13566 &self.syntax
13567 }
13568}
13569impl AstNode for CreateCollation {
13570 #[inline]
13571 fn can_cast(kind: SyntaxKind) -> bool {
13572 kind == SyntaxKind::CREATE_COLLATION
13573 }
13574 #[inline]
13575 fn cast(syntax: SyntaxNode) -> Option<Self> {
13576 if Self::can_cast(syntax.kind()) {
13577 Some(Self { syntax })
13578 } else {
13579 None
13580 }
13581 }
13582 #[inline]
13583 fn syntax(&self) -> &SyntaxNode {
13584 &self.syntax
13585 }
13586}
13587impl AstNode for CreateConversion {
13588 #[inline]
13589 fn can_cast(kind: SyntaxKind) -> bool {
13590 kind == SyntaxKind::CREATE_CONVERSION
13591 }
13592 #[inline]
13593 fn cast(syntax: SyntaxNode) -> Option<Self> {
13594 if Self::can_cast(syntax.kind()) {
13595 Some(Self { syntax })
13596 } else {
13597 None
13598 }
13599 }
13600 #[inline]
13601 fn syntax(&self) -> &SyntaxNode {
13602 &self.syntax
13603 }
13604}
13605impl AstNode for CreateDatabase {
13606 #[inline]
13607 fn can_cast(kind: SyntaxKind) -> bool {
13608 kind == SyntaxKind::CREATE_DATABASE
13609 }
13610 #[inline]
13611 fn cast(syntax: SyntaxNode) -> Option<Self> {
13612 if Self::can_cast(syntax.kind()) {
13613 Some(Self { syntax })
13614 } else {
13615 None
13616 }
13617 }
13618 #[inline]
13619 fn syntax(&self) -> &SyntaxNode {
13620 &self.syntax
13621 }
13622}
13623impl AstNode for CreateDomain {
13624 #[inline]
13625 fn can_cast(kind: SyntaxKind) -> bool {
13626 kind == SyntaxKind::CREATE_DOMAIN
13627 }
13628 #[inline]
13629 fn cast(syntax: SyntaxNode) -> Option<Self> {
13630 if Self::can_cast(syntax.kind()) {
13631 Some(Self { syntax })
13632 } else {
13633 None
13634 }
13635 }
13636 #[inline]
13637 fn syntax(&self) -> &SyntaxNode {
13638 &self.syntax
13639 }
13640}
13641impl AstNode for CreateEventTrigger {
13642 #[inline]
13643 fn can_cast(kind: SyntaxKind) -> bool {
13644 kind == SyntaxKind::CREATE_EVENT_TRIGGER
13645 }
13646 #[inline]
13647 fn cast(syntax: SyntaxNode) -> Option<Self> {
13648 if Self::can_cast(syntax.kind()) {
13649 Some(Self { syntax })
13650 } else {
13651 None
13652 }
13653 }
13654 #[inline]
13655 fn syntax(&self) -> &SyntaxNode {
13656 &self.syntax
13657 }
13658}
13659impl AstNode for CreateExtension {
13660 #[inline]
13661 fn can_cast(kind: SyntaxKind) -> bool {
13662 kind == SyntaxKind::CREATE_EXTENSION
13663 }
13664 #[inline]
13665 fn cast(syntax: SyntaxNode) -> Option<Self> {
13666 if Self::can_cast(syntax.kind()) {
13667 Some(Self { syntax })
13668 } else {
13669 None
13670 }
13671 }
13672 #[inline]
13673 fn syntax(&self) -> &SyntaxNode {
13674 &self.syntax
13675 }
13676}
13677impl AstNode for CreateForeignDataWrapper {
13678 #[inline]
13679 fn can_cast(kind: SyntaxKind) -> bool {
13680 kind == SyntaxKind::CREATE_FOREIGN_DATA_WRAPPER
13681 }
13682 #[inline]
13683 fn cast(syntax: SyntaxNode) -> Option<Self> {
13684 if Self::can_cast(syntax.kind()) {
13685 Some(Self { syntax })
13686 } else {
13687 None
13688 }
13689 }
13690 #[inline]
13691 fn syntax(&self) -> &SyntaxNode {
13692 &self.syntax
13693 }
13694}
13695impl AstNode for CreateForeignTable {
13696 #[inline]
13697 fn can_cast(kind: SyntaxKind) -> bool {
13698 kind == SyntaxKind::CREATE_FOREIGN_TABLE
13699 }
13700 #[inline]
13701 fn cast(syntax: SyntaxNode) -> Option<Self> {
13702 if Self::can_cast(syntax.kind()) {
13703 Some(Self { syntax })
13704 } else {
13705 None
13706 }
13707 }
13708 #[inline]
13709 fn syntax(&self) -> &SyntaxNode {
13710 &self.syntax
13711 }
13712}
13713impl AstNode for CreateFunction {
13714 #[inline]
13715 fn can_cast(kind: SyntaxKind) -> bool {
13716 kind == SyntaxKind::CREATE_FUNCTION
13717 }
13718 #[inline]
13719 fn cast(syntax: SyntaxNode) -> Option<Self> {
13720 if Self::can_cast(syntax.kind()) {
13721 Some(Self { syntax })
13722 } else {
13723 None
13724 }
13725 }
13726 #[inline]
13727 fn syntax(&self) -> &SyntaxNode {
13728 &self.syntax
13729 }
13730}
13731impl AstNode for CreateGroup {
13732 #[inline]
13733 fn can_cast(kind: SyntaxKind) -> bool {
13734 kind == SyntaxKind::CREATE_GROUP
13735 }
13736 #[inline]
13737 fn cast(syntax: SyntaxNode) -> Option<Self> {
13738 if Self::can_cast(syntax.kind()) {
13739 Some(Self { syntax })
13740 } else {
13741 None
13742 }
13743 }
13744 #[inline]
13745 fn syntax(&self) -> &SyntaxNode {
13746 &self.syntax
13747 }
13748}
13749impl AstNode for CreateIndex {
13750 #[inline]
13751 fn can_cast(kind: SyntaxKind) -> bool {
13752 kind == SyntaxKind::CREATE_INDEX
13753 }
13754 #[inline]
13755 fn cast(syntax: SyntaxNode) -> Option<Self> {
13756 if Self::can_cast(syntax.kind()) {
13757 Some(Self { syntax })
13758 } else {
13759 None
13760 }
13761 }
13762 #[inline]
13763 fn syntax(&self) -> &SyntaxNode {
13764 &self.syntax
13765 }
13766}
13767impl AstNode for CreateLanguage {
13768 #[inline]
13769 fn can_cast(kind: SyntaxKind) -> bool {
13770 kind == SyntaxKind::CREATE_LANGUAGE
13771 }
13772 #[inline]
13773 fn cast(syntax: SyntaxNode) -> Option<Self> {
13774 if Self::can_cast(syntax.kind()) {
13775 Some(Self { syntax })
13776 } else {
13777 None
13778 }
13779 }
13780 #[inline]
13781 fn syntax(&self) -> &SyntaxNode {
13782 &self.syntax
13783 }
13784}
13785impl AstNode for CreateMaterializedView {
13786 #[inline]
13787 fn can_cast(kind: SyntaxKind) -> bool {
13788 kind == SyntaxKind::CREATE_MATERIALIZED_VIEW
13789 }
13790 #[inline]
13791 fn cast(syntax: SyntaxNode) -> Option<Self> {
13792 if Self::can_cast(syntax.kind()) {
13793 Some(Self { syntax })
13794 } else {
13795 None
13796 }
13797 }
13798 #[inline]
13799 fn syntax(&self) -> &SyntaxNode {
13800 &self.syntax
13801 }
13802}
13803impl AstNode for CreateOperator {
13804 #[inline]
13805 fn can_cast(kind: SyntaxKind) -> bool {
13806 kind == SyntaxKind::CREATE_OPERATOR
13807 }
13808 #[inline]
13809 fn cast(syntax: SyntaxNode) -> Option<Self> {
13810 if Self::can_cast(syntax.kind()) {
13811 Some(Self { syntax })
13812 } else {
13813 None
13814 }
13815 }
13816 #[inline]
13817 fn syntax(&self) -> &SyntaxNode {
13818 &self.syntax
13819 }
13820}
13821impl AstNode for CreateOperatorClass {
13822 #[inline]
13823 fn can_cast(kind: SyntaxKind) -> bool {
13824 kind == SyntaxKind::CREATE_OPERATOR_CLASS
13825 }
13826 #[inline]
13827 fn cast(syntax: SyntaxNode) -> Option<Self> {
13828 if Self::can_cast(syntax.kind()) {
13829 Some(Self { syntax })
13830 } else {
13831 None
13832 }
13833 }
13834 #[inline]
13835 fn syntax(&self) -> &SyntaxNode {
13836 &self.syntax
13837 }
13838}
13839impl AstNode for CreateOperatorFamily {
13840 #[inline]
13841 fn can_cast(kind: SyntaxKind) -> bool {
13842 kind == SyntaxKind::CREATE_OPERATOR_FAMILY
13843 }
13844 #[inline]
13845 fn cast(syntax: SyntaxNode) -> Option<Self> {
13846 if Self::can_cast(syntax.kind()) {
13847 Some(Self { syntax })
13848 } else {
13849 None
13850 }
13851 }
13852 #[inline]
13853 fn syntax(&self) -> &SyntaxNode {
13854 &self.syntax
13855 }
13856}
13857impl AstNode for CreatePolicy {
13858 #[inline]
13859 fn can_cast(kind: SyntaxKind) -> bool {
13860 kind == SyntaxKind::CREATE_POLICY
13861 }
13862 #[inline]
13863 fn cast(syntax: SyntaxNode) -> Option<Self> {
13864 if Self::can_cast(syntax.kind()) {
13865 Some(Self { syntax })
13866 } else {
13867 None
13868 }
13869 }
13870 #[inline]
13871 fn syntax(&self) -> &SyntaxNode {
13872 &self.syntax
13873 }
13874}
13875impl AstNode for CreateProcedure {
13876 #[inline]
13877 fn can_cast(kind: SyntaxKind) -> bool {
13878 kind == SyntaxKind::CREATE_PROCEDURE
13879 }
13880 #[inline]
13881 fn cast(syntax: SyntaxNode) -> Option<Self> {
13882 if Self::can_cast(syntax.kind()) {
13883 Some(Self { syntax })
13884 } else {
13885 None
13886 }
13887 }
13888 #[inline]
13889 fn syntax(&self) -> &SyntaxNode {
13890 &self.syntax
13891 }
13892}
13893impl AstNode for CreatePublication {
13894 #[inline]
13895 fn can_cast(kind: SyntaxKind) -> bool {
13896 kind == SyntaxKind::CREATE_PUBLICATION
13897 }
13898 #[inline]
13899 fn cast(syntax: SyntaxNode) -> Option<Self> {
13900 if Self::can_cast(syntax.kind()) {
13901 Some(Self { syntax })
13902 } else {
13903 None
13904 }
13905 }
13906 #[inline]
13907 fn syntax(&self) -> &SyntaxNode {
13908 &self.syntax
13909 }
13910}
13911impl AstNode for CreateRole {
13912 #[inline]
13913 fn can_cast(kind: SyntaxKind) -> bool {
13914 kind == SyntaxKind::CREATE_ROLE
13915 }
13916 #[inline]
13917 fn cast(syntax: SyntaxNode) -> Option<Self> {
13918 if Self::can_cast(syntax.kind()) {
13919 Some(Self { syntax })
13920 } else {
13921 None
13922 }
13923 }
13924 #[inline]
13925 fn syntax(&self) -> &SyntaxNode {
13926 &self.syntax
13927 }
13928}
13929impl AstNode for CreateRule {
13930 #[inline]
13931 fn can_cast(kind: SyntaxKind) -> bool {
13932 kind == SyntaxKind::CREATE_RULE
13933 }
13934 #[inline]
13935 fn cast(syntax: SyntaxNode) -> Option<Self> {
13936 if Self::can_cast(syntax.kind()) {
13937 Some(Self { syntax })
13938 } else {
13939 None
13940 }
13941 }
13942 #[inline]
13943 fn syntax(&self) -> &SyntaxNode {
13944 &self.syntax
13945 }
13946}
13947impl AstNode for CreateSchema {
13948 #[inline]
13949 fn can_cast(kind: SyntaxKind) -> bool {
13950 kind == SyntaxKind::CREATE_SCHEMA
13951 }
13952 #[inline]
13953 fn cast(syntax: SyntaxNode) -> Option<Self> {
13954 if Self::can_cast(syntax.kind()) {
13955 Some(Self { syntax })
13956 } else {
13957 None
13958 }
13959 }
13960 #[inline]
13961 fn syntax(&self) -> &SyntaxNode {
13962 &self.syntax
13963 }
13964}
13965impl AstNode for CreateSequence {
13966 #[inline]
13967 fn can_cast(kind: SyntaxKind) -> bool {
13968 kind == SyntaxKind::CREATE_SEQUENCE
13969 }
13970 #[inline]
13971 fn cast(syntax: SyntaxNode) -> Option<Self> {
13972 if Self::can_cast(syntax.kind()) {
13973 Some(Self { syntax })
13974 } else {
13975 None
13976 }
13977 }
13978 #[inline]
13979 fn syntax(&self) -> &SyntaxNode {
13980 &self.syntax
13981 }
13982}
13983impl AstNode for CreateServer {
13984 #[inline]
13985 fn can_cast(kind: SyntaxKind) -> bool {
13986 kind == SyntaxKind::CREATE_SERVER
13987 }
13988 #[inline]
13989 fn cast(syntax: SyntaxNode) -> Option<Self> {
13990 if Self::can_cast(syntax.kind()) {
13991 Some(Self { syntax })
13992 } else {
13993 None
13994 }
13995 }
13996 #[inline]
13997 fn syntax(&self) -> &SyntaxNode {
13998 &self.syntax
13999 }
14000}
14001impl AstNode for CreateStatistics {
14002 #[inline]
14003 fn can_cast(kind: SyntaxKind) -> bool {
14004 kind == SyntaxKind::CREATE_STATISTICS
14005 }
14006 #[inline]
14007 fn cast(syntax: SyntaxNode) -> Option<Self> {
14008 if Self::can_cast(syntax.kind()) {
14009 Some(Self { syntax })
14010 } else {
14011 None
14012 }
14013 }
14014 #[inline]
14015 fn syntax(&self) -> &SyntaxNode {
14016 &self.syntax
14017 }
14018}
14019impl AstNode for CreateSubscription {
14020 #[inline]
14021 fn can_cast(kind: SyntaxKind) -> bool {
14022 kind == SyntaxKind::CREATE_SUBSCRIPTION
14023 }
14024 #[inline]
14025 fn cast(syntax: SyntaxNode) -> Option<Self> {
14026 if Self::can_cast(syntax.kind()) {
14027 Some(Self { syntax })
14028 } else {
14029 None
14030 }
14031 }
14032 #[inline]
14033 fn syntax(&self) -> &SyntaxNode {
14034 &self.syntax
14035 }
14036}
14037impl AstNode for CreateTable {
14038 #[inline]
14039 fn can_cast(kind: SyntaxKind) -> bool {
14040 kind == SyntaxKind::CREATE_TABLE
14041 }
14042 #[inline]
14043 fn cast(syntax: SyntaxNode) -> Option<Self> {
14044 if Self::can_cast(syntax.kind()) {
14045 Some(Self { syntax })
14046 } else {
14047 None
14048 }
14049 }
14050 #[inline]
14051 fn syntax(&self) -> &SyntaxNode {
14052 &self.syntax
14053 }
14054}
14055impl AstNode for CreateTableAs {
14056 #[inline]
14057 fn can_cast(kind: SyntaxKind) -> bool {
14058 kind == SyntaxKind::CREATE_TABLE_AS
14059 }
14060 #[inline]
14061 fn cast(syntax: SyntaxNode) -> Option<Self> {
14062 if Self::can_cast(syntax.kind()) {
14063 Some(Self { syntax })
14064 } else {
14065 None
14066 }
14067 }
14068 #[inline]
14069 fn syntax(&self) -> &SyntaxNode {
14070 &self.syntax
14071 }
14072}
14073impl AstNode for CreateTablespace {
14074 #[inline]
14075 fn can_cast(kind: SyntaxKind) -> bool {
14076 kind == SyntaxKind::CREATE_TABLESPACE
14077 }
14078 #[inline]
14079 fn cast(syntax: SyntaxNode) -> Option<Self> {
14080 if Self::can_cast(syntax.kind()) {
14081 Some(Self { syntax })
14082 } else {
14083 None
14084 }
14085 }
14086 #[inline]
14087 fn syntax(&self) -> &SyntaxNode {
14088 &self.syntax
14089 }
14090}
14091impl AstNode for CreateTextSearchConfiguration {
14092 #[inline]
14093 fn can_cast(kind: SyntaxKind) -> bool {
14094 kind == SyntaxKind::CREATE_TEXT_SEARCH_CONFIGURATION
14095 }
14096 #[inline]
14097 fn cast(syntax: SyntaxNode) -> Option<Self> {
14098 if Self::can_cast(syntax.kind()) {
14099 Some(Self { syntax })
14100 } else {
14101 None
14102 }
14103 }
14104 #[inline]
14105 fn syntax(&self) -> &SyntaxNode {
14106 &self.syntax
14107 }
14108}
14109impl AstNode for CreateTextSearchDictionary {
14110 #[inline]
14111 fn can_cast(kind: SyntaxKind) -> bool {
14112 kind == SyntaxKind::CREATE_TEXT_SEARCH_DICTIONARY
14113 }
14114 #[inline]
14115 fn cast(syntax: SyntaxNode) -> Option<Self> {
14116 if Self::can_cast(syntax.kind()) {
14117 Some(Self { syntax })
14118 } else {
14119 None
14120 }
14121 }
14122 #[inline]
14123 fn syntax(&self) -> &SyntaxNode {
14124 &self.syntax
14125 }
14126}
14127impl AstNode for CreateTextSearchParser {
14128 #[inline]
14129 fn can_cast(kind: SyntaxKind) -> bool {
14130 kind == SyntaxKind::CREATE_TEXT_SEARCH_PARSER
14131 }
14132 #[inline]
14133 fn cast(syntax: SyntaxNode) -> Option<Self> {
14134 if Self::can_cast(syntax.kind()) {
14135 Some(Self { syntax })
14136 } else {
14137 None
14138 }
14139 }
14140 #[inline]
14141 fn syntax(&self) -> &SyntaxNode {
14142 &self.syntax
14143 }
14144}
14145impl AstNode for CreateTextSearchTemplate {
14146 #[inline]
14147 fn can_cast(kind: SyntaxKind) -> bool {
14148 kind == SyntaxKind::CREATE_TEXT_SEARCH_TEMPLATE
14149 }
14150 #[inline]
14151 fn cast(syntax: SyntaxNode) -> Option<Self> {
14152 if Self::can_cast(syntax.kind()) {
14153 Some(Self { syntax })
14154 } else {
14155 None
14156 }
14157 }
14158 #[inline]
14159 fn syntax(&self) -> &SyntaxNode {
14160 &self.syntax
14161 }
14162}
14163impl AstNode for CreateTransform {
14164 #[inline]
14165 fn can_cast(kind: SyntaxKind) -> bool {
14166 kind == SyntaxKind::CREATE_TRANSFORM
14167 }
14168 #[inline]
14169 fn cast(syntax: SyntaxNode) -> Option<Self> {
14170 if Self::can_cast(syntax.kind()) {
14171 Some(Self { syntax })
14172 } else {
14173 None
14174 }
14175 }
14176 #[inline]
14177 fn syntax(&self) -> &SyntaxNode {
14178 &self.syntax
14179 }
14180}
14181impl AstNode for CreateTrigger {
14182 #[inline]
14183 fn can_cast(kind: SyntaxKind) -> bool {
14184 kind == SyntaxKind::CREATE_TRIGGER
14185 }
14186 #[inline]
14187 fn cast(syntax: SyntaxNode) -> Option<Self> {
14188 if Self::can_cast(syntax.kind()) {
14189 Some(Self { syntax })
14190 } else {
14191 None
14192 }
14193 }
14194 #[inline]
14195 fn syntax(&self) -> &SyntaxNode {
14196 &self.syntax
14197 }
14198}
14199impl AstNode for CreateType {
14200 #[inline]
14201 fn can_cast(kind: SyntaxKind) -> bool {
14202 kind == SyntaxKind::CREATE_TYPE
14203 }
14204 #[inline]
14205 fn cast(syntax: SyntaxNode) -> Option<Self> {
14206 if Self::can_cast(syntax.kind()) {
14207 Some(Self { syntax })
14208 } else {
14209 None
14210 }
14211 }
14212 #[inline]
14213 fn syntax(&self) -> &SyntaxNode {
14214 &self.syntax
14215 }
14216}
14217impl AstNode for CreateUser {
14218 #[inline]
14219 fn can_cast(kind: SyntaxKind) -> bool {
14220 kind == SyntaxKind::CREATE_USER
14221 }
14222 #[inline]
14223 fn cast(syntax: SyntaxNode) -> Option<Self> {
14224 if Self::can_cast(syntax.kind()) {
14225 Some(Self { syntax })
14226 } else {
14227 None
14228 }
14229 }
14230 #[inline]
14231 fn syntax(&self) -> &SyntaxNode {
14232 &self.syntax
14233 }
14234}
14235impl AstNode for CreateUserMapping {
14236 #[inline]
14237 fn can_cast(kind: SyntaxKind) -> bool {
14238 kind == SyntaxKind::CREATE_USER_MAPPING
14239 }
14240 #[inline]
14241 fn cast(syntax: SyntaxNode) -> Option<Self> {
14242 if Self::can_cast(syntax.kind()) {
14243 Some(Self { syntax })
14244 } else {
14245 None
14246 }
14247 }
14248 #[inline]
14249 fn syntax(&self) -> &SyntaxNode {
14250 &self.syntax
14251 }
14252}
14253impl AstNode for CreateView {
14254 #[inline]
14255 fn can_cast(kind: SyntaxKind) -> bool {
14256 kind == SyntaxKind::CREATE_VIEW
14257 }
14258 #[inline]
14259 fn cast(syntax: SyntaxNode) -> Option<Self> {
14260 if Self::can_cast(syntax.kind()) {
14261 Some(Self { syntax })
14262 } else {
14263 None
14264 }
14265 }
14266 #[inline]
14267 fn syntax(&self) -> &SyntaxNode {
14268 &self.syntax
14269 }
14270}
14271impl AstNode for CustomOp {
14272 #[inline]
14273 fn can_cast(kind: SyntaxKind) -> bool {
14274 kind == SyntaxKind::CUSTOM_OP
14275 }
14276 #[inline]
14277 fn cast(syntax: SyntaxNode) -> Option<Self> {
14278 if Self::can_cast(syntax.kind()) {
14279 Some(Self { syntax })
14280 } else {
14281 None
14282 }
14283 }
14284 #[inline]
14285 fn syntax(&self) -> &SyntaxNode {
14286 &self.syntax
14287 }
14288}
14289impl AstNode for Deallocate {
14290 #[inline]
14291 fn can_cast(kind: SyntaxKind) -> bool {
14292 kind == SyntaxKind::DEALLOCATE
14293 }
14294 #[inline]
14295 fn cast(syntax: SyntaxNode) -> Option<Self> {
14296 if Self::can_cast(syntax.kind()) {
14297 Some(Self { syntax })
14298 } else {
14299 None
14300 }
14301 }
14302 #[inline]
14303 fn syntax(&self) -> &SyntaxNode {
14304 &self.syntax
14305 }
14306}
14307impl AstNode for Declare {
14308 #[inline]
14309 fn can_cast(kind: SyntaxKind) -> bool {
14310 kind == SyntaxKind::DECLARE
14311 }
14312 #[inline]
14313 fn cast(syntax: SyntaxNode) -> Option<Self> {
14314 if Self::can_cast(syntax.kind()) {
14315 Some(Self { syntax })
14316 } else {
14317 None
14318 }
14319 }
14320 #[inline]
14321 fn syntax(&self) -> &SyntaxNode {
14322 &self.syntax
14323 }
14324}
14325impl AstNode for DefaultConstraint {
14326 #[inline]
14327 fn can_cast(kind: SyntaxKind) -> bool {
14328 kind == SyntaxKind::DEFAULT_CONSTRAINT
14329 }
14330 #[inline]
14331 fn cast(syntax: SyntaxNode) -> Option<Self> {
14332 if Self::can_cast(syntax.kind()) {
14333 Some(Self { syntax })
14334 } else {
14335 None
14336 }
14337 }
14338 #[inline]
14339 fn syntax(&self) -> &SyntaxNode {
14340 &self.syntax
14341 }
14342}
14343impl AstNode for Deferrable {
14344 #[inline]
14345 fn can_cast(kind: SyntaxKind) -> bool {
14346 kind == SyntaxKind::DEFERRABLE
14347 }
14348 #[inline]
14349 fn cast(syntax: SyntaxNode) -> Option<Self> {
14350 if Self::can_cast(syntax.kind()) {
14351 Some(Self { syntax })
14352 } else {
14353 None
14354 }
14355 }
14356 #[inline]
14357 fn syntax(&self) -> &SyntaxNode {
14358 &self.syntax
14359 }
14360}
14361impl AstNode for DeferrableConstraintOption {
14362 #[inline]
14363 fn can_cast(kind: SyntaxKind) -> bool {
14364 kind == SyntaxKind::DEFERRABLE_CONSTRAINT_OPTION
14365 }
14366 #[inline]
14367 fn cast(syntax: SyntaxNode) -> Option<Self> {
14368 if Self::can_cast(syntax.kind()) {
14369 Some(Self { syntax })
14370 } else {
14371 None
14372 }
14373 }
14374 #[inline]
14375 fn syntax(&self) -> &SyntaxNode {
14376 &self.syntax
14377 }
14378}
14379impl AstNode for Delete {
14380 #[inline]
14381 fn can_cast(kind: SyntaxKind) -> bool {
14382 kind == SyntaxKind::DELETE
14383 }
14384 #[inline]
14385 fn cast(syntax: SyntaxNode) -> Option<Self> {
14386 if Self::can_cast(syntax.kind()) {
14387 Some(Self { syntax })
14388 } else {
14389 None
14390 }
14391 }
14392 #[inline]
14393 fn syntax(&self) -> &SyntaxNode {
14394 &self.syntax
14395 }
14396}
14397impl AstNode for DeleteRows {
14398 #[inline]
14399 fn can_cast(kind: SyntaxKind) -> bool {
14400 kind == SyntaxKind::DELETE_ROWS
14401 }
14402 #[inline]
14403 fn cast(syntax: SyntaxNode) -> Option<Self> {
14404 if Self::can_cast(syntax.kind()) {
14405 Some(Self { syntax })
14406 } else {
14407 None
14408 }
14409 }
14410 #[inline]
14411 fn syntax(&self) -> &SyntaxNode {
14412 &self.syntax
14413 }
14414}
14415impl AstNode for DetachPartition {
14416 #[inline]
14417 fn can_cast(kind: SyntaxKind) -> bool {
14418 kind == SyntaxKind::DETACH_PARTITION
14419 }
14420 #[inline]
14421 fn cast(syntax: SyntaxNode) -> Option<Self> {
14422 if Self::can_cast(syntax.kind()) {
14423 Some(Self { syntax })
14424 } else {
14425 None
14426 }
14427 }
14428 #[inline]
14429 fn syntax(&self) -> &SyntaxNode {
14430 &self.syntax
14431 }
14432}
14433impl AstNode for DisableRls {
14434 #[inline]
14435 fn can_cast(kind: SyntaxKind) -> bool {
14436 kind == SyntaxKind::DISABLE_RLS
14437 }
14438 #[inline]
14439 fn cast(syntax: SyntaxNode) -> Option<Self> {
14440 if Self::can_cast(syntax.kind()) {
14441 Some(Self { syntax })
14442 } else {
14443 None
14444 }
14445 }
14446 #[inline]
14447 fn syntax(&self) -> &SyntaxNode {
14448 &self.syntax
14449 }
14450}
14451impl AstNode for DisableRule {
14452 #[inline]
14453 fn can_cast(kind: SyntaxKind) -> bool {
14454 kind == SyntaxKind::DISABLE_RULE
14455 }
14456 #[inline]
14457 fn cast(syntax: SyntaxNode) -> Option<Self> {
14458 if Self::can_cast(syntax.kind()) {
14459 Some(Self { syntax })
14460 } else {
14461 None
14462 }
14463 }
14464 #[inline]
14465 fn syntax(&self) -> &SyntaxNode {
14466 &self.syntax
14467 }
14468}
14469impl AstNode for DisableTrigger {
14470 #[inline]
14471 fn can_cast(kind: SyntaxKind) -> bool {
14472 kind == SyntaxKind::DISABLE_TRIGGER
14473 }
14474 #[inline]
14475 fn cast(syntax: SyntaxNode) -> Option<Self> {
14476 if Self::can_cast(syntax.kind()) {
14477 Some(Self { syntax })
14478 } else {
14479 None
14480 }
14481 }
14482 #[inline]
14483 fn syntax(&self) -> &SyntaxNode {
14484 &self.syntax
14485 }
14486}
14487impl AstNode for Discard {
14488 #[inline]
14489 fn can_cast(kind: SyntaxKind) -> bool {
14490 kind == SyntaxKind::DISCARD
14491 }
14492 #[inline]
14493 fn cast(syntax: SyntaxNode) -> Option<Self> {
14494 if Self::can_cast(syntax.kind()) {
14495 Some(Self { syntax })
14496 } else {
14497 None
14498 }
14499 }
14500 #[inline]
14501 fn syntax(&self) -> &SyntaxNode {
14502 &self.syntax
14503 }
14504}
14505impl AstNode for DistinctClause {
14506 #[inline]
14507 fn can_cast(kind: SyntaxKind) -> bool {
14508 kind == SyntaxKind::DISTINCT_CLAUSE
14509 }
14510 #[inline]
14511 fn cast(syntax: SyntaxNode) -> Option<Self> {
14512 if Self::can_cast(syntax.kind()) {
14513 Some(Self { syntax })
14514 } else {
14515 None
14516 }
14517 }
14518 #[inline]
14519 fn syntax(&self) -> &SyntaxNode {
14520 &self.syntax
14521 }
14522}
14523impl AstNode for Do {
14524 #[inline]
14525 fn can_cast(kind: SyntaxKind) -> bool {
14526 kind == SyntaxKind::DO
14527 }
14528 #[inline]
14529 fn cast(syntax: SyntaxNode) -> Option<Self> {
14530 if Self::can_cast(syntax.kind()) {
14531 Some(Self { syntax })
14532 } else {
14533 None
14534 }
14535 }
14536 #[inline]
14537 fn syntax(&self) -> &SyntaxNode {
14538 &self.syntax
14539 }
14540}
14541impl AstNode for DoubleType {
14542 #[inline]
14543 fn can_cast(kind: SyntaxKind) -> bool {
14544 kind == SyntaxKind::DOUBLE_TYPE
14545 }
14546 #[inline]
14547 fn cast(syntax: SyntaxNode) -> Option<Self> {
14548 if Self::can_cast(syntax.kind()) {
14549 Some(Self { syntax })
14550 } else {
14551 None
14552 }
14553 }
14554 #[inline]
14555 fn syntax(&self) -> &SyntaxNode {
14556 &self.syntax
14557 }
14558}
14559impl AstNode for Drop {
14560 #[inline]
14561 fn can_cast(kind: SyntaxKind) -> bool {
14562 kind == SyntaxKind::DROP
14563 }
14564 #[inline]
14565 fn cast(syntax: SyntaxNode) -> Option<Self> {
14566 if Self::can_cast(syntax.kind()) {
14567 Some(Self { syntax })
14568 } else {
14569 None
14570 }
14571 }
14572 #[inline]
14573 fn syntax(&self) -> &SyntaxNode {
14574 &self.syntax
14575 }
14576}
14577impl AstNode for DropAccessMethod {
14578 #[inline]
14579 fn can_cast(kind: SyntaxKind) -> bool {
14580 kind == SyntaxKind::DROP_ACCESS_METHOD
14581 }
14582 #[inline]
14583 fn cast(syntax: SyntaxNode) -> Option<Self> {
14584 if Self::can_cast(syntax.kind()) {
14585 Some(Self { syntax })
14586 } else {
14587 None
14588 }
14589 }
14590 #[inline]
14591 fn syntax(&self) -> &SyntaxNode {
14592 &self.syntax
14593 }
14594}
14595impl AstNode for DropAggregate {
14596 #[inline]
14597 fn can_cast(kind: SyntaxKind) -> bool {
14598 kind == SyntaxKind::DROP_AGGREGATE
14599 }
14600 #[inline]
14601 fn cast(syntax: SyntaxNode) -> Option<Self> {
14602 if Self::can_cast(syntax.kind()) {
14603 Some(Self { syntax })
14604 } else {
14605 None
14606 }
14607 }
14608 #[inline]
14609 fn syntax(&self) -> &SyntaxNode {
14610 &self.syntax
14611 }
14612}
14613impl AstNode for DropCast {
14614 #[inline]
14615 fn can_cast(kind: SyntaxKind) -> bool {
14616 kind == SyntaxKind::DROP_CAST
14617 }
14618 #[inline]
14619 fn cast(syntax: SyntaxNode) -> Option<Self> {
14620 if Self::can_cast(syntax.kind()) {
14621 Some(Self { syntax })
14622 } else {
14623 None
14624 }
14625 }
14626 #[inline]
14627 fn syntax(&self) -> &SyntaxNode {
14628 &self.syntax
14629 }
14630}
14631impl AstNode for DropCollation {
14632 #[inline]
14633 fn can_cast(kind: SyntaxKind) -> bool {
14634 kind == SyntaxKind::DROP_COLLATION
14635 }
14636 #[inline]
14637 fn cast(syntax: SyntaxNode) -> Option<Self> {
14638 if Self::can_cast(syntax.kind()) {
14639 Some(Self { syntax })
14640 } else {
14641 None
14642 }
14643 }
14644 #[inline]
14645 fn syntax(&self) -> &SyntaxNode {
14646 &self.syntax
14647 }
14648}
14649impl AstNode for DropColumn {
14650 #[inline]
14651 fn can_cast(kind: SyntaxKind) -> bool {
14652 kind == SyntaxKind::DROP_COLUMN
14653 }
14654 #[inline]
14655 fn cast(syntax: SyntaxNode) -> Option<Self> {
14656 if Self::can_cast(syntax.kind()) {
14657 Some(Self { syntax })
14658 } else {
14659 None
14660 }
14661 }
14662 #[inline]
14663 fn syntax(&self) -> &SyntaxNode {
14664 &self.syntax
14665 }
14666}
14667impl AstNode for DropConstraint {
14668 #[inline]
14669 fn can_cast(kind: SyntaxKind) -> bool {
14670 kind == SyntaxKind::DROP_CONSTRAINT
14671 }
14672 #[inline]
14673 fn cast(syntax: SyntaxNode) -> Option<Self> {
14674 if Self::can_cast(syntax.kind()) {
14675 Some(Self { syntax })
14676 } else {
14677 None
14678 }
14679 }
14680 #[inline]
14681 fn syntax(&self) -> &SyntaxNode {
14682 &self.syntax
14683 }
14684}
14685impl AstNode for DropConversion {
14686 #[inline]
14687 fn can_cast(kind: SyntaxKind) -> bool {
14688 kind == SyntaxKind::DROP_CONVERSION
14689 }
14690 #[inline]
14691 fn cast(syntax: SyntaxNode) -> Option<Self> {
14692 if Self::can_cast(syntax.kind()) {
14693 Some(Self { syntax })
14694 } else {
14695 None
14696 }
14697 }
14698 #[inline]
14699 fn syntax(&self) -> &SyntaxNode {
14700 &self.syntax
14701 }
14702}
14703impl AstNode for DropDatabase {
14704 #[inline]
14705 fn can_cast(kind: SyntaxKind) -> bool {
14706 kind == SyntaxKind::DROP_DATABASE
14707 }
14708 #[inline]
14709 fn cast(syntax: SyntaxNode) -> Option<Self> {
14710 if Self::can_cast(syntax.kind()) {
14711 Some(Self { syntax })
14712 } else {
14713 None
14714 }
14715 }
14716 #[inline]
14717 fn syntax(&self) -> &SyntaxNode {
14718 &self.syntax
14719 }
14720}
14721impl AstNode for DropDefault {
14722 #[inline]
14723 fn can_cast(kind: SyntaxKind) -> bool {
14724 kind == SyntaxKind::DROP_DEFAULT
14725 }
14726 #[inline]
14727 fn cast(syntax: SyntaxNode) -> Option<Self> {
14728 if Self::can_cast(syntax.kind()) {
14729 Some(Self { syntax })
14730 } else {
14731 None
14732 }
14733 }
14734 #[inline]
14735 fn syntax(&self) -> &SyntaxNode {
14736 &self.syntax
14737 }
14738}
14739impl AstNode for DropDomain {
14740 #[inline]
14741 fn can_cast(kind: SyntaxKind) -> bool {
14742 kind == SyntaxKind::DROP_DOMAIN
14743 }
14744 #[inline]
14745 fn cast(syntax: SyntaxNode) -> Option<Self> {
14746 if Self::can_cast(syntax.kind()) {
14747 Some(Self { syntax })
14748 } else {
14749 None
14750 }
14751 }
14752 #[inline]
14753 fn syntax(&self) -> &SyntaxNode {
14754 &self.syntax
14755 }
14756}
14757impl AstNode for DropEventTrigger {
14758 #[inline]
14759 fn can_cast(kind: SyntaxKind) -> bool {
14760 kind == SyntaxKind::DROP_EVENT_TRIGGER
14761 }
14762 #[inline]
14763 fn cast(syntax: SyntaxNode) -> Option<Self> {
14764 if Self::can_cast(syntax.kind()) {
14765 Some(Self { syntax })
14766 } else {
14767 None
14768 }
14769 }
14770 #[inline]
14771 fn syntax(&self) -> &SyntaxNode {
14772 &self.syntax
14773 }
14774}
14775impl AstNode for DropExpression {
14776 #[inline]
14777 fn can_cast(kind: SyntaxKind) -> bool {
14778 kind == SyntaxKind::DROP_EXPRESSION
14779 }
14780 #[inline]
14781 fn cast(syntax: SyntaxNode) -> Option<Self> {
14782 if Self::can_cast(syntax.kind()) {
14783 Some(Self { syntax })
14784 } else {
14785 None
14786 }
14787 }
14788 #[inline]
14789 fn syntax(&self) -> &SyntaxNode {
14790 &self.syntax
14791 }
14792}
14793impl AstNode for DropExtension {
14794 #[inline]
14795 fn can_cast(kind: SyntaxKind) -> bool {
14796 kind == SyntaxKind::DROP_EXTENSION
14797 }
14798 #[inline]
14799 fn cast(syntax: SyntaxNode) -> Option<Self> {
14800 if Self::can_cast(syntax.kind()) {
14801 Some(Self { syntax })
14802 } else {
14803 None
14804 }
14805 }
14806 #[inline]
14807 fn syntax(&self) -> &SyntaxNode {
14808 &self.syntax
14809 }
14810}
14811impl AstNode for DropForeignDataWrapper {
14812 #[inline]
14813 fn can_cast(kind: SyntaxKind) -> bool {
14814 kind == SyntaxKind::DROP_FOREIGN_DATA_WRAPPER
14815 }
14816 #[inline]
14817 fn cast(syntax: SyntaxNode) -> Option<Self> {
14818 if Self::can_cast(syntax.kind()) {
14819 Some(Self { syntax })
14820 } else {
14821 None
14822 }
14823 }
14824 #[inline]
14825 fn syntax(&self) -> &SyntaxNode {
14826 &self.syntax
14827 }
14828}
14829impl AstNode for DropForeignTable {
14830 #[inline]
14831 fn can_cast(kind: SyntaxKind) -> bool {
14832 kind == SyntaxKind::DROP_FOREIGN_TABLE
14833 }
14834 #[inline]
14835 fn cast(syntax: SyntaxNode) -> Option<Self> {
14836 if Self::can_cast(syntax.kind()) {
14837 Some(Self { syntax })
14838 } else {
14839 None
14840 }
14841 }
14842 #[inline]
14843 fn syntax(&self) -> &SyntaxNode {
14844 &self.syntax
14845 }
14846}
14847impl AstNode for DropFunction {
14848 #[inline]
14849 fn can_cast(kind: SyntaxKind) -> bool {
14850 kind == SyntaxKind::DROP_FUNCTION
14851 }
14852 #[inline]
14853 fn cast(syntax: SyntaxNode) -> Option<Self> {
14854 if Self::can_cast(syntax.kind()) {
14855 Some(Self { syntax })
14856 } else {
14857 None
14858 }
14859 }
14860 #[inline]
14861 fn syntax(&self) -> &SyntaxNode {
14862 &self.syntax
14863 }
14864}
14865impl AstNode for DropGroup {
14866 #[inline]
14867 fn can_cast(kind: SyntaxKind) -> bool {
14868 kind == SyntaxKind::DROP_GROUP
14869 }
14870 #[inline]
14871 fn cast(syntax: SyntaxNode) -> Option<Self> {
14872 if Self::can_cast(syntax.kind()) {
14873 Some(Self { syntax })
14874 } else {
14875 None
14876 }
14877 }
14878 #[inline]
14879 fn syntax(&self) -> &SyntaxNode {
14880 &self.syntax
14881 }
14882}
14883impl AstNode for DropIdentity {
14884 #[inline]
14885 fn can_cast(kind: SyntaxKind) -> bool {
14886 kind == SyntaxKind::DROP_IDENTITY
14887 }
14888 #[inline]
14889 fn cast(syntax: SyntaxNode) -> Option<Self> {
14890 if Self::can_cast(syntax.kind()) {
14891 Some(Self { syntax })
14892 } else {
14893 None
14894 }
14895 }
14896 #[inline]
14897 fn syntax(&self) -> &SyntaxNode {
14898 &self.syntax
14899 }
14900}
14901impl AstNode for DropIndex {
14902 #[inline]
14903 fn can_cast(kind: SyntaxKind) -> bool {
14904 kind == SyntaxKind::DROP_INDEX
14905 }
14906 #[inline]
14907 fn cast(syntax: SyntaxNode) -> Option<Self> {
14908 if Self::can_cast(syntax.kind()) {
14909 Some(Self { syntax })
14910 } else {
14911 None
14912 }
14913 }
14914 #[inline]
14915 fn syntax(&self) -> &SyntaxNode {
14916 &self.syntax
14917 }
14918}
14919impl AstNode for DropLanguage {
14920 #[inline]
14921 fn can_cast(kind: SyntaxKind) -> bool {
14922 kind == SyntaxKind::DROP_LANGUAGE
14923 }
14924 #[inline]
14925 fn cast(syntax: SyntaxNode) -> Option<Self> {
14926 if Self::can_cast(syntax.kind()) {
14927 Some(Self { syntax })
14928 } else {
14929 None
14930 }
14931 }
14932 #[inline]
14933 fn syntax(&self) -> &SyntaxNode {
14934 &self.syntax
14935 }
14936}
14937impl AstNode for DropMaterializedView {
14938 #[inline]
14939 fn can_cast(kind: SyntaxKind) -> bool {
14940 kind == SyntaxKind::DROP_MATERIALIZED_VIEW
14941 }
14942 #[inline]
14943 fn cast(syntax: SyntaxNode) -> Option<Self> {
14944 if Self::can_cast(syntax.kind()) {
14945 Some(Self { syntax })
14946 } else {
14947 None
14948 }
14949 }
14950 #[inline]
14951 fn syntax(&self) -> &SyntaxNode {
14952 &self.syntax
14953 }
14954}
14955impl AstNode for DropNotNull {
14956 #[inline]
14957 fn can_cast(kind: SyntaxKind) -> bool {
14958 kind == SyntaxKind::DROP_NOT_NULL
14959 }
14960 #[inline]
14961 fn cast(syntax: SyntaxNode) -> Option<Self> {
14962 if Self::can_cast(syntax.kind()) {
14963 Some(Self { syntax })
14964 } else {
14965 None
14966 }
14967 }
14968 #[inline]
14969 fn syntax(&self) -> &SyntaxNode {
14970 &self.syntax
14971 }
14972}
14973impl AstNode for DropOperator {
14974 #[inline]
14975 fn can_cast(kind: SyntaxKind) -> bool {
14976 kind == SyntaxKind::DROP_OPERATOR
14977 }
14978 #[inline]
14979 fn cast(syntax: SyntaxNode) -> Option<Self> {
14980 if Self::can_cast(syntax.kind()) {
14981 Some(Self { syntax })
14982 } else {
14983 None
14984 }
14985 }
14986 #[inline]
14987 fn syntax(&self) -> &SyntaxNode {
14988 &self.syntax
14989 }
14990}
14991impl AstNode for DropOperatorClass {
14992 #[inline]
14993 fn can_cast(kind: SyntaxKind) -> bool {
14994 kind == SyntaxKind::DROP_OPERATOR_CLASS
14995 }
14996 #[inline]
14997 fn cast(syntax: SyntaxNode) -> Option<Self> {
14998 if Self::can_cast(syntax.kind()) {
14999 Some(Self { syntax })
15000 } else {
15001 None
15002 }
15003 }
15004 #[inline]
15005 fn syntax(&self) -> &SyntaxNode {
15006 &self.syntax
15007 }
15008}
15009impl AstNode for DropOperatorFamily {
15010 #[inline]
15011 fn can_cast(kind: SyntaxKind) -> bool {
15012 kind == SyntaxKind::DROP_OPERATOR_FAMILY
15013 }
15014 #[inline]
15015 fn cast(syntax: SyntaxNode) -> Option<Self> {
15016 if Self::can_cast(syntax.kind()) {
15017 Some(Self { syntax })
15018 } else {
15019 None
15020 }
15021 }
15022 #[inline]
15023 fn syntax(&self) -> &SyntaxNode {
15024 &self.syntax
15025 }
15026}
15027impl AstNode for DropOwned {
15028 #[inline]
15029 fn can_cast(kind: SyntaxKind) -> bool {
15030 kind == SyntaxKind::DROP_OWNED
15031 }
15032 #[inline]
15033 fn cast(syntax: SyntaxNode) -> Option<Self> {
15034 if Self::can_cast(syntax.kind()) {
15035 Some(Self { syntax })
15036 } else {
15037 None
15038 }
15039 }
15040 #[inline]
15041 fn syntax(&self) -> &SyntaxNode {
15042 &self.syntax
15043 }
15044}
15045impl AstNode for DropPolicy {
15046 #[inline]
15047 fn can_cast(kind: SyntaxKind) -> bool {
15048 kind == SyntaxKind::DROP_POLICY
15049 }
15050 #[inline]
15051 fn cast(syntax: SyntaxNode) -> Option<Self> {
15052 if Self::can_cast(syntax.kind()) {
15053 Some(Self { syntax })
15054 } else {
15055 None
15056 }
15057 }
15058 #[inline]
15059 fn syntax(&self) -> &SyntaxNode {
15060 &self.syntax
15061 }
15062}
15063impl AstNode for DropProcedure {
15064 #[inline]
15065 fn can_cast(kind: SyntaxKind) -> bool {
15066 kind == SyntaxKind::DROP_PROCEDURE
15067 }
15068 #[inline]
15069 fn cast(syntax: SyntaxNode) -> Option<Self> {
15070 if Self::can_cast(syntax.kind()) {
15071 Some(Self { syntax })
15072 } else {
15073 None
15074 }
15075 }
15076 #[inline]
15077 fn syntax(&self) -> &SyntaxNode {
15078 &self.syntax
15079 }
15080}
15081impl AstNode for DropPublication {
15082 #[inline]
15083 fn can_cast(kind: SyntaxKind) -> bool {
15084 kind == SyntaxKind::DROP_PUBLICATION
15085 }
15086 #[inline]
15087 fn cast(syntax: SyntaxNode) -> Option<Self> {
15088 if Self::can_cast(syntax.kind()) {
15089 Some(Self { syntax })
15090 } else {
15091 None
15092 }
15093 }
15094 #[inline]
15095 fn syntax(&self) -> &SyntaxNode {
15096 &self.syntax
15097 }
15098}
15099impl AstNode for DropRole {
15100 #[inline]
15101 fn can_cast(kind: SyntaxKind) -> bool {
15102 kind == SyntaxKind::DROP_ROLE
15103 }
15104 #[inline]
15105 fn cast(syntax: SyntaxNode) -> Option<Self> {
15106 if Self::can_cast(syntax.kind()) {
15107 Some(Self { syntax })
15108 } else {
15109 None
15110 }
15111 }
15112 #[inline]
15113 fn syntax(&self) -> &SyntaxNode {
15114 &self.syntax
15115 }
15116}
15117impl AstNode for DropRoutine {
15118 #[inline]
15119 fn can_cast(kind: SyntaxKind) -> bool {
15120 kind == SyntaxKind::DROP_ROUTINE
15121 }
15122 #[inline]
15123 fn cast(syntax: SyntaxNode) -> Option<Self> {
15124 if Self::can_cast(syntax.kind()) {
15125 Some(Self { syntax })
15126 } else {
15127 None
15128 }
15129 }
15130 #[inline]
15131 fn syntax(&self) -> &SyntaxNode {
15132 &self.syntax
15133 }
15134}
15135impl AstNode for DropRule {
15136 #[inline]
15137 fn can_cast(kind: SyntaxKind) -> bool {
15138 kind == SyntaxKind::DROP_RULE
15139 }
15140 #[inline]
15141 fn cast(syntax: SyntaxNode) -> Option<Self> {
15142 if Self::can_cast(syntax.kind()) {
15143 Some(Self { syntax })
15144 } else {
15145 None
15146 }
15147 }
15148 #[inline]
15149 fn syntax(&self) -> &SyntaxNode {
15150 &self.syntax
15151 }
15152}
15153impl AstNode for DropSchema {
15154 #[inline]
15155 fn can_cast(kind: SyntaxKind) -> bool {
15156 kind == SyntaxKind::DROP_SCHEMA
15157 }
15158 #[inline]
15159 fn cast(syntax: SyntaxNode) -> Option<Self> {
15160 if Self::can_cast(syntax.kind()) {
15161 Some(Self { syntax })
15162 } else {
15163 None
15164 }
15165 }
15166 #[inline]
15167 fn syntax(&self) -> &SyntaxNode {
15168 &self.syntax
15169 }
15170}
15171impl AstNode for DropSequence {
15172 #[inline]
15173 fn can_cast(kind: SyntaxKind) -> bool {
15174 kind == SyntaxKind::DROP_SEQUENCE
15175 }
15176 #[inline]
15177 fn cast(syntax: SyntaxNode) -> Option<Self> {
15178 if Self::can_cast(syntax.kind()) {
15179 Some(Self { syntax })
15180 } else {
15181 None
15182 }
15183 }
15184 #[inline]
15185 fn syntax(&self) -> &SyntaxNode {
15186 &self.syntax
15187 }
15188}
15189impl AstNode for DropServer {
15190 #[inline]
15191 fn can_cast(kind: SyntaxKind) -> bool {
15192 kind == SyntaxKind::DROP_SERVER
15193 }
15194 #[inline]
15195 fn cast(syntax: SyntaxNode) -> Option<Self> {
15196 if Self::can_cast(syntax.kind()) {
15197 Some(Self { syntax })
15198 } else {
15199 None
15200 }
15201 }
15202 #[inline]
15203 fn syntax(&self) -> &SyntaxNode {
15204 &self.syntax
15205 }
15206}
15207impl AstNode for DropStatistics {
15208 #[inline]
15209 fn can_cast(kind: SyntaxKind) -> bool {
15210 kind == SyntaxKind::DROP_STATISTICS
15211 }
15212 #[inline]
15213 fn cast(syntax: SyntaxNode) -> Option<Self> {
15214 if Self::can_cast(syntax.kind()) {
15215 Some(Self { syntax })
15216 } else {
15217 None
15218 }
15219 }
15220 #[inline]
15221 fn syntax(&self) -> &SyntaxNode {
15222 &self.syntax
15223 }
15224}
15225impl AstNode for DropSubscription {
15226 #[inline]
15227 fn can_cast(kind: SyntaxKind) -> bool {
15228 kind == SyntaxKind::DROP_SUBSCRIPTION
15229 }
15230 #[inline]
15231 fn cast(syntax: SyntaxNode) -> Option<Self> {
15232 if Self::can_cast(syntax.kind()) {
15233 Some(Self { syntax })
15234 } else {
15235 None
15236 }
15237 }
15238 #[inline]
15239 fn syntax(&self) -> &SyntaxNode {
15240 &self.syntax
15241 }
15242}
15243impl AstNode for DropTable {
15244 #[inline]
15245 fn can_cast(kind: SyntaxKind) -> bool {
15246 kind == SyntaxKind::DROP_TABLE
15247 }
15248 #[inline]
15249 fn cast(syntax: SyntaxNode) -> Option<Self> {
15250 if Self::can_cast(syntax.kind()) {
15251 Some(Self { syntax })
15252 } else {
15253 None
15254 }
15255 }
15256 #[inline]
15257 fn syntax(&self) -> &SyntaxNode {
15258 &self.syntax
15259 }
15260}
15261impl AstNode for DropTablespace {
15262 #[inline]
15263 fn can_cast(kind: SyntaxKind) -> bool {
15264 kind == SyntaxKind::DROP_TABLESPACE
15265 }
15266 #[inline]
15267 fn cast(syntax: SyntaxNode) -> Option<Self> {
15268 if Self::can_cast(syntax.kind()) {
15269 Some(Self { syntax })
15270 } else {
15271 None
15272 }
15273 }
15274 #[inline]
15275 fn syntax(&self) -> &SyntaxNode {
15276 &self.syntax
15277 }
15278}
15279impl AstNode for DropTextSearchConfig {
15280 #[inline]
15281 fn can_cast(kind: SyntaxKind) -> bool {
15282 kind == SyntaxKind::DROP_TEXT_SEARCH_CONFIG
15283 }
15284 #[inline]
15285 fn cast(syntax: SyntaxNode) -> Option<Self> {
15286 if Self::can_cast(syntax.kind()) {
15287 Some(Self { syntax })
15288 } else {
15289 None
15290 }
15291 }
15292 #[inline]
15293 fn syntax(&self) -> &SyntaxNode {
15294 &self.syntax
15295 }
15296}
15297impl AstNode for DropTextSearchDict {
15298 #[inline]
15299 fn can_cast(kind: SyntaxKind) -> bool {
15300 kind == SyntaxKind::DROP_TEXT_SEARCH_DICT
15301 }
15302 #[inline]
15303 fn cast(syntax: SyntaxNode) -> Option<Self> {
15304 if Self::can_cast(syntax.kind()) {
15305 Some(Self { syntax })
15306 } else {
15307 None
15308 }
15309 }
15310 #[inline]
15311 fn syntax(&self) -> &SyntaxNode {
15312 &self.syntax
15313 }
15314}
15315impl AstNode for DropTextSearchParser {
15316 #[inline]
15317 fn can_cast(kind: SyntaxKind) -> bool {
15318 kind == SyntaxKind::DROP_TEXT_SEARCH_PARSER
15319 }
15320 #[inline]
15321 fn cast(syntax: SyntaxNode) -> Option<Self> {
15322 if Self::can_cast(syntax.kind()) {
15323 Some(Self { syntax })
15324 } else {
15325 None
15326 }
15327 }
15328 #[inline]
15329 fn syntax(&self) -> &SyntaxNode {
15330 &self.syntax
15331 }
15332}
15333impl AstNode for DropTextSearchTemplate {
15334 #[inline]
15335 fn can_cast(kind: SyntaxKind) -> bool {
15336 kind == SyntaxKind::DROP_TEXT_SEARCH_TEMPLATE
15337 }
15338 #[inline]
15339 fn cast(syntax: SyntaxNode) -> Option<Self> {
15340 if Self::can_cast(syntax.kind()) {
15341 Some(Self { syntax })
15342 } else {
15343 None
15344 }
15345 }
15346 #[inline]
15347 fn syntax(&self) -> &SyntaxNode {
15348 &self.syntax
15349 }
15350}
15351impl AstNode for DropTransform {
15352 #[inline]
15353 fn can_cast(kind: SyntaxKind) -> bool {
15354 kind == SyntaxKind::DROP_TRANSFORM
15355 }
15356 #[inline]
15357 fn cast(syntax: SyntaxNode) -> Option<Self> {
15358 if Self::can_cast(syntax.kind()) {
15359 Some(Self { syntax })
15360 } else {
15361 None
15362 }
15363 }
15364 #[inline]
15365 fn syntax(&self) -> &SyntaxNode {
15366 &self.syntax
15367 }
15368}
15369impl AstNode for DropTrigger {
15370 #[inline]
15371 fn can_cast(kind: SyntaxKind) -> bool {
15372 kind == SyntaxKind::DROP_TRIGGER
15373 }
15374 #[inline]
15375 fn cast(syntax: SyntaxNode) -> Option<Self> {
15376 if Self::can_cast(syntax.kind()) {
15377 Some(Self { syntax })
15378 } else {
15379 None
15380 }
15381 }
15382 #[inline]
15383 fn syntax(&self) -> &SyntaxNode {
15384 &self.syntax
15385 }
15386}
15387impl AstNode for DropType {
15388 #[inline]
15389 fn can_cast(kind: SyntaxKind) -> bool {
15390 kind == SyntaxKind::DROP_TYPE
15391 }
15392 #[inline]
15393 fn cast(syntax: SyntaxNode) -> Option<Self> {
15394 if Self::can_cast(syntax.kind()) {
15395 Some(Self { syntax })
15396 } else {
15397 None
15398 }
15399 }
15400 #[inline]
15401 fn syntax(&self) -> &SyntaxNode {
15402 &self.syntax
15403 }
15404}
15405impl AstNode for DropUser {
15406 #[inline]
15407 fn can_cast(kind: SyntaxKind) -> bool {
15408 kind == SyntaxKind::DROP_USER
15409 }
15410 #[inline]
15411 fn cast(syntax: SyntaxNode) -> Option<Self> {
15412 if Self::can_cast(syntax.kind()) {
15413 Some(Self { syntax })
15414 } else {
15415 None
15416 }
15417 }
15418 #[inline]
15419 fn syntax(&self) -> &SyntaxNode {
15420 &self.syntax
15421 }
15422}
15423impl AstNode for DropUserMapping {
15424 #[inline]
15425 fn can_cast(kind: SyntaxKind) -> bool {
15426 kind == SyntaxKind::DROP_USER_MAPPING
15427 }
15428 #[inline]
15429 fn cast(syntax: SyntaxNode) -> Option<Self> {
15430 if Self::can_cast(syntax.kind()) {
15431 Some(Self { syntax })
15432 } else {
15433 None
15434 }
15435 }
15436 #[inline]
15437 fn syntax(&self) -> &SyntaxNode {
15438 &self.syntax
15439 }
15440}
15441impl AstNode for DropView {
15442 #[inline]
15443 fn can_cast(kind: SyntaxKind) -> bool {
15444 kind == SyntaxKind::DROP_VIEW
15445 }
15446 #[inline]
15447 fn cast(syntax: SyntaxNode) -> Option<Self> {
15448 if Self::can_cast(syntax.kind()) {
15449 Some(Self { syntax })
15450 } else {
15451 None
15452 }
15453 }
15454 #[inline]
15455 fn syntax(&self) -> &SyntaxNode {
15456 &self.syntax
15457 }
15458}
15459impl AstNode for ElseClause {
15460 #[inline]
15461 fn can_cast(kind: SyntaxKind) -> bool {
15462 kind == SyntaxKind::ELSE_CLAUSE
15463 }
15464 #[inline]
15465 fn cast(syntax: SyntaxNode) -> Option<Self> {
15466 if Self::can_cast(syntax.kind()) {
15467 Some(Self { syntax })
15468 } else {
15469 None
15470 }
15471 }
15472 #[inline]
15473 fn syntax(&self) -> &SyntaxNode {
15474 &self.syntax
15475 }
15476}
15477impl AstNode for EnableAlwaysRule {
15478 #[inline]
15479 fn can_cast(kind: SyntaxKind) -> bool {
15480 kind == SyntaxKind::ENABLE_ALWAYS_RULE
15481 }
15482 #[inline]
15483 fn cast(syntax: SyntaxNode) -> Option<Self> {
15484 if Self::can_cast(syntax.kind()) {
15485 Some(Self { syntax })
15486 } else {
15487 None
15488 }
15489 }
15490 #[inline]
15491 fn syntax(&self) -> &SyntaxNode {
15492 &self.syntax
15493 }
15494}
15495impl AstNode for EnableAlwaysTrigger {
15496 #[inline]
15497 fn can_cast(kind: SyntaxKind) -> bool {
15498 kind == SyntaxKind::ENABLE_ALWAYS_TRIGGER
15499 }
15500 #[inline]
15501 fn cast(syntax: SyntaxNode) -> Option<Self> {
15502 if Self::can_cast(syntax.kind()) {
15503 Some(Self { syntax })
15504 } else {
15505 None
15506 }
15507 }
15508 #[inline]
15509 fn syntax(&self) -> &SyntaxNode {
15510 &self.syntax
15511 }
15512}
15513impl AstNode for EnableReplicaRule {
15514 #[inline]
15515 fn can_cast(kind: SyntaxKind) -> bool {
15516 kind == SyntaxKind::ENABLE_REPLICA_RULE
15517 }
15518 #[inline]
15519 fn cast(syntax: SyntaxNode) -> Option<Self> {
15520 if Self::can_cast(syntax.kind()) {
15521 Some(Self { syntax })
15522 } else {
15523 None
15524 }
15525 }
15526 #[inline]
15527 fn syntax(&self) -> &SyntaxNode {
15528 &self.syntax
15529 }
15530}
15531impl AstNode for EnableReplicaTrigger {
15532 #[inline]
15533 fn can_cast(kind: SyntaxKind) -> bool {
15534 kind == SyntaxKind::ENABLE_REPLICA_TRIGGER
15535 }
15536 #[inline]
15537 fn cast(syntax: SyntaxNode) -> Option<Self> {
15538 if Self::can_cast(syntax.kind()) {
15539 Some(Self { syntax })
15540 } else {
15541 None
15542 }
15543 }
15544 #[inline]
15545 fn syntax(&self) -> &SyntaxNode {
15546 &self.syntax
15547 }
15548}
15549impl AstNode for EnableRls {
15550 #[inline]
15551 fn can_cast(kind: SyntaxKind) -> bool {
15552 kind == SyntaxKind::ENABLE_RLS
15553 }
15554 #[inline]
15555 fn cast(syntax: SyntaxNode) -> Option<Self> {
15556 if Self::can_cast(syntax.kind()) {
15557 Some(Self { syntax })
15558 } else {
15559 None
15560 }
15561 }
15562 #[inline]
15563 fn syntax(&self) -> &SyntaxNode {
15564 &self.syntax
15565 }
15566}
15567impl AstNode for EnableRule {
15568 #[inline]
15569 fn can_cast(kind: SyntaxKind) -> bool {
15570 kind == SyntaxKind::ENABLE_RULE
15571 }
15572 #[inline]
15573 fn cast(syntax: SyntaxNode) -> Option<Self> {
15574 if Self::can_cast(syntax.kind()) {
15575 Some(Self { syntax })
15576 } else {
15577 None
15578 }
15579 }
15580 #[inline]
15581 fn syntax(&self) -> &SyntaxNode {
15582 &self.syntax
15583 }
15584}
15585impl AstNode for EnableTrigger {
15586 #[inline]
15587 fn can_cast(kind: SyntaxKind) -> bool {
15588 kind == SyntaxKind::ENABLE_TRIGGER
15589 }
15590 #[inline]
15591 fn cast(syntax: SyntaxNode) -> Option<Self> {
15592 if Self::can_cast(syntax.kind()) {
15593 Some(Self { syntax })
15594 } else {
15595 None
15596 }
15597 }
15598 #[inline]
15599 fn syntax(&self) -> &SyntaxNode {
15600 &self.syntax
15601 }
15602}
15603impl AstNode for Enforced {
15604 #[inline]
15605 fn can_cast(kind: SyntaxKind) -> bool {
15606 kind == SyntaxKind::ENFORCED
15607 }
15608 #[inline]
15609 fn cast(syntax: SyntaxNode) -> Option<Self> {
15610 if Self::can_cast(syntax.kind()) {
15611 Some(Self { syntax })
15612 } else {
15613 None
15614 }
15615 }
15616 #[inline]
15617 fn syntax(&self) -> &SyntaxNode {
15618 &self.syntax
15619 }
15620}
15621impl AstNode for ExcludeConstraint {
15622 #[inline]
15623 fn can_cast(kind: SyntaxKind) -> bool {
15624 kind == SyntaxKind::EXCLUDE_CONSTRAINT
15625 }
15626 #[inline]
15627 fn cast(syntax: SyntaxNode) -> Option<Self> {
15628 if Self::can_cast(syntax.kind()) {
15629 Some(Self { syntax })
15630 } else {
15631 None
15632 }
15633 }
15634 #[inline]
15635 fn syntax(&self) -> &SyntaxNode {
15636 &self.syntax
15637 }
15638}
15639impl AstNode for Execute {
15640 #[inline]
15641 fn can_cast(kind: SyntaxKind) -> bool {
15642 kind == SyntaxKind::EXECUTE
15643 }
15644 #[inline]
15645 fn cast(syntax: SyntaxNode) -> Option<Self> {
15646 if Self::can_cast(syntax.kind()) {
15647 Some(Self { syntax })
15648 } else {
15649 None
15650 }
15651 }
15652 #[inline]
15653 fn syntax(&self) -> &SyntaxNode {
15654 &self.syntax
15655 }
15656}
15657impl AstNode for Explain {
15658 #[inline]
15659 fn can_cast(kind: SyntaxKind) -> bool {
15660 kind == SyntaxKind::EXPLAIN
15661 }
15662 #[inline]
15663 fn cast(syntax: SyntaxNode) -> Option<Self> {
15664 if Self::can_cast(syntax.kind()) {
15665 Some(Self { syntax })
15666 } else {
15667 None
15668 }
15669 }
15670 #[inline]
15671 fn syntax(&self) -> &SyntaxNode {
15672 &self.syntax
15673 }
15674}
15675impl AstNode for ExprType {
15676 #[inline]
15677 fn can_cast(kind: SyntaxKind) -> bool {
15678 kind == SyntaxKind::EXPR_TYPE
15679 }
15680 #[inline]
15681 fn cast(syntax: SyntaxNode) -> Option<Self> {
15682 if Self::can_cast(syntax.kind()) {
15683 Some(Self { syntax })
15684 } else {
15685 None
15686 }
15687 }
15688 #[inline]
15689 fn syntax(&self) -> &SyntaxNode {
15690 &self.syntax
15691 }
15692}
15693impl AstNode for FatArrow {
15694 #[inline]
15695 fn can_cast(kind: SyntaxKind) -> bool {
15696 kind == SyntaxKind::FAT_ARROW
15697 }
15698 #[inline]
15699 fn cast(syntax: SyntaxNode) -> Option<Self> {
15700 if Self::can_cast(syntax.kind()) {
15701 Some(Self { syntax })
15702 } else {
15703 None
15704 }
15705 }
15706 #[inline]
15707 fn syntax(&self) -> &SyntaxNode {
15708 &self.syntax
15709 }
15710}
15711impl AstNode for Fetch {
15712 #[inline]
15713 fn can_cast(kind: SyntaxKind) -> bool {
15714 kind == SyntaxKind::FETCH
15715 }
15716 #[inline]
15717 fn cast(syntax: SyntaxNode) -> Option<Self> {
15718 if Self::can_cast(syntax.kind()) {
15719 Some(Self { syntax })
15720 } else {
15721 None
15722 }
15723 }
15724 #[inline]
15725 fn syntax(&self) -> &SyntaxNode {
15726 &self.syntax
15727 }
15728}
15729impl AstNode for FetchClause {
15730 #[inline]
15731 fn can_cast(kind: SyntaxKind) -> bool {
15732 kind == SyntaxKind::FETCH_CLAUSE
15733 }
15734 #[inline]
15735 fn cast(syntax: SyntaxNode) -> Option<Self> {
15736 if Self::can_cast(syntax.kind()) {
15737 Some(Self { syntax })
15738 } else {
15739 None
15740 }
15741 }
15742 #[inline]
15743 fn syntax(&self) -> &SyntaxNode {
15744 &self.syntax
15745 }
15746}
15747impl AstNode for FieldExpr {
15748 #[inline]
15749 fn can_cast(kind: SyntaxKind) -> bool {
15750 kind == SyntaxKind::FIELD_EXPR
15751 }
15752 #[inline]
15753 fn cast(syntax: SyntaxNode) -> Option<Self> {
15754 if Self::can_cast(syntax.kind()) {
15755 Some(Self { syntax })
15756 } else {
15757 None
15758 }
15759 }
15760 #[inline]
15761 fn syntax(&self) -> &SyntaxNode {
15762 &self.syntax
15763 }
15764}
15765impl AstNode for FilterClause {
15766 #[inline]
15767 fn can_cast(kind: SyntaxKind) -> bool {
15768 kind == SyntaxKind::FILTER_CLAUSE
15769 }
15770 #[inline]
15771 fn cast(syntax: SyntaxNode) -> Option<Self> {
15772 if Self::can_cast(syntax.kind()) {
15773 Some(Self { syntax })
15774 } else {
15775 None
15776 }
15777 }
15778 #[inline]
15779 fn syntax(&self) -> &SyntaxNode {
15780 &self.syntax
15781 }
15782}
15783impl AstNode for ForceRls {
15784 #[inline]
15785 fn can_cast(kind: SyntaxKind) -> bool {
15786 kind == SyntaxKind::FORCE_RLS
15787 }
15788 #[inline]
15789 fn cast(syntax: SyntaxNode) -> Option<Self> {
15790 if Self::can_cast(syntax.kind()) {
15791 Some(Self { syntax })
15792 } else {
15793 None
15794 }
15795 }
15796 #[inline]
15797 fn syntax(&self) -> &SyntaxNode {
15798 &self.syntax
15799 }
15800}
15801impl AstNode for ForeignKeyConstraint {
15802 #[inline]
15803 fn can_cast(kind: SyntaxKind) -> bool {
15804 kind == SyntaxKind::FOREIGN_KEY_CONSTRAINT
15805 }
15806 #[inline]
15807 fn cast(syntax: SyntaxNode) -> Option<Self> {
15808 if Self::can_cast(syntax.kind()) {
15809 Some(Self { syntax })
15810 } else {
15811 None
15812 }
15813 }
15814 #[inline]
15815 fn syntax(&self) -> &SyntaxNode {
15816 &self.syntax
15817 }
15818}
15819impl AstNode for FrameClause {
15820 #[inline]
15821 fn can_cast(kind: SyntaxKind) -> bool {
15822 kind == SyntaxKind::FRAME_CLAUSE
15823 }
15824 #[inline]
15825 fn cast(syntax: SyntaxNode) -> Option<Self> {
15826 if Self::can_cast(syntax.kind()) {
15827 Some(Self { syntax })
15828 } else {
15829 None
15830 }
15831 }
15832 #[inline]
15833 fn syntax(&self) -> &SyntaxNode {
15834 &self.syntax
15835 }
15836}
15837impl AstNode for FromClause {
15838 #[inline]
15839 fn can_cast(kind: SyntaxKind) -> bool {
15840 kind == SyntaxKind::FROM_CLAUSE
15841 }
15842 #[inline]
15843 fn cast(syntax: SyntaxNode) -> Option<Self> {
15844 if Self::can_cast(syntax.kind()) {
15845 Some(Self { syntax })
15846 } else {
15847 None
15848 }
15849 }
15850 #[inline]
15851 fn syntax(&self) -> &SyntaxNode {
15852 &self.syntax
15853 }
15854}
15855impl AstNode for FromItem {
15856 #[inline]
15857 fn can_cast(kind: SyntaxKind) -> bool {
15858 kind == SyntaxKind::FROM_ITEM
15859 }
15860 #[inline]
15861 fn cast(syntax: SyntaxNode) -> Option<Self> {
15862 if Self::can_cast(syntax.kind()) {
15863 Some(Self { syntax })
15864 } else {
15865 None
15866 }
15867 }
15868 #[inline]
15869 fn syntax(&self) -> &SyntaxNode {
15870 &self.syntax
15871 }
15872}
15873impl AstNode for FuncOptionList {
15874 #[inline]
15875 fn can_cast(kind: SyntaxKind) -> bool {
15876 kind == SyntaxKind::FUNC_OPTION_LIST
15877 }
15878 #[inline]
15879 fn cast(syntax: SyntaxNode) -> Option<Self> {
15880 if Self::can_cast(syntax.kind()) {
15881 Some(Self { syntax })
15882 } else {
15883 None
15884 }
15885 }
15886 #[inline]
15887 fn syntax(&self) -> &SyntaxNode {
15888 &self.syntax
15889 }
15890}
15891impl AstNode for FunctionSig {
15892 #[inline]
15893 fn can_cast(kind: SyntaxKind) -> bool {
15894 kind == SyntaxKind::FUNCTION_SIG
15895 }
15896 #[inline]
15897 fn cast(syntax: SyntaxNode) -> Option<Self> {
15898 if Self::can_cast(syntax.kind()) {
15899 Some(Self { syntax })
15900 } else {
15901 None
15902 }
15903 }
15904 #[inline]
15905 fn syntax(&self) -> &SyntaxNode {
15906 &self.syntax
15907 }
15908}
15909impl AstNode for FunctionSigList {
15910 #[inline]
15911 fn can_cast(kind: SyntaxKind) -> bool {
15912 kind == SyntaxKind::FUNCTION_SIG_LIST
15913 }
15914 #[inline]
15915 fn cast(syntax: SyntaxNode) -> Option<Self> {
15916 if Self::can_cast(syntax.kind()) {
15917 Some(Self { syntax })
15918 } else {
15919 None
15920 }
15921 }
15922 #[inline]
15923 fn syntax(&self) -> &SyntaxNode {
15924 &self.syntax
15925 }
15926}
15927impl AstNode for GeneratedConstraint {
15928 #[inline]
15929 fn can_cast(kind: SyntaxKind) -> bool {
15930 kind == SyntaxKind::GENERATED_CONSTRAINT
15931 }
15932 #[inline]
15933 fn cast(syntax: SyntaxNode) -> Option<Self> {
15934 if Self::can_cast(syntax.kind()) {
15935 Some(Self { syntax })
15936 } else {
15937 None
15938 }
15939 }
15940 #[inline]
15941 fn syntax(&self) -> &SyntaxNode {
15942 &self.syntax
15943 }
15944}
15945impl AstNode for Grant {
15946 #[inline]
15947 fn can_cast(kind: SyntaxKind) -> bool {
15948 kind == SyntaxKind::GRANT
15949 }
15950 #[inline]
15951 fn cast(syntax: SyntaxNode) -> Option<Self> {
15952 if Self::can_cast(syntax.kind()) {
15953 Some(Self { syntax })
15954 } else {
15955 None
15956 }
15957 }
15958 #[inline]
15959 fn syntax(&self) -> &SyntaxNode {
15960 &self.syntax
15961 }
15962}
15963impl AstNode for GroupByClause {
15964 #[inline]
15965 fn can_cast(kind: SyntaxKind) -> bool {
15966 kind == SyntaxKind::GROUP_BY_CLAUSE
15967 }
15968 #[inline]
15969 fn cast(syntax: SyntaxNode) -> Option<Self> {
15970 if Self::can_cast(syntax.kind()) {
15971 Some(Self { syntax })
15972 } else {
15973 None
15974 }
15975 }
15976 #[inline]
15977 fn syntax(&self) -> &SyntaxNode {
15978 &self.syntax
15979 }
15980}
15981impl AstNode for GroupByList {
15982 #[inline]
15983 fn can_cast(kind: SyntaxKind) -> bool {
15984 kind == SyntaxKind::GROUP_BY_LIST
15985 }
15986 #[inline]
15987 fn cast(syntax: SyntaxNode) -> Option<Self> {
15988 if Self::can_cast(syntax.kind()) {
15989 Some(Self { syntax })
15990 } else {
15991 None
15992 }
15993 }
15994 #[inline]
15995 fn syntax(&self) -> &SyntaxNode {
15996 &self.syntax
15997 }
15998}
15999impl AstNode for GroupingCube {
16000 #[inline]
16001 fn can_cast(kind: SyntaxKind) -> bool {
16002 kind == SyntaxKind::GROUPING_CUBE
16003 }
16004 #[inline]
16005 fn cast(syntax: SyntaxNode) -> Option<Self> {
16006 if Self::can_cast(syntax.kind()) {
16007 Some(Self { syntax })
16008 } else {
16009 None
16010 }
16011 }
16012 #[inline]
16013 fn syntax(&self) -> &SyntaxNode {
16014 &self.syntax
16015 }
16016}
16017impl AstNode for GroupingExpr {
16018 #[inline]
16019 fn can_cast(kind: SyntaxKind) -> bool {
16020 kind == SyntaxKind::GROUPING_EXPR
16021 }
16022 #[inline]
16023 fn cast(syntax: SyntaxNode) -> Option<Self> {
16024 if Self::can_cast(syntax.kind()) {
16025 Some(Self { syntax })
16026 } else {
16027 None
16028 }
16029 }
16030 #[inline]
16031 fn syntax(&self) -> &SyntaxNode {
16032 &self.syntax
16033 }
16034}
16035impl AstNode for GroupingRollup {
16036 #[inline]
16037 fn can_cast(kind: SyntaxKind) -> bool {
16038 kind == SyntaxKind::GROUPING_ROLLUP
16039 }
16040 #[inline]
16041 fn cast(syntax: SyntaxNode) -> Option<Self> {
16042 if Self::can_cast(syntax.kind()) {
16043 Some(Self { syntax })
16044 } else {
16045 None
16046 }
16047 }
16048 #[inline]
16049 fn syntax(&self) -> &SyntaxNode {
16050 &self.syntax
16051 }
16052}
16053impl AstNode for GroupingSets {
16054 #[inline]
16055 fn can_cast(kind: SyntaxKind) -> bool {
16056 kind == SyntaxKind::GROUPING_SETS
16057 }
16058 #[inline]
16059 fn cast(syntax: SyntaxNode) -> Option<Self> {
16060 if Self::can_cast(syntax.kind()) {
16061 Some(Self { syntax })
16062 } else {
16063 None
16064 }
16065 }
16066 #[inline]
16067 fn syntax(&self) -> &SyntaxNode {
16068 &self.syntax
16069 }
16070}
16071impl AstNode for Gteq {
16072 #[inline]
16073 fn can_cast(kind: SyntaxKind) -> bool {
16074 kind == SyntaxKind::GTEQ
16075 }
16076 #[inline]
16077 fn cast(syntax: SyntaxNode) -> Option<Self> {
16078 if Self::can_cast(syntax.kind()) {
16079 Some(Self { syntax })
16080 } else {
16081 None
16082 }
16083 }
16084 #[inline]
16085 fn syntax(&self) -> &SyntaxNode {
16086 &self.syntax
16087 }
16088}
16089impl AstNode for HavingClause {
16090 #[inline]
16091 fn can_cast(kind: SyntaxKind) -> bool {
16092 kind == SyntaxKind::HAVING_CLAUSE
16093 }
16094 #[inline]
16095 fn cast(syntax: SyntaxNode) -> Option<Self> {
16096 if Self::can_cast(syntax.kind()) {
16097 Some(Self { syntax })
16098 } else {
16099 None
16100 }
16101 }
16102 #[inline]
16103 fn syntax(&self) -> &SyntaxNode {
16104 &self.syntax
16105 }
16106}
16107impl AstNode for IfExists {
16108 #[inline]
16109 fn can_cast(kind: SyntaxKind) -> bool {
16110 kind == SyntaxKind::IF_EXISTS
16111 }
16112 #[inline]
16113 fn cast(syntax: SyntaxNode) -> Option<Self> {
16114 if Self::can_cast(syntax.kind()) {
16115 Some(Self { syntax })
16116 } else {
16117 None
16118 }
16119 }
16120 #[inline]
16121 fn syntax(&self) -> &SyntaxNode {
16122 &self.syntax
16123 }
16124}
16125impl AstNode for IfNotExists {
16126 #[inline]
16127 fn can_cast(kind: SyntaxKind) -> bool {
16128 kind == SyntaxKind::IF_NOT_EXISTS
16129 }
16130 #[inline]
16131 fn cast(syntax: SyntaxNode) -> Option<Self> {
16132 if Self::can_cast(syntax.kind()) {
16133 Some(Self { syntax })
16134 } else {
16135 None
16136 }
16137 }
16138 #[inline]
16139 fn syntax(&self) -> &SyntaxNode {
16140 &self.syntax
16141 }
16142}
16143impl AstNode for ImportForeignSchema {
16144 #[inline]
16145 fn can_cast(kind: SyntaxKind) -> bool {
16146 kind == SyntaxKind::IMPORT_FOREIGN_SCHEMA
16147 }
16148 #[inline]
16149 fn cast(syntax: SyntaxNode) -> Option<Self> {
16150 if Self::can_cast(syntax.kind()) {
16151 Some(Self { syntax })
16152 } else {
16153 None
16154 }
16155 }
16156 #[inline]
16157 fn syntax(&self) -> &SyntaxNode {
16158 &self.syntax
16159 }
16160}
16161impl AstNode for IndexExpr {
16162 #[inline]
16163 fn can_cast(kind: SyntaxKind) -> bool {
16164 kind == SyntaxKind::INDEX_EXPR
16165 }
16166 #[inline]
16167 fn cast(syntax: SyntaxNode) -> Option<Self> {
16168 if Self::can_cast(syntax.kind()) {
16169 Some(Self { syntax })
16170 } else {
16171 None
16172 }
16173 }
16174 #[inline]
16175 fn syntax(&self) -> &SyntaxNode {
16176 &self.syntax
16177 }
16178}
16179impl AstNode for Inherit {
16180 #[inline]
16181 fn can_cast(kind: SyntaxKind) -> bool {
16182 kind == SyntaxKind::INHERIT
16183 }
16184 #[inline]
16185 fn cast(syntax: SyntaxNode) -> Option<Self> {
16186 if Self::can_cast(syntax.kind()) {
16187 Some(Self { syntax })
16188 } else {
16189 None
16190 }
16191 }
16192 #[inline]
16193 fn syntax(&self) -> &SyntaxNode {
16194 &self.syntax
16195 }
16196}
16197impl AstNode for InheritTable {
16198 #[inline]
16199 fn can_cast(kind: SyntaxKind) -> bool {
16200 kind == SyntaxKind::INHERIT_TABLE
16201 }
16202 #[inline]
16203 fn cast(syntax: SyntaxNode) -> Option<Self> {
16204 if Self::can_cast(syntax.kind()) {
16205 Some(Self { syntax })
16206 } else {
16207 None
16208 }
16209 }
16210 #[inline]
16211 fn syntax(&self) -> &SyntaxNode {
16212 &self.syntax
16213 }
16214}
16215impl AstNode for Inherits {
16216 #[inline]
16217 fn can_cast(kind: SyntaxKind) -> bool {
16218 kind == SyntaxKind::INHERITS
16219 }
16220 #[inline]
16221 fn cast(syntax: SyntaxNode) -> Option<Self> {
16222 if Self::can_cast(syntax.kind()) {
16223 Some(Self { syntax })
16224 } else {
16225 None
16226 }
16227 }
16228 #[inline]
16229 fn syntax(&self) -> &SyntaxNode {
16230 &self.syntax
16231 }
16232}
16233impl AstNode for InitiallyDeferredConstraintOption {
16234 #[inline]
16235 fn can_cast(kind: SyntaxKind) -> bool {
16236 kind == SyntaxKind::INITIALLY_DEFERRED_CONSTRAINT_OPTION
16237 }
16238 #[inline]
16239 fn cast(syntax: SyntaxNode) -> Option<Self> {
16240 if Self::can_cast(syntax.kind()) {
16241 Some(Self { syntax })
16242 } else {
16243 None
16244 }
16245 }
16246 #[inline]
16247 fn syntax(&self) -> &SyntaxNode {
16248 &self.syntax
16249 }
16250}
16251impl AstNode for InitiallyImmediateConstraintOption {
16252 #[inline]
16253 fn can_cast(kind: SyntaxKind) -> bool {
16254 kind == SyntaxKind::INITIALLY_IMMEDIATE_CONSTRAINT_OPTION
16255 }
16256 #[inline]
16257 fn cast(syntax: SyntaxNode) -> Option<Self> {
16258 if Self::can_cast(syntax.kind()) {
16259 Some(Self { syntax })
16260 } else {
16261 None
16262 }
16263 }
16264 #[inline]
16265 fn syntax(&self) -> &SyntaxNode {
16266 &self.syntax
16267 }
16268}
16269impl AstNode for Insert {
16270 #[inline]
16271 fn can_cast(kind: SyntaxKind) -> bool {
16272 kind == SyntaxKind::INSERT
16273 }
16274 #[inline]
16275 fn cast(syntax: SyntaxNode) -> Option<Self> {
16276 if Self::can_cast(syntax.kind()) {
16277 Some(Self { syntax })
16278 } else {
16279 None
16280 }
16281 }
16282 #[inline]
16283 fn syntax(&self) -> &SyntaxNode {
16284 &self.syntax
16285 }
16286}
16287impl AstNode for IntervalType {
16288 #[inline]
16289 fn can_cast(kind: SyntaxKind) -> bool {
16290 kind == SyntaxKind::INTERVAL_TYPE
16291 }
16292 #[inline]
16293 fn cast(syntax: SyntaxNode) -> Option<Self> {
16294 if Self::can_cast(syntax.kind()) {
16295 Some(Self { syntax })
16296 } else {
16297 None
16298 }
16299 }
16300 #[inline]
16301 fn syntax(&self) -> &SyntaxNode {
16302 &self.syntax
16303 }
16304}
16305impl AstNode for IntoClause {
16306 #[inline]
16307 fn can_cast(kind: SyntaxKind) -> bool {
16308 kind == SyntaxKind::INTO_CLAUSE
16309 }
16310 #[inline]
16311 fn cast(syntax: SyntaxNode) -> Option<Self> {
16312 if Self::can_cast(syntax.kind()) {
16313 Some(Self { syntax })
16314 } else {
16315 None
16316 }
16317 }
16318 #[inline]
16319 fn syntax(&self) -> &SyntaxNode {
16320 &self.syntax
16321 }
16322}
16323impl AstNode for IsDistinctFrom {
16324 #[inline]
16325 fn can_cast(kind: SyntaxKind) -> bool {
16326 kind == SyntaxKind::IS_DISTINCT_FROM
16327 }
16328 #[inline]
16329 fn cast(syntax: SyntaxNode) -> Option<Self> {
16330 if Self::can_cast(syntax.kind()) {
16331 Some(Self { syntax })
16332 } else {
16333 None
16334 }
16335 }
16336 #[inline]
16337 fn syntax(&self) -> &SyntaxNode {
16338 &self.syntax
16339 }
16340}
16341impl AstNode for IsJson {
16342 #[inline]
16343 fn can_cast(kind: SyntaxKind) -> bool {
16344 kind == SyntaxKind::IS_JSON
16345 }
16346 #[inline]
16347 fn cast(syntax: SyntaxNode) -> Option<Self> {
16348 if Self::can_cast(syntax.kind()) {
16349 Some(Self { syntax })
16350 } else {
16351 None
16352 }
16353 }
16354 #[inline]
16355 fn syntax(&self) -> &SyntaxNode {
16356 &self.syntax
16357 }
16358}
16359impl AstNode for IsJsonArray {
16360 #[inline]
16361 fn can_cast(kind: SyntaxKind) -> bool {
16362 kind == SyntaxKind::IS_JSON_ARRAY
16363 }
16364 #[inline]
16365 fn cast(syntax: SyntaxNode) -> Option<Self> {
16366 if Self::can_cast(syntax.kind()) {
16367 Some(Self { syntax })
16368 } else {
16369 None
16370 }
16371 }
16372 #[inline]
16373 fn syntax(&self) -> &SyntaxNode {
16374 &self.syntax
16375 }
16376}
16377impl AstNode for IsJsonObject {
16378 #[inline]
16379 fn can_cast(kind: SyntaxKind) -> bool {
16380 kind == SyntaxKind::IS_JSON_OBJECT
16381 }
16382 #[inline]
16383 fn cast(syntax: SyntaxNode) -> Option<Self> {
16384 if Self::can_cast(syntax.kind()) {
16385 Some(Self { syntax })
16386 } else {
16387 None
16388 }
16389 }
16390 #[inline]
16391 fn syntax(&self) -> &SyntaxNode {
16392 &self.syntax
16393 }
16394}
16395impl AstNode for IsJsonScalar {
16396 #[inline]
16397 fn can_cast(kind: SyntaxKind) -> bool {
16398 kind == SyntaxKind::IS_JSON_SCALAR
16399 }
16400 #[inline]
16401 fn cast(syntax: SyntaxNode) -> Option<Self> {
16402 if Self::can_cast(syntax.kind()) {
16403 Some(Self { syntax })
16404 } else {
16405 None
16406 }
16407 }
16408 #[inline]
16409 fn syntax(&self) -> &SyntaxNode {
16410 &self.syntax
16411 }
16412}
16413impl AstNode for IsJsonValue {
16414 #[inline]
16415 fn can_cast(kind: SyntaxKind) -> bool {
16416 kind == SyntaxKind::IS_JSON_VALUE
16417 }
16418 #[inline]
16419 fn cast(syntax: SyntaxNode) -> Option<Self> {
16420 if Self::can_cast(syntax.kind()) {
16421 Some(Self { syntax })
16422 } else {
16423 None
16424 }
16425 }
16426 #[inline]
16427 fn syntax(&self) -> &SyntaxNode {
16428 &self.syntax
16429 }
16430}
16431impl AstNode for IsNormalized {
16432 #[inline]
16433 fn can_cast(kind: SyntaxKind) -> bool {
16434 kind == SyntaxKind::IS_NORMALIZED
16435 }
16436 #[inline]
16437 fn cast(syntax: SyntaxNode) -> Option<Self> {
16438 if Self::can_cast(syntax.kind()) {
16439 Some(Self { syntax })
16440 } else {
16441 None
16442 }
16443 }
16444 #[inline]
16445 fn syntax(&self) -> &SyntaxNode {
16446 &self.syntax
16447 }
16448}
16449impl AstNode for IsNot {
16450 #[inline]
16451 fn can_cast(kind: SyntaxKind) -> bool {
16452 kind == SyntaxKind::IS_NOT
16453 }
16454 #[inline]
16455 fn cast(syntax: SyntaxNode) -> Option<Self> {
16456 if Self::can_cast(syntax.kind()) {
16457 Some(Self { syntax })
16458 } else {
16459 None
16460 }
16461 }
16462 #[inline]
16463 fn syntax(&self) -> &SyntaxNode {
16464 &self.syntax
16465 }
16466}
16467impl AstNode for IsNotDistinctFrom {
16468 #[inline]
16469 fn can_cast(kind: SyntaxKind) -> bool {
16470 kind == SyntaxKind::IS_NOT_DISTINCT_FROM
16471 }
16472 #[inline]
16473 fn cast(syntax: SyntaxNode) -> Option<Self> {
16474 if Self::can_cast(syntax.kind()) {
16475 Some(Self { syntax })
16476 } else {
16477 None
16478 }
16479 }
16480 #[inline]
16481 fn syntax(&self) -> &SyntaxNode {
16482 &self.syntax
16483 }
16484}
16485impl AstNode for IsNotJson {
16486 #[inline]
16487 fn can_cast(kind: SyntaxKind) -> bool {
16488 kind == SyntaxKind::IS_NOT_JSON
16489 }
16490 #[inline]
16491 fn cast(syntax: SyntaxNode) -> Option<Self> {
16492 if Self::can_cast(syntax.kind()) {
16493 Some(Self { syntax })
16494 } else {
16495 None
16496 }
16497 }
16498 #[inline]
16499 fn syntax(&self) -> &SyntaxNode {
16500 &self.syntax
16501 }
16502}
16503impl AstNode for IsNotJsonArray {
16504 #[inline]
16505 fn can_cast(kind: SyntaxKind) -> bool {
16506 kind == SyntaxKind::IS_NOT_JSON_ARRAY
16507 }
16508 #[inline]
16509 fn cast(syntax: SyntaxNode) -> Option<Self> {
16510 if Self::can_cast(syntax.kind()) {
16511 Some(Self { syntax })
16512 } else {
16513 None
16514 }
16515 }
16516 #[inline]
16517 fn syntax(&self) -> &SyntaxNode {
16518 &self.syntax
16519 }
16520}
16521impl AstNode for IsNotJsonObject {
16522 #[inline]
16523 fn can_cast(kind: SyntaxKind) -> bool {
16524 kind == SyntaxKind::IS_NOT_JSON_OBJECT
16525 }
16526 #[inline]
16527 fn cast(syntax: SyntaxNode) -> Option<Self> {
16528 if Self::can_cast(syntax.kind()) {
16529 Some(Self { syntax })
16530 } else {
16531 None
16532 }
16533 }
16534 #[inline]
16535 fn syntax(&self) -> &SyntaxNode {
16536 &self.syntax
16537 }
16538}
16539impl AstNode for IsNotJsonScalar {
16540 #[inline]
16541 fn can_cast(kind: SyntaxKind) -> bool {
16542 kind == SyntaxKind::IS_NOT_JSON_SCALAR
16543 }
16544 #[inline]
16545 fn cast(syntax: SyntaxNode) -> Option<Self> {
16546 if Self::can_cast(syntax.kind()) {
16547 Some(Self { syntax })
16548 } else {
16549 None
16550 }
16551 }
16552 #[inline]
16553 fn syntax(&self) -> &SyntaxNode {
16554 &self.syntax
16555 }
16556}
16557impl AstNode for IsNotJsonValue {
16558 #[inline]
16559 fn can_cast(kind: SyntaxKind) -> bool {
16560 kind == SyntaxKind::IS_NOT_JSON_VALUE
16561 }
16562 #[inline]
16563 fn cast(syntax: SyntaxNode) -> Option<Self> {
16564 if Self::can_cast(syntax.kind()) {
16565 Some(Self { syntax })
16566 } else {
16567 None
16568 }
16569 }
16570 #[inline]
16571 fn syntax(&self) -> &SyntaxNode {
16572 &self.syntax
16573 }
16574}
16575impl AstNode for IsNotNormalized {
16576 #[inline]
16577 fn can_cast(kind: SyntaxKind) -> bool {
16578 kind == SyntaxKind::IS_NOT_NORMALIZED
16579 }
16580 #[inline]
16581 fn cast(syntax: SyntaxNode) -> Option<Self> {
16582 if Self::can_cast(syntax.kind()) {
16583 Some(Self { syntax })
16584 } else {
16585 None
16586 }
16587 }
16588 #[inline]
16589 fn syntax(&self) -> &SyntaxNode {
16590 &self.syntax
16591 }
16592}
16593impl AstNode for Join {
16594 #[inline]
16595 fn can_cast(kind: SyntaxKind) -> bool {
16596 kind == SyntaxKind::JOIN
16597 }
16598 #[inline]
16599 fn cast(syntax: SyntaxNode) -> Option<Self> {
16600 if Self::can_cast(syntax.kind()) {
16601 Some(Self { syntax })
16602 } else {
16603 None
16604 }
16605 }
16606 #[inline]
16607 fn syntax(&self) -> &SyntaxNode {
16608 &self.syntax
16609 }
16610}
16611impl AstNode for JoinCross {
16612 #[inline]
16613 fn can_cast(kind: SyntaxKind) -> bool {
16614 kind == SyntaxKind::JOIN_CROSS
16615 }
16616 #[inline]
16617 fn cast(syntax: SyntaxNode) -> Option<Self> {
16618 if Self::can_cast(syntax.kind()) {
16619 Some(Self { syntax })
16620 } else {
16621 None
16622 }
16623 }
16624 #[inline]
16625 fn syntax(&self) -> &SyntaxNode {
16626 &self.syntax
16627 }
16628}
16629impl AstNode for JoinExpr {
16630 #[inline]
16631 fn can_cast(kind: SyntaxKind) -> bool {
16632 kind == SyntaxKind::JOIN_EXPR
16633 }
16634 #[inline]
16635 fn cast(syntax: SyntaxNode) -> Option<Self> {
16636 if Self::can_cast(syntax.kind()) {
16637 Some(Self { syntax })
16638 } else {
16639 None
16640 }
16641 }
16642 #[inline]
16643 fn syntax(&self) -> &SyntaxNode {
16644 &self.syntax
16645 }
16646}
16647impl AstNode for JoinFull {
16648 #[inline]
16649 fn can_cast(kind: SyntaxKind) -> bool {
16650 kind == SyntaxKind::JOIN_FULL
16651 }
16652 #[inline]
16653 fn cast(syntax: SyntaxNode) -> Option<Self> {
16654 if Self::can_cast(syntax.kind()) {
16655 Some(Self { syntax })
16656 } else {
16657 None
16658 }
16659 }
16660 #[inline]
16661 fn syntax(&self) -> &SyntaxNode {
16662 &self.syntax
16663 }
16664}
16665impl AstNode for JoinInner {
16666 #[inline]
16667 fn can_cast(kind: SyntaxKind) -> bool {
16668 kind == SyntaxKind::JOIN_INNER
16669 }
16670 #[inline]
16671 fn cast(syntax: SyntaxNode) -> Option<Self> {
16672 if Self::can_cast(syntax.kind()) {
16673 Some(Self { syntax })
16674 } else {
16675 None
16676 }
16677 }
16678 #[inline]
16679 fn syntax(&self) -> &SyntaxNode {
16680 &self.syntax
16681 }
16682}
16683impl AstNode for JoinLeft {
16684 #[inline]
16685 fn can_cast(kind: SyntaxKind) -> bool {
16686 kind == SyntaxKind::JOIN_LEFT
16687 }
16688 #[inline]
16689 fn cast(syntax: SyntaxNode) -> Option<Self> {
16690 if Self::can_cast(syntax.kind()) {
16691 Some(Self { syntax })
16692 } else {
16693 None
16694 }
16695 }
16696 #[inline]
16697 fn syntax(&self) -> &SyntaxNode {
16698 &self.syntax
16699 }
16700}
16701impl AstNode for JoinRight {
16702 #[inline]
16703 fn can_cast(kind: SyntaxKind) -> bool {
16704 kind == SyntaxKind::JOIN_RIGHT
16705 }
16706 #[inline]
16707 fn cast(syntax: SyntaxNode) -> Option<Self> {
16708 if Self::can_cast(syntax.kind()) {
16709 Some(Self { syntax })
16710 } else {
16711 None
16712 }
16713 }
16714 #[inline]
16715 fn syntax(&self) -> &SyntaxNode {
16716 &self.syntax
16717 }
16718}
16719impl AstNode for JoinUsingClause {
16720 #[inline]
16721 fn can_cast(kind: SyntaxKind) -> bool {
16722 kind == SyntaxKind::JOIN_USING_CLAUSE
16723 }
16724 #[inline]
16725 fn cast(syntax: SyntaxNode) -> Option<Self> {
16726 if Self::can_cast(syntax.kind()) {
16727 Some(Self { syntax })
16728 } else {
16729 None
16730 }
16731 }
16732 #[inline]
16733 fn syntax(&self) -> &SyntaxNode {
16734 &self.syntax
16735 }
16736}
16737impl AstNode for JsonBehaviorDefault {
16738 #[inline]
16739 fn can_cast(kind: SyntaxKind) -> bool {
16740 kind == SyntaxKind::JSON_BEHAVIOR_DEFAULT
16741 }
16742 #[inline]
16743 fn cast(syntax: SyntaxNode) -> Option<Self> {
16744 if Self::can_cast(syntax.kind()) {
16745 Some(Self { syntax })
16746 } else {
16747 None
16748 }
16749 }
16750 #[inline]
16751 fn syntax(&self) -> &SyntaxNode {
16752 &self.syntax
16753 }
16754}
16755impl AstNode for JsonBehaviorEmptyArray {
16756 #[inline]
16757 fn can_cast(kind: SyntaxKind) -> bool {
16758 kind == SyntaxKind::JSON_BEHAVIOR_EMPTY_ARRAY
16759 }
16760 #[inline]
16761 fn cast(syntax: SyntaxNode) -> Option<Self> {
16762 if Self::can_cast(syntax.kind()) {
16763 Some(Self { syntax })
16764 } else {
16765 None
16766 }
16767 }
16768 #[inline]
16769 fn syntax(&self) -> &SyntaxNode {
16770 &self.syntax
16771 }
16772}
16773impl AstNode for JsonBehaviorEmptyObject {
16774 #[inline]
16775 fn can_cast(kind: SyntaxKind) -> bool {
16776 kind == SyntaxKind::JSON_BEHAVIOR_EMPTY_OBJECT
16777 }
16778 #[inline]
16779 fn cast(syntax: SyntaxNode) -> Option<Self> {
16780 if Self::can_cast(syntax.kind()) {
16781 Some(Self { syntax })
16782 } else {
16783 None
16784 }
16785 }
16786 #[inline]
16787 fn syntax(&self) -> &SyntaxNode {
16788 &self.syntax
16789 }
16790}
16791impl AstNode for JsonBehaviorError {
16792 #[inline]
16793 fn can_cast(kind: SyntaxKind) -> bool {
16794 kind == SyntaxKind::JSON_BEHAVIOR_ERROR
16795 }
16796 #[inline]
16797 fn cast(syntax: SyntaxNode) -> Option<Self> {
16798 if Self::can_cast(syntax.kind()) {
16799 Some(Self { syntax })
16800 } else {
16801 None
16802 }
16803 }
16804 #[inline]
16805 fn syntax(&self) -> &SyntaxNode {
16806 &self.syntax
16807 }
16808}
16809impl AstNode for JsonBehaviorFalse {
16810 #[inline]
16811 fn can_cast(kind: SyntaxKind) -> bool {
16812 kind == SyntaxKind::JSON_BEHAVIOR_FALSE
16813 }
16814 #[inline]
16815 fn cast(syntax: SyntaxNode) -> Option<Self> {
16816 if Self::can_cast(syntax.kind()) {
16817 Some(Self { syntax })
16818 } else {
16819 None
16820 }
16821 }
16822 #[inline]
16823 fn syntax(&self) -> &SyntaxNode {
16824 &self.syntax
16825 }
16826}
16827impl AstNode for JsonBehaviorNull {
16828 #[inline]
16829 fn can_cast(kind: SyntaxKind) -> bool {
16830 kind == SyntaxKind::JSON_BEHAVIOR_NULL
16831 }
16832 #[inline]
16833 fn cast(syntax: SyntaxNode) -> Option<Self> {
16834 if Self::can_cast(syntax.kind()) {
16835 Some(Self { syntax })
16836 } else {
16837 None
16838 }
16839 }
16840 #[inline]
16841 fn syntax(&self) -> &SyntaxNode {
16842 &self.syntax
16843 }
16844}
16845impl AstNode for JsonBehaviorTrue {
16846 #[inline]
16847 fn can_cast(kind: SyntaxKind) -> bool {
16848 kind == SyntaxKind::JSON_BEHAVIOR_TRUE
16849 }
16850 #[inline]
16851 fn cast(syntax: SyntaxNode) -> Option<Self> {
16852 if Self::can_cast(syntax.kind()) {
16853 Some(Self { syntax })
16854 } else {
16855 None
16856 }
16857 }
16858 #[inline]
16859 fn syntax(&self) -> &SyntaxNode {
16860 &self.syntax
16861 }
16862}
16863impl AstNode for JsonBehaviorUnknown {
16864 #[inline]
16865 fn can_cast(kind: SyntaxKind) -> bool {
16866 kind == SyntaxKind::JSON_BEHAVIOR_UNKNOWN
16867 }
16868 #[inline]
16869 fn cast(syntax: SyntaxNode) -> Option<Self> {
16870 if Self::can_cast(syntax.kind()) {
16871 Some(Self { syntax })
16872 } else {
16873 None
16874 }
16875 }
16876 #[inline]
16877 fn syntax(&self) -> &SyntaxNode {
16878 &self.syntax
16879 }
16880}
16881impl AstNode for JsonFormatClause {
16882 #[inline]
16883 fn can_cast(kind: SyntaxKind) -> bool {
16884 kind == SyntaxKind::JSON_FORMAT_CLAUSE
16885 }
16886 #[inline]
16887 fn cast(syntax: SyntaxNode) -> Option<Self> {
16888 if Self::can_cast(syntax.kind()) {
16889 Some(Self { syntax })
16890 } else {
16891 None
16892 }
16893 }
16894 #[inline]
16895 fn syntax(&self) -> &SyntaxNode {
16896 &self.syntax
16897 }
16898}
16899impl AstNode for JsonKeyValue {
16900 #[inline]
16901 fn can_cast(kind: SyntaxKind) -> bool {
16902 kind == SyntaxKind::JSON_KEY_VALUE
16903 }
16904 #[inline]
16905 fn cast(syntax: SyntaxNode) -> Option<Self> {
16906 if Self::can_cast(syntax.kind()) {
16907 Some(Self { syntax })
16908 } else {
16909 None
16910 }
16911 }
16912 #[inline]
16913 fn syntax(&self) -> &SyntaxNode {
16914 &self.syntax
16915 }
16916}
16917impl AstNode for JsonKeysUniqueClause {
16918 #[inline]
16919 fn can_cast(kind: SyntaxKind) -> bool {
16920 kind == SyntaxKind::JSON_KEYS_UNIQUE_CLAUSE
16921 }
16922 #[inline]
16923 fn cast(syntax: SyntaxNode) -> Option<Self> {
16924 if Self::can_cast(syntax.kind()) {
16925 Some(Self { syntax })
16926 } else {
16927 None
16928 }
16929 }
16930 #[inline]
16931 fn syntax(&self) -> &SyntaxNode {
16932 &self.syntax
16933 }
16934}
16935impl AstNode for JsonNullClause {
16936 #[inline]
16937 fn can_cast(kind: SyntaxKind) -> bool {
16938 kind == SyntaxKind::JSON_NULL_CLAUSE
16939 }
16940 #[inline]
16941 fn cast(syntax: SyntaxNode) -> Option<Self> {
16942 if Self::can_cast(syntax.kind()) {
16943 Some(Self { syntax })
16944 } else {
16945 None
16946 }
16947 }
16948 #[inline]
16949 fn syntax(&self) -> &SyntaxNode {
16950 &self.syntax
16951 }
16952}
16953impl AstNode for JsonOnEmptyClause {
16954 #[inline]
16955 fn can_cast(kind: SyntaxKind) -> bool {
16956 kind == SyntaxKind::JSON_ON_EMPTY_CLAUSE
16957 }
16958 #[inline]
16959 fn cast(syntax: SyntaxNode) -> Option<Self> {
16960 if Self::can_cast(syntax.kind()) {
16961 Some(Self { syntax })
16962 } else {
16963 None
16964 }
16965 }
16966 #[inline]
16967 fn syntax(&self) -> &SyntaxNode {
16968 &self.syntax
16969 }
16970}
16971impl AstNode for JsonOnErrorClause {
16972 #[inline]
16973 fn can_cast(kind: SyntaxKind) -> bool {
16974 kind == SyntaxKind::JSON_ON_ERROR_CLAUSE
16975 }
16976 #[inline]
16977 fn cast(syntax: SyntaxNode) -> Option<Self> {
16978 if Self::can_cast(syntax.kind()) {
16979 Some(Self { syntax })
16980 } else {
16981 None
16982 }
16983 }
16984 #[inline]
16985 fn syntax(&self) -> &SyntaxNode {
16986 &self.syntax
16987 }
16988}
16989impl AstNode for JsonPassingArg {
16990 #[inline]
16991 fn can_cast(kind: SyntaxKind) -> bool {
16992 kind == SyntaxKind::JSON_PASSING_ARG
16993 }
16994 #[inline]
16995 fn cast(syntax: SyntaxNode) -> Option<Self> {
16996 if Self::can_cast(syntax.kind()) {
16997 Some(Self { syntax })
16998 } else {
16999 None
17000 }
17001 }
17002 #[inline]
17003 fn syntax(&self) -> &SyntaxNode {
17004 &self.syntax
17005 }
17006}
17007impl AstNode for JsonPassingClause {
17008 #[inline]
17009 fn can_cast(kind: SyntaxKind) -> bool {
17010 kind == SyntaxKind::JSON_PASSING_CLAUSE
17011 }
17012 #[inline]
17013 fn cast(syntax: SyntaxNode) -> Option<Self> {
17014 if Self::can_cast(syntax.kind()) {
17015 Some(Self { syntax })
17016 } else {
17017 None
17018 }
17019 }
17020 #[inline]
17021 fn syntax(&self) -> &SyntaxNode {
17022 &self.syntax
17023 }
17024}
17025impl AstNode for JsonQuotesClause {
17026 #[inline]
17027 fn can_cast(kind: SyntaxKind) -> bool {
17028 kind == SyntaxKind::JSON_QUOTES_CLAUSE
17029 }
17030 #[inline]
17031 fn cast(syntax: SyntaxNode) -> Option<Self> {
17032 if Self::can_cast(syntax.kind()) {
17033 Some(Self { syntax })
17034 } else {
17035 None
17036 }
17037 }
17038 #[inline]
17039 fn syntax(&self) -> &SyntaxNode {
17040 &self.syntax
17041 }
17042}
17043impl AstNode for JsonReturningClause {
17044 #[inline]
17045 fn can_cast(kind: SyntaxKind) -> bool {
17046 kind == SyntaxKind::JSON_RETURNING_CLAUSE
17047 }
17048 #[inline]
17049 fn cast(syntax: SyntaxNode) -> Option<Self> {
17050 if Self::can_cast(syntax.kind()) {
17051 Some(Self { syntax })
17052 } else {
17053 None
17054 }
17055 }
17056 #[inline]
17057 fn syntax(&self) -> &SyntaxNode {
17058 &self.syntax
17059 }
17060}
17061impl AstNode for JsonTableColumn {
17062 #[inline]
17063 fn can_cast(kind: SyntaxKind) -> bool {
17064 kind == SyntaxKind::JSON_TABLE_COLUMN
17065 }
17066 #[inline]
17067 fn cast(syntax: SyntaxNode) -> Option<Self> {
17068 if Self::can_cast(syntax.kind()) {
17069 Some(Self { syntax })
17070 } else {
17071 None
17072 }
17073 }
17074 #[inline]
17075 fn syntax(&self) -> &SyntaxNode {
17076 &self.syntax
17077 }
17078}
17079impl AstNode for JsonTableColumnList {
17080 #[inline]
17081 fn can_cast(kind: SyntaxKind) -> bool {
17082 kind == SyntaxKind::JSON_TABLE_COLUMN_LIST
17083 }
17084 #[inline]
17085 fn cast(syntax: SyntaxNode) -> Option<Self> {
17086 if Self::can_cast(syntax.kind()) {
17087 Some(Self { syntax })
17088 } else {
17089 None
17090 }
17091 }
17092 #[inline]
17093 fn syntax(&self) -> &SyntaxNode {
17094 &self.syntax
17095 }
17096}
17097impl AstNode for JsonValueExpr {
17098 #[inline]
17099 fn can_cast(kind: SyntaxKind) -> bool {
17100 kind == SyntaxKind::JSON_VALUE_EXPR
17101 }
17102 #[inline]
17103 fn cast(syntax: SyntaxNode) -> Option<Self> {
17104 if Self::can_cast(syntax.kind()) {
17105 Some(Self { syntax })
17106 } else {
17107 None
17108 }
17109 }
17110 #[inline]
17111 fn syntax(&self) -> &SyntaxNode {
17112 &self.syntax
17113 }
17114}
17115impl AstNode for JsonWrapperBehaviorClause {
17116 #[inline]
17117 fn can_cast(kind: SyntaxKind) -> bool {
17118 kind == SyntaxKind::JSON_WRAPPER_BEHAVIOR_CLAUSE
17119 }
17120 #[inline]
17121 fn cast(syntax: SyntaxNode) -> Option<Self> {
17122 if Self::can_cast(syntax.kind()) {
17123 Some(Self { syntax })
17124 } else {
17125 None
17126 }
17127 }
17128 #[inline]
17129 fn syntax(&self) -> &SyntaxNode {
17130 &self.syntax
17131 }
17132}
17133impl AstNode for LanguageFuncOption {
17134 #[inline]
17135 fn can_cast(kind: SyntaxKind) -> bool {
17136 kind == SyntaxKind::LANGUAGE_FUNC_OPTION
17137 }
17138 #[inline]
17139 fn cast(syntax: SyntaxNode) -> Option<Self> {
17140 if Self::can_cast(syntax.kind()) {
17141 Some(Self { syntax })
17142 } else {
17143 None
17144 }
17145 }
17146 #[inline]
17147 fn syntax(&self) -> &SyntaxNode {
17148 &self.syntax
17149 }
17150}
17151impl AstNode for LeakproofFuncOption {
17152 #[inline]
17153 fn can_cast(kind: SyntaxKind) -> bool {
17154 kind == SyntaxKind::LEAKPROOF_FUNC_OPTION
17155 }
17156 #[inline]
17157 fn cast(syntax: SyntaxNode) -> Option<Self> {
17158 if Self::can_cast(syntax.kind()) {
17159 Some(Self { syntax })
17160 } else {
17161 None
17162 }
17163 }
17164 #[inline]
17165 fn syntax(&self) -> &SyntaxNode {
17166 &self.syntax
17167 }
17168}
17169impl AstNode for LikeClause {
17170 #[inline]
17171 fn can_cast(kind: SyntaxKind) -> bool {
17172 kind == SyntaxKind::LIKE_CLAUSE
17173 }
17174 #[inline]
17175 fn cast(syntax: SyntaxNode) -> Option<Self> {
17176 if Self::can_cast(syntax.kind()) {
17177 Some(Self { syntax })
17178 } else {
17179 None
17180 }
17181 }
17182 #[inline]
17183 fn syntax(&self) -> &SyntaxNode {
17184 &self.syntax
17185 }
17186}
17187impl AstNode for LikeOption {
17188 #[inline]
17189 fn can_cast(kind: SyntaxKind) -> bool {
17190 kind == SyntaxKind::LIKE_OPTION
17191 }
17192 #[inline]
17193 fn cast(syntax: SyntaxNode) -> Option<Self> {
17194 if Self::can_cast(syntax.kind()) {
17195 Some(Self { syntax })
17196 } else {
17197 None
17198 }
17199 }
17200 #[inline]
17201 fn syntax(&self) -> &SyntaxNode {
17202 &self.syntax
17203 }
17204}
17205impl AstNode for LimitClause {
17206 #[inline]
17207 fn can_cast(kind: SyntaxKind) -> bool {
17208 kind == SyntaxKind::LIMIT_CLAUSE
17209 }
17210 #[inline]
17211 fn cast(syntax: SyntaxNode) -> Option<Self> {
17212 if Self::can_cast(syntax.kind()) {
17213 Some(Self { syntax })
17214 } else {
17215 None
17216 }
17217 }
17218 #[inline]
17219 fn syntax(&self) -> &SyntaxNode {
17220 &self.syntax
17221 }
17222}
17223impl AstNode for Listen {
17224 #[inline]
17225 fn can_cast(kind: SyntaxKind) -> bool {
17226 kind == SyntaxKind::LISTEN
17227 }
17228 #[inline]
17229 fn cast(syntax: SyntaxNode) -> Option<Self> {
17230 if Self::can_cast(syntax.kind()) {
17231 Some(Self { syntax })
17232 } else {
17233 None
17234 }
17235 }
17236 #[inline]
17237 fn syntax(&self) -> &SyntaxNode {
17238 &self.syntax
17239 }
17240}
17241impl AstNode for Literal {
17242 #[inline]
17243 fn can_cast(kind: SyntaxKind) -> bool {
17244 kind == SyntaxKind::LITERAL
17245 }
17246 #[inline]
17247 fn cast(syntax: SyntaxNode) -> Option<Self> {
17248 if Self::can_cast(syntax.kind()) {
17249 Some(Self { syntax })
17250 } else {
17251 None
17252 }
17253 }
17254 #[inline]
17255 fn syntax(&self) -> &SyntaxNode {
17256 &self.syntax
17257 }
17258}
17259impl AstNode for Load {
17260 #[inline]
17261 fn can_cast(kind: SyntaxKind) -> bool {
17262 kind == SyntaxKind::LOAD
17263 }
17264 #[inline]
17265 fn cast(syntax: SyntaxNode) -> Option<Self> {
17266 if Self::can_cast(syntax.kind()) {
17267 Some(Self { syntax })
17268 } else {
17269 None
17270 }
17271 }
17272 #[inline]
17273 fn syntax(&self) -> &SyntaxNode {
17274 &self.syntax
17275 }
17276}
17277impl AstNode for Lock {
17278 #[inline]
17279 fn can_cast(kind: SyntaxKind) -> bool {
17280 kind == SyntaxKind::LOCK
17281 }
17282 #[inline]
17283 fn cast(syntax: SyntaxNode) -> Option<Self> {
17284 if Self::can_cast(syntax.kind()) {
17285 Some(Self { syntax })
17286 } else {
17287 None
17288 }
17289 }
17290 #[inline]
17291 fn syntax(&self) -> &SyntaxNode {
17292 &self.syntax
17293 }
17294}
17295impl AstNode for LockingClause {
17296 #[inline]
17297 fn can_cast(kind: SyntaxKind) -> bool {
17298 kind == SyntaxKind::LOCKING_CLAUSE
17299 }
17300 #[inline]
17301 fn cast(syntax: SyntaxNode) -> Option<Self> {
17302 if Self::can_cast(syntax.kind()) {
17303 Some(Self { syntax })
17304 } else {
17305 None
17306 }
17307 }
17308 #[inline]
17309 fn syntax(&self) -> &SyntaxNode {
17310 &self.syntax
17311 }
17312}
17313impl AstNode for Lteq {
17314 #[inline]
17315 fn can_cast(kind: SyntaxKind) -> bool {
17316 kind == SyntaxKind::LTEQ
17317 }
17318 #[inline]
17319 fn cast(syntax: SyntaxNode) -> Option<Self> {
17320 if Self::can_cast(syntax.kind()) {
17321 Some(Self { syntax })
17322 } else {
17323 None
17324 }
17325 }
17326 #[inline]
17327 fn syntax(&self) -> &SyntaxNode {
17328 &self.syntax
17329 }
17330}
17331impl AstNode for MatchFull {
17332 #[inline]
17333 fn can_cast(kind: SyntaxKind) -> bool {
17334 kind == SyntaxKind::MATCH_FULL
17335 }
17336 #[inline]
17337 fn cast(syntax: SyntaxNode) -> Option<Self> {
17338 if Self::can_cast(syntax.kind()) {
17339 Some(Self { syntax })
17340 } else {
17341 None
17342 }
17343 }
17344 #[inline]
17345 fn syntax(&self) -> &SyntaxNode {
17346 &self.syntax
17347 }
17348}
17349impl AstNode for MatchPartial {
17350 #[inline]
17351 fn can_cast(kind: SyntaxKind) -> bool {
17352 kind == SyntaxKind::MATCH_PARTIAL
17353 }
17354 #[inline]
17355 fn cast(syntax: SyntaxNode) -> Option<Self> {
17356 if Self::can_cast(syntax.kind()) {
17357 Some(Self { syntax })
17358 } else {
17359 None
17360 }
17361 }
17362 #[inline]
17363 fn syntax(&self) -> &SyntaxNode {
17364 &self.syntax
17365 }
17366}
17367impl AstNode for MatchSimple {
17368 #[inline]
17369 fn can_cast(kind: SyntaxKind) -> bool {
17370 kind == SyntaxKind::MATCH_SIMPLE
17371 }
17372 #[inline]
17373 fn cast(syntax: SyntaxNode) -> Option<Self> {
17374 if Self::can_cast(syntax.kind()) {
17375 Some(Self { syntax })
17376 } else {
17377 None
17378 }
17379 }
17380 #[inline]
17381 fn syntax(&self) -> &SyntaxNode {
17382 &self.syntax
17383 }
17384}
17385impl AstNode for Materialized {
17386 #[inline]
17387 fn can_cast(kind: SyntaxKind) -> bool {
17388 kind == SyntaxKind::MATERIALIZED
17389 }
17390 #[inline]
17391 fn cast(syntax: SyntaxNode) -> Option<Self> {
17392 if Self::can_cast(syntax.kind()) {
17393 Some(Self { syntax })
17394 } else {
17395 None
17396 }
17397 }
17398 #[inline]
17399 fn syntax(&self) -> &SyntaxNode {
17400 &self.syntax
17401 }
17402}
17403impl AstNode for Merge {
17404 #[inline]
17405 fn can_cast(kind: SyntaxKind) -> bool {
17406 kind == SyntaxKind::MERGE
17407 }
17408 #[inline]
17409 fn cast(syntax: SyntaxNode) -> Option<Self> {
17410 if Self::can_cast(syntax.kind()) {
17411 Some(Self { syntax })
17412 } else {
17413 None
17414 }
17415 }
17416 #[inline]
17417 fn syntax(&self) -> &SyntaxNode {
17418 &self.syntax
17419 }
17420}
17421impl AstNode for MergeDelete {
17422 #[inline]
17423 fn can_cast(kind: SyntaxKind) -> bool {
17424 kind == SyntaxKind::MERGE_DELETE
17425 }
17426 #[inline]
17427 fn cast(syntax: SyntaxNode) -> Option<Self> {
17428 if Self::can_cast(syntax.kind()) {
17429 Some(Self { syntax })
17430 } else {
17431 None
17432 }
17433 }
17434 #[inline]
17435 fn syntax(&self) -> &SyntaxNode {
17436 &self.syntax
17437 }
17438}
17439impl AstNode for MergeDoNothing {
17440 #[inline]
17441 fn can_cast(kind: SyntaxKind) -> bool {
17442 kind == SyntaxKind::MERGE_DO_NOTHING
17443 }
17444 #[inline]
17445 fn cast(syntax: SyntaxNode) -> Option<Self> {
17446 if Self::can_cast(syntax.kind()) {
17447 Some(Self { syntax })
17448 } else {
17449 None
17450 }
17451 }
17452 #[inline]
17453 fn syntax(&self) -> &SyntaxNode {
17454 &self.syntax
17455 }
17456}
17457impl AstNode for MergeInsert {
17458 #[inline]
17459 fn can_cast(kind: SyntaxKind) -> bool {
17460 kind == SyntaxKind::MERGE_INSERT
17461 }
17462 #[inline]
17463 fn cast(syntax: SyntaxNode) -> Option<Self> {
17464 if Self::can_cast(syntax.kind()) {
17465 Some(Self { syntax })
17466 } else {
17467 None
17468 }
17469 }
17470 #[inline]
17471 fn syntax(&self) -> &SyntaxNode {
17472 &self.syntax
17473 }
17474}
17475impl AstNode for MergeUpdate {
17476 #[inline]
17477 fn can_cast(kind: SyntaxKind) -> bool {
17478 kind == SyntaxKind::MERGE_UPDATE
17479 }
17480 #[inline]
17481 fn cast(syntax: SyntaxNode) -> Option<Self> {
17482 if Self::can_cast(syntax.kind()) {
17483 Some(Self { syntax })
17484 } else {
17485 None
17486 }
17487 }
17488 #[inline]
17489 fn syntax(&self) -> &SyntaxNode {
17490 &self.syntax
17491 }
17492}
17493impl AstNode for MergeWhenMatched {
17494 #[inline]
17495 fn can_cast(kind: SyntaxKind) -> bool {
17496 kind == SyntaxKind::MERGE_WHEN_MATCHED
17497 }
17498 #[inline]
17499 fn cast(syntax: SyntaxNode) -> Option<Self> {
17500 if Self::can_cast(syntax.kind()) {
17501 Some(Self { syntax })
17502 } else {
17503 None
17504 }
17505 }
17506 #[inline]
17507 fn syntax(&self) -> &SyntaxNode {
17508 &self.syntax
17509 }
17510}
17511impl AstNode for MergeWhenNotMatchedSource {
17512 #[inline]
17513 fn can_cast(kind: SyntaxKind) -> bool {
17514 kind == SyntaxKind::MERGE_WHEN_NOT_MATCHED_SOURCE
17515 }
17516 #[inline]
17517 fn cast(syntax: SyntaxNode) -> Option<Self> {
17518 if Self::can_cast(syntax.kind()) {
17519 Some(Self { syntax })
17520 } else {
17521 None
17522 }
17523 }
17524 #[inline]
17525 fn syntax(&self) -> &SyntaxNode {
17526 &self.syntax
17527 }
17528}
17529impl AstNode for MergeWhenNotMatchedTarget {
17530 #[inline]
17531 fn can_cast(kind: SyntaxKind) -> bool {
17532 kind == SyntaxKind::MERGE_WHEN_NOT_MATCHED_TARGET
17533 }
17534 #[inline]
17535 fn cast(syntax: SyntaxNode) -> Option<Self> {
17536 if Self::can_cast(syntax.kind()) {
17537 Some(Self { syntax })
17538 } else {
17539 None
17540 }
17541 }
17542 #[inline]
17543 fn syntax(&self) -> &SyntaxNode {
17544 &self.syntax
17545 }
17546}
17547impl AstNode for Move {
17548 #[inline]
17549 fn can_cast(kind: SyntaxKind) -> bool {
17550 kind == SyntaxKind::MOVE
17551 }
17552 #[inline]
17553 fn cast(syntax: SyntaxNode) -> Option<Self> {
17554 if Self::can_cast(syntax.kind()) {
17555 Some(Self { syntax })
17556 } else {
17557 None
17558 }
17559 }
17560 #[inline]
17561 fn syntax(&self) -> &SyntaxNode {
17562 &self.syntax
17563 }
17564}
17565impl AstNode for Name {
17566 #[inline]
17567 fn can_cast(kind: SyntaxKind) -> bool {
17568 kind == SyntaxKind::NAME
17569 }
17570 #[inline]
17571 fn cast(syntax: SyntaxNode) -> Option<Self> {
17572 if Self::can_cast(syntax.kind()) {
17573 Some(Self { syntax })
17574 } else {
17575 None
17576 }
17577 }
17578 #[inline]
17579 fn syntax(&self) -> &SyntaxNode {
17580 &self.syntax
17581 }
17582}
17583impl AstNode for NameRef {
17584 #[inline]
17585 fn can_cast(kind: SyntaxKind) -> bool {
17586 kind == SyntaxKind::NAME_REF
17587 }
17588 #[inline]
17589 fn cast(syntax: SyntaxNode) -> Option<Self> {
17590 if Self::can_cast(syntax.kind()) {
17591 Some(Self { syntax })
17592 } else {
17593 None
17594 }
17595 }
17596 #[inline]
17597 fn syntax(&self) -> &SyntaxNode {
17598 &self.syntax
17599 }
17600}
17601impl AstNode for NamedArg {
17602 #[inline]
17603 fn can_cast(kind: SyntaxKind) -> bool {
17604 kind == SyntaxKind::NAMED_ARG
17605 }
17606 #[inline]
17607 fn cast(syntax: SyntaxNode) -> Option<Self> {
17608 if Self::can_cast(syntax.kind()) {
17609 Some(Self { syntax })
17610 } else {
17611 None
17612 }
17613 }
17614 #[inline]
17615 fn syntax(&self) -> &SyntaxNode {
17616 &self.syntax
17617 }
17618}
17619impl AstNode for Neq {
17620 #[inline]
17621 fn can_cast(kind: SyntaxKind) -> bool {
17622 kind == SyntaxKind::NEQ
17623 }
17624 #[inline]
17625 fn cast(syntax: SyntaxNode) -> Option<Self> {
17626 if Self::can_cast(syntax.kind()) {
17627 Some(Self { syntax })
17628 } else {
17629 None
17630 }
17631 }
17632 #[inline]
17633 fn syntax(&self) -> &SyntaxNode {
17634 &self.syntax
17635 }
17636}
17637impl AstNode for Neqb {
17638 #[inline]
17639 fn can_cast(kind: SyntaxKind) -> bool {
17640 kind == SyntaxKind::NEQB
17641 }
17642 #[inline]
17643 fn cast(syntax: SyntaxNode) -> Option<Self> {
17644 if Self::can_cast(syntax.kind()) {
17645 Some(Self { syntax })
17646 } else {
17647 None
17648 }
17649 }
17650 #[inline]
17651 fn syntax(&self) -> &SyntaxNode {
17652 &self.syntax
17653 }
17654}
17655impl AstNode for NoAction {
17656 #[inline]
17657 fn can_cast(kind: SyntaxKind) -> bool {
17658 kind == SyntaxKind::NO_ACTION
17659 }
17660 #[inline]
17661 fn cast(syntax: SyntaxNode) -> Option<Self> {
17662 if Self::can_cast(syntax.kind()) {
17663 Some(Self { syntax })
17664 } else {
17665 None
17666 }
17667 }
17668 #[inline]
17669 fn syntax(&self) -> &SyntaxNode {
17670 &self.syntax
17671 }
17672}
17673impl AstNode for NoForceRls {
17674 #[inline]
17675 fn can_cast(kind: SyntaxKind) -> bool {
17676 kind == SyntaxKind::NO_FORCE_RLS
17677 }
17678 #[inline]
17679 fn cast(syntax: SyntaxNode) -> Option<Self> {
17680 if Self::can_cast(syntax.kind()) {
17681 Some(Self { syntax })
17682 } else {
17683 None
17684 }
17685 }
17686 #[inline]
17687 fn syntax(&self) -> &SyntaxNode {
17688 &self.syntax
17689 }
17690}
17691impl AstNode for NoInherit {
17692 #[inline]
17693 fn can_cast(kind: SyntaxKind) -> bool {
17694 kind == SyntaxKind::NO_INHERIT
17695 }
17696 #[inline]
17697 fn cast(syntax: SyntaxNode) -> Option<Self> {
17698 if Self::can_cast(syntax.kind()) {
17699 Some(Self { syntax })
17700 } else {
17701 None
17702 }
17703 }
17704 #[inline]
17705 fn syntax(&self) -> &SyntaxNode {
17706 &self.syntax
17707 }
17708}
17709impl AstNode for NoInheritTable {
17710 #[inline]
17711 fn can_cast(kind: SyntaxKind) -> bool {
17712 kind == SyntaxKind::NO_INHERIT_TABLE
17713 }
17714 #[inline]
17715 fn cast(syntax: SyntaxNode) -> Option<Self> {
17716 if Self::can_cast(syntax.kind()) {
17717 Some(Self { syntax })
17718 } else {
17719 None
17720 }
17721 }
17722 #[inline]
17723 fn syntax(&self) -> &SyntaxNode {
17724 &self.syntax
17725 }
17726}
17727impl AstNode for NonStandardParam {
17728 #[inline]
17729 fn can_cast(kind: SyntaxKind) -> bool {
17730 kind == SyntaxKind::NON_STANDARD_PARAM
17731 }
17732 #[inline]
17733 fn cast(syntax: SyntaxNode) -> Option<Self> {
17734 if Self::can_cast(syntax.kind()) {
17735 Some(Self { syntax })
17736 } else {
17737 None
17738 }
17739 }
17740 #[inline]
17741 fn syntax(&self) -> &SyntaxNode {
17742 &self.syntax
17743 }
17744}
17745impl AstNode for NotDeferrable {
17746 #[inline]
17747 fn can_cast(kind: SyntaxKind) -> bool {
17748 kind == SyntaxKind::NOT_DEFERRABLE
17749 }
17750 #[inline]
17751 fn cast(syntax: SyntaxNode) -> Option<Self> {
17752 if Self::can_cast(syntax.kind()) {
17753 Some(Self { syntax })
17754 } else {
17755 None
17756 }
17757 }
17758 #[inline]
17759 fn syntax(&self) -> &SyntaxNode {
17760 &self.syntax
17761 }
17762}
17763impl AstNode for NotDeferrableConstraintOption {
17764 #[inline]
17765 fn can_cast(kind: SyntaxKind) -> bool {
17766 kind == SyntaxKind::NOT_DEFERRABLE_CONSTRAINT_OPTION
17767 }
17768 #[inline]
17769 fn cast(syntax: SyntaxNode) -> Option<Self> {
17770 if Self::can_cast(syntax.kind()) {
17771 Some(Self { syntax })
17772 } else {
17773 None
17774 }
17775 }
17776 #[inline]
17777 fn syntax(&self) -> &SyntaxNode {
17778 &self.syntax
17779 }
17780}
17781impl AstNode for NotEnforced {
17782 #[inline]
17783 fn can_cast(kind: SyntaxKind) -> bool {
17784 kind == SyntaxKind::NOT_ENFORCED
17785 }
17786 #[inline]
17787 fn cast(syntax: SyntaxNode) -> Option<Self> {
17788 if Self::can_cast(syntax.kind()) {
17789 Some(Self { syntax })
17790 } else {
17791 None
17792 }
17793 }
17794 #[inline]
17795 fn syntax(&self) -> &SyntaxNode {
17796 &self.syntax
17797 }
17798}
17799impl AstNode for NotIlike {
17800 #[inline]
17801 fn can_cast(kind: SyntaxKind) -> bool {
17802 kind == SyntaxKind::NOT_ILIKE
17803 }
17804 #[inline]
17805 fn cast(syntax: SyntaxNode) -> Option<Self> {
17806 if Self::can_cast(syntax.kind()) {
17807 Some(Self { syntax })
17808 } else {
17809 None
17810 }
17811 }
17812 #[inline]
17813 fn syntax(&self) -> &SyntaxNode {
17814 &self.syntax
17815 }
17816}
17817impl AstNode for NotIn {
17818 #[inline]
17819 fn can_cast(kind: SyntaxKind) -> bool {
17820 kind == SyntaxKind::NOT_IN
17821 }
17822 #[inline]
17823 fn cast(syntax: SyntaxNode) -> Option<Self> {
17824 if Self::can_cast(syntax.kind()) {
17825 Some(Self { syntax })
17826 } else {
17827 None
17828 }
17829 }
17830 #[inline]
17831 fn syntax(&self) -> &SyntaxNode {
17832 &self.syntax
17833 }
17834}
17835impl AstNode for NotLike {
17836 #[inline]
17837 fn can_cast(kind: SyntaxKind) -> bool {
17838 kind == SyntaxKind::NOT_LIKE
17839 }
17840 #[inline]
17841 fn cast(syntax: SyntaxNode) -> Option<Self> {
17842 if Self::can_cast(syntax.kind()) {
17843 Some(Self { syntax })
17844 } else {
17845 None
17846 }
17847 }
17848 #[inline]
17849 fn syntax(&self) -> &SyntaxNode {
17850 &self.syntax
17851 }
17852}
17853impl AstNode for NotMaterialized {
17854 #[inline]
17855 fn can_cast(kind: SyntaxKind) -> bool {
17856 kind == SyntaxKind::NOT_MATERIALIZED
17857 }
17858 #[inline]
17859 fn cast(syntax: SyntaxNode) -> Option<Self> {
17860 if Self::can_cast(syntax.kind()) {
17861 Some(Self { syntax })
17862 } else {
17863 None
17864 }
17865 }
17866 #[inline]
17867 fn syntax(&self) -> &SyntaxNode {
17868 &self.syntax
17869 }
17870}
17871impl AstNode for NotNullConstraint {
17872 #[inline]
17873 fn can_cast(kind: SyntaxKind) -> bool {
17874 kind == SyntaxKind::NOT_NULL_CONSTRAINT
17875 }
17876 #[inline]
17877 fn cast(syntax: SyntaxNode) -> Option<Self> {
17878 if Self::can_cast(syntax.kind()) {
17879 Some(Self { syntax })
17880 } else {
17881 None
17882 }
17883 }
17884 #[inline]
17885 fn syntax(&self) -> &SyntaxNode {
17886 &self.syntax
17887 }
17888}
17889impl AstNode for NotOf {
17890 #[inline]
17891 fn can_cast(kind: SyntaxKind) -> bool {
17892 kind == SyntaxKind::NOT_OF
17893 }
17894 #[inline]
17895 fn cast(syntax: SyntaxNode) -> Option<Self> {
17896 if Self::can_cast(syntax.kind()) {
17897 Some(Self { syntax })
17898 } else {
17899 None
17900 }
17901 }
17902 #[inline]
17903 fn syntax(&self) -> &SyntaxNode {
17904 &self.syntax
17905 }
17906}
17907impl AstNode for NotSimilarTo {
17908 #[inline]
17909 fn can_cast(kind: SyntaxKind) -> bool {
17910 kind == SyntaxKind::NOT_SIMILAR_TO
17911 }
17912 #[inline]
17913 fn cast(syntax: SyntaxNode) -> Option<Self> {
17914 if Self::can_cast(syntax.kind()) {
17915 Some(Self { syntax })
17916 } else {
17917 None
17918 }
17919 }
17920 #[inline]
17921 fn syntax(&self) -> &SyntaxNode {
17922 &self.syntax
17923 }
17924}
17925impl AstNode for NotValid {
17926 #[inline]
17927 fn can_cast(kind: SyntaxKind) -> bool {
17928 kind == SyntaxKind::NOT_VALID
17929 }
17930 #[inline]
17931 fn cast(syntax: SyntaxNode) -> Option<Self> {
17932 if Self::can_cast(syntax.kind()) {
17933 Some(Self { syntax })
17934 } else {
17935 None
17936 }
17937 }
17938 #[inline]
17939 fn syntax(&self) -> &SyntaxNode {
17940 &self.syntax
17941 }
17942}
17943impl AstNode for Notify {
17944 #[inline]
17945 fn can_cast(kind: SyntaxKind) -> bool {
17946 kind == SyntaxKind::NOTIFY
17947 }
17948 #[inline]
17949 fn cast(syntax: SyntaxNode) -> Option<Self> {
17950 if Self::can_cast(syntax.kind()) {
17951 Some(Self { syntax })
17952 } else {
17953 None
17954 }
17955 }
17956 #[inline]
17957 fn syntax(&self) -> &SyntaxNode {
17958 &self.syntax
17959 }
17960}
17961impl AstNode for NullConstraint {
17962 #[inline]
17963 fn can_cast(kind: SyntaxKind) -> bool {
17964 kind == SyntaxKind::NULL_CONSTRAINT
17965 }
17966 #[inline]
17967 fn cast(syntax: SyntaxNode) -> Option<Self> {
17968 if Self::can_cast(syntax.kind()) {
17969 Some(Self { syntax })
17970 } else {
17971 None
17972 }
17973 }
17974 #[inline]
17975 fn syntax(&self) -> &SyntaxNode {
17976 &self.syntax
17977 }
17978}
17979impl AstNode for NullsDistinct {
17980 #[inline]
17981 fn can_cast(kind: SyntaxKind) -> bool {
17982 kind == SyntaxKind::NULLS_DISTINCT
17983 }
17984 #[inline]
17985 fn cast(syntax: SyntaxNode) -> Option<Self> {
17986 if Self::can_cast(syntax.kind()) {
17987 Some(Self { syntax })
17988 } else {
17989 None
17990 }
17991 }
17992 #[inline]
17993 fn syntax(&self) -> &SyntaxNode {
17994 &self.syntax
17995 }
17996}
17997impl AstNode for NullsFirst {
17998 #[inline]
17999 fn can_cast(kind: SyntaxKind) -> bool {
18000 kind == SyntaxKind::NULLS_FIRST
18001 }
18002 #[inline]
18003 fn cast(syntax: SyntaxNode) -> Option<Self> {
18004 if Self::can_cast(syntax.kind()) {
18005 Some(Self { syntax })
18006 } else {
18007 None
18008 }
18009 }
18010 #[inline]
18011 fn syntax(&self) -> &SyntaxNode {
18012 &self.syntax
18013 }
18014}
18015impl AstNode for NullsLast {
18016 #[inline]
18017 fn can_cast(kind: SyntaxKind) -> bool {
18018 kind == SyntaxKind::NULLS_LAST
18019 }
18020 #[inline]
18021 fn cast(syntax: SyntaxNode) -> Option<Self> {
18022 if Self::can_cast(syntax.kind()) {
18023 Some(Self { syntax })
18024 } else {
18025 None
18026 }
18027 }
18028 #[inline]
18029 fn syntax(&self) -> &SyntaxNode {
18030 &self.syntax
18031 }
18032}
18033impl AstNode for NullsNotDistinct {
18034 #[inline]
18035 fn can_cast(kind: SyntaxKind) -> bool {
18036 kind == SyntaxKind::NULLS_NOT_DISTINCT
18037 }
18038 #[inline]
18039 fn cast(syntax: SyntaxNode) -> Option<Self> {
18040 if Self::can_cast(syntax.kind()) {
18041 Some(Self { syntax })
18042 } else {
18043 None
18044 }
18045 }
18046 #[inline]
18047 fn syntax(&self) -> &SyntaxNode {
18048 &self.syntax
18049 }
18050}
18051impl AstNode for OfType {
18052 #[inline]
18053 fn can_cast(kind: SyntaxKind) -> bool {
18054 kind == SyntaxKind::OF_TYPE
18055 }
18056 #[inline]
18057 fn cast(syntax: SyntaxNode) -> Option<Self> {
18058 if Self::can_cast(syntax.kind()) {
18059 Some(Self { syntax })
18060 } else {
18061 None
18062 }
18063 }
18064 #[inline]
18065 fn syntax(&self) -> &SyntaxNode {
18066 &self.syntax
18067 }
18068}
18069impl AstNode for OffsetClause {
18070 #[inline]
18071 fn can_cast(kind: SyntaxKind) -> bool {
18072 kind == SyntaxKind::OFFSET_CLAUSE
18073 }
18074 #[inline]
18075 fn cast(syntax: SyntaxNode) -> Option<Self> {
18076 if Self::can_cast(syntax.kind()) {
18077 Some(Self { syntax })
18078 } else {
18079 None
18080 }
18081 }
18082 #[inline]
18083 fn syntax(&self) -> &SyntaxNode {
18084 &self.syntax
18085 }
18086}
18087impl AstNode for OnClause {
18088 #[inline]
18089 fn can_cast(kind: SyntaxKind) -> bool {
18090 kind == SyntaxKind::ON_CLAUSE
18091 }
18092 #[inline]
18093 fn cast(syntax: SyntaxNode) -> Option<Self> {
18094 if Self::can_cast(syntax.kind()) {
18095 Some(Self { syntax })
18096 } else {
18097 None
18098 }
18099 }
18100 #[inline]
18101 fn syntax(&self) -> &SyntaxNode {
18102 &self.syntax
18103 }
18104}
18105impl AstNode for OnCommit {
18106 #[inline]
18107 fn can_cast(kind: SyntaxKind) -> bool {
18108 kind == SyntaxKind::ON_COMMIT
18109 }
18110 #[inline]
18111 fn cast(syntax: SyntaxNode) -> Option<Self> {
18112 if Self::can_cast(syntax.kind()) {
18113 Some(Self { syntax })
18114 } else {
18115 None
18116 }
18117 }
18118 #[inline]
18119 fn syntax(&self) -> &SyntaxNode {
18120 &self.syntax
18121 }
18122}
18123impl AstNode for OnConflictClause {
18124 #[inline]
18125 fn can_cast(kind: SyntaxKind) -> bool {
18126 kind == SyntaxKind::ON_CONFLICT_CLAUSE
18127 }
18128 #[inline]
18129 fn cast(syntax: SyntaxNode) -> Option<Self> {
18130 if Self::can_cast(syntax.kind()) {
18131 Some(Self { syntax })
18132 } else {
18133 None
18134 }
18135 }
18136 #[inline]
18137 fn syntax(&self) -> &SyntaxNode {
18138 &self.syntax
18139 }
18140}
18141impl AstNode for OnDeleteAction {
18142 #[inline]
18143 fn can_cast(kind: SyntaxKind) -> bool {
18144 kind == SyntaxKind::ON_DELETE_ACTION
18145 }
18146 #[inline]
18147 fn cast(syntax: SyntaxNode) -> Option<Self> {
18148 if Self::can_cast(syntax.kind()) {
18149 Some(Self { syntax })
18150 } else {
18151 None
18152 }
18153 }
18154 #[inline]
18155 fn syntax(&self) -> &SyntaxNode {
18156 &self.syntax
18157 }
18158}
18159impl AstNode for OnUpdateAction {
18160 #[inline]
18161 fn can_cast(kind: SyntaxKind) -> bool {
18162 kind == SyntaxKind::ON_UPDATE_ACTION
18163 }
18164 #[inline]
18165 fn cast(syntax: SyntaxNode) -> Option<Self> {
18166 if Self::can_cast(syntax.kind()) {
18167 Some(Self { syntax })
18168 } else {
18169 None
18170 }
18171 }
18172 #[inline]
18173 fn syntax(&self) -> &SyntaxNode {
18174 &self.syntax
18175 }
18176}
18177impl AstNode for Op {
18178 #[inline]
18179 fn can_cast(kind: SyntaxKind) -> bool {
18180 kind == SyntaxKind::OP
18181 }
18182 #[inline]
18183 fn cast(syntax: SyntaxNode) -> Option<Self> {
18184 if Self::can_cast(syntax.kind()) {
18185 Some(Self { syntax })
18186 } else {
18187 None
18188 }
18189 }
18190 #[inline]
18191 fn syntax(&self) -> &SyntaxNode {
18192 &self.syntax
18193 }
18194}
18195impl AstNode for OperatorCall {
18196 #[inline]
18197 fn can_cast(kind: SyntaxKind) -> bool {
18198 kind == SyntaxKind::OPERATOR_CALL
18199 }
18200 #[inline]
18201 fn cast(syntax: SyntaxNode) -> Option<Self> {
18202 if Self::can_cast(syntax.kind()) {
18203 Some(Self { syntax })
18204 } else {
18205 None
18206 }
18207 }
18208 #[inline]
18209 fn syntax(&self) -> &SyntaxNode {
18210 &self.syntax
18211 }
18212}
18213impl AstNode for OptionItem {
18214 #[inline]
18215 fn can_cast(kind: SyntaxKind) -> bool {
18216 kind == SyntaxKind::OPTION_ITEM
18217 }
18218 #[inline]
18219 fn cast(syntax: SyntaxNode) -> Option<Self> {
18220 if Self::can_cast(syntax.kind()) {
18221 Some(Self { syntax })
18222 } else {
18223 None
18224 }
18225 }
18226 #[inline]
18227 fn syntax(&self) -> &SyntaxNode {
18228 &self.syntax
18229 }
18230}
18231impl AstNode for OptionItemList {
18232 #[inline]
18233 fn can_cast(kind: SyntaxKind) -> bool {
18234 kind == SyntaxKind::OPTION_ITEM_LIST
18235 }
18236 #[inline]
18237 fn cast(syntax: SyntaxNode) -> Option<Self> {
18238 if Self::can_cast(syntax.kind()) {
18239 Some(Self { syntax })
18240 } else {
18241 None
18242 }
18243 }
18244 #[inline]
18245 fn syntax(&self) -> &SyntaxNode {
18246 &self.syntax
18247 }
18248}
18249impl AstNode for OrReplace {
18250 #[inline]
18251 fn can_cast(kind: SyntaxKind) -> bool {
18252 kind == SyntaxKind::OR_REPLACE
18253 }
18254 #[inline]
18255 fn cast(syntax: SyntaxNode) -> Option<Self> {
18256 if Self::can_cast(syntax.kind()) {
18257 Some(Self { syntax })
18258 } else {
18259 None
18260 }
18261 }
18262 #[inline]
18263 fn syntax(&self) -> &SyntaxNode {
18264 &self.syntax
18265 }
18266}
18267impl AstNode for OrderByClause {
18268 #[inline]
18269 fn can_cast(kind: SyntaxKind) -> bool {
18270 kind == SyntaxKind::ORDER_BY_CLAUSE
18271 }
18272 #[inline]
18273 fn cast(syntax: SyntaxNode) -> Option<Self> {
18274 if Self::can_cast(syntax.kind()) {
18275 Some(Self { syntax })
18276 } else {
18277 None
18278 }
18279 }
18280 #[inline]
18281 fn syntax(&self) -> &SyntaxNode {
18282 &self.syntax
18283 }
18284}
18285impl AstNode for OverClause {
18286 #[inline]
18287 fn can_cast(kind: SyntaxKind) -> bool {
18288 kind == SyntaxKind::OVER_CLAUSE
18289 }
18290 #[inline]
18291 fn cast(syntax: SyntaxNode) -> Option<Self> {
18292 if Self::can_cast(syntax.kind()) {
18293 Some(Self { syntax })
18294 } else {
18295 None
18296 }
18297 }
18298 #[inline]
18299 fn syntax(&self) -> &SyntaxNode {
18300 &self.syntax
18301 }
18302}
18303impl AstNode for OwnerTo {
18304 #[inline]
18305 fn can_cast(kind: SyntaxKind) -> bool {
18306 kind == SyntaxKind::OWNER_TO
18307 }
18308 #[inline]
18309 fn cast(syntax: SyntaxNode) -> Option<Self> {
18310 if Self::can_cast(syntax.kind()) {
18311 Some(Self { syntax })
18312 } else {
18313 None
18314 }
18315 }
18316 #[inline]
18317 fn syntax(&self) -> &SyntaxNode {
18318 &self.syntax
18319 }
18320}
18321impl AstNode for ParallelFuncOption {
18322 #[inline]
18323 fn can_cast(kind: SyntaxKind) -> bool {
18324 kind == SyntaxKind::PARALLEL_FUNC_OPTION
18325 }
18326 #[inline]
18327 fn cast(syntax: SyntaxNode) -> Option<Self> {
18328 if Self::can_cast(syntax.kind()) {
18329 Some(Self { syntax })
18330 } else {
18331 None
18332 }
18333 }
18334 #[inline]
18335 fn syntax(&self) -> &SyntaxNode {
18336 &self.syntax
18337 }
18338}
18339impl AstNode for Param {
18340 #[inline]
18341 fn can_cast(kind: SyntaxKind) -> bool {
18342 kind == SyntaxKind::PARAM
18343 }
18344 #[inline]
18345 fn cast(syntax: SyntaxNode) -> Option<Self> {
18346 if Self::can_cast(syntax.kind()) {
18347 Some(Self { syntax })
18348 } else {
18349 None
18350 }
18351 }
18352 #[inline]
18353 fn syntax(&self) -> &SyntaxNode {
18354 &self.syntax
18355 }
18356}
18357impl AstNode for ParamDefault {
18358 #[inline]
18359 fn can_cast(kind: SyntaxKind) -> bool {
18360 kind == SyntaxKind::PARAM_DEFAULT
18361 }
18362 #[inline]
18363 fn cast(syntax: SyntaxNode) -> Option<Self> {
18364 if Self::can_cast(syntax.kind()) {
18365 Some(Self { syntax })
18366 } else {
18367 None
18368 }
18369 }
18370 #[inline]
18371 fn syntax(&self) -> &SyntaxNode {
18372 &self.syntax
18373 }
18374}
18375impl AstNode for ParamIn {
18376 #[inline]
18377 fn can_cast(kind: SyntaxKind) -> bool {
18378 kind == SyntaxKind::PARAM_IN
18379 }
18380 #[inline]
18381 fn cast(syntax: SyntaxNode) -> Option<Self> {
18382 if Self::can_cast(syntax.kind()) {
18383 Some(Self { syntax })
18384 } else {
18385 None
18386 }
18387 }
18388 #[inline]
18389 fn syntax(&self) -> &SyntaxNode {
18390 &self.syntax
18391 }
18392}
18393impl AstNode for ParamInOut {
18394 #[inline]
18395 fn can_cast(kind: SyntaxKind) -> bool {
18396 kind == SyntaxKind::PARAM_IN_OUT
18397 }
18398 #[inline]
18399 fn cast(syntax: SyntaxNode) -> Option<Self> {
18400 if Self::can_cast(syntax.kind()) {
18401 Some(Self { syntax })
18402 } else {
18403 None
18404 }
18405 }
18406 #[inline]
18407 fn syntax(&self) -> &SyntaxNode {
18408 &self.syntax
18409 }
18410}
18411impl AstNode for ParamList {
18412 #[inline]
18413 fn can_cast(kind: SyntaxKind) -> bool {
18414 kind == SyntaxKind::PARAM_LIST
18415 }
18416 #[inline]
18417 fn cast(syntax: SyntaxNode) -> Option<Self> {
18418 if Self::can_cast(syntax.kind()) {
18419 Some(Self { syntax })
18420 } else {
18421 None
18422 }
18423 }
18424 #[inline]
18425 fn syntax(&self) -> &SyntaxNode {
18426 &self.syntax
18427 }
18428}
18429impl AstNode for ParamOut {
18430 #[inline]
18431 fn can_cast(kind: SyntaxKind) -> bool {
18432 kind == SyntaxKind::PARAM_OUT
18433 }
18434 #[inline]
18435 fn cast(syntax: SyntaxNode) -> Option<Self> {
18436 if Self::can_cast(syntax.kind()) {
18437 Some(Self { syntax })
18438 } else {
18439 None
18440 }
18441 }
18442 #[inline]
18443 fn syntax(&self) -> &SyntaxNode {
18444 &self.syntax
18445 }
18446}
18447impl AstNode for ParamVariadic {
18448 #[inline]
18449 fn can_cast(kind: SyntaxKind) -> bool {
18450 kind == SyntaxKind::PARAM_VARIADIC
18451 }
18452 #[inline]
18453 fn cast(syntax: SyntaxNode) -> Option<Self> {
18454 if Self::can_cast(syntax.kind()) {
18455 Some(Self { syntax })
18456 } else {
18457 None
18458 }
18459 }
18460 #[inline]
18461 fn syntax(&self) -> &SyntaxNode {
18462 &self.syntax
18463 }
18464}
18465impl AstNode for ParenExpr {
18466 #[inline]
18467 fn can_cast(kind: SyntaxKind) -> bool {
18468 kind == SyntaxKind::PAREN_EXPR
18469 }
18470 #[inline]
18471 fn cast(syntax: SyntaxNode) -> Option<Self> {
18472 if Self::can_cast(syntax.kind()) {
18473 Some(Self { syntax })
18474 } else {
18475 None
18476 }
18477 }
18478 #[inline]
18479 fn syntax(&self) -> &SyntaxNode {
18480 &self.syntax
18481 }
18482}
18483impl AstNode for ParenSelect {
18484 #[inline]
18485 fn can_cast(kind: SyntaxKind) -> bool {
18486 kind == SyntaxKind::PAREN_SELECT
18487 }
18488 #[inline]
18489 fn cast(syntax: SyntaxNode) -> Option<Self> {
18490 if Self::can_cast(syntax.kind()) {
18491 Some(Self { syntax })
18492 } else {
18493 None
18494 }
18495 }
18496 #[inline]
18497 fn syntax(&self) -> &SyntaxNode {
18498 &self.syntax
18499 }
18500}
18501impl AstNode for PartitionBy {
18502 #[inline]
18503 fn can_cast(kind: SyntaxKind) -> bool {
18504 kind == SyntaxKind::PARTITION_BY
18505 }
18506 #[inline]
18507 fn cast(syntax: SyntaxNode) -> Option<Self> {
18508 if Self::can_cast(syntax.kind()) {
18509 Some(Self { syntax })
18510 } else {
18511 None
18512 }
18513 }
18514 #[inline]
18515 fn syntax(&self) -> &SyntaxNode {
18516 &self.syntax
18517 }
18518}
18519impl AstNode for PartitionDefault {
18520 #[inline]
18521 fn can_cast(kind: SyntaxKind) -> bool {
18522 kind == SyntaxKind::PARTITION_DEFAULT
18523 }
18524 #[inline]
18525 fn cast(syntax: SyntaxNode) -> Option<Self> {
18526 if Self::can_cast(syntax.kind()) {
18527 Some(Self { syntax })
18528 } else {
18529 None
18530 }
18531 }
18532 #[inline]
18533 fn syntax(&self) -> &SyntaxNode {
18534 &self.syntax
18535 }
18536}
18537impl AstNode for PartitionForValuesFrom {
18538 #[inline]
18539 fn can_cast(kind: SyntaxKind) -> bool {
18540 kind == SyntaxKind::PARTITION_FOR_VALUES_FROM
18541 }
18542 #[inline]
18543 fn cast(syntax: SyntaxNode) -> Option<Self> {
18544 if Self::can_cast(syntax.kind()) {
18545 Some(Self { syntax })
18546 } else {
18547 None
18548 }
18549 }
18550 #[inline]
18551 fn syntax(&self) -> &SyntaxNode {
18552 &self.syntax
18553 }
18554}
18555impl AstNode for PartitionForValuesIn {
18556 #[inline]
18557 fn can_cast(kind: SyntaxKind) -> bool {
18558 kind == SyntaxKind::PARTITION_FOR_VALUES_IN
18559 }
18560 #[inline]
18561 fn cast(syntax: SyntaxNode) -> Option<Self> {
18562 if Self::can_cast(syntax.kind()) {
18563 Some(Self { syntax })
18564 } else {
18565 None
18566 }
18567 }
18568 #[inline]
18569 fn syntax(&self) -> &SyntaxNode {
18570 &self.syntax
18571 }
18572}
18573impl AstNode for PartitionForValuesWith {
18574 #[inline]
18575 fn can_cast(kind: SyntaxKind) -> bool {
18576 kind == SyntaxKind::PARTITION_FOR_VALUES_WITH
18577 }
18578 #[inline]
18579 fn cast(syntax: SyntaxNode) -> Option<Self> {
18580 if Self::can_cast(syntax.kind()) {
18581 Some(Self { syntax })
18582 } else {
18583 None
18584 }
18585 }
18586 #[inline]
18587 fn syntax(&self) -> &SyntaxNode {
18588 &self.syntax
18589 }
18590}
18591impl AstNode for PartitionItem {
18592 #[inline]
18593 fn can_cast(kind: SyntaxKind) -> bool {
18594 kind == SyntaxKind::PARTITION_ITEM
18595 }
18596 #[inline]
18597 fn cast(syntax: SyntaxNode) -> Option<Self> {
18598 if Self::can_cast(syntax.kind()) {
18599 Some(Self { syntax })
18600 } else {
18601 None
18602 }
18603 }
18604 #[inline]
18605 fn syntax(&self) -> &SyntaxNode {
18606 &self.syntax
18607 }
18608}
18609impl AstNode for PartitionItemList {
18610 #[inline]
18611 fn can_cast(kind: SyntaxKind) -> bool {
18612 kind == SyntaxKind::PARTITION_ITEM_LIST
18613 }
18614 #[inline]
18615 fn cast(syntax: SyntaxNode) -> Option<Self> {
18616 if Self::can_cast(syntax.kind()) {
18617 Some(Self { syntax })
18618 } else {
18619 None
18620 }
18621 }
18622 #[inline]
18623 fn syntax(&self) -> &SyntaxNode {
18624 &self.syntax
18625 }
18626}
18627impl AstNode for PartitionOf {
18628 #[inline]
18629 fn can_cast(kind: SyntaxKind) -> bool {
18630 kind == SyntaxKind::PARTITION_OF
18631 }
18632 #[inline]
18633 fn cast(syntax: SyntaxNode) -> Option<Self> {
18634 if Self::can_cast(syntax.kind()) {
18635 Some(Self { syntax })
18636 } else {
18637 None
18638 }
18639 }
18640 #[inline]
18641 fn syntax(&self) -> &SyntaxNode {
18642 &self.syntax
18643 }
18644}
18645impl AstNode for Path {
18646 #[inline]
18647 fn can_cast(kind: SyntaxKind) -> bool {
18648 kind == SyntaxKind::PATH
18649 }
18650 #[inline]
18651 fn cast(syntax: SyntaxNode) -> Option<Self> {
18652 if Self::can_cast(syntax.kind()) {
18653 Some(Self { syntax })
18654 } else {
18655 None
18656 }
18657 }
18658 #[inline]
18659 fn syntax(&self) -> &SyntaxNode {
18660 &self.syntax
18661 }
18662}
18663impl AstNode for PathSegment {
18664 #[inline]
18665 fn can_cast(kind: SyntaxKind) -> bool {
18666 kind == SyntaxKind::PATH_SEGMENT
18667 }
18668 #[inline]
18669 fn cast(syntax: SyntaxNode) -> Option<Self> {
18670 if Self::can_cast(syntax.kind()) {
18671 Some(Self { syntax })
18672 } else {
18673 None
18674 }
18675 }
18676 #[inline]
18677 fn syntax(&self) -> &SyntaxNode {
18678 &self.syntax
18679 }
18680}
18681impl AstNode for PathType {
18682 #[inline]
18683 fn can_cast(kind: SyntaxKind) -> bool {
18684 kind == SyntaxKind::PATH_TYPE
18685 }
18686 #[inline]
18687 fn cast(syntax: SyntaxNode) -> Option<Self> {
18688 if Self::can_cast(syntax.kind()) {
18689 Some(Self { syntax })
18690 } else {
18691 None
18692 }
18693 }
18694 #[inline]
18695 fn syntax(&self) -> &SyntaxNode {
18696 &self.syntax
18697 }
18698}
18699impl AstNode for PercentType {
18700 #[inline]
18701 fn can_cast(kind: SyntaxKind) -> bool {
18702 kind == SyntaxKind::PERCENT_TYPE
18703 }
18704 #[inline]
18705 fn cast(syntax: SyntaxNode) -> Option<Self> {
18706 if Self::can_cast(syntax.kind()) {
18707 Some(Self { syntax })
18708 } else {
18709 None
18710 }
18711 }
18712 #[inline]
18713 fn syntax(&self) -> &SyntaxNode {
18714 &self.syntax
18715 }
18716}
18717impl AstNode for PercentTypeClause {
18718 #[inline]
18719 fn can_cast(kind: SyntaxKind) -> bool {
18720 kind == SyntaxKind::PERCENT_TYPE_CLAUSE
18721 }
18722 #[inline]
18723 fn cast(syntax: SyntaxNode) -> Option<Self> {
18724 if Self::can_cast(syntax.kind()) {
18725 Some(Self { syntax })
18726 } else {
18727 None
18728 }
18729 }
18730 #[inline]
18731 fn syntax(&self) -> &SyntaxNode {
18732 &self.syntax
18733 }
18734}
18735impl AstNode for PostfixExpr {
18736 #[inline]
18737 fn can_cast(kind: SyntaxKind) -> bool {
18738 kind == SyntaxKind::POSTFIX_EXPR
18739 }
18740 #[inline]
18741 fn cast(syntax: SyntaxNode) -> Option<Self> {
18742 if Self::can_cast(syntax.kind()) {
18743 Some(Self { syntax })
18744 } else {
18745 None
18746 }
18747 }
18748 #[inline]
18749 fn syntax(&self) -> &SyntaxNode {
18750 &self.syntax
18751 }
18752}
18753impl AstNode for PrefixExpr {
18754 #[inline]
18755 fn can_cast(kind: SyntaxKind) -> bool {
18756 kind == SyntaxKind::PREFIX_EXPR
18757 }
18758 #[inline]
18759 fn cast(syntax: SyntaxNode) -> Option<Self> {
18760 if Self::can_cast(syntax.kind()) {
18761 Some(Self { syntax })
18762 } else {
18763 None
18764 }
18765 }
18766 #[inline]
18767 fn syntax(&self) -> &SyntaxNode {
18768 &self.syntax
18769 }
18770}
18771impl AstNode for Prepare {
18772 #[inline]
18773 fn can_cast(kind: SyntaxKind) -> bool {
18774 kind == SyntaxKind::PREPARE
18775 }
18776 #[inline]
18777 fn cast(syntax: SyntaxNode) -> Option<Self> {
18778 if Self::can_cast(syntax.kind()) {
18779 Some(Self { syntax })
18780 } else {
18781 None
18782 }
18783 }
18784 #[inline]
18785 fn syntax(&self) -> &SyntaxNode {
18786 &self.syntax
18787 }
18788}
18789impl AstNode for PrepareTransaction {
18790 #[inline]
18791 fn can_cast(kind: SyntaxKind) -> bool {
18792 kind == SyntaxKind::PREPARE_TRANSACTION
18793 }
18794 #[inline]
18795 fn cast(syntax: SyntaxNode) -> Option<Self> {
18796 if Self::can_cast(syntax.kind()) {
18797 Some(Self { syntax })
18798 } else {
18799 None
18800 }
18801 }
18802 #[inline]
18803 fn syntax(&self) -> &SyntaxNode {
18804 &self.syntax
18805 }
18806}
18807impl AstNode for PreserveRows {
18808 #[inline]
18809 fn can_cast(kind: SyntaxKind) -> bool {
18810 kind == SyntaxKind::PRESERVE_ROWS
18811 }
18812 #[inline]
18813 fn cast(syntax: SyntaxNode) -> Option<Self> {
18814 if Self::can_cast(syntax.kind()) {
18815 Some(Self { syntax })
18816 } else {
18817 None
18818 }
18819 }
18820 #[inline]
18821 fn syntax(&self) -> &SyntaxNode {
18822 &self.syntax
18823 }
18824}
18825impl AstNode for PrimaryKeyConstraint {
18826 #[inline]
18827 fn can_cast(kind: SyntaxKind) -> bool {
18828 kind == SyntaxKind::PRIMARY_KEY_CONSTRAINT
18829 }
18830 #[inline]
18831 fn cast(syntax: SyntaxNode) -> Option<Self> {
18832 if Self::can_cast(syntax.kind()) {
18833 Some(Self { syntax })
18834 } else {
18835 None
18836 }
18837 }
18838 #[inline]
18839 fn syntax(&self) -> &SyntaxNode {
18840 &self.syntax
18841 }
18842}
18843impl AstNode for ReadCommitted {
18844 #[inline]
18845 fn can_cast(kind: SyntaxKind) -> bool {
18846 kind == SyntaxKind::READ_COMMITTED
18847 }
18848 #[inline]
18849 fn cast(syntax: SyntaxNode) -> Option<Self> {
18850 if Self::can_cast(syntax.kind()) {
18851 Some(Self { syntax })
18852 } else {
18853 None
18854 }
18855 }
18856 #[inline]
18857 fn syntax(&self) -> &SyntaxNode {
18858 &self.syntax
18859 }
18860}
18861impl AstNode for ReadOnly {
18862 #[inline]
18863 fn can_cast(kind: SyntaxKind) -> bool {
18864 kind == SyntaxKind::READ_ONLY
18865 }
18866 #[inline]
18867 fn cast(syntax: SyntaxNode) -> Option<Self> {
18868 if Self::can_cast(syntax.kind()) {
18869 Some(Self { syntax })
18870 } else {
18871 None
18872 }
18873 }
18874 #[inline]
18875 fn syntax(&self) -> &SyntaxNode {
18876 &self.syntax
18877 }
18878}
18879impl AstNode for ReadUncommitted {
18880 #[inline]
18881 fn can_cast(kind: SyntaxKind) -> bool {
18882 kind == SyntaxKind::READ_UNCOMMITTED
18883 }
18884 #[inline]
18885 fn cast(syntax: SyntaxNode) -> Option<Self> {
18886 if Self::can_cast(syntax.kind()) {
18887 Some(Self { syntax })
18888 } else {
18889 None
18890 }
18891 }
18892 #[inline]
18893 fn syntax(&self) -> &SyntaxNode {
18894 &self.syntax
18895 }
18896}
18897impl AstNode for ReadWrite {
18898 #[inline]
18899 fn can_cast(kind: SyntaxKind) -> bool {
18900 kind == SyntaxKind::READ_WRITE
18901 }
18902 #[inline]
18903 fn cast(syntax: SyntaxNode) -> Option<Self> {
18904 if Self::can_cast(syntax.kind()) {
18905 Some(Self { syntax })
18906 } else {
18907 None
18908 }
18909 }
18910 #[inline]
18911 fn syntax(&self) -> &SyntaxNode {
18912 &self.syntax
18913 }
18914}
18915impl AstNode for Reassign {
18916 #[inline]
18917 fn can_cast(kind: SyntaxKind) -> bool {
18918 kind == SyntaxKind::REASSIGN
18919 }
18920 #[inline]
18921 fn cast(syntax: SyntaxNode) -> Option<Self> {
18922 if Self::can_cast(syntax.kind()) {
18923 Some(Self { syntax })
18924 } else {
18925 None
18926 }
18927 }
18928 #[inline]
18929 fn syntax(&self) -> &SyntaxNode {
18930 &self.syntax
18931 }
18932}
18933impl AstNode for ReferencesConstraint {
18934 #[inline]
18935 fn can_cast(kind: SyntaxKind) -> bool {
18936 kind == SyntaxKind::REFERENCES_CONSTRAINT
18937 }
18938 #[inline]
18939 fn cast(syntax: SyntaxNode) -> Option<Self> {
18940 if Self::can_cast(syntax.kind()) {
18941 Some(Self { syntax })
18942 } else {
18943 None
18944 }
18945 }
18946 #[inline]
18947 fn syntax(&self) -> &SyntaxNode {
18948 &self.syntax
18949 }
18950}
18951impl AstNode for Refresh {
18952 #[inline]
18953 fn can_cast(kind: SyntaxKind) -> bool {
18954 kind == SyntaxKind::REFRESH
18955 }
18956 #[inline]
18957 fn cast(syntax: SyntaxNode) -> Option<Self> {
18958 if Self::can_cast(syntax.kind()) {
18959 Some(Self { syntax })
18960 } else {
18961 None
18962 }
18963 }
18964 #[inline]
18965 fn syntax(&self) -> &SyntaxNode {
18966 &self.syntax
18967 }
18968}
18969impl AstNode for Reindex {
18970 #[inline]
18971 fn can_cast(kind: SyntaxKind) -> bool {
18972 kind == SyntaxKind::REINDEX
18973 }
18974 #[inline]
18975 fn cast(syntax: SyntaxNode) -> Option<Self> {
18976 if Self::can_cast(syntax.kind()) {
18977 Some(Self { syntax })
18978 } else {
18979 None
18980 }
18981 }
18982 #[inline]
18983 fn syntax(&self) -> &SyntaxNode {
18984 &self.syntax
18985 }
18986}
18987impl AstNode for RelationName {
18988 #[inline]
18989 fn can_cast(kind: SyntaxKind) -> bool {
18990 kind == SyntaxKind::RELATION_NAME
18991 }
18992 #[inline]
18993 fn cast(syntax: SyntaxNode) -> Option<Self> {
18994 if Self::can_cast(syntax.kind()) {
18995 Some(Self { syntax })
18996 } else {
18997 None
18998 }
18999 }
19000 #[inline]
19001 fn syntax(&self) -> &SyntaxNode {
19002 &self.syntax
19003 }
19004}
19005impl AstNode for ReleaseSavepoint {
19006 #[inline]
19007 fn can_cast(kind: SyntaxKind) -> bool {
19008 kind == SyntaxKind::RELEASE_SAVEPOINT
19009 }
19010 #[inline]
19011 fn cast(syntax: SyntaxNode) -> Option<Self> {
19012 if Self::can_cast(syntax.kind()) {
19013 Some(Self { syntax })
19014 } else {
19015 None
19016 }
19017 }
19018 #[inline]
19019 fn syntax(&self) -> &SyntaxNode {
19020 &self.syntax
19021 }
19022}
19023impl AstNode for RenameColumn {
19024 #[inline]
19025 fn can_cast(kind: SyntaxKind) -> bool {
19026 kind == SyntaxKind::RENAME_COLUMN
19027 }
19028 #[inline]
19029 fn cast(syntax: SyntaxNode) -> Option<Self> {
19030 if Self::can_cast(syntax.kind()) {
19031 Some(Self { syntax })
19032 } else {
19033 None
19034 }
19035 }
19036 #[inline]
19037 fn syntax(&self) -> &SyntaxNode {
19038 &self.syntax
19039 }
19040}
19041impl AstNode for RenameConstraint {
19042 #[inline]
19043 fn can_cast(kind: SyntaxKind) -> bool {
19044 kind == SyntaxKind::RENAME_CONSTRAINT
19045 }
19046 #[inline]
19047 fn cast(syntax: SyntaxNode) -> Option<Self> {
19048 if Self::can_cast(syntax.kind()) {
19049 Some(Self { syntax })
19050 } else {
19051 None
19052 }
19053 }
19054 #[inline]
19055 fn syntax(&self) -> &SyntaxNode {
19056 &self.syntax
19057 }
19058}
19059impl AstNode for RenameTable {
19060 #[inline]
19061 fn can_cast(kind: SyntaxKind) -> bool {
19062 kind == SyntaxKind::RENAME_TABLE
19063 }
19064 #[inline]
19065 fn cast(syntax: SyntaxNode) -> Option<Self> {
19066 if Self::can_cast(syntax.kind()) {
19067 Some(Self { syntax })
19068 } else {
19069 None
19070 }
19071 }
19072 #[inline]
19073 fn syntax(&self) -> &SyntaxNode {
19074 &self.syntax
19075 }
19076}
19077impl AstNode for RenameTo {
19078 #[inline]
19079 fn can_cast(kind: SyntaxKind) -> bool {
19080 kind == SyntaxKind::RENAME_TO
19081 }
19082 #[inline]
19083 fn cast(syntax: SyntaxNode) -> Option<Self> {
19084 if Self::can_cast(syntax.kind()) {
19085 Some(Self { syntax })
19086 } else {
19087 None
19088 }
19089 }
19090 #[inline]
19091 fn syntax(&self) -> &SyntaxNode {
19092 &self.syntax
19093 }
19094}
19095impl AstNode for RepeatableRead {
19096 #[inline]
19097 fn can_cast(kind: SyntaxKind) -> bool {
19098 kind == SyntaxKind::REPEATABLE_READ
19099 }
19100 #[inline]
19101 fn cast(syntax: SyntaxNode) -> Option<Self> {
19102 if Self::can_cast(syntax.kind()) {
19103 Some(Self { syntax })
19104 } else {
19105 None
19106 }
19107 }
19108 #[inline]
19109 fn syntax(&self) -> &SyntaxNode {
19110 &self.syntax
19111 }
19112}
19113impl AstNode for ReplicaIdentity {
19114 #[inline]
19115 fn can_cast(kind: SyntaxKind) -> bool {
19116 kind == SyntaxKind::REPLICA_IDENTITY
19117 }
19118 #[inline]
19119 fn cast(syntax: SyntaxNode) -> Option<Self> {
19120 if Self::can_cast(syntax.kind()) {
19121 Some(Self { syntax })
19122 } else {
19123 None
19124 }
19125 }
19126 #[inline]
19127 fn syntax(&self) -> &SyntaxNode {
19128 &self.syntax
19129 }
19130}
19131impl AstNode for Reset {
19132 #[inline]
19133 fn can_cast(kind: SyntaxKind) -> bool {
19134 kind == SyntaxKind::RESET
19135 }
19136 #[inline]
19137 fn cast(syntax: SyntaxNode) -> Option<Self> {
19138 if Self::can_cast(syntax.kind()) {
19139 Some(Self { syntax })
19140 } else {
19141 None
19142 }
19143 }
19144 #[inline]
19145 fn syntax(&self) -> &SyntaxNode {
19146 &self.syntax
19147 }
19148}
19149impl AstNode for ResetFuncOption {
19150 #[inline]
19151 fn can_cast(kind: SyntaxKind) -> bool {
19152 kind == SyntaxKind::RESET_FUNC_OPTION
19153 }
19154 #[inline]
19155 fn cast(syntax: SyntaxNode) -> Option<Self> {
19156 if Self::can_cast(syntax.kind()) {
19157 Some(Self { syntax })
19158 } else {
19159 None
19160 }
19161 }
19162 #[inline]
19163 fn syntax(&self) -> &SyntaxNode {
19164 &self.syntax
19165 }
19166}
19167impl AstNode for ResetOptions {
19168 #[inline]
19169 fn can_cast(kind: SyntaxKind) -> bool {
19170 kind == SyntaxKind::RESET_OPTIONS
19171 }
19172 #[inline]
19173 fn cast(syntax: SyntaxNode) -> Option<Self> {
19174 if Self::can_cast(syntax.kind()) {
19175 Some(Self { syntax })
19176 } else {
19177 None
19178 }
19179 }
19180 #[inline]
19181 fn syntax(&self) -> &SyntaxNode {
19182 &self.syntax
19183 }
19184}
19185impl AstNode for ResetStorageParams {
19186 #[inline]
19187 fn can_cast(kind: SyntaxKind) -> bool {
19188 kind == SyntaxKind::RESET_STORAGE_PARAMS
19189 }
19190 #[inline]
19191 fn cast(syntax: SyntaxNode) -> Option<Self> {
19192 if Self::can_cast(syntax.kind()) {
19193 Some(Self { syntax })
19194 } else {
19195 None
19196 }
19197 }
19198 #[inline]
19199 fn syntax(&self) -> &SyntaxNode {
19200 &self.syntax
19201 }
19202}
19203impl AstNode for Restart {
19204 #[inline]
19205 fn can_cast(kind: SyntaxKind) -> bool {
19206 kind == SyntaxKind::RESTART
19207 }
19208 #[inline]
19209 fn cast(syntax: SyntaxNode) -> Option<Self> {
19210 if Self::can_cast(syntax.kind()) {
19211 Some(Self { syntax })
19212 } else {
19213 None
19214 }
19215 }
19216 #[inline]
19217 fn syntax(&self) -> &SyntaxNode {
19218 &self.syntax
19219 }
19220}
19221impl AstNode for Restrict {
19222 #[inline]
19223 fn can_cast(kind: SyntaxKind) -> bool {
19224 kind == SyntaxKind::RESTRICT
19225 }
19226 #[inline]
19227 fn cast(syntax: SyntaxNode) -> Option<Self> {
19228 if Self::can_cast(syntax.kind()) {
19229 Some(Self { syntax })
19230 } else {
19231 None
19232 }
19233 }
19234 #[inline]
19235 fn syntax(&self) -> &SyntaxNode {
19236 &self.syntax
19237 }
19238}
19239impl AstNode for RetType {
19240 #[inline]
19241 fn can_cast(kind: SyntaxKind) -> bool {
19242 kind == SyntaxKind::RET_TYPE
19243 }
19244 #[inline]
19245 fn cast(syntax: SyntaxNode) -> Option<Self> {
19246 if Self::can_cast(syntax.kind()) {
19247 Some(Self { syntax })
19248 } else {
19249 None
19250 }
19251 }
19252 #[inline]
19253 fn syntax(&self) -> &SyntaxNode {
19254 &self.syntax
19255 }
19256}
19257impl AstNode for ReturnFuncOption {
19258 #[inline]
19259 fn can_cast(kind: SyntaxKind) -> bool {
19260 kind == SyntaxKind::RETURN_FUNC_OPTION
19261 }
19262 #[inline]
19263 fn cast(syntax: SyntaxNode) -> Option<Self> {
19264 if Self::can_cast(syntax.kind()) {
19265 Some(Self { syntax })
19266 } else {
19267 None
19268 }
19269 }
19270 #[inline]
19271 fn syntax(&self) -> &SyntaxNode {
19272 &self.syntax
19273 }
19274}
19275impl AstNode for ReturningClause {
19276 #[inline]
19277 fn can_cast(kind: SyntaxKind) -> bool {
19278 kind == SyntaxKind::RETURNING_CLAUSE
19279 }
19280 #[inline]
19281 fn cast(syntax: SyntaxNode) -> Option<Self> {
19282 if Self::can_cast(syntax.kind()) {
19283 Some(Self { syntax })
19284 } else {
19285 None
19286 }
19287 }
19288 #[inline]
19289 fn syntax(&self) -> &SyntaxNode {
19290 &self.syntax
19291 }
19292}
19293impl AstNode for Revoke {
19294 #[inline]
19295 fn can_cast(kind: SyntaxKind) -> bool {
19296 kind == SyntaxKind::REVOKE
19297 }
19298 #[inline]
19299 fn cast(syntax: SyntaxNode) -> Option<Self> {
19300 if Self::can_cast(syntax.kind()) {
19301 Some(Self { syntax })
19302 } else {
19303 None
19304 }
19305 }
19306 #[inline]
19307 fn syntax(&self) -> &SyntaxNode {
19308 &self.syntax
19309 }
19310}
19311impl AstNode for Role {
19312 #[inline]
19313 fn can_cast(kind: SyntaxKind) -> bool {
19314 kind == SyntaxKind::ROLE
19315 }
19316 #[inline]
19317 fn cast(syntax: SyntaxNode) -> Option<Self> {
19318 if Self::can_cast(syntax.kind()) {
19319 Some(Self { syntax })
19320 } else {
19321 None
19322 }
19323 }
19324 #[inline]
19325 fn syntax(&self) -> &SyntaxNode {
19326 &self.syntax
19327 }
19328}
19329impl AstNode for RoleOption {
19330 #[inline]
19331 fn can_cast(kind: SyntaxKind) -> bool {
19332 kind == SyntaxKind::ROLE_OPTION
19333 }
19334 #[inline]
19335 fn cast(syntax: SyntaxNode) -> Option<Self> {
19336 if Self::can_cast(syntax.kind()) {
19337 Some(Self { syntax })
19338 } else {
19339 None
19340 }
19341 }
19342 #[inline]
19343 fn syntax(&self) -> &SyntaxNode {
19344 &self.syntax
19345 }
19346}
19347impl AstNode for RoleOptionList {
19348 #[inline]
19349 fn can_cast(kind: SyntaxKind) -> bool {
19350 kind == SyntaxKind::ROLE_OPTION_LIST
19351 }
19352 #[inline]
19353 fn cast(syntax: SyntaxNode) -> Option<Self> {
19354 if Self::can_cast(syntax.kind()) {
19355 Some(Self { syntax })
19356 } else {
19357 None
19358 }
19359 }
19360 #[inline]
19361 fn syntax(&self) -> &SyntaxNode {
19362 &self.syntax
19363 }
19364}
19365impl AstNode for Rollback {
19366 #[inline]
19367 fn can_cast(kind: SyntaxKind) -> bool {
19368 kind == SyntaxKind::ROLLBACK
19369 }
19370 #[inline]
19371 fn cast(syntax: SyntaxNode) -> Option<Self> {
19372 if Self::can_cast(syntax.kind()) {
19373 Some(Self { syntax })
19374 } else {
19375 None
19376 }
19377 }
19378 #[inline]
19379 fn syntax(&self) -> &SyntaxNode {
19380 &self.syntax
19381 }
19382}
19383impl AstNode for Row {
19384 #[inline]
19385 fn can_cast(kind: SyntaxKind) -> bool {
19386 kind == SyntaxKind::ROW
19387 }
19388 #[inline]
19389 fn cast(syntax: SyntaxNode) -> Option<Self> {
19390 if Self::can_cast(syntax.kind()) {
19391 Some(Self { syntax })
19392 } else {
19393 None
19394 }
19395 }
19396 #[inline]
19397 fn syntax(&self) -> &SyntaxNode {
19398 &self.syntax
19399 }
19400}
19401impl AstNode for RowList {
19402 #[inline]
19403 fn can_cast(kind: SyntaxKind) -> bool {
19404 kind == SyntaxKind::ROW_LIST
19405 }
19406 #[inline]
19407 fn cast(syntax: SyntaxNode) -> Option<Self> {
19408 if Self::can_cast(syntax.kind()) {
19409 Some(Self { syntax })
19410 } else {
19411 None
19412 }
19413 }
19414 #[inline]
19415 fn syntax(&self) -> &SyntaxNode {
19416 &self.syntax
19417 }
19418}
19419impl AstNode for RowsFuncOption {
19420 #[inline]
19421 fn can_cast(kind: SyntaxKind) -> bool {
19422 kind == SyntaxKind::ROWS_FUNC_OPTION
19423 }
19424 #[inline]
19425 fn cast(syntax: SyntaxNode) -> Option<Self> {
19426 if Self::can_cast(syntax.kind()) {
19427 Some(Self { syntax })
19428 } else {
19429 None
19430 }
19431 }
19432 #[inline]
19433 fn syntax(&self) -> &SyntaxNode {
19434 &self.syntax
19435 }
19436}
19437impl AstNode for Savepoint {
19438 #[inline]
19439 fn can_cast(kind: SyntaxKind) -> bool {
19440 kind == SyntaxKind::SAVEPOINT
19441 }
19442 #[inline]
19443 fn cast(syntax: SyntaxNode) -> Option<Self> {
19444 if Self::can_cast(syntax.kind()) {
19445 Some(Self { syntax })
19446 } else {
19447 None
19448 }
19449 }
19450 #[inline]
19451 fn syntax(&self) -> &SyntaxNode {
19452 &self.syntax
19453 }
19454}
19455impl AstNode for SecurityFuncOption {
19456 #[inline]
19457 fn can_cast(kind: SyntaxKind) -> bool {
19458 kind == SyntaxKind::SECURITY_FUNC_OPTION
19459 }
19460 #[inline]
19461 fn cast(syntax: SyntaxNode) -> Option<Self> {
19462 if Self::can_cast(syntax.kind()) {
19463 Some(Self { syntax })
19464 } else {
19465 None
19466 }
19467 }
19468 #[inline]
19469 fn syntax(&self) -> &SyntaxNode {
19470 &self.syntax
19471 }
19472}
19473impl AstNode for SecurityLabel {
19474 #[inline]
19475 fn can_cast(kind: SyntaxKind) -> bool {
19476 kind == SyntaxKind::SECURITY_LABEL
19477 }
19478 #[inline]
19479 fn cast(syntax: SyntaxNode) -> Option<Self> {
19480 if Self::can_cast(syntax.kind()) {
19481 Some(Self { syntax })
19482 } else {
19483 None
19484 }
19485 }
19486 #[inline]
19487 fn syntax(&self) -> &SyntaxNode {
19488 &self.syntax
19489 }
19490}
19491impl AstNode for Select {
19492 #[inline]
19493 fn can_cast(kind: SyntaxKind) -> bool {
19494 kind == SyntaxKind::SELECT
19495 }
19496 #[inline]
19497 fn cast(syntax: SyntaxNode) -> Option<Self> {
19498 if Self::can_cast(syntax.kind()) {
19499 Some(Self { syntax })
19500 } else {
19501 None
19502 }
19503 }
19504 #[inline]
19505 fn syntax(&self) -> &SyntaxNode {
19506 &self.syntax
19507 }
19508}
19509impl AstNode for SelectClause {
19510 #[inline]
19511 fn can_cast(kind: SyntaxKind) -> bool {
19512 kind == SyntaxKind::SELECT_CLAUSE
19513 }
19514 #[inline]
19515 fn cast(syntax: SyntaxNode) -> Option<Self> {
19516 if Self::can_cast(syntax.kind()) {
19517 Some(Self { syntax })
19518 } else {
19519 None
19520 }
19521 }
19522 #[inline]
19523 fn syntax(&self) -> &SyntaxNode {
19524 &self.syntax
19525 }
19526}
19527impl AstNode for SelectInto {
19528 #[inline]
19529 fn can_cast(kind: SyntaxKind) -> bool {
19530 kind == SyntaxKind::SELECT_INTO
19531 }
19532 #[inline]
19533 fn cast(syntax: SyntaxNode) -> Option<Self> {
19534 if Self::can_cast(syntax.kind()) {
19535 Some(Self { syntax })
19536 } else {
19537 None
19538 }
19539 }
19540 #[inline]
19541 fn syntax(&self) -> &SyntaxNode {
19542 &self.syntax
19543 }
19544}
19545impl AstNode for SequenceOption {
19546 #[inline]
19547 fn can_cast(kind: SyntaxKind) -> bool {
19548 kind == SyntaxKind::SEQUENCE_OPTION
19549 }
19550 #[inline]
19551 fn cast(syntax: SyntaxNode) -> Option<Self> {
19552 if Self::can_cast(syntax.kind()) {
19553 Some(Self { syntax })
19554 } else {
19555 None
19556 }
19557 }
19558 #[inline]
19559 fn syntax(&self) -> &SyntaxNode {
19560 &self.syntax
19561 }
19562}
19563impl AstNode for SequenceOptionList {
19564 #[inline]
19565 fn can_cast(kind: SyntaxKind) -> bool {
19566 kind == SyntaxKind::SEQUENCE_OPTION_LIST
19567 }
19568 #[inline]
19569 fn cast(syntax: SyntaxNode) -> Option<Self> {
19570 if Self::can_cast(syntax.kind()) {
19571 Some(Self { syntax })
19572 } else {
19573 None
19574 }
19575 }
19576 #[inline]
19577 fn syntax(&self) -> &SyntaxNode {
19578 &self.syntax
19579 }
19580}
19581impl AstNode for Serializable {
19582 #[inline]
19583 fn can_cast(kind: SyntaxKind) -> bool {
19584 kind == SyntaxKind::SERIALIZABLE
19585 }
19586 #[inline]
19587 fn cast(syntax: SyntaxNode) -> Option<Self> {
19588 if Self::can_cast(syntax.kind()) {
19589 Some(Self { syntax })
19590 } else {
19591 None
19592 }
19593 }
19594 #[inline]
19595 fn syntax(&self) -> &SyntaxNode {
19596 &self.syntax
19597 }
19598}
19599impl AstNode for Set {
19600 #[inline]
19601 fn can_cast(kind: SyntaxKind) -> bool {
19602 kind == SyntaxKind::SET
19603 }
19604 #[inline]
19605 fn cast(syntax: SyntaxNode) -> Option<Self> {
19606 if Self::can_cast(syntax.kind()) {
19607 Some(Self { syntax })
19608 } else {
19609 None
19610 }
19611 }
19612 #[inline]
19613 fn syntax(&self) -> &SyntaxNode {
19614 &self.syntax
19615 }
19616}
19617impl AstNode for SetAccessMethod {
19618 #[inline]
19619 fn can_cast(kind: SyntaxKind) -> bool {
19620 kind == SyntaxKind::SET_ACCESS_METHOD
19621 }
19622 #[inline]
19623 fn cast(syntax: SyntaxNode) -> Option<Self> {
19624 if Self::can_cast(syntax.kind()) {
19625 Some(Self { syntax })
19626 } else {
19627 None
19628 }
19629 }
19630 #[inline]
19631 fn syntax(&self) -> &SyntaxNode {
19632 &self.syntax
19633 }
19634}
19635impl AstNode for SetClause {
19636 #[inline]
19637 fn can_cast(kind: SyntaxKind) -> bool {
19638 kind == SyntaxKind::SET_CLAUSE
19639 }
19640 #[inline]
19641 fn cast(syntax: SyntaxNode) -> Option<Self> {
19642 if Self::can_cast(syntax.kind()) {
19643 Some(Self { syntax })
19644 } else {
19645 None
19646 }
19647 }
19648 #[inline]
19649 fn syntax(&self) -> &SyntaxNode {
19650 &self.syntax
19651 }
19652}
19653impl AstNode for SetColumnList {
19654 #[inline]
19655 fn can_cast(kind: SyntaxKind) -> bool {
19656 kind == SyntaxKind::SET_COLUMN_LIST
19657 }
19658 #[inline]
19659 fn cast(syntax: SyntaxNode) -> Option<Self> {
19660 if Self::can_cast(syntax.kind()) {
19661 Some(Self { syntax })
19662 } else {
19663 None
19664 }
19665 }
19666 #[inline]
19667 fn syntax(&self) -> &SyntaxNode {
19668 &self.syntax
19669 }
19670}
19671impl AstNode for SetCompression {
19672 #[inline]
19673 fn can_cast(kind: SyntaxKind) -> bool {
19674 kind == SyntaxKind::SET_COMPRESSION
19675 }
19676 #[inline]
19677 fn cast(syntax: SyntaxNode) -> Option<Self> {
19678 if Self::can_cast(syntax.kind()) {
19679 Some(Self { syntax })
19680 } else {
19681 None
19682 }
19683 }
19684 #[inline]
19685 fn syntax(&self) -> &SyntaxNode {
19686 &self.syntax
19687 }
19688}
19689impl AstNode for SetConstraints {
19690 #[inline]
19691 fn can_cast(kind: SyntaxKind) -> bool {
19692 kind == SyntaxKind::SET_CONSTRAINTS
19693 }
19694 #[inline]
19695 fn cast(syntax: SyntaxNode) -> Option<Self> {
19696 if Self::can_cast(syntax.kind()) {
19697 Some(Self { syntax })
19698 } else {
19699 None
19700 }
19701 }
19702 #[inline]
19703 fn syntax(&self) -> &SyntaxNode {
19704 &self.syntax
19705 }
19706}
19707impl AstNode for SetDefault {
19708 #[inline]
19709 fn can_cast(kind: SyntaxKind) -> bool {
19710 kind == SyntaxKind::SET_DEFAULT
19711 }
19712 #[inline]
19713 fn cast(syntax: SyntaxNode) -> Option<Self> {
19714 if Self::can_cast(syntax.kind()) {
19715 Some(Self { syntax })
19716 } else {
19717 None
19718 }
19719 }
19720 #[inline]
19721 fn syntax(&self) -> &SyntaxNode {
19722 &self.syntax
19723 }
19724}
19725impl AstNode for SetDefaultColumns {
19726 #[inline]
19727 fn can_cast(kind: SyntaxKind) -> bool {
19728 kind == SyntaxKind::SET_DEFAULT_COLUMNS
19729 }
19730 #[inline]
19731 fn cast(syntax: SyntaxNode) -> Option<Self> {
19732 if Self::can_cast(syntax.kind()) {
19733 Some(Self { syntax })
19734 } else {
19735 None
19736 }
19737 }
19738 #[inline]
19739 fn syntax(&self) -> &SyntaxNode {
19740 &self.syntax
19741 }
19742}
19743impl AstNode for SetExpr {
19744 #[inline]
19745 fn can_cast(kind: SyntaxKind) -> bool {
19746 kind == SyntaxKind::SET_EXPR
19747 }
19748 #[inline]
19749 fn cast(syntax: SyntaxNode) -> Option<Self> {
19750 if Self::can_cast(syntax.kind()) {
19751 Some(Self { syntax })
19752 } else {
19753 None
19754 }
19755 }
19756 #[inline]
19757 fn syntax(&self) -> &SyntaxNode {
19758 &self.syntax
19759 }
19760}
19761impl AstNode for SetExprList {
19762 #[inline]
19763 fn can_cast(kind: SyntaxKind) -> bool {
19764 kind == SyntaxKind::SET_EXPR_LIST
19765 }
19766 #[inline]
19767 fn cast(syntax: SyntaxNode) -> Option<Self> {
19768 if Self::can_cast(syntax.kind()) {
19769 Some(Self { syntax })
19770 } else {
19771 None
19772 }
19773 }
19774 #[inline]
19775 fn syntax(&self) -> &SyntaxNode {
19776 &self.syntax
19777 }
19778}
19779impl AstNode for SetExpression {
19780 #[inline]
19781 fn can_cast(kind: SyntaxKind) -> bool {
19782 kind == SyntaxKind::SET_EXPRESSION
19783 }
19784 #[inline]
19785 fn cast(syntax: SyntaxNode) -> Option<Self> {
19786 if Self::can_cast(syntax.kind()) {
19787 Some(Self { syntax })
19788 } else {
19789 None
19790 }
19791 }
19792 #[inline]
19793 fn syntax(&self) -> &SyntaxNode {
19794 &self.syntax
19795 }
19796}
19797impl AstNode for SetFuncOption {
19798 #[inline]
19799 fn can_cast(kind: SyntaxKind) -> bool {
19800 kind == SyntaxKind::SET_FUNC_OPTION
19801 }
19802 #[inline]
19803 fn cast(syntax: SyntaxNode) -> Option<Self> {
19804 if Self::can_cast(syntax.kind()) {
19805 Some(Self { syntax })
19806 } else {
19807 None
19808 }
19809 }
19810 #[inline]
19811 fn syntax(&self) -> &SyntaxNode {
19812 &self.syntax
19813 }
19814}
19815impl AstNode for SetGenerated {
19816 #[inline]
19817 fn can_cast(kind: SyntaxKind) -> bool {
19818 kind == SyntaxKind::SET_GENERATED
19819 }
19820 #[inline]
19821 fn cast(syntax: SyntaxNode) -> Option<Self> {
19822 if Self::can_cast(syntax.kind()) {
19823 Some(Self { syntax })
19824 } else {
19825 None
19826 }
19827 }
19828 #[inline]
19829 fn syntax(&self) -> &SyntaxNode {
19830 &self.syntax
19831 }
19832}
19833impl AstNode for SetGeneratedOptions {
19834 #[inline]
19835 fn can_cast(kind: SyntaxKind) -> bool {
19836 kind == SyntaxKind::SET_GENERATED_OPTIONS
19837 }
19838 #[inline]
19839 fn cast(syntax: SyntaxNode) -> Option<Self> {
19840 if Self::can_cast(syntax.kind()) {
19841 Some(Self { syntax })
19842 } else {
19843 None
19844 }
19845 }
19846 #[inline]
19847 fn syntax(&self) -> &SyntaxNode {
19848 &self.syntax
19849 }
19850}
19851impl AstNode for SetLogged {
19852 #[inline]
19853 fn can_cast(kind: SyntaxKind) -> bool {
19854 kind == SyntaxKind::SET_LOGGED
19855 }
19856 #[inline]
19857 fn cast(syntax: SyntaxNode) -> Option<Self> {
19858 if Self::can_cast(syntax.kind()) {
19859 Some(Self { syntax })
19860 } else {
19861 None
19862 }
19863 }
19864 #[inline]
19865 fn syntax(&self) -> &SyntaxNode {
19866 &self.syntax
19867 }
19868}
19869impl AstNode for SetMultipleColumns {
19870 #[inline]
19871 fn can_cast(kind: SyntaxKind) -> bool {
19872 kind == SyntaxKind::SET_MULTIPLE_COLUMNS
19873 }
19874 #[inline]
19875 fn cast(syntax: SyntaxNode) -> Option<Self> {
19876 if Self::can_cast(syntax.kind()) {
19877 Some(Self { syntax })
19878 } else {
19879 None
19880 }
19881 }
19882 #[inline]
19883 fn syntax(&self) -> &SyntaxNode {
19884 &self.syntax
19885 }
19886}
19887impl AstNode for SetNotNull {
19888 #[inline]
19889 fn can_cast(kind: SyntaxKind) -> bool {
19890 kind == SyntaxKind::SET_NOT_NULL
19891 }
19892 #[inline]
19893 fn cast(syntax: SyntaxNode) -> Option<Self> {
19894 if Self::can_cast(syntax.kind()) {
19895 Some(Self { syntax })
19896 } else {
19897 None
19898 }
19899 }
19900 #[inline]
19901 fn syntax(&self) -> &SyntaxNode {
19902 &self.syntax
19903 }
19904}
19905impl AstNode for SetNullColumns {
19906 #[inline]
19907 fn can_cast(kind: SyntaxKind) -> bool {
19908 kind == SyntaxKind::SET_NULL_COLUMNS
19909 }
19910 #[inline]
19911 fn cast(syntax: SyntaxNode) -> Option<Self> {
19912 if Self::can_cast(syntax.kind()) {
19913 Some(Self { syntax })
19914 } else {
19915 None
19916 }
19917 }
19918 #[inline]
19919 fn syntax(&self) -> &SyntaxNode {
19920 &self.syntax
19921 }
19922}
19923impl AstNode for SetOptions {
19924 #[inline]
19925 fn can_cast(kind: SyntaxKind) -> bool {
19926 kind == SyntaxKind::SET_OPTIONS
19927 }
19928 #[inline]
19929 fn cast(syntax: SyntaxNode) -> Option<Self> {
19930 if Self::can_cast(syntax.kind()) {
19931 Some(Self { syntax })
19932 } else {
19933 None
19934 }
19935 }
19936 #[inline]
19937 fn syntax(&self) -> &SyntaxNode {
19938 &self.syntax
19939 }
19940}
19941impl AstNode for SetOptionsList {
19942 #[inline]
19943 fn can_cast(kind: SyntaxKind) -> bool {
19944 kind == SyntaxKind::SET_OPTIONS_LIST
19945 }
19946 #[inline]
19947 fn cast(syntax: SyntaxNode) -> Option<Self> {
19948 if Self::can_cast(syntax.kind()) {
19949 Some(Self { syntax })
19950 } else {
19951 None
19952 }
19953 }
19954 #[inline]
19955 fn syntax(&self) -> &SyntaxNode {
19956 &self.syntax
19957 }
19958}
19959impl AstNode for SetRole {
19960 #[inline]
19961 fn can_cast(kind: SyntaxKind) -> bool {
19962 kind == SyntaxKind::SET_ROLE
19963 }
19964 #[inline]
19965 fn cast(syntax: SyntaxNode) -> Option<Self> {
19966 if Self::can_cast(syntax.kind()) {
19967 Some(Self { syntax })
19968 } else {
19969 None
19970 }
19971 }
19972 #[inline]
19973 fn syntax(&self) -> &SyntaxNode {
19974 &self.syntax
19975 }
19976}
19977impl AstNode for SetSchema {
19978 #[inline]
19979 fn can_cast(kind: SyntaxKind) -> bool {
19980 kind == SyntaxKind::SET_SCHEMA
19981 }
19982 #[inline]
19983 fn cast(syntax: SyntaxNode) -> Option<Self> {
19984 if Self::can_cast(syntax.kind()) {
19985 Some(Self { syntax })
19986 } else {
19987 None
19988 }
19989 }
19990 #[inline]
19991 fn syntax(&self) -> &SyntaxNode {
19992 &self.syntax
19993 }
19994}
19995impl AstNode for SetSequenceOption {
19996 #[inline]
19997 fn can_cast(kind: SyntaxKind) -> bool {
19998 kind == SyntaxKind::SET_SEQUENCE_OPTION
19999 }
20000 #[inline]
20001 fn cast(syntax: SyntaxNode) -> Option<Self> {
20002 if Self::can_cast(syntax.kind()) {
20003 Some(Self { syntax })
20004 } else {
20005 None
20006 }
20007 }
20008 #[inline]
20009 fn syntax(&self) -> &SyntaxNode {
20010 &self.syntax
20011 }
20012}
20013impl AstNode for SetSessionAuth {
20014 #[inline]
20015 fn can_cast(kind: SyntaxKind) -> bool {
20016 kind == SyntaxKind::SET_SESSION_AUTH
20017 }
20018 #[inline]
20019 fn cast(syntax: SyntaxNode) -> Option<Self> {
20020 if Self::can_cast(syntax.kind()) {
20021 Some(Self { syntax })
20022 } else {
20023 None
20024 }
20025 }
20026 #[inline]
20027 fn syntax(&self) -> &SyntaxNode {
20028 &self.syntax
20029 }
20030}
20031impl AstNode for SetSingleColumn {
20032 #[inline]
20033 fn can_cast(kind: SyntaxKind) -> bool {
20034 kind == SyntaxKind::SET_SINGLE_COLUMN
20035 }
20036 #[inline]
20037 fn cast(syntax: SyntaxNode) -> Option<Self> {
20038 if Self::can_cast(syntax.kind()) {
20039 Some(Self { syntax })
20040 } else {
20041 None
20042 }
20043 }
20044 #[inline]
20045 fn syntax(&self) -> &SyntaxNode {
20046 &self.syntax
20047 }
20048}
20049impl AstNode for SetStatistics {
20050 #[inline]
20051 fn can_cast(kind: SyntaxKind) -> bool {
20052 kind == SyntaxKind::SET_STATISTICS
20053 }
20054 #[inline]
20055 fn cast(syntax: SyntaxNode) -> Option<Self> {
20056 if Self::can_cast(syntax.kind()) {
20057 Some(Self { syntax })
20058 } else {
20059 None
20060 }
20061 }
20062 #[inline]
20063 fn syntax(&self) -> &SyntaxNode {
20064 &self.syntax
20065 }
20066}
20067impl AstNode for SetStorage {
20068 #[inline]
20069 fn can_cast(kind: SyntaxKind) -> bool {
20070 kind == SyntaxKind::SET_STORAGE
20071 }
20072 #[inline]
20073 fn cast(syntax: SyntaxNode) -> Option<Self> {
20074 if Self::can_cast(syntax.kind()) {
20075 Some(Self { syntax })
20076 } else {
20077 None
20078 }
20079 }
20080 #[inline]
20081 fn syntax(&self) -> &SyntaxNode {
20082 &self.syntax
20083 }
20084}
20085impl AstNode for SetStorageParams {
20086 #[inline]
20087 fn can_cast(kind: SyntaxKind) -> bool {
20088 kind == SyntaxKind::SET_STORAGE_PARAMS
20089 }
20090 #[inline]
20091 fn cast(syntax: SyntaxNode) -> Option<Self> {
20092 if Self::can_cast(syntax.kind()) {
20093 Some(Self { syntax })
20094 } else {
20095 None
20096 }
20097 }
20098 #[inline]
20099 fn syntax(&self) -> &SyntaxNode {
20100 &self.syntax
20101 }
20102}
20103impl AstNode for SetTablespace {
20104 #[inline]
20105 fn can_cast(kind: SyntaxKind) -> bool {
20106 kind == SyntaxKind::SET_TABLESPACE
20107 }
20108 #[inline]
20109 fn cast(syntax: SyntaxNode) -> Option<Self> {
20110 if Self::can_cast(syntax.kind()) {
20111 Some(Self { syntax })
20112 } else {
20113 None
20114 }
20115 }
20116 #[inline]
20117 fn syntax(&self) -> &SyntaxNode {
20118 &self.syntax
20119 }
20120}
20121impl AstNode for SetTransaction {
20122 #[inline]
20123 fn can_cast(kind: SyntaxKind) -> bool {
20124 kind == SyntaxKind::SET_TRANSACTION
20125 }
20126 #[inline]
20127 fn cast(syntax: SyntaxNode) -> Option<Self> {
20128 if Self::can_cast(syntax.kind()) {
20129 Some(Self { syntax })
20130 } else {
20131 None
20132 }
20133 }
20134 #[inline]
20135 fn syntax(&self) -> &SyntaxNode {
20136 &self.syntax
20137 }
20138}
20139impl AstNode for SetType {
20140 #[inline]
20141 fn can_cast(kind: SyntaxKind) -> bool {
20142 kind == SyntaxKind::SET_TYPE
20143 }
20144 #[inline]
20145 fn cast(syntax: SyntaxNode) -> Option<Self> {
20146 if Self::can_cast(syntax.kind()) {
20147 Some(Self { syntax })
20148 } else {
20149 None
20150 }
20151 }
20152 #[inline]
20153 fn syntax(&self) -> &SyntaxNode {
20154 &self.syntax
20155 }
20156}
20157impl AstNode for SetUnlogged {
20158 #[inline]
20159 fn can_cast(kind: SyntaxKind) -> bool {
20160 kind == SyntaxKind::SET_UNLOGGED
20161 }
20162 #[inline]
20163 fn cast(syntax: SyntaxNode) -> Option<Self> {
20164 if Self::can_cast(syntax.kind()) {
20165 Some(Self { syntax })
20166 } else {
20167 None
20168 }
20169 }
20170 #[inline]
20171 fn syntax(&self) -> &SyntaxNode {
20172 &self.syntax
20173 }
20174}
20175impl AstNode for SetWithoutCluster {
20176 #[inline]
20177 fn can_cast(kind: SyntaxKind) -> bool {
20178 kind == SyntaxKind::SET_WITHOUT_CLUSTER
20179 }
20180 #[inline]
20181 fn cast(syntax: SyntaxNode) -> Option<Self> {
20182 if Self::can_cast(syntax.kind()) {
20183 Some(Self { syntax })
20184 } else {
20185 None
20186 }
20187 }
20188 #[inline]
20189 fn syntax(&self) -> &SyntaxNode {
20190 &self.syntax
20191 }
20192}
20193impl AstNode for SetWithoutOids {
20194 #[inline]
20195 fn can_cast(kind: SyntaxKind) -> bool {
20196 kind == SyntaxKind::SET_WITHOUT_OIDS
20197 }
20198 #[inline]
20199 fn cast(syntax: SyntaxNode) -> Option<Self> {
20200 if Self::can_cast(syntax.kind()) {
20201 Some(Self { syntax })
20202 } else {
20203 None
20204 }
20205 }
20206 #[inline]
20207 fn syntax(&self) -> &SyntaxNode {
20208 &self.syntax
20209 }
20210}
20211impl AstNode for Show {
20212 #[inline]
20213 fn can_cast(kind: SyntaxKind) -> bool {
20214 kind == SyntaxKind::SHOW
20215 }
20216 #[inline]
20217 fn cast(syntax: SyntaxNode) -> Option<Self> {
20218 if Self::can_cast(syntax.kind()) {
20219 Some(Self { syntax })
20220 } else {
20221 None
20222 }
20223 }
20224 #[inline]
20225 fn syntax(&self) -> &SyntaxNode {
20226 &self.syntax
20227 }
20228}
20229impl AstNode for SimilarTo {
20230 #[inline]
20231 fn can_cast(kind: SyntaxKind) -> bool {
20232 kind == SyntaxKind::SIMILAR_TO
20233 }
20234 #[inline]
20235 fn cast(syntax: SyntaxNode) -> Option<Self> {
20236 if Self::can_cast(syntax.kind()) {
20237 Some(Self { syntax })
20238 } else {
20239 None
20240 }
20241 }
20242 #[inline]
20243 fn syntax(&self) -> &SyntaxNode {
20244 &self.syntax
20245 }
20246}
20247impl AstNode for SliceExpr {
20248 #[inline]
20249 fn can_cast(kind: SyntaxKind) -> bool {
20250 kind == SyntaxKind::SLICE_EXPR
20251 }
20252 #[inline]
20253 fn cast(syntax: SyntaxNode) -> Option<Self> {
20254 if Self::can_cast(syntax.kind()) {
20255 Some(Self { syntax })
20256 } else {
20257 None
20258 }
20259 }
20260 #[inline]
20261 fn syntax(&self) -> &SyntaxNode {
20262 &self.syntax
20263 }
20264}
20265impl AstNode for SortAsc {
20266 #[inline]
20267 fn can_cast(kind: SyntaxKind) -> bool {
20268 kind == SyntaxKind::SORT_ASC
20269 }
20270 #[inline]
20271 fn cast(syntax: SyntaxNode) -> Option<Self> {
20272 if Self::can_cast(syntax.kind()) {
20273 Some(Self { syntax })
20274 } else {
20275 None
20276 }
20277 }
20278 #[inline]
20279 fn syntax(&self) -> &SyntaxNode {
20280 &self.syntax
20281 }
20282}
20283impl AstNode for SortBy {
20284 #[inline]
20285 fn can_cast(kind: SyntaxKind) -> bool {
20286 kind == SyntaxKind::SORT_BY
20287 }
20288 #[inline]
20289 fn cast(syntax: SyntaxNode) -> Option<Self> {
20290 if Self::can_cast(syntax.kind()) {
20291 Some(Self { syntax })
20292 } else {
20293 None
20294 }
20295 }
20296 #[inline]
20297 fn syntax(&self) -> &SyntaxNode {
20298 &self.syntax
20299 }
20300}
20301impl AstNode for SortByList {
20302 #[inline]
20303 fn can_cast(kind: SyntaxKind) -> bool {
20304 kind == SyntaxKind::SORT_BY_LIST
20305 }
20306 #[inline]
20307 fn cast(syntax: SyntaxNode) -> Option<Self> {
20308 if Self::can_cast(syntax.kind()) {
20309 Some(Self { syntax })
20310 } else {
20311 None
20312 }
20313 }
20314 #[inline]
20315 fn syntax(&self) -> &SyntaxNode {
20316 &self.syntax
20317 }
20318}
20319impl AstNode for SortDesc {
20320 #[inline]
20321 fn can_cast(kind: SyntaxKind) -> bool {
20322 kind == SyntaxKind::SORT_DESC
20323 }
20324 #[inline]
20325 fn cast(syntax: SyntaxNode) -> Option<Self> {
20326 if Self::can_cast(syntax.kind()) {
20327 Some(Self { syntax })
20328 } else {
20329 None
20330 }
20331 }
20332 #[inline]
20333 fn syntax(&self) -> &SyntaxNode {
20334 &self.syntax
20335 }
20336}
20337impl AstNode for SortUsing {
20338 #[inline]
20339 fn can_cast(kind: SyntaxKind) -> bool {
20340 kind == SyntaxKind::SORT_USING
20341 }
20342 #[inline]
20343 fn cast(syntax: SyntaxNode) -> Option<Self> {
20344 if Self::can_cast(syntax.kind()) {
20345 Some(Self { syntax })
20346 } else {
20347 None
20348 }
20349 }
20350 #[inline]
20351 fn syntax(&self) -> &SyntaxNode {
20352 &self.syntax
20353 }
20354}
20355impl AstNode for SourceFile {
20356 #[inline]
20357 fn can_cast(kind: SyntaxKind) -> bool {
20358 kind == SyntaxKind::SOURCE_FILE
20359 }
20360 #[inline]
20361 fn cast(syntax: SyntaxNode) -> Option<Self> {
20362 if Self::can_cast(syntax.kind()) {
20363 Some(Self { syntax })
20364 } else {
20365 None
20366 }
20367 }
20368 #[inline]
20369 fn syntax(&self) -> &SyntaxNode {
20370 &self.syntax
20371 }
20372}
20373impl AstNode for Storage {
20374 #[inline]
20375 fn can_cast(kind: SyntaxKind) -> bool {
20376 kind == SyntaxKind::STORAGE
20377 }
20378 #[inline]
20379 fn cast(syntax: SyntaxNode) -> Option<Self> {
20380 if Self::can_cast(syntax.kind()) {
20381 Some(Self { syntax })
20382 } else {
20383 None
20384 }
20385 }
20386 #[inline]
20387 fn syntax(&self) -> &SyntaxNode {
20388 &self.syntax
20389 }
20390}
20391impl AstNode for StrictFuncOption {
20392 #[inline]
20393 fn can_cast(kind: SyntaxKind) -> bool {
20394 kind == SyntaxKind::STRICT_FUNC_OPTION
20395 }
20396 #[inline]
20397 fn cast(syntax: SyntaxNode) -> Option<Self> {
20398 if Self::can_cast(syntax.kind()) {
20399 Some(Self { syntax })
20400 } else {
20401 None
20402 }
20403 }
20404 #[inline]
20405 fn syntax(&self) -> &SyntaxNode {
20406 &self.syntax
20407 }
20408}
20409impl AstNode for SupportFuncOption {
20410 #[inline]
20411 fn can_cast(kind: SyntaxKind) -> bool {
20412 kind == SyntaxKind::SUPPORT_FUNC_OPTION
20413 }
20414 #[inline]
20415 fn cast(syntax: SyntaxNode) -> Option<Self> {
20416 if Self::can_cast(syntax.kind()) {
20417 Some(Self { syntax })
20418 } else {
20419 None
20420 }
20421 }
20422 #[inline]
20423 fn syntax(&self) -> &SyntaxNode {
20424 &self.syntax
20425 }
20426}
20427impl AstNode for Table {
20428 #[inline]
20429 fn can_cast(kind: SyntaxKind) -> bool {
20430 kind == SyntaxKind::TABLE
20431 }
20432 #[inline]
20433 fn cast(syntax: SyntaxNode) -> Option<Self> {
20434 if Self::can_cast(syntax.kind()) {
20435 Some(Self { syntax })
20436 } else {
20437 None
20438 }
20439 }
20440 #[inline]
20441 fn syntax(&self) -> &SyntaxNode {
20442 &self.syntax
20443 }
20444}
20445impl AstNode for TableArgList {
20446 #[inline]
20447 fn can_cast(kind: SyntaxKind) -> bool {
20448 kind == SyntaxKind::TABLE_ARG_LIST
20449 }
20450 #[inline]
20451 fn cast(syntax: SyntaxNode) -> Option<Self> {
20452 if Self::can_cast(syntax.kind()) {
20453 Some(Self { syntax })
20454 } else {
20455 None
20456 }
20457 }
20458 #[inline]
20459 fn syntax(&self) -> &SyntaxNode {
20460 &self.syntax
20461 }
20462}
20463impl AstNode for TableList {
20464 #[inline]
20465 fn can_cast(kind: SyntaxKind) -> bool {
20466 kind == SyntaxKind::TABLE_LIST
20467 }
20468 #[inline]
20469 fn cast(syntax: SyntaxNode) -> Option<Self> {
20470 if Self::can_cast(syntax.kind()) {
20471 Some(Self { syntax })
20472 } else {
20473 None
20474 }
20475 }
20476 #[inline]
20477 fn syntax(&self) -> &SyntaxNode {
20478 &self.syntax
20479 }
20480}
20481impl AstNode for Tablespace {
20482 #[inline]
20483 fn can_cast(kind: SyntaxKind) -> bool {
20484 kind == SyntaxKind::TABLESPACE
20485 }
20486 #[inline]
20487 fn cast(syntax: SyntaxNode) -> Option<Self> {
20488 if Self::can_cast(syntax.kind()) {
20489 Some(Self { syntax })
20490 } else {
20491 None
20492 }
20493 }
20494 #[inline]
20495 fn syntax(&self) -> &SyntaxNode {
20496 &self.syntax
20497 }
20498}
20499impl AstNode for Target {
20500 #[inline]
20501 fn can_cast(kind: SyntaxKind) -> bool {
20502 kind == SyntaxKind::TARGET
20503 }
20504 #[inline]
20505 fn cast(syntax: SyntaxNode) -> Option<Self> {
20506 if Self::can_cast(syntax.kind()) {
20507 Some(Self { syntax })
20508 } else {
20509 None
20510 }
20511 }
20512 #[inline]
20513 fn syntax(&self) -> &SyntaxNode {
20514 &self.syntax
20515 }
20516}
20517impl AstNode for TargetList {
20518 #[inline]
20519 fn can_cast(kind: SyntaxKind) -> bool {
20520 kind == SyntaxKind::TARGET_LIST
20521 }
20522 #[inline]
20523 fn cast(syntax: SyntaxNode) -> Option<Self> {
20524 if Self::can_cast(syntax.kind()) {
20525 Some(Self { syntax })
20526 } else {
20527 None
20528 }
20529 }
20530 #[inline]
20531 fn syntax(&self) -> &SyntaxNode {
20532 &self.syntax
20533 }
20534}
20535impl AstNode for TimeType {
20536 #[inline]
20537 fn can_cast(kind: SyntaxKind) -> bool {
20538 kind == SyntaxKind::TIME_TYPE
20539 }
20540 #[inline]
20541 fn cast(syntax: SyntaxNode) -> Option<Self> {
20542 if Self::can_cast(syntax.kind()) {
20543 Some(Self { syntax })
20544 } else {
20545 None
20546 }
20547 }
20548 #[inline]
20549 fn syntax(&self) -> &SyntaxNode {
20550 &self.syntax
20551 }
20552}
20553impl AstNode for TransactionModeList {
20554 #[inline]
20555 fn can_cast(kind: SyntaxKind) -> bool {
20556 kind == SyntaxKind::TRANSACTION_MODE_LIST
20557 }
20558 #[inline]
20559 fn cast(syntax: SyntaxNode) -> Option<Self> {
20560 if Self::can_cast(syntax.kind()) {
20561 Some(Self { syntax })
20562 } else {
20563 None
20564 }
20565 }
20566 #[inline]
20567 fn syntax(&self) -> &SyntaxNode {
20568 &self.syntax
20569 }
20570}
20571impl AstNode for TransformFuncOption {
20572 #[inline]
20573 fn can_cast(kind: SyntaxKind) -> bool {
20574 kind == SyntaxKind::TRANSFORM_FUNC_OPTION
20575 }
20576 #[inline]
20577 fn cast(syntax: SyntaxNode) -> Option<Self> {
20578 if Self::can_cast(syntax.kind()) {
20579 Some(Self { syntax })
20580 } else {
20581 None
20582 }
20583 }
20584 #[inline]
20585 fn syntax(&self) -> &SyntaxNode {
20586 &self.syntax
20587 }
20588}
20589impl AstNode for Truncate {
20590 #[inline]
20591 fn can_cast(kind: SyntaxKind) -> bool {
20592 kind == SyntaxKind::TRUNCATE
20593 }
20594 #[inline]
20595 fn cast(syntax: SyntaxNode) -> Option<Self> {
20596 if Self::can_cast(syntax.kind()) {
20597 Some(Self { syntax })
20598 } else {
20599 None
20600 }
20601 }
20602 #[inline]
20603 fn syntax(&self) -> &SyntaxNode {
20604 &self.syntax
20605 }
20606}
20607impl AstNode for TupleExpr {
20608 #[inline]
20609 fn can_cast(kind: SyntaxKind) -> bool {
20610 kind == SyntaxKind::TUPLE_EXPR
20611 }
20612 #[inline]
20613 fn cast(syntax: SyntaxNode) -> Option<Self> {
20614 if Self::can_cast(syntax.kind()) {
20615 Some(Self { syntax })
20616 } else {
20617 None
20618 }
20619 }
20620 #[inline]
20621 fn syntax(&self) -> &SyntaxNode {
20622 &self.syntax
20623 }
20624}
20625impl AstNode for UnicodeNormalForm {
20626 #[inline]
20627 fn can_cast(kind: SyntaxKind) -> bool {
20628 kind == SyntaxKind::UNICODE_NORMAL_FORM
20629 }
20630 #[inline]
20631 fn cast(syntax: SyntaxNode) -> Option<Self> {
20632 if Self::can_cast(syntax.kind()) {
20633 Some(Self { syntax })
20634 } else {
20635 None
20636 }
20637 }
20638 #[inline]
20639 fn syntax(&self) -> &SyntaxNode {
20640 &self.syntax
20641 }
20642}
20643impl AstNode for UniqueConstraint {
20644 #[inline]
20645 fn can_cast(kind: SyntaxKind) -> bool {
20646 kind == SyntaxKind::UNIQUE_CONSTRAINT
20647 }
20648 #[inline]
20649 fn cast(syntax: SyntaxNode) -> Option<Self> {
20650 if Self::can_cast(syntax.kind()) {
20651 Some(Self { syntax })
20652 } else {
20653 None
20654 }
20655 }
20656 #[inline]
20657 fn syntax(&self) -> &SyntaxNode {
20658 &self.syntax
20659 }
20660}
20661impl AstNode for Unlisten {
20662 #[inline]
20663 fn can_cast(kind: SyntaxKind) -> bool {
20664 kind == SyntaxKind::UNLISTEN
20665 }
20666 #[inline]
20667 fn cast(syntax: SyntaxNode) -> Option<Self> {
20668 if Self::can_cast(syntax.kind()) {
20669 Some(Self { syntax })
20670 } else {
20671 None
20672 }
20673 }
20674 #[inline]
20675 fn syntax(&self) -> &SyntaxNode {
20676 &self.syntax
20677 }
20678}
20679impl AstNode for Update {
20680 #[inline]
20681 fn can_cast(kind: SyntaxKind) -> bool {
20682 kind == SyntaxKind::UPDATE
20683 }
20684 #[inline]
20685 fn cast(syntax: SyntaxNode) -> Option<Self> {
20686 if Self::can_cast(syntax.kind()) {
20687 Some(Self { syntax })
20688 } else {
20689 None
20690 }
20691 }
20692 #[inline]
20693 fn syntax(&self) -> &SyntaxNode {
20694 &self.syntax
20695 }
20696}
20697impl AstNode for UsingClause {
20698 #[inline]
20699 fn can_cast(kind: SyntaxKind) -> bool {
20700 kind == SyntaxKind::USING_CLAUSE
20701 }
20702 #[inline]
20703 fn cast(syntax: SyntaxNode) -> Option<Self> {
20704 if Self::can_cast(syntax.kind()) {
20705 Some(Self { syntax })
20706 } else {
20707 None
20708 }
20709 }
20710 #[inline]
20711 fn syntax(&self) -> &SyntaxNode {
20712 &self.syntax
20713 }
20714}
20715impl AstNode for UsingIndex {
20716 #[inline]
20717 fn can_cast(kind: SyntaxKind) -> bool {
20718 kind == SyntaxKind::USING_INDEX
20719 }
20720 #[inline]
20721 fn cast(syntax: SyntaxNode) -> Option<Self> {
20722 if Self::can_cast(syntax.kind()) {
20723 Some(Self { syntax })
20724 } else {
20725 None
20726 }
20727 }
20728 #[inline]
20729 fn syntax(&self) -> &SyntaxNode {
20730 &self.syntax
20731 }
20732}
20733impl AstNode for UsingMethod {
20734 #[inline]
20735 fn can_cast(kind: SyntaxKind) -> bool {
20736 kind == SyntaxKind::USING_METHOD
20737 }
20738 #[inline]
20739 fn cast(syntax: SyntaxNode) -> Option<Self> {
20740 if Self::can_cast(syntax.kind()) {
20741 Some(Self { syntax })
20742 } else {
20743 None
20744 }
20745 }
20746 #[inline]
20747 fn syntax(&self) -> &SyntaxNode {
20748 &self.syntax
20749 }
20750}
20751impl AstNode for UsingOnClause {
20752 #[inline]
20753 fn can_cast(kind: SyntaxKind) -> bool {
20754 kind == SyntaxKind::USING_ON_CLAUSE
20755 }
20756 #[inline]
20757 fn cast(syntax: SyntaxNode) -> Option<Self> {
20758 if Self::can_cast(syntax.kind()) {
20759 Some(Self { syntax })
20760 } else {
20761 None
20762 }
20763 }
20764 #[inline]
20765 fn syntax(&self) -> &SyntaxNode {
20766 &self.syntax
20767 }
20768}
20769impl AstNode for Vacuum {
20770 #[inline]
20771 fn can_cast(kind: SyntaxKind) -> bool {
20772 kind == SyntaxKind::VACUUM
20773 }
20774 #[inline]
20775 fn cast(syntax: SyntaxNode) -> Option<Self> {
20776 if Self::can_cast(syntax.kind()) {
20777 Some(Self { syntax })
20778 } else {
20779 None
20780 }
20781 }
20782 #[inline]
20783 fn syntax(&self) -> &SyntaxNode {
20784 &self.syntax
20785 }
20786}
20787impl AstNode for VacuumOption {
20788 #[inline]
20789 fn can_cast(kind: SyntaxKind) -> bool {
20790 kind == SyntaxKind::VACUUM_OPTION
20791 }
20792 #[inline]
20793 fn cast(syntax: SyntaxNode) -> Option<Self> {
20794 if Self::can_cast(syntax.kind()) {
20795 Some(Self { syntax })
20796 } else {
20797 None
20798 }
20799 }
20800 #[inline]
20801 fn syntax(&self) -> &SyntaxNode {
20802 &self.syntax
20803 }
20804}
20805impl AstNode for VacuumOptionList {
20806 #[inline]
20807 fn can_cast(kind: SyntaxKind) -> bool {
20808 kind == SyntaxKind::VACUUM_OPTION_LIST
20809 }
20810 #[inline]
20811 fn cast(syntax: SyntaxNode) -> Option<Self> {
20812 if Self::can_cast(syntax.kind()) {
20813 Some(Self { syntax })
20814 } else {
20815 None
20816 }
20817 }
20818 #[inline]
20819 fn syntax(&self) -> &SyntaxNode {
20820 &self.syntax
20821 }
20822}
20823impl AstNode for ValidateConstraint {
20824 #[inline]
20825 fn can_cast(kind: SyntaxKind) -> bool {
20826 kind == SyntaxKind::VALIDATE_CONSTRAINT
20827 }
20828 #[inline]
20829 fn cast(syntax: SyntaxNode) -> Option<Self> {
20830 if Self::can_cast(syntax.kind()) {
20831 Some(Self { syntax })
20832 } else {
20833 None
20834 }
20835 }
20836 #[inline]
20837 fn syntax(&self) -> &SyntaxNode {
20838 &self.syntax
20839 }
20840}
20841impl AstNode for Values {
20842 #[inline]
20843 fn can_cast(kind: SyntaxKind) -> bool {
20844 kind == SyntaxKind::VALUES
20845 }
20846 #[inline]
20847 fn cast(syntax: SyntaxNode) -> Option<Self> {
20848 if Self::can_cast(syntax.kind()) {
20849 Some(Self { syntax })
20850 } else {
20851 None
20852 }
20853 }
20854 #[inline]
20855 fn syntax(&self) -> &SyntaxNode {
20856 &self.syntax
20857 }
20858}
20859impl AstNode for Variant {
20860 #[inline]
20861 fn can_cast(kind: SyntaxKind) -> bool {
20862 kind == SyntaxKind::VARIANT
20863 }
20864 #[inline]
20865 fn cast(syntax: SyntaxNode) -> Option<Self> {
20866 if Self::can_cast(syntax.kind()) {
20867 Some(Self { syntax })
20868 } else {
20869 None
20870 }
20871 }
20872 #[inline]
20873 fn syntax(&self) -> &SyntaxNode {
20874 &self.syntax
20875 }
20876}
20877impl AstNode for VariantList {
20878 #[inline]
20879 fn can_cast(kind: SyntaxKind) -> bool {
20880 kind == SyntaxKind::VARIANT_LIST
20881 }
20882 #[inline]
20883 fn cast(syntax: SyntaxNode) -> Option<Self> {
20884 if Self::can_cast(syntax.kind()) {
20885 Some(Self { syntax })
20886 } else {
20887 None
20888 }
20889 }
20890 #[inline]
20891 fn syntax(&self) -> &SyntaxNode {
20892 &self.syntax
20893 }
20894}
20895impl AstNode for VolatilityFuncOption {
20896 #[inline]
20897 fn can_cast(kind: SyntaxKind) -> bool {
20898 kind == SyntaxKind::VOLATILITY_FUNC_OPTION
20899 }
20900 #[inline]
20901 fn cast(syntax: SyntaxNode) -> Option<Self> {
20902 if Self::can_cast(syntax.kind()) {
20903 Some(Self { syntax })
20904 } else {
20905 None
20906 }
20907 }
20908 #[inline]
20909 fn syntax(&self) -> &SyntaxNode {
20910 &self.syntax
20911 }
20912}
20913impl AstNode for WhenClause {
20914 #[inline]
20915 fn can_cast(kind: SyntaxKind) -> bool {
20916 kind == SyntaxKind::WHEN_CLAUSE
20917 }
20918 #[inline]
20919 fn cast(syntax: SyntaxNode) -> Option<Self> {
20920 if Self::can_cast(syntax.kind()) {
20921 Some(Self { syntax })
20922 } else {
20923 None
20924 }
20925 }
20926 #[inline]
20927 fn syntax(&self) -> &SyntaxNode {
20928 &self.syntax
20929 }
20930}
20931impl AstNode for WhenClauseList {
20932 #[inline]
20933 fn can_cast(kind: SyntaxKind) -> bool {
20934 kind == SyntaxKind::WHEN_CLAUSE_LIST
20935 }
20936 #[inline]
20937 fn cast(syntax: SyntaxNode) -> Option<Self> {
20938 if Self::can_cast(syntax.kind()) {
20939 Some(Self { syntax })
20940 } else {
20941 None
20942 }
20943 }
20944 #[inline]
20945 fn syntax(&self) -> &SyntaxNode {
20946 &self.syntax
20947 }
20948}
20949impl AstNode for WhereClause {
20950 #[inline]
20951 fn can_cast(kind: SyntaxKind) -> bool {
20952 kind == SyntaxKind::WHERE_CLAUSE
20953 }
20954 #[inline]
20955 fn cast(syntax: SyntaxNode) -> Option<Self> {
20956 if Self::can_cast(syntax.kind()) {
20957 Some(Self { syntax })
20958 } else {
20959 None
20960 }
20961 }
20962 #[inline]
20963 fn syntax(&self) -> &SyntaxNode {
20964 &self.syntax
20965 }
20966}
20967impl AstNode for WhereCurrentOf {
20968 #[inline]
20969 fn can_cast(kind: SyntaxKind) -> bool {
20970 kind == SyntaxKind::WHERE_CURRENT_OF
20971 }
20972 #[inline]
20973 fn cast(syntax: SyntaxNode) -> Option<Self> {
20974 if Self::can_cast(syntax.kind()) {
20975 Some(Self { syntax })
20976 } else {
20977 None
20978 }
20979 }
20980 #[inline]
20981 fn syntax(&self) -> &SyntaxNode {
20982 &self.syntax
20983 }
20984}
20985impl AstNode for WindowClause {
20986 #[inline]
20987 fn can_cast(kind: SyntaxKind) -> bool {
20988 kind == SyntaxKind::WINDOW_CLAUSE
20989 }
20990 #[inline]
20991 fn cast(syntax: SyntaxNode) -> Option<Self> {
20992 if Self::can_cast(syntax.kind()) {
20993 Some(Self { syntax })
20994 } else {
20995 None
20996 }
20997 }
20998 #[inline]
20999 fn syntax(&self) -> &SyntaxNode {
21000 &self.syntax
21001 }
21002}
21003impl AstNode for WindowDef {
21004 #[inline]
21005 fn can_cast(kind: SyntaxKind) -> bool {
21006 kind == SyntaxKind::WINDOW_DEF
21007 }
21008 #[inline]
21009 fn cast(syntax: SyntaxNode) -> Option<Self> {
21010 if Self::can_cast(syntax.kind()) {
21011 Some(Self { syntax })
21012 } else {
21013 None
21014 }
21015 }
21016 #[inline]
21017 fn syntax(&self) -> &SyntaxNode {
21018 &self.syntax
21019 }
21020}
21021impl AstNode for WindowFuncOption {
21022 #[inline]
21023 fn can_cast(kind: SyntaxKind) -> bool {
21024 kind == SyntaxKind::WINDOW_FUNC_OPTION
21025 }
21026 #[inline]
21027 fn cast(syntax: SyntaxNode) -> Option<Self> {
21028 if Self::can_cast(syntax.kind()) {
21029 Some(Self { syntax })
21030 } else {
21031 None
21032 }
21033 }
21034 #[inline]
21035 fn syntax(&self) -> &SyntaxNode {
21036 &self.syntax
21037 }
21038}
21039impl AstNode for WindowSpec {
21040 #[inline]
21041 fn can_cast(kind: SyntaxKind) -> bool {
21042 kind == SyntaxKind::WINDOW_SPEC
21043 }
21044 #[inline]
21045 fn cast(syntax: SyntaxNode) -> Option<Self> {
21046 if Self::can_cast(syntax.kind()) {
21047 Some(Self { syntax })
21048 } else {
21049 None
21050 }
21051 }
21052 #[inline]
21053 fn syntax(&self) -> &SyntaxNode {
21054 &self.syntax
21055 }
21056}
21057impl AstNode for WithClause {
21058 #[inline]
21059 fn can_cast(kind: SyntaxKind) -> bool {
21060 kind == SyntaxKind::WITH_CLAUSE
21061 }
21062 #[inline]
21063 fn cast(syntax: SyntaxNode) -> Option<Self> {
21064 if Self::can_cast(syntax.kind()) {
21065 Some(Self { syntax })
21066 } else {
21067 None
21068 }
21069 }
21070 #[inline]
21071 fn syntax(&self) -> &SyntaxNode {
21072 &self.syntax
21073 }
21074}
21075impl AstNode for WithData {
21076 #[inline]
21077 fn can_cast(kind: SyntaxKind) -> bool {
21078 kind == SyntaxKind::WITH_DATA
21079 }
21080 #[inline]
21081 fn cast(syntax: SyntaxNode) -> Option<Self> {
21082 if Self::can_cast(syntax.kind()) {
21083 Some(Self { syntax })
21084 } else {
21085 None
21086 }
21087 }
21088 #[inline]
21089 fn syntax(&self) -> &SyntaxNode {
21090 &self.syntax
21091 }
21092}
21093impl AstNode for WithNoData {
21094 #[inline]
21095 fn can_cast(kind: SyntaxKind) -> bool {
21096 kind == SyntaxKind::WITH_NO_DATA
21097 }
21098 #[inline]
21099 fn cast(syntax: SyntaxNode) -> Option<Self> {
21100 if Self::can_cast(syntax.kind()) {
21101 Some(Self { syntax })
21102 } else {
21103 None
21104 }
21105 }
21106 #[inline]
21107 fn syntax(&self) -> &SyntaxNode {
21108 &self.syntax
21109 }
21110}
21111impl AstNode for WithOptions {
21112 #[inline]
21113 fn can_cast(kind: SyntaxKind) -> bool {
21114 kind == SyntaxKind::WITH_OPTIONS
21115 }
21116 #[inline]
21117 fn cast(syntax: SyntaxNode) -> Option<Self> {
21118 if Self::can_cast(syntax.kind()) {
21119 Some(Self { syntax })
21120 } else {
21121 None
21122 }
21123 }
21124 #[inline]
21125 fn syntax(&self) -> &SyntaxNode {
21126 &self.syntax
21127 }
21128}
21129impl AstNode for WithParams {
21130 #[inline]
21131 fn can_cast(kind: SyntaxKind) -> bool {
21132 kind == SyntaxKind::WITH_PARAMS
21133 }
21134 #[inline]
21135 fn cast(syntax: SyntaxNode) -> Option<Self> {
21136 if Self::can_cast(syntax.kind()) {
21137 Some(Self { syntax })
21138 } else {
21139 None
21140 }
21141 }
21142 #[inline]
21143 fn syntax(&self) -> &SyntaxNode {
21144 &self.syntax
21145 }
21146}
21147impl AstNode for WithTable {
21148 #[inline]
21149 fn can_cast(kind: SyntaxKind) -> bool {
21150 kind == SyntaxKind::WITH_TABLE
21151 }
21152 #[inline]
21153 fn cast(syntax: SyntaxNode) -> Option<Self> {
21154 if Self::can_cast(syntax.kind()) {
21155 Some(Self { syntax })
21156 } else {
21157 None
21158 }
21159 }
21160 #[inline]
21161 fn syntax(&self) -> &SyntaxNode {
21162 &self.syntax
21163 }
21164}
21165impl AstNode for WithTimezone {
21166 #[inline]
21167 fn can_cast(kind: SyntaxKind) -> bool {
21168 kind == SyntaxKind::WITH_TIMEZONE
21169 }
21170 #[inline]
21171 fn cast(syntax: SyntaxNode) -> Option<Self> {
21172 if Self::can_cast(syntax.kind()) {
21173 Some(Self { syntax })
21174 } else {
21175 None
21176 }
21177 }
21178 #[inline]
21179 fn syntax(&self) -> &SyntaxNode {
21180 &self.syntax
21181 }
21182}
21183impl AstNode for WithinClause {
21184 #[inline]
21185 fn can_cast(kind: SyntaxKind) -> bool {
21186 kind == SyntaxKind::WITHIN_CLAUSE
21187 }
21188 #[inline]
21189 fn cast(syntax: SyntaxNode) -> Option<Self> {
21190 if Self::can_cast(syntax.kind()) {
21191 Some(Self { syntax })
21192 } else {
21193 None
21194 }
21195 }
21196 #[inline]
21197 fn syntax(&self) -> &SyntaxNode {
21198 &self.syntax
21199 }
21200}
21201impl AstNode for WithoutOids {
21202 #[inline]
21203 fn can_cast(kind: SyntaxKind) -> bool {
21204 kind == SyntaxKind::WITHOUT_OIDS
21205 }
21206 #[inline]
21207 fn cast(syntax: SyntaxNode) -> Option<Self> {
21208 if Self::can_cast(syntax.kind()) {
21209 Some(Self { syntax })
21210 } else {
21211 None
21212 }
21213 }
21214 #[inline]
21215 fn syntax(&self) -> &SyntaxNode {
21216 &self.syntax
21217 }
21218}
21219impl AstNode for WithoutTimezone {
21220 #[inline]
21221 fn can_cast(kind: SyntaxKind) -> bool {
21222 kind == SyntaxKind::WITHOUT_TIMEZONE
21223 }
21224 #[inline]
21225 fn cast(syntax: SyntaxNode) -> Option<Self> {
21226 if Self::can_cast(syntax.kind()) {
21227 Some(Self { syntax })
21228 } else {
21229 None
21230 }
21231 }
21232 #[inline]
21233 fn syntax(&self) -> &SyntaxNode {
21234 &self.syntax
21235 }
21236}
21237impl AstNode for XmlColumnOption {
21238 #[inline]
21239 fn can_cast(kind: SyntaxKind) -> bool {
21240 kind == SyntaxKind::XML_COLUMN_OPTION
21241 }
21242 #[inline]
21243 fn cast(syntax: SyntaxNode) -> Option<Self> {
21244 if Self::can_cast(syntax.kind()) {
21245 Some(Self { syntax })
21246 } else {
21247 None
21248 }
21249 }
21250 #[inline]
21251 fn syntax(&self) -> &SyntaxNode {
21252 &self.syntax
21253 }
21254}
21255impl AstNode for XmlColumnOptionList {
21256 #[inline]
21257 fn can_cast(kind: SyntaxKind) -> bool {
21258 kind == SyntaxKind::XML_COLUMN_OPTION_LIST
21259 }
21260 #[inline]
21261 fn cast(syntax: SyntaxNode) -> Option<Self> {
21262 if Self::can_cast(syntax.kind()) {
21263 Some(Self { syntax })
21264 } else {
21265 None
21266 }
21267 }
21268 #[inline]
21269 fn syntax(&self) -> &SyntaxNode {
21270 &self.syntax
21271 }
21272}
21273impl AstNode for XmlTableColumn {
21274 #[inline]
21275 fn can_cast(kind: SyntaxKind) -> bool {
21276 kind == SyntaxKind::XML_TABLE_COLUMN
21277 }
21278 #[inline]
21279 fn cast(syntax: SyntaxNode) -> Option<Self> {
21280 if Self::can_cast(syntax.kind()) {
21281 Some(Self { syntax })
21282 } else {
21283 None
21284 }
21285 }
21286 #[inline]
21287 fn syntax(&self) -> &SyntaxNode {
21288 &self.syntax
21289 }
21290}
21291impl AstNode for XmlTableColumnList {
21292 #[inline]
21293 fn can_cast(kind: SyntaxKind) -> bool {
21294 kind == SyntaxKind::XML_TABLE_COLUMN_LIST
21295 }
21296 #[inline]
21297 fn cast(syntax: SyntaxNode) -> Option<Self> {
21298 if Self::can_cast(syntax.kind()) {
21299 Some(Self { syntax })
21300 } else {
21301 None
21302 }
21303 }
21304 #[inline]
21305 fn syntax(&self) -> &SyntaxNode {
21306 &self.syntax
21307 }
21308}
21309impl AstNode for AlterColumnOption {
21310 #[inline]
21311 fn can_cast(kind: SyntaxKind) -> bool {
21312 matches!(
21313 kind,
21314 SyntaxKind::ADD_GENERATED
21315 | SyntaxKind::DROP_DEFAULT
21316 | SyntaxKind::DROP_EXPRESSION
21317 | SyntaxKind::DROP_IDENTITY
21318 | SyntaxKind::DROP_NOT_NULL
21319 | SyntaxKind::RESET_OPTIONS
21320 | SyntaxKind::RESTART
21321 | SyntaxKind::SET_COMPRESSION
21322 | SyntaxKind::SET_DEFAULT
21323 | SyntaxKind::SET_EXPRESSION
21324 | SyntaxKind::SET_GENERATED
21325 | SyntaxKind::SET_GENERATED_OPTIONS
21326 | SyntaxKind::SET_NOT_NULL
21327 | SyntaxKind::SET_OPTIONS
21328 | SyntaxKind::SET_OPTIONS_LIST
21329 | SyntaxKind::SET_SEQUENCE_OPTION
21330 | SyntaxKind::SET_STATISTICS
21331 | SyntaxKind::SET_STORAGE
21332 | SyntaxKind::SET_TYPE
21333 )
21334 }
21335 #[inline]
21336 fn cast(syntax: SyntaxNode) -> Option<Self> {
21337 let res = match syntax.kind() {
21338 SyntaxKind::ADD_GENERATED => AlterColumnOption::AddGenerated(AddGenerated { syntax }),
21339 SyntaxKind::DROP_DEFAULT => AlterColumnOption::DropDefault(DropDefault { syntax }),
21340 SyntaxKind::DROP_EXPRESSION => {
21341 AlterColumnOption::DropExpression(DropExpression { syntax })
21342 }
21343 SyntaxKind::DROP_IDENTITY => AlterColumnOption::DropIdentity(DropIdentity { syntax }),
21344 SyntaxKind::DROP_NOT_NULL => AlterColumnOption::DropNotNull(DropNotNull { syntax }),
21345 SyntaxKind::RESET_OPTIONS => AlterColumnOption::ResetOptions(ResetOptions { syntax }),
21346 SyntaxKind::RESTART => AlterColumnOption::Restart(Restart { syntax }),
21347 SyntaxKind::SET_COMPRESSION => {
21348 AlterColumnOption::SetCompression(SetCompression { syntax })
21349 }
21350 SyntaxKind::SET_DEFAULT => AlterColumnOption::SetDefault(SetDefault { syntax }),
21351 SyntaxKind::SET_EXPRESSION => {
21352 AlterColumnOption::SetExpression(SetExpression { syntax })
21353 }
21354 SyntaxKind::SET_GENERATED => AlterColumnOption::SetGenerated(SetGenerated { syntax }),
21355 SyntaxKind::SET_GENERATED_OPTIONS => {
21356 AlterColumnOption::SetGeneratedOptions(SetGeneratedOptions { syntax })
21357 }
21358 SyntaxKind::SET_NOT_NULL => AlterColumnOption::SetNotNull(SetNotNull { syntax }),
21359 SyntaxKind::SET_OPTIONS => AlterColumnOption::SetOptions(SetOptions { syntax }),
21360 SyntaxKind::SET_OPTIONS_LIST => {
21361 AlterColumnOption::SetOptionsList(SetOptionsList { syntax })
21362 }
21363 SyntaxKind::SET_SEQUENCE_OPTION => {
21364 AlterColumnOption::SetSequenceOption(SetSequenceOption { syntax })
21365 }
21366 SyntaxKind::SET_STATISTICS => {
21367 AlterColumnOption::SetStatistics(SetStatistics { syntax })
21368 }
21369 SyntaxKind::SET_STORAGE => AlterColumnOption::SetStorage(SetStorage { syntax }),
21370 SyntaxKind::SET_TYPE => AlterColumnOption::SetType(SetType { syntax }),
21371 _ => {
21372 return None;
21373 }
21374 };
21375 Some(res)
21376 }
21377 #[inline]
21378 fn syntax(&self) -> &SyntaxNode {
21379 match self {
21380 AlterColumnOption::AddGenerated(it) => &it.syntax,
21381 AlterColumnOption::DropDefault(it) => &it.syntax,
21382 AlterColumnOption::DropExpression(it) => &it.syntax,
21383 AlterColumnOption::DropIdentity(it) => &it.syntax,
21384 AlterColumnOption::DropNotNull(it) => &it.syntax,
21385 AlterColumnOption::ResetOptions(it) => &it.syntax,
21386 AlterColumnOption::Restart(it) => &it.syntax,
21387 AlterColumnOption::SetCompression(it) => &it.syntax,
21388 AlterColumnOption::SetDefault(it) => &it.syntax,
21389 AlterColumnOption::SetExpression(it) => &it.syntax,
21390 AlterColumnOption::SetGenerated(it) => &it.syntax,
21391 AlterColumnOption::SetGeneratedOptions(it) => &it.syntax,
21392 AlterColumnOption::SetNotNull(it) => &it.syntax,
21393 AlterColumnOption::SetOptions(it) => &it.syntax,
21394 AlterColumnOption::SetOptionsList(it) => &it.syntax,
21395 AlterColumnOption::SetSequenceOption(it) => &it.syntax,
21396 AlterColumnOption::SetStatistics(it) => &it.syntax,
21397 AlterColumnOption::SetStorage(it) => &it.syntax,
21398 AlterColumnOption::SetType(it) => &it.syntax,
21399 }
21400 }
21401}
21402impl From<AddGenerated> for AlterColumnOption {
21403 #[inline]
21404 fn from(node: AddGenerated) -> AlterColumnOption {
21405 AlterColumnOption::AddGenerated(node)
21406 }
21407}
21408impl From<DropDefault> for AlterColumnOption {
21409 #[inline]
21410 fn from(node: DropDefault) -> AlterColumnOption {
21411 AlterColumnOption::DropDefault(node)
21412 }
21413}
21414impl From<DropExpression> for AlterColumnOption {
21415 #[inline]
21416 fn from(node: DropExpression) -> AlterColumnOption {
21417 AlterColumnOption::DropExpression(node)
21418 }
21419}
21420impl From<DropIdentity> for AlterColumnOption {
21421 #[inline]
21422 fn from(node: DropIdentity) -> AlterColumnOption {
21423 AlterColumnOption::DropIdentity(node)
21424 }
21425}
21426impl From<DropNotNull> for AlterColumnOption {
21427 #[inline]
21428 fn from(node: DropNotNull) -> AlterColumnOption {
21429 AlterColumnOption::DropNotNull(node)
21430 }
21431}
21432impl From<ResetOptions> for AlterColumnOption {
21433 #[inline]
21434 fn from(node: ResetOptions) -> AlterColumnOption {
21435 AlterColumnOption::ResetOptions(node)
21436 }
21437}
21438impl From<Restart> for AlterColumnOption {
21439 #[inline]
21440 fn from(node: Restart) -> AlterColumnOption {
21441 AlterColumnOption::Restart(node)
21442 }
21443}
21444impl From<SetCompression> for AlterColumnOption {
21445 #[inline]
21446 fn from(node: SetCompression) -> AlterColumnOption {
21447 AlterColumnOption::SetCompression(node)
21448 }
21449}
21450impl From<SetDefault> for AlterColumnOption {
21451 #[inline]
21452 fn from(node: SetDefault) -> AlterColumnOption {
21453 AlterColumnOption::SetDefault(node)
21454 }
21455}
21456impl From<SetExpression> for AlterColumnOption {
21457 #[inline]
21458 fn from(node: SetExpression) -> AlterColumnOption {
21459 AlterColumnOption::SetExpression(node)
21460 }
21461}
21462impl From<SetGenerated> for AlterColumnOption {
21463 #[inline]
21464 fn from(node: SetGenerated) -> AlterColumnOption {
21465 AlterColumnOption::SetGenerated(node)
21466 }
21467}
21468impl From<SetGeneratedOptions> for AlterColumnOption {
21469 #[inline]
21470 fn from(node: SetGeneratedOptions) -> AlterColumnOption {
21471 AlterColumnOption::SetGeneratedOptions(node)
21472 }
21473}
21474impl From<SetNotNull> for AlterColumnOption {
21475 #[inline]
21476 fn from(node: SetNotNull) -> AlterColumnOption {
21477 AlterColumnOption::SetNotNull(node)
21478 }
21479}
21480impl From<SetOptions> for AlterColumnOption {
21481 #[inline]
21482 fn from(node: SetOptions) -> AlterColumnOption {
21483 AlterColumnOption::SetOptions(node)
21484 }
21485}
21486impl From<SetOptionsList> for AlterColumnOption {
21487 #[inline]
21488 fn from(node: SetOptionsList) -> AlterColumnOption {
21489 AlterColumnOption::SetOptionsList(node)
21490 }
21491}
21492impl From<SetSequenceOption> for AlterColumnOption {
21493 #[inline]
21494 fn from(node: SetSequenceOption) -> AlterColumnOption {
21495 AlterColumnOption::SetSequenceOption(node)
21496 }
21497}
21498impl From<SetStatistics> for AlterColumnOption {
21499 #[inline]
21500 fn from(node: SetStatistics) -> AlterColumnOption {
21501 AlterColumnOption::SetStatistics(node)
21502 }
21503}
21504impl From<SetStorage> for AlterColumnOption {
21505 #[inline]
21506 fn from(node: SetStorage) -> AlterColumnOption {
21507 AlterColumnOption::SetStorage(node)
21508 }
21509}
21510impl From<SetType> for AlterColumnOption {
21511 #[inline]
21512 fn from(node: SetType) -> AlterColumnOption {
21513 AlterColumnOption::SetType(node)
21514 }
21515}
21516impl AstNode for AlterDomainAction {
21517 #[inline]
21518 fn can_cast(kind: SyntaxKind) -> bool {
21519 matches!(
21520 kind,
21521 SyntaxKind::ADD_CONSTRAINT
21522 | SyntaxKind::DROP_CONSTRAINT
21523 | SyntaxKind::DROP_DEFAULT
21524 | SyntaxKind::DROP_NOT_NULL
21525 | SyntaxKind::OWNER_TO
21526 | SyntaxKind::RENAME_CONSTRAINT
21527 | SyntaxKind::RENAME_TO
21528 | SyntaxKind::SET_DEFAULT
21529 | SyntaxKind::SET_NOT_NULL
21530 | SyntaxKind::SET_SCHEMA
21531 | SyntaxKind::VALIDATE_CONSTRAINT
21532 )
21533 }
21534 #[inline]
21535 fn cast(syntax: SyntaxNode) -> Option<Self> {
21536 let res = match syntax.kind() {
21537 SyntaxKind::ADD_CONSTRAINT => {
21538 AlterDomainAction::AddConstraint(AddConstraint { syntax })
21539 }
21540 SyntaxKind::DROP_CONSTRAINT => {
21541 AlterDomainAction::DropConstraint(DropConstraint { syntax })
21542 }
21543 SyntaxKind::DROP_DEFAULT => AlterDomainAction::DropDefault(DropDefault { syntax }),
21544 SyntaxKind::DROP_NOT_NULL => AlterDomainAction::DropNotNull(DropNotNull { syntax }),
21545 SyntaxKind::OWNER_TO => AlterDomainAction::OwnerTo(OwnerTo { syntax }),
21546 SyntaxKind::RENAME_CONSTRAINT => {
21547 AlterDomainAction::RenameConstraint(RenameConstraint { syntax })
21548 }
21549 SyntaxKind::RENAME_TO => AlterDomainAction::RenameTo(RenameTo { syntax }),
21550 SyntaxKind::SET_DEFAULT => AlterDomainAction::SetDefault(SetDefault { syntax }),
21551 SyntaxKind::SET_NOT_NULL => AlterDomainAction::SetNotNull(SetNotNull { syntax }),
21552 SyntaxKind::SET_SCHEMA => AlterDomainAction::SetSchema(SetSchema { syntax }),
21553 SyntaxKind::VALIDATE_CONSTRAINT => {
21554 AlterDomainAction::ValidateConstraint(ValidateConstraint { syntax })
21555 }
21556 _ => {
21557 return None;
21558 }
21559 };
21560 Some(res)
21561 }
21562 #[inline]
21563 fn syntax(&self) -> &SyntaxNode {
21564 match self {
21565 AlterDomainAction::AddConstraint(it) => &it.syntax,
21566 AlterDomainAction::DropConstraint(it) => &it.syntax,
21567 AlterDomainAction::DropDefault(it) => &it.syntax,
21568 AlterDomainAction::DropNotNull(it) => &it.syntax,
21569 AlterDomainAction::OwnerTo(it) => &it.syntax,
21570 AlterDomainAction::RenameConstraint(it) => &it.syntax,
21571 AlterDomainAction::RenameTo(it) => &it.syntax,
21572 AlterDomainAction::SetDefault(it) => &it.syntax,
21573 AlterDomainAction::SetNotNull(it) => &it.syntax,
21574 AlterDomainAction::SetSchema(it) => &it.syntax,
21575 AlterDomainAction::ValidateConstraint(it) => &it.syntax,
21576 }
21577 }
21578}
21579impl From<AddConstraint> for AlterDomainAction {
21580 #[inline]
21581 fn from(node: AddConstraint) -> AlterDomainAction {
21582 AlterDomainAction::AddConstraint(node)
21583 }
21584}
21585impl From<DropConstraint> for AlterDomainAction {
21586 #[inline]
21587 fn from(node: DropConstraint) -> AlterDomainAction {
21588 AlterDomainAction::DropConstraint(node)
21589 }
21590}
21591impl From<DropDefault> for AlterDomainAction {
21592 #[inline]
21593 fn from(node: DropDefault) -> AlterDomainAction {
21594 AlterDomainAction::DropDefault(node)
21595 }
21596}
21597impl From<DropNotNull> for AlterDomainAction {
21598 #[inline]
21599 fn from(node: DropNotNull) -> AlterDomainAction {
21600 AlterDomainAction::DropNotNull(node)
21601 }
21602}
21603impl From<OwnerTo> for AlterDomainAction {
21604 #[inline]
21605 fn from(node: OwnerTo) -> AlterDomainAction {
21606 AlterDomainAction::OwnerTo(node)
21607 }
21608}
21609impl From<RenameConstraint> for AlterDomainAction {
21610 #[inline]
21611 fn from(node: RenameConstraint) -> AlterDomainAction {
21612 AlterDomainAction::RenameConstraint(node)
21613 }
21614}
21615impl From<RenameTo> for AlterDomainAction {
21616 #[inline]
21617 fn from(node: RenameTo) -> AlterDomainAction {
21618 AlterDomainAction::RenameTo(node)
21619 }
21620}
21621impl From<SetDefault> for AlterDomainAction {
21622 #[inline]
21623 fn from(node: SetDefault) -> AlterDomainAction {
21624 AlterDomainAction::SetDefault(node)
21625 }
21626}
21627impl From<SetNotNull> for AlterDomainAction {
21628 #[inline]
21629 fn from(node: SetNotNull) -> AlterDomainAction {
21630 AlterDomainAction::SetNotNull(node)
21631 }
21632}
21633impl From<SetSchema> for AlterDomainAction {
21634 #[inline]
21635 fn from(node: SetSchema) -> AlterDomainAction {
21636 AlterDomainAction::SetSchema(node)
21637 }
21638}
21639impl From<ValidateConstraint> for AlterDomainAction {
21640 #[inline]
21641 fn from(node: ValidateConstraint) -> AlterDomainAction {
21642 AlterDomainAction::ValidateConstraint(node)
21643 }
21644}
21645impl AstNode for AlterTableAction {
21646 #[inline]
21647 fn can_cast(kind: SyntaxKind) -> bool {
21648 matches!(
21649 kind,
21650 SyntaxKind::ADD_COLUMN
21651 | SyntaxKind::ADD_CONSTRAINT
21652 | SyntaxKind::ALTER_COLUMN
21653 | SyntaxKind::ALTER_CONSTRAINT
21654 | SyntaxKind::ATTACH_PARTITION
21655 | SyntaxKind::CLUSTER_ON
21656 | SyntaxKind::DETACH_PARTITION
21657 | SyntaxKind::DISABLE_RLS
21658 | SyntaxKind::DISABLE_RULE
21659 | SyntaxKind::DISABLE_TRIGGER
21660 | SyntaxKind::DROP_COLUMN
21661 | SyntaxKind::DROP_CONSTRAINT
21662 | SyntaxKind::ENABLE_ALWAYS_RULE
21663 | SyntaxKind::ENABLE_ALWAYS_TRIGGER
21664 | SyntaxKind::ENABLE_REPLICA_RULE
21665 | SyntaxKind::ENABLE_REPLICA_TRIGGER
21666 | SyntaxKind::ENABLE_RLS
21667 | SyntaxKind::ENABLE_RULE
21668 | SyntaxKind::ENABLE_TRIGGER
21669 | SyntaxKind::FORCE_RLS
21670 | SyntaxKind::INHERIT_TABLE
21671 | SyntaxKind::NO_FORCE_RLS
21672 | SyntaxKind::NO_INHERIT_TABLE
21673 | SyntaxKind::NOT_OF
21674 | SyntaxKind::OF_TYPE
21675 | SyntaxKind::OPTION_ITEM_LIST
21676 | SyntaxKind::OWNER_TO
21677 | SyntaxKind::RENAME_COLUMN
21678 | SyntaxKind::RENAME_CONSTRAINT
21679 | SyntaxKind::RENAME_TABLE
21680 | SyntaxKind::REPLICA_IDENTITY
21681 | SyntaxKind::RESET_STORAGE_PARAMS
21682 | SyntaxKind::SET_ACCESS_METHOD
21683 | SyntaxKind::SET_LOGGED
21684 | SyntaxKind::SET_SCHEMA
21685 | SyntaxKind::SET_STORAGE_PARAMS
21686 | SyntaxKind::SET_TABLESPACE
21687 | SyntaxKind::SET_UNLOGGED
21688 | SyntaxKind::SET_WITHOUT_CLUSTER
21689 | SyntaxKind::SET_WITHOUT_OIDS
21690 | SyntaxKind::VALIDATE_CONSTRAINT
21691 )
21692 }
21693 #[inline]
21694 fn cast(syntax: SyntaxNode) -> Option<Self> {
21695 let res = match syntax.kind() {
21696 SyntaxKind::ADD_COLUMN => AlterTableAction::AddColumn(AddColumn { syntax }),
21697 SyntaxKind::ADD_CONSTRAINT => AlterTableAction::AddConstraint(AddConstraint { syntax }),
21698 SyntaxKind::ALTER_COLUMN => AlterTableAction::AlterColumn(AlterColumn { syntax }),
21699 SyntaxKind::ALTER_CONSTRAINT => {
21700 AlterTableAction::AlterConstraint(AlterConstraint { syntax })
21701 }
21702 SyntaxKind::ATTACH_PARTITION => {
21703 AlterTableAction::AttachPartition(AttachPartition { syntax })
21704 }
21705 SyntaxKind::CLUSTER_ON => AlterTableAction::ClusterOn(ClusterOn { syntax }),
21706 SyntaxKind::DETACH_PARTITION => {
21707 AlterTableAction::DetachPartition(DetachPartition { syntax })
21708 }
21709 SyntaxKind::DISABLE_RLS => AlterTableAction::DisableRls(DisableRls { syntax }),
21710 SyntaxKind::DISABLE_RULE => AlterTableAction::DisableRule(DisableRule { syntax }),
21711 SyntaxKind::DISABLE_TRIGGER => {
21712 AlterTableAction::DisableTrigger(DisableTrigger { syntax })
21713 }
21714 SyntaxKind::DROP_COLUMN => AlterTableAction::DropColumn(DropColumn { syntax }),
21715 SyntaxKind::DROP_CONSTRAINT => {
21716 AlterTableAction::DropConstraint(DropConstraint { syntax })
21717 }
21718 SyntaxKind::ENABLE_ALWAYS_RULE => {
21719 AlterTableAction::EnableAlwaysRule(EnableAlwaysRule { syntax })
21720 }
21721 SyntaxKind::ENABLE_ALWAYS_TRIGGER => {
21722 AlterTableAction::EnableAlwaysTrigger(EnableAlwaysTrigger { syntax })
21723 }
21724 SyntaxKind::ENABLE_REPLICA_RULE => {
21725 AlterTableAction::EnableReplicaRule(EnableReplicaRule { syntax })
21726 }
21727 SyntaxKind::ENABLE_REPLICA_TRIGGER => {
21728 AlterTableAction::EnableReplicaTrigger(EnableReplicaTrigger { syntax })
21729 }
21730 SyntaxKind::ENABLE_RLS => AlterTableAction::EnableRls(EnableRls { syntax }),
21731 SyntaxKind::ENABLE_RULE => AlterTableAction::EnableRule(EnableRule { syntax }),
21732 SyntaxKind::ENABLE_TRIGGER => AlterTableAction::EnableTrigger(EnableTrigger { syntax }),
21733 SyntaxKind::FORCE_RLS => AlterTableAction::ForceRls(ForceRls { syntax }),
21734 SyntaxKind::INHERIT_TABLE => AlterTableAction::InheritTable(InheritTable { syntax }),
21735 SyntaxKind::NO_FORCE_RLS => AlterTableAction::NoForceRls(NoForceRls { syntax }),
21736 SyntaxKind::NO_INHERIT_TABLE => {
21737 AlterTableAction::NoInheritTable(NoInheritTable { syntax })
21738 }
21739 SyntaxKind::NOT_OF => AlterTableAction::NotOf(NotOf { syntax }),
21740 SyntaxKind::OF_TYPE => AlterTableAction::OfType(OfType { syntax }),
21741 SyntaxKind::OPTION_ITEM_LIST => {
21742 AlterTableAction::OptionItemList(OptionItemList { syntax })
21743 }
21744 SyntaxKind::OWNER_TO => AlterTableAction::OwnerTo(OwnerTo { syntax }),
21745 SyntaxKind::RENAME_COLUMN => AlterTableAction::RenameColumn(RenameColumn { syntax }),
21746 SyntaxKind::RENAME_CONSTRAINT => {
21747 AlterTableAction::RenameConstraint(RenameConstraint { syntax })
21748 }
21749 SyntaxKind::RENAME_TABLE => AlterTableAction::RenameTable(RenameTable { syntax }),
21750 SyntaxKind::REPLICA_IDENTITY => {
21751 AlterTableAction::ReplicaIdentity(ReplicaIdentity { syntax })
21752 }
21753 SyntaxKind::RESET_STORAGE_PARAMS => {
21754 AlterTableAction::ResetStorageParams(ResetStorageParams { syntax })
21755 }
21756 SyntaxKind::SET_ACCESS_METHOD => {
21757 AlterTableAction::SetAccessMethod(SetAccessMethod { syntax })
21758 }
21759 SyntaxKind::SET_LOGGED => AlterTableAction::SetLogged(SetLogged { syntax }),
21760 SyntaxKind::SET_SCHEMA => AlterTableAction::SetSchema(SetSchema { syntax }),
21761 SyntaxKind::SET_STORAGE_PARAMS => {
21762 AlterTableAction::SetStorageParams(SetStorageParams { syntax })
21763 }
21764 SyntaxKind::SET_TABLESPACE => AlterTableAction::SetTablespace(SetTablespace { syntax }),
21765 SyntaxKind::SET_UNLOGGED => AlterTableAction::SetUnlogged(SetUnlogged { syntax }),
21766 SyntaxKind::SET_WITHOUT_CLUSTER => {
21767 AlterTableAction::SetWithoutCluster(SetWithoutCluster { syntax })
21768 }
21769 SyntaxKind::SET_WITHOUT_OIDS => {
21770 AlterTableAction::SetWithoutOids(SetWithoutOids { syntax })
21771 }
21772 SyntaxKind::VALIDATE_CONSTRAINT => {
21773 AlterTableAction::ValidateConstraint(ValidateConstraint { syntax })
21774 }
21775 _ => {
21776 return None;
21777 }
21778 };
21779 Some(res)
21780 }
21781 #[inline]
21782 fn syntax(&self) -> &SyntaxNode {
21783 match self {
21784 AlterTableAction::AddColumn(it) => &it.syntax,
21785 AlterTableAction::AddConstraint(it) => &it.syntax,
21786 AlterTableAction::AlterColumn(it) => &it.syntax,
21787 AlterTableAction::AlterConstraint(it) => &it.syntax,
21788 AlterTableAction::AttachPartition(it) => &it.syntax,
21789 AlterTableAction::ClusterOn(it) => &it.syntax,
21790 AlterTableAction::DetachPartition(it) => &it.syntax,
21791 AlterTableAction::DisableRls(it) => &it.syntax,
21792 AlterTableAction::DisableRule(it) => &it.syntax,
21793 AlterTableAction::DisableTrigger(it) => &it.syntax,
21794 AlterTableAction::DropColumn(it) => &it.syntax,
21795 AlterTableAction::DropConstraint(it) => &it.syntax,
21796 AlterTableAction::EnableAlwaysRule(it) => &it.syntax,
21797 AlterTableAction::EnableAlwaysTrigger(it) => &it.syntax,
21798 AlterTableAction::EnableReplicaRule(it) => &it.syntax,
21799 AlterTableAction::EnableReplicaTrigger(it) => &it.syntax,
21800 AlterTableAction::EnableRls(it) => &it.syntax,
21801 AlterTableAction::EnableRule(it) => &it.syntax,
21802 AlterTableAction::EnableTrigger(it) => &it.syntax,
21803 AlterTableAction::ForceRls(it) => &it.syntax,
21804 AlterTableAction::InheritTable(it) => &it.syntax,
21805 AlterTableAction::NoForceRls(it) => &it.syntax,
21806 AlterTableAction::NoInheritTable(it) => &it.syntax,
21807 AlterTableAction::NotOf(it) => &it.syntax,
21808 AlterTableAction::OfType(it) => &it.syntax,
21809 AlterTableAction::OptionItemList(it) => &it.syntax,
21810 AlterTableAction::OwnerTo(it) => &it.syntax,
21811 AlterTableAction::RenameColumn(it) => &it.syntax,
21812 AlterTableAction::RenameConstraint(it) => &it.syntax,
21813 AlterTableAction::RenameTable(it) => &it.syntax,
21814 AlterTableAction::ReplicaIdentity(it) => &it.syntax,
21815 AlterTableAction::ResetStorageParams(it) => &it.syntax,
21816 AlterTableAction::SetAccessMethod(it) => &it.syntax,
21817 AlterTableAction::SetLogged(it) => &it.syntax,
21818 AlterTableAction::SetSchema(it) => &it.syntax,
21819 AlterTableAction::SetStorageParams(it) => &it.syntax,
21820 AlterTableAction::SetTablespace(it) => &it.syntax,
21821 AlterTableAction::SetUnlogged(it) => &it.syntax,
21822 AlterTableAction::SetWithoutCluster(it) => &it.syntax,
21823 AlterTableAction::SetWithoutOids(it) => &it.syntax,
21824 AlterTableAction::ValidateConstraint(it) => &it.syntax,
21825 }
21826 }
21827}
21828impl From<AddColumn> for AlterTableAction {
21829 #[inline]
21830 fn from(node: AddColumn) -> AlterTableAction {
21831 AlterTableAction::AddColumn(node)
21832 }
21833}
21834impl From<AddConstraint> for AlterTableAction {
21835 #[inline]
21836 fn from(node: AddConstraint) -> AlterTableAction {
21837 AlterTableAction::AddConstraint(node)
21838 }
21839}
21840impl From<AlterColumn> for AlterTableAction {
21841 #[inline]
21842 fn from(node: AlterColumn) -> AlterTableAction {
21843 AlterTableAction::AlterColumn(node)
21844 }
21845}
21846impl From<AlterConstraint> for AlterTableAction {
21847 #[inline]
21848 fn from(node: AlterConstraint) -> AlterTableAction {
21849 AlterTableAction::AlterConstraint(node)
21850 }
21851}
21852impl From<AttachPartition> for AlterTableAction {
21853 #[inline]
21854 fn from(node: AttachPartition) -> AlterTableAction {
21855 AlterTableAction::AttachPartition(node)
21856 }
21857}
21858impl From<ClusterOn> for AlterTableAction {
21859 #[inline]
21860 fn from(node: ClusterOn) -> AlterTableAction {
21861 AlterTableAction::ClusterOn(node)
21862 }
21863}
21864impl From<DetachPartition> for AlterTableAction {
21865 #[inline]
21866 fn from(node: DetachPartition) -> AlterTableAction {
21867 AlterTableAction::DetachPartition(node)
21868 }
21869}
21870impl From<DisableRls> for AlterTableAction {
21871 #[inline]
21872 fn from(node: DisableRls) -> AlterTableAction {
21873 AlterTableAction::DisableRls(node)
21874 }
21875}
21876impl From<DisableRule> for AlterTableAction {
21877 #[inline]
21878 fn from(node: DisableRule) -> AlterTableAction {
21879 AlterTableAction::DisableRule(node)
21880 }
21881}
21882impl From<DisableTrigger> for AlterTableAction {
21883 #[inline]
21884 fn from(node: DisableTrigger) -> AlterTableAction {
21885 AlterTableAction::DisableTrigger(node)
21886 }
21887}
21888impl From<DropColumn> for AlterTableAction {
21889 #[inline]
21890 fn from(node: DropColumn) -> AlterTableAction {
21891 AlterTableAction::DropColumn(node)
21892 }
21893}
21894impl From<DropConstraint> for AlterTableAction {
21895 #[inline]
21896 fn from(node: DropConstraint) -> AlterTableAction {
21897 AlterTableAction::DropConstraint(node)
21898 }
21899}
21900impl From<EnableAlwaysRule> for AlterTableAction {
21901 #[inline]
21902 fn from(node: EnableAlwaysRule) -> AlterTableAction {
21903 AlterTableAction::EnableAlwaysRule(node)
21904 }
21905}
21906impl From<EnableAlwaysTrigger> for AlterTableAction {
21907 #[inline]
21908 fn from(node: EnableAlwaysTrigger) -> AlterTableAction {
21909 AlterTableAction::EnableAlwaysTrigger(node)
21910 }
21911}
21912impl From<EnableReplicaRule> for AlterTableAction {
21913 #[inline]
21914 fn from(node: EnableReplicaRule) -> AlterTableAction {
21915 AlterTableAction::EnableReplicaRule(node)
21916 }
21917}
21918impl From<EnableReplicaTrigger> for AlterTableAction {
21919 #[inline]
21920 fn from(node: EnableReplicaTrigger) -> AlterTableAction {
21921 AlterTableAction::EnableReplicaTrigger(node)
21922 }
21923}
21924impl From<EnableRls> for AlterTableAction {
21925 #[inline]
21926 fn from(node: EnableRls) -> AlterTableAction {
21927 AlterTableAction::EnableRls(node)
21928 }
21929}
21930impl From<EnableRule> for AlterTableAction {
21931 #[inline]
21932 fn from(node: EnableRule) -> AlterTableAction {
21933 AlterTableAction::EnableRule(node)
21934 }
21935}
21936impl From<EnableTrigger> for AlterTableAction {
21937 #[inline]
21938 fn from(node: EnableTrigger) -> AlterTableAction {
21939 AlterTableAction::EnableTrigger(node)
21940 }
21941}
21942impl From<ForceRls> for AlterTableAction {
21943 #[inline]
21944 fn from(node: ForceRls) -> AlterTableAction {
21945 AlterTableAction::ForceRls(node)
21946 }
21947}
21948impl From<InheritTable> for AlterTableAction {
21949 #[inline]
21950 fn from(node: InheritTable) -> AlterTableAction {
21951 AlterTableAction::InheritTable(node)
21952 }
21953}
21954impl From<NoForceRls> for AlterTableAction {
21955 #[inline]
21956 fn from(node: NoForceRls) -> AlterTableAction {
21957 AlterTableAction::NoForceRls(node)
21958 }
21959}
21960impl From<NoInheritTable> for AlterTableAction {
21961 #[inline]
21962 fn from(node: NoInheritTable) -> AlterTableAction {
21963 AlterTableAction::NoInheritTable(node)
21964 }
21965}
21966impl From<NotOf> for AlterTableAction {
21967 #[inline]
21968 fn from(node: NotOf) -> AlterTableAction {
21969 AlterTableAction::NotOf(node)
21970 }
21971}
21972impl From<OfType> for AlterTableAction {
21973 #[inline]
21974 fn from(node: OfType) -> AlterTableAction {
21975 AlterTableAction::OfType(node)
21976 }
21977}
21978impl From<OptionItemList> for AlterTableAction {
21979 #[inline]
21980 fn from(node: OptionItemList) -> AlterTableAction {
21981 AlterTableAction::OptionItemList(node)
21982 }
21983}
21984impl From<OwnerTo> for AlterTableAction {
21985 #[inline]
21986 fn from(node: OwnerTo) -> AlterTableAction {
21987 AlterTableAction::OwnerTo(node)
21988 }
21989}
21990impl From<RenameColumn> for AlterTableAction {
21991 #[inline]
21992 fn from(node: RenameColumn) -> AlterTableAction {
21993 AlterTableAction::RenameColumn(node)
21994 }
21995}
21996impl From<RenameConstraint> for AlterTableAction {
21997 #[inline]
21998 fn from(node: RenameConstraint) -> AlterTableAction {
21999 AlterTableAction::RenameConstraint(node)
22000 }
22001}
22002impl From<RenameTable> for AlterTableAction {
22003 #[inline]
22004 fn from(node: RenameTable) -> AlterTableAction {
22005 AlterTableAction::RenameTable(node)
22006 }
22007}
22008impl From<ReplicaIdentity> for AlterTableAction {
22009 #[inline]
22010 fn from(node: ReplicaIdentity) -> AlterTableAction {
22011 AlterTableAction::ReplicaIdentity(node)
22012 }
22013}
22014impl From<ResetStorageParams> for AlterTableAction {
22015 #[inline]
22016 fn from(node: ResetStorageParams) -> AlterTableAction {
22017 AlterTableAction::ResetStorageParams(node)
22018 }
22019}
22020impl From<SetAccessMethod> for AlterTableAction {
22021 #[inline]
22022 fn from(node: SetAccessMethod) -> AlterTableAction {
22023 AlterTableAction::SetAccessMethod(node)
22024 }
22025}
22026impl From<SetLogged> for AlterTableAction {
22027 #[inline]
22028 fn from(node: SetLogged) -> AlterTableAction {
22029 AlterTableAction::SetLogged(node)
22030 }
22031}
22032impl From<SetSchema> for AlterTableAction {
22033 #[inline]
22034 fn from(node: SetSchema) -> AlterTableAction {
22035 AlterTableAction::SetSchema(node)
22036 }
22037}
22038impl From<SetStorageParams> for AlterTableAction {
22039 #[inline]
22040 fn from(node: SetStorageParams) -> AlterTableAction {
22041 AlterTableAction::SetStorageParams(node)
22042 }
22043}
22044impl From<SetTablespace> for AlterTableAction {
22045 #[inline]
22046 fn from(node: SetTablespace) -> AlterTableAction {
22047 AlterTableAction::SetTablespace(node)
22048 }
22049}
22050impl From<SetUnlogged> for AlterTableAction {
22051 #[inline]
22052 fn from(node: SetUnlogged) -> AlterTableAction {
22053 AlterTableAction::SetUnlogged(node)
22054 }
22055}
22056impl From<SetWithoutCluster> for AlterTableAction {
22057 #[inline]
22058 fn from(node: SetWithoutCluster) -> AlterTableAction {
22059 AlterTableAction::SetWithoutCluster(node)
22060 }
22061}
22062impl From<SetWithoutOids> for AlterTableAction {
22063 #[inline]
22064 fn from(node: SetWithoutOids) -> AlterTableAction {
22065 AlterTableAction::SetWithoutOids(node)
22066 }
22067}
22068impl From<ValidateConstraint> for AlterTableAction {
22069 #[inline]
22070 fn from(node: ValidateConstraint) -> AlterTableAction {
22071 AlterTableAction::ValidateConstraint(node)
22072 }
22073}
22074impl AstNode for ColumnConstraint {
22075 #[inline]
22076 fn can_cast(kind: SyntaxKind) -> bool {
22077 matches!(
22078 kind,
22079 SyntaxKind::CHECK_CONSTRAINT
22080 | SyntaxKind::EXCLUDE_CONSTRAINT
22081 | SyntaxKind::NOT_NULL_CONSTRAINT
22082 | SyntaxKind::PRIMARY_KEY_CONSTRAINT
22083 | SyntaxKind::REFERENCES_CONSTRAINT
22084 | SyntaxKind::UNIQUE_CONSTRAINT
22085 )
22086 }
22087 #[inline]
22088 fn cast(syntax: SyntaxNode) -> Option<Self> {
22089 let res = match syntax.kind() {
22090 SyntaxKind::CHECK_CONSTRAINT => {
22091 ColumnConstraint::CheckConstraint(CheckConstraint { syntax })
22092 }
22093 SyntaxKind::EXCLUDE_CONSTRAINT => {
22094 ColumnConstraint::ExcludeConstraint(ExcludeConstraint { syntax })
22095 }
22096 SyntaxKind::NOT_NULL_CONSTRAINT => {
22097 ColumnConstraint::NotNullConstraint(NotNullConstraint { syntax })
22098 }
22099 SyntaxKind::PRIMARY_KEY_CONSTRAINT => {
22100 ColumnConstraint::PrimaryKeyConstraint(PrimaryKeyConstraint { syntax })
22101 }
22102 SyntaxKind::REFERENCES_CONSTRAINT => {
22103 ColumnConstraint::ReferencesConstraint(ReferencesConstraint { syntax })
22104 }
22105 SyntaxKind::UNIQUE_CONSTRAINT => {
22106 ColumnConstraint::UniqueConstraint(UniqueConstraint { syntax })
22107 }
22108 _ => {
22109 return None;
22110 }
22111 };
22112 Some(res)
22113 }
22114 #[inline]
22115 fn syntax(&self) -> &SyntaxNode {
22116 match self {
22117 ColumnConstraint::CheckConstraint(it) => &it.syntax,
22118 ColumnConstraint::ExcludeConstraint(it) => &it.syntax,
22119 ColumnConstraint::NotNullConstraint(it) => &it.syntax,
22120 ColumnConstraint::PrimaryKeyConstraint(it) => &it.syntax,
22121 ColumnConstraint::ReferencesConstraint(it) => &it.syntax,
22122 ColumnConstraint::UniqueConstraint(it) => &it.syntax,
22123 }
22124 }
22125}
22126impl From<CheckConstraint> for ColumnConstraint {
22127 #[inline]
22128 fn from(node: CheckConstraint) -> ColumnConstraint {
22129 ColumnConstraint::CheckConstraint(node)
22130 }
22131}
22132impl From<ExcludeConstraint> for ColumnConstraint {
22133 #[inline]
22134 fn from(node: ExcludeConstraint) -> ColumnConstraint {
22135 ColumnConstraint::ExcludeConstraint(node)
22136 }
22137}
22138impl From<NotNullConstraint> for ColumnConstraint {
22139 #[inline]
22140 fn from(node: NotNullConstraint) -> ColumnConstraint {
22141 ColumnConstraint::NotNullConstraint(node)
22142 }
22143}
22144impl From<PrimaryKeyConstraint> for ColumnConstraint {
22145 #[inline]
22146 fn from(node: PrimaryKeyConstraint) -> ColumnConstraint {
22147 ColumnConstraint::PrimaryKeyConstraint(node)
22148 }
22149}
22150impl From<ReferencesConstraint> for ColumnConstraint {
22151 #[inline]
22152 fn from(node: ReferencesConstraint) -> ColumnConstraint {
22153 ColumnConstraint::ReferencesConstraint(node)
22154 }
22155}
22156impl From<UniqueConstraint> for ColumnConstraint {
22157 #[inline]
22158 fn from(node: UniqueConstraint) -> ColumnConstraint {
22159 ColumnConstraint::UniqueConstraint(node)
22160 }
22161}
22162impl AstNode for ConflictAction {
22163 #[inline]
22164 fn can_cast(kind: SyntaxKind) -> bool {
22165 matches!(
22166 kind,
22167 SyntaxKind::CONFLICT_DO_NOTHING | SyntaxKind::CONFLICT_DO_UPDATE_SET
22168 )
22169 }
22170 #[inline]
22171 fn cast(syntax: SyntaxNode) -> Option<Self> {
22172 let res = match syntax.kind() {
22173 SyntaxKind::CONFLICT_DO_NOTHING => {
22174 ConflictAction::ConflictDoNothing(ConflictDoNothing { syntax })
22175 }
22176 SyntaxKind::CONFLICT_DO_UPDATE_SET => {
22177 ConflictAction::ConflictDoUpdateSet(ConflictDoUpdateSet { syntax })
22178 }
22179 _ => {
22180 return None;
22181 }
22182 };
22183 Some(res)
22184 }
22185 #[inline]
22186 fn syntax(&self) -> &SyntaxNode {
22187 match self {
22188 ConflictAction::ConflictDoNothing(it) => &it.syntax,
22189 ConflictAction::ConflictDoUpdateSet(it) => &it.syntax,
22190 }
22191 }
22192}
22193impl From<ConflictDoNothing> for ConflictAction {
22194 #[inline]
22195 fn from(node: ConflictDoNothing) -> ConflictAction {
22196 ConflictAction::ConflictDoNothing(node)
22197 }
22198}
22199impl From<ConflictDoUpdateSet> for ConflictAction {
22200 #[inline]
22201 fn from(node: ConflictDoUpdateSet) -> ConflictAction {
22202 ConflictAction::ConflictDoUpdateSet(node)
22203 }
22204}
22205impl AstNode for ConflictTarget {
22206 #[inline]
22207 fn can_cast(kind: SyntaxKind) -> bool {
22208 matches!(
22209 kind,
22210 SyntaxKind::CONFLICT_ON_CONSTRAINT | SyntaxKind::CONFLICT_ON_INDEX
22211 )
22212 }
22213 #[inline]
22214 fn cast(syntax: SyntaxNode) -> Option<Self> {
22215 let res = match syntax.kind() {
22216 SyntaxKind::CONFLICT_ON_CONSTRAINT => {
22217 ConflictTarget::ConflictOnConstraint(ConflictOnConstraint { syntax })
22218 }
22219 SyntaxKind::CONFLICT_ON_INDEX => {
22220 ConflictTarget::ConflictOnIndex(ConflictOnIndex { syntax })
22221 }
22222 _ => {
22223 return None;
22224 }
22225 };
22226 Some(res)
22227 }
22228 #[inline]
22229 fn syntax(&self) -> &SyntaxNode {
22230 match self {
22231 ConflictTarget::ConflictOnConstraint(it) => &it.syntax,
22232 ConflictTarget::ConflictOnIndex(it) => &it.syntax,
22233 }
22234 }
22235}
22236impl From<ConflictOnConstraint> for ConflictTarget {
22237 #[inline]
22238 fn from(node: ConflictOnConstraint) -> ConflictTarget {
22239 ConflictTarget::ConflictOnConstraint(node)
22240 }
22241}
22242impl From<ConflictOnIndex> for ConflictTarget {
22243 #[inline]
22244 fn from(node: ConflictOnIndex) -> ConflictTarget {
22245 ConflictTarget::ConflictOnIndex(node)
22246 }
22247}
22248impl AstNode for Constraint {
22249 #[inline]
22250 fn can_cast(kind: SyntaxKind) -> bool {
22251 matches!(
22252 kind,
22253 SyntaxKind::CHECK_CONSTRAINT
22254 | SyntaxKind::DEFAULT_CONSTRAINT
22255 | SyntaxKind::FOREIGN_KEY_CONSTRAINT
22256 | SyntaxKind::GENERATED_CONSTRAINT
22257 | SyntaxKind::NOT_NULL_CONSTRAINT
22258 | SyntaxKind::NULL_CONSTRAINT
22259 | SyntaxKind::PRIMARY_KEY_CONSTRAINT
22260 | SyntaxKind::REFERENCES_CONSTRAINT
22261 | SyntaxKind::UNIQUE_CONSTRAINT
22262 )
22263 }
22264 #[inline]
22265 fn cast(syntax: SyntaxNode) -> Option<Self> {
22266 let res = match syntax.kind() {
22267 SyntaxKind::CHECK_CONSTRAINT => Constraint::CheckConstraint(CheckConstraint { syntax }),
22268 SyntaxKind::DEFAULT_CONSTRAINT => {
22269 Constraint::DefaultConstraint(DefaultConstraint { syntax })
22270 }
22271 SyntaxKind::FOREIGN_KEY_CONSTRAINT => {
22272 Constraint::ForeignKeyConstraint(ForeignKeyConstraint { syntax })
22273 }
22274 SyntaxKind::GENERATED_CONSTRAINT => {
22275 Constraint::GeneratedConstraint(GeneratedConstraint { syntax })
22276 }
22277 SyntaxKind::NOT_NULL_CONSTRAINT => {
22278 Constraint::NotNullConstraint(NotNullConstraint { syntax })
22279 }
22280 SyntaxKind::NULL_CONSTRAINT => Constraint::NullConstraint(NullConstraint { syntax }),
22281 SyntaxKind::PRIMARY_KEY_CONSTRAINT => {
22282 Constraint::PrimaryKeyConstraint(PrimaryKeyConstraint { syntax })
22283 }
22284 SyntaxKind::REFERENCES_CONSTRAINT => {
22285 Constraint::ReferencesConstraint(ReferencesConstraint { syntax })
22286 }
22287 SyntaxKind::UNIQUE_CONSTRAINT => {
22288 Constraint::UniqueConstraint(UniqueConstraint { syntax })
22289 }
22290 _ => {
22291 return None;
22292 }
22293 };
22294 Some(res)
22295 }
22296 #[inline]
22297 fn syntax(&self) -> &SyntaxNode {
22298 match self {
22299 Constraint::CheckConstraint(it) => &it.syntax,
22300 Constraint::DefaultConstraint(it) => &it.syntax,
22301 Constraint::ForeignKeyConstraint(it) => &it.syntax,
22302 Constraint::GeneratedConstraint(it) => &it.syntax,
22303 Constraint::NotNullConstraint(it) => &it.syntax,
22304 Constraint::NullConstraint(it) => &it.syntax,
22305 Constraint::PrimaryKeyConstraint(it) => &it.syntax,
22306 Constraint::ReferencesConstraint(it) => &it.syntax,
22307 Constraint::UniqueConstraint(it) => &it.syntax,
22308 }
22309 }
22310}
22311impl From<CheckConstraint> for Constraint {
22312 #[inline]
22313 fn from(node: CheckConstraint) -> Constraint {
22314 Constraint::CheckConstraint(node)
22315 }
22316}
22317impl From<DefaultConstraint> for Constraint {
22318 #[inline]
22319 fn from(node: DefaultConstraint) -> Constraint {
22320 Constraint::DefaultConstraint(node)
22321 }
22322}
22323impl From<ForeignKeyConstraint> for Constraint {
22324 #[inline]
22325 fn from(node: ForeignKeyConstraint) -> Constraint {
22326 Constraint::ForeignKeyConstraint(node)
22327 }
22328}
22329impl From<GeneratedConstraint> for Constraint {
22330 #[inline]
22331 fn from(node: GeneratedConstraint) -> Constraint {
22332 Constraint::GeneratedConstraint(node)
22333 }
22334}
22335impl From<NotNullConstraint> for Constraint {
22336 #[inline]
22337 fn from(node: NotNullConstraint) -> Constraint {
22338 Constraint::NotNullConstraint(node)
22339 }
22340}
22341impl From<NullConstraint> for Constraint {
22342 #[inline]
22343 fn from(node: NullConstraint) -> Constraint {
22344 Constraint::NullConstraint(node)
22345 }
22346}
22347impl From<PrimaryKeyConstraint> for Constraint {
22348 #[inline]
22349 fn from(node: PrimaryKeyConstraint) -> Constraint {
22350 Constraint::PrimaryKeyConstraint(node)
22351 }
22352}
22353impl From<ReferencesConstraint> for Constraint {
22354 #[inline]
22355 fn from(node: ReferencesConstraint) -> Constraint {
22356 Constraint::ReferencesConstraint(node)
22357 }
22358}
22359impl From<UniqueConstraint> for Constraint {
22360 #[inline]
22361 fn from(node: UniqueConstraint) -> Constraint {
22362 Constraint::UniqueConstraint(node)
22363 }
22364}
22365impl AstNode for ExplainStmt {
22366 #[inline]
22367 fn can_cast(kind: SyntaxKind) -> bool {
22368 matches!(
22369 kind,
22370 SyntaxKind::COMPOUND_SELECT
22371 | SyntaxKind::CREATE_MATERIALIZED_VIEW
22372 | SyntaxKind::CREATE_TABLE_AS
22373 | SyntaxKind::DECLARE
22374 | SyntaxKind::DELETE
22375 | SyntaxKind::EXECUTE
22376 | SyntaxKind::INSERT
22377 | SyntaxKind::MERGE
22378 | SyntaxKind::PAREN_SELECT
22379 | SyntaxKind::SELECT
22380 | SyntaxKind::SELECT_INTO
22381 | SyntaxKind::TABLE
22382 | SyntaxKind::UPDATE
22383 | SyntaxKind::VALUES
22384 )
22385 }
22386 #[inline]
22387 fn cast(syntax: SyntaxNode) -> Option<Self> {
22388 let res = match syntax.kind() {
22389 SyntaxKind::COMPOUND_SELECT => ExplainStmt::CompoundSelect(CompoundSelect { syntax }),
22390 SyntaxKind::CREATE_MATERIALIZED_VIEW => {
22391 ExplainStmt::CreateMaterializedView(CreateMaterializedView { syntax })
22392 }
22393 SyntaxKind::CREATE_TABLE_AS => ExplainStmt::CreateTableAs(CreateTableAs { syntax }),
22394 SyntaxKind::DECLARE => ExplainStmt::Declare(Declare { syntax }),
22395 SyntaxKind::DELETE => ExplainStmt::Delete(Delete { syntax }),
22396 SyntaxKind::EXECUTE => ExplainStmt::Execute(Execute { syntax }),
22397 SyntaxKind::INSERT => ExplainStmt::Insert(Insert { syntax }),
22398 SyntaxKind::MERGE => ExplainStmt::Merge(Merge { syntax }),
22399 SyntaxKind::PAREN_SELECT => ExplainStmt::ParenSelect(ParenSelect { syntax }),
22400 SyntaxKind::SELECT => ExplainStmt::Select(Select { syntax }),
22401 SyntaxKind::SELECT_INTO => ExplainStmt::SelectInto(SelectInto { syntax }),
22402 SyntaxKind::TABLE => ExplainStmt::Table(Table { syntax }),
22403 SyntaxKind::UPDATE => ExplainStmt::Update(Update { syntax }),
22404 SyntaxKind::VALUES => ExplainStmt::Values(Values { syntax }),
22405 _ => {
22406 return None;
22407 }
22408 };
22409 Some(res)
22410 }
22411 #[inline]
22412 fn syntax(&self) -> &SyntaxNode {
22413 match self {
22414 ExplainStmt::CompoundSelect(it) => &it.syntax,
22415 ExplainStmt::CreateMaterializedView(it) => &it.syntax,
22416 ExplainStmt::CreateTableAs(it) => &it.syntax,
22417 ExplainStmt::Declare(it) => &it.syntax,
22418 ExplainStmt::Delete(it) => &it.syntax,
22419 ExplainStmt::Execute(it) => &it.syntax,
22420 ExplainStmt::Insert(it) => &it.syntax,
22421 ExplainStmt::Merge(it) => &it.syntax,
22422 ExplainStmt::ParenSelect(it) => &it.syntax,
22423 ExplainStmt::Select(it) => &it.syntax,
22424 ExplainStmt::SelectInto(it) => &it.syntax,
22425 ExplainStmt::Table(it) => &it.syntax,
22426 ExplainStmt::Update(it) => &it.syntax,
22427 ExplainStmt::Values(it) => &it.syntax,
22428 }
22429 }
22430}
22431impl From<CompoundSelect> for ExplainStmt {
22432 #[inline]
22433 fn from(node: CompoundSelect) -> ExplainStmt {
22434 ExplainStmt::CompoundSelect(node)
22435 }
22436}
22437impl From<CreateMaterializedView> for ExplainStmt {
22438 #[inline]
22439 fn from(node: CreateMaterializedView) -> ExplainStmt {
22440 ExplainStmt::CreateMaterializedView(node)
22441 }
22442}
22443impl From<CreateTableAs> for ExplainStmt {
22444 #[inline]
22445 fn from(node: CreateTableAs) -> ExplainStmt {
22446 ExplainStmt::CreateTableAs(node)
22447 }
22448}
22449impl From<Declare> for ExplainStmt {
22450 #[inline]
22451 fn from(node: Declare) -> ExplainStmt {
22452 ExplainStmt::Declare(node)
22453 }
22454}
22455impl From<Delete> for ExplainStmt {
22456 #[inline]
22457 fn from(node: Delete) -> ExplainStmt {
22458 ExplainStmt::Delete(node)
22459 }
22460}
22461impl From<Execute> for ExplainStmt {
22462 #[inline]
22463 fn from(node: Execute) -> ExplainStmt {
22464 ExplainStmt::Execute(node)
22465 }
22466}
22467impl From<Insert> for ExplainStmt {
22468 #[inline]
22469 fn from(node: Insert) -> ExplainStmt {
22470 ExplainStmt::Insert(node)
22471 }
22472}
22473impl From<Merge> for ExplainStmt {
22474 #[inline]
22475 fn from(node: Merge) -> ExplainStmt {
22476 ExplainStmt::Merge(node)
22477 }
22478}
22479impl From<ParenSelect> for ExplainStmt {
22480 #[inline]
22481 fn from(node: ParenSelect) -> ExplainStmt {
22482 ExplainStmt::ParenSelect(node)
22483 }
22484}
22485impl From<Select> for ExplainStmt {
22486 #[inline]
22487 fn from(node: Select) -> ExplainStmt {
22488 ExplainStmt::Select(node)
22489 }
22490}
22491impl From<SelectInto> for ExplainStmt {
22492 #[inline]
22493 fn from(node: SelectInto) -> ExplainStmt {
22494 ExplainStmt::SelectInto(node)
22495 }
22496}
22497impl From<Table> for ExplainStmt {
22498 #[inline]
22499 fn from(node: Table) -> ExplainStmt {
22500 ExplainStmt::Table(node)
22501 }
22502}
22503impl From<Update> for ExplainStmt {
22504 #[inline]
22505 fn from(node: Update) -> ExplainStmt {
22506 ExplainStmt::Update(node)
22507 }
22508}
22509impl From<Values> for ExplainStmt {
22510 #[inline]
22511 fn from(node: Values) -> ExplainStmt {
22512 ExplainStmt::Values(node)
22513 }
22514}
22515impl AstNode for Expr {
22516 #[inline]
22517 fn can_cast(kind: SyntaxKind) -> bool {
22518 matches!(
22519 kind,
22520 SyntaxKind::ARRAY_EXPR
22521 | SyntaxKind::BETWEEN_EXPR
22522 | SyntaxKind::BIN_EXPR
22523 | SyntaxKind::CALL_EXPR
22524 | SyntaxKind::CASE_EXPR
22525 | SyntaxKind::CAST_EXPR
22526 | SyntaxKind::FIELD_EXPR
22527 | SyntaxKind::INDEX_EXPR
22528 | SyntaxKind::LITERAL
22529 | SyntaxKind::NAME_REF
22530 | SyntaxKind::PAREN_EXPR
22531 | SyntaxKind::POSTFIX_EXPR
22532 | SyntaxKind::PREFIX_EXPR
22533 | SyntaxKind::SLICE_EXPR
22534 | SyntaxKind::TUPLE_EXPR
22535 )
22536 }
22537 #[inline]
22538 fn cast(syntax: SyntaxNode) -> Option<Self> {
22539 let res = match syntax.kind() {
22540 SyntaxKind::ARRAY_EXPR => Expr::ArrayExpr(ArrayExpr { syntax }),
22541 SyntaxKind::BETWEEN_EXPR => Expr::BetweenExpr(BetweenExpr { syntax }),
22542 SyntaxKind::BIN_EXPR => Expr::BinExpr(BinExpr { syntax }),
22543 SyntaxKind::CALL_EXPR => Expr::CallExpr(CallExpr { syntax }),
22544 SyntaxKind::CASE_EXPR => Expr::CaseExpr(CaseExpr { syntax }),
22545 SyntaxKind::CAST_EXPR => Expr::CastExpr(CastExpr { syntax }),
22546 SyntaxKind::FIELD_EXPR => Expr::FieldExpr(FieldExpr { syntax }),
22547 SyntaxKind::INDEX_EXPR => Expr::IndexExpr(IndexExpr { syntax }),
22548 SyntaxKind::LITERAL => Expr::Literal(Literal { syntax }),
22549 SyntaxKind::NAME_REF => Expr::NameRef(NameRef { syntax }),
22550 SyntaxKind::PAREN_EXPR => Expr::ParenExpr(ParenExpr { syntax }),
22551 SyntaxKind::POSTFIX_EXPR => Expr::PostfixExpr(PostfixExpr { syntax }),
22552 SyntaxKind::PREFIX_EXPR => Expr::PrefixExpr(PrefixExpr { syntax }),
22553 SyntaxKind::SLICE_EXPR => Expr::SliceExpr(SliceExpr { syntax }),
22554 SyntaxKind::TUPLE_EXPR => Expr::TupleExpr(TupleExpr { syntax }),
22555 _ => {
22556 return None;
22557 }
22558 };
22559 Some(res)
22560 }
22561 #[inline]
22562 fn syntax(&self) -> &SyntaxNode {
22563 match self {
22564 Expr::ArrayExpr(it) => &it.syntax,
22565 Expr::BetweenExpr(it) => &it.syntax,
22566 Expr::BinExpr(it) => &it.syntax,
22567 Expr::CallExpr(it) => &it.syntax,
22568 Expr::CaseExpr(it) => &it.syntax,
22569 Expr::CastExpr(it) => &it.syntax,
22570 Expr::FieldExpr(it) => &it.syntax,
22571 Expr::IndexExpr(it) => &it.syntax,
22572 Expr::Literal(it) => &it.syntax,
22573 Expr::NameRef(it) => &it.syntax,
22574 Expr::ParenExpr(it) => &it.syntax,
22575 Expr::PostfixExpr(it) => &it.syntax,
22576 Expr::PrefixExpr(it) => &it.syntax,
22577 Expr::SliceExpr(it) => &it.syntax,
22578 Expr::TupleExpr(it) => &it.syntax,
22579 }
22580 }
22581}
22582impl From<ArrayExpr> for Expr {
22583 #[inline]
22584 fn from(node: ArrayExpr) -> Expr {
22585 Expr::ArrayExpr(node)
22586 }
22587}
22588impl From<BetweenExpr> for Expr {
22589 #[inline]
22590 fn from(node: BetweenExpr) -> Expr {
22591 Expr::BetweenExpr(node)
22592 }
22593}
22594impl From<BinExpr> for Expr {
22595 #[inline]
22596 fn from(node: BinExpr) -> Expr {
22597 Expr::BinExpr(node)
22598 }
22599}
22600impl From<CallExpr> for Expr {
22601 #[inline]
22602 fn from(node: CallExpr) -> Expr {
22603 Expr::CallExpr(node)
22604 }
22605}
22606impl From<CaseExpr> for Expr {
22607 #[inline]
22608 fn from(node: CaseExpr) -> Expr {
22609 Expr::CaseExpr(node)
22610 }
22611}
22612impl From<CastExpr> for Expr {
22613 #[inline]
22614 fn from(node: CastExpr) -> Expr {
22615 Expr::CastExpr(node)
22616 }
22617}
22618impl From<FieldExpr> for Expr {
22619 #[inline]
22620 fn from(node: FieldExpr) -> Expr {
22621 Expr::FieldExpr(node)
22622 }
22623}
22624impl From<IndexExpr> for Expr {
22625 #[inline]
22626 fn from(node: IndexExpr) -> Expr {
22627 Expr::IndexExpr(node)
22628 }
22629}
22630impl From<Literal> for Expr {
22631 #[inline]
22632 fn from(node: Literal) -> Expr {
22633 Expr::Literal(node)
22634 }
22635}
22636impl From<NameRef> for Expr {
22637 #[inline]
22638 fn from(node: NameRef) -> Expr {
22639 Expr::NameRef(node)
22640 }
22641}
22642impl From<ParenExpr> for Expr {
22643 #[inline]
22644 fn from(node: ParenExpr) -> Expr {
22645 Expr::ParenExpr(node)
22646 }
22647}
22648impl From<PostfixExpr> for Expr {
22649 #[inline]
22650 fn from(node: PostfixExpr) -> Expr {
22651 Expr::PostfixExpr(node)
22652 }
22653}
22654impl From<PrefixExpr> for Expr {
22655 #[inline]
22656 fn from(node: PrefixExpr) -> Expr {
22657 Expr::PrefixExpr(node)
22658 }
22659}
22660impl From<SliceExpr> for Expr {
22661 #[inline]
22662 fn from(node: SliceExpr) -> Expr {
22663 Expr::SliceExpr(node)
22664 }
22665}
22666impl From<TupleExpr> for Expr {
22667 #[inline]
22668 fn from(node: TupleExpr) -> Expr {
22669 Expr::TupleExpr(node)
22670 }
22671}
22672impl AstNode for FuncOption {
22673 #[inline]
22674 fn can_cast(kind: SyntaxKind) -> bool {
22675 matches!(
22676 kind,
22677 SyntaxKind::AS_FUNC_OPTION
22678 | SyntaxKind::BEGIN_FUNC_OPTION
22679 | SyntaxKind::COST_FUNC_OPTION
22680 | SyntaxKind::LANGUAGE_FUNC_OPTION
22681 | SyntaxKind::LEAKPROOF_FUNC_OPTION
22682 | SyntaxKind::PARALLEL_FUNC_OPTION
22683 | SyntaxKind::RESET_FUNC_OPTION
22684 | SyntaxKind::RETURN_FUNC_OPTION
22685 | SyntaxKind::ROWS_FUNC_OPTION
22686 | SyntaxKind::SECURITY_FUNC_OPTION
22687 | SyntaxKind::SET_FUNC_OPTION
22688 | SyntaxKind::STRICT_FUNC_OPTION
22689 | SyntaxKind::SUPPORT_FUNC_OPTION
22690 | SyntaxKind::TRANSFORM_FUNC_OPTION
22691 | SyntaxKind::VOLATILITY_FUNC_OPTION
22692 | SyntaxKind::WINDOW_FUNC_OPTION
22693 )
22694 }
22695 #[inline]
22696 fn cast(syntax: SyntaxNode) -> Option<Self> {
22697 let res = match syntax.kind() {
22698 SyntaxKind::AS_FUNC_OPTION => FuncOption::AsFuncOption(AsFuncOption { syntax }),
22699 SyntaxKind::BEGIN_FUNC_OPTION => {
22700 FuncOption::BeginFuncOption(BeginFuncOption { syntax })
22701 }
22702 SyntaxKind::COST_FUNC_OPTION => FuncOption::CostFuncOption(CostFuncOption { syntax }),
22703 SyntaxKind::LANGUAGE_FUNC_OPTION => {
22704 FuncOption::LanguageFuncOption(LanguageFuncOption { syntax })
22705 }
22706 SyntaxKind::LEAKPROOF_FUNC_OPTION => {
22707 FuncOption::LeakproofFuncOption(LeakproofFuncOption { syntax })
22708 }
22709 SyntaxKind::PARALLEL_FUNC_OPTION => {
22710 FuncOption::ParallelFuncOption(ParallelFuncOption { syntax })
22711 }
22712 SyntaxKind::RESET_FUNC_OPTION => {
22713 FuncOption::ResetFuncOption(ResetFuncOption { syntax })
22714 }
22715 SyntaxKind::RETURN_FUNC_OPTION => {
22716 FuncOption::ReturnFuncOption(ReturnFuncOption { syntax })
22717 }
22718 SyntaxKind::ROWS_FUNC_OPTION => FuncOption::RowsFuncOption(RowsFuncOption { syntax }),
22719 SyntaxKind::SECURITY_FUNC_OPTION => {
22720 FuncOption::SecurityFuncOption(SecurityFuncOption { syntax })
22721 }
22722 SyntaxKind::SET_FUNC_OPTION => FuncOption::SetFuncOption(SetFuncOption { syntax }),
22723 SyntaxKind::STRICT_FUNC_OPTION => {
22724 FuncOption::StrictFuncOption(StrictFuncOption { syntax })
22725 }
22726 SyntaxKind::SUPPORT_FUNC_OPTION => {
22727 FuncOption::SupportFuncOption(SupportFuncOption { syntax })
22728 }
22729 SyntaxKind::TRANSFORM_FUNC_OPTION => {
22730 FuncOption::TransformFuncOption(TransformFuncOption { syntax })
22731 }
22732 SyntaxKind::VOLATILITY_FUNC_OPTION => {
22733 FuncOption::VolatilityFuncOption(VolatilityFuncOption { syntax })
22734 }
22735 SyntaxKind::WINDOW_FUNC_OPTION => {
22736 FuncOption::WindowFuncOption(WindowFuncOption { syntax })
22737 }
22738 _ => {
22739 return None;
22740 }
22741 };
22742 Some(res)
22743 }
22744 #[inline]
22745 fn syntax(&self) -> &SyntaxNode {
22746 match self {
22747 FuncOption::AsFuncOption(it) => &it.syntax,
22748 FuncOption::BeginFuncOption(it) => &it.syntax,
22749 FuncOption::CostFuncOption(it) => &it.syntax,
22750 FuncOption::LanguageFuncOption(it) => &it.syntax,
22751 FuncOption::LeakproofFuncOption(it) => &it.syntax,
22752 FuncOption::ParallelFuncOption(it) => &it.syntax,
22753 FuncOption::ResetFuncOption(it) => &it.syntax,
22754 FuncOption::ReturnFuncOption(it) => &it.syntax,
22755 FuncOption::RowsFuncOption(it) => &it.syntax,
22756 FuncOption::SecurityFuncOption(it) => &it.syntax,
22757 FuncOption::SetFuncOption(it) => &it.syntax,
22758 FuncOption::StrictFuncOption(it) => &it.syntax,
22759 FuncOption::SupportFuncOption(it) => &it.syntax,
22760 FuncOption::TransformFuncOption(it) => &it.syntax,
22761 FuncOption::VolatilityFuncOption(it) => &it.syntax,
22762 FuncOption::WindowFuncOption(it) => &it.syntax,
22763 }
22764 }
22765}
22766impl From<AsFuncOption> for FuncOption {
22767 #[inline]
22768 fn from(node: AsFuncOption) -> FuncOption {
22769 FuncOption::AsFuncOption(node)
22770 }
22771}
22772impl From<BeginFuncOption> for FuncOption {
22773 #[inline]
22774 fn from(node: BeginFuncOption) -> FuncOption {
22775 FuncOption::BeginFuncOption(node)
22776 }
22777}
22778impl From<CostFuncOption> for FuncOption {
22779 #[inline]
22780 fn from(node: CostFuncOption) -> FuncOption {
22781 FuncOption::CostFuncOption(node)
22782 }
22783}
22784impl From<LanguageFuncOption> for FuncOption {
22785 #[inline]
22786 fn from(node: LanguageFuncOption) -> FuncOption {
22787 FuncOption::LanguageFuncOption(node)
22788 }
22789}
22790impl From<LeakproofFuncOption> for FuncOption {
22791 #[inline]
22792 fn from(node: LeakproofFuncOption) -> FuncOption {
22793 FuncOption::LeakproofFuncOption(node)
22794 }
22795}
22796impl From<ParallelFuncOption> for FuncOption {
22797 #[inline]
22798 fn from(node: ParallelFuncOption) -> FuncOption {
22799 FuncOption::ParallelFuncOption(node)
22800 }
22801}
22802impl From<ResetFuncOption> for FuncOption {
22803 #[inline]
22804 fn from(node: ResetFuncOption) -> FuncOption {
22805 FuncOption::ResetFuncOption(node)
22806 }
22807}
22808impl From<ReturnFuncOption> for FuncOption {
22809 #[inline]
22810 fn from(node: ReturnFuncOption) -> FuncOption {
22811 FuncOption::ReturnFuncOption(node)
22812 }
22813}
22814impl From<RowsFuncOption> for FuncOption {
22815 #[inline]
22816 fn from(node: RowsFuncOption) -> FuncOption {
22817 FuncOption::RowsFuncOption(node)
22818 }
22819}
22820impl From<SecurityFuncOption> for FuncOption {
22821 #[inline]
22822 fn from(node: SecurityFuncOption) -> FuncOption {
22823 FuncOption::SecurityFuncOption(node)
22824 }
22825}
22826impl From<SetFuncOption> for FuncOption {
22827 #[inline]
22828 fn from(node: SetFuncOption) -> FuncOption {
22829 FuncOption::SetFuncOption(node)
22830 }
22831}
22832impl From<StrictFuncOption> for FuncOption {
22833 #[inline]
22834 fn from(node: StrictFuncOption) -> FuncOption {
22835 FuncOption::StrictFuncOption(node)
22836 }
22837}
22838impl From<SupportFuncOption> for FuncOption {
22839 #[inline]
22840 fn from(node: SupportFuncOption) -> FuncOption {
22841 FuncOption::SupportFuncOption(node)
22842 }
22843}
22844impl From<TransformFuncOption> for FuncOption {
22845 #[inline]
22846 fn from(node: TransformFuncOption) -> FuncOption {
22847 FuncOption::TransformFuncOption(node)
22848 }
22849}
22850impl From<VolatilityFuncOption> for FuncOption {
22851 #[inline]
22852 fn from(node: VolatilityFuncOption) -> FuncOption {
22853 FuncOption::VolatilityFuncOption(node)
22854 }
22855}
22856impl From<WindowFuncOption> for FuncOption {
22857 #[inline]
22858 fn from(node: WindowFuncOption) -> FuncOption {
22859 FuncOption::WindowFuncOption(node)
22860 }
22861}
22862impl AstNode for GroupBy {
22863 #[inline]
22864 fn can_cast(kind: SyntaxKind) -> bool {
22865 matches!(
22866 kind,
22867 SyntaxKind::GROUPING_CUBE
22868 | SyntaxKind::GROUPING_EXPR
22869 | SyntaxKind::GROUPING_ROLLUP
22870 | SyntaxKind::GROUPING_SETS
22871 )
22872 }
22873 #[inline]
22874 fn cast(syntax: SyntaxNode) -> Option<Self> {
22875 let res = match syntax.kind() {
22876 SyntaxKind::GROUPING_CUBE => GroupBy::GroupingCube(GroupingCube { syntax }),
22877 SyntaxKind::GROUPING_EXPR => GroupBy::GroupingExpr(GroupingExpr { syntax }),
22878 SyntaxKind::GROUPING_ROLLUP => GroupBy::GroupingRollup(GroupingRollup { syntax }),
22879 SyntaxKind::GROUPING_SETS => GroupBy::GroupingSets(GroupingSets { syntax }),
22880 _ => {
22881 return None;
22882 }
22883 };
22884 Some(res)
22885 }
22886 #[inline]
22887 fn syntax(&self) -> &SyntaxNode {
22888 match self {
22889 GroupBy::GroupingCube(it) => &it.syntax,
22890 GroupBy::GroupingExpr(it) => &it.syntax,
22891 GroupBy::GroupingRollup(it) => &it.syntax,
22892 GroupBy::GroupingSets(it) => &it.syntax,
22893 }
22894 }
22895}
22896impl From<GroupingCube> for GroupBy {
22897 #[inline]
22898 fn from(node: GroupingCube) -> GroupBy {
22899 GroupBy::GroupingCube(node)
22900 }
22901}
22902impl From<GroupingExpr> for GroupBy {
22903 #[inline]
22904 fn from(node: GroupingExpr) -> GroupBy {
22905 GroupBy::GroupingExpr(node)
22906 }
22907}
22908impl From<GroupingRollup> for GroupBy {
22909 #[inline]
22910 fn from(node: GroupingRollup) -> GroupBy {
22911 GroupBy::GroupingRollup(node)
22912 }
22913}
22914impl From<GroupingSets> for GroupBy {
22915 #[inline]
22916 fn from(node: GroupingSets) -> GroupBy {
22917 GroupBy::GroupingSets(node)
22918 }
22919}
22920impl AstNode for JoinType {
22921 #[inline]
22922 fn can_cast(kind: SyntaxKind) -> bool {
22923 matches!(
22924 kind,
22925 SyntaxKind::JOIN_CROSS
22926 | SyntaxKind::JOIN_FULL
22927 | SyntaxKind::JOIN_INNER
22928 | SyntaxKind::JOIN_LEFT
22929 | SyntaxKind::JOIN_RIGHT
22930 )
22931 }
22932 #[inline]
22933 fn cast(syntax: SyntaxNode) -> Option<Self> {
22934 let res = match syntax.kind() {
22935 SyntaxKind::JOIN_CROSS => JoinType::JoinCross(JoinCross { syntax }),
22936 SyntaxKind::JOIN_FULL => JoinType::JoinFull(JoinFull { syntax }),
22937 SyntaxKind::JOIN_INNER => JoinType::JoinInner(JoinInner { syntax }),
22938 SyntaxKind::JOIN_LEFT => JoinType::JoinLeft(JoinLeft { syntax }),
22939 SyntaxKind::JOIN_RIGHT => JoinType::JoinRight(JoinRight { syntax }),
22940 _ => {
22941 return None;
22942 }
22943 };
22944 Some(res)
22945 }
22946 #[inline]
22947 fn syntax(&self) -> &SyntaxNode {
22948 match self {
22949 JoinType::JoinCross(it) => &it.syntax,
22950 JoinType::JoinFull(it) => &it.syntax,
22951 JoinType::JoinInner(it) => &it.syntax,
22952 JoinType::JoinLeft(it) => &it.syntax,
22953 JoinType::JoinRight(it) => &it.syntax,
22954 }
22955 }
22956}
22957impl From<JoinCross> for JoinType {
22958 #[inline]
22959 fn from(node: JoinCross) -> JoinType {
22960 JoinType::JoinCross(node)
22961 }
22962}
22963impl From<JoinFull> for JoinType {
22964 #[inline]
22965 fn from(node: JoinFull) -> JoinType {
22966 JoinType::JoinFull(node)
22967 }
22968}
22969impl From<JoinInner> for JoinType {
22970 #[inline]
22971 fn from(node: JoinInner) -> JoinType {
22972 JoinType::JoinInner(node)
22973 }
22974}
22975impl From<JoinLeft> for JoinType {
22976 #[inline]
22977 fn from(node: JoinLeft) -> JoinType {
22978 JoinType::JoinLeft(node)
22979 }
22980}
22981impl From<JoinRight> for JoinType {
22982 #[inline]
22983 fn from(node: JoinRight) -> JoinType {
22984 JoinType::JoinRight(node)
22985 }
22986}
22987impl AstNode for JsonBehavior {
22988 #[inline]
22989 fn can_cast(kind: SyntaxKind) -> bool {
22990 matches!(
22991 kind,
22992 SyntaxKind::JSON_BEHAVIOR_DEFAULT
22993 | SyntaxKind::JSON_BEHAVIOR_EMPTY_ARRAY
22994 | SyntaxKind::JSON_BEHAVIOR_EMPTY_OBJECT
22995 | SyntaxKind::JSON_BEHAVIOR_ERROR
22996 | SyntaxKind::JSON_BEHAVIOR_FALSE
22997 | SyntaxKind::JSON_BEHAVIOR_NULL
22998 | SyntaxKind::JSON_BEHAVIOR_TRUE
22999 | SyntaxKind::JSON_BEHAVIOR_UNKNOWN
23000 )
23001 }
23002 #[inline]
23003 fn cast(syntax: SyntaxNode) -> Option<Self> {
23004 let res = match syntax.kind() {
23005 SyntaxKind::JSON_BEHAVIOR_DEFAULT => {
23006 JsonBehavior::JsonBehaviorDefault(JsonBehaviorDefault { syntax })
23007 }
23008 SyntaxKind::JSON_BEHAVIOR_EMPTY_ARRAY => {
23009 JsonBehavior::JsonBehaviorEmptyArray(JsonBehaviorEmptyArray { syntax })
23010 }
23011 SyntaxKind::JSON_BEHAVIOR_EMPTY_OBJECT => {
23012 JsonBehavior::JsonBehaviorEmptyObject(JsonBehaviorEmptyObject { syntax })
23013 }
23014 SyntaxKind::JSON_BEHAVIOR_ERROR => {
23015 JsonBehavior::JsonBehaviorError(JsonBehaviorError { syntax })
23016 }
23017 SyntaxKind::JSON_BEHAVIOR_FALSE => {
23018 JsonBehavior::JsonBehaviorFalse(JsonBehaviorFalse { syntax })
23019 }
23020 SyntaxKind::JSON_BEHAVIOR_NULL => {
23021 JsonBehavior::JsonBehaviorNull(JsonBehaviorNull { syntax })
23022 }
23023 SyntaxKind::JSON_BEHAVIOR_TRUE => {
23024 JsonBehavior::JsonBehaviorTrue(JsonBehaviorTrue { syntax })
23025 }
23026 SyntaxKind::JSON_BEHAVIOR_UNKNOWN => {
23027 JsonBehavior::JsonBehaviorUnknown(JsonBehaviorUnknown { syntax })
23028 }
23029 _ => {
23030 return None;
23031 }
23032 };
23033 Some(res)
23034 }
23035 #[inline]
23036 fn syntax(&self) -> &SyntaxNode {
23037 match self {
23038 JsonBehavior::JsonBehaviorDefault(it) => &it.syntax,
23039 JsonBehavior::JsonBehaviorEmptyArray(it) => &it.syntax,
23040 JsonBehavior::JsonBehaviorEmptyObject(it) => &it.syntax,
23041 JsonBehavior::JsonBehaviorError(it) => &it.syntax,
23042 JsonBehavior::JsonBehaviorFalse(it) => &it.syntax,
23043 JsonBehavior::JsonBehaviorNull(it) => &it.syntax,
23044 JsonBehavior::JsonBehaviorTrue(it) => &it.syntax,
23045 JsonBehavior::JsonBehaviorUnknown(it) => &it.syntax,
23046 }
23047 }
23048}
23049impl From<JsonBehaviorDefault> for JsonBehavior {
23050 #[inline]
23051 fn from(node: JsonBehaviorDefault) -> JsonBehavior {
23052 JsonBehavior::JsonBehaviorDefault(node)
23053 }
23054}
23055impl From<JsonBehaviorEmptyArray> for JsonBehavior {
23056 #[inline]
23057 fn from(node: JsonBehaviorEmptyArray) -> JsonBehavior {
23058 JsonBehavior::JsonBehaviorEmptyArray(node)
23059 }
23060}
23061impl From<JsonBehaviorEmptyObject> for JsonBehavior {
23062 #[inline]
23063 fn from(node: JsonBehaviorEmptyObject) -> JsonBehavior {
23064 JsonBehavior::JsonBehaviorEmptyObject(node)
23065 }
23066}
23067impl From<JsonBehaviorError> for JsonBehavior {
23068 #[inline]
23069 fn from(node: JsonBehaviorError) -> JsonBehavior {
23070 JsonBehavior::JsonBehaviorError(node)
23071 }
23072}
23073impl From<JsonBehaviorFalse> for JsonBehavior {
23074 #[inline]
23075 fn from(node: JsonBehaviorFalse) -> JsonBehavior {
23076 JsonBehavior::JsonBehaviorFalse(node)
23077 }
23078}
23079impl From<JsonBehaviorNull> for JsonBehavior {
23080 #[inline]
23081 fn from(node: JsonBehaviorNull) -> JsonBehavior {
23082 JsonBehavior::JsonBehaviorNull(node)
23083 }
23084}
23085impl From<JsonBehaviorTrue> for JsonBehavior {
23086 #[inline]
23087 fn from(node: JsonBehaviorTrue) -> JsonBehavior {
23088 JsonBehavior::JsonBehaviorTrue(node)
23089 }
23090}
23091impl From<JsonBehaviorUnknown> for JsonBehavior {
23092 #[inline]
23093 fn from(node: JsonBehaviorUnknown) -> JsonBehavior {
23094 JsonBehavior::JsonBehaviorUnknown(node)
23095 }
23096}
23097impl AstNode for MatchType {
23098 #[inline]
23099 fn can_cast(kind: SyntaxKind) -> bool {
23100 matches!(
23101 kind,
23102 SyntaxKind::MATCH_FULL | SyntaxKind::MATCH_PARTIAL | SyntaxKind::MATCH_SIMPLE
23103 )
23104 }
23105 #[inline]
23106 fn cast(syntax: SyntaxNode) -> Option<Self> {
23107 let res = match syntax.kind() {
23108 SyntaxKind::MATCH_FULL => MatchType::MatchFull(MatchFull { syntax }),
23109 SyntaxKind::MATCH_PARTIAL => MatchType::MatchPartial(MatchPartial { syntax }),
23110 SyntaxKind::MATCH_SIMPLE => MatchType::MatchSimple(MatchSimple { syntax }),
23111 _ => {
23112 return None;
23113 }
23114 };
23115 Some(res)
23116 }
23117 #[inline]
23118 fn syntax(&self) -> &SyntaxNode {
23119 match self {
23120 MatchType::MatchFull(it) => &it.syntax,
23121 MatchType::MatchPartial(it) => &it.syntax,
23122 MatchType::MatchSimple(it) => &it.syntax,
23123 }
23124 }
23125}
23126impl From<MatchFull> for MatchType {
23127 #[inline]
23128 fn from(node: MatchFull) -> MatchType {
23129 MatchType::MatchFull(node)
23130 }
23131}
23132impl From<MatchPartial> for MatchType {
23133 #[inline]
23134 fn from(node: MatchPartial) -> MatchType {
23135 MatchType::MatchPartial(node)
23136 }
23137}
23138impl From<MatchSimple> for MatchType {
23139 #[inline]
23140 fn from(node: MatchSimple) -> MatchType {
23141 MatchType::MatchSimple(node)
23142 }
23143}
23144impl AstNode for MergeAction {
23145 #[inline]
23146 fn can_cast(kind: SyntaxKind) -> bool {
23147 matches!(
23148 kind,
23149 SyntaxKind::MERGE_DELETE
23150 | SyntaxKind::MERGE_DO_NOTHING
23151 | SyntaxKind::MERGE_INSERT
23152 | SyntaxKind::MERGE_UPDATE
23153 )
23154 }
23155 #[inline]
23156 fn cast(syntax: SyntaxNode) -> Option<Self> {
23157 let res = match syntax.kind() {
23158 SyntaxKind::MERGE_DELETE => MergeAction::MergeDelete(MergeDelete { syntax }),
23159 SyntaxKind::MERGE_DO_NOTHING => MergeAction::MergeDoNothing(MergeDoNothing { syntax }),
23160 SyntaxKind::MERGE_INSERT => MergeAction::MergeInsert(MergeInsert { syntax }),
23161 SyntaxKind::MERGE_UPDATE => MergeAction::MergeUpdate(MergeUpdate { syntax }),
23162 _ => {
23163 return None;
23164 }
23165 };
23166 Some(res)
23167 }
23168 #[inline]
23169 fn syntax(&self) -> &SyntaxNode {
23170 match self {
23171 MergeAction::MergeDelete(it) => &it.syntax,
23172 MergeAction::MergeDoNothing(it) => &it.syntax,
23173 MergeAction::MergeInsert(it) => &it.syntax,
23174 MergeAction::MergeUpdate(it) => &it.syntax,
23175 }
23176 }
23177}
23178impl From<MergeDelete> for MergeAction {
23179 #[inline]
23180 fn from(node: MergeDelete) -> MergeAction {
23181 MergeAction::MergeDelete(node)
23182 }
23183}
23184impl From<MergeDoNothing> for MergeAction {
23185 #[inline]
23186 fn from(node: MergeDoNothing) -> MergeAction {
23187 MergeAction::MergeDoNothing(node)
23188 }
23189}
23190impl From<MergeInsert> for MergeAction {
23191 #[inline]
23192 fn from(node: MergeInsert) -> MergeAction {
23193 MergeAction::MergeInsert(node)
23194 }
23195}
23196impl From<MergeUpdate> for MergeAction {
23197 #[inline]
23198 fn from(node: MergeUpdate) -> MergeAction {
23199 MergeAction::MergeUpdate(node)
23200 }
23201}
23202impl AstNode for MergeWhenClause {
23203 #[inline]
23204 fn can_cast(kind: SyntaxKind) -> bool {
23205 matches!(
23206 kind,
23207 SyntaxKind::MERGE_WHEN_MATCHED
23208 | SyntaxKind::MERGE_WHEN_NOT_MATCHED_SOURCE
23209 | SyntaxKind::MERGE_WHEN_NOT_MATCHED_TARGET
23210 )
23211 }
23212 #[inline]
23213 fn cast(syntax: SyntaxNode) -> Option<Self> {
23214 let res = match syntax.kind() {
23215 SyntaxKind::MERGE_WHEN_MATCHED => {
23216 MergeWhenClause::MergeWhenMatched(MergeWhenMatched { syntax })
23217 }
23218 SyntaxKind::MERGE_WHEN_NOT_MATCHED_SOURCE => {
23219 MergeWhenClause::MergeWhenNotMatchedSource(MergeWhenNotMatchedSource { syntax })
23220 }
23221 SyntaxKind::MERGE_WHEN_NOT_MATCHED_TARGET => {
23222 MergeWhenClause::MergeWhenNotMatchedTarget(MergeWhenNotMatchedTarget { syntax })
23223 }
23224 _ => {
23225 return None;
23226 }
23227 };
23228 Some(res)
23229 }
23230 #[inline]
23231 fn syntax(&self) -> &SyntaxNode {
23232 match self {
23233 MergeWhenClause::MergeWhenMatched(it) => &it.syntax,
23234 MergeWhenClause::MergeWhenNotMatchedSource(it) => &it.syntax,
23235 MergeWhenClause::MergeWhenNotMatchedTarget(it) => &it.syntax,
23236 }
23237 }
23238}
23239impl From<MergeWhenMatched> for MergeWhenClause {
23240 #[inline]
23241 fn from(node: MergeWhenMatched) -> MergeWhenClause {
23242 MergeWhenClause::MergeWhenMatched(node)
23243 }
23244}
23245impl From<MergeWhenNotMatchedSource> for MergeWhenClause {
23246 #[inline]
23247 fn from(node: MergeWhenNotMatchedSource) -> MergeWhenClause {
23248 MergeWhenClause::MergeWhenNotMatchedSource(node)
23249 }
23250}
23251impl From<MergeWhenNotMatchedTarget> for MergeWhenClause {
23252 #[inline]
23253 fn from(node: MergeWhenNotMatchedTarget) -> MergeWhenClause {
23254 MergeWhenClause::MergeWhenNotMatchedTarget(node)
23255 }
23256}
23257impl AstNode for OnCommitAction {
23258 #[inline]
23259 fn can_cast(kind: SyntaxKind) -> bool {
23260 matches!(
23261 kind,
23262 SyntaxKind::DELETE_ROWS | SyntaxKind::DROP | SyntaxKind::PRESERVE_ROWS
23263 )
23264 }
23265 #[inline]
23266 fn cast(syntax: SyntaxNode) -> Option<Self> {
23267 let res = match syntax.kind() {
23268 SyntaxKind::DELETE_ROWS => OnCommitAction::DeleteRows(DeleteRows { syntax }),
23269 SyntaxKind::DROP => OnCommitAction::Drop(Drop { syntax }),
23270 SyntaxKind::PRESERVE_ROWS => OnCommitAction::PreserveRows(PreserveRows { syntax }),
23271 _ => {
23272 return None;
23273 }
23274 };
23275 Some(res)
23276 }
23277 #[inline]
23278 fn syntax(&self) -> &SyntaxNode {
23279 match self {
23280 OnCommitAction::DeleteRows(it) => &it.syntax,
23281 OnCommitAction::Drop(it) => &it.syntax,
23282 OnCommitAction::PreserveRows(it) => &it.syntax,
23283 }
23284 }
23285}
23286impl From<DeleteRows> for OnCommitAction {
23287 #[inline]
23288 fn from(node: DeleteRows) -> OnCommitAction {
23289 OnCommitAction::DeleteRows(node)
23290 }
23291}
23292impl From<Drop> for OnCommitAction {
23293 #[inline]
23294 fn from(node: Drop) -> OnCommitAction {
23295 OnCommitAction::Drop(node)
23296 }
23297}
23298impl From<PreserveRows> for OnCommitAction {
23299 #[inline]
23300 fn from(node: PreserveRows) -> OnCommitAction {
23301 OnCommitAction::PreserveRows(node)
23302 }
23303}
23304impl AstNode for ParamMode {
23305 #[inline]
23306 fn can_cast(kind: SyntaxKind) -> bool {
23307 matches!(
23308 kind,
23309 SyntaxKind::PARAM_IN
23310 | SyntaxKind::PARAM_IN_OUT
23311 | SyntaxKind::PARAM_OUT
23312 | SyntaxKind::PARAM_VARIADIC
23313 )
23314 }
23315 #[inline]
23316 fn cast(syntax: SyntaxNode) -> Option<Self> {
23317 let res = match syntax.kind() {
23318 SyntaxKind::PARAM_IN => ParamMode::ParamIn(ParamIn { syntax }),
23319 SyntaxKind::PARAM_IN_OUT => ParamMode::ParamInOut(ParamInOut { syntax }),
23320 SyntaxKind::PARAM_OUT => ParamMode::ParamOut(ParamOut { syntax }),
23321 SyntaxKind::PARAM_VARIADIC => ParamMode::ParamVariadic(ParamVariadic { syntax }),
23322 _ => {
23323 return None;
23324 }
23325 };
23326 Some(res)
23327 }
23328 #[inline]
23329 fn syntax(&self) -> &SyntaxNode {
23330 match self {
23331 ParamMode::ParamIn(it) => &it.syntax,
23332 ParamMode::ParamInOut(it) => &it.syntax,
23333 ParamMode::ParamOut(it) => &it.syntax,
23334 ParamMode::ParamVariadic(it) => &it.syntax,
23335 }
23336 }
23337}
23338impl From<ParamIn> for ParamMode {
23339 #[inline]
23340 fn from(node: ParamIn) -> ParamMode {
23341 ParamMode::ParamIn(node)
23342 }
23343}
23344impl From<ParamInOut> for ParamMode {
23345 #[inline]
23346 fn from(node: ParamInOut) -> ParamMode {
23347 ParamMode::ParamInOut(node)
23348 }
23349}
23350impl From<ParamOut> for ParamMode {
23351 #[inline]
23352 fn from(node: ParamOut) -> ParamMode {
23353 ParamMode::ParamOut(node)
23354 }
23355}
23356impl From<ParamVariadic> for ParamMode {
23357 #[inline]
23358 fn from(node: ParamVariadic) -> ParamMode {
23359 ParamMode::ParamVariadic(node)
23360 }
23361}
23362impl AstNode for PartitionType {
23363 #[inline]
23364 fn can_cast(kind: SyntaxKind) -> bool {
23365 matches!(
23366 kind,
23367 SyntaxKind::PARTITION_DEFAULT
23368 | SyntaxKind::PARTITION_FOR_VALUES_FROM
23369 | SyntaxKind::PARTITION_FOR_VALUES_IN
23370 | SyntaxKind::PARTITION_FOR_VALUES_WITH
23371 )
23372 }
23373 #[inline]
23374 fn cast(syntax: SyntaxNode) -> Option<Self> {
23375 let res = match syntax.kind() {
23376 SyntaxKind::PARTITION_DEFAULT => {
23377 PartitionType::PartitionDefault(PartitionDefault { syntax })
23378 }
23379 SyntaxKind::PARTITION_FOR_VALUES_FROM => {
23380 PartitionType::PartitionForValuesFrom(PartitionForValuesFrom { syntax })
23381 }
23382 SyntaxKind::PARTITION_FOR_VALUES_IN => {
23383 PartitionType::PartitionForValuesIn(PartitionForValuesIn { syntax })
23384 }
23385 SyntaxKind::PARTITION_FOR_VALUES_WITH => {
23386 PartitionType::PartitionForValuesWith(PartitionForValuesWith { syntax })
23387 }
23388 _ => {
23389 return None;
23390 }
23391 };
23392 Some(res)
23393 }
23394 #[inline]
23395 fn syntax(&self) -> &SyntaxNode {
23396 match self {
23397 PartitionType::PartitionDefault(it) => &it.syntax,
23398 PartitionType::PartitionForValuesFrom(it) => &it.syntax,
23399 PartitionType::PartitionForValuesIn(it) => &it.syntax,
23400 PartitionType::PartitionForValuesWith(it) => &it.syntax,
23401 }
23402 }
23403}
23404impl From<PartitionDefault> for PartitionType {
23405 #[inline]
23406 fn from(node: PartitionDefault) -> PartitionType {
23407 PartitionType::PartitionDefault(node)
23408 }
23409}
23410impl From<PartitionForValuesFrom> for PartitionType {
23411 #[inline]
23412 fn from(node: PartitionForValuesFrom) -> PartitionType {
23413 PartitionType::PartitionForValuesFrom(node)
23414 }
23415}
23416impl From<PartitionForValuesIn> for PartitionType {
23417 #[inline]
23418 fn from(node: PartitionForValuesIn) -> PartitionType {
23419 PartitionType::PartitionForValuesIn(node)
23420 }
23421}
23422impl From<PartitionForValuesWith> for PartitionType {
23423 #[inline]
23424 fn from(node: PartitionForValuesWith) -> PartitionType {
23425 PartitionType::PartitionForValuesWith(node)
23426 }
23427}
23428impl AstNode for RefAction {
23429 #[inline]
23430 fn can_cast(kind: SyntaxKind) -> bool {
23431 matches!(
23432 kind,
23433 SyntaxKind::CASCADE
23434 | SyntaxKind::NO_ACTION
23435 | SyntaxKind::RESTRICT
23436 | SyntaxKind::SET_DEFAULT_COLUMNS
23437 | SyntaxKind::SET_NULL_COLUMNS
23438 )
23439 }
23440 #[inline]
23441 fn cast(syntax: SyntaxNode) -> Option<Self> {
23442 let res = match syntax.kind() {
23443 SyntaxKind::CASCADE => RefAction::Cascade(Cascade { syntax }),
23444 SyntaxKind::NO_ACTION => RefAction::NoAction(NoAction { syntax }),
23445 SyntaxKind::RESTRICT => RefAction::Restrict(Restrict { syntax }),
23446 SyntaxKind::SET_DEFAULT_COLUMNS => {
23447 RefAction::SetDefaultColumns(SetDefaultColumns { syntax })
23448 }
23449 SyntaxKind::SET_NULL_COLUMNS => RefAction::SetNullColumns(SetNullColumns { syntax }),
23450 _ => {
23451 return None;
23452 }
23453 };
23454 Some(res)
23455 }
23456 #[inline]
23457 fn syntax(&self) -> &SyntaxNode {
23458 match self {
23459 RefAction::Cascade(it) => &it.syntax,
23460 RefAction::NoAction(it) => &it.syntax,
23461 RefAction::Restrict(it) => &it.syntax,
23462 RefAction::SetDefaultColumns(it) => &it.syntax,
23463 RefAction::SetNullColumns(it) => &it.syntax,
23464 }
23465 }
23466}
23467impl From<Cascade> for RefAction {
23468 #[inline]
23469 fn from(node: Cascade) -> RefAction {
23470 RefAction::Cascade(node)
23471 }
23472}
23473impl From<NoAction> for RefAction {
23474 #[inline]
23475 fn from(node: NoAction) -> RefAction {
23476 RefAction::NoAction(node)
23477 }
23478}
23479impl From<Restrict> for RefAction {
23480 #[inline]
23481 fn from(node: Restrict) -> RefAction {
23482 RefAction::Restrict(node)
23483 }
23484}
23485impl From<SetDefaultColumns> for RefAction {
23486 #[inline]
23487 fn from(node: SetDefaultColumns) -> RefAction {
23488 RefAction::SetDefaultColumns(node)
23489 }
23490}
23491impl From<SetNullColumns> for RefAction {
23492 #[inline]
23493 fn from(node: SetNullColumns) -> RefAction {
23494 RefAction::SetNullColumns(node)
23495 }
23496}
23497impl AstNode for SelectVariant {
23498 #[inline]
23499 fn can_cast(kind: SyntaxKind) -> bool {
23500 matches!(
23501 kind,
23502 SyntaxKind::COMPOUND_SELECT
23503 | SyntaxKind::PAREN_SELECT
23504 | SyntaxKind::SELECT
23505 | SyntaxKind::SELECT_INTO
23506 | SyntaxKind::TABLE
23507 | SyntaxKind::VALUES
23508 )
23509 }
23510 #[inline]
23511 fn cast(syntax: SyntaxNode) -> Option<Self> {
23512 let res = match syntax.kind() {
23513 SyntaxKind::COMPOUND_SELECT => SelectVariant::CompoundSelect(CompoundSelect { syntax }),
23514 SyntaxKind::PAREN_SELECT => SelectVariant::ParenSelect(ParenSelect { syntax }),
23515 SyntaxKind::SELECT => SelectVariant::Select(Select { syntax }),
23516 SyntaxKind::SELECT_INTO => SelectVariant::SelectInto(SelectInto { syntax }),
23517 SyntaxKind::TABLE => SelectVariant::Table(Table { syntax }),
23518 SyntaxKind::VALUES => SelectVariant::Values(Values { syntax }),
23519 _ => {
23520 return None;
23521 }
23522 };
23523 Some(res)
23524 }
23525 #[inline]
23526 fn syntax(&self) -> &SyntaxNode {
23527 match self {
23528 SelectVariant::CompoundSelect(it) => &it.syntax,
23529 SelectVariant::ParenSelect(it) => &it.syntax,
23530 SelectVariant::Select(it) => &it.syntax,
23531 SelectVariant::SelectInto(it) => &it.syntax,
23532 SelectVariant::Table(it) => &it.syntax,
23533 SelectVariant::Values(it) => &it.syntax,
23534 }
23535 }
23536}
23537impl From<CompoundSelect> for SelectVariant {
23538 #[inline]
23539 fn from(node: CompoundSelect) -> SelectVariant {
23540 SelectVariant::CompoundSelect(node)
23541 }
23542}
23543impl From<ParenSelect> for SelectVariant {
23544 #[inline]
23545 fn from(node: ParenSelect) -> SelectVariant {
23546 SelectVariant::ParenSelect(node)
23547 }
23548}
23549impl From<Select> for SelectVariant {
23550 #[inline]
23551 fn from(node: Select) -> SelectVariant {
23552 SelectVariant::Select(node)
23553 }
23554}
23555impl From<SelectInto> for SelectVariant {
23556 #[inline]
23557 fn from(node: SelectInto) -> SelectVariant {
23558 SelectVariant::SelectInto(node)
23559 }
23560}
23561impl From<Table> for SelectVariant {
23562 #[inline]
23563 fn from(node: Table) -> SelectVariant {
23564 SelectVariant::Table(node)
23565 }
23566}
23567impl From<Values> for SelectVariant {
23568 #[inline]
23569 fn from(node: Values) -> SelectVariant {
23570 SelectVariant::Values(node)
23571 }
23572}
23573impl AstNode for SetColumn {
23574 #[inline]
23575 fn can_cast(kind: SyntaxKind) -> bool {
23576 matches!(
23577 kind,
23578 SyntaxKind::SET_MULTIPLE_COLUMNS | SyntaxKind::SET_SINGLE_COLUMN
23579 )
23580 }
23581 #[inline]
23582 fn cast(syntax: SyntaxNode) -> Option<Self> {
23583 let res = match syntax.kind() {
23584 SyntaxKind::SET_MULTIPLE_COLUMNS => {
23585 SetColumn::SetMultipleColumns(SetMultipleColumns { syntax })
23586 }
23587 SyntaxKind::SET_SINGLE_COLUMN => SetColumn::SetSingleColumn(SetSingleColumn { syntax }),
23588 _ => {
23589 return None;
23590 }
23591 };
23592 Some(res)
23593 }
23594 #[inline]
23595 fn syntax(&self) -> &SyntaxNode {
23596 match self {
23597 SetColumn::SetMultipleColumns(it) => &it.syntax,
23598 SetColumn::SetSingleColumn(it) => &it.syntax,
23599 }
23600 }
23601}
23602impl From<SetMultipleColumns> for SetColumn {
23603 #[inline]
23604 fn from(node: SetMultipleColumns) -> SetColumn {
23605 SetColumn::SetMultipleColumns(node)
23606 }
23607}
23608impl From<SetSingleColumn> for SetColumn {
23609 #[inline]
23610 fn from(node: SetSingleColumn) -> SetColumn {
23611 SetColumn::SetSingleColumn(node)
23612 }
23613}
23614impl AstNode for Stmt {
23615 #[inline]
23616 fn can_cast(kind: SyntaxKind) -> bool {
23617 matches!(
23618 kind,
23619 SyntaxKind::ALTER_AGGREGATE
23620 | SyntaxKind::ALTER_COLLATION
23621 | SyntaxKind::ALTER_CONVERSION
23622 | SyntaxKind::ALTER_DATABASE
23623 | SyntaxKind::ALTER_DEFAULT_PRIVILEGES
23624 | SyntaxKind::ALTER_DOMAIN
23625 | SyntaxKind::ALTER_EVENT_TRIGGER
23626 | SyntaxKind::ALTER_EXTENSION
23627 | SyntaxKind::ALTER_FOREIGN_DATA_WRAPPER
23628 | SyntaxKind::ALTER_FOREIGN_TABLE
23629 | SyntaxKind::ALTER_FUNCTION
23630 | SyntaxKind::ALTER_GROUP
23631 | SyntaxKind::ALTER_INDEX
23632 | SyntaxKind::ALTER_LANGUAGE
23633 | SyntaxKind::ALTER_LARGE_OBJECT
23634 | SyntaxKind::ALTER_MATERIALIZED_VIEW
23635 | SyntaxKind::ALTER_OPERATOR
23636 | SyntaxKind::ALTER_OPERATOR_CLASS
23637 | SyntaxKind::ALTER_OPERATOR_FAMILY
23638 | SyntaxKind::ALTER_POLICY
23639 | SyntaxKind::ALTER_PROCEDURE
23640 | SyntaxKind::ALTER_PUBLICATION
23641 | SyntaxKind::ALTER_ROLE
23642 | SyntaxKind::ALTER_ROUTINE
23643 | SyntaxKind::ALTER_RULE
23644 | SyntaxKind::ALTER_SCHEMA
23645 | SyntaxKind::ALTER_SEQUENCE
23646 | SyntaxKind::ALTER_SERVER
23647 | SyntaxKind::ALTER_STATISTICS
23648 | SyntaxKind::ALTER_SUBSCRIPTION
23649 | SyntaxKind::ALTER_SYSTEM
23650 | SyntaxKind::ALTER_TABLE
23651 | SyntaxKind::ALTER_TABLESPACE
23652 | SyntaxKind::ALTER_TEXT_SEARCH_CONFIGURATION
23653 | SyntaxKind::ALTER_TEXT_SEARCH_DICTIONARY
23654 | SyntaxKind::ALTER_TEXT_SEARCH_PARSER
23655 | SyntaxKind::ALTER_TEXT_SEARCH_TEMPLATE
23656 | SyntaxKind::ALTER_TRIGGER
23657 | SyntaxKind::ALTER_TYPE
23658 | SyntaxKind::ALTER_USER
23659 | SyntaxKind::ALTER_USER_MAPPING
23660 | SyntaxKind::ALTER_VIEW
23661 | SyntaxKind::ANALYZE
23662 | SyntaxKind::BEGIN
23663 | SyntaxKind::CALL
23664 | SyntaxKind::CHECKPOINT
23665 | SyntaxKind::CLOSE
23666 | SyntaxKind::CLUSTER
23667 | SyntaxKind::COMMENT_ON
23668 | SyntaxKind::COMMIT
23669 | SyntaxKind::COPY
23670 | SyntaxKind::CREATE_ACCESS_METHOD
23671 | SyntaxKind::CREATE_AGGREGATE
23672 | SyntaxKind::CREATE_CAST
23673 | SyntaxKind::CREATE_COLLATION
23674 | SyntaxKind::CREATE_CONVERSION
23675 | SyntaxKind::CREATE_DATABASE
23676 | SyntaxKind::CREATE_DOMAIN
23677 | SyntaxKind::CREATE_EVENT_TRIGGER
23678 | SyntaxKind::CREATE_EXTENSION
23679 | SyntaxKind::CREATE_FOREIGN_DATA_WRAPPER
23680 | SyntaxKind::CREATE_FOREIGN_TABLE
23681 | SyntaxKind::CREATE_FUNCTION
23682 | SyntaxKind::CREATE_GROUP
23683 | SyntaxKind::CREATE_INDEX
23684 | SyntaxKind::CREATE_LANGUAGE
23685 | SyntaxKind::CREATE_MATERIALIZED_VIEW
23686 | SyntaxKind::CREATE_OPERATOR
23687 | SyntaxKind::CREATE_OPERATOR_CLASS
23688 | SyntaxKind::CREATE_OPERATOR_FAMILY
23689 | SyntaxKind::CREATE_POLICY
23690 | SyntaxKind::CREATE_PROCEDURE
23691 | SyntaxKind::CREATE_PUBLICATION
23692 | SyntaxKind::CREATE_ROLE
23693 | SyntaxKind::CREATE_RULE
23694 | SyntaxKind::CREATE_SCHEMA
23695 | SyntaxKind::CREATE_SEQUENCE
23696 | SyntaxKind::CREATE_SERVER
23697 | SyntaxKind::CREATE_STATISTICS
23698 | SyntaxKind::CREATE_SUBSCRIPTION
23699 | SyntaxKind::CREATE_TABLE
23700 | SyntaxKind::CREATE_TABLE_AS
23701 | SyntaxKind::CREATE_TABLESPACE
23702 | SyntaxKind::CREATE_TEXT_SEARCH_CONFIGURATION
23703 | SyntaxKind::CREATE_TEXT_SEARCH_DICTIONARY
23704 | SyntaxKind::CREATE_TEXT_SEARCH_PARSER
23705 | SyntaxKind::CREATE_TEXT_SEARCH_TEMPLATE
23706 | SyntaxKind::CREATE_TRANSFORM
23707 | SyntaxKind::CREATE_TRIGGER
23708 | SyntaxKind::CREATE_TYPE
23709 | SyntaxKind::CREATE_USER
23710 | SyntaxKind::CREATE_USER_MAPPING
23711 | SyntaxKind::CREATE_VIEW
23712 | SyntaxKind::DEALLOCATE
23713 | SyntaxKind::DECLARE
23714 | SyntaxKind::DELETE
23715 | SyntaxKind::DISCARD
23716 | SyntaxKind::DO
23717 | SyntaxKind::DROP_ACCESS_METHOD
23718 | SyntaxKind::DROP_AGGREGATE
23719 | SyntaxKind::DROP_CAST
23720 | SyntaxKind::DROP_COLLATION
23721 | SyntaxKind::DROP_CONVERSION
23722 | SyntaxKind::DROP_DATABASE
23723 | SyntaxKind::DROP_DOMAIN
23724 | SyntaxKind::DROP_EVENT_TRIGGER
23725 | SyntaxKind::DROP_EXTENSION
23726 | SyntaxKind::DROP_FOREIGN_DATA_WRAPPER
23727 | SyntaxKind::DROP_FOREIGN_TABLE
23728 | SyntaxKind::DROP_FUNCTION
23729 | SyntaxKind::DROP_GROUP
23730 | SyntaxKind::DROP_INDEX
23731 | SyntaxKind::DROP_LANGUAGE
23732 | SyntaxKind::DROP_MATERIALIZED_VIEW
23733 | SyntaxKind::DROP_OPERATOR
23734 | SyntaxKind::DROP_OPERATOR_CLASS
23735 | SyntaxKind::DROP_OPERATOR_FAMILY
23736 | SyntaxKind::DROP_OWNED
23737 | SyntaxKind::DROP_POLICY
23738 | SyntaxKind::DROP_PROCEDURE
23739 | SyntaxKind::DROP_PUBLICATION
23740 | SyntaxKind::DROP_ROLE
23741 | SyntaxKind::DROP_ROUTINE
23742 | SyntaxKind::DROP_RULE
23743 | SyntaxKind::DROP_SCHEMA
23744 | SyntaxKind::DROP_SEQUENCE
23745 | SyntaxKind::DROP_SERVER
23746 | SyntaxKind::DROP_STATISTICS
23747 | SyntaxKind::DROP_SUBSCRIPTION
23748 | SyntaxKind::DROP_TABLE
23749 | SyntaxKind::DROP_TABLESPACE
23750 | SyntaxKind::DROP_TEXT_SEARCH_CONFIG
23751 | SyntaxKind::DROP_TEXT_SEARCH_DICT
23752 | SyntaxKind::DROP_TEXT_SEARCH_PARSER
23753 | SyntaxKind::DROP_TEXT_SEARCH_TEMPLATE
23754 | SyntaxKind::DROP_TRANSFORM
23755 | SyntaxKind::DROP_TRIGGER
23756 | SyntaxKind::DROP_TYPE
23757 | SyntaxKind::DROP_USER
23758 | SyntaxKind::DROP_USER_MAPPING
23759 | SyntaxKind::DROP_VIEW
23760 | SyntaxKind::EXECUTE
23761 | SyntaxKind::EXPLAIN
23762 | SyntaxKind::FETCH
23763 | SyntaxKind::GRANT
23764 | SyntaxKind::IMPORT_FOREIGN_SCHEMA
23765 | SyntaxKind::INSERT
23766 | SyntaxKind::LISTEN
23767 | SyntaxKind::LOAD
23768 | SyntaxKind::LOCK
23769 | SyntaxKind::MERGE
23770 | SyntaxKind::MOVE
23771 | SyntaxKind::NOTIFY
23772 | SyntaxKind::PAREN_SELECT
23773 | SyntaxKind::PREPARE
23774 | SyntaxKind::PREPARE_TRANSACTION
23775 | SyntaxKind::REASSIGN
23776 | SyntaxKind::REFRESH
23777 | SyntaxKind::REINDEX
23778 | SyntaxKind::RELEASE_SAVEPOINT
23779 | SyntaxKind::RESET
23780 | SyntaxKind::REVOKE
23781 | SyntaxKind::ROLLBACK
23782 | SyntaxKind::SAVEPOINT
23783 | SyntaxKind::SECURITY_LABEL
23784 | SyntaxKind::SELECT
23785 | SyntaxKind::SELECT_INTO
23786 | SyntaxKind::SET
23787 | SyntaxKind::SET_CONSTRAINTS
23788 | SyntaxKind::SET_ROLE
23789 | SyntaxKind::SET_SESSION_AUTH
23790 | SyntaxKind::SET_TRANSACTION
23791 | SyntaxKind::SHOW
23792 | SyntaxKind::TABLE
23793 | SyntaxKind::TRUNCATE
23794 | SyntaxKind::UNLISTEN
23795 | SyntaxKind::UPDATE
23796 | SyntaxKind::VACUUM
23797 | SyntaxKind::VALUES
23798 )
23799 }
23800 #[inline]
23801 fn cast(syntax: SyntaxNode) -> Option<Self> {
23802 let res = match syntax.kind() {
23803 SyntaxKind::ALTER_AGGREGATE => Stmt::AlterAggregate(AlterAggregate { syntax }),
23804 SyntaxKind::ALTER_COLLATION => Stmt::AlterCollation(AlterCollation { syntax }),
23805 SyntaxKind::ALTER_CONVERSION => Stmt::AlterConversion(AlterConversion { syntax }),
23806 SyntaxKind::ALTER_DATABASE => Stmt::AlterDatabase(AlterDatabase { syntax }),
23807 SyntaxKind::ALTER_DEFAULT_PRIVILEGES => {
23808 Stmt::AlterDefaultPrivileges(AlterDefaultPrivileges { syntax })
23809 }
23810 SyntaxKind::ALTER_DOMAIN => Stmt::AlterDomain(AlterDomain { syntax }),
23811 SyntaxKind::ALTER_EVENT_TRIGGER => {
23812 Stmt::AlterEventTrigger(AlterEventTrigger { syntax })
23813 }
23814 SyntaxKind::ALTER_EXTENSION => Stmt::AlterExtension(AlterExtension { syntax }),
23815 SyntaxKind::ALTER_FOREIGN_DATA_WRAPPER => {
23816 Stmt::AlterForeignDataWrapper(AlterForeignDataWrapper { syntax })
23817 }
23818 SyntaxKind::ALTER_FOREIGN_TABLE => {
23819 Stmt::AlterForeignTable(AlterForeignTable { syntax })
23820 }
23821 SyntaxKind::ALTER_FUNCTION => Stmt::AlterFunction(AlterFunction { syntax }),
23822 SyntaxKind::ALTER_GROUP => Stmt::AlterGroup(AlterGroup { syntax }),
23823 SyntaxKind::ALTER_INDEX => Stmt::AlterIndex(AlterIndex { syntax }),
23824 SyntaxKind::ALTER_LANGUAGE => Stmt::AlterLanguage(AlterLanguage { syntax }),
23825 SyntaxKind::ALTER_LARGE_OBJECT => Stmt::AlterLargeObject(AlterLargeObject { syntax }),
23826 SyntaxKind::ALTER_MATERIALIZED_VIEW => {
23827 Stmt::AlterMaterializedView(AlterMaterializedView { syntax })
23828 }
23829 SyntaxKind::ALTER_OPERATOR => Stmt::AlterOperator(AlterOperator { syntax }),
23830 SyntaxKind::ALTER_OPERATOR_CLASS => {
23831 Stmt::AlterOperatorClass(AlterOperatorClass { syntax })
23832 }
23833 SyntaxKind::ALTER_OPERATOR_FAMILY => {
23834 Stmt::AlterOperatorFamily(AlterOperatorFamily { syntax })
23835 }
23836 SyntaxKind::ALTER_POLICY => Stmt::AlterPolicy(AlterPolicy { syntax }),
23837 SyntaxKind::ALTER_PROCEDURE => Stmt::AlterProcedure(AlterProcedure { syntax }),
23838 SyntaxKind::ALTER_PUBLICATION => Stmt::AlterPublication(AlterPublication { syntax }),
23839 SyntaxKind::ALTER_ROLE => Stmt::AlterRole(AlterRole { syntax }),
23840 SyntaxKind::ALTER_ROUTINE => Stmt::AlterRoutine(AlterRoutine { syntax }),
23841 SyntaxKind::ALTER_RULE => Stmt::AlterRule(AlterRule { syntax }),
23842 SyntaxKind::ALTER_SCHEMA => Stmt::AlterSchema(AlterSchema { syntax }),
23843 SyntaxKind::ALTER_SEQUENCE => Stmt::AlterSequence(AlterSequence { syntax }),
23844 SyntaxKind::ALTER_SERVER => Stmt::AlterServer(AlterServer { syntax }),
23845 SyntaxKind::ALTER_STATISTICS => Stmt::AlterStatistics(AlterStatistics { syntax }),
23846 SyntaxKind::ALTER_SUBSCRIPTION => Stmt::AlterSubscription(AlterSubscription { syntax }),
23847 SyntaxKind::ALTER_SYSTEM => Stmt::AlterSystem(AlterSystem { syntax }),
23848 SyntaxKind::ALTER_TABLE => Stmt::AlterTable(AlterTable { syntax }),
23849 SyntaxKind::ALTER_TABLESPACE => Stmt::AlterTablespace(AlterTablespace { syntax }),
23850 SyntaxKind::ALTER_TEXT_SEARCH_CONFIGURATION => {
23851 Stmt::AlterTextSearchConfiguration(AlterTextSearchConfiguration { syntax })
23852 }
23853 SyntaxKind::ALTER_TEXT_SEARCH_DICTIONARY => {
23854 Stmt::AlterTextSearchDictionary(AlterTextSearchDictionary { syntax })
23855 }
23856 SyntaxKind::ALTER_TEXT_SEARCH_PARSER => {
23857 Stmt::AlterTextSearchParser(AlterTextSearchParser { syntax })
23858 }
23859 SyntaxKind::ALTER_TEXT_SEARCH_TEMPLATE => {
23860 Stmt::AlterTextSearchTemplate(AlterTextSearchTemplate { syntax })
23861 }
23862 SyntaxKind::ALTER_TRIGGER => Stmt::AlterTrigger(AlterTrigger { syntax }),
23863 SyntaxKind::ALTER_TYPE => Stmt::AlterType(AlterType { syntax }),
23864 SyntaxKind::ALTER_USER => Stmt::AlterUser(AlterUser { syntax }),
23865 SyntaxKind::ALTER_USER_MAPPING => Stmt::AlterUserMapping(AlterUserMapping { syntax }),
23866 SyntaxKind::ALTER_VIEW => Stmt::AlterView(AlterView { syntax }),
23867 SyntaxKind::ANALYZE => Stmt::Analyze(Analyze { syntax }),
23868 SyntaxKind::BEGIN => Stmt::Begin(Begin { syntax }),
23869 SyntaxKind::CALL => Stmt::Call(Call { syntax }),
23870 SyntaxKind::CHECKPOINT => Stmt::Checkpoint(Checkpoint { syntax }),
23871 SyntaxKind::CLOSE => Stmt::Close(Close { syntax }),
23872 SyntaxKind::CLUSTER => Stmt::Cluster(Cluster { syntax }),
23873 SyntaxKind::COMMENT_ON => Stmt::CommentOn(CommentOn { syntax }),
23874 SyntaxKind::COMMIT => Stmt::Commit(Commit { syntax }),
23875 SyntaxKind::COPY => Stmt::Copy(Copy { syntax }),
23876 SyntaxKind::CREATE_ACCESS_METHOD => {
23877 Stmt::CreateAccessMethod(CreateAccessMethod { syntax })
23878 }
23879 SyntaxKind::CREATE_AGGREGATE => Stmt::CreateAggregate(CreateAggregate { syntax }),
23880 SyntaxKind::CREATE_CAST => Stmt::CreateCast(CreateCast { syntax }),
23881 SyntaxKind::CREATE_COLLATION => Stmt::CreateCollation(CreateCollation { syntax }),
23882 SyntaxKind::CREATE_CONVERSION => Stmt::CreateConversion(CreateConversion { syntax }),
23883 SyntaxKind::CREATE_DATABASE => Stmt::CreateDatabase(CreateDatabase { syntax }),
23884 SyntaxKind::CREATE_DOMAIN => Stmt::CreateDomain(CreateDomain { syntax }),
23885 SyntaxKind::CREATE_EVENT_TRIGGER => {
23886 Stmt::CreateEventTrigger(CreateEventTrigger { syntax })
23887 }
23888 SyntaxKind::CREATE_EXTENSION => Stmt::CreateExtension(CreateExtension { syntax }),
23889 SyntaxKind::CREATE_FOREIGN_DATA_WRAPPER => {
23890 Stmt::CreateForeignDataWrapper(CreateForeignDataWrapper { syntax })
23891 }
23892 SyntaxKind::CREATE_FOREIGN_TABLE => {
23893 Stmt::CreateForeignTable(CreateForeignTable { syntax })
23894 }
23895 SyntaxKind::CREATE_FUNCTION => Stmt::CreateFunction(CreateFunction { syntax }),
23896 SyntaxKind::CREATE_GROUP => Stmt::CreateGroup(CreateGroup { syntax }),
23897 SyntaxKind::CREATE_INDEX => Stmt::CreateIndex(CreateIndex { syntax }),
23898 SyntaxKind::CREATE_LANGUAGE => Stmt::CreateLanguage(CreateLanguage { syntax }),
23899 SyntaxKind::CREATE_MATERIALIZED_VIEW => {
23900 Stmt::CreateMaterializedView(CreateMaterializedView { syntax })
23901 }
23902 SyntaxKind::CREATE_OPERATOR => Stmt::CreateOperator(CreateOperator { syntax }),
23903 SyntaxKind::CREATE_OPERATOR_CLASS => {
23904 Stmt::CreateOperatorClass(CreateOperatorClass { syntax })
23905 }
23906 SyntaxKind::CREATE_OPERATOR_FAMILY => {
23907 Stmt::CreateOperatorFamily(CreateOperatorFamily { syntax })
23908 }
23909 SyntaxKind::CREATE_POLICY => Stmt::CreatePolicy(CreatePolicy { syntax }),
23910 SyntaxKind::CREATE_PROCEDURE => Stmt::CreateProcedure(CreateProcedure { syntax }),
23911 SyntaxKind::CREATE_PUBLICATION => Stmt::CreatePublication(CreatePublication { syntax }),
23912 SyntaxKind::CREATE_ROLE => Stmt::CreateRole(CreateRole { syntax }),
23913 SyntaxKind::CREATE_RULE => Stmt::CreateRule(CreateRule { syntax }),
23914 SyntaxKind::CREATE_SCHEMA => Stmt::CreateSchema(CreateSchema { syntax }),
23915 SyntaxKind::CREATE_SEQUENCE => Stmt::CreateSequence(CreateSequence { syntax }),
23916 SyntaxKind::CREATE_SERVER => Stmt::CreateServer(CreateServer { syntax }),
23917 SyntaxKind::CREATE_STATISTICS => Stmt::CreateStatistics(CreateStatistics { syntax }),
23918 SyntaxKind::CREATE_SUBSCRIPTION => {
23919 Stmt::CreateSubscription(CreateSubscription { syntax })
23920 }
23921 SyntaxKind::CREATE_TABLE => Stmt::CreateTable(CreateTable { syntax }),
23922 SyntaxKind::CREATE_TABLE_AS => Stmt::CreateTableAs(CreateTableAs { syntax }),
23923 SyntaxKind::CREATE_TABLESPACE => Stmt::CreateTablespace(CreateTablespace { syntax }),
23924 SyntaxKind::CREATE_TEXT_SEARCH_CONFIGURATION => {
23925 Stmt::CreateTextSearchConfiguration(CreateTextSearchConfiguration { syntax })
23926 }
23927 SyntaxKind::CREATE_TEXT_SEARCH_DICTIONARY => {
23928 Stmt::CreateTextSearchDictionary(CreateTextSearchDictionary { syntax })
23929 }
23930 SyntaxKind::CREATE_TEXT_SEARCH_PARSER => {
23931 Stmt::CreateTextSearchParser(CreateTextSearchParser { syntax })
23932 }
23933 SyntaxKind::CREATE_TEXT_SEARCH_TEMPLATE => {
23934 Stmt::CreateTextSearchTemplate(CreateTextSearchTemplate { syntax })
23935 }
23936 SyntaxKind::CREATE_TRANSFORM => Stmt::CreateTransform(CreateTransform { syntax }),
23937 SyntaxKind::CREATE_TRIGGER => Stmt::CreateTrigger(CreateTrigger { syntax }),
23938 SyntaxKind::CREATE_TYPE => Stmt::CreateType(CreateType { syntax }),
23939 SyntaxKind::CREATE_USER => Stmt::CreateUser(CreateUser { syntax }),
23940 SyntaxKind::CREATE_USER_MAPPING => {
23941 Stmt::CreateUserMapping(CreateUserMapping { syntax })
23942 }
23943 SyntaxKind::CREATE_VIEW => Stmt::CreateView(CreateView { syntax }),
23944 SyntaxKind::DEALLOCATE => Stmt::Deallocate(Deallocate { syntax }),
23945 SyntaxKind::DECLARE => Stmt::Declare(Declare { syntax }),
23946 SyntaxKind::DELETE => Stmt::Delete(Delete { syntax }),
23947 SyntaxKind::DISCARD => Stmt::Discard(Discard { syntax }),
23948 SyntaxKind::DO => Stmt::Do(Do { syntax }),
23949 SyntaxKind::DROP_ACCESS_METHOD => Stmt::DropAccessMethod(DropAccessMethod { syntax }),
23950 SyntaxKind::DROP_AGGREGATE => Stmt::DropAggregate(DropAggregate { syntax }),
23951 SyntaxKind::DROP_CAST => Stmt::DropCast(DropCast { syntax }),
23952 SyntaxKind::DROP_COLLATION => Stmt::DropCollation(DropCollation { syntax }),
23953 SyntaxKind::DROP_CONVERSION => Stmt::DropConversion(DropConversion { syntax }),
23954 SyntaxKind::DROP_DATABASE => Stmt::DropDatabase(DropDatabase { syntax }),
23955 SyntaxKind::DROP_DOMAIN => Stmt::DropDomain(DropDomain { syntax }),
23956 SyntaxKind::DROP_EVENT_TRIGGER => Stmt::DropEventTrigger(DropEventTrigger { syntax }),
23957 SyntaxKind::DROP_EXTENSION => Stmt::DropExtension(DropExtension { syntax }),
23958 SyntaxKind::DROP_FOREIGN_DATA_WRAPPER => {
23959 Stmt::DropForeignDataWrapper(DropForeignDataWrapper { syntax })
23960 }
23961 SyntaxKind::DROP_FOREIGN_TABLE => Stmt::DropForeignTable(DropForeignTable { syntax }),
23962 SyntaxKind::DROP_FUNCTION => Stmt::DropFunction(DropFunction { syntax }),
23963 SyntaxKind::DROP_GROUP => Stmt::DropGroup(DropGroup { syntax }),
23964 SyntaxKind::DROP_INDEX => Stmt::DropIndex(DropIndex { syntax }),
23965 SyntaxKind::DROP_LANGUAGE => Stmt::DropLanguage(DropLanguage { syntax }),
23966 SyntaxKind::DROP_MATERIALIZED_VIEW => {
23967 Stmt::DropMaterializedView(DropMaterializedView { syntax })
23968 }
23969 SyntaxKind::DROP_OPERATOR => Stmt::DropOperator(DropOperator { syntax }),
23970 SyntaxKind::DROP_OPERATOR_CLASS => {
23971 Stmt::DropOperatorClass(DropOperatorClass { syntax })
23972 }
23973 SyntaxKind::DROP_OPERATOR_FAMILY => {
23974 Stmt::DropOperatorFamily(DropOperatorFamily { syntax })
23975 }
23976 SyntaxKind::DROP_OWNED => Stmt::DropOwned(DropOwned { syntax }),
23977 SyntaxKind::DROP_POLICY => Stmt::DropPolicy(DropPolicy { syntax }),
23978 SyntaxKind::DROP_PROCEDURE => Stmt::DropProcedure(DropProcedure { syntax }),
23979 SyntaxKind::DROP_PUBLICATION => Stmt::DropPublication(DropPublication { syntax }),
23980 SyntaxKind::DROP_ROLE => Stmt::DropRole(DropRole { syntax }),
23981 SyntaxKind::DROP_ROUTINE => Stmt::DropRoutine(DropRoutine { syntax }),
23982 SyntaxKind::DROP_RULE => Stmt::DropRule(DropRule { syntax }),
23983 SyntaxKind::DROP_SCHEMA => Stmt::DropSchema(DropSchema { syntax }),
23984 SyntaxKind::DROP_SEQUENCE => Stmt::DropSequence(DropSequence { syntax }),
23985 SyntaxKind::DROP_SERVER => Stmt::DropServer(DropServer { syntax }),
23986 SyntaxKind::DROP_STATISTICS => Stmt::DropStatistics(DropStatistics { syntax }),
23987 SyntaxKind::DROP_SUBSCRIPTION => Stmt::DropSubscription(DropSubscription { syntax }),
23988 SyntaxKind::DROP_TABLE => Stmt::DropTable(DropTable { syntax }),
23989 SyntaxKind::DROP_TABLESPACE => Stmt::DropTablespace(DropTablespace { syntax }),
23990 SyntaxKind::DROP_TEXT_SEARCH_CONFIG => {
23991 Stmt::DropTextSearchConfig(DropTextSearchConfig { syntax })
23992 }
23993 SyntaxKind::DROP_TEXT_SEARCH_DICT => {
23994 Stmt::DropTextSearchDict(DropTextSearchDict { syntax })
23995 }
23996 SyntaxKind::DROP_TEXT_SEARCH_PARSER => {
23997 Stmt::DropTextSearchParser(DropTextSearchParser { syntax })
23998 }
23999 SyntaxKind::DROP_TEXT_SEARCH_TEMPLATE => {
24000 Stmt::DropTextSearchTemplate(DropTextSearchTemplate { syntax })
24001 }
24002 SyntaxKind::DROP_TRANSFORM => Stmt::DropTransform(DropTransform { syntax }),
24003 SyntaxKind::DROP_TRIGGER => Stmt::DropTrigger(DropTrigger { syntax }),
24004 SyntaxKind::DROP_TYPE => Stmt::DropType(DropType { syntax }),
24005 SyntaxKind::DROP_USER => Stmt::DropUser(DropUser { syntax }),
24006 SyntaxKind::DROP_USER_MAPPING => Stmt::DropUserMapping(DropUserMapping { syntax }),
24007 SyntaxKind::DROP_VIEW => Stmt::DropView(DropView { syntax }),
24008 SyntaxKind::EXECUTE => Stmt::Execute(Execute { syntax }),
24009 SyntaxKind::EXPLAIN => Stmt::Explain(Explain { syntax }),
24010 SyntaxKind::FETCH => Stmt::Fetch(Fetch { syntax }),
24011 SyntaxKind::GRANT => Stmt::Grant(Grant { syntax }),
24012 SyntaxKind::IMPORT_FOREIGN_SCHEMA => {
24013 Stmt::ImportForeignSchema(ImportForeignSchema { syntax })
24014 }
24015 SyntaxKind::INSERT => Stmt::Insert(Insert { syntax }),
24016 SyntaxKind::LISTEN => Stmt::Listen(Listen { syntax }),
24017 SyntaxKind::LOAD => Stmt::Load(Load { syntax }),
24018 SyntaxKind::LOCK => Stmt::Lock(Lock { syntax }),
24019 SyntaxKind::MERGE => Stmt::Merge(Merge { syntax }),
24020 SyntaxKind::MOVE => Stmt::Move(Move { syntax }),
24021 SyntaxKind::NOTIFY => Stmt::Notify(Notify { syntax }),
24022 SyntaxKind::PAREN_SELECT => Stmt::ParenSelect(ParenSelect { syntax }),
24023 SyntaxKind::PREPARE => Stmt::Prepare(Prepare { syntax }),
24024 SyntaxKind::PREPARE_TRANSACTION => {
24025 Stmt::PrepareTransaction(PrepareTransaction { syntax })
24026 }
24027 SyntaxKind::REASSIGN => Stmt::Reassign(Reassign { syntax }),
24028 SyntaxKind::REFRESH => Stmt::Refresh(Refresh { syntax }),
24029 SyntaxKind::REINDEX => Stmt::Reindex(Reindex { syntax }),
24030 SyntaxKind::RELEASE_SAVEPOINT => Stmt::ReleaseSavepoint(ReleaseSavepoint { syntax }),
24031 SyntaxKind::RESET => Stmt::Reset(Reset { syntax }),
24032 SyntaxKind::REVOKE => Stmt::Revoke(Revoke { syntax }),
24033 SyntaxKind::ROLLBACK => Stmt::Rollback(Rollback { syntax }),
24034 SyntaxKind::SAVEPOINT => Stmt::Savepoint(Savepoint { syntax }),
24035 SyntaxKind::SECURITY_LABEL => Stmt::SecurityLabel(SecurityLabel { syntax }),
24036 SyntaxKind::SELECT => Stmt::Select(Select { syntax }),
24037 SyntaxKind::SELECT_INTO => Stmt::SelectInto(SelectInto { syntax }),
24038 SyntaxKind::SET => Stmt::Set(Set { syntax }),
24039 SyntaxKind::SET_CONSTRAINTS => Stmt::SetConstraints(SetConstraints { syntax }),
24040 SyntaxKind::SET_ROLE => Stmt::SetRole(SetRole { syntax }),
24041 SyntaxKind::SET_SESSION_AUTH => Stmt::SetSessionAuth(SetSessionAuth { syntax }),
24042 SyntaxKind::SET_TRANSACTION => Stmt::SetTransaction(SetTransaction { syntax }),
24043 SyntaxKind::SHOW => Stmt::Show(Show { syntax }),
24044 SyntaxKind::TABLE => Stmt::Table(Table { syntax }),
24045 SyntaxKind::TRUNCATE => Stmt::Truncate(Truncate { syntax }),
24046 SyntaxKind::UNLISTEN => Stmt::Unlisten(Unlisten { syntax }),
24047 SyntaxKind::UPDATE => Stmt::Update(Update { syntax }),
24048 SyntaxKind::VACUUM => Stmt::Vacuum(Vacuum { syntax }),
24049 SyntaxKind::VALUES => Stmt::Values(Values { syntax }),
24050 _ => {
24051 return None;
24052 }
24053 };
24054 Some(res)
24055 }
24056 #[inline]
24057 fn syntax(&self) -> &SyntaxNode {
24058 match self {
24059 Stmt::AlterAggregate(it) => &it.syntax,
24060 Stmt::AlterCollation(it) => &it.syntax,
24061 Stmt::AlterConversion(it) => &it.syntax,
24062 Stmt::AlterDatabase(it) => &it.syntax,
24063 Stmt::AlterDefaultPrivileges(it) => &it.syntax,
24064 Stmt::AlterDomain(it) => &it.syntax,
24065 Stmt::AlterEventTrigger(it) => &it.syntax,
24066 Stmt::AlterExtension(it) => &it.syntax,
24067 Stmt::AlterForeignDataWrapper(it) => &it.syntax,
24068 Stmt::AlterForeignTable(it) => &it.syntax,
24069 Stmt::AlterFunction(it) => &it.syntax,
24070 Stmt::AlterGroup(it) => &it.syntax,
24071 Stmt::AlterIndex(it) => &it.syntax,
24072 Stmt::AlterLanguage(it) => &it.syntax,
24073 Stmt::AlterLargeObject(it) => &it.syntax,
24074 Stmt::AlterMaterializedView(it) => &it.syntax,
24075 Stmt::AlterOperator(it) => &it.syntax,
24076 Stmt::AlterOperatorClass(it) => &it.syntax,
24077 Stmt::AlterOperatorFamily(it) => &it.syntax,
24078 Stmt::AlterPolicy(it) => &it.syntax,
24079 Stmt::AlterProcedure(it) => &it.syntax,
24080 Stmt::AlterPublication(it) => &it.syntax,
24081 Stmt::AlterRole(it) => &it.syntax,
24082 Stmt::AlterRoutine(it) => &it.syntax,
24083 Stmt::AlterRule(it) => &it.syntax,
24084 Stmt::AlterSchema(it) => &it.syntax,
24085 Stmt::AlterSequence(it) => &it.syntax,
24086 Stmt::AlterServer(it) => &it.syntax,
24087 Stmt::AlterStatistics(it) => &it.syntax,
24088 Stmt::AlterSubscription(it) => &it.syntax,
24089 Stmt::AlterSystem(it) => &it.syntax,
24090 Stmt::AlterTable(it) => &it.syntax,
24091 Stmt::AlterTablespace(it) => &it.syntax,
24092 Stmt::AlterTextSearchConfiguration(it) => &it.syntax,
24093 Stmt::AlterTextSearchDictionary(it) => &it.syntax,
24094 Stmt::AlterTextSearchParser(it) => &it.syntax,
24095 Stmt::AlterTextSearchTemplate(it) => &it.syntax,
24096 Stmt::AlterTrigger(it) => &it.syntax,
24097 Stmt::AlterType(it) => &it.syntax,
24098 Stmt::AlterUser(it) => &it.syntax,
24099 Stmt::AlterUserMapping(it) => &it.syntax,
24100 Stmt::AlterView(it) => &it.syntax,
24101 Stmt::Analyze(it) => &it.syntax,
24102 Stmt::Begin(it) => &it.syntax,
24103 Stmt::Call(it) => &it.syntax,
24104 Stmt::Checkpoint(it) => &it.syntax,
24105 Stmt::Close(it) => &it.syntax,
24106 Stmt::Cluster(it) => &it.syntax,
24107 Stmt::CommentOn(it) => &it.syntax,
24108 Stmt::Commit(it) => &it.syntax,
24109 Stmt::Copy(it) => &it.syntax,
24110 Stmt::CreateAccessMethod(it) => &it.syntax,
24111 Stmt::CreateAggregate(it) => &it.syntax,
24112 Stmt::CreateCast(it) => &it.syntax,
24113 Stmt::CreateCollation(it) => &it.syntax,
24114 Stmt::CreateConversion(it) => &it.syntax,
24115 Stmt::CreateDatabase(it) => &it.syntax,
24116 Stmt::CreateDomain(it) => &it.syntax,
24117 Stmt::CreateEventTrigger(it) => &it.syntax,
24118 Stmt::CreateExtension(it) => &it.syntax,
24119 Stmt::CreateForeignDataWrapper(it) => &it.syntax,
24120 Stmt::CreateForeignTable(it) => &it.syntax,
24121 Stmt::CreateFunction(it) => &it.syntax,
24122 Stmt::CreateGroup(it) => &it.syntax,
24123 Stmt::CreateIndex(it) => &it.syntax,
24124 Stmt::CreateLanguage(it) => &it.syntax,
24125 Stmt::CreateMaterializedView(it) => &it.syntax,
24126 Stmt::CreateOperator(it) => &it.syntax,
24127 Stmt::CreateOperatorClass(it) => &it.syntax,
24128 Stmt::CreateOperatorFamily(it) => &it.syntax,
24129 Stmt::CreatePolicy(it) => &it.syntax,
24130 Stmt::CreateProcedure(it) => &it.syntax,
24131 Stmt::CreatePublication(it) => &it.syntax,
24132 Stmt::CreateRole(it) => &it.syntax,
24133 Stmt::CreateRule(it) => &it.syntax,
24134 Stmt::CreateSchema(it) => &it.syntax,
24135 Stmt::CreateSequence(it) => &it.syntax,
24136 Stmt::CreateServer(it) => &it.syntax,
24137 Stmt::CreateStatistics(it) => &it.syntax,
24138 Stmt::CreateSubscription(it) => &it.syntax,
24139 Stmt::CreateTable(it) => &it.syntax,
24140 Stmt::CreateTableAs(it) => &it.syntax,
24141 Stmt::CreateTablespace(it) => &it.syntax,
24142 Stmt::CreateTextSearchConfiguration(it) => &it.syntax,
24143 Stmt::CreateTextSearchDictionary(it) => &it.syntax,
24144 Stmt::CreateTextSearchParser(it) => &it.syntax,
24145 Stmt::CreateTextSearchTemplate(it) => &it.syntax,
24146 Stmt::CreateTransform(it) => &it.syntax,
24147 Stmt::CreateTrigger(it) => &it.syntax,
24148 Stmt::CreateType(it) => &it.syntax,
24149 Stmt::CreateUser(it) => &it.syntax,
24150 Stmt::CreateUserMapping(it) => &it.syntax,
24151 Stmt::CreateView(it) => &it.syntax,
24152 Stmt::Deallocate(it) => &it.syntax,
24153 Stmt::Declare(it) => &it.syntax,
24154 Stmt::Delete(it) => &it.syntax,
24155 Stmt::Discard(it) => &it.syntax,
24156 Stmt::Do(it) => &it.syntax,
24157 Stmt::DropAccessMethod(it) => &it.syntax,
24158 Stmt::DropAggregate(it) => &it.syntax,
24159 Stmt::DropCast(it) => &it.syntax,
24160 Stmt::DropCollation(it) => &it.syntax,
24161 Stmt::DropConversion(it) => &it.syntax,
24162 Stmt::DropDatabase(it) => &it.syntax,
24163 Stmt::DropDomain(it) => &it.syntax,
24164 Stmt::DropEventTrigger(it) => &it.syntax,
24165 Stmt::DropExtension(it) => &it.syntax,
24166 Stmt::DropForeignDataWrapper(it) => &it.syntax,
24167 Stmt::DropForeignTable(it) => &it.syntax,
24168 Stmt::DropFunction(it) => &it.syntax,
24169 Stmt::DropGroup(it) => &it.syntax,
24170 Stmt::DropIndex(it) => &it.syntax,
24171 Stmt::DropLanguage(it) => &it.syntax,
24172 Stmt::DropMaterializedView(it) => &it.syntax,
24173 Stmt::DropOperator(it) => &it.syntax,
24174 Stmt::DropOperatorClass(it) => &it.syntax,
24175 Stmt::DropOperatorFamily(it) => &it.syntax,
24176 Stmt::DropOwned(it) => &it.syntax,
24177 Stmt::DropPolicy(it) => &it.syntax,
24178 Stmt::DropProcedure(it) => &it.syntax,
24179 Stmt::DropPublication(it) => &it.syntax,
24180 Stmt::DropRole(it) => &it.syntax,
24181 Stmt::DropRoutine(it) => &it.syntax,
24182 Stmt::DropRule(it) => &it.syntax,
24183 Stmt::DropSchema(it) => &it.syntax,
24184 Stmt::DropSequence(it) => &it.syntax,
24185 Stmt::DropServer(it) => &it.syntax,
24186 Stmt::DropStatistics(it) => &it.syntax,
24187 Stmt::DropSubscription(it) => &it.syntax,
24188 Stmt::DropTable(it) => &it.syntax,
24189 Stmt::DropTablespace(it) => &it.syntax,
24190 Stmt::DropTextSearchConfig(it) => &it.syntax,
24191 Stmt::DropTextSearchDict(it) => &it.syntax,
24192 Stmt::DropTextSearchParser(it) => &it.syntax,
24193 Stmt::DropTextSearchTemplate(it) => &it.syntax,
24194 Stmt::DropTransform(it) => &it.syntax,
24195 Stmt::DropTrigger(it) => &it.syntax,
24196 Stmt::DropType(it) => &it.syntax,
24197 Stmt::DropUser(it) => &it.syntax,
24198 Stmt::DropUserMapping(it) => &it.syntax,
24199 Stmt::DropView(it) => &it.syntax,
24200 Stmt::Execute(it) => &it.syntax,
24201 Stmt::Explain(it) => &it.syntax,
24202 Stmt::Fetch(it) => &it.syntax,
24203 Stmt::Grant(it) => &it.syntax,
24204 Stmt::ImportForeignSchema(it) => &it.syntax,
24205 Stmt::Insert(it) => &it.syntax,
24206 Stmt::Listen(it) => &it.syntax,
24207 Stmt::Load(it) => &it.syntax,
24208 Stmt::Lock(it) => &it.syntax,
24209 Stmt::Merge(it) => &it.syntax,
24210 Stmt::Move(it) => &it.syntax,
24211 Stmt::Notify(it) => &it.syntax,
24212 Stmt::ParenSelect(it) => &it.syntax,
24213 Stmt::Prepare(it) => &it.syntax,
24214 Stmt::PrepareTransaction(it) => &it.syntax,
24215 Stmt::Reassign(it) => &it.syntax,
24216 Stmt::Refresh(it) => &it.syntax,
24217 Stmt::Reindex(it) => &it.syntax,
24218 Stmt::ReleaseSavepoint(it) => &it.syntax,
24219 Stmt::Reset(it) => &it.syntax,
24220 Stmt::Revoke(it) => &it.syntax,
24221 Stmt::Rollback(it) => &it.syntax,
24222 Stmt::Savepoint(it) => &it.syntax,
24223 Stmt::SecurityLabel(it) => &it.syntax,
24224 Stmt::Select(it) => &it.syntax,
24225 Stmt::SelectInto(it) => &it.syntax,
24226 Stmt::Set(it) => &it.syntax,
24227 Stmt::SetConstraints(it) => &it.syntax,
24228 Stmt::SetRole(it) => &it.syntax,
24229 Stmt::SetSessionAuth(it) => &it.syntax,
24230 Stmt::SetTransaction(it) => &it.syntax,
24231 Stmt::Show(it) => &it.syntax,
24232 Stmt::Table(it) => &it.syntax,
24233 Stmt::Truncate(it) => &it.syntax,
24234 Stmt::Unlisten(it) => &it.syntax,
24235 Stmt::Update(it) => &it.syntax,
24236 Stmt::Vacuum(it) => &it.syntax,
24237 Stmt::Values(it) => &it.syntax,
24238 }
24239 }
24240}
24241impl From<AlterAggregate> for Stmt {
24242 #[inline]
24243 fn from(node: AlterAggregate) -> Stmt {
24244 Stmt::AlterAggregate(node)
24245 }
24246}
24247impl From<AlterCollation> for Stmt {
24248 #[inline]
24249 fn from(node: AlterCollation) -> Stmt {
24250 Stmt::AlterCollation(node)
24251 }
24252}
24253impl From<AlterConversion> for Stmt {
24254 #[inline]
24255 fn from(node: AlterConversion) -> Stmt {
24256 Stmt::AlterConversion(node)
24257 }
24258}
24259impl From<AlterDatabase> for Stmt {
24260 #[inline]
24261 fn from(node: AlterDatabase) -> Stmt {
24262 Stmt::AlterDatabase(node)
24263 }
24264}
24265impl From<AlterDefaultPrivileges> for Stmt {
24266 #[inline]
24267 fn from(node: AlterDefaultPrivileges) -> Stmt {
24268 Stmt::AlterDefaultPrivileges(node)
24269 }
24270}
24271impl From<AlterDomain> for Stmt {
24272 #[inline]
24273 fn from(node: AlterDomain) -> Stmt {
24274 Stmt::AlterDomain(node)
24275 }
24276}
24277impl From<AlterEventTrigger> for Stmt {
24278 #[inline]
24279 fn from(node: AlterEventTrigger) -> Stmt {
24280 Stmt::AlterEventTrigger(node)
24281 }
24282}
24283impl From<AlterExtension> for Stmt {
24284 #[inline]
24285 fn from(node: AlterExtension) -> Stmt {
24286 Stmt::AlterExtension(node)
24287 }
24288}
24289impl From<AlterForeignDataWrapper> for Stmt {
24290 #[inline]
24291 fn from(node: AlterForeignDataWrapper) -> Stmt {
24292 Stmt::AlterForeignDataWrapper(node)
24293 }
24294}
24295impl From<AlterForeignTable> for Stmt {
24296 #[inline]
24297 fn from(node: AlterForeignTable) -> Stmt {
24298 Stmt::AlterForeignTable(node)
24299 }
24300}
24301impl From<AlterFunction> for Stmt {
24302 #[inline]
24303 fn from(node: AlterFunction) -> Stmt {
24304 Stmt::AlterFunction(node)
24305 }
24306}
24307impl From<AlterGroup> for Stmt {
24308 #[inline]
24309 fn from(node: AlterGroup) -> Stmt {
24310 Stmt::AlterGroup(node)
24311 }
24312}
24313impl From<AlterIndex> for Stmt {
24314 #[inline]
24315 fn from(node: AlterIndex) -> Stmt {
24316 Stmt::AlterIndex(node)
24317 }
24318}
24319impl From<AlterLanguage> for Stmt {
24320 #[inline]
24321 fn from(node: AlterLanguage) -> Stmt {
24322 Stmt::AlterLanguage(node)
24323 }
24324}
24325impl From<AlterLargeObject> for Stmt {
24326 #[inline]
24327 fn from(node: AlterLargeObject) -> Stmt {
24328 Stmt::AlterLargeObject(node)
24329 }
24330}
24331impl From<AlterMaterializedView> for Stmt {
24332 #[inline]
24333 fn from(node: AlterMaterializedView) -> Stmt {
24334 Stmt::AlterMaterializedView(node)
24335 }
24336}
24337impl From<AlterOperator> for Stmt {
24338 #[inline]
24339 fn from(node: AlterOperator) -> Stmt {
24340 Stmt::AlterOperator(node)
24341 }
24342}
24343impl From<AlterOperatorClass> for Stmt {
24344 #[inline]
24345 fn from(node: AlterOperatorClass) -> Stmt {
24346 Stmt::AlterOperatorClass(node)
24347 }
24348}
24349impl From<AlterOperatorFamily> for Stmt {
24350 #[inline]
24351 fn from(node: AlterOperatorFamily) -> Stmt {
24352 Stmt::AlterOperatorFamily(node)
24353 }
24354}
24355impl From<AlterPolicy> for Stmt {
24356 #[inline]
24357 fn from(node: AlterPolicy) -> Stmt {
24358 Stmt::AlterPolicy(node)
24359 }
24360}
24361impl From<AlterProcedure> for Stmt {
24362 #[inline]
24363 fn from(node: AlterProcedure) -> Stmt {
24364 Stmt::AlterProcedure(node)
24365 }
24366}
24367impl From<AlterPublication> for Stmt {
24368 #[inline]
24369 fn from(node: AlterPublication) -> Stmt {
24370 Stmt::AlterPublication(node)
24371 }
24372}
24373impl From<AlterRole> for Stmt {
24374 #[inline]
24375 fn from(node: AlterRole) -> Stmt {
24376 Stmt::AlterRole(node)
24377 }
24378}
24379impl From<AlterRoutine> for Stmt {
24380 #[inline]
24381 fn from(node: AlterRoutine) -> Stmt {
24382 Stmt::AlterRoutine(node)
24383 }
24384}
24385impl From<AlterRule> for Stmt {
24386 #[inline]
24387 fn from(node: AlterRule) -> Stmt {
24388 Stmt::AlterRule(node)
24389 }
24390}
24391impl From<AlterSchema> for Stmt {
24392 #[inline]
24393 fn from(node: AlterSchema) -> Stmt {
24394 Stmt::AlterSchema(node)
24395 }
24396}
24397impl From<AlterSequence> for Stmt {
24398 #[inline]
24399 fn from(node: AlterSequence) -> Stmt {
24400 Stmt::AlterSequence(node)
24401 }
24402}
24403impl From<AlterServer> for Stmt {
24404 #[inline]
24405 fn from(node: AlterServer) -> Stmt {
24406 Stmt::AlterServer(node)
24407 }
24408}
24409impl From<AlterStatistics> for Stmt {
24410 #[inline]
24411 fn from(node: AlterStatistics) -> Stmt {
24412 Stmt::AlterStatistics(node)
24413 }
24414}
24415impl From<AlterSubscription> for Stmt {
24416 #[inline]
24417 fn from(node: AlterSubscription) -> Stmt {
24418 Stmt::AlterSubscription(node)
24419 }
24420}
24421impl From<AlterSystem> for Stmt {
24422 #[inline]
24423 fn from(node: AlterSystem) -> Stmt {
24424 Stmt::AlterSystem(node)
24425 }
24426}
24427impl From<AlterTable> for Stmt {
24428 #[inline]
24429 fn from(node: AlterTable) -> Stmt {
24430 Stmt::AlterTable(node)
24431 }
24432}
24433impl From<AlterTablespace> for Stmt {
24434 #[inline]
24435 fn from(node: AlterTablespace) -> Stmt {
24436 Stmt::AlterTablespace(node)
24437 }
24438}
24439impl From<AlterTextSearchConfiguration> for Stmt {
24440 #[inline]
24441 fn from(node: AlterTextSearchConfiguration) -> Stmt {
24442 Stmt::AlterTextSearchConfiguration(node)
24443 }
24444}
24445impl From<AlterTextSearchDictionary> for Stmt {
24446 #[inline]
24447 fn from(node: AlterTextSearchDictionary) -> Stmt {
24448 Stmt::AlterTextSearchDictionary(node)
24449 }
24450}
24451impl From<AlterTextSearchParser> for Stmt {
24452 #[inline]
24453 fn from(node: AlterTextSearchParser) -> Stmt {
24454 Stmt::AlterTextSearchParser(node)
24455 }
24456}
24457impl From<AlterTextSearchTemplate> for Stmt {
24458 #[inline]
24459 fn from(node: AlterTextSearchTemplate) -> Stmt {
24460 Stmt::AlterTextSearchTemplate(node)
24461 }
24462}
24463impl From<AlterTrigger> for Stmt {
24464 #[inline]
24465 fn from(node: AlterTrigger) -> Stmt {
24466 Stmt::AlterTrigger(node)
24467 }
24468}
24469impl From<AlterType> for Stmt {
24470 #[inline]
24471 fn from(node: AlterType) -> Stmt {
24472 Stmt::AlterType(node)
24473 }
24474}
24475impl From<AlterUser> for Stmt {
24476 #[inline]
24477 fn from(node: AlterUser) -> Stmt {
24478 Stmt::AlterUser(node)
24479 }
24480}
24481impl From<AlterUserMapping> for Stmt {
24482 #[inline]
24483 fn from(node: AlterUserMapping) -> Stmt {
24484 Stmt::AlterUserMapping(node)
24485 }
24486}
24487impl From<AlterView> for Stmt {
24488 #[inline]
24489 fn from(node: AlterView) -> Stmt {
24490 Stmt::AlterView(node)
24491 }
24492}
24493impl From<Analyze> for Stmt {
24494 #[inline]
24495 fn from(node: Analyze) -> Stmt {
24496 Stmt::Analyze(node)
24497 }
24498}
24499impl From<Begin> for Stmt {
24500 #[inline]
24501 fn from(node: Begin) -> Stmt {
24502 Stmt::Begin(node)
24503 }
24504}
24505impl From<Call> for Stmt {
24506 #[inline]
24507 fn from(node: Call) -> Stmt {
24508 Stmt::Call(node)
24509 }
24510}
24511impl From<Checkpoint> for Stmt {
24512 #[inline]
24513 fn from(node: Checkpoint) -> Stmt {
24514 Stmt::Checkpoint(node)
24515 }
24516}
24517impl From<Close> for Stmt {
24518 #[inline]
24519 fn from(node: Close) -> Stmt {
24520 Stmt::Close(node)
24521 }
24522}
24523impl From<Cluster> for Stmt {
24524 #[inline]
24525 fn from(node: Cluster) -> Stmt {
24526 Stmt::Cluster(node)
24527 }
24528}
24529impl From<CommentOn> for Stmt {
24530 #[inline]
24531 fn from(node: CommentOn) -> Stmt {
24532 Stmt::CommentOn(node)
24533 }
24534}
24535impl From<Commit> for Stmt {
24536 #[inline]
24537 fn from(node: Commit) -> Stmt {
24538 Stmt::Commit(node)
24539 }
24540}
24541impl From<Copy> for Stmt {
24542 #[inline]
24543 fn from(node: Copy) -> Stmt {
24544 Stmt::Copy(node)
24545 }
24546}
24547impl From<CreateAccessMethod> for Stmt {
24548 #[inline]
24549 fn from(node: CreateAccessMethod) -> Stmt {
24550 Stmt::CreateAccessMethod(node)
24551 }
24552}
24553impl From<CreateAggregate> for Stmt {
24554 #[inline]
24555 fn from(node: CreateAggregate) -> Stmt {
24556 Stmt::CreateAggregate(node)
24557 }
24558}
24559impl From<CreateCast> for Stmt {
24560 #[inline]
24561 fn from(node: CreateCast) -> Stmt {
24562 Stmt::CreateCast(node)
24563 }
24564}
24565impl From<CreateCollation> for Stmt {
24566 #[inline]
24567 fn from(node: CreateCollation) -> Stmt {
24568 Stmt::CreateCollation(node)
24569 }
24570}
24571impl From<CreateConversion> for Stmt {
24572 #[inline]
24573 fn from(node: CreateConversion) -> Stmt {
24574 Stmt::CreateConversion(node)
24575 }
24576}
24577impl From<CreateDatabase> for Stmt {
24578 #[inline]
24579 fn from(node: CreateDatabase) -> Stmt {
24580 Stmt::CreateDatabase(node)
24581 }
24582}
24583impl From<CreateDomain> for Stmt {
24584 #[inline]
24585 fn from(node: CreateDomain) -> Stmt {
24586 Stmt::CreateDomain(node)
24587 }
24588}
24589impl From<CreateEventTrigger> for Stmt {
24590 #[inline]
24591 fn from(node: CreateEventTrigger) -> Stmt {
24592 Stmt::CreateEventTrigger(node)
24593 }
24594}
24595impl From<CreateExtension> for Stmt {
24596 #[inline]
24597 fn from(node: CreateExtension) -> Stmt {
24598 Stmt::CreateExtension(node)
24599 }
24600}
24601impl From<CreateForeignDataWrapper> for Stmt {
24602 #[inline]
24603 fn from(node: CreateForeignDataWrapper) -> Stmt {
24604 Stmt::CreateForeignDataWrapper(node)
24605 }
24606}
24607impl From<CreateForeignTable> for Stmt {
24608 #[inline]
24609 fn from(node: CreateForeignTable) -> Stmt {
24610 Stmt::CreateForeignTable(node)
24611 }
24612}
24613impl From<CreateFunction> for Stmt {
24614 #[inline]
24615 fn from(node: CreateFunction) -> Stmt {
24616 Stmt::CreateFunction(node)
24617 }
24618}
24619impl From<CreateGroup> for Stmt {
24620 #[inline]
24621 fn from(node: CreateGroup) -> Stmt {
24622 Stmt::CreateGroup(node)
24623 }
24624}
24625impl From<CreateIndex> for Stmt {
24626 #[inline]
24627 fn from(node: CreateIndex) -> Stmt {
24628 Stmt::CreateIndex(node)
24629 }
24630}
24631impl From<CreateLanguage> for Stmt {
24632 #[inline]
24633 fn from(node: CreateLanguage) -> Stmt {
24634 Stmt::CreateLanguage(node)
24635 }
24636}
24637impl From<CreateMaterializedView> for Stmt {
24638 #[inline]
24639 fn from(node: CreateMaterializedView) -> Stmt {
24640 Stmt::CreateMaterializedView(node)
24641 }
24642}
24643impl From<CreateOperator> for Stmt {
24644 #[inline]
24645 fn from(node: CreateOperator) -> Stmt {
24646 Stmt::CreateOperator(node)
24647 }
24648}
24649impl From<CreateOperatorClass> for Stmt {
24650 #[inline]
24651 fn from(node: CreateOperatorClass) -> Stmt {
24652 Stmt::CreateOperatorClass(node)
24653 }
24654}
24655impl From<CreateOperatorFamily> for Stmt {
24656 #[inline]
24657 fn from(node: CreateOperatorFamily) -> Stmt {
24658 Stmt::CreateOperatorFamily(node)
24659 }
24660}
24661impl From<CreatePolicy> for Stmt {
24662 #[inline]
24663 fn from(node: CreatePolicy) -> Stmt {
24664 Stmt::CreatePolicy(node)
24665 }
24666}
24667impl From<CreateProcedure> for Stmt {
24668 #[inline]
24669 fn from(node: CreateProcedure) -> Stmt {
24670 Stmt::CreateProcedure(node)
24671 }
24672}
24673impl From<CreatePublication> for Stmt {
24674 #[inline]
24675 fn from(node: CreatePublication) -> Stmt {
24676 Stmt::CreatePublication(node)
24677 }
24678}
24679impl From<CreateRole> for Stmt {
24680 #[inline]
24681 fn from(node: CreateRole) -> Stmt {
24682 Stmt::CreateRole(node)
24683 }
24684}
24685impl From<CreateRule> for Stmt {
24686 #[inline]
24687 fn from(node: CreateRule) -> Stmt {
24688 Stmt::CreateRule(node)
24689 }
24690}
24691impl From<CreateSchema> for Stmt {
24692 #[inline]
24693 fn from(node: CreateSchema) -> Stmt {
24694 Stmt::CreateSchema(node)
24695 }
24696}
24697impl From<CreateSequence> for Stmt {
24698 #[inline]
24699 fn from(node: CreateSequence) -> Stmt {
24700 Stmt::CreateSequence(node)
24701 }
24702}
24703impl From<CreateServer> for Stmt {
24704 #[inline]
24705 fn from(node: CreateServer) -> Stmt {
24706 Stmt::CreateServer(node)
24707 }
24708}
24709impl From<CreateStatistics> for Stmt {
24710 #[inline]
24711 fn from(node: CreateStatistics) -> Stmt {
24712 Stmt::CreateStatistics(node)
24713 }
24714}
24715impl From<CreateSubscription> for Stmt {
24716 #[inline]
24717 fn from(node: CreateSubscription) -> Stmt {
24718 Stmt::CreateSubscription(node)
24719 }
24720}
24721impl From<CreateTable> for Stmt {
24722 #[inline]
24723 fn from(node: CreateTable) -> Stmt {
24724 Stmt::CreateTable(node)
24725 }
24726}
24727impl From<CreateTableAs> for Stmt {
24728 #[inline]
24729 fn from(node: CreateTableAs) -> Stmt {
24730 Stmt::CreateTableAs(node)
24731 }
24732}
24733impl From<CreateTablespace> for Stmt {
24734 #[inline]
24735 fn from(node: CreateTablespace) -> Stmt {
24736 Stmt::CreateTablespace(node)
24737 }
24738}
24739impl From<CreateTextSearchConfiguration> for Stmt {
24740 #[inline]
24741 fn from(node: CreateTextSearchConfiguration) -> Stmt {
24742 Stmt::CreateTextSearchConfiguration(node)
24743 }
24744}
24745impl From<CreateTextSearchDictionary> for Stmt {
24746 #[inline]
24747 fn from(node: CreateTextSearchDictionary) -> Stmt {
24748 Stmt::CreateTextSearchDictionary(node)
24749 }
24750}
24751impl From<CreateTextSearchParser> for Stmt {
24752 #[inline]
24753 fn from(node: CreateTextSearchParser) -> Stmt {
24754 Stmt::CreateTextSearchParser(node)
24755 }
24756}
24757impl From<CreateTextSearchTemplate> for Stmt {
24758 #[inline]
24759 fn from(node: CreateTextSearchTemplate) -> Stmt {
24760 Stmt::CreateTextSearchTemplate(node)
24761 }
24762}
24763impl From<CreateTransform> for Stmt {
24764 #[inline]
24765 fn from(node: CreateTransform) -> Stmt {
24766 Stmt::CreateTransform(node)
24767 }
24768}
24769impl From<CreateTrigger> for Stmt {
24770 #[inline]
24771 fn from(node: CreateTrigger) -> Stmt {
24772 Stmt::CreateTrigger(node)
24773 }
24774}
24775impl From<CreateType> for Stmt {
24776 #[inline]
24777 fn from(node: CreateType) -> Stmt {
24778 Stmt::CreateType(node)
24779 }
24780}
24781impl From<CreateUser> for Stmt {
24782 #[inline]
24783 fn from(node: CreateUser) -> Stmt {
24784 Stmt::CreateUser(node)
24785 }
24786}
24787impl From<CreateUserMapping> for Stmt {
24788 #[inline]
24789 fn from(node: CreateUserMapping) -> Stmt {
24790 Stmt::CreateUserMapping(node)
24791 }
24792}
24793impl From<CreateView> for Stmt {
24794 #[inline]
24795 fn from(node: CreateView) -> Stmt {
24796 Stmt::CreateView(node)
24797 }
24798}
24799impl From<Deallocate> for Stmt {
24800 #[inline]
24801 fn from(node: Deallocate) -> Stmt {
24802 Stmt::Deallocate(node)
24803 }
24804}
24805impl From<Declare> for Stmt {
24806 #[inline]
24807 fn from(node: Declare) -> Stmt {
24808 Stmt::Declare(node)
24809 }
24810}
24811impl From<Delete> for Stmt {
24812 #[inline]
24813 fn from(node: Delete) -> Stmt {
24814 Stmt::Delete(node)
24815 }
24816}
24817impl From<Discard> for Stmt {
24818 #[inline]
24819 fn from(node: Discard) -> Stmt {
24820 Stmt::Discard(node)
24821 }
24822}
24823impl From<Do> for Stmt {
24824 #[inline]
24825 fn from(node: Do) -> Stmt {
24826 Stmt::Do(node)
24827 }
24828}
24829impl From<DropAccessMethod> for Stmt {
24830 #[inline]
24831 fn from(node: DropAccessMethod) -> Stmt {
24832 Stmt::DropAccessMethod(node)
24833 }
24834}
24835impl From<DropAggregate> for Stmt {
24836 #[inline]
24837 fn from(node: DropAggregate) -> Stmt {
24838 Stmt::DropAggregate(node)
24839 }
24840}
24841impl From<DropCast> for Stmt {
24842 #[inline]
24843 fn from(node: DropCast) -> Stmt {
24844 Stmt::DropCast(node)
24845 }
24846}
24847impl From<DropCollation> for Stmt {
24848 #[inline]
24849 fn from(node: DropCollation) -> Stmt {
24850 Stmt::DropCollation(node)
24851 }
24852}
24853impl From<DropConversion> for Stmt {
24854 #[inline]
24855 fn from(node: DropConversion) -> Stmt {
24856 Stmt::DropConversion(node)
24857 }
24858}
24859impl From<DropDatabase> for Stmt {
24860 #[inline]
24861 fn from(node: DropDatabase) -> Stmt {
24862 Stmt::DropDatabase(node)
24863 }
24864}
24865impl From<DropDomain> for Stmt {
24866 #[inline]
24867 fn from(node: DropDomain) -> Stmt {
24868 Stmt::DropDomain(node)
24869 }
24870}
24871impl From<DropEventTrigger> for Stmt {
24872 #[inline]
24873 fn from(node: DropEventTrigger) -> Stmt {
24874 Stmt::DropEventTrigger(node)
24875 }
24876}
24877impl From<DropExtension> for Stmt {
24878 #[inline]
24879 fn from(node: DropExtension) -> Stmt {
24880 Stmt::DropExtension(node)
24881 }
24882}
24883impl From<DropForeignDataWrapper> for Stmt {
24884 #[inline]
24885 fn from(node: DropForeignDataWrapper) -> Stmt {
24886 Stmt::DropForeignDataWrapper(node)
24887 }
24888}
24889impl From<DropForeignTable> for Stmt {
24890 #[inline]
24891 fn from(node: DropForeignTable) -> Stmt {
24892 Stmt::DropForeignTable(node)
24893 }
24894}
24895impl From<DropFunction> for Stmt {
24896 #[inline]
24897 fn from(node: DropFunction) -> Stmt {
24898 Stmt::DropFunction(node)
24899 }
24900}
24901impl From<DropGroup> for Stmt {
24902 #[inline]
24903 fn from(node: DropGroup) -> Stmt {
24904 Stmt::DropGroup(node)
24905 }
24906}
24907impl From<DropIndex> for Stmt {
24908 #[inline]
24909 fn from(node: DropIndex) -> Stmt {
24910 Stmt::DropIndex(node)
24911 }
24912}
24913impl From<DropLanguage> for Stmt {
24914 #[inline]
24915 fn from(node: DropLanguage) -> Stmt {
24916 Stmt::DropLanguage(node)
24917 }
24918}
24919impl From<DropMaterializedView> for Stmt {
24920 #[inline]
24921 fn from(node: DropMaterializedView) -> Stmt {
24922 Stmt::DropMaterializedView(node)
24923 }
24924}
24925impl From<DropOperator> for Stmt {
24926 #[inline]
24927 fn from(node: DropOperator) -> Stmt {
24928 Stmt::DropOperator(node)
24929 }
24930}
24931impl From<DropOperatorClass> for Stmt {
24932 #[inline]
24933 fn from(node: DropOperatorClass) -> Stmt {
24934 Stmt::DropOperatorClass(node)
24935 }
24936}
24937impl From<DropOperatorFamily> for Stmt {
24938 #[inline]
24939 fn from(node: DropOperatorFamily) -> Stmt {
24940 Stmt::DropOperatorFamily(node)
24941 }
24942}
24943impl From<DropOwned> for Stmt {
24944 #[inline]
24945 fn from(node: DropOwned) -> Stmt {
24946 Stmt::DropOwned(node)
24947 }
24948}
24949impl From<DropPolicy> for Stmt {
24950 #[inline]
24951 fn from(node: DropPolicy) -> Stmt {
24952 Stmt::DropPolicy(node)
24953 }
24954}
24955impl From<DropProcedure> for Stmt {
24956 #[inline]
24957 fn from(node: DropProcedure) -> Stmt {
24958 Stmt::DropProcedure(node)
24959 }
24960}
24961impl From<DropPublication> for Stmt {
24962 #[inline]
24963 fn from(node: DropPublication) -> Stmt {
24964 Stmt::DropPublication(node)
24965 }
24966}
24967impl From<DropRole> for Stmt {
24968 #[inline]
24969 fn from(node: DropRole) -> Stmt {
24970 Stmt::DropRole(node)
24971 }
24972}
24973impl From<DropRoutine> for Stmt {
24974 #[inline]
24975 fn from(node: DropRoutine) -> Stmt {
24976 Stmt::DropRoutine(node)
24977 }
24978}
24979impl From<DropRule> for Stmt {
24980 #[inline]
24981 fn from(node: DropRule) -> Stmt {
24982 Stmt::DropRule(node)
24983 }
24984}
24985impl From<DropSchema> for Stmt {
24986 #[inline]
24987 fn from(node: DropSchema) -> Stmt {
24988 Stmt::DropSchema(node)
24989 }
24990}
24991impl From<DropSequence> for Stmt {
24992 #[inline]
24993 fn from(node: DropSequence) -> Stmt {
24994 Stmt::DropSequence(node)
24995 }
24996}
24997impl From<DropServer> for Stmt {
24998 #[inline]
24999 fn from(node: DropServer) -> Stmt {
25000 Stmt::DropServer(node)
25001 }
25002}
25003impl From<DropStatistics> for Stmt {
25004 #[inline]
25005 fn from(node: DropStatistics) -> Stmt {
25006 Stmt::DropStatistics(node)
25007 }
25008}
25009impl From<DropSubscription> for Stmt {
25010 #[inline]
25011 fn from(node: DropSubscription) -> Stmt {
25012 Stmt::DropSubscription(node)
25013 }
25014}
25015impl From<DropTable> for Stmt {
25016 #[inline]
25017 fn from(node: DropTable) -> Stmt {
25018 Stmt::DropTable(node)
25019 }
25020}
25021impl From<DropTablespace> for Stmt {
25022 #[inline]
25023 fn from(node: DropTablespace) -> Stmt {
25024 Stmt::DropTablespace(node)
25025 }
25026}
25027impl From<DropTextSearchConfig> for Stmt {
25028 #[inline]
25029 fn from(node: DropTextSearchConfig) -> Stmt {
25030 Stmt::DropTextSearchConfig(node)
25031 }
25032}
25033impl From<DropTextSearchDict> for Stmt {
25034 #[inline]
25035 fn from(node: DropTextSearchDict) -> Stmt {
25036 Stmt::DropTextSearchDict(node)
25037 }
25038}
25039impl From<DropTextSearchParser> for Stmt {
25040 #[inline]
25041 fn from(node: DropTextSearchParser) -> Stmt {
25042 Stmt::DropTextSearchParser(node)
25043 }
25044}
25045impl From<DropTextSearchTemplate> for Stmt {
25046 #[inline]
25047 fn from(node: DropTextSearchTemplate) -> Stmt {
25048 Stmt::DropTextSearchTemplate(node)
25049 }
25050}
25051impl From<DropTransform> for Stmt {
25052 #[inline]
25053 fn from(node: DropTransform) -> Stmt {
25054 Stmt::DropTransform(node)
25055 }
25056}
25057impl From<DropTrigger> for Stmt {
25058 #[inline]
25059 fn from(node: DropTrigger) -> Stmt {
25060 Stmt::DropTrigger(node)
25061 }
25062}
25063impl From<DropType> for Stmt {
25064 #[inline]
25065 fn from(node: DropType) -> Stmt {
25066 Stmt::DropType(node)
25067 }
25068}
25069impl From<DropUser> for Stmt {
25070 #[inline]
25071 fn from(node: DropUser) -> Stmt {
25072 Stmt::DropUser(node)
25073 }
25074}
25075impl From<DropUserMapping> for Stmt {
25076 #[inline]
25077 fn from(node: DropUserMapping) -> Stmt {
25078 Stmt::DropUserMapping(node)
25079 }
25080}
25081impl From<DropView> for Stmt {
25082 #[inline]
25083 fn from(node: DropView) -> Stmt {
25084 Stmt::DropView(node)
25085 }
25086}
25087impl From<Execute> for Stmt {
25088 #[inline]
25089 fn from(node: Execute) -> Stmt {
25090 Stmt::Execute(node)
25091 }
25092}
25093impl From<Explain> for Stmt {
25094 #[inline]
25095 fn from(node: Explain) -> Stmt {
25096 Stmt::Explain(node)
25097 }
25098}
25099impl From<Fetch> for Stmt {
25100 #[inline]
25101 fn from(node: Fetch) -> Stmt {
25102 Stmt::Fetch(node)
25103 }
25104}
25105impl From<Grant> for Stmt {
25106 #[inline]
25107 fn from(node: Grant) -> Stmt {
25108 Stmt::Grant(node)
25109 }
25110}
25111impl From<ImportForeignSchema> for Stmt {
25112 #[inline]
25113 fn from(node: ImportForeignSchema) -> Stmt {
25114 Stmt::ImportForeignSchema(node)
25115 }
25116}
25117impl From<Insert> for Stmt {
25118 #[inline]
25119 fn from(node: Insert) -> Stmt {
25120 Stmt::Insert(node)
25121 }
25122}
25123impl From<Listen> for Stmt {
25124 #[inline]
25125 fn from(node: Listen) -> Stmt {
25126 Stmt::Listen(node)
25127 }
25128}
25129impl From<Load> for Stmt {
25130 #[inline]
25131 fn from(node: Load) -> Stmt {
25132 Stmt::Load(node)
25133 }
25134}
25135impl From<Lock> for Stmt {
25136 #[inline]
25137 fn from(node: Lock) -> Stmt {
25138 Stmt::Lock(node)
25139 }
25140}
25141impl From<Merge> for Stmt {
25142 #[inline]
25143 fn from(node: Merge) -> Stmt {
25144 Stmt::Merge(node)
25145 }
25146}
25147impl From<Move> for Stmt {
25148 #[inline]
25149 fn from(node: Move) -> Stmt {
25150 Stmt::Move(node)
25151 }
25152}
25153impl From<Notify> for Stmt {
25154 #[inline]
25155 fn from(node: Notify) -> Stmt {
25156 Stmt::Notify(node)
25157 }
25158}
25159impl From<ParenSelect> for Stmt {
25160 #[inline]
25161 fn from(node: ParenSelect) -> Stmt {
25162 Stmt::ParenSelect(node)
25163 }
25164}
25165impl From<Prepare> for Stmt {
25166 #[inline]
25167 fn from(node: Prepare) -> Stmt {
25168 Stmt::Prepare(node)
25169 }
25170}
25171impl From<PrepareTransaction> for Stmt {
25172 #[inline]
25173 fn from(node: PrepareTransaction) -> Stmt {
25174 Stmt::PrepareTransaction(node)
25175 }
25176}
25177impl From<Reassign> for Stmt {
25178 #[inline]
25179 fn from(node: Reassign) -> Stmt {
25180 Stmt::Reassign(node)
25181 }
25182}
25183impl From<Refresh> for Stmt {
25184 #[inline]
25185 fn from(node: Refresh) -> Stmt {
25186 Stmt::Refresh(node)
25187 }
25188}
25189impl From<Reindex> for Stmt {
25190 #[inline]
25191 fn from(node: Reindex) -> Stmt {
25192 Stmt::Reindex(node)
25193 }
25194}
25195impl From<ReleaseSavepoint> for Stmt {
25196 #[inline]
25197 fn from(node: ReleaseSavepoint) -> Stmt {
25198 Stmt::ReleaseSavepoint(node)
25199 }
25200}
25201impl From<Reset> for Stmt {
25202 #[inline]
25203 fn from(node: Reset) -> Stmt {
25204 Stmt::Reset(node)
25205 }
25206}
25207impl From<Revoke> for Stmt {
25208 #[inline]
25209 fn from(node: Revoke) -> Stmt {
25210 Stmt::Revoke(node)
25211 }
25212}
25213impl From<Rollback> for Stmt {
25214 #[inline]
25215 fn from(node: Rollback) -> Stmt {
25216 Stmt::Rollback(node)
25217 }
25218}
25219impl From<Savepoint> for Stmt {
25220 #[inline]
25221 fn from(node: Savepoint) -> Stmt {
25222 Stmt::Savepoint(node)
25223 }
25224}
25225impl From<SecurityLabel> for Stmt {
25226 #[inline]
25227 fn from(node: SecurityLabel) -> Stmt {
25228 Stmt::SecurityLabel(node)
25229 }
25230}
25231impl From<Select> for Stmt {
25232 #[inline]
25233 fn from(node: Select) -> Stmt {
25234 Stmt::Select(node)
25235 }
25236}
25237impl From<SelectInto> for Stmt {
25238 #[inline]
25239 fn from(node: SelectInto) -> Stmt {
25240 Stmt::SelectInto(node)
25241 }
25242}
25243impl From<Set> for Stmt {
25244 #[inline]
25245 fn from(node: Set) -> Stmt {
25246 Stmt::Set(node)
25247 }
25248}
25249impl From<SetConstraints> for Stmt {
25250 #[inline]
25251 fn from(node: SetConstraints) -> Stmt {
25252 Stmt::SetConstraints(node)
25253 }
25254}
25255impl From<SetRole> for Stmt {
25256 #[inline]
25257 fn from(node: SetRole) -> Stmt {
25258 Stmt::SetRole(node)
25259 }
25260}
25261impl From<SetSessionAuth> for Stmt {
25262 #[inline]
25263 fn from(node: SetSessionAuth) -> Stmt {
25264 Stmt::SetSessionAuth(node)
25265 }
25266}
25267impl From<SetTransaction> for Stmt {
25268 #[inline]
25269 fn from(node: SetTransaction) -> Stmt {
25270 Stmt::SetTransaction(node)
25271 }
25272}
25273impl From<Show> for Stmt {
25274 #[inline]
25275 fn from(node: Show) -> Stmt {
25276 Stmt::Show(node)
25277 }
25278}
25279impl From<Table> for Stmt {
25280 #[inline]
25281 fn from(node: Table) -> Stmt {
25282 Stmt::Table(node)
25283 }
25284}
25285impl From<Truncate> for Stmt {
25286 #[inline]
25287 fn from(node: Truncate) -> Stmt {
25288 Stmt::Truncate(node)
25289 }
25290}
25291impl From<Unlisten> for Stmt {
25292 #[inline]
25293 fn from(node: Unlisten) -> Stmt {
25294 Stmt::Unlisten(node)
25295 }
25296}
25297impl From<Update> for Stmt {
25298 #[inline]
25299 fn from(node: Update) -> Stmt {
25300 Stmt::Update(node)
25301 }
25302}
25303impl From<Vacuum> for Stmt {
25304 #[inline]
25305 fn from(node: Vacuum) -> Stmt {
25306 Stmt::Vacuum(node)
25307 }
25308}
25309impl From<Values> for Stmt {
25310 #[inline]
25311 fn from(node: Values) -> Stmt {
25312 Stmt::Values(node)
25313 }
25314}
25315impl AstNode for TableArg {
25316 #[inline]
25317 fn can_cast(kind: SyntaxKind) -> bool {
25318 matches!(kind, SyntaxKind::COLUMN | SyntaxKind::LIKE_CLAUSE)
25319 }
25320 #[inline]
25321 fn cast(syntax: SyntaxNode) -> Option<Self> {
25322 let res = match syntax.kind() {
25323 SyntaxKind::COLUMN => TableArg::Column(Column { syntax }),
25324 SyntaxKind::LIKE_CLAUSE => TableArg::LikeClause(LikeClause { syntax }),
25325 _ => {
25326 if let Some(result) = TableConstraint::cast(syntax) {
25327 return Some(TableArg::TableConstraint(result));
25328 }
25329 return None;
25330 }
25331 };
25332 Some(res)
25333 }
25334 #[inline]
25335 fn syntax(&self) -> &SyntaxNode {
25336 match self {
25337 TableArg::Column(it) => &it.syntax,
25338 TableArg::LikeClause(it) => &it.syntax,
25339 TableArg::TableConstraint(it) => it.syntax(),
25340 }
25341 }
25342}
25343impl From<Column> for TableArg {
25344 #[inline]
25345 fn from(node: Column) -> TableArg {
25346 TableArg::Column(node)
25347 }
25348}
25349impl From<LikeClause> for TableArg {
25350 #[inline]
25351 fn from(node: LikeClause) -> TableArg {
25352 TableArg::LikeClause(node)
25353 }
25354}
25355impl AstNode for TableConstraint {
25356 #[inline]
25357 fn can_cast(kind: SyntaxKind) -> bool {
25358 matches!(
25359 kind,
25360 SyntaxKind::CHECK_CONSTRAINT
25361 | SyntaxKind::EXCLUDE_CONSTRAINT
25362 | SyntaxKind::FOREIGN_KEY_CONSTRAINT
25363 | SyntaxKind::PRIMARY_KEY_CONSTRAINT
25364 | SyntaxKind::UNIQUE_CONSTRAINT
25365 )
25366 }
25367 #[inline]
25368 fn cast(syntax: SyntaxNode) -> Option<Self> {
25369 let res = match syntax.kind() {
25370 SyntaxKind::CHECK_CONSTRAINT => {
25371 TableConstraint::CheckConstraint(CheckConstraint { syntax })
25372 }
25373 SyntaxKind::EXCLUDE_CONSTRAINT => {
25374 TableConstraint::ExcludeConstraint(ExcludeConstraint { syntax })
25375 }
25376 SyntaxKind::FOREIGN_KEY_CONSTRAINT => {
25377 TableConstraint::ForeignKeyConstraint(ForeignKeyConstraint { syntax })
25378 }
25379 SyntaxKind::PRIMARY_KEY_CONSTRAINT => {
25380 TableConstraint::PrimaryKeyConstraint(PrimaryKeyConstraint { syntax })
25381 }
25382 SyntaxKind::UNIQUE_CONSTRAINT => {
25383 TableConstraint::UniqueConstraint(UniqueConstraint { syntax })
25384 }
25385 _ => {
25386 return None;
25387 }
25388 };
25389 Some(res)
25390 }
25391 #[inline]
25392 fn syntax(&self) -> &SyntaxNode {
25393 match self {
25394 TableConstraint::CheckConstraint(it) => &it.syntax,
25395 TableConstraint::ExcludeConstraint(it) => &it.syntax,
25396 TableConstraint::ForeignKeyConstraint(it) => &it.syntax,
25397 TableConstraint::PrimaryKeyConstraint(it) => &it.syntax,
25398 TableConstraint::UniqueConstraint(it) => &it.syntax,
25399 }
25400 }
25401}
25402impl From<CheckConstraint> for TableConstraint {
25403 #[inline]
25404 fn from(node: CheckConstraint) -> TableConstraint {
25405 TableConstraint::CheckConstraint(node)
25406 }
25407}
25408impl From<ExcludeConstraint> for TableConstraint {
25409 #[inline]
25410 fn from(node: ExcludeConstraint) -> TableConstraint {
25411 TableConstraint::ExcludeConstraint(node)
25412 }
25413}
25414impl From<ForeignKeyConstraint> for TableConstraint {
25415 #[inline]
25416 fn from(node: ForeignKeyConstraint) -> TableConstraint {
25417 TableConstraint::ForeignKeyConstraint(node)
25418 }
25419}
25420impl From<PrimaryKeyConstraint> for TableConstraint {
25421 #[inline]
25422 fn from(node: PrimaryKeyConstraint) -> TableConstraint {
25423 TableConstraint::PrimaryKeyConstraint(node)
25424 }
25425}
25426impl From<UniqueConstraint> for TableConstraint {
25427 #[inline]
25428 fn from(node: UniqueConstraint) -> TableConstraint {
25429 TableConstraint::UniqueConstraint(node)
25430 }
25431}
25432impl AstNode for Timezone {
25433 #[inline]
25434 fn can_cast(kind: SyntaxKind) -> bool {
25435 matches!(
25436 kind,
25437 SyntaxKind::WITH_TIMEZONE | SyntaxKind::WITHOUT_TIMEZONE
25438 )
25439 }
25440 #[inline]
25441 fn cast(syntax: SyntaxNode) -> Option<Self> {
25442 let res = match syntax.kind() {
25443 SyntaxKind::WITH_TIMEZONE => Timezone::WithTimezone(WithTimezone { syntax }),
25444 SyntaxKind::WITHOUT_TIMEZONE => Timezone::WithoutTimezone(WithoutTimezone { syntax }),
25445 _ => {
25446 return None;
25447 }
25448 };
25449 Some(res)
25450 }
25451 #[inline]
25452 fn syntax(&self) -> &SyntaxNode {
25453 match self {
25454 Timezone::WithTimezone(it) => &it.syntax,
25455 Timezone::WithoutTimezone(it) => &it.syntax,
25456 }
25457 }
25458}
25459impl From<WithTimezone> for Timezone {
25460 #[inline]
25461 fn from(node: WithTimezone) -> Timezone {
25462 Timezone::WithTimezone(node)
25463 }
25464}
25465impl From<WithoutTimezone> for Timezone {
25466 #[inline]
25467 fn from(node: WithoutTimezone) -> Timezone {
25468 Timezone::WithoutTimezone(node)
25469 }
25470}
25471impl AstNode for TransactionMode {
25472 #[inline]
25473 fn can_cast(kind: SyntaxKind) -> bool {
25474 matches!(
25475 kind,
25476 SyntaxKind::DEFERRABLE
25477 | SyntaxKind::NOT_DEFERRABLE
25478 | SyntaxKind::READ_COMMITTED
25479 | SyntaxKind::READ_ONLY
25480 | SyntaxKind::READ_UNCOMMITTED
25481 | SyntaxKind::READ_WRITE
25482 | SyntaxKind::REPEATABLE_READ
25483 | SyntaxKind::SERIALIZABLE
25484 )
25485 }
25486 #[inline]
25487 fn cast(syntax: SyntaxNode) -> Option<Self> {
25488 let res = match syntax.kind() {
25489 SyntaxKind::DEFERRABLE => TransactionMode::Deferrable(Deferrable { syntax }),
25490 SyntaxKind::NOT_DEFERRABLE => TransactionMode::NotDeferrable(NotDeferrable { syntax }),
25491 SyntaxKind::READ_COMMITTED => TransactionMode::ReadCommitted(ReadCommitted { syntax }),
25492 SyntaxKind::READ_ONLY => TransactionMode::ReadOnly(ReadOnly { syntax }),
25493 SyntaxKind::READ_UNCOMMITTED => {
25494 TransactionMode::ReadUncommitted(ReadUncommitted { syntax })
25495 }
25496 SyntaxKind::READ_WRITE => TransactionMode::ReadWrite(ReadWrite { syntax }),
25497 SyntaxKind::REPEATABLE_READ => {
25498 TransactionMode::RepeatableRead(RepeatableRead { syntax })
25499 }
25500 SyntaxKind::SERIALIZABLE => TransactionMode::Serializable(Serializable { syntax }),
25501 _ => {
25502 return None;
25503 }
25504 };
25505 Some(res)
25506 }
25507 #[inline]
25508 fn syntax(&self) -> &SyntaxNode {
25509 match self {
25510 TransactionMode::Deferrable(it) => &it.syntax,
25511 TransactionMode::NotDeferrable(it) => &it.syntax,
25512 TransactionMode::ReadCommitted(it) => &it.syntax,
25513 TransactionMode::ReadOnly(it) => &it.syntax,
25514 TransactionMode::ReadUncommitted(it) => &it.syntax,
25515 TransactionMode::ReadWrite(it) => &it.syntax,
25516 TransactionMode::RepeatableRead(it) => &it.syntax,
25517 TransactionMode::Serializable(it) => &it.syntax,
25518 }
25519 }
25520}
25521impl From<Deferrable> for TransactionMode {
25522 #[inline]
25523 fn from(node: Deferrable) -> TransactionMode {
25524 TransactionMode::Deferrable(node)
25525 }
25526}
25527impl From<NotDeferrable> for TransactionMode {
25528 #[inline]
25529 fn from(node: NotDeferrable) -> TransactionMode {
25530 TransactionMode::NotDeferrable(node)
25531 }
25532}
25533impl From<ReadCommitted> for TransactionMode {
25534 #[inline]
25535 fn from(node: ReadCommitted) -> TransactionMode {
25536 TransactionMode::ReadCommitted(node)
25537 }
25538}
25539impl From<ReadOnly> for TransactionMode {
25540 #[inline]
25541 fn from(node: ReadOnly) -> TransactionMode {
25542 TransactionMode::ReadOnly(node)
25543 }
25544}
25545impl From<ReadUncommitted> for TransactionMode {
25546 #[inline]
25547 fn from(node: ReadUncommitted) -> TransactionMode {
25548 TransactionMode::ReadUncommitted(node)
25549 }
25550}
25551impl From<ReadWrite> for TransactionMode {
25552 #[inline]
25553 fn from(node: ReadWrite) -> TransactionMode {
25554 TransactionMode::ReadWrite(node)
25555 }
25556}
25557impl From<RepeatableRead> for TransactionMode {
25558 #[inline]
25559 fn from(node: RepeatableRead) -> TransactionMode {
25560 TransactionMode::RepeatableRead(node)
25561 }
25562}
25563impl From<Serializable> for TransactionMode {
25564 #[inline]
25565 fn from(node: Serializable) -> TransactionMode {
25566 TransactionMode::Serializable(node)
25567 }
25568}
25569impl AstNode for Type {
25570 #[inline]
25571 fn can_cast(kind: SyntaxKind) -> bool {
25572 matches!(
25573 kind,
25574 SyntaxKind::ARRAY_TYPE
25575 | SyntaxKind::BIT_TYPE
25576 | SyntaxKind::CHAR_TYPE
25577 | SyntaxKind::DOUBLE_TYPE
25578 | SyntaxKind::EXPR_TYPE
25579 | SyntaxKind::INTERVAL_TYPE
25580 | SyntaxKind::PATH_TYPE
25581 | SyntaxKind::PERCENT_TYPE
25582 | SyntaxKind::TIME_TYPE
25583 )
25584 }
25585 #[inline]
25586 fn cast(syntax: SyntaxNode) -> Option<Self> {
25587 let res = match syntax.kind() {
25588 SyntaxKind::ARRAY_TYPE => Type::ArrayType(ArrayType { syntax }),
25589 SyntaxKind::BIT_TYPE => Type::BitType(BitType { syntax }),
25590 SyntaxKind::CHAR_TYPE => Type::CharType(CharType { syntax }),
25591 SyntaxKind::DOUBLE_TYPE => Type::DoubleType(DoubleType { syntax }),
25592 SyntaxKind::EXPR_TYPE => Type::ExprType(ExprType { syntax }),
25593 SyntaxKind::INTERVAL_TYPE => Type::IntervalType(IntervalType { syntax }),
25594 SyntaxKind::PATH_TYPE => Type::PathType(PathType { syntax }),
25595 SyntaxKind::PERCENT_TYPE => Type::PercentType(PercentType { syntax }),
25596 SyntaxKind::TIME_TYPE => Type::TimeType(TimeType { syntax }),
25597 _ => {
25598 return None;
25599 }
25600 };
25601 Some(res)
25602 }
25603 #[inline]
25604 fn syntax(&self) -> &SyntaxNode {
25605 match self {
25606 Type::ArrayType(it) => &it.syntax,
25607 Type::BitType(it) => &it.syntax,
25608 Type::CharType(it) => &it.syntax,
25609 Type::DoubleType(it) => &it.syntax,
25610 Type::ExprType(it) => &it.syntax,
25611 Type::IntervalType(it) => &it.syntax,
25612 Type::PathType(it) => &it.syntax,
25613 Type::PercentType(it) => &it.syntax,
25614 Type::TimeType(it) => &it.syntax,
25615 }
25616 }
25617}
25618impl From<ArrayType> for Type {
25619 #[inline]
25620 fn from(node: ArrayType) -> Type {
25621 Type::ArrayType(node)
25622 }
25623}
25624impl From<BitType> for Type {
25625 #[inline]
25626 fn from(node: BitType) -> Type {
25627 Type::BitType(node)
25628 }
25629}
25630impl From<CharType> for Type {
25631 #[inline]
25632 fn from(node: CharType) -> Type {
25633 Type::CharType(node)
25634 }
25635}
25636impl From<DoubleType> for Type {
25637 #[inline]
25638 fn from(node: DoubleType) -> Type {
25639 Type::DoubleType(node)
25640 }
25641}
25642impl From<ExprType> for Type {
25643 #[inline]
25644 fn from(node: ExprType) -> Type {
25645 Type::ExprType(node)
25646 }
25647}
25648impl From<IntervalType> for Type {
25649 #[inline]
25650 fn from(node: IntervalType) -> Type {
25651 Type::IntervalType(node)
25652 }
25653}
25654impl From<PathType> for Type {
25655 #[inline]
25656 fn from(node: PathType) -> Type {
25657 Type::PathType(node)
25658 }
25659}
25660impl From<PercentType> for Type {
25661 #[inline]
25662 fn from(node: PercentType) -> Type {
25663 Type::PercentType(node)
25664 }
25665}
25666impl From<TimeType> for Type {
25667 #[inline]
25668 fn from(node: TimeType) -> Type {
25669 Type::TimeType(node)
25670 }
25671}
25672impl AstNode for WithQuery {
25673 #[inline]
25674 fn can_cast(kind: SyntaxKind) -> bool {
25675 matches!(
25676 kind,
25677 SyntaxKind::DELETE
25678 | SyntaxKind::INSERT
25679 | SyntaxKind::MERGE
25680 | SyntaxKind::SELECT
25681 | SyntaxKind::UPDATE
25682 | SyntaxKind::VALUES
25683 )
25684 }
25685 #[inline]
25686 fn cast(syntax: SyntaxNode) -> Option<Self> {
25687 let res = match syntax.kind() {
25688 SyntaxKind::DELETE => WithQuery::Delete(Delete { syntax }),
25689 SyntaxKind::INSERT => WithQuery::Insert(Insert { syntax }),
25690 SyntaxKind::MERGE => WithQuery::Merge(Merge { syntax }),
25691 SyntaxKind::SELECT => WithQuery::Select(Select { syntax }),
25692 SyntaxKind::UPDATE => WithQuery::Update(Update { syntax }),
25693 SyntaxKind::VALUES => WithQuery::Values(Values { syntax }),
25694 _ => {
25695 return None;
25696 }
25697 };
25698 Some(res)
25699 }
25700 #[inline]
25701 fn syntax(&self) -> &SyntaxNode {
25702 match self {
25703 WithQuery::Delete(it) => &it.syntax,
25704 WithQuery::Insert(it) => &it.syntax,
25705 WithQuery::Merge(it) => &it.syntax,
25706 WithQuery::Select(it) => &it.syntax,
25707 WithQuery::Update(it) => &it.syntax,
25708 WithQuery::Values(it) => &it.syntax,
25709 }
25710 }
25711}
25712impl From<Delete> for WithQuery {
25713 #[inline]
25714 fn from(node: Delete) -> WithQuery {
25715 WithQuery::Delete(node)
25716 }
25717}
25718impl From<Insert> for WithQuery {
25719 #[inline]
25720 fn from(node: Insert) -> WithQuery {
25721 WithQuery::Insert(node)
25722 }
25723}
25724impl From<Merge> for WithQuery {
25725 #[inline]
25726 fn from(node: Merge) -> WithQuery {
25727 WithQuery::Merge(node)
25728 }
25729}
25730impl From<Select> for WithQuery {
25731 #[inline]
25732 fn from(node: Select) -> WithQuery {
25733 WithQuery::Select(node)
25734 }
25735}
25736impl From<Update> for WithQuery {
25737 #[inline]
25738 fn from(node: Update) -> WithQuery {
25739 WithQuery::Update(node)
25740 }
25741}
25742impl From<Values> for WithQuery {
25743 #[inline]
25744 fn from(node: Values) -> WithQuery {
25745 WithQuery::Values(node)
25746 }
25747}