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_ref(&self) -> Option<NameRef> {
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 as_token(&self) -> Option<SyntaxToken> {
130 support::token(&self.syntax, SyntaxKind::AS_KW)
131 }
132}
133
134#[derive(Debug, Clone, PartialEq, Eq, Hash)]
135pub struct AlterAggregate {
136 pub(crate) syntax: SyntaxNode,
137}
138impl AlterAggregate {
139 #[inline]
140 pub fn aggregate(&self) -> Option<Aggregate> {
141 support::child(&self.syntax)
142 }
143 #[inline]
144 pub fn aggregate_token(&self) -> Option<SyntaxToken> {
145 support::token(&self.syntax, SyntaxKind::AGGREGATE_KW)
146 }
147 #[inline]
148 pub fn alter_token(&self) -> Option<SyntaxToken> {
149 support::token(&self.syntax, SyntaxKind::ALTER_KW)
150 }
151}
152
153#[derive(Debug, Clone, PartialEq, Eq, Hash)]
154pub struct AlterCollation {
155 pub(crate) syntax: SyntaxNode,
156}
157impl AlterCollation {
158 #[inline]
159 pub fn name_ref(&self) -> Option<NameRef> {
160 support::child(&self.syntax)
161 }
162 #[inline]
163 pub fn alter_token(&self) -> Option<SyntaxToken> {
164 support::token(&self.syntax, SyntaxKind::ALTER_KW)
165 }
166 #[inline]
167 pub fn collation_token(&self) -> Option<SyntaxToken> {
168 support::token(&self.syntax, SyntaxKind::COLLATION_KW)
169 }
170}
171
172#[derive(Debug, Clone, PartialEq, Eq, Hash)]
173pub struct AlterColumn {
174 pub(crate) syntax: SyntaxNode,
175}
176impl AlterColumn {
177 #[inline]
178 pub fn option(&self) -> Option<AlterColumnOption> {
179 support::child(&self.syntax)
180 }
181 #[inline]
182 pub fn alter_token(&self) -> Option<SyntaxToken> {
183 support::token(&self.syntax, SyntaxKind::ALTER_KW)
184 }
185 #[inline]
186 pub fn column_token(&self) -> Option<SyntaxToken> {
187 support::token(&self.syntax, SyntaxKind::COLUMN_KW)
188 }
189}
190
191#[derive(Debug, Clone, PartialEq, Eq, Hash)]
192pub struct AlterConstraint {
193 pub(crate) syntax: SyntaxNode,
194}
195impl AlterConstraint {
196 #[inline]
197 pub fn option(&self) -> Option<AlterColumnOption> {
198 support::child(&self.syntax)
199 }
200 #[inline]
201 pub fn alter_token(&self) -> Option<SyntaxToken> {
202 support::token(&self.syntax, SyntaxKind::ALTER_KW)
203 }
204 #[inline]
205 pub fn constraint_token(&self) -> Option<SyntaxToken> {
206 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
207 }
208}
209
210#[derive(Debug, Clone, PartialEq, Eq, Hash)]
211pub struct AlterConversion {
212 pub(crate) syntax: SyntaxNode,
213}
214impl AlterConversion {
215 #[inline]
216 pub fn name_ref(&self) -> Option<NameRef> {
217 support::child(&self.syntax)
218 }
219 #[inline]
220 pub fn alter_token(&self) -> Option<SyntaxToken> {
221 support::token(&self.syntax, SyntaxKind::ALTER_KW)
222 }
223 #[inline]
224 pub fn conversion_token(&self) -> Option<SyntaxToken> {
225 support::token(&self.syntax, SyntaxKind::CONVERSION_KW)
226 }
227}
228
229#[derive(Debug, Clone, PartialEq, Eq, Hash)]
230pub struct AlterDatabase {
231 pub(crate) syntax: SyntaxNode,
232}
233impl AlterDatabase {
234 #[inline]
235 pub fn name_ref(&self) -> Option<NameRef> {
236 support::child(&self.syntax)
237 }
238 #[inline]
239 pub fn alter_token(&self) -> Option<SyntaxToken> {
240 support::token(&self.syntax, SyntaxKind::ALTER_KW)
241 }
242 #[inline]
243 pub fn database_token(&self) -> Option<SyntaxToken> {
244 support::token(&self.syntax, SyntaxKind::DATABASE_KW)
245 }
246}
247
248#[derive(Debug, Clone, PartialEq, Eq, Hash)]
249pub struct AlterDefaultPrivileges {
250 pub(crate) syntax: SyntaxNode,
251}
252impl AlterDefaultPrivileges {
253 #[inline]
254 pub fn alter_token(&self) -> Option<SyntaxToken> {
255 support::token(&self.syntax, SyntaxKind::ALTER_KW)
256 }
257 #[inline]
258 pub fn default_token(&self) -> Option<SyntaxToken> {
259 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
260 }
261 #[inline]
262 pub fn privileges_token(&self) -> Option<SyntaxToken> {
263 support::token(&self.syntax, SyntaxKind::PRIVILEGES_KW)
264 }
265}
266
267#[derive(Debug, Clone, PartialEq, Eq, Hash)]
268pub struct AlterDomain {
269 pub(crate) syntax: SyntaxNode,
270}
271impl AlterDomain {
272 #[inline]
273 pub fn action(&self) -> Option<AlterDomainAction> {
274 support::child(&self.syntax)
275 }
276 #[inline]
277 pub fn path(&self) -> Option<Path> {
278 support::child(&self.syntax)
279 }
280 #[inline]
281 pub fn alter_token(&self) -> Option<SyntaxToken> {
282 support::token(&self.syntax, SyntaxKind::ALTER_KW)
283 }
284 #[inline]
285 pub fn domain_token(&self) -> Option<SyntaxToken> {
286 support::token(&self.syntax, SyntaxKind::DOMAIN_KW)
287 }
288}
289
290#[derive(Debug, Clone, PartialEq, Eq, Hash)]
291pub struct AlterEventTrigger {
292 pub(crate) syntax: SyntaxNode,
293}
294impl AlterEventTrigger {
295 #[inline]
296 pub fn alter_token(&self) -> Option<SyntaxToken> {
297 support::token(&self.syntax, SyntaxKind::ALTER_KW)
298 }
299 #[inline]
300 pub fn event_token(&self) -> Option<SyntaxToken> {
301 support::token(&self.syntax, SyntaxKind::EVENT_KW)
302 }
303 #[inline]
304 pub fn trigger_token(&self) -> Option<SyntaxToken> {
305 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
306 }
307}
308
309#[derive(Debug, Clone, PartialEq, Eq, Hash)]
310pub struct AlterExtension {
311 pub(crate) syntax: SyntaxNode,
312}
313impl AlterExtension {
314 #[inline]
315 pub fn name_ref(&self) -> Option<NameRef> {
316 support::child(&self.syntax)
317 }
318 #[inline]
319 pub fn alter_token(&self) -> Option<SyntaxToken> {
320 support::token(&self.syntax, SyntaxKind::ALTER_KW)
321 }
322 #[inline]
323 pub fn extension_token(&self) -> Option<SyntaxToken> {
324 support::token(&self.syntax, SyntaxKind::EXTENSION_KW)
325 }
326}
327
328#[derive(Debug, Clone, PartialEq, Eq, Hash)]
329pub struct AlterForeignDataWrapper {
330 pub(crate) syntax: SyntaxNode,
331}
332impl AlterForeignDataWrapper {
333 #[inline]
334 pub fn alter_token(&self) -> Option<SyntaxToken> {
335 support::token(&self.syntax, SyntaxKind::ALTER_KW)
336 }
337 #[inline]
338 pub fn data_token(&self) -> Option<SyntaxToken> {
339 support::token(&self.syntax, SyntaxKind::DATA_KW)
340 }
341 #[inline]
342 pub fn foreign_token(&self) -> Option<SyntaxToken> {
343 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
344 }
345 #[inline]
346 pub fn wrapper_token(&self) -> Option<SyntaxToken> {
347 support::token(&self.syntax, SyntaxKind::WRAPPER_KW)
348 }
349}
350
351#[derive(Debug, Clone, PartialEq, Eq, Hash)]
352pub struct AlterForeignTable {
353 pub(crate) syntax: SyntaxNode,
354}
355impl AlterForeignTable {
356 #[inline]
357 pub fn alter_token(&self) -> Option<SyntaxToken> {
358 support::token(&self.syntax, SyntaxKind::ALTER_KW)
359 }
360 #[inline]
361 pub fn foreign_token(&self) -> Option<SyntaxToken> {
362 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
363 }
364 #[inline]
365 pub fn table_token(&self) -> Option<SyntaxToken> {
366 support::token(&self.syntax, SyntaxKind::TABLE_KW)
367 }
368}
369
370#[derive(Debug, Clone, PartialEq, Eq, Hash)]
371pub struct AlterFunction {
372 pub(crate) syntax: SyntaxNode,
373}
374impl AlterFunction {
375 #[inline]
376 pub fn alter_token(&self) -> Option<SyntaxToken> {
377 support::token(&self.syntax, SyntaxKind::ALTER_KW)
378 }
379 #[inline]
380 pub fn function_token(&self) -> Option<SyntaxToken> {
381 support::token(&self.syntax, SyntaxKind::FUNCTION_KW)
382 }
383}
384
385#[derive(Debug, Clone, PartialEq, Eq, Hash)]
386pub struct AlterGroup {
387 pub(crate) syntax: SyntaxNode,
388}
389impl AlterGroup {
390 #[inline]
391 pub fn name_ref(&self) -> Option<NameRef> {
392 support::child(&self.syntax)
393 }
394 #[inline]
395 pub fn alter_token(&self) -> Option<SyntaxToken> {
396 support::token(&self.syntax, SyntaxKind::ALTER_KW)
397 }
398 #[inline]
399 pub fn group_token(&self) -> Option<SyntaxToken> {
400 support::token(&self.syntax, SyntaxKind::GROUP_KW)
401 }
402}
403
404#[derive(Debug, Clone, PartialEq, Eq, Hash)]
405pub struct AlterIndex {
406 pub(crate) syntax: SyntaxNode,
407}
408impl AlterIndex {
409 #[inline]
410 pub fn name_ref(&self) -> Option<NameRef> {
411 support::child(&self.syntax)
412 }
413 #[inline]
414 pub fn alter_token(&self) -> Option<SyntaxToken> {
415 support::token(&self.syntax, SyntaxKind::ALTER_KW)
416 }
417 #[inline]
418 pub fn index_token(&self) -> Option<SyntaxToken> {
419 support::token(&self.syntax, SyntaxKind::INDEX_KW)
420 }
421}
422
423#[derive(Debug, Clone, PartialEq, Eq, Hash)]
424pub struct AlterLanguage {
425 pub(crate) syntax: SyntaxNode,
426}
427impl AlterLanguage {
428 #[inline]
429 pub fn name_ref(&self) -> Option<NameRef> {
430 support::child(&self.syntax)
431 }
432 #[inline]
433 pub fn alter_token(&self) -> Option<SyntaxToken> {
434 support::token(&self.syntax, SyntaxKind::ALTER_KW)
435 }
436 #[inline]
437 pub fn language_token(&self) -> Option<SyntaxToken> {
438 support::token(&self.syntax, SyntaxKind::LANGUAGE_KW)
439 }
440}
441
442#[derive(Debug, Clone, PartialEq, Eq, Hash)]
443pub struct AlterLargeObject {
444 pub(crate) syntax: SyntaxNode,
445}
446impl AlterLargeObject {
447 #[inline]
448 pub fn alter_token(&self) -> Option<SyntaxToken> {
449 support::token(&self.syntax, SyntaxKind::ALTER_KW)
450 }
451 #[inline]
452 pub fn large_token(&self) -> Option<SyntaxToken> {
453 support::token(&self.syntax, SyntaxKind::LARGE_KW)
454 }
455 #[inline]
456 pub fn object_token(&self) -> Option<SyntaxToken> {
457 support::token(&self.syntax, SyntaxKind::OBJECT_KW)
458 }
459}
460
461#[derive(Debug, Clone, PartialEq, Eq, Hash)]
462pub struct AlterMaterializedView {
463 pub(crate) syntax: SyntaxNode,
464}
465impl AlterMaterializedView {
466 #[inline]
467 pub fn name_ref(&self) -> Option<NameRef> {
468 support::child(&self.syntax)
469 }
470 #[inline]
471 pub fn alter_token(&self) -> Option<SyntaxToken> {
472 support::token(&self.syntax, SyntaxKind::ALTER_KW)
473 }
474 #[inline]
475 pub fn materialized_token(&self) -> Option<SyntaxToken> {
476 support::token(&self.syntax, SyntaxKind::MATERIALIZED_KW)
477 }
478 #[inline]
479 pub fn view_token(&self) -> Option<SyntaxToken> {
480 support::token(&self.syntax, SyntaxKind::VIEW_KW)
481 }
482}
483
484#[derive(Debug, Clone, PartialEq, Eq, Hash)]
485pub struct AlterOperator {
486 pub(crate) syntax: SyntaxNode,
487}
488impl AlterOperator {
489 #[inline]
490 pub fn alter_token(&self) -> Option<SyntaxToken> {
491 support::token(&self.syntax, SyntaxKind::ALTER_KW)
492 }
493 #[inline]
494 pub fn operator_token(&self) -> Option<SyntaxToken> {
495 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
496 }
497}
498
499#[derive(Debug, Clone, PartialEq, Eq, Hash)]
500pub struct AlterOperatorClass {
501 pub(crate) syntax: SyntaxNode,
502}
503impl AlterOperatorClass {
504 #[inline]
505 pub fn name_ref(&self) -> Option<NameRef> {
506 support::child(&self.syntax)
507 }
508 #[inline]
509 pub fn alter_token(&self) -> Option<SyntaxToken> {
510 support::token(&self.syntax, SyntaxKind::ALTER_KW)
511 }
512 #[inline]
513 pub fn class_token(&self) -> Option<SyntaxToken> {
514 support::token(&self.syntax, SyntaxKind::CLASS_KW)
515 }
516 #[inline]
517 pub fn operator_token(&self) -> Option<SyntaxToken> {
518 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
519 }
520 #[inline]
521 pub fn using_token(&self) -> Option<SyntaxToken> {
522 support::token(&self.syntax, SyntaxKind::USING_KW)
523 }
524}
525
526#[derive(Debug, Clone, PartialEq, Eq, Hash)]
527pub struct AlterOperatorFamily {
528 pub(crate) syntax: SyntaxNode,
529}
530impl AlterOperatorFamily {
531 #[inline]
532 pub fn name_ref(&self) -> Option<NameRef> {
533 support::child(&self.syntax)
534 }
535 #[inline]
536 pub fn alter_token(&self) -> Option<SyntaxToken> {
537 support::token(&self.syntax, SyntaxKind::ALTER_KW)
538 }
539 #[inline]
540 pub fn family_token(&self) -> Option<SyntaxToken> {
541 support::token(&self.syntax, SyntaxKind::FAMILY_KW)
542 }
543 #[inline]
544 pub fn operator_token(&self) -> Option<SyntaxToken> {
545 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
546 }
547 #[inline]
548 pub fn using_token(&self) -> Option<SyntaxToken> {
549 support::token(&self.syntax, SyntaxKind::USING_KW)
550 }
551}
552
553#[derive(Debug, Clone, PartialEq, Eq, Hash)]
554pub struct AlterPolicy {
555 pub(crate) syntax: SyntaxNode,
556}
557impl AlterPolicy {
558 #[inline]
559 pub fn name_ref(&self) -> Option<NameRef> {
560 support::child(&self.syntax)
561 }
562 #[inline]
563 pub fn alter_token(&self) -> Option<SyntaxToken> {
564 support::token(&self.syntax, SyntaxKind::ALTER_KW)
565 }
566 #[inline]
567 pub fn on_token(&self) -> Option<SyntaxToken> {
568 support::token(&self.syntax, SyntaxKind::ON_KW)
569 }
570 #[inline]
571 pub fn policy_token(&self) -> Option<SyntaxToken> {
572 support::token(&self.syntax, SyntaxKind::POLICY_KW)
573 }
574}
575
576#[derive(Debug, Clone, PartialEq, Eq, Hash)]
577pub struct AlterProcedure {
578 pub(crate) syntax: SyntaxNode,
579}
580impl AlterProcedure {
581 #[inline]
582 pub fn alter_token(&self) -> Option<SyntaxToken> {
583 support::token(&self.syntax, SyntaxKind::ALTER_KW)
584 }
585 #[inline]
586 pub fn procedure_token(&self) -> Option<SyntaxToken> {
587 support::token(&self.syntax, SyntaxKind::PROCEDURE_KW)
588 }
589}
590
591#[derive(Debug, Clone, PartialEq, Eq, Hash)]
592pub struct AlterPublication {
593 pub(crate) syntax: SyntaxNode,
594}
595impl AlterPublication {
596 #[inline]
597 pub fn name_ref(&self) -> Option<NameRef> {
598 support::child(&self.syntax)
599 }
600 #[inline]
601 pub fn alter_token(&self) -> Option<SyntaxToken> {
602 support::token(&self.syntax, SyntaxKind::ALTER_KW)
603 }
604 #[inline]
605 pub fn publication_token(&self) -> Option<SyntaxToken> {
606 support::token(&self.syntax, SyntaxKind::PUBLICATION_KW)
607 }
608}
609
610#[derive(Debug, Clone, PartialEq, Eq, Hash)]
611pub struct AlterRole {
612 pub(crate) syntax: SyntaxNode,
613}
614impl AlterRole {
615 #[inline]
616 pub fn alter_token(&self) -> Option<SyntaxToken> {
617 support::token(&self.syntax, SyntaxKind::ALTER_KW)
618 }
619 #[inline]
620 pub fn role_token(&self) -> Option<SyntaxToken> {
621 support::token(&self.syntax, SyntaxKind::ROLE_KW)
622 }
623}
624
625#[derive(Debug, Clone, PartialEq, Eq, Hash)]
626pub struct AlterRoutine {
627 pub(crate) syntax: SyntaxNode,
628}
629impl AlterRoutine {
630 #[inline]
631 pub fn alter_token(&self) -> Option<SyntaxToken> {
632 support::token(&self.syntax, SyntaxKind::ALTER_KW)
633 }
634 #[inline]
635 pub fn routine_token(&self) -> Option<SyntaxToken> {
636 support::token(&self.syntax, SyntaxKind::ROUTINE_KW)
637 }
638}
639
640#[derive(Debug, Clone, PartialEq, Eq, Hash)]
641pub struct AlterRule {
642 pub(crate) syntax: SyntaxNode,
643}
644impl AlterRule {
645 #[inline]
646 pub fn name_ref(&self) -> Option<NameRef> {
647 support::child(&self.syntax)
648 }
649 #[inline]
650 pub fn alter_token(&self) -> Option<SyntaxToken> {
651 support::token(&self.syntax, SyntaxKind::ALTER_KW)
652 }
653 #[inline]
654 pub fn on_token(&self) -> Option<SyntaxToken> {
655 support::token(&self.syntax, SyntaxKind::ON_KW)
656 }
657 #[inline]
658 pub fn rule_token(&self) -> Option<SyntaxToken> {
659 support::token(&self.syntax, SyntaxKind::RULE_KW)
660 }
661}
662
663#[derive(Debug, Clone, PartialEq, Eq, Hash)]
664pub struct AlterSchema {
665 pub(crate) syntax: SyntaxNode,
666}
667impl AlterSchema {
668 #[inline]
669 pub fn name_ref(&self) -> Option<NameRef> {
670 support::child(&self.syntax)
671 }
672 #[inline]
673 pub fn alter_token(&self) -> Option<SyntaxToken> {
674 support::token(&self.syntax, SyntaxKind::ALTER_KW)
675 }
676 #[inline]
677 pub fn rename_token(&self) -> Option<SyntaxToken> {
678 support::token(&self.syntax, SyntaxKind::RENAME_KW)
679 }
680 #[inline]
681 pub fn schema_token(&self) -> Option<SyntaxToken> {
682 support::token(&self.syntax, SyntaxKind::SCHEMA_KW)
683 }
684 #[inline]
685 pub fn to_token(&self) -> Option<SyntaxToken> {
686 support::token(&self.syntax, SyntaxKind::TO_KW)
687 }
688}
689
690#[derive(Debug, Clone, PartialEq, Eq, Hash)]
691pub struct AlterSequence {
692 pub(crate) syntax: SyntaxNode,
693}
694impl AlterSequence {
695 #[inline]
696 pub fn name_ref(&self) -> Option<NameRef> {
697 support::child(&self.syntax)
698 }
699 #[inline]
700 pub fn alter_token(&self) -> Option<SyntaxToken> {
701 support::token(&self.syntax, SyntaxKind::ALTER_KW)
702 }
703 #[inline]
704 pub fn sequence_token(&self) -> Option<SyntaxToken> {
705 support::token(&self.syntax, SyntaxKind::SEQUENCE_KW)
706 }
707}
708
709#[derive(Debug, Clone, PartialEq, Eq, Hash)]
710pub struct AlterServer {
711 pub(crate) syntax: SyntaxNode,
712}
713impl AlterServer {
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 server_token(&self) -> Option<SyntaxToken> {
724 support::token(&self.syntax, SyntaxKind::SERVER_KW)
725 }
726}
727
728#[derive(Debug, Clone, PartialEq, Eq, Hash)]
729pub struct AlterStatistics {
730 pub(crate) syntax: SyntaxNode,
731}
732impl AlterStatistics {
733 #[inline]
734 pub fn name_ref(&self) -> Option<NameRef> {
735 support::child(&self.syntax)
736 }
737 #[inline]
738 pub fn alter_token(&self) -> Option<SyntaxToken> {
739 support::token(&self.syntax, SyntaxKind::ALTER_KW)
740 }
741 #[inline]
742 pub fn statistics_token(&self) -> Option<SyntaxToken> {
743 support::token(&self.syntax, SyntaxKind::STATISTICS_KW)
744 }
745}
746
747#[derive(Debug, Clone, PartialEq, Eq, Hash)]
748pub struct AlterSubscription {
749 pub(crate) syntax: SyntaxNode,
750}
751impl AlterSubscription {
752 #[inline]
753 pub fn name_ref(&self) -> Option<NameRef> {
754 support::child(&self.syntax)
755 }
756 #[inline]
757 pub fn alter_token(&self) -> Option<SyntaxToken> {
758 support::token(&self.syntax, SyntaxKind::ALTER_KW)
759 }
760 #[inline]
761 pub fn subscription_token(&self) -> Option<SyntaxToken> {
762 support::token(&self.syntax, SyntaxKind::SUBSCRIPTION_KW)
763 }
764}
765
766#[derive(Debug, Clone, PartialEq, Eq, Hash)]
767pub struct AlterSystem {
768 pub(crate) syntax: SyntaxNode,
769}
770impl AlterSystem {
771 #[inline]
772 pub fn alter_token(&self) -> Option<SyntaxToken> {
773 support::token(&self.syntax, SyntaxKind::ALTER_KW)
774 }
775 #[inline]
776 pub fn set_token(&self) -> Option<SyntaxToken> {
777 support::token(&self.syntax, SyntaxKind::SET_KW)
778 }
779 #[inline]
780 pub fn system_token(&self) -> Option<SyntaxToken> {
781 support::token(&self.syntax, SyntaxKind::SYSTEM_KW)
782 }
783}
784
785#[derive(Debug, Clone, PartialEq, Eq, Hash)]
786pub struct AlterTable {
787 pub(crate) syntax: SyntaxNode,
788}
789impl AlterTable {
790 #[inline]
791 pub fn actions(&self) -> AstChildren<AlterTableAction> {
792 support::children(&self.syntax)
793 }
794 #[inline]
795 pub fn relation_name(&self) -> Option<RelationName> {
796 support::child(&self.syntax)
797 }
798 #[inline]
799 pub fn alter_token(&self) -> Option<SyntaxToken> {
800 support::token(&self.syntax, SyntaxKind::ALTER_KW)
801 }
802 #[inline]
803 pub fn table_token(&self) -> Option<SyntaxToken> {
804 support::token(&self.syntax, SyntaxKind::TABLE_KW)
805 }
806}
807
808#[derive(Debug, Clone, PartialEq, Eq, Hash)]
809pub struct AlterTablespace {
810 pub(crate) syntax: SyntaxNode,
811}
812impl AlterTablespace {
813 #[inline]
814 pub fn name_ref(&self) -> Option<NameRef> {
815 support::child(&self.syntax)
816 }
817 #[inline]
818 pub fn alter_token(&self) -> Option<SyntaxToken> {
819 support::token(&self.syntax, SyntaxKind::ALTER_KW)
820 }
821 #[inline]
822 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
823 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
824 }
825}
826
827#[derive(Debug, Clone, PartialEq, Eq, Hash)]
828pub struct AlterTextSearchConfiguration {
829 pub(crate) syntax: SyntaxNode,
830}
831impl AlterTextSearchConfiguration {
832 #[inline]
833 pub fn name_ref(&self) -> Option<NameRef> {
834 support::child(&self.syntax)
835 }
836 #[inline]
837 pub fn alter_token(&self) -> Option<SyntaxToken> {
838 support::token(&self.syntax, SyntaxKind::ALTER_KW)
839 }
840 #[inline]
841 pub fn configuration_token(&self) -> Option<SyntaxToken> {
842 support::token(&self.syntax, SyntaxKind::CONFIGURATION_KW)
843 }
844 #[inline]
845 pub fn search_token(&self) -> Option<SyntaxToken> {
846 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
847 }
848 #[inline]
849 pub fn text_token(&self) -> Option<SyntaxToken> {
850 support::token(&self.syntax, SyntaxKind::TEXT_KW)
851 }
852}
853
854#[derive(Debug, Clone, PartialEq, Eq, Hash)]
855pub struct AlterTextSearchDictionary {
856 pub(crate) syntax: SyntaxNode,
857}
858impl AlterTextSearchDictionary {
859 #[inline]
860 pub fn name_ref(&self) -> Option<NameRef> {
861 support::child(&self.syntax)
862 }
863 #[inline]
864 pub fn alter_token(&self) -> Option<SyntaxToken> {
865 support::token(&self.syntax, SyntaxKind::ALTER_KW)
866 }
867 #[inline]
868 pub fn dictionary_token(&self) -> Option<SyntaxToken> {
869 support::token(&self.syntax, SyntaxKind::DICTIONARY_KW)
870 }
871 #[inline]
872 pub fn search_token(&self) -> Option<SyntaxToken> {
873 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
874 }
875 #[inline]
876 pub fn text_token(&self) -> Option<SyntaxToken> {
877 support::token(&self.syntax, SyntaxKind::TEXT_KW)
878 }
879}
880
881#[derive(Debug, Clone, PartialEq, Eq, Hash)]
882pub struct AlterTextSearchParser {
883 pub(crate) syntax: SyntaxNode,
884}
885impl AlterTextSearchParser {
886 #[inline]
887 pub fn name_ref(&self) -> Option<NameRef> {
888 support::child(&self.syntax)
889 }
890 #[inline]
891 pub fn alter_token(&self) -> Option<SyntaxToken> {
892 support::token(&self.syntax, SyntaxKind::ALTER_KW)
893 }
894 #[inline]
895 pub fn parser_token(&self) -> Option<SyntaxToken> {
896 support::token(&self.syntax, SyntaxKind::PARSER_KW)
897 }
898 #[inline]
899 pub fn search_token(&self) -> Option<SyntaxToken> {
900 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
901 }
902 #[inline]
903 pub fn text_token(&self) -> Option<SyntaxToken> {
904 support::token(&self.syntax, SyntaxKind::TEXT_KW)
905 }
906}
907
908#[derive(Debug, Clone, PartialEq, Eq, Hash)]
909pub struct AlterTextSearchTemplate {
910 pub(crate) syntax: SyntaxNode,
911}
912impl AlterTextSearchTemplate {
913 #[inline]
914 pub fn name_ref(&self) -> Option<NameRef> {
915 support::child(&self.syntax)
916 }
917 #[inline]
918 pub fn alter_token(&self) -> Option<SyntaxToken> {
919 support::token(&self.syntax, SyntaxKind::ALTER_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 template_token(&self) -> Option<SyntaxToken> {
927 support::token(&self.syntax, SyntaxKind::TEMPLATE_KW)
928 }
929 #[inline]
930 pub fn text_token(&self) -> Option<SyntaxToken> {
931 support::token(&self.syntax, SyntaxKind::TEXT_KW)
932 }
933}
934
935#[derive(Debug, Clone, PartialEq, Eq, Hash)]
936pub struct AlterTrigger {
937 pub(crate) syntax: SyntaxNode,
938}
939impl AlterTrigger {
940 #[inline]
941 pub fn name_ref(&self) -> Option<NameRef> {
942 support::child(&self.syntax)
943 }
944 #[inline]
945 pub fn alter_token(&self) -> Option<SyntaxToken> {
946 support::token(&self.syntax, SyntaxKind::ALTER_KW)
947 }
948 #[inline]
949 pub fn on_token(&self) -> Option<SyntaxToken> {
950 support::token(&self.syntax, SyntaxKind::ON_KW)
951 }
952 #[inline]
953 pub fn trigger_token(&self) -> Option<SyntaxToken> {
954 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
955 }
956}
957
958#[derive(Debug, Clone, PartialEq, Eq, Hash)]
959pub struct AlterType {
960 pub(crate) syntax: SyntaxNode,
961}
962impl AlterType {
963 #[inline]
964 pub fn ty(&self) -> Option<Type> {
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 type_token(&self) -> Option<SyntaxToken> {
973 support::token(&self.syntax, SyntaxKind::TYPE_KW)
974 }
975}
976
977#[derive(Debug, Clone, PartialEq, Eq, Hash)]
978pub struct AlterUser {
979 pub(crate) syntax: SyntaxNode,
980}
981impl AlterUser {
982 #[inline]
983 pub fn name_ref(&self) -> Option<NameRef> {
984 support::child(&self.syntax)
985 }
986 #[inline]
987 pub fn alter_token(&self) -> Option<SyntaxToken> {
988 support::token(&self.syntax, SyntaxKind::ALTER_KW)
989 }
990 #[inline]
991 pub fn user_token(&self) -> Option<SyntaxToken> {
992 support::token(&self.syntax, SyntaxKind::USER_KW)
993 }
994}
995
996#[derive(Debug, Clone, PartialEq, Eq, Hash)]
997pub struct AlterUserMapping {
998 pub(crate) syntax: SyntaxNode,
999}
1000impl AlterUserMapping {
1001 #[inline]
1002 pub fn name_ref(&self) -> Option<NameRef> {
1003 support::child(&self.syntax)
1004 }
1005 #[inline]
1006 pub fn alter_token(&self) -> Option<SyntaxToken> {
1007 support::token(&self.syntax, SyntaxKind::ALTER_KW)
1008 }
1009 #[inline]
1010 pub fn for_token(&self) -> Option<SyntaxToken> {
1011 support::token(&self.syntax, SyntaxKind::FOR_KW)
1012 }
1013 #[inline]
1014 pub fn mapping_token(&self) -> Option<SyntaxToken> {
1015 support::token(&self.syntax, SyntaxKind::MAPPING_KW)
1016 }
1017 #[inline]
1018 pub fn server_token(&self) -> Option<SyntaxToken> {
1019 support::token(&self.syntax, SyntaxKind::SERVER_KW)
1020 }
1021 #[inline]
1022 pub fn user_token(&self) -> Option<SyntaxToken> {
1023 support::token(&self.syntax, SyntaxKind::USER_KW)
1024 }
1025}
1026
1027#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1028pub struct AlterView {
1029 pub(crate) syntax: SyntaxNode,
1030}
1031impl AlterView {
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 view_token(&self) -> Option<SyntaxToken> {
1042 support::token(&self.syntax, SyntaxKind::VIEW_KW)
1043 }
1044}
1045
1046#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1047pub struct Analyze {
1048 pub(crate) syntax: SyntaxNode,
1049}
1050impl Analyze {
1051 #[inline]
1052 pub fn analyze_token(&self) -> Option<SyntaxToken> {
1053 support::token(&self.syntax, SyntaxKind::ANALYZE_KW)
1054 }
1055 #[inline]
1056 pub fn verbose_token(&self) -> Option<SyntaxToken> {
1057 support::token(&self.syntax, SyntaxKind::VERBOSE_KW)
1058 }
1059}
1060
1061#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1062pub struct Arg {
1063 pub(crate) syntax: SyntaxNode,
1064}
1065impl Arg {
1066 #[inline]
1067 pub fn expr(&self) -> Option<Expr> {
1068 support::child(&self.syntax)
1069 }
1070}
1071
1072#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1073pub struct ArgList {
1074 pub(crate) syntax: SyntaxNode,
1075}
1076impl ArgList {
1077 #[inline]
1078 pub fn args(&self) -> AstChildren<Expr> {
1079 support::children(&self.syntax)
1080 }
1081 #[inline]
1082 pub fn expr(&self) -> Option<Expr> {
1083 support::child(&self.syntax)
1084 }
1085 #[inline]
1086 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1087 support::token(&self.syntax, SyntaxKind::L_PAREN)
1088 }
1089 #[inline]
1090 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1091 support::token(&self.syntax, SyntaxKind::R_PAREN)
1092 }
1093 #[inline]
1094 pub fn star_token(&self) -> Option<SyntaxToken> {
1095 support::token(&self.syntax, SyntaxKind::STAR)
1096 }
1097 #[inline]
1098 pub fn all_token(&self) -> Option<SyntaxToken> {
1099 support::token(&self.syntax, SyntaxKind::ALL_KW)
1100 }
1101 #[inline]
1102 pub fn distinct_token(&self) -> Option<SyntaxToken> {
1103 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
1104 }
1105 #[inline]
1106 pub fn variadic_token(&self) -> Option<SyntaxToken> {
1107 support::token(&self.syntax, SyntaxKind::VARIADIC_KW)
1108 }
1109}
1110
1111#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1112pub struct ArrayExpr {
1113 pub(crate) syntax: SyntaxNode,
1114}
1115impl ArrayExpr {
1116 #[inline]
1117 pub fn exprs(&self) -> AstChildren<Expr> {
1118 support::children(&self.syntax)
1119 }
1120 #[inline]
1121 pub fn select(&self) -> Option<Select> {
1122 support::child(&self.syntax)
1123 }
1124 #[inline]
1125 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1126 support::token(&self.syntax, SyntaxKind::L_PAREN)
1127 }
1128 #[inline]
1129 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1130 support::token(&self.syntax, SyntaxKind::R_PAREN)
1131 }
1132 #[inline]
1133 pub fn l_brack_token(&self) -> Option<SyntaxToken> {
1134 support::token(&self.syntax, SyntaxKind::L_BRACK)
1135 }
1136 #[inline]
1137 pub fn r_brack_token(&self) -> Option<SyntaxToken> {
1138 support::token(&self.syntax, SyntaxKind::R_BRACK)
1139 }
1140 #[inline]
1141 pub fn array_token(&self) -> Option<SyntaxToken> {
1142 support::token(&self.syntax, SyntaxKind::ARRAY_KW)
1143 }
1144}
1145
1146#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1147pub struct ArrayType {
1148 pub(crate) syntax: SyntaxNode,
1149}
1150impl ArrayType {
1151 #[inline]
1152 pub fn expr(&self) -> Option<Expr> {
1153 support::child(&self.syntax)
1154 }
1155 #[inline]
1156 pub fn name_ref(&self) -> Option<NameRef> {
1157 support::child(&self.syntax)
1158 }
1159 #[inline]
1160 pub fn ty(&self) -> Option<Type> {
1161 support::child(&self.syntax)
1162 }
1163 #[inline]
1164 pub fn l_brack_token(&self) -> Option<SyntaxToken> {
1165 support::token(&self.syntax, SyntaxKind::L_BRACK)
1166 }
1167 #[inline]
1168 pub fn r_brack_token(&self) -> Option<SyntaxToken> {
1169 support::token(&self.syntax, SyntaxKind::R_BRACK)
1170 }
1171 #[inline]
1172 pub fn array_token(&self) -> Option<SyntaxToken> {
1173 support::token(&self.syntax, SyntaxKind::ARRAY_KW)
1174 }
1175}
1176
1177#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1178pub struct AsFuncOption {
1179 pub(crate) syntax: SyntaxNode,
1180}
1181impl AsFuncOption {
1182 #[inline]
1183 pub fn definition(&self) -> Option<Literal> {
1184 support::child(&self.syntax)
1185 }
1186 #[inline]
1187 pub fn link_symbol(&self) -> Option<Literal> {
1188 support::child(&self.syntax)
1189 }
1190 #[inline]
1191 pub fn obj_file(&self) -> Option<Literal> {
1192 support::child(&self.syntax)
1193 }
1194 #[inline]
1195 pub fn comma_token(&self) -> Option<SyntaxToken> {
1196 support::token(&self.syntax, SyntaxKind::COMMA)
1197 }
1198 #[inline]
1199 pub fn as_token(&self) -> Option<SyntaxToken> {
1200 support::token(&self.syntax, SyntaxKind::AS_KW)
1201 }
1202}
1203
1204#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1205pub struct AsName {
1206 pub(crate) syntax: SyntaxNode,
1207}
1208impl AsName {
1209 #[inline]
1210 pub fn name(&self) -> Option<Name> {
1211 support::child(&self.syntax)
1212 }
1213 #[inline]
1214 pub fn as_token(&self) -> Option<SyntaxToken> {
1215 support::token(&self.syntax, SyntaxKind::AS_KW)
1216 }
1217}
1218
1219#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1220pub struct AtTimeZone {
1221 pub(crate) syntax: SyntaxNode,
1222}
1223impl AtTimeZone {
1224 #[inline]
1225 pub fn at_token(&self) -> Option<SyntaxToken> {
1226 support::token(&self.syntax, SyntaxKind::AT_KW)
1227 }
1228 #[inline]
1229 pub fn time_token(&self) -> Option<SyntaxToken> {
1230 support::token(&self.syntax, SyntaxKind::TIME_KW)
1231 }
1232 #[inline]
1233 pub fn zone_token(&self) -> Option<SyntaxToken> {
1234 support::token(&self.syntax, SyntaxKind::ZONE_KW)
1235 }
1236}
1237
1238#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1239pub struct AttachPartition {
1240 pub(crate) syntax: SyntaxNode,
1241}
1242impl AttachPartition {
1243 #[inline]
1244 pub fn partition_type(&self) -> Option<PartitionType> {
1245 support::child(&self.syntax)
1246 }
1247 #[inline]
1248 pub fn path(&self) -> Option<Path> {
1249 support::child(&self.syntax)
1250 }
1251 #[inline]
1252 pub fn attach_token(&self) -> Option<SyntaxToken> {
1253 support::token(&self.syntax, SyntaxKind::ATTACH_KW)
1254 }
1255 #[inline]
1256 pub fn partition_token(&self) -> Option<SyntaxToken> {
1257 support::token(&self.syntax, SyntaxKind::PARTITION_KW)
1258 }
1259}
1260
1261#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1262pub struct AttributeList {
1263 pub(crate) syntax: SyntaxNode,
1264}
1265impl AttributeList {
1266 #[inline]
1267 pub fn attribute_options(&self) -> AstChildren<AttributeOption> {
1268 support::children(&self.syntax)
1269 }
1270 #[inline]
1271 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1272 support::token(&self.syntax, SyntaxKind::L_PAREN)
1273 }
1274 #[inline]
1275 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1276 support::token(&self.syntax, SyntaxKind::R_PAREN)
1277 }
1278}
1279
1280#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1281pub struct AttributeOption {
1282 pub(crate) syntax: SyntaxNode,
1283}
1284impl AttributeOption {
1285 #[inline]
1286 pub fn eq_token(&self) -> Option<SyntaxToken> {
1287 support::token(&self.syntax, SyntaxKind::EQ)
1288 }
1289}
1290
1291#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1292pub struct Begin {
1293 pub(crate) syntax: SyntaxNode,
1294}
1295impl Begin {
1296 #[inline]
1297 pub fn transaction_mode_list(&self) -> Option<TransactionModeList> {
1298 support::child(&self.syntax)
1299 }
1300 #[inline]
1301 pub fn begin_token(&self) -> Option<SyntaxToken> {
1302 support::token(&self.syntax, SyntaxKind::BEGIN_KW)
1303 }
1304 #[inline]
1305 pub fn start_token(&self) -> Option<SyntaxToken> {
1306 support::token(&self.syntax, SyntaxKind::START_KW)
1307 }
1308 #[inline]
1309 pub fn transaction_token(&self) -> Option<SyntaxToken> {
1310 support::token(&self.syntax, SyntaxKind::TRANSACTION_KW)
1311 }
1312 #[inline]
1313 pub fn work_token(&self) -> Option<SyntaxToken> {
1314 support::token(&self.syntax, SyntaxKind::WORK_KW)
1315 }
1316}
1317
1318#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1319pub struct BeginFuncOption {
1320 pub(crate) syntax: SyntaxNode,
1321}
1322impl BeginFuncOption {
1323 #[inline]
1324 pub fn atomic_token(&self) -> Option<SyntaxToken> {
1325 support::token(&self.syntax, SyntaxKind::ATOMIC_KW)
1326 }
1327 #[inline]
1328 pub fn begin_token(&self) -> Option<SyntaxToken> {
1329 support::token(&self.syntax, SyntaxKind::BEGIN_KW)
1330 }
1331 #[inline]
1332 pub fn end_token(&self) -> Option<SyntaxToken> {
1333 support::token(&self.syntax, SyntaxKind::END_KW)
1334 }
1335}
1336
1337#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1338pub struct BetweenExpr {
1339 pub(crate) syntax: SyntaxNode,
1340}
1341impl BetweenExpr {
1342 #[inline]
1343 pub fn end(&self) -> Option<Expr> {
1344 support::child(&self.syntax)
1345 }
1346 #[inline]
1347 pub fn start(&self) -> Option<Expr> {
1348 support::child(&self.syntax)
1349 }
1350 #[inline]
1351 pub fn target(&self) -> Option<Expr> {
1352 support::child(&self.syntax)
1353 }
1354 #[inline]
1355 pub fn and_token(&self) -> Option<SyntaxToken> {
1356 support::token(&self.syntax, SyntaxKind::AND_KW)
1357 }
1358 #[inline]
1359 pub fn between_token(&self) -> Option<SyntaxToken> {
1360 support::token(&self.syntax, SyntaxKind::BETWEEN_KW)
1361 }
1362}
1363
1364#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1365pub struct BinExpr {
1366 pub(crate) syntax: SyntaxNode,
1367}
1368impl BinExpr {
1369 #[inline]
1370 pub fn op(&self) -> Option<Op> {
1371 support::child(&self.syntax)
1372 }
1373}
1374
1375#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1376pub struct BitType {
1377 pub(crate) syntax: SyntaxNode,
1378}
1379impl BitType {
1380 #[inline]
1381 pub fn arg_list(&self) -> Option<ArgList> {
1382 support::child(&self.syntax)
1383 }
1384 #[inline]
1385 pub fn bit_token(&self) -> Option<SyntaxToken> {
1386 support::token(&self.syntax, SyntaxKind::BIT_KW)
1387 }
1388 #[inline]
1389 pub fn varying_token(&self) -> Option<SyntaxToken> {
1390 support::token(&self.syntax, SyntaxKind::VARYING_KW)
1391 }
1392}
1393
1394#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1395pub struct Call {
1396 pub(crate) syntax: SyntaxNode,
1397}
1398impl Call {
1399 #[inline]
1400 pub fn call_token(&self) -> Option<SyntaxToken> {
1401 support::token(&self.syntax, SyntaxKind::CALL_KW)
1402 }
1403}
1404
1405#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1406pub struct CallExpr {
1407 pub(crate) syntax: SyntaxNode,
1408}
1409impl CallExpr {
1410 #[inline]
1411 pub fn arg_list(&self) -> Option<ArgList> {
1412 support::child(&self.syntax)
1413 }
1414 #[inline]
1415 pub fn expr(&self) -> Option<Expr> {
1416 support::child(&self.syntax)
1417 }
1418}
1419
1420#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1421pub struct Cascade {
1422 pub(crate) syntax: SyntaxNode,
1423}
1424impl Cascade {
1425 #[inline]
1426 pub fn cascade_token(&self) -> Option<SyntaxToken> {
1427 support::token(&self.syntax, SyntaxKind::CASCADE_KW)
1428 }
1429}
1430
1431#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1432pub struct CaseExpr {
1433 pub(crate) syntax: SyntaxNode,
1434}
1435impl CaseExpr {
1436 #[inline]
1437 pub fn else_clause(&self) -> Option<ElseClause> {
1438 support::child(&self.syntax)
1439 }
1440 #[inline]
1441 pub fn expr(&self) -> Option<Expr> {
1442 support::child(&self.syntax)
1443 }
1444 #[inline]
1445 pub fn when_clause_list(&self) -> Option<WhenClauseList> {
1446 support::child(&self.syntax)
1447 }
1448 #[inline]
1449 pub fn case_token(&self) -> Option<SyntaxToken> {
1450 support::token(&self.syntax, SyntaxKind::CASE_KW)
1451 }
1452}
1453
1454#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1455pub struct CastExpr {
1456 pub(crate) syntax: SyntaxNode,
1457}
1458impl CastExpr {
1459 #[inline]
1460 pub fn colon_colon(&self) -> Option<ColonColon> {
1461 support::child(&self.syntax)
1462 }
1463 #[inline]
1464 pub fn expr(&self) -> Option<Expr> {
1465 support::child(&self.syntax)
1466 }
1467 #[inline]
1468 pub fn ty(&self) -> Option<Type> {
1469 support::child(&self.syntax)
1470 }
1471 #[inline]
1472 pub fn as_token(&self) -> Option<SyntaxToken> {
1473 support::token(&self.syntax, SyntaxKind::AS_KW)
1474 }
1475}
1476
1477#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1478pub struct CharType {
1479 pub(crate) syntax: SyntaxNode,
1480}
1481impl CharType {
1482 #[inline]
1483 pub fn arg_list(&self) -> Option<ArgList> {
1484 support::child(&self.syntax)
1485 }
1486 #[inline]
1487 pub fn char_token(&self) -> Option<SyntaxToken> {
1488 support::token(&self.syntax, SyntaxKind::CHAR_KW)
1489 }
1490 #[inline]
1491 pub fn character_token(&self) -> Option<SyntaxToken> {
1492 support::token(&self.syntax, SyntaxKind::CHARACTER_KW)
1493 }
1494 #[inline]
1495 pub fn nchar_token(&self) -> Option<SyntaxToken> {
1496 support::token(&self.syntax, SyntaxKind::NCHAR_KW)
1497 }
1498 #[inline]
1499 pub fn varchar_token(&self) -> Option<SyntaxToken> {
1500 support::token(&self.syntax, SyntaxKind::VARCHAR_KW)
1501 }
1502 #[inline]
1503 pub fn varying_token(&self) -> Option<SyntaxToken> {
1504 support::token(&self.syntax, SyntaxKind::VARYING_KW)
1505 }
1506}
1507
1508#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1509pub struct CheckConstraint {
1510 pub(crate) syntax: SyntaxNode,
1511}
1512impl CheckConstraint {
1513 #[inline]
1514 pub fn expr(&self) -> Option<Expr> {
1515 support::child(&self.syntax)
1516 }
1517 #[inline]
1518 pub fn name_ref(&self) -> Option<NameRef> {
1519 support::child(&self.syntax)
1520 }
1521 #[inline]
1522 pub fn no_inherit(&self) -> Option<NoInherit> {
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 check_token(&self) -> Option<SyntaxToken> {
1535 support::token(&self.syntax, SyntaxKind::CHECK_KW)
1536 }
1537 #[inline]
1538 pub fn constraint_token(&self) -> Option<SyntaxToken> {
1539 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
1540 }
1541}
1542
1543#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1544pub struct Checkpoint {
1545 pub(crate) syntax: SyntaxNode,
1546}
1547impl Checkpoint {
1548 #[inline]
1549 pub fn checkpoint_token(&self) -> Option<SyntaxToken> {
1550 support::token(&self.syntax, SyntaxKind::CHECKPOINT_KW)
1551 }
1552}
1553
1554#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1555pub struct Close {
1556 pub(crate) syntax: SyntaxNode,
1557}
1558impl Close {
1559 #[inline]
1560 pub fn close_token(&self) -> Option<SyntaxToken> {
1561 support::token(&self.syntax, SyntaxKind::CLOSE_KW)
1562 }
1563}
1564
1565#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1566pub struct Cluster {
1567 pub(crate) syntax: SyntaxNode,
1568}
1569impl Cluster {
1570 #[inline]
1571 pub fn cluster_token(&self) -> Option<SyntaxToken> {
1572 support::token(&self.syntax, SyntaxKind::CLUSTER_KW)
1573 }
1574 #[inline]
1575 pub fn verbose_token(&self) -> Option<SyntaxToken> {
1576 support::token(&self.syntax, SyntaxKind::VERBOSE_KW)
1577 }
1578}
1579
1580#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1581pub struct ClusterOn {
1582 pub(crate) syntax: SyntaxNode,
1583}
1584impl ClusterOn {
1585 #[inline]
1586 pub fn cluster_token(&self) -> Option<SyntaxToken> {
1587 support::token(&self.syntax, SyntaxKind::CLUSTER_KW)
1588 }
1589 #[inline]
1590 pub fn on_token(&self) -> Option<SyntaxToken> {
1591 support::token(&self.syntax, SyntaxKind::ON_KW)
1592 }
1593}
1594
1595#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1596pub struct Collate {
1597 pub(crate) syntax: SyntaxNode,
1598}
1599impl Collate {
1600 #[inline]
1601 pub fn path(&self) -> Option<Path> {
1602 support::child(&self.syntax)
1603 }
1604 #[inline]
1605 pub fn collate_token(&self) -> Option<SyntaxToken> {
1606 support::token(&self.syntax, SyntaxKind::COLLATE_KW)
1607 }
1608}
1609
1610#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1611pub struct ColonColon {
1612 pub(crate) syntax: SyntaxNode,
1613}
1614impl ColonColon {
1615 #[inline]
1616 pub fn colon_token(&self) -> Option<SyntaxToken> {
1617 support::token(&self.syntax, SyntaxKind::COLON)
1618 }
1619}
1620
1621#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1622pub struct ColonEq {
1623 pub(crate) syntax: SyntaxNode,
1624}
1625impl ColonEq {
1626 #[inline]
1627 pub fn colon_token(&self) -> Option<SyntaxToken> {
1628 support::token(&self.syntax, SyntaxKind::COLON)
1629 }
1630 #[inline]
1631 pub fn eq_token(&self) -> Option<SyntaxToken> {
1632 support::token(&self.syntax, SyntaxKind::EQ)
1633 }
1634}
1635
1636#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1637pub struct Column {
1638 pub(crate) syntax: SyntaxNode,
1639}
1640impl Column {
1641 #[inline]
1642 pub fn collate(&self) -> Option<Collate> {
1643 support::child(&self.syntax)
1644 }
1645 #[inline]
1646 pub fn compression_method(&self) -> Option<CompressionMethod> {
1647 support::child(&self.syntax)
1648 }
1649 #[inline]
1650 pub fn constraint(&self) -> Option<ColumnConstraint> {
1651 support::child(&self.syntax)
1652 }
1653 #[inline]
1654 pub fn deferrable_constraint_option(&self) -> Option<DeferrableConstraintOption> {
1655 support::child(&self.syntax)
1656 }
1657 #[inline]
1658 pub fn enforced(&self) -> Option<Enforced> {
1659 support::child(&self.syntax)
1660 }
1661 #[inline]
1662 pub fn index_expr(&self) -> Option<IndexExpr> {
1663 support::child(&self.syntax)
1664 }
1665 #[inline]
1666 pub fn initially_deferred_constraint_option(
1667 &self,
1668 ) -> Option<InitiallyDeferredConstraintOption> {
1669 support::child(&self.syntax)
1670 }
1671 #[inline]
1672 pub fn initially_immediate_constraint_option(
1673 &self,
1674 ) -> Option<InitiallyImmediateConstraintOption> {
1675 support::child(&self.syntax)
1676 }
1677 #[inline]
1678 pub fn name(&self) -> Option<Name> {
1679 support::child(&self.syntax)
1680 }
1681 #[inline]
1682 pub fn not_deferrable_constraint_option(&self) -> Option<NotDeferrableConstraintOption> {
1683 support::child(&self.syntax)
1684 }
1685 #[inline]
1686 pub fn not_enforced(&self) -> Option<NotEnforced> {
1687 support::child(&self.syntax)
1688 }
1689 #[inline]
1690 pub fn storage(&self) -> Option<Storage> {
1691 support::child(&self.syntax)
1692 }
1693 #[inline]
1694 pub fn ty(&self) -> Option<Type> {
1695 support::child(&self.syntax)
1696 }
1697 #[inline]
1698 pub fn with_options(&self) -> Option<WithOptions> {
1699 support::child(&self.syntax)
1700 }
1701 #[inline]
1702 pub fn period_token(&self) -> Option<SyntaxToken> {
1703 support::token(&self.syntax, SyntaxKind::PERIOD_KW)
1704 }
1705}
1706
1707#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1708pub struct ColumnList {
1709 pub(crate) syntax: SyntaxNode,
1710}
1711impl ColumnList {
1712 #[inline]
1713 pub fn columns(&self) -> AstChildren<Column> {
1714 support::children(&self.syntax)
1715 }
1716 #[inline]
1717 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1718 support::token(&self.syntax, SyntaxKind::L_PAREN)
1719 }
1720 #[inline]
1721 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1722 support::token(&self.syntax, SyntaxKind::R_PAREN)
1723 }
1724}
1725
1726#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1727pub struct CommentOn {
1728 pub(crate) syntax: SyntaxNode,
1729}
1730impl CommentOn {
1731 #[inline]
1732 pub fn comment_token(&self) -> Option<SyntaxToken> {
1733 support::token(&self.syntax, SyntaxKind::COMMENT_KW)
1734 }
1735 #[inline]
1736 pub fn on_token(&self) -> Option<SyntaxToken> {
1737 support::token(&self.syntax, SyntaxKind::ON_KW)
1738 }
1739}
1740
1741#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1742pub struct Commit {
1743 pub(crate) syntax: SyntaxNode,
1744}
1745impl Commit {
1746 #[inline]
1747 pub fn literal(&self) -> Option<Literal> {
1748 support::child(&self.syntax)
1749 }
1750 #[inline]
1751 pub fn and_token(&self) -> Option<SyntaxToken> {
1752 support::token(&self.syntax, SyntaxKind::AND_KW)
1753 }
1754 #[inline]
1755 pub fn chain_token(&self) -> Option<SyntaxToken> {
1756 support::token(&self.syntax, SyntaxKind::CHAIN_KW)
1757 }
1758 #[inline]
1759 pub fn commit_token(&self) -> Option<SyntaxToken> {
1760 support::token(&self.syntax, SyntaxKind::COMMIT_KW)
1761 }
1762 #[inline]
1763 pub fn no_token(&self) -> Option<SyntaxToken> {
1764 support::token(&self.syntax, SyntaxKind::NO_KW)
1765 }
1766 #[inline]
1767 pub fn prepared_token(&self) -> Option<SyntaxToken> {
1768 support::token(&self.syntax, SyntaxKind::PREPARED_KW)
1769 }
1770 #[inline]
1771 pub fn transaction_token(&self) -> Option<SyntaxToken> {
1772 support::token(&self.syntax, SyntaxKind::TRANSACTION_KW)
1773 }
1774 #[inline]
1775 pub fn work_token(&self) -> Option<SyntaxToken> {
1776 support::token(&self.syntax, SyntaxKind::WORK_KW)
1777 }
1778}
1779
1780#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1781pub struct CompoundSelect {
1782 pub(crate) syntax: SyntaxNode,
1783}
1784impl CompoundSelect {
1785 #[inline]
1786 pub fn select(&self) -> Option<Select> {
1787 support::child(&self.syntax)
1788 }
1789}
1790
1791#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1792pub struct CompressionMethod {
1793 pub(crate) syntax: SyntaxNode,
1794}
1795impl CompressionMethod {
1796 #[inline]
1797 pub fn compression_token(&self) -> Option<SyntaxToken> {
1798 support::token(&self.syntax, SyntaxKind::COMPRESSION_KW)
1799 }
1800 #[inline]
1801 pub fn default_token(&self) -> Option<SyntaxToken> {
1802 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
1803 }
1804 #[inline]
1805 pub fn ident_token(&self) -> Option<SyntaxToken> {
1806 support::token(&self.syntax, SyntaxKind::IDENT)
1807 }
1808}
1809
1810#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1811pub struct ConstraintExclusion {
1812 pub(crate) syntax: SyntaxNode,
1813}
1814impl ConstraintExclusion {
1815 #[inline]
1816 pub fn with_token(&self) -> Option<SyntaxToken> {
1817 support::token(&self.syntax, SyntaxKind::WITH_KW)
1818 }
1819}
1820
1821#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1822pub struct ConstraintExclusionList {
1823 pub(crate) syntax: SyntaxNode,
1824}
1825impl ConstraintExclusionList {
1826 #[inline]
1827 pub fn exclude_token(&self) -> Option<SyntaxToken> {
1828 support::token(&self.syntax, SyntaxKind::EXCLUDE_KW)
1829 }
1830}
1831
1832#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1833pub struct ConstraintIncludeClause {
1834 pub(crate) syntax: SyntaxNode,
1835}
1836impl ConstraintIncludeClause {
1837 #[inline]
1838 pub fn include_token(&self) -> Option<SyntaxToken> {
1839 support::token(&self.syntax, SyntaxKind::INCLUDE_KW)
1840 }
1841}
1842
1843#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1844pub struct ConstraintIndexMethod {
1845 pub(crate) syntax: SyntaxNode,
1846}
1847impl ConstraintIndexMethod {
1848 #[inline]
1849 pub fn using_token(&self) -> Option<SyntaxToken> {
1850 support::token(&self.syntax, SyntaxKind::USING_KW)
1851 }
1852}
1853
1854#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1855pub struct ConstraintIndexTablespace {
1856 pub(crate) syntax: SyntaxNode,
1857}
1858impl ConstraintIndexTablespace {
1859 #[inline]
1860 pub fn name_ref(&self) -> Option<NameRef> {
1861 support::child(&self.syntax)
1862 }
1863 #[inline]
1864 pub fn index_token(&self) -> Option<SyntaxToken> {
1865 support::token(&self.syntax, SyntaxKind::INDEX_KW)
1866 }
1867 #[inline]
1868 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
1869 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
1870 }
1871 #[inline]
1872 pub fn using_token(&self) -> Option<SyntaxToken> {
1873 support::token(&self.syntax, SyntaxKind::USING_KW)
1874 }
1875}
1876
1877#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1878pub struct ConstraintWhereClause {
1879 pub(crate) syntax: SyntaxNode,
1880}
1881impl ConstraintWhereClause {
1882 #[inline]
1883 pub fn where_token(&self) -> Option<SyntaxToken> {
1884 support::token(&self.syntax, SyntaxKind::WHERE_KW)
1885 }
1886}
1887
1888#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1889pub struct Copy {
1890 pub(crate) syntax: SyntaxNode,
1891}
1892impl Copy {
1893 #[inline]
1894 pub fn copy_token(&self) -> Option<SyntaxToken> {
1895 support::token(&self.syntax, SyntaxKind::COPY_KW)
1896 }
1897}
1898
1899#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1900pub struct CostFuncOption {
1901 pub(crate) syntax: SyntaxNode,
1902}
1903impl CostFuncOption {
1904 #[inline]
1905 pub fn cost_token(&self) -> Option<SyntaxToken> {
1906 support::token(&self.syntax, SyntaxKind::COST_KW)
1907 }
1908}
1909
1910#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1911pub struct CreateAccessMethod {
1912 pub(crate) syntax: SyntaxNode,
1913}
1914impl CreateAccessMethod {
1915 #[inline]
1916 pub fn name_ref(&self) -> Option<NameRef> {
1917 support::child(&self.syntax)
1918 }
1919 #[inline]
1920 pub fn access_token(&self) -> Option<SyntaxToken> {
1921 support::token(&self.syntax, SyntaxKind::ACCESS_KW)
1922 }
1923 #[inline]
1924 pub fn create_token(&self) -> Option<SyntaxToken> {
1925 support::token(&self.syntax, SyntaxKind::CREATE_KW)
1926 }
1927 #[inline]
1928 pub fn method_token(&self) -> Option<SyntaxToken> {
1929 support::token(&self.syntax, SyntaxKind::METHOD_KW)
1930 }
1931 #[inline]
1932 pub fn type_token(&self) -> Option<SyntaxToken> {
1933 support::token(&self.syntax, SyntaxKind::TYPE_KW)
1934 }
1935}
1936
1937#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1938pub struct CreateAggregate {
1939 pub(crate) syntax: SyntaxNode,
1940}
1941impl CreateAggregate {
1942 #[inline]
1943 pub fn or_replace(&self) -> Option<OrReplace> {
1944 support::child(&self.syntax)
1945 }
1946 #[inline]
1947 pub fn param_list(&self) -> Option<ParamList> {
1948 support::child(&self.syntax)
1949 }
1950 #[inline]
1951 pub fn path(&self) -> Option<Path> {
1952 support::child(&self.syntax)
1953 }
1954 #[inline]
1955 pub fn aggregate_token(&self) -> Option<SyntaxToken> {
1956 support::token(&self.syntax, SyntaxKind::AGGREGATE_KW)
1957 }
1958 #[inline]
1959 pub fn create_token(&self) -> Option<SyntaxToken> {
1960 support::token(&self.syntax, SyntaxKind::CREATE_KW)
1961 }
1962}
1963
1964#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1965pub struct CreateCast {
1966 pub(crate) syntax: SyntaxNode,
1967}
1968impl CreateCast {
1969 #[inline]
1970 pub fn ty(&self) -> Option<Type> {
1971 support::child(&self.syntax)
1972 }
1973 #[inline]
1974 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
1975 support::token(&self.syntax, SyntaxKind::L_PAREN)
1976 }
1977 #[inline]
1978 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
1979 support::token(&self.syntax, SyntaxKind::R_PAREN)
1980 }
1981 #[inline]
1982 pub fn as_token(&self) -> Option<SyntaxToken> {
1983 support::token(&self.syntax, SyntaxKind::AS_KW)
1984 }
1985 #[inline]
1986 pub fn cast_token(&self) -> Option<SyntaxToken> {
1987 support::token(&self.syntax, SyntaxKind::CAST_KW)
1988 }
1989 #[inline]
1990 pub fn create_token(&self) -> Option<SyntaxToken> {
1991 support::token(&self.syntax, SyntaxKind::CREATE_KW)
1992 }
1993}
1994
1995#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1996pub struct CreateCollation {
1997 pub(crate) syntax: SyntaxNode,
1998}
1999impl CreateCollation {
2000 #[inline]
2001 pub fn name_ref(&self) -> Option<NameRef> {
2002 support::child(&self.syntax)
2003 }
2004 #[inline]
2005 pub fn collation_token(&self) -> Option<SyntaxToken> {
2006 support::token(&self.syntax, SyntaxKind::COLLATION_KW)
2007 }
2008 #[inline]
2009 pub fn create_token(&self) -> Option<SyntaxToken> {
2010 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2011 }
2012}
2013
2014#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2015pub struct CreateConversion {
2016 pub(crate) syntax: SyntaxNode,
2017}
2018impl CreateConversion {
2019 #[inline]
2020 pub fn name_ref(&self) -> Option<NameRef> {
2021 support::child(&self.syntax)
2022 }
2023 #[inline]
2024 pub fn conversion_token(&self) -> Option<SyntaxToken> {
2025 support::token(&self.syntax, SyntaxKind::CONVERSION_KW)
2026 }
2027 #[inline]
2028 pub fn create_token(&self) -> Option<SyntaxToken> {
2029 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2030 }
2031 #[inline]
2032 pub fn for_token(&self) -> Option<SyntaxToken> {
2033 support::token(&self.syntax, SyntaxKind::FOR_KW)
2034 }
2035}
2036
2037#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2038pub struct CreateDatabase {
2039 pub(crate) syntax: SyntaxNode,
2040}
2041impl CreateDatabase {
2042 #[inline]
2043 pub fn name_ref(&self) -> Option<NameRef> {
2044 support::child(&self.syntax)
2045 }
2046 #[inline]
2047 pub fn create_token(&self) -> Option<SyntaxToken> {
2048 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2049 }
2050 #[inline]
2051 pub fn database_token(&self) -> Option<SyntaxToken> {
2052 support::token(&self.syntax, SyntaxKind::DATABASE_KW)
2053 }
2054}
2055
2056#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2057pub struct CreateDomain {
2058 pub(crate) syntax: SyntaxNode,
2059}
2060impl CreateDomain {
2061 #[inline]
2062 pub fn collate(&self) -> Option<Collate> {
2063 support::child(&self.syntax)
2064 }
2065 #[inline]
2066 pub fn constraints(&self) -> AstChildren<Constraint> {
2067 support::children(&self.syntax)
2068 }
2069 #[inline]
2070 pub fn name_ref(&self) -> Option<NameRef> {
2071 support::child(&self.syntax)
2072 }
2073 #[inline]
2074 pub fn ty(&self) -> Option<Type> {
2075 support::child(&self.syntax)
2076 }
2077 #[inline]
2078 pub fn as_token(&self) -> Option<SyntaxToken> {
2079 support::token(&self.syntax, SyntaxKind::AS_KW)
2080 }
2081 #[inline]
2082 pub fn create_token(&self) -> Option<SyntaxToken> {
2083 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2084 }
2085 #[inline]
2086 pub fn domain_token(&self) -> Option<SyntaxToken> {
2087 support::token(&self.syntax, SyntaxKind::DOMAIN_KW)
2088 }
2089}
2090
2091#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2092pub struct CreateEventTrigger {
2093 pub(crate) syntax: SyntaxNode,
2094}
2095impl CreateEventTrigger {
2096 #[inline]
2097 pub fn name_ref(&self) -> Option<NameRef> {
2098 support::child(&self.syntax)
2099 }
2100 #[inline]
2101 pub fn create_token(&self) -> Option<SyntaxToken> {
2102 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2103 }
2104 #[inline]
2105 pub fn event_token(&self) -> Option<SyntaxToken> {
2106 support::token(&self.syntax, SyntaxKind::EVENT_KW)
2107 }
2108 #[inline]
2109 pub fn on_token(&self) -> Option<SyntaxToken> {
2110 support::token(&self.syntax, SyntaxKind::ON_KW)
2111 }
2112 #[inline]
2113 pub fn trigger_token(&self) -> Option<SyntaxToken> {
2114 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
2115 }
2116}
2117
2118#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2119pub struct CreateExtension {
2120 pub(crate) syntax: SyntaxNode,
2121}
2122impl CreateExtension {
2123 #[inline]
2124 pub fn create_token(&self) -> Option<SyntaxToken> {
2125 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2126 }
2127 #[inline]
2128 pub fn extension_token(&self) -> Option<SyntaxToken> {
2129 support::token(&self.syntax, SyntaxKind::EXTENSION_KW)
2130 }
2131}
2132
2133#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2134pub struct CreateForeignDataWrapper {
2135 pub(crate) syntax: SyntaxNode,
2136}
2137impl CreateForeignDataWrapper {
2138 #[inline]
2139 pub fn name_ref(&self) -> Option<NameRef> {
2140 support::child(&self.syntax)
2141 }
2142 #[inline]
2143 pub fn create_token(&self) -> Option<SyntaxToken> {
2144 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2145 }
2146 #[inline]
2147 pub fn data_token(&self) -> Option<SyntaxToken> {
2148 support::token(&self.syntax, SyntaxKind::DATA_KW)
2149 }
2150 #[inline]
2151 pub fn foreign_token(&self) -> Option<SyntaxToken> {
2152 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
2153 }
2154 #[inline]
2155 pub fn wrapper_token(&self) -> Option<SyntaxToken> {
2156 support::token(&self.syntax, SyntaxKind::WRAPPER_KW)
2157 }
2158}
2159
2160#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2161pub struct CreateForeignTable {
2162 pub(crate) syntax: SyntaxNode,
2163}
2164impl CreateForeignTable {
2165 #[inline]
2166 pub fn if_not_exists(&self) -> Option<IfNotExists> {
2167 support::child(&self.syntax)
2168 }
2169 #[inline]
2170 pub fn create_token(&self) -> Option<SyntaxToken> {
2171 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2172 }
2173 #[inline]
2174 pub fn foreign_token(&self) -> Option<SyntaxToken> {
2175 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
2176 }
2177 #[inline]
2178 pub fn table_token(&self) -> Option<SyntaxToken> {
2179 support::token(&self.syntax, SyntaxKind::TABLE_KW)
2180 }
2181}
2182
2183#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2184pub struct CreateFunction {
2185 pub(crate) syntax: SyntaxNode,
2186}
2187impl CreateFunction {
2188 #[inline]
2189 pub fn option_list(&self) -> Option<FuncOptionList> {
2190 support::child(&self.syntax)
2191 }
2192 #[inline]
2193 pub fn or_replace(&self) -> Option<OrReplace> {
2194 support::child(&self.syntax)
2195 }
2196 #[inline]
2197 pub fn param_list(&self) -> Option<ParamList> {
2198 support::child(&self.syntax)
2199 }
2200 #[inline]
2201 pub fn path(&self) -> Option<Path> {
2202 support::child(&self.syntax)
2203 }
2204 #[inline]
2205 pub fn ret_type(&self) -> Option<RetType> {
2206 support::child(&self.syntax)
2207 }
2208 #[inline]
2209 pub fn create_token(&self) -> Option<SyntaxToken> {
2210 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2211 }
2212 #[inline]
2213 pub fn function_token(&self) -> Option<SyntaxToken> {
2214 support::token(&self.syntax, SyntaxKind::FUNCTION_KW)
2215 }
2216}
2217
2218#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2219pub struct CreateGroup {
2220 pub(crate) syntax: SyntaxNode,
2221}
2222impl CreateGroup {
2223 #[inline]
2224 pub fn name_ref(&self) -> Option<NameRef> {
2225 support::child(&self.syntax)
2226 }
2227 #[inline]
2228 pub fn create_token(&self) -> Option<SyntaxToken> {
2229 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2230 }
2231 #[inline]
2232 pub fn group_token(&self) -> Option<SyntaxToken> {
2233 support::token(&self.syntax, SyntaxKind::GROUP_KW)
2234 }
2235}
2236
2237#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2238pub struct CreateIndex {
2239 pub(crate) syntax: SyntaxNode,
2240}
2241impl CreateIndex {
2242 #[inline]
2243 pub fn if_not_exists(&self) -> Option<IfNotExists> {
2244 support::child(&self.syntax)
2245 }
2246 #[inline]
2247 pub fn name(&self) -> Option<Name> {
2248 support::child(&self.syntax)
2249 }
2250 #[inline]
2251 pub fn relation_name(&self) -> Option<RelationName> {
2252 support::child(&self.syntax)
2253 }
2254 #[inline]
2255 pub fn concurrently_token(&self) -> Option<SyntaxToken> {
2256 support::token(&self.syntax, SyntaxKind::CONCURRENTLY_KW)
2257 }
2258 #[inline]
2259 pub fn create_token(&self) -> Option<SyntaxToken> {
2260 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2261 }
2262 #[inline]
2263 pub fn index_token(&self) -> Option<SyntaxToken> {
2264 support::token(&self.syntax, SyntaxKind::INDEX_KW)
2265 }
2266 #[inline]
2267 pub fn on_token(&self) -> Option<SyntaxToken> {
2268 support::token(&self.syntax, SyntaxKind::ON_KW)
2269 }
2270 #[inline]
2271 pub fn unique_token(&self) -> Option<SyntaxToken> {
2272 support::token(&self.syntax, SyntaxKind::UNIQUE_KW)
2273 }
2274}
2275
2276#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2277pub struct CreateLanguage {
2278 pub(crate) syntax: SyntaxNode,
2279}
2280impl CreateLanguage {
2281 #[inline]
2282 pub fn name_ref(&self) -> Option<NameRef> {
2283 support::child(&self.syntax)
2284 }
2285 #[inline]
2286 pub fn create_token(&self) -> Option<SyntaxToken> {
2287 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2288 }
2289 #[inline]
2290 pub fn language_token(&self) -> Option<SyntaxToken> {
2291 support::token(&self.syntax, SyntaxKind::LANGUAGE_KW)
2292 }
2293}
2294
2295#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2296pub struct CreateMaterializedView {
2297 pub(crate) syntax: SyntaxNode,
2298}
2299impl CreateMaterializedView {
2300 #[inline]
2301 pub fn create_token(&self) -> Option<SyntaxToken> {
2302 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2303 }
2304}
2305
2306#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2307pub struct CreateOperator {
2308 pub(crate) syntax: SyntaxNode,
2309}
2310impl CreateOperator {
2311 #[inline]
2312 pub fn create_token(&self) -> Option<SyntaxToken> {
2313 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2314 }
2315 #[inline]
2316 pub fn operator_token(&self) -> Option<SyntaxToken> {
2317 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
2318 }
2319}
2320
2321#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2322pub struct CreateOperatorClass {
2323 pub(crate) syntax: SyntaxNode,
2324}
2325impl CreateOperatorClass {
2326 #[inline]
2327 pub fn name_ref(&self) -> Option<NameRef> {
2328 support::child(&self.syntax)
2329 }
2330 #[inline]
2331 pub fn ty(&self) -> Option<Type> {
2332 support::child(&self.syntax)
2333 }
2334 #[inline]
2335 pub fn class_token(&self) -> Option<SyntaxToken> {
2336 support::token(&self.syntax, SyntaxKind::CLASS_KW)
2337 }
2338 #[inline]
2339 pub fn create_token(&self) -> Option<SyntaxToken> {
2340 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2341 }
2342 #[inline]
2343 pub fn default_token(&self) -> Option<SyntaxToken> {
2344 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
2345 }
2346 #[inline]
2347 pub fn for_token(&self) -> Option<SyntaxToken> {
2348 support::token(&self.syntax, SyntaxKind::FOR_KW)
2349 }
2350 #[inline]
2351 pub fn operator_token(&self) -> Option<SyntaxToken> {
2352 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
2353 }
2354 #[inline]
2355 pub fn type_token(&self) -> Option<SyntaxToken> {
2356 support::token(&self.syntax, SyntaxKind::TYPE_KW)
2357 }
2358 #[inline]
2359 pub fn using_token(&self) -> Option<SyntaxToken> {
2360 support::token(&self.syntax, SyntaxKind::USING_KW)
2361 }
2362}
2363
2364#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2365pub struct CreateOperatorFamily {
2366 pub(crate) syntax: SyntaxNode,
2367}
2368impl CreateOperatorFamily {
2369 #[inline]
2370 pub fn name_ref(&self) -> Option<NameRef> {
2371 support::child(&self.syntax)
2372 }
2373 #[inline]
2374 pub fn create_token(&self) -> Option<SyntaxToken> {
2375 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2376 }
2377 #[inline]
2378 pub fn family_token(&self) -> Option<SyntaxToken> {
2379 support::token(&self.syntax, SyntaxKind::FAMILY_KW)
2380 }
2381 #[inline]
2382 pub fn operator_token(&self) -> Option<SyntaxToken> {
2383 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
2384 }
2385 #[inline]
2386 pub fn using_token(&self) -> Option<SyntaxToken> {
2387 support::token(&self.syntax, SyntaxKind::USING_KW)
2388 }
2389}
2390
2391#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2392pub struct CreatePolicy {
2393 pub(crate) syntax: SyntaxNode,
2394}
2395impl CreatePolicy {
2396 #[inline]
2397 pub fn name_ref(&self) -> Option<NameRef> {
2398 support::child(&self.syntax)
2399 }
2400 #[inline]
2401 pub fn create_token(&self) -> Option<SyntaxToken> {
2402 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2403 }
2404 #[inline]
2405 pub fn on_token(&self) -> Option<SyntaxToken> {
2406 support::token(&self.syntax, SyntaxKind::ON_KW)
2407 }
2408 #[inline]
2409 pub fn policy_token(&self) -> Option<SyntaxToken> {
2410 support::token(&self.syntax, SyntaxKind::POLICY_KW)
2411 }
2412}
2413
2414#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2415pub struct CreateProcedure {
2416 pub(crate) syntax: SyntaxNode,
2417}
2418impl CreateProcedure {
2419 #[inline]
2420 pub fn create_token(&self) -> Option<SyntaxToken> {
2421 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2422 }
2423 #[inline]
2424 pub fn procedure_token(&self) -> Option<SyntaxToken> {
2425 support::token(&self.syntax, SyntaxKind::PROCEDURE_KW)
2426 }
2427}
2428
2429#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2430pub struct CreatePublication {
2431 pub(crate) syntax: SyntaxNode,
2432}
2433impl CreatePublication {
2434 #[inline]
2435 pub fn name_ref(&self) -> Option<NameRef> {
2436 support::child(&self.syntax)
2437 }
2438 #[inline]
2439 pub fn create_token(&self) -> Option<SyntaxToken> {
2440 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2441 }
2442 #[inline]
2443 pub fn publication_token(&self) -> Option<SyntaxToken> {
2444 support::token(&self.syntax, SyntaxKind::PUBLICATION_KW)
2445 }
2446}
2447
2448#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2449pub struct CreateRole {
2450 pub(crate) syntax: SyntaxNode,
2451}
2452impl CreateRole {
2453 #[inline]
2454 pub fn name_ref(&self) -> Option<NameRef> {
2455 support::child(&self.syntax)
2456 }
2457 #[inline]
2458 pub fn create_token(&self) -> Option<SyntaxToken> {
2459 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2460 }
2461 #[inline]
2462 pub fn role_token(&self) -> Option<SyntaxToken> {
2463 support::token(&self.syntax, SyntaxKind::ROLE_KW)
2464 }
2465}
2466
2467#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2468pub struct CreateRule {
2469 pub(crate) syntax: SyntaxNode,
2470}
2471impl CreateRule {
2472 #[inline]
2473 pub fn name_ref(&self) -> Option<NameRef> {
2474 support::child(&self.syntax)
2475 }
2476 #[inline]
2477 pub fn as_token(&self) -> Option<SyntaxToken> {
2478 support::token(&self.syntax, SyntaxKind::AS_KW)
2479 }
2480 #[inline]
2481 pub fn create_token(&self) -> Option<SyntaxToken> {
2482 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2483 }
2484 #[inline]
2485 pub fn on_token(&self) -> Option<SyntaxToken> {
2486 support::token(&self.syntax, SyntaxKind::ON_KW)
2487 }
2488 #[inline]
2489 pub fn rule_token(&self) -> Option<SyntaxToken> {
2490 support::token(&self.syntax, SyntaxKind::RULE_KW)
2491 }
2492}
2493
2494#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2495pub struct CreateSchema {
2496 pub(crate) syntax: SyntaxNode,
2497}
2498impl CreateSchema {
2499 #[inline]
2500 pub fn create_token(&self) -> Option<SyntaxToken> {
2501 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2502 }
2503 #[inline]
2504 pub fn schema_token(&self) -> Option<SyntaxToken> {
2505 support::token(&self.syntax, SyntaxKind::SCHEMA_KW)
2506 }
2507}
2508
2509#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2510pub struct CreateSequence {
2511 pub(crate) syntax: SyntaxNode,
2512}
2513impl CreateSequence {
2514 #[inline]
2515 pub fn name_ref(&self) -> Option<NameRef> {
2516 support::child(&self.syntax)
2517 }
2518 #[inline]
2519 pub fn create_token(&self) -> Option<SyntaxToken> {
2520 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2521 }
2522 #[inline]
2523 pub fn sequence_token(&self) -> Option<SyntaxToken> {
2524 support::token(&self.syntax, SyntaxKind::SEQUENCE_KW)
2525 }
2526}
2527
2528#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2529pub struct CreateServer {
2530 pub(crate) syntax: SyntaxNode,
2531}
2532impl CreateServer {
2533 #[inline]
2534 pub fn name_ref(&self) -> Option<NameRef> {
2535 support::child(&self.syntax)
2536 }
2537 #[inline]
2538 pub fn create_token(&self) -> Option<SyntaxToken> {
2539 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2540 }
2541 #[inline]
2542 pub fn server_token(&self) -> Option<SyntaxToken> {
2543 support::token(&self.syntax, SyntaxKind::SERVER_KW)
2544 }
2545}
2546
2547#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2548pub struct CreateStatistics {
2549 pub(crate) syntax: SyntaxNode,
2550}
2551impl CreateStatistics {
2552 #[inline]
2553 pub fn name_ref(&self) -> Option<NameRef> {
2554 support::child(&self.syntax)
2555 }
2556 #[inline]
2557 pub fn create_token(&self) -> Option<SyntaxToken> {
2558 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2559 }
2560 #[inline]
2561 pub fn statistics_token(&self) -> Option<SyntaxToken> {
2562 support::token(&self.syntax, SyntaxKind::STATISTICS_KW)
2563 }
2564}
2565
2566#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2567pub struct CreateSubscription {
2568 pub(crate) syntax: SyntaxNode,
2569}
2570impl CreateSubscription {
2571 #[inline]
2572 pub fn name_ref(&self) -> Option<NameRef> {
2573 support::child(&self.syntax)
2574 }
2575 #[inline]
2576 pub fn create_token(&self) -> Option<SyntaxToken> {
2577 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2578 }
2579 #[inline]
2580 pub fn subscription_token(&self) -> Option<SyntaxToken> {
2581 support::token(&self.syntax, SyntaxKind::SUBSCRIPTION_KW)
2582 }
2583}
2584
2585#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2586pub struct CreateTable {
2587 pub(crate) syntax: SyntaxNode,
2588}
2589impl CreateTable {
2590 #[inline]
2591 pub fn if_not_exists(&self) -> Option<IfNotExists> {
2592 support::child(&self.syntax)
2593 }
2594 #[inline]
2595 pub fn inherits(&self) -> Option<Inherits> {
2596 support::child(&self.syntax)
2597 }
2598 #[inline]
2599 pub fn of_type(&self) -> Option<OfType> {
2600 support::child(&self.syntax)
2601 }
2602 #[inline]
2603 pub fn on_commit(&self) -> Option<OnCommit> {
2604 support::child(&self.syntax)
2605 }
2606 #[inline]
2607 pub fn partition_by(&self) -> Option<PartitionBy> {
2608 support::child(&self.syntax)
2609 }
2610 #[inline]
2611 pub fn partition_of(&self) -> Option<PartitionOf> {
2612 support::child(&self.syntax)
2613 }
2614 #[inline]
2615 pub fn path(&self) -> Option<Path> {
2616 support::child(&self.syntax)
2617 }
2618 #[inline]
2619 pub fn table_arg_list(&self) -> Option<TableArgList> {
2620 support::child(&self.syntax)
2621 }
2622 #[inline]
2623 pub fn tablespace(&self) -> Option<Tablespace> {
2624 support::child(&self.syntax)
2625 }
2626 #[inline]
2627 pub fn using_method(&self) -> Option<UsingMethod> {
2628 support::child(&self.syntax)
2629 }
2630 #[inline]
2631 pub fn with_params(&self) -> Option<WithParams> {
2632 support::child(&self.syntax)
2633 }
2634 #[inline]
2635 pub fn without_oids(&self) -> Option<WithoutOids> {
2636 support::child(&self.syntax)
2637 }
2638 #[inline]
2639 pub fn create_token(&self) -> Option<SyntaxToken> {
2640 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2641 }
2642 #[inline]
2643 pub fn table_token(&self) -> Option<SyntaxToken> {
2644 support::token(&self.syntax, SyntaxKind::TABLE_KW)
2645 }
2646}
2647
2648#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2649pub struct CreateTableAs {
2650 pub(crate) syntax: SyntaxNode,
2651}
2652impl CreateTableAs {
2653 #[inline]
2654 pub fn if_not_exists(&self) -> Option<IfNotExists> {
2655 support::child(&self.syntax)
2656 }
2657 #[inline]
2658 pub fn on_commit(&self) -> Option<OnCommit> {
2659 support::child(&self.syntax)
2660 }
2661 #[inline]
2662 pub fn path(&self) -> Option<Path> {
2663 support::child(&self.syntax)
2664 }
2665 #[inline]
2666 pub fn stmt(&self) -> Option<Stmt> {
2667 support::child(&self.syntax)
2668 }
2669 #[inline]
2670 pub fn tablespace(&self) -> Option<Tablespace> {
2671 support::child(&self.syntax)
2672 }
2673 #[inline]
2674 pub fn using_method(&self) -> Option<UsingMethod> {
2675 support::child(&self.syntax)
2676 }
2677 #[inline]
2678 pub fn with_data(&self) -> Option<WithData> {
2679 support::child(&self.syntax)
2680 }
2681 #[inline]
2682 pub fn with_no_data(&self) -> Option<WithNoData> {
2683 support::child(&self.syntax)
2684 }
2685 #[inline]
2686 pub fn with_params(&self) -> Option<WithParams> {
2687 support::child(&self.syntax)
2688 }
2689 #[inline]
2690 pub fn as_token(&self) -> Option<SyntaxToken> {
2691 support::token(&self.syntax, SyntaxKind::AS_KW)
2692 }
2693 #[inline]
2694 pub fn create_token(&self) -> Option<SyntaxToken> {
2695 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2696 }
2697 #[inline]
2698 pub fn table_token(&self) -> Option<SyntaxToken> {
2699 support::token(&self.syntax, SyntaxKind::TABLE_KW)
2700 }
2701}
2702
2703#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2704pub struct CreateTablespace {
2705 pub(crate) syntax: SyntaxNode,
2706}
2707impl CreateTablespace {
2708 #[inline]
2709 pub fn name_ref(&self) -> Option<NameRef> {
2710 support::child(&self.syntax)
2711 }
2712 #[inline]
2713 pub fn create_token(&self) -> Option<SyntaxToken> {
2714 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2715 }
2716 #[inline]
2717 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
2718 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
2719 }
2720}
2721
2722#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2723pub struct CreateTextSearchConfiguration {
2724 pub(crate) syntax: SyntaxNode,
2725}
2726impl CreateTextSearchConfiguration {
2727 #[inline]
2728 pub fn attribute_list(&self) -> Option<AttributeList> {
2729 support::child(&self.syntax)
2730 }
2731 #[inline]
2732 pub fn name_ref(&self) -> Option<NameRef> {
2733 support::child(&self.syntax)
2734 }
2735 #[inline]
2736 pub fn configuration_token(&self) -> Option<SyntaxToken> {
2737 support::token(&self.syntax, SyntaxKind::CONFIGURATION_KW)
2738 }
2739 #[inline]
2740 pub fn create_token(&self) -> Option<SyntaxToken> {
2741 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2742 }
2743 #[inline]
2744 pub fn search_token(&self) -> Option<SyntaxToken> {
2745 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
2746 }
2747 #[inline]
2748 pub fn text_token(&self) -> Option<SyntaxToken> {
2749 support::token(&self.syntax, SyntaxKind::TEXT_KW)
2750 }
2751}
2752
2753#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2754pub struct CreateTextSearchDictionary {
2755 pub(crate) syntax: SyntaxNode,
2756}
2757impl CreateTextSearchDictionary {
2758 #[inline]
2759 pub fn name_ref(&self) -> Option<NameRef> {
2760 support::child(&self.syntax)
2761 }
2762 #[inline]
2763 pub fn create_token(&self) -> Option<SyntaxToken> {
2764 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2765 }
2766 #[inline]
2767 pub fn dictionary_token(&self) -> Option<SyntaxToken> {
2768 support::token(&self.syntax, SyntaxKind::DICTIONARY_KW)
2769 }
2770 #[inline]
2771 pub fn search_token(&self) -> Option<SyntaxToken> {
2772 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
2773 }
2774 #[inline]
2775 pub fn text_token(&self) -> Option<SyntaxToken> {
2776 support::token(&self.syntax, SyntaxKind::TEXT_KW)
2777 }
2778}
2779
2780#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2781pub struct CreateTextSearchParser {
2782 pub(crate) syntax: SyntaxNode,
2783}
2784impl CreateTextSearchParser {
2785 #[inline]
2786 pub fn name_ref(&self) -> Option<NameRef> {
2787 support::child(&self.syntax)
2788 }
2789 #[inline]
2790 pub fn create_token(&self) -> Option<SyntaxToken> {
2791 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2792 }
2793 #[inline]
2794 pub fn parser_token(&self) -> Option<SyntaxToken> {
2795 support::token(&self.syntax, SyntaxKind::PARSER_KW)
2796 }
2797 #[inline]
2798 pub fn search_token(&self) -> Option<SyntaxToken> {
2799 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
2800 }
2801 #[inline]
2802 pub fn text_token(&self) -> Option<SyntaxToken> {
2803 support::token(&self.syntax, SyntaxKind::TEXT_KW)
2804 }
2805}
2806
2807#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2808pub struct CreateTextSearchTemplate {
2809 pub(crate) syntax: SyntaxNode,
2810}
2811impl CreateTextSearchTemplate {
2812 #[inline]
2813 pub fn name_ref(&self) -> Option<NameRef> {
2814 support::child(&self.syntax)
2815 }
2816 #[inline]
2817 pub fn create_token(&self) -> Option<SyntaxToken> {
2818 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2819 }
2820 #[inline]
2821 pub fn search_token(&self) -> Option<SyntaxToken> {
2822 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
2823 }
2824 #[inline]
2825 pub fn template_token(&self) -> Option<SyntaxToken> {
2826 support::token(&self.syntax, SyntaxKind::TEMPLATE_KW)
2827 }
2828 #[inline]
2829 pub fn text_token(&self) -> Option<SyntaxToken> {
2830 support::token(&self.syntax, SyntaxKind::TEXT_KW)
2831 }
2832}
2833
2834#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2835pub struct CreateTransform {
2836 pub(crate) syntax: SyntaxNode,
2837}
2838impl CreateTransform {
2839 #[inline]
2840 pub fn name_ref(&self) -> Option<NameRef> {
2841 support::child(&self.syntax)
2842 }
2843 #[inline]
2844 pub fn ty(&self) -> Option<Type> {
2845 support::child(&self.syntax)
2846 }
2847 #[inline]
2848 pub fn create_token(&self) -> Option<SyntaxToken> {
2849 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2850 }
2851 #[inline]
2852 pub fn for_token(&self) -> Option<SyntaxToken> {
2853 support::token(&self.syntax, SyntaxKind::FOR_KW)
2854 }
2855 #[inline]
2856 pub fn language_token(&self) -> Option<SyntaxToken> {
2857 support::token(&self.syntax, SyntaxKind::LANGUAGE_KW)
2858 }
2859 #[inline]
2860 pub fn transform_token(&self) -> Option<SyntaxToken> {
2861 support::token(&self.syntax, SyntaxKind::TRANSFORM_KW)
2862 }
2863}
2864
2865#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2866pub struct CreateTrigger {
2867 pub(crate) syntax: SyntaxNode,
2868}
2869impl CreateTrigger {
2870 #[inline]
2871 pub fn create_token(&self) -> Option<SyntaxToken> {
2872 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2873 }
2874}
2875
2876#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2877pub struct CreateType {
2878 pub(crate) syntax: SyntaxNode,
2879}
2880impl CreateType {
2881 #[inline]
2882 pub fn ty(&self) -> Option<Type> {
2883 support::child(&self.syntax)
2884 }
2885 #[inline]
2886 pub fn variant_list(&self) -> Option<VariantList> {
2887 support::child(&self.syntax)
2888 }
2889 #[inline]
2890 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
2891 support::token(&self.syntax, SyntaxKind::L_PAREN)
2892 }
2893 #[inline]
2894 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
2895 support::token(&self.syntax, SyntaxKind::R_PAREN)
2896 }
2897 #[inline]
2898 pub fn as_token(&self) -> Option<SyntaxToken> {
2899 support::token(&self.syntax, SyntaxKind::AS_KW)
2900 }
2901 #[inline]
2902 pub fn create_token(&self) -> Option<SyntaxToken> {
2903 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2904 }
2905 #[inline]
2906 pub fn enum_token(&self) -> Option<SyntaxToken> {
2907 support::token(&self.syntax, SyntaxKind::ENUM_KW)
2908 }
2909 #[inline]
2910 pub fn range_token(&self) -> Option<SyntaxToken> {
2911 support::token(&self.syntax, SyntaxKind::RANGE_KW)
2912 }
2913 #[inline]
2914 pub fn type_token(&self) -> Option<SyntaxToken> {
2915 support::token(&self.syntax, SyntaxKind::TYPE_KW)
2916 }
2917}
2918
2919#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2920pub struct CreateUser {
2921 pub(crate) syntax: SyntaxNode,
2922}
2923impl CreateUser {
2924 #[inline]
2925 pub fn name_ref(&self) -> Option<NameRef> {
2926 support::child(&self.syntax)
2927 }
2928 #[inline]
2929 pub fn create_token(&self) -> Option<SyntaxToken> {
2930 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2931 }
2932 #[inline]
2933 pub fn user_token(&self) -> Option<SyntaxToken> {
2934 support::token(&self.syntax, SyntaxKind::USER_KW)
2935 }
2936}
2937
2938#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2939pub struct CreateUserMapping {
2940 pub(crate) syntax: SyntaxNode,
2941}
2942impl CreateUserMapping {
2943 #[inline]
2944 pub fn name_ref(&self) -> Option<NameRef> {
2945 support::child(&self.syntax)
2946 }
2947 #[inline]
2948 pub fn create_token(&self) -> Option<SyntaxToken> {
2949 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2950 }
2951 #[inline]
2952 pub fn for_token(&self) -> Option<SyntaxToken> {
2953 support::token(&self.syntax, SyntaxKind::FOR_KW)
2954 }
2955 #[inline]
2956 pub fn mapping_token(&self) -> Option<SyntaxToken> {
2957 support::token(&self.syntax, SyntaxKind::MAPPING_KW)
2958 }
2959 #[inline]
2960 pub fn server_token(&self) -> Option<SyntaxToken> {
2961 support::token(&self.syntax, SyntaxKind::SERVER_KW)
2962 }
2963 #[inline]
2964 pub fn user_token(&self) -> Option<SyntaxToken> {
2965 support::token(&self.syntax, SyntaxKind::USER_KW)
2966 }
2967}
2968
2969#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2970pub struct CreateView {
2971 pub(crate) syntax: SyntaxNode,
2972}
2973impl CreateView {
2974 #[inline]
2975 pub fn name_ref(&self) -> Option<NameRef> {
2976 support::child(&self.syntax)
2977 }
2978 #[inline]
2979 pub fn create_token(&self) -> Option<SyntaxToken> {
2980 support::token(&self.syntax, SyntaxKind::CREATE_KW)
2981 }
2982 #[inline]
2983 pub fn view_token(&self) -> Option<SyntaxToken> {
2984 support::token(&self.syntax, SyntaxKind::VIEW_KW)
2985 }
2986}
2987
2988#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2989pub struct CustomOp {
2990 pub(crate) syntax: SyntaxNode,
2991}
2992impl CustomOp {
2993 #[inline]
2994 pub fn bang_token(&self) -> Option<SyntaxToken> {
2995 support::token(&self.syntax, SyntaxKind::BANG)
2996 }
2997 #[inline]
2998 pub fn pound_token(&self) -> Option<SyntaxToken> {
2999 support::token(&self.syntax, SyntaxKind::POUND)
3000 }
3001 #[inline]
3002 pub fn percent_token(&self) -> Option<SyntaxToken> {
3003 support::token(&self.syntax, SyntaxKind::PERCENT)
3004 }
3005 #[inline]
3006 pub fn amp_token(&self) -> Option<SyntaxToken> {
3007 support::token(&self.syntax, SyntaxKind::AMP)
3008 }
3009 #[inline]
3010 pub fn star_token(&self) -> Option<SyntaxToken> {
3011 support::token(&self.syntax, SyntaxKind::STAR)
3012 }
3013 #[inline]
3014 pub fn plus_token(&self) -> Option<SyntaxToken> {
3015 support::token(&self.syntax, SyntaxKind::PLUS)
3016 }
3017 #[inline]
3018 pub fn minus_token(&self) -> Option<SyntaxToken> {
3019 support::token(&self.syntax, SyntaxKind::MINUS)
3020 }
3021 #[inline]
3022 pub fn slash_token(&self) -> Option<SyntaxToken> {
3023 support::token(&self.syntax, SyntaxKind::SLASH)
3024 }
3025 #[inline]
3026 pub fn l_angle_token(&self) -> Option<SyntaxToken> {
3027 support::token(&self.syntax, SyntaxKind::L_ANGLE)
3028 }
3029 #[inline]
3030 pub fn eq_token(&self) -> Option<SyntaxToken> {
3031 support::token(&self.syntax, SyntaxKind::EQ)
3032 }
3033 #[inline]
3034 pub fn r_angle_token(&self) -> Option<SyntaxToken> {
3035 support::token(&self.syntax, SyntaxKind::R_ANGLE)
3036 }
3037 #[inline]
3038 pub fn question_token(&self) -> Option<SyntaxToken> {
3039 support::token(&self.syntax, SyntaxKind::QUESTION)
3040 }
3041 #[inline]
3042 pub fn at_token(&self) -> Option<SyntaxToken> {
3043 support::token(&self.syntax, SyntaxKind::AT)
3044 }
3045 #[inline]
3046 pub fn caret_token(&self) -> Option<SyntaxToken> {
3047 support::token(&self.syntax, SyntaxKind::CARET)
3048 }
3049 #[inline]
3050 pub fn backtick_token(&self) -> Option<SyntaxToken> {
3051 support::token(&self.syntax, SyntaxKind::BACKTICK)
3052 }
3053 #[inline]
3054 pub fn pipe_token(&self) -> Option<SyntaxToken> {
3055 support::token(&self.syntax, SyntaxKind::PIPE)
3056 }
3057 #[inline]
3058 pub fn tilde_token(&self) -> Option<SyntaxToken> {
3059 support::token(&self.syntax, SyntaxKind::TILDE)
3060 }
3061}
3062
3063#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3064pub struct Deallocate {
3065 pub(crate) syntax: SyntaxNode,
3066}
3067impl Deallocate {
3068 #[inline]
3069 pub fn name_ref(&self) -> Option<NameRef> {
3070 support::child(&self.syntax)
3071 }
3072 #[inline]
3073 pub fn all_token(&self) -> Option<SyntaxToken> {
3074 support::token(&self.syntax, SyntaxKind::ALL_KW)
3075 }
3076 #[inline]
3077 pub fn deallocate_token(&self) -> Option<SyntaxToken> {
3078 support::token(&self.syntax, SyntaxKind::DEALLOCATE_KW)
3079 }
3080 #[inline]
3081 pub fn prepare_token(&self) -> Option<SyntaxToken> {
3082 support::token(&self.syntax, SyntaxKind::PREPARE_KW)
3083 }
3084}
3085
3086#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3087pub struct Declare {
3088 pub(crate) syntax: SyntaxNode,
3089}
3090impl Declare {
3091 #[inline]
3092 pub fn declare_token(&self) -> Option<SyntaxToken> {
3093 support::token(&self.syntax, SyntaxKind::DECLARE_KW)
3094 }
3095}
3096
3097#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3098pub struct DefaultConstraint {
3099 pub(crate) syntax: SyntaxNode,
3100}
3101impl DefaultConstraint {
3102 #[inline]
3103 pub fn expr(&self) -> Option<Expr> {
3104 support::child(&self.syntax)
3105 }
3106 #[inline]
3107 pub fn name_ref(&self) -> Option<NameRef> {
3108 support::child(&self.syntax)
3109 }
3110 #[inline]
3111 pub fn constraint_token(&self) -> Option<SyntaxToken> {
3112 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
3113 }
3114 #[inline]
3115 pub fn default_token(&self) -> Option<SyntaxToken> {
3116 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
3117 }
3118}
3119
3120#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3121pub struct Deferrable {
3122 pub(crate) syntax: SyntaxNode,
3123}
3124impl Deferrable {
3125 #[inline]
3126 pub fn deferrable_token(&self) -> Option<SyntaxToken> {
3127 support::token(&self.syntax, SyntaxKind::DEFERRABLE_KW)
3128 }
3129}
3130
3131#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3132pub struct DeferrableConstraintOption {
3133 pub(crate) syntax: SyntaxNode,
3134}
3135impl DeferrableConstraintOption {
3136 #[inline]
3137 pub fn deferrable_token(&self) -> Option<SyntaxToken> {
3138 support::token(&self.syntax, SyntaxKind::DEFERRABLE_KW)
3139 }
3140}
3141
3142#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3143pub struct Delete {
3144 pub(crate) syntax: SyntaxNode,
3145}
3146impl Delete {
3147 #[inline]
3148 pub fn alias(&self) -> Option<Alias> {
3149 support::child(&self.syntax)
3150 }
3151 #[inline]
3152 pub fn expr(&self) -> Option<Expr> {
3153 support::child(&self.syntax)
3154 }
3155 #[inline]
3156 pub fn name_ref(&self) -> Option<NameRef> {
3157 support::child(&self.syntax)
3158 }
3159 #[inline]
3160 pub fn relation_name(&self) -> Option<RelationName> {
3161 support::child(&self.syntax)
3162 }
3163 #[inline]
3164 pub fn returning_clause(&self) -> Option<ReturningClause> {
3165 support::child(&self.syntax)
3166 }
3167 #[inline]
3168 pub fn using_clause(&self) -> Option<UsingClause> {
3169 support::child(&self.syntax)
3170 }
3171 #[inline]
3172 pub fn current_token(&self) -> Option<SyntaxToken> {
3173 support::token(&self.syntax, SyntaxKind::CURRENT_KW)
3174 }
3175 #[inline]
3176 pub fn delete_token(&self) -> Option<SyntaxToken> {
3177 support::token(&self.syntax, SyntaxKind::DELETE_KW)
3178 }
3179 #[inline]
3180 pub fn from_token(&self) -> Option<SyntaxToken> {
3181 support::token(&self.syntax, SyntaxKind::FROM_KW)
3182 }
3183 #[inline]
3184 pub fn of_token(&self) -> Option<SyntaxToken> {
3185 support::token(&self.syntax, SyntaxKind::OF_KW)
3186 }
3187 #[inline]
3188 pub fn where_token(&self) -> Option<SyntaxToken> {
3189 support::token(&self.syntax, SyntaxKind::WHERE_KW)
3190 }
3191}
3192
3193#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3194pub struct DeleteRows {
3195 pub(crate) syntax: SyntaxNode,
3196}
3197impl DeleteRows {
3198 #[inline]
3199 pub fn delete_token(&self) -> Option<SyntaxToken> {
3200 support::token(&self.syntax, SyntaxKind::DELETE_KW)
3201 }
3202 #[inline]
3203 pub fn rows_token(&self) -> Option<SyntaxToken> {
3204 support::token(&self.syntax, SyntaxKind::ROWS_KW)
3205 }
3206}
3207
3208#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3209pub struct DetachPartition {
3210 pub(crate) syntax: SyntaxNode,
3211}
3212impl DetachPartition {
3213 #[inline]
3214 pub fn detach_token(&self) -> Option<SyntaxToken> {
3215 support::token(&self.syntax, SyntaxKind::DETACH_KW)
3216 }
3217 #[inline]
3218 pub fn partition_token(&self) -> Option<SyntaxToken> {
3219 support::token(&self.syntax, SyntaxKind::PARTITION_KW)
3220 }
3221}
3222
3223#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3224pub struct DisableRls {
3225 pub(crate) syntax: SyntaxNode,
3226}
3227impl DisableRls {
3228 #[inline]
3229 pub fn disable_token(&self) -> Option<SyntaxToken> {
3230 support::token(&self.syntax, SyntaxKind::DISABLE_KW)
3231 }
3232 #[inline]
3233 pub fn level_token(&self) -> Option<SyntaxToken> {
3234 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
3235 }
3236 #[inline]
3237 pub fn row_token(&self) -> Option<SyntaxToken> {
3238 support::token(&self.syntax, SyntaxKind::ROW_KW)
3239 }
3240 #[inline]
3241 pub fn security_token(&self) -> Option<SyntaxToken> {
3242 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
3243 }
3244}
3245
3246#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3247pub struct DisableRule {
3248 pub(crate) syntax: SyntaxNode,
3249}
3250impl DisableRule {
3251 #[inline]
3252 pub fn disable_token(&self) -> Option<SyntaxToken> {
3253 support::token(&self.syntax, SyntaxKind::DISABLE_KW)
3254 }
3255 #[inline]
3256 pub fn rule_token(&self) -> Option<SyntaxToken> {
3257 support::token(&self.syntax, SyntaxKind::RULE_KW)
3258 }
3259}
3260
3261#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3262pub struct DisableTrigger {
3263 pub(crate) syntax: SyntaxNode,
3264}
3265impl DisableTrigger {
3266 #[inline]
3267 pub fn disable_token(&self) -> Option<SyntaxToken> {
3268 support::token(&self.syntax, SyntaxKind::DISABLE_KW)
3269 }
3270 #[inline]
3271 pub fn trigger_token(&self) -> Option<SyntaxToken> {
3272 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
3273 }
3274}
3275
3276#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3277pub struct Discard {
3278 pub(crate) syntax: SyntaxNode,
3279}
3280impl Discard {
3281 #[inline]
3282 pub fn all_token(&self) -> Option<SyntaxToken> {
3283 support::token(&self.syntax, SyntaxKind::ALL_KW)
3284 }
3285 #[inline]
3286 pub fn discard_token(&self) -> Option<SyntaxToken> {
3287 support::token(&self.syntax, SyntaxKind::DISCARD_KW)
3288 }
3289 #[inline]
3290 pub fn plans_token(&self) -> Option<SyntaxToken> {
3291 support::token(&self.syntax, SyntaxKind::PLANS_KW)
3292 }
3293 #[inline]
3294 pub fn sequences_token(&self) -> Option<SyntaxToken> {
3295 support::token(&self.syntax, SyntaxKind::SEQUENCES_KW)
3296 }
3297 #[inline]
3298 pub fn temp_token(&self) -> Option<SyntaxToken> {
3299 support::token(&self.syntax, SyntaxKind::TEMP_KW)
3300 }
3301 #[inline]
3302 pub fn temporary_token(&self) -> Option<SyntaxToken> {
3303 support::token(&self.syntax, SyntaxKind::TEMPORARY_KW)
3304 }
3305}
3306
3307#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3308pub struct DistinctClause {
3309 pub(crate) syntax: SyntaxNode,
3310}
3311impl DistinctClause {
3312 #[inline]
3313 pub fn exprs(&self) -> AstChildren<Expr> {
3314 support::children(&self.syntax)
3315 }
3316 #[inline]
3317 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
3318 support::token(&self.syntax, SyntaxKind::L_PAREN)
3319 }
3320 #[inline]
3321 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
3322 support::token(&self.syntax, SyntaxKind::R_PAREN)
3323 }
3324 #[inline]
3325 pub fn distinct_token(&self) -> Option<SyntaxToken> {
3326 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
3327 }
3328 #[inline]
3329 pub fn on_token(&self) -> Option<SyntaxToken> {
3330 support::token(&self.syntax, SyntaxKind::ON_KW)
3331 }
3332}
3333
3334#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3335pub struct Do {
3336 pub(crate) syntax: SyntaxNode,
3337}
3338impl Do {
3339 #[inline]
3340 pub fn do_token(&self) -> Option<SyntaxToken> {
3341 support::token(&self.syntax, SyntaxKind::DO_KW)
3342 }
3343}
3344
3345#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3346pub struct DoubleType {
3347 pub(crate) syntax: SyntaxNode,
3348}
3349impl DoubleType {
3350 #[inline]
3351 pub fn double_token(&self) -> Option<SyntaxToken> {
3352 support::token(&self.syntax, SyntaxKind::DOUBLE_KW)
3353 }
3354 #[inline]
3355 pub fn precision_token(&self) -> Option<SyntaxToken> {
3356 support::token(&self.syntax, SyntaxKind::PRECISION_KW)
3357 }
3358}
3359
3360#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3361pub struct Drop {
3362 pub(crate) syntax: SyntaxNode,
3363}
3364impl Drop {
3365 #[inline]
3366 pub fn drop_token(&self) -> Option<SyntaxToken> {
3367 support::token(&self.syntax, SyntaxKind::DROP_KW)
3368 }
3369}
3370
3371#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3372pub struct DropAccessMethod {
3373 pub(crate) syntax: SyntaxNode,
3374}
3375impl DropAccessMethod {
3376 #[inline]
3377 pub fn if_exists(&self) -> Option<IfExists> {
3378 support::child(&self.syntax)
3379 }
3380 #[inline]
3381 pub fn name_ref(&self) -> Option<NameRef> {
3382 support::child(&self.syntax)
3383 }
3384 #[inline]
3385 pub fn access_token(&self) -> Option<SyntaxToken> {
3386 support::token(&self.syntax, SyntaxKind::ACCESS_KW)
3387 }
3388 #[inline]
3389 pub fn drop_token(&self) -> Option<SyntaxToken> {
3390 support::token(&self.syntax, SyntaxKind::DROP_KW)
3391 }
3392 #[inline]
3393 pub fn method_token(&self) -> Option<SyntaxToken> {
3394 support::token(&self.syntax, SyntaxKind::METHOD_KW)
3395 }
3396}
3397
3398#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3399pub struct DropAggregate {
3400 pub(crate) syntax: SyntaxNode,
3401}
3402impl DropAggregate {
3403 #[inline]
3404 pub fn aggregates(&self) -> AstChildren<Aggregate> {
3405 support::children(&self.syntax)
3406 }
3407 #[inline]
3408 pub fn if_exists(&self) -> Option<IfExists> {
3409 support::child(&self.syntax)
3410 }
3411 #[inline]
3412 pub fn aggregate_token(&self) -> Option<SyntaxToken> {
3413 support::token(&self.syntax, SyntaxKind::AGGREGATE_KW)
3414 }
3415 #[inline]
3416 pub fn drop_token(&self) -> Option<SyntaxToken> {
3417 support::token(&self.syntax, SyntaxKind::DROP_KW)
3418 }
3419}
3420
3421#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3422pub struct DropCast {
3423 pub(crate) syntax: SyntaxNode,
3424}
3425impl DropCast {
3426 #[inline]
3427 pub fn if_exists(&self) -> Option<IfExists> {
3428 support::child(&self.syntax)
3429 }
3430 #[inline]
3431 pub fn ty(&self) -> Option<Type> {
3432 support::child(&self.syntax)
3433 }
3434 #[inline]
3435 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
3436 support::token(&self.syntax, SyntaxKind::L_PAREN)
3437 }
3438 #[inline]
3439 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
3440 support::token(&self.syntax, SyntaxKind::R_PAREN)
3441 }
3442 #[inline]
3443 pub fn as_token(&self) -> Option<SyntaxToken> {
3444 support::token(&self.syntax, SyntaxKind::AS_KW)
3445 }
3446 #[inline]
3447 pub fn cast_token(&self) -> Option<SyntaxToken> {
3448 support::token(&self.syntax, SyntaxKind::CAST_KW)
3449 }
3450 #[inline]
3451 pub fn drop_token(&self) -> Option<SyntaxToken> {
3452 support::token(&self.syntax, SyntaxKind::DROP_KW)
3453 }
3454}
3455
3456#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3457pub struct DropCollation {
3458 pub(crate) syntax: SyntaxNode,
3459}
3460impl DropCollation {
3461 #[inline]
3462 pub fn if_exists(&self) -> Option<IfExists> {
3463 support::child(&self.syntax)
3464 }
3465 #[inline]
3466 pub fn name_ref(&self) -> Option<NameRef> {
3467 support::child(&self.syntax)
3468 }
3469 #[inline]
3470 pub fn collation_token(&self) -> Option<SyntaxToken> {
3471 support::token(&self.syntax, SyntaxKind::COLLATION_KW)
3472 }
3473 #[inline]
3474 pub fn drop_token(&self) -> Option<SyntaxToken> {
3475 support::token(&self.syntax, SyntaxKind::DROP_KW)
3476 }
3477}
3478
3479#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3480pub struct DropColumn {
3481 pub(crate) syntax: SyntaxNode,
3482}
3483impl DropColumn {
3484 #[inline]
3485 pub fn if_exists(&self) -> Option<IfExists> {
3486 support::child(&self.syntax)
3487 }
3488 #[inline]
3489 pub fn column_token(&self) -> Option<SyntaxToken> {
3490 support::token(&self.syntax, SyntaxKind::COLUMN_KW)
3491 }
3492 #[inline]
3493 pub fn drop_token(&self) -> Option<SyntaxToken> {
3494 support::token(&self.syntax, SyntaxKind::DROP_KW)
3495 }
3496}
3497
3498#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3499pub struct DropConstraint {
3500 pub(crate) syntax: SyntaxNode,
3501}
3502impl DropConstraint {
3503 #[inline]
3504 pub fn if_exists(&self) -> Option<IfExists> {
3505 support::child(&self.syntax)
3506 }
3507 #[inline]
3508 pub fn name_ref(&self) -> Option<NameRef> {
3509 support::child(&self.syntax)
3510 }
3511 #[inline]
3512 pub fn cascade_token(&self) -> Option<SyntaxToken> {
3513 support::token(&self.syntax, SyntaxKind::CASCADE_KW)
3514 }
3515 #[inline]
3516 pub fn constraint_token(&self) -> Option<SyntaxToken> {
3517 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
3518 }
3519 #[inline]
3520 pub fn drop_token(&self) -> Option<SyntaxToken> {
3521 support::token(&self.syntax, SyntaxKind::DROP_KW)
3522 }
3523 #[inline]
3524 pub fn restrict_token(&self) -> Option<SyntaxToken> {
3525 support::token(&self.syntax, SyntaxKind::RESTRICT_KW)
3526 }
3527}
3528
3529#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3530pub struct DropConversion {
3531 pub(crate) syntax: SyntaxNode,
3532}
3533impl DropConversion {
3534 #[inline]
3535 pub fn if_exists(&self) -> Option<IfExists> {
3536 support::child(&self.syntax)
3537 }
3538 #[inline]
3539 pub fn name_ref(&self) -> Option<NameRef> {
3540 support::child(&self.syntax)
3541 }
3542 #[inline]
3543 pub fn conversion_token(&self) -> Option<SyntaxToken> {
3544 support::token(&self.syntax, SyntaxKind::CONVERSION_KW)
3545 }
3546 #[inline]
3547 pub fn drop_token(&self) -> Option<SyntaxToken> {
3548 support::token(&self.syntax, SyntaxKind::DROP_KW)
3549 }
3550}
3551
3552#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3553pub struct DropDatabase {
3554 pub(crate) syntax: SyntaxNode,
3555}
3556impl DropDatabase {
3557 #[inline]
3558 pub fn if_exists(&self) -> Option<IfExists> {
3559 support::child(&self.syntax)
3560 }
3561 #[inline]
3562 pub fn name_ref(&self) -> Option<NameRef> {
3563 support::child(&self.syntax)
3564 }
3565 #[inline]
3566 pub fn database_token(&self) -> Option<SyntaxToken> {
3567 support::token(&self.syntax, SyntaxKind::DATABASE_KW)
3568 }
3569 #[inline]
3570 pub fn drop_token(&self) -> Option<SyntaxToken> {
3571 support::token(&self.syntax, SyntaxKind::DROP_KW)
3572 }
3573}
3574
3575#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3576pub struct DropDefault {
3577 pub(crate) syntax: SyntaxNode,
3578}
3579impl DropDefault {
3580 #[inline]
3581 pub fn default_token(&self) -> Option<SyntaxToken> {
3582 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
3583 }
3584 #[inline]
3585 pub fn drop_token(&self) -> Option<SyntaxToken> {
3586 support::token(&self.syntax, SyntaxKind::DROP_KW)
3587 }
3588}
3589
3590#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3591pub struct DropDomain {
3592 pub(crate) syntax: SyntaxNode,
3593}
3594impl DropDomain {
3595 #[inline]
3596 pub fn if_exists(&self) -> Option<IfExists> {
3597 support::child(&self.syntax)
3598 }
3599 #[inline]
3600 pub fn types(&self) -> AstChildren<Type> {
3601 support::children(&self.syntax)
3602 }
3603 #[inline]
3604 pub fn domain_token(&self) -> Option<SyntaxToken> {
3605 support::token(&self.syntax, SyntaxKind::DOMAIN_KW)
3606 }
3607 #[inline]
3608 pub fn drop_token(&self) -> Option<SyntaxToken> {
3609 support::token(&self.syntax, SyntaxKind::DROP_KW)
3610 }
3611}
3612
3613#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3614pub struct DropEventTrigger {
3615 pub(crate) syntax: SyntaxNode,
3616}
3617impl DropEventTrigger {
3618 #[inline]
3619 pub fn if_exists(&self) -> Option<IfExists> {
3620 support::child(&self.syntax)
3621 }
3622 #[inline]
3623 pub fn name_ref(&self) -> Option<NameRef> {
3624 support::child(&self.syntax)
3625 }
3626 #[inline]
3627 pub fn drop_token(&self) -> Option<SyntaxToken> {
3628 support::token(&self.syntax, SyntaxKind::DROP_KW)
3629 }
3630 #[inline]
3631 pub fn event_token(&self) -> Option<SyntaxToken> {
3632 support::token(&self.syntax, SyntaxKind::EVENT_KW)
3633 }
3634 #[inline]
3635 pub fn trigger_token(&self) -> Option<SyntaxToken> {
3636 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
3637 }
3638}
3639
3640#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3641pub struct DropExpression {
3642 pub(crate) syntax: SyntaxNode,
3643}
3644impl DropExpression {
3645 #[inline]
3646 pub fn if_exists(&self) -> Option<IfExists> {
3647 support::child(&self.syntax)
3648 }
3649 #[inline]
3650 pub fn drop_token(&self) -> Option<SyntaxToken> {
3651 support::token(&self.syntax, SyntaxKind::DROP_KW)
3652 }
3653 #[inline]
3654 pub fn expression_token(&self) -> Option<SyntaxToken> {
3655 support::token(&self.syntax, SyntaxKind::EXPRESSION_KW)
3656 }
3657}
3658
3659#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3660pub struct DropExtension {
3661 pub(crate) syntax: SyntaxNode,
3662}
3663impl DropExtension {
3664 #[inline]
3665 pub fn if_exists(&self) -> Option<IfExists> {
3666 support::child(&self.syntax)
3667 }
3668 #[inline]
3669 pub fn name_refs(&self) -> AstChildren<NameRef> {
3670 support::children(&self.syntax)
3671 }
3672 #[inline]
3673 pub fn drop_token(&self) -> Option<SyntaxToken> {
3674 support::token(&self.syntax, SyntaxKind::DROP_KW)
3675 }
3676 #[inline]
3677 pub fn extension_token(&self) -> Option<SyntaxToken> {
3678 support::token(&self.syntax, SyntaxKind::EXTENSION_KW)
3679 }
3680}
3681
3682#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3683pub struct DropForeignDataWrapper {
3684 pub(crate) syntax: SyntaxNode,
3685}
3686impl DropForeignDataWrapper {
3687 #[inline]
3688 pub fn if_exists(&self) -> Option<IfExists> {
3689 support::child(&self.syntax)
3690 }
3691 #[inline]
3692 pub fn name_ref(&self) -> Option<NameRef> {
3693 support::child(&self.syntax)
3694 }
3695 #[inline]
3696 pub fn data_token(&self) -> Option<SyntaxToken> {
3697 support::token(&self.syntax, SyntaxKind::DATA_KW)
3698 }
3699 #[inline]
3700 pub fn drop_token(&self) -> Option<SyntaxToken> {
3701 support::token(&self.syntax, SyntaxKind::DROP_KW)
3702 }
3703 #[inline]
3704 pub fn foreign_token(&self) -> Option<SyntaxToken> {
3705 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
3706 }
3707 #[inline]
3708 pub fn wrapper_token(&self) -> Option<SyntaxToken> {
3709 support::token(&self.syntax, SyntaxKind::WRAPPER_KW)
3710 }
3711}
3712
3713#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3714pub struct DropForeignTable {
3715 pub(crate) syntax: SyntaxNode,
3716}
3717impl DropForeignTable {
3718 #[inline]
3719 pub fn if_exists(&self) -> Option<IfExists> {
3720 support::child(&self.syntax)
3721 }
3722 #[inline]
3723 pub fn drop_token(&self) -> Option<SyntaxToken> {
3724 support::token(&self.syntax, SyntaxKind::DROP_KW)
3725 }
3726 #[inline]
3727 pub fn foreign_token(&self) -> Option<SyntaxToken> {
3728 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
3729 }
3730 #[inline]
3731 pub fn table_token(&self) -> Option<SyntaxToken> {
3732 support::token(&self.syntax, SyntaxKind::TABLE_KW)
3733 }
3734}
3735
3736#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3737pub struct DropFunction {
3738 pub(crate) syntax: SyntaxNode,
3739}
3740impl DropFunction {
3741 #[inline]
3742 pub fn if_exists(&self) -> Option<IfExists> {
3743 support::child(&self.syntax)
3744 }
3745 #[inline]
3746 pub fn drop_token(&self) -> Option<SyntaxToken> {
3747 support::token(&self.syntax, SyntaxKind::DROP_KW)
3748 }
3749 #[inline]
3750 pub fn function_token(&self) -> Option<SyntaxToken> {
3751 support::token(&self.syntax, SyntaxKind::FUNCTION_KW)
3752 }
3753}
3754
3755#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3756pub struct DropGroup {
3757 pub(crate) syntax: SyntaxNode,
3758}
3759impl DropGroup {
3760 #[inline]
3761 pub fn if_exists(&self) -> Option<IfExists> {
3762 support::child(&self.syntax)
3763 }
3764 #[inline]
3765 pub fn name_ref(&self) -> Option<NameRef> {
3766 support::child(&self.syntax)
3767 }
3768 #[inline]
3769 pub fn drop_token(&self) -> Option<SyntaxToken> {
3770 support::token(&self.syntax, SyntaxKind::DROP_KW)
3771 }
3772 #[inline]
3773 pub fn group_token(&self) -> Option<SyntaxToken> {
3774 support::token(&self.syntax, SyntaxKind::GROUP_KW)
3775 }
3776}
3777
3778#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3779pub struct DropIdentity {
3780 pub(crate) syntax: SyntaxNode,
3781}
3782impl DropIdentity {
3783 #[inline]
3784 pub fn if_exists(&self) -> Option<IfExists> {
3785 support::child(&self.syntax)
3786 }
3787 #[inline]
3788 pub fn drop_token(&self) -> Option<SyntaxToken> {
3789 support::token(&self.syntax, SyntaxKind::DROP_KW)
3790 }
3791 #[inline]
3792 pub fn identity_token(&self) -> Option<SyntaxToken> {
3793 support::token(&self.syntax, SyntaxKind::IDENTITY_KW)
3794 }
3795}
3796
3797#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3798pub struct DropIndex {
3799 pub(crate) syntax: SyntaxNode,
3800}
3801impl DropIndex {
3802 #[inline]
3803 pub fn if_exists(&self) -> Option<IfExists> {
3804 support::child(&self.syntax)
3805 }
3806 #[inline]
3807 pub fn paths(&self) -> AstChildren<Path> {
3808 support::children(&self.syntax)
3809 }
3810 #[inline]
3811 pub fn concurrently_token(&self) -> Option<SyntaxToken> {
3812 support::token(&self.syntax, SyntaxKind::CONCURRENTLY_KW)
3813 }
3814 #[inline]
3815 pub fn drop_token(&self) -> Option<SyntaxToken> {
3816 support::token(&self.syntax, SyntaxKind::DROP_KW)
3817 }
3818 #[inline]
3819 pub fn index_token(&self) -> Option<SyntaxToken> {
3820 support::token(&self.syntax, SyntaxKind::INDEX_KW)
3821 }
3822}
3823
3824#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3825pub struct DropLanguage {
3826 pub(crate) syntax: SyntaxNode,
3827}
3828impl DropLanguage {
3829 #[inline]
3830 pub fn if_exists(&self) -> Option<IfExists> {
3831 support::child(&self.syntax)
3832 }
3833 #[inline]
3834 pub fn name_ref(&self) -> Option<NameRef> {
3835 support::child(&self.syntax)
3836 }
3837 #[inline]
3838 pub fn drop_token(&self) -> Option<SyntaxToken> {
3839 support::token(&self.syntax, SyntaxKind::DROP_KW)
3840 }
3841 #[inline]
3842 pub fn language_token(&self) -> Option<SyntaxToken> {
3843 support::token(&self.syntax, SyntaxKind::LANGUAGE_KW)
3844 }
3845}
3846
3847#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3848pub struct DropMaterializedView {
3849 pub(crate) syntax: SyntaxNode,
3850}
3851impl DropMaterializedView {
3852 #[inline]
3853 pub fn if_exists(&self) -> Option<IfExists> {
3854 support::child(&self.syntax)
3855 }
3856 #[inline]
3857 pub fn drop_token(&self) -> Option<SyntaxToken> {
3858 support::token(&self.syntax, SyntaxKind::DROP_KW)
3859 }
3860 #[inline]
3861 pub fn materialized_token(&self) -> Option<SyntaxToken> {
3862 support::token(&self.syntax, SyntaxKind::MATERIALIZED_KW)
3863 }
3864 #[inline]
3865 pub fn view_token(&self) -> Option<SyntaxToken> {
3866 support::token(&self.syntax, SyntaxKind::VIEW_KW)
3867 }
3868}
3869
3870#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3871pub struct DropNotNull {
3872 pub(crate) syntax: SyntaxNode,
3873}
3874impl DropNotNull {
3875 #[inline]
3876 pub fn drop_token(&self) -> Option<SyntaxToken> {
3877 support::token(&self.syntax, SyntaxKind::DROP_KW)
3878 }
3879 #[inline]
3880 pub fn not_token(&self) -> Option<SyntaxToken> {
3881 support::token(&self.syntax, SyntaxKind::NOT_KW)
3882 }
3883 #[inline]
3884 pub fn null_token(&self) -> Option<SyntaxToken> {
3885 support::token(&self.syntax, SyntaxKind::NULL_KW)
3886 }
3887}
3888
3889#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3890pub struct DropOperator {
3891 pub(crate) syntax: SyntaxNode,
3892}
3893impl DropOperator {
3894 #[inline]
3895 pub fn if_exists(&self) -> Option<IfExists> {
3896 support::child(&self.syntax)
3897 }
3898 #[inline]
3899 pub fn drop_token(&self) -> Option<SyntaxToken> {
3900 support::token(&self.syntax, SyntaxKind::DROP_KW)
3901 }
3902 #[inline]
3903 pub fn operator_token(&self) -> Option<SyntaxToken> {
3904 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
3905 }
3906}
3907
3908#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3909pub struct DropOperatorClass {
3910 pub(crate) syntax: SyntaxNode,
3911}
3912impl DropOperatorClass {
3913 #[inline]
3914 pub fn if_exists(&self) -> Option<IfExists> {
3915 support::child(&self.syntax)
3916 }
3917 #[inline]
3918 pub fn name_ref(&self) -> Option<NameRef> {
3919 support::child(&self.syntax)
3920 }
3921 #[inline]
3922 pub fn class_token(&self) -> Option<SyntaxToken> {
3923 support::token(&self.syntax, SyntaxKind::CLASS_KW)
3924 }
3925 #[inline]
3926 pub fn drop_token(&self) -> Option<SyntaxToken> {
3927 support::token(&self.syntax, SyntaxKind::DROP_KW)
3928 }
3929 #[inline]
3930 pub fn operator_token(&self) -> Option<SyntaxToken> {
3931 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
3932 }
3933 #[inline]
3934 pub fn using_token(&self) -> Option<SyntaxToken> {
3935 support::token(&self.syntax, SyntaxKind::USING_KW)
3936 }
3937}
3938
3939#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3940pub struct DropOperatorFamily {
3941 pub(crate) syntax: SyntaxNode,
3942}
3943impl DropOperatorFamily {
3944 #[inline]
3945 pub fn if_exists(&self) -> Option<IfExists> {
3946 support::child(&self.syntax)
3947 }
3948 #[inline]
3949 pub fn drop_token(&self) -> Option<SyntaxToken> {
3950 support::token(&self.syntax, SyntaxKind::DROP_KW)
3951 }
3952 #[inline]
3953 pub fn family_token(&self) -> Option<SyntaxToken> {
3954 support::token(&self.syntax, SyntaxKind::FAMILY_KW)
3955 }
3956 #[inline]
3957 pub fn operator_token(&self) -> Option<SyntaxToken> {
3958 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
3959 }
3960}
3961
3962#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3963pub struct DropOwned {
3964 pub(crate) syntax: SyntaxNode,
3965}
3966impl DropOwned {
3967 #[inline]
3968 pub fn by_token(&self) -> Option<SyntaxToken> {
3969 support::token(&self.syntax, SyntaxKind::BY_KW)
3970 }
3971 #[inline]
3972 pub fn drop_token(&self) -> Option<SyntaxToken> {
3973 support::token(&self.syntax, SyntaxKind::DROP_KW)
3974 }
3975 #[inline]
3976 pub fn owned_token(&self) -> Option<SyntaxToken> {
3977 support::token(&self.syntax, SyntaxKind::OWNED_KW)
3978 }
3979}
3980
3981#[derive(Debug, Clone, PartialEq, Eq, Hash)]
3982pub struct DropPolicy {
3983 pub(crate) syntax: SyntaxNode,
3984}
3985impl DropPolicy {
3986 #[inline]
3987 pub fn if_exists(&self) -> Option<IfExists> {
3988 support::child(&self.syntax)
3989 }
3990 #[inline]
3991 pub fn name_ref(&self) -> Option<NameRef> {
3992 support::child(&self.syntax)
3993 }
3994 #[inline]
3995 pub fn drop_token(&self) -> Option<SyntaxToken> {
3996 support::token(&self.syntax, SyntaxKind::DROP_KW)
3997 }
3998 #[inline]
3999 pub fn on_token(&self) -> Option<SyntaxToken> {
4000 support::token(&self.syntax, SyntaxKind::ON_KW)
4001 }
4002 #[inline]
4003 pub fn policy_token(&self) -> Option<SyntaxToken> {
4004 support::token(&self.syntax, SyntaxKind::POLICY_KW)
4005 }
4006}
4007
4008#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4009pub struct DropProcedure {
4010 pub(crate) syntax: SyntaxNode,
4011}
4012impl DropProcedure {
4013 #[inline]
4014 pub fn if_exists(&self) -> Option<IfExists> {
4015 support::child(&self.syntax)
4016 }
4017 #[inline]
4018 pub fn drop_token(&self) -> Option<SyntaxToken> {
4019 support::token(&self.syntax, SyntaxKind::DROP_KW)
4020 }
4021 #[inline]
4022 pub fn procedure_token(&self) -> Option<SyntaxToken> {
4023 support::token(&self.syntax, SyntaxKind::PROCEDURE_KW)
4024 }
4025}
4026
4027#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4028pub struct DropPublication {
4029 pub(crate) syntax: SyntaxNode,
4030}
4031impl DropPublication {
4032 #[inline]
4033 pub fn if_exists(&self) -> Option<IfExists> {
4034 support::child(&self.syntax)
4035 }
4036 #[inline]
4037 pub fn name_refs(&self) -> AstChildren<NameRef> {
4038 support::children(&self.syntax)
4039 }
4040 #[inline]
4041 pub fn drop_token(&self) -> Option<SyntaxToken> {
4042 support::token(&self.syntax, SyntaxKind::DROP_KW)
4043 }
4044 #[inline]
4045 pub fn publication_token(&self) -> Option<SyntaxToken> {
4046 support::token(&self.syntax, SyntaxKind::PUBLICATION_KW)
4047 }
4048}
4049
4050#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4051pub struct DropRole {
4052 pub(crate) syntax: SyntaxNode,
4053}
4054impl DropRole {
4055 #[inline]
4056 pub fn if_exists(&self) -> Option<IfExists> {
4057 support::child(&self.syntax)
4058 }
4059 #[inline]
4060 pub fn name_refs(&self) -> AstChildren<NameRef> {
4061 support::children(&self.syntax)
4062 }
4063 #[inline]
4064 pub fn drop_token(&self) -> Option<SyntaxToken> {
4065 support::token(&self.syntax, SyntaxKind::DROP_KW)
4066 }
4067 #[inline]
4068 pub fn role_token(&self) -> Option<SyntaxToken> {
4069 support::token(&self.syntax, SyntaxKind::ROLE_KW)
4070 }
4071}
4072
4073#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4074pub struct DropRoutine {
4075 pub(crate) syntax: SyntaxNode,
4076}
4077impl DropRoutine {
4078 #[inline]
4079 pub fn if_exists(&self) -> Option<IfExists> {
4080 support::child(&self.syntax)
4081 }
4082 #[inline]
4083 pub fn drop_token(&self) -> Option<SyntaxToken> {
4084 support::token(&self.syntax, SyntaxKind::DROP_KW)
4085 }
4086 #[inline]
4087 pub fn routine_token(&self) -> Option<SyntaxToken> {
4088 support::token(&self.syntax, SyntaxKind::ROUTINE_KW)
4089 }
4090}
4091
4092#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4093pub struct DropRule {
4094 pub(crate) syntax: SyntaxNode,
4095}
4096impl DropRule {
4097 #[inline]
4098 pub fn if_exists(&self) -> Option<IfExists> {
4099 support::child(&self.syntax)
4100 }
4101 #[inline]
4102 pub fn name_ref(&self) -> Option<NameRef> {
4103 support::child(&self.syntax)
4104 }
4105 #[inline]
4106 pub fn drop_token(&self) -> Option<SyntaxToken> {
4107 support::token(&self.syntax, SyntaxKind::DROP_KW)
4108 }
4109 #[inline]
4110 pub fn on_token(&self) -> Option<SyntaxToken> {
4111 support::token(&self.syntax, SyntaxKind::ON_KW)
4112 }
4113 #[inline]
4114 pub fn rule_token(&self) -> Option<SyntaxToken> {
4115 support::token(&self.syntax, SyntaxKind::RULE_KW)
4116 }
4117}
4118
4119#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4120pub struct DropSchema {
4121 pub(crate) syntax: SyntaxNode,
4122}
4123impl DropSchema {
4124 #[inline]
4125 pub fn if_exists(&self) -> Option<IfExists> {
4126 support::child(&self.syntax)
4127 }
4128 #[inline]
4129 pub fn drop_token(&self) -> Option<SyntaxToken> {
4130 support::token(&self.syntax, SyntaxKind::DROP_KW)
4131 }
4132 #[inline]
4133 pub fn schema_token(&self) -> Option<SyntaxToken> {
4134 support::token(&self.syntax, SyntaxKind::SCHEMA_KW)
4135 }
4136}
4137
4138#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4139pub struct DropSequence {
4140 pub(crate) syntax: SyntaxNode,
4141}
4142impl DropSequence {
4143 #[inline]
4144 pub fn if_exists(&self) -> Option<IfExists> {
4145 support::child(&self.syntax)
4146 }
4147 #[inline]
4148 pub fn name_refs(&self) -> AstChildren<NameRef> {
4149 support::children(&self.syntax)
4150 }
4151 #[inline]
4152 pub fn drop_token(&self) -> Option<SyntaxToken> {
4153 support::token(&self.syntax, SyntaxKind::DROP_KW)
4154 }
4155 #[inline]
4156 pub fn sequence_token(&self) -> Option<SyntaxToken> {
4157 support::token(&self.syntax, SyntaxKind::SEQUENCE_KW)
4158 }
4159}
4160
4161#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4162pub struct DropServer {
4163 pub(crate) syntax: SyntaxNode,
4164}
4165impl DropServer {
4166 #[inline]
4167 pub fn if_exists(&self) -> Option<IfExists> {
4168 support::child(&self.syntax)
4169 }
4170 #[inline]
4171 pub fn name_ref(&self) -> Option<NameRef> {
4172 support::child(&self.syntax)
4173 }
4174 #[inline]
4175 pub fn drop_token(&self) -> Option<SyntaxToken> {
4176 support::token(&self.syntax, SyntaxKind::DROP_KW)
4177 }
4178 #[inline]
4179 pub fn server_token(&self) -> Option<SyntaxToken> {
4180 support::token(&self.syntax, SyntaxKind::SERVER_KW)
4181 }
4182}
4183
4184#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4185pub struct DropStatistics {
4186 pub(crate) syntax: SyntaxNode,
4187}
4188impl DropStatistics {
4189 #[inline]
4190 pub fn if_exists(&self) -> Option<IfExists> {
4191 support::child(&self.syntax)
4192 }
4193 #[inline]
4194 pub fn name_ref(&self) -> Option<NameRef> {
4195 support::child(&self.syntax)
4196 }
4197 #[inline]
4198 pub fn drop_token(&self) -> Option<SyntaxToken> {
4199 support::token(&self.syntax, SyntaxKind::DROP_KW)
4200 }
4201 #[inline]
4202 pub fn statistics_token(&self) -> Option<SyntaxToken> {
4203 support::token(&self.syntax, SyntaxKind::STATISTICS_KW)
4204 }
4205}
4206
4207#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4208pub struct DropSubscription {
4209 pub(crate) syntax: SyntaxNode,
4210}
4211impl DropSubscription {
4212 #[inline]
4213 pub fn if_exists(&self) -> Option<IfExists> {
4214 support::child(&self.syntax)
4215 }
4216 #[inline]
4217 pub fn name_ref(&self) -> Option<NameRef> {
4218 support::child(&self.syntax)
4219 }
4220 #[inline]
4221 pub fn drop_token(&self) -> Option<SyntaxToken> {
4222 support::token(&self.syntax, SyntaxKind::DROP_KW)
4223 }
4224 #[inline]
4225 pub fn subscription_token(&self) -> Option<SyntaxToken> {
4226 support::token(&self.syntax, SyntaxKind::SUBSCRIPTION_KW)
4227 }
4228}
4229
4230#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4231pub struct DropTable {
4232 pub(crate) syntax: SyntaxNode,
4233}
4234impl DropTable {
4235 #[inline]
4236 pub fn if_exists(&self) -> Option<IfExists> {
4237 support::child(&self.syntax)
4238 }
4239 #[inline]
4240 pub fn path(&self) -> Option<Path> {
4241 support::child(&self.syntax)
4242 }
4243 #[inline]
4244 pub fn comma_token(&self) -> Option<SyntaxToken> {
4245 support::token(&self.syntax, SyntaxKind::COMMA)
4246 }
4247 #[inline]
4248 pub fn cascade_token(&self) -> Option<SyntaxToken> {
4249 support::token(&self.syntax, SyntaxKind::CASCADE_KW)
4250 }
4251 #[inline]
4252 pub fn drop_token(&self) -> Option<SyntaxToken> {
4253 support::token(&self.syntax, SyntaxKind::DROP_KW)
4254 }
4255 #[inline]
4256 pub fn restrict_token(&self) -> Option<SyntaxToken> {
4257 support::token(&self.syntax, SyntaxKind::RESTRICT_KW)
4258 }
4259 #[inline]
4260 pub fn table_token(&self) -> Option<SyntaxToken> {
4261 support::token(&self.syntax, SyntaxKind::TABLE_KW)
4262 }
4263}
4264
4265#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4266pub struct DropTablespace {
4267 pub(crate) syntax: SyntaxNode,
4268}
4269impl DropTablespace {
4270 #[inline]
4271 pub fn if_exists(&self) -> Option<IfExists> {
4272 support::child(&self.syntax)
4273 }
4274 #[inline]
4275 pub fn name_ref(&self) -> Option<NameRef> {
4276 support::child(&self.syntax)
4277 }
4278 #[inline]
4279 pub fn drop_token(&self) -> Option<SyntaxToken> {
4280 support::token(&self.syntax, SyntaxKind::DROP_KW)
4281 }
4282 #[inline]
4283 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
4284 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
4285 }
4286}
4287
4288#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4289pub struct DropTextSearchConfig {
4290 pub(crate) syntax: SyntaxNode,
4291}
4292impl DropTextSearchConfig {
4293 #[inline]
4294 pub fn if_exists(&self) -> Option<IfExists> {
4295 support::child(&self.syntax)
4296 }
4297 #[inline]
4298 pub fn configuration_token(&self) -> Option<SyntaxToken> {
4299 support::token(&self.syntax, SyntaxKind::CONFIGURATION_KW)
4300 }
4301 #[inline]
4302 pub fn drop_token(&self) -> Option<SyntaxToken> {
4303 support::token(&self.syntax, SyntaxKind::DROP_KW)
4304 }
4305 #[inline]
4306 pub fn search_token(&self) -> Option<SyntaxToken> {
4307 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
4308 }
4309 #[inline]
4310 pub fn text_token(&self) -> Option<SyntaxToken> {
4311 support::token(&self.syntax, SyntaxKind::TEXT_KW)
4312 }
4313}
4314
4315#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4316pub struct DropTextSearchDict {
4317 pub(crate) syntax: SyntaxNode,
4318}
4319impl DropTextSearchDict {
4320 #[inline]
4321 pub fn if_exists(&self) -> Option<IfExists> {
4322 support::child(&self.syntax)
4323 }
4324 #[inline]
4325 pub fn dictionary_token(&self) -> Option<SyntaxToken> {
4326 support::token(&self.syntax, SyntaxKind::DICTIONARY_KW)
4327 }
4328 #[inline]
4329 pub fn drop_token(&self) -> Option<SyntaxToken> {
4330 support::token(&self.syntax, SyntaxKind::DROP_KW)
4331 }
4332 #[inline]
4333 pub fn search_token(&self) -> Option<SyntaxToken> {
4334 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
4335 }
4336 #[inline]
4337 pub fn text_token(&self) -> Option<SyntaxToken> {
4338 support::token(&self.syntax, SyntaxKind::TEXT_KW)
4339 }
4340}
4341
4342#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4343pub struct DropTextSearchParser {
4344 pub(crate) syntax: SyntaxNode,
4345}
4346impl DropTextSearchParser {
4347 #[inline]
4348 pub fn if_exists(&self) -> Option<IfExists> {
4349 support::child(&self.syntax)
4350 }
4351 #[inline]
4352 pub fn name_ref(&self) -> Option<NameRef> {
4353 support::child(&self.syntax)
4354 }
4355 #[inline]
4356 pub fn drop_token(&self) -> Option<SyntaxToken> {
4357 support::token(&self.syntax, SyntaxKind::DROP_KW)
4358 }
4359 #[inline]
4360 pub fn parser_token(&self) -> Option<SyntaxToken> {
4361 support::token(&self.syntax, SyntaxKind::PARSER_KW)
4362 }
4363 #[inline]
4364 pub fn search_token(&self) -> Option<SyntaxToken> {
4365 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
4366 }
4367 #[inline]
4368 pub fn text_token(&self) -> Option<SyntaxToken> {
4369 support::token(&self.syntax, SyntaxKind::TEXT_KW)
4370 }
4371}
4372
4373#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4374pub struct DropTextSearchTemplate {
4375 pub(crate) syntax: SyntaxNode,
4376}
4377impl DropTextSearchTemplate {
4378 #[inline]
4379 pub fn if_exists(&self) -> Option<IfExists> {
4380 support::child(&self.syntax)
4381 }
4382 #[inline]
4383 pub fn drop_token(&self) -> Option<SyntaxToken> {
4384 support::token(&self.syntax, SyntaxKind::DROP_KW)
4385 }
4386 #[inline]
4387 pub fn search_token(&self) -> Option<SyntaxToken> {
4388 support::token(&self.syntax, SyntaxKind::SEARCH_KW)
4389 }
4390 #[inline]
4391 pub fn template_token(&self) -> Option<SyntaxToken> {
4392 support::token(&self.syntax, SyntaxKind::TEMPLATE_KW)
4393 }
4394 #[inline]
4395 pub fn text_token(&self) -> Option<SyntaxToken> {
4396 support::token(&self.syntax, SyntaxKind::TEXT_KW)
4397 }
4398}
4399
4400#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4401pub struct DropTransform {
4402 pub(crate) syntax: SyntaxNode,
4403}
4404impl DropTransform {
4405 #[inline]
4406 pub fn if_exists(&self) -> Option<IfExists> {
4407 support::child(&self.syntax)
4408 }
4409 #[inline]
4410 pub fn drop_token(&self) -> Option<SyntaxToken> {
4411 support::token(&self.syntax, SyntaxKind::DROP_KW)
4412 }
4413 #[inline]
4414 pub fn transform_token(&self) -> Option<SyntaxToken> {
4415 support::token(&self.syntax, SyntaxKind::TRANSFORM_KW)
4416 }
4417}
4418
4419#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4420pub struct DropTrigger {
4421 pub(crate) syntax: SyntaxNode,
4422}
4423impl DropTrigger {
4424 #[inline]
4425 pub fn if_exists(&self) -> Option<IfExists> {
4426 support::child(&self.syntax)
4427 }
4428 #[inline]
4429 pub fn name_ref(&self) -> Option<NameRef> {
4430 support::child(&self.syntax)
4431 }
4432 #[inline]
4433 pub fn drop_token(&self) -> Option<SyntaxToken> {
4434 support::token(&self.syntax, SyntaxKind::DROP_KW)
4435 }
4436 #[inline]
4437 pub fn on_token(&self) -> Option<SyntaxToken> {
4438 support::token(&self.syntax, SyntaxKind::ON_KW)
4439 }
4440 #[inline]
4441 pub fn trigger_token(&self) -> Option<SyntaxToken> {
4442 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
4443 }
4444}
4445
4446#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4447pub struct DropType {
4448 pub(crate) syntax: SyntaxNode,
4449}
4450impl DropType {
4451 #[inline]
4452 pub fn if_exists(&self) -> Option<IfExists> {
4453 support::child(&self.syntax)
4454 }
4455 #[inline]
4456 pub fn paths(&self) -> AstChildren<Path> {
4457 support::children(&self.syntax)
4458 }
4459 #[inline]
4460 pub fn cascade_token(&self) -> Option<SyntaxToken> {
4461 support::token(&self.syntax, SyntaxKind::CASCADE_KW)
4462 }
4463 #[inline]
4464 pub fn drop_token(&self) -> Option<SyntaxToken> {
4465 support::token(&self.syntax, SyntaxKind::DROP_KW)
4466 }
4467 #[inline]
4468 pub fn restrict_token(&self) -> Option<SyntaxToken> {
4469 support::token(&self.syntax, SyntaxKind::RESTRICT_KW)
4470 }
4471 #[inline]
4472 pub fn type_token(&self) -> Option<SyntaxToken> {
4473 support::token(&self.syntax, SyntaxKind::TYPE_KW)
4474 }
4475}
4476
4477#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4478pub struct DropUser {
4479 pub(crate) syntax: SyntaxNode,
4480}
4481impl DropUser {
4482 #[inline]
4483 pub fn if_exists(&self) -> Option<IfExists> {
4484 support::child(&self.syntax)
4485 }
4486 #[inline]
4487 pub fn name_refs(&self) -> AstChildren<NameRef> {
4488 support::children(&self.syntax)
4489 }
4490 #[inline]
4491 pub fn drop_token(&self) -> Option<SyntaxToken> {
4492 support::token(&self.syntax, SyntaxKind::DROP_KW)
4493 }
4494 #[inline]
4495 pub fn user_token(&self) -> Option<SyntaxToken> {
4496 support::token(&self.syntax, SyntaxKind::USER_KW)
4497 }
4498}
4499
4500#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4501pub struct DropUserMapping {
4502 pub(crate) syntax: SyntaxNode,
4503}
4504impl DropUserMapping {
4505 #[inline]
4506 pub fn if_exists(&self) -> Option<IfExists> {
4507 support::child(&self.syntax)
4508 }
4509 #[inline]
4510 pub fn name_ref(&self) -> Option<NameRef> {
4511 support::child(&self.syntax)
4512 }
4513 #[inline]
4514 pub fn drop_token(&self) -> Option<SyntaxToken> {
4515 support::token(&self.syntax, SyntaxKind::DROP_KW)
4516 }
4517 #[inline]
4518 pub fn for_token(&self) -> Option<SyntaxToken> {
4519 support::token(&self.syntax, SyntaxKind::FOR_KW)
4520 }
4521 #[inline]
4522 pub fn mapping_token(&self) -> Option<SyntaxToken> {
4523 support::token(&self.syntax, SyntaxKind::MAPPING_KW)
4524 }
4525 #[inline]
4526 pub fn server_token(&self) -> Option<SyntaxToken> {
4527 support::token(&self.syntax, SyntaxKind::SERVER_KW)
4528 }
4529 #[inline]
4530 pub fn user_token(&self) -> Option<SyntaxToken> {
4531 support::token(&self.syntax, SyntaxKind::USER_KW)
4532 }
4533}
4534
4535#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4536pub struct DropView {
4537 pub(crate) syntax: SyntaxNode,
4538}
4539impl DropView {
4540 #[inline]
4541 pub fn if_exists(&self) -> Option<IfExists> {
4542 support::child(&self.syntax)
4543 }
4544 #[inline]
4545 pub fn drop_token(&self) -> Option<SyntaxToken> {
4546 support::token(&self.syntax, SyntaxKind::DROP_KW)
4547 }
4548 #[inline]
4549 pub fn view_token(&self) -> Option<SyntaxToken> {
4550 support::token(&self.syntax, SyntaxKind::VIEW_KW)
4551 }
4552}
4553
4554#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4555pub struct ElseClause {
4556 pub(crate) syntax: SyntaxNode,
4557}
4558impl ElseClause {
4559 #[inline]
4560 pub fn expr(&self) -> Option<Expr> {
4561 support::child(&self.syntax)
4562 }
4563 #[inline]
4564 pub fn else_token(&self) -> Option<SyntaxToken> {
4565 support::token(&self.syntax, SyntaxKind::ELSE_KW)
4566 }
4567}
4568
4569#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4570pub struct EnableAlwaysRule {
4571 pub(crate) syntax: SyntaxNode,
4572}
4573impl EnableAlwaysRule {
4574 #[inline]
4575 pub fn always_token(&self) -> Option<SyntaxToken> {
4576 support::token(&self.syntax, SyntaxKind::ALWAYS_KW)
4577 }
4578 #[inline]
4579 pub fn enable_token(&self) -> Option<SyntaxToken> {
4580 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4581 }
4582 #[inline]
4583 pub fn rule_token(&self) -> Option<SyntaxToken> {
4584 support::token(&self.syntax, SyntaxKind::RULE_KW)
4585 }
4586}
4587
4588#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4589pub struct EnableAlwaysTrigger {
4590 pub(crate) syntax: SyntaxNode,
4591}
4592impl EnableAlwaysTrigger {
4593 #[inline]
4594 pub fn always_token(&self) -> Option<SyntaxToken> {
4595 support::token(&self.syntax, SyntaxKind::ALWAYS_KW)
4596 }
4597 #[inline]
4598 pub fn enable_token(&self) -> Option<SyntaxToken> {
4599 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4600 }
4601 #[inline]
4602 pub fn trigger_token(&self) -> Option<SyntaxToken> {
4603 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
4604 }
4605}
4606
4607#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4608pub struct EnableReplicaRule {
4609 pub(crate) syntax: SyntaxNode,
4610}
4611impl EnableReplicaRule {
4612 #[inline]
4613 pub fn enable_token(&self) -> Option<SyntaxToken> {
4614 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4615 }
4616 #[inline]
4617 pub fn replica_token(&self) -> Option<SyntaxToken> {
4618 support::token(&self.syntax, SyntaxKind::REPLICA_KW)
4619 }
4620 #[inline]
4621 pub fn rule_token(&self) -> Option<SyntaxToken> {
4622 support::token(&self.syntax, SyntaxKind::RULE_KW)
4623 }
4624}
4625
4626#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4627pub struct EnableReplicaTrigger {
4628 pub(crate) syntax: SyntaxNode,
4629}
4630impl EnableReplicaTrigger {
4631 #[inline]
4632 pub fn enable_token(&self) -> Option<SyntaxToken> {
4633 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4634 }
4635 #[inline]
4636 pub fn replica_token(&self) -> Option<SyntaxToken> {
4637 support::token(&self.syntax, SyntaxKind::REPLICA_KW)
4638 }
4639 #[inline]
4640 pub fn trigger_token(&self) -> Option<SyntaxToken> {
4641 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
4642 }
4643}
4644
4645#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4646pub struct EnableRls {
4647 pub(crate) syntax: SyntaxNode,
4648}
4649impl EnableRls {
4650 #[inline]
4651 pub fn enable_token(&self) -> Option<SyntaxToken> {
4652 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4653 }
4654 #[inline]
4655 pub fn level_token(&self) -> Option<SyntaxToken> {
4656 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
4657 }
4658 #[inline]
4659 pub fn row_token(&self) -> Option<SyntaxToken> {
4660 support::token(&self.syntax, SyntaxKind::ROW_KW)
4661 }
4662 #[inline]
4663 pub fn security_token(&self) -> Option<SyntaxToken> {
4664 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
4665 }
4666}
4667
4668#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4669pub struct EnableRule {
4670 pub(crate) syntax: SyntaxNode,
4671}
4672impl EnableRule {
4673 #[inline]
4674 pub fn enable_token(&self) -> Option<SyntaxToken> {
4675 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4676 }
4677 #[inline]
4678 pub fn rule_token(&self) -> Option<SyntaxToken> {
4679 support::token(&self.syntax, SyntaxKind::RULE_KW)
4680 }
4681}
4682
4683#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4684pub struct EnableTrigger {
4685 pub(crate) syntax: SyntaxNode,
4686}
4687impl EnableTrigger {
4688 #[inline]
4689 pub fn enable_token(&self) -> Option<SyntaxToken> {
4690 support::token(&self.syntax, SyntaxKind::ENABLE_KW)
4691 }
4692 #[inline]
4693 pub fn trigger_token(&self) -> Option<SyntaxToken> {
4694 support::token(&self.syntax, SyntaxKind::TRIGGER_KW)
4695 }
4696}
4697
4698#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4699pub struct Enforced {
4700 pub(crate) syntax: SyntaxNode,
4701}
4702impl Enforced {
4703 #[inline]
4704 pub fn enforced_token(&self) -> Option<SyntaxToken> {
4705 support::token(&self.syntax, SyntaxKind::ENFORCED_KW)
4706 }
4707}
4708
4709#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4710pub struct ExcludeConstraint {
4711 pub(crate) syntax: SyntaxNode,
4712}
4713impl ExcludeConstraint {
4714 #[inline]
4715 pub fn constraint_exclusion_list(&self) -> Option<ConstraintExclusionList> {
4716 support::child(&self.syntax)
4717 }
4718 #[inline]
4719 pub fn constraint_index_method(&self) -> Option<ConstraintIndexMethod> {
4720 support::child(&self.syntax)
4721 }
4722 #[inline]
4723 pub fn exclude_token(&self) -> Option<SyntaxToken> {
4724 support::token(&self.syntax, SyntaxKind::EXCLUDE_KW)
4725 }
4726}
4727
4728#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4729pub struct Execute {
4730 pub(crate) syntax: SyntaxNode,
4731}
4732impl Execute {
4733 #[inline]
4734 pub fn execute_token(&self) -> Option<SyntaxToken> {
4735 support::token(&self.syntax, SyntaxKind::EXECUTE_KW)
4736 }
4737}
4738
4739#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4740pub struct Explain {
4741 pub(crate) syntax: SyntaxNode,
4742}
4743impl Explain {
4744 #[inline]
4745 pub fn explain_token(&self) -> Option<SyntaxToken> {
4746 support::token(&self.syntax, SyntaxKind::EXPLAIN_KW)
4747 }
4748}
4749
4750#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4751pub struct FatArrow {
4752 pub(crate) syntax: SyntaxNode,
4753}
4754impl FatArrow {
4755 #[inline]
4756 pub fn eq_token(&self) -> Option<SyntaxToken> {
4757 support::token(&self.syntax, SyntaxKind::EQ)
4758 }
4759 #[inline]
4760 pub fn r_angle_token(&self) -> Option<SyntaxToken> {
4761 support::token(&self.syntax, SyntaxKind::R_ANGLE)
4762 }
4763}
4764
4765#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4766pub struct Fetch {
4767 pub(crate) syntax: SyntaxNode,
4768}
4769impl Fetch {
4770 #[inline]
4771 pub fn fetch_token(&self) -> Option<SyntaxToken> {
4772 support::token(&self.syntax, SyntaxKind::FETCH_KW)
4773 }
4774}
4775
4776#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4777pub struct FetchClause {
4778 pub(crate) syntax: SyntaxNode,
4779}
4780impl FetchClause {
4781 #[inline]
4782 pub fn expr(&self) -> Option<Expr> {
4783 support::child(&self.syntax)
4784 }
4785 #[inline]
4786 pub fn fetch_token(&self) -> Option<SyntaxToken> {
4787 support::token(&self.syntax, SyntaxKind::FETCH_KW)
4788 }
4789 #[inline]
4790 pub fn first_token(&self) -> Option<SyntaxToken> {
4791 support::token(&self.syntax, SyntaxKind::FIRST_KW)
4792 }
4793 #[inline]
4794 pub fn next_token(&self) -> Option<SyntaxToken> {
4795 support::token(&self.syntax, SyntaxKind::NEXT_KW)
4796 }
4797 #[inline]
4798 pub fn only_token(&self) -> Option<SyntaxToken> {
4799 support::token(&self.syntax, SyntaxKind::ONLY_KW)
4800 }
4801 #[inline]
4802 pub fn row_token(&self) -> Option<SyntaxToken> {
4803 support::token(&self.syntax, SyntaxKind::ROW_KW)
4804 }
4805 #[inline]
4806 pub fn rows_token(&self) -> Option<SyntaxToken> {
4807 support::token(&self.syntax, SyntaxKind::ROWS_KW)
4808 }
4809 #[inline]
4810 pub fn ties_token(&self) -> Option<SyntaxToken> {
4811 support::token(&self.syntax, SyntaxKind::TIES_KW)
4812 }
4813 #[inline]
4814 pub fn with_token(&self) -> Option<SyntaxToken> {
4815 support::token(&self.syntax, SyntaxKind::WITH_KW)
4816 }
4817}
4818
4819#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4820pub struct FieldExpr {
4821 pub(crate) syntax: SyntaxNode,
4822}
4823impl FieldExpr {
4824 #[inline]
4825 pub fn expr(&self) -> Option<Expr> {
4826 support::child(&self.syntax)
4827 }
4828 #[inline]
4829 pub fn name_ref(&self) -> Option<NameRef> {
4830 support::child(&self.syntax)
4831 }
4832 #[inline]
4833 pub fn star_token(&self) -> Option<SyntaxToken> {
4834 support::token(&self.syntax, SyntaxKind::STAR)
4835 }
4836 #[inline]
4837 pub fn dot_token(&self) -> Option<SyntaxToken> {
4838 support::token(&self.syntax, SyntaxKind::DOT)
4839 }
4840}
4841
4842#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4843pub struct FilterClause {
4844 pub(crate) syntax: SyntaxNode,
4845}
4846impl FilterClause {
4847 #[inline]
4848 pub fn expr(&self) -> Option<Expr> {
4849 support::child(&self.syntax)
4850 }
4851 #[inline]
4852 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
4853 support::token(&self.syntax, SyntaxKind::L_PAREN)
4854 }
4855 #[inline]
4856 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
4857 support::token(&self.syntax, SyntaxKind::R_PAREN)
4858 }
4859 #[inline]
4860 pub fn filter_token(&self) -> Option<SyntaxToken> {
4861 support::token(&self.syntax, SyntaxKind::FILTER_KW)
4862 }
4863 #[inline]
4864 pub fn where_token(&self) -> Option<SyntaxToken> {
4865 support::token(&self.syntax, SyntaxKind::WHERE_KW)
4866 }
4867}
4868
4869#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4870pub struct ForceRls {
4871 pub(crate) syntax: SyntaxNode,
4872}
4873impl ForceRls {
4874 #[inline]
4875 pub fn force_token(&self) -> Option<SyntaxToken> {
4876 support::token(&self.syntax, SyntaxKind::FORCE_KW)
4877 }
4878 #[inline]
4879 pub fn level_token(&self) -> Option<SyntaxToken> {
4880 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
4881 }
4882 #[inline]
4883 pub fn row_token(&self) -> Option<SyntaxToken> {
4884 support::token(&self.syntax, SyntaxKind::ROW_KW)
4885 }
4886 #[inline]
4887 pub fn security_token(&self) -> Option<SyntaxToken> {
4888 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
4889 }
4890}
4891
4892#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4893pub struct ForeignKeyConstraint {
4894 pub(crate) syntax: SyntaxNode,
4895}
4896impl ForeignKeyConstraint {
4897 #[inline]
4898 pub fn from_columns(&self) -> Option<ColumnList> {
4899 support::child(&self.syntax)
4900 }
4901 #[inline]
4902 pub fn match_type(&self) -> Option<MatchType> {
4903 support::child(&self.syntax)
4904 }
4905 #[inline]
4906 pub fn on_delete_action(&self) -> Option<OnDeleteAction> {
4907 support::child(&self.syntax)
4908 }
4909 #[inline]
4910 pub fn on_update_action(&self) -> Option<OnUpdateAction> {
4911 support::child(&self.syntax)
4912 }
4913 #[inline]
4914 pub fn path(&self) -> Option<Path> {
4915 support::child(&self.syntax)
4916 }
4917 #[inline]
4918 pub fn to_columns(&self) -> Option<ColumnList> {
4919 support::child(&self.syntax)
4920 }
4921 #[inline]
4922 pub fn foreign_token(&self) -> Option<SyntaxToken> {
4923 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
4924 }
4925 #[inline]
4926 pub fn key_token(&self) -> Option<SyntaxToken> {
4927 support::token(&self.syntax, SyntaxKind::KEY_KW)
4928 }
4929 #[inline]
4930 pub fn references_token(&self) -> Option<SyntaxToken> {
4931 support::token(&self.syntax, SyntaxKind::REFERENCES_KW)
4932 }
4933}
4934
4935#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4936pub struct FrameClause {
4937 pub(crate) syntax: SyntaxNode,
4938}
4939impl FrameClause {
4940 #[inline]
4941 pub fn groups_token(&self) -> Option<SyntaxToken> {
4942 support::token(&self.syntax, SyntaxKind::GROUPS_KW)
4943 }
4944 #[inline]
4945 pub fn range_token(&self) -> Option<SyntaxToken> {
4946 support::token(&self.syntax, SyntaxKind::RANGE_KW)
4947 }
4948 #[inline]
4949 pub fn rows_token(&self) -> Option<SyntaxToken> {
4950 support::token(&self.syntax, SyntaxKind::ROWS_KW)
4951 }
4952}
4953
4954#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4955pub struct FromClause {
4956 pub(crate) syntax: SyntaxNode,
4957}
4958impl FromClause {
4959 #[inline]
4960 pub fn from_items(&self) -> AstChildren<FromItem> {
4961 support::children(&self.syntax)
4962 }
4963 #[inline]
4964 pub fn join_exprs(&self) -> AstChildren<JoinExpr> {
4965 support::children(&self.syntax)
4966 }
4967 #[inline]
4968 pub fn from_token(&self) -> Option<SyntaxToken> {
4969 support::token(&self.syntax, SyntaxKind::FROM_KW)
4970 }
4971}
4972
4973#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4974pub struct FromItem {
4975 pub(crate) syntax: SyntaxNode,
4976}
4977impl FromItem {
4978 #[inline]
4979 pub fn alias(&self) -> Option<Alias> {
4980 support::child(&self.syntax)
4981 }
4982 #[inline]
4983 pub fn call_expr(&self) -> Option<CallExpr> {
4984 support::child(&self.syntax)
4985 }
4986 #[inline]
4987 pub fn name_ref(&self) -> Option<NameRef> {
4988 support::child(&self.syntax)
4989 }
4990 #[inline]
4991 pub fn paren_select(&self) -> Option<ParenSelect> {
4992 support::child(&self.syntax)
4993 }
4994 #[inline]
4995 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
4996 support::token(&self.syntax, SyntaxKind::L_PAREN)
4997 }
4998 #[inline]
4999 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
5000 support::token(&self.syntax, SyntaxKind::R_PAREN)
5001 }
5002 #[inline]
5003 pub fn from_token(&self) -> Option<SyntaxToken> {
5004 support::token(&self.syntax, SyntaxKind::FROM_KW)
5005 }
5006 #[inline]
5007 pub fn lateral_token(&self) -> Option<SyntaxToken> {
5008 support::token(&self.syntax, SyntaxKind::LATERAL_KW)
5009 }
5010 #[inline]
5011 pub fn only_token(&self) -> Option<SyntaxToken> {
5012 support::token(&self.syntax, SyntaxKind::ONLY_KW)
5013 }
5014 #[inline]
5015 pub fn rows_token(&self) -> Option<SyntaxToken> {
5016 support::token(&self.syntax, SyntaxKind::ROWS_KW)
5017 }
5018}
5019
5020#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5021pub struct FuncOptionList {
5022 pub(crate) syntax: SyntaxNode,
5023}
5024impl FuncOptionList {
5025 #[inline]
5026 pub fn options(&self) -> AstChildren<FuncOption> {
5027 support::children(&self.syntax)
5028 }
5029}
5030
5031#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5032pub struct GeneratedConstraint {
5033 pub(crate) syntax: SyntaxNode,
5034}
5035impl GeneratedConstraint {
5036 #[inline]
5037 pub fn expr(&self) -> Option<Expr> {
5038 support::child(&self.syntax)
5039 }
5040 #[inline]
5041 pub fn name_ref(&self) -> Option<NameRef> {
5042 support::child(&self.syntax)
5043 }
5044 #[inline]
5045 pub fn sequence_option_list(&self) -> Option<SequenceOptionList> {
5046 support::child(&self.syntax)
5047 }
5048 #[inline]
5049 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
5050 support::token(&self.syntax, SyntaxKind::L_PAREN)
5051 }
5052 #[inline]
5053 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
5054 support::token(&self.syntax, SyntaxKind::R_PAREN)
5055 }
5056 #[inline]
5057 pub fn always_token(&self) -> Option<SyntaxToken> {
5058 support::token(&self.syntax, SyntaxKind::ALWAYS_KW)
5059 }
5060 #[inline]
5061 pub fn as_token(&self) -> Option<SyntaxToken> {
5062 support::token(&self.syntax, SyntaxKind::AS_KW)
5063 }
5064 #[inline]
5065 pub fn by_token(&self) -> Option<SyntaxToken> {
5066 support::token(&self.syntax, SyntaxKind::BY_KW)
5067 }
5068 #[inline]
5069 pub fn constraint_token(&self) -> Option<SyntaxToken> {
5070 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
5071 }
5072 #[inline]
5073 pub fn default_token(&self) -> Option<SyntaxToken> {
5074 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
5075 }
5076 #[inline]
5077 pub fn generated_token(&self) -> Option<SyntaxToken> {
5078 support::token(&self.syntax, SyntaxKind::GENERATED_KW)
5079 }
5080 #[inline]
5081 pub fn identity_token(&self) -> Option<SyntaxToken> {
5082 support::token(&self.syntax, SyntaxKind::IDENTITY_KW)
5083 }
5084 #[inline]
5085 pub fn stored_token(&self) -> Option<SyntaxToken> {
5086 support::token(&self.syntax, SyntaxKind::STORED_KW)
5087 }
5088}
5089
5090#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5091pub struct Grant {
5092 pub(crate) syntax: SyntaxNode,
5093}
5094impl Grant {
5095 #[inline]
5096 pub fn grant_token(&self) -> Option<SyntaxToken> {
5097 support::token(&self.syntax, SyntaxKind::GRANT_KW)
5098 }
5099}
5100
5101#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5102pub struct GroupByClause {
5103 pub(crate) syntax: SyntaxNode,
5104}
5105impl GroupByClause {
5106 #[inline]
5107 pub fn group_by_list(&self) -> Option<GroupByList> {
5108 support::child(&self.syntax)
5109 }
5110 #[inline]
5111 pub fn all_token(&self) -> Option<SyntaxToken> {
5112 support::token(&self.syntax, SyntaxKind::ALL_KW)
5113 }
5114 #[inline]
5115 pub fn by_token(&self) -> Option<SyntaxToken> {
5116 support::token(&self.syntax, SyntaxKind::BY_KW)
5117 }
5118 #[inline]
5119 pub fn distinct_token(&self) -> Option<SyntaxToken> {
5120 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
5121 }
5122 #[inline]
5123 pub fn group_token(&self) -> Option<SyntaxToken> {
5124 support::token(&self.syntax, SyntaxKind::GROUP_KW)
5125 }
5126}
5127
5128#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5129pub struct GroupByList {
5130 pub(crate) syntax: SyntaxNode,
5131}
5132impl GroupByList {
5133 #[inline]
5134 pub fn group_bys(&self) -> AstChildren<GroupBy> {
5135 support::children(&self.syntax)
5136 }
5137}
5138
5139#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5140pub struct GroupingCube {
5141 pub(crate) syntax: SyntaxNode,
5142}
5143impl GroupingCube {
5144 #[inline]
5145 pub fn expr(&self) -> Option<Expr> {
5146 support::child(&self.syntax)
5147 }
5148 #[inline]
5149 pub fn cube_token(&self) -> Option<SyntaxToken> {
5150 support::token(&self.syntax, SyntaxKind::CUBE_KW)
5151 }
5152}
5153
5154#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5155pub struct GroupingExpr {
5156 pub(crate) syntax: SyntaxNode,
5157}
5158impl GroupingExpr {
5159 #[inline]
5160 pub fn expr(&self) -> Option<Expr> {
5161 support::child(&self.syntax)
5162 }
5163}
5164
5165#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5166pub struct GroupingRollup {
5167 pub(crate) syntax: SyntaxNode,
5168}
5169impl GroupingRollup {
5170 #[inline]
5171 pub fn expr(&self) -> Option<Expr> {
5172 support::child(&self.syntax)
5173 }
5174 #[inline]
5175 pub fn rollup_token(&self) -> Option<SyntaxToken> {
5176 support::token(&self.syntax, SyntaxKind::ROLLUP_KW)
5177 }
5178}
5179
5180#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5181pub struct GroupingSets {
5182 pub(crate) syntax: SyntaxNode,
5183}
5184impl GroupingSets {
5185 #[inline]
5186 pub fn expr(&self) -> Option<Expr> {
5187 support::child(&self.syntax)
5188 }
5189 #[inline]
5190 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
5191 support::token(&self.syntax, SyntaxKind::L_PAREN)
5192 }
5193 #[inline]
5194 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
5195 support::token(&self.syntax, SyntaxKind::R_PAREN)
5196 }
5197 #[inline]
5198 pub fn grouping_token(&self) -> Option<SyntaxToken> {
5199 support::token(&self.syntax, SyntaxKind::GROUPING_KW)
5200 }
5201 #[inline]
5202 pub fn sets_token(&self) -> Option<SyntaxToken> {
5203 support::token(&self.syntax, SyntaxKind::SETS_KW)
5204 }
5205}
5206
5207#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5208pub struct Gteq {
5209 pub(crate) syntax: SyntaxNode,
5210}
5211impl Gteq {
5212 #[inline]
5213 pub fn eq_token(&self) -> Option<SyntaxToken> {
5214 support::token(&self.syntax, SyntaxKind::EQ)
5215 }
5216 #[inline]
5217 pub fn r_angle_token(&self) -> Option<SyntaxToken> {
5218 support::token(&self.syntax, SyntaxKind::R_ANGLE)
5219 }
5220}
5221
5222#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5223pub struct HavingClause {
5224 pub(crate) syntax: SyntaxNode,
5225}
5226impl HavingClause {
5227 #[inline]
5228 pub fn expr(&self) -> Option<Expr> {
5229 support::child(&self.syntax)
5230 }
5231 #[inline]
5232 pub fn having_token(&self) -> Option<SyntaxToken> {
5233 support::token(&self.syntax, SyntaxKind::HAVING_KW)
5234 }
5235}
5236
5237#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5238pub struct IfExists {
5239 pub(crate) syntax: SyntaxNode,
5240}
5241impl IfExists {
5242 #[inline]
5243 pub fn exists_token(&self) -> Option<SyntaxToken> {
5244 support::token(&self.syntax, SyntaxKind::EXISTS_KW)
5245 }
5246 #[inline]
5247 pub fn if_token(&self) -> Option<SyntaxToken> {
5248 support::token(&self.syntax, SyntaxKind::IF_KW)
5249 }
5250}
5251
5252#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5253pub struct IfNotExists {
5254 pub(crate) syntax: SyntaxNode,
5255}
5256impl IfNotExists {
5257 #[inline]
5258 pub fn exists_token(&self) -> Option<SyntaxToken> {
5259 support::token(&self.syntax, SyntaxKind::EXISTS_KW)
5260 }
5261 #[inline]
5262 pub fn if_token(&self) -> Option<SyntaxToken> {
5263 support::token(&self.syntax, SyntaxKind::IF_KW)
5264 }
5265 #[inline]
5266 pub fn not_token(&self) -> Option<SyntaxToken> {
5267 support::token(&self.syntax, SyntaxKind::NOT_KW)
5268 }
5269}
5270
5271#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5272pub struct ImportForeignSchema {
5273 pub(crate) syntax: SyntaxNode,
5274}
5275impl ImportForeignSchema {
5276 #[inline]
5277 pub fn name_ref(&self) -> Option<NameRef> {
5278 support::child(&self.syntax)
5279 }
5280 #[inline]
5281 pub fn foreign_token(&self) -> Option<SyntaxToken> {
5282 support::token(&self.syntax, SyntaxKind::FOREIGN_KW)
5283 }
5284 #[inline]
5285 pub fn import_token(&self) -> Option<SyntaxToken> {
5286 support::token(&self.syntax, SyntaxKind::IMPORT_KW)
5287 }
5288 #[inline]
5289 pub fn schema_token(&self) -> Option<SyntaxToken> {
5290 support::token(&self.syntax, SyntaxKind::SCHEMA_KW)
5291 }
5292}
5293
5294#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5295pub struct IndexExpr {
5296 pub(crate) syntax: SyntaxNode,
5297}
5298impl IndexExpr {
5299 #[inline]
5300 pub fn base(&self) -> Option<Expr> {
5301 support::child(&self.syntax)
5302 }
5303 #[inline]
5304 pub fn index(&self) -> Option<Expr> {
5305 support::child(&self.syntax)
5306 }
5307 #[inline]
5308 pub fn l_brack_token(&self) -> Option<SyntaxToken> {
5309 support::token(&self.syntax, SyntaxKind::L_BRACK)
5310 }
5311 #[inline]
5312 pub fn r_brack_token(&self) -> Option<SyntaxToken> {
5313 support::token(&self.syntax, SyntaxKind::R_BRACK)
5314 }
5315}
5316
5317#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5318pub struct Inherit {
5319 pub(crate) syntax: SyntaxNode,
5320}
5321impl Inherit {
5322 #[inline]
5323 pub fn inherit_token(&self) -> Option<SyntaxToken> {
5324 support::token(&self.syntax, SyntaxKind::INHERIT_KW)
5325 }
5326}
5327
5328#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5329pub struct Inherits {
5330 pub(crate) syntax: SyntaxNode,
5331}
5332impl Inherits {
5333 #[inline]
5334 pub fn paths(&self) -> AstChildren<Path> {
5335 support::children(&self.syntax)
5336 }
5337 #[inline]
5338 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
5339 support::token(&self.syntax, SyntaxKind::L_PAREN)
5340 }
5341 #[inline]
5342 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
5343 support::token(&self.syntax, SyntaxKind::R_PAREN)
5344 }
5345 #[inline]
5346 pub fn inherits_token(&self) -> Option<SyntaxToken> {
5347 support::token(&self.syntax, SyntaxKind::INHERITS_KW)
5348 }
5349}
5350
5351#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5352pub struct InitiallyDeferredConstraintOption {
5353 pub(crate) syntax: SyntaxNode,
5354}
5355impl InitiallyDeferredConstraintOption {
5356 #[inline]
5357 pub fn deferred_token(&self) -> Option<SyntaxToken> {
5358 support::token(&self.syntax, SyntaxKind::DEFERRED_KW)
5359 }
5360 #[inline]
5361 pub fn initially_token(&self) -> Option<SyntaxToken> {
5362 support::token(&self.syntax, SyntaxKind::INITIALLY_KW)
5363 }
5364}
5365
5366#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5367pub struct InitiallyImmediateConstraintOption {
5368 pub(crate) syntax: SyntaxNode,
5369}
5370impl InitiallyImmediateConstraintOption {
5371 #[inline]
5372 pub fn immediate_token(&self) -> Option<SyntaxToken> {
5373 support::token(&self.syntax, SyntaxKind::IMMEDIATE_KW)
5374 }
5375 #[inline]
5376 pub fn initially_token(&self) -> Option<SyntaxToken> {
5377 support::token(&self.syntax, SyntaxKind::INITIALLY_KW)
5378 }
5379}
5380
5381#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5382pub struct Insert {
5383 pub(crate) syntax: SyntaxNode,
5384}
5385impl Insert {
5386 #[inline]
5387 pub fn alias(&self) -> Option<Alias> {
5388 support::child(&self.syntax)
5389 }
5390 #[inline]
5391 pub fn column_list(&self) -> Option<ColumnList> {
5392 support::child(&self.syntax)
5393 }
5394 #[inline]
5395 pub fn relation_name(&self) -> Option<RelationName> {
5396 support::child(&self.syntax)
5397 }
5398 #[inline]
5399 pub fn stmt(&self) -> Option<Stmt> {
5400 support::child(&self.syntax)
5401 }
5402 #[inline]
5403 pub fn values(&self) -> Option<Values> {
5404 support::child(&self.syntax)
5405 }
5406 #[inline]
5407 pub fn conflict_token(&self) -> Option<SyntaxToken> {
5408 support::token(&self.syntax, SyntaxKind::CONFLICT_KW)
5409 }
5410 #[inline]
5411 pub fn default_token(&self) -> Option<SyntaxToken> {
5412 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
5413 }
5414 #[inline]
5415 pub fn insert_token(&self) -> Option<SyntaxToken> {
5416 support::token(&self.syntax, SyntaxKind::INSERT_KW)
5417 }
5418 #[inline]
5419 pub fn into_token(&self) -> Option<SyntaxToken> {
5420 support::token(&self.syntax, SyntaxKind::INTO_KW)
5421 }
5422 #[inline]
5423 pub fn on_token(&self) -> Option<SyntaxToken> {
5424 support::token(&self.syntax, SyntaxKind::ON_KW)
5425 }
5426 #[inline]
5427 pub fn overriding_token(&self) -> Option<SyntaxToken> {
5428 support::token(&self.syntax, SyntaxKind::OVERRIDING_KW)
5429 }
5430 #[inline]
5431 pub fn system_token(&self) -> Option<SyntaxToken> {
5432 support::token(&self.syntax, SyntaxKind::SYSTEM_KW)
5433 }
5434 #[inline]
5435 pub fn user_token(&self) -> Option<SyntaxToken> {
5436 support::token(&self.syntax, SyntaxKind::USER_KW)
5437 }
5438 #[inline]
5439 pub fn value_token(&self) -> Option<SyntaxToken> {
5440 support::token(&self.syntax, SyntaxKind::VALUE_KW)
5441 }
5442 #[inline]
5443 pub fn values_token(&self) -> Option<SyntaxToken> {
5444 support::token(&self.syntax, SyntaxKind::VALUES_KW)
5445 }
5446}
5447
5448#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5449pub struct IntervalType {
5450 pub(crate) syntax: SyntaxNode,
5451}
5452impl IntervalType {
5453 #[inline]
5454 pub fn literal(&self) -> Option<Literal> {
5455 support::child(&self.syntax)
5456 }
5457 #[inline]
5458 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
5459 support::token(&self.syntax, SyntaxKind::L_PAREN)
5460 }
5461 #[inline]
5462 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
5463 support::token(&self.syntax, SyntaxKind::R_PAREN)
5464 }
5465 #[inline]
5466 pub fn day_token(&self) -> Option<SyntaxToken> {
5467 support::token(&self.syntax, SyntaxKind::DAY_KW)
5468 }
5469 #[inline]
5470 pub fn hour_token(&self) -> Option<SyntaxToken> {
5471 support::token(&self.syntax, SyntaxKind::HOUR_KW)
5472 }
5473 #[inline]
5474 pub fn interval_token(&self) -> Option<SyntaxToken> {
5475 support::token(&self.syntax, SyntaxKind::INTERVAL_KW)
5476 }
5477 #[inline]
5478 pub fn minute_token(&self) -> Option<SyntaxToken> {
5479 support::token(&self.syntax, SyntaxKind::MINUTE_KW)
5480 }
5481 #[inline]
5482 pub fn month_token(&self) -> Option<SyntaxToken> {
5483 support::token(&self.syntax, SyntaxKind::MONTH_KW)
5484 }
5485 #[inline]
5486 pub fn second_token(&self) -> Option<SyntaxToken> {
5487 support::token(&self.syntax, SyntaxKind::SECOND_KW)
5488 }
5489 #[inline]
5490 pub fn to_token(&self) -> Option<SyntaxToken> {
5491 support::token(&self.syntax, SyntaxKind::TO_KW)
5492 }
5493 #[inline]
5494 pub fn year_token(&self) -> Option<SyntaxToken> {
5495 support::token(&self.syntax, SyntaxKind::YEAR_KW)
5496 }
5497}
5498
5499#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5500pub struct IntoClause {
5501 pub(crate) syntax: SyntaxNode,
5502}
5503impl IntoClause {
5504 #[inline]
5505 pub fn into_token(&self) -> Option<SyntaxToken> {
5506 support::token(&self.syntax, SyntaxKind::INTO_KW)
5507 }
5508}
5509
5510#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5511pub struct IsDistinctFrom {
5512 pub(crate) syntax: SyntaxNode,
5513}
5514impl IsDistinctFrom {
5515 #[inline]
5516 pub fn distinct_token(&self) -> Option<SyntaxToken> {
5517 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
5518 }
5519 #[inline]
5520 pub fn from_token(&self) -> Option<SyntaxToken> {
5521 support::token(&self.syntax, SyntaxKind::FROM_KW)
5522 }
5523 #[inline]
5524 pub fn is_token(&self) -> Option<SyntaxToken> {
5525 support::token(&self.syntax, SyntaxKind::IS_KW)
5526 }
5527}
5528
5529#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5530pub struct IsJson {
5531 pub(crate) syntax: SyntaxNode,
5532}
5533impl IsJson {
5534 #[inline]
5535 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5536 support::child(&self.syntax)
5537 }
5538 #[inline]
5539 pub fn is_token(&self) -> Option<SyntaxToken> {
5540 support::token(&self.syntax, SyntaxKind::IS_KW)
5541 }
5542 #[inline]
5543 pub fn json_token(&self) -> Option<SyntaxToken> {
5544 support::token(&self.syntax, SyntaxKind::JSON_KW)
5545 }
5546}
5547
5548#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5549pub struct IsJsonArray {
5550 pub(crate) syntax: SyntaxNode,
5551}
5552impl IsJsonArray {
5553 #[inline]
5554 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5555 support::child(&self.syntax)
5556 }
5557 #[inline]
5558 pub fn array_token(&self) -> Option<SyntaxToken> {
5559 support::token(&self.syntax, SyntaxKind::ARRAY_KW)
5560 }
5561 #[inline]
5562 pub fn is_token(&self) -> Option<SyntaxToken> {
5563 support::token(&self.syntax, SyntaxKind::IS_KW)
5564 }
5565 #[inline]
5566 pub fn json_token(&self) -> Option<SyntaxToken> {
5567 support::token(&self.syntax, SyntaxKind::JSON_KW)
5568 }
5569}
5570
5571#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5572pub struct IsJsonObject {
5573 pub(crate) syntax: SyntaxNode,
5574}
5575impl IsJsonObject {
5576 #[inline]
5577 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5578 support::child(&self.syntax)
5579 }
5580 #[inline]
5581 pub fn is_token(&self) -> Option<SyntaxToken> {
5582 support::token(&self.syntax, SyntaxKind::IS_KW)
5583 }
5584 #[inline]
5585 pub fn json_token(&self) -> Option<SyntaxToken> {
5586 support::token(&self.syntax, SyntaxKind::JSON_KW)
5587 }
5588 #[inline]
5589 pub fn object_token(&self) -> Option<SyntaxToken> {
5590 support::token(&self.syntax, SyntaxKind::OBJECT_KW)
5591 }
5592}
5593
5594#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5595pub struct IsJsonScalar {
5596 pub(crate) syntax: SyntaxNode,
5597}
5598impl IsJsonScalar {
5599 #[inline]
5600 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5601 support::child(&self.syntax)
5602 }
5603 #[inline]
5604 pub fn is_token(&self) -> Option<SyntaxToken> {
5605 support::token(&self.syntax, SyntaxKind::IS_KW)
5606 }
5607 #[inline]
5608 pub fn json_token(&self) -> Option<SyntaxToken> {
5609 support::token(&self.syntax, SyntaxKind::JSON_KW)
5610 }
5611 #[inline]
5612 pub fn scalar_token(&self) -> Option<SyntaxToken> {
5613 support::token(&self.syntax, SyntaxKind::SCALAR_KW)
5614 }
5615}
5616
5617#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5618pub struct IsJsonValue {
5619 pub(crate) syntax: SyntaxNode,
5620}
5621impl IsJsonValue {
5622 #[inline]
5623 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5624 support::child(&self.syntax)
5625 }
5626 #[inline]
5627 pub fn is_token(&self) -> Option<SyntaxToken> {
5628 support::token(&self.syntax, SyntaxKind::IS_KW)
5629 }
5630 #[inline]
5631 pub fn json_token(&self) -> Option<SyntaxToken> {
5632 support::token(&self.syntax, SyntaxKind::JSON_KW)
5633 }
5634 #[inline]
5635 pub fn value_token(&self) -> Option<SyntaxToken> {
5636 support::token(&self.syntax, SyntaxKind::VALUE_KW)
5637 }
5638}
5639
5640#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5641pub struct IsNormalized {
5642 pub(crate) syntax: SyntaxNode,
5643}
5644impl IsNormalized {
5645 #[inline]
5646 pub fn unicode_normal_form(&self) -> Option<UnicodeNormalForm> {
5647 support::child(&self.syntax)
5648 }
5649 #[inline]
5650 pub fn is_token(&self) -> Option<SyntaxToken> {
5651 support::token(&self.syntax, SyntaxKind::IS_KW)
5652 }
5653 #[inline]
5654 pub fn normalized_token(&self) -> Option<SyntaxToken> {
5655 support::token(&self.syntax, SyntaxKind::NORMALIZED_KW)
5656 }
5657}
5658
5659#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5660pub struct IsNot {
5661 pub(crate) syntax: SyntaxNode,
5662}
5663impl IsNot {
5664 #[inline]
5665 pub fn is_token(&self) -> Option<SyntaxToken> {
5666 support::token(&self.syntax, SyntaxKind::IS_KW)
5667 }
5668 #[inline]
5669 pub fn not_token(&self) -> Option<SyntaxToken> {
5670 support::token(&self.syntax, SyntaxKind::NOT_KW)
5671 }
5672}
5673
5674#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5675pub struct IsNotDistinctFrom {
5676 pub(crate) syntax: SyntaxNode,
5677}
5678impl IsNotDistinctFrom {
5679 #[inline]
5680 pub fn distinct_token(&self) -> Option<SyntaxToken> {
5681 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
5682 }
5683 #[inline]
5684 pub fn from_token(&self) -> Option<SyntaxToken> {
5685 support::token(&self.syntax, SyntaxKind::FROM_KW)
5686 }
5687 #[inline]
5688 pub fn is_token(&self) -> Option<SyntaxToken> {
5689 support::token(&self.syntax, SyntaxKind::IS_KW)
5690 }
5691 #[inline]
5692 pub fn not_token(&self) -> Option<SyntaxToken> {
5693 support::token(&self.syntax, SyntaxKind::NOT_KW)
5694 }
5695}
5696
5697#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5698pub struct IsNotJson {
5699 pub(crate) syntax: SyntaxNode,
5700}
5701impl IsNotJson {
5702 #[inline]
5703 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5704 support::child(&self.syntax)
5705 }
5706 #[inline]
5707 pub fn is_token(&self) -> Option<SyntaxToken> {
5708 support::token(&self.syntax, SyntaxKind::IS_KW)
5709 }
5710 #[inline]
5711 pub fn json_token(&self) -> Option<SyntaxToken> {
5712 support::token(&self.syntax, SyntaxKind::JSON_KW)
5713 }
5714 #[inline]
5715 pub fn not_token(&self) -> Option<SyntaxToken> {
5716 support::token(&self.syntax, SyntaxKind::NOT_KW)
5717 }
5718}
5719
5720#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5721pub struct IsNotJsonArray {
5722 pub(crate) syntax: SyntaxNode,
5723}
5724impl IsNotJsonArray {
5725 #[inline]
5726 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5727 support::child(&self.syntax)
5728 }
5729 #[inline]
5730 pub fn array_token(&self) -> Option<SyntaxToken> {
5731 support::token(&self.syntax, SyntaxKind::ARRAY_KW)
5732 }
5733 #[inline]
5734 pub fn is_token(&self) -> Option<SyntaxToken> {
5735 support::token(&self.syntax, SyntaxKind::IS_KW)
5736 }
5737 #[inline]
5738 pub fn json_token(&self) -> Option<SyntaxToken> {
5739 support::token(&self.syntax, SyntaxKind::JSON_KW)
5740 }
5741 #[inline]
5742 pub fn not_token(&self) -> Option<SyntaxToken> {
5743 support::token(&self.syntax, SyntaxKind::NOT_KW)
5744 }
5745}
5746
5747#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5748pub struct IsNotJsonObject {
5749 pub(crate) syntax: SyntaxNode,
5750}
5751impl IsNotJsonObject {
5752 #[inline]
5753 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5754 support::child(&self.syntax)
5755 }
5756 #[inline]
5757 pub fn is_token(&self) -> Option<SyntaxToken> {
5758 support::token(&self.syntax, SyntaxKind::IS_KW)
5759 }
5760 #[inline]
5761 pub fn json_token(&self) -> Option<SyntaxToken> {
5762 support::token(&self.syntax, SyntaxKind::JSON_KW)
5763 }
5764 #[inline]
5765 pub fn not_token(&self) -> Option<SyntaxToken> {
5766 support::token(&self.syntax, SyntaxKind::NOT_KW)
5767 }
5768 #[inline]
5769 pub fn object_token(&self) -> Option<SyntaxToken> {
5770 support::token(&self.syntax, SyntaxKind::OBJECT_KW)
5771 }
5772}
5773
5774#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5775pub struct IsNotJsonScalar {
5776 pub(crate) syntax: SyntaxNode,
5777}
5778impl IsNotJsonScalar {
5779 #[inline]
5780 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5781 support::child(&self.syntax)
5782 }
5783 #[inline]
5784 pub fn is_token(&self) -> Option<SyntaxToken> {
5785 support::token(&self.syntax, SyntaxKind::IS_KW)
5786 }
5787 #[inline]
5788 pub fn json_token(&self) -> Option<SyntaxToken> {
5789 support::token(&self.syntax, SyntaxKind::JSON_KW)
5790 }
5791 #[inline]
5792 pub fn not_token(&self) -> Option<SyntaxToken> {
5793 support::token(&self.syntax, SyntaxKind::NOT_KW)
5794 }
5795 #[inline]
5796 pub fn scalar_token(&self) -> Option<SyntaxToken> {
5797 support::token(&self.syntax, SyntaxKind::SCALAR_KW)
5798 }
5799}
5800
5801#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5802pub struct IsNotJsonValue {
5803 pub(crate) syntax: SyntaxNode,
5804}
5805impl IsNotJsonValue {
5806 #[inline]
5807 pub fn json_keys_unique_clause(&self) -> Option<JsonKeysUniqueClause> {
5808 support::child(&self.syntax)
5809 }
5810 #[inline]
5811 pub fn is_token(&self) -> Option<SyntaxToken> {
5812 support::token(&self.syntax, SyntaxKind::IS_KW)
5813 }
5814 #[inline]
5815 pub fn json_token(&self) -> Option<SyntaxToken> {
5816 support::token(&self.syntax, SyntaxKind::JSON_KW)
5817 }
5818 #[inline]
5819 pub fn not_token(&self) -> Option<SyntaxToken> {
5820 support::token(&self.syntax, SyntaxKind::NOT_KW)
5821 }
5822 #[inline]
5823 pub fn value_token(&self) -> Option<SyntaxToken> {
5824 support::token(&self.syntax, SyntaxKind::VALUE_KW)
5825 }
5826}
5827
5828#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5829pub struct IsNotNormalized {
5830 pub(crate) syntax: SyntaxNode,
5831}
5832impl IsNotNormalized {
5833 #[inline]
5834 pub fn unicode_normal_form(&self) -> Option<UnicodeNormalForm> {
5835 support::child(&self.syntax)
5836 }
5837 #[inline]
5838 pub fn is_token(&self) -> Option<SyntaxToken> {
5839 support::token(&self.syntax, SyntaxKind::IS_KW)
5840 }
5841 #[inline]
5842 pub fn normalized_token(&self) -> Option<SyntaxToken> {
5843 support::token(&self.syntax, SyntaxKind::NORMALIZED_KW)
5844 }
5845 #[inline]
5846 pub fn not_token(&self) -> Option<SyntaxToken> {
5847 support::token(&self.syntax, SyntaxKind::NOT_KW)
5848 }
5849}
5850
5851#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5852pub struct Join {
5853 pub(crate) syntax: SyntaxNode,
5854}
5855impl Join {
5856 #[inline]
5857 pub fn from_item(&self) -> Option<FromItem> {
5858 support::child(&self.syntax)
5859 }
5860 #[inline]
5861 pub fn join_type(&self) -> Option<JoinType> {
5862 support::child(&self.syntax)
5863 }
5864 #[inline]
5865 pub fn on_clause(&self) -> Option<OnClause> {
5866 support::child(&self.syntax)
5867 }
5868 #[inline]
5869 pub fn using_clause(&self) -> Option<JoinUsingClause> {
5870 support::child(&self.syntax)
5871 }
5872 #[inline]
5873 pub fn natural_token(&self) -> Option<SyntaxToken> {
5874 support::token(&self.syntax, SyntaxKind::NATURAL_KW)
5875 }
5876}
5877
5878#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5879pub struct JoinCross {
5880 pub(crate) syntax: SyntaxNode,
5881}
5882impl JoinCross {
5883 #[inline]
5884 pub fn cross_token(&self) -> Option<SyntaxToken> {
5885 support::token(&self.syntax, SyntaxKind::CROSS_KW)
5886 }
5887 #[inline]
5888 pub fn join_token(&self) -> Option<SyntaxToken> {
5889 support::token(&self.syntax, SyntaxKind::JOIN_KW)
5890 }
5891}
5892
5893#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5894pub struct JoinExpr {
5895 pub(crate) syntax: SyntaxNode,
5896}
5897impl JoinExpr {
5898 #[inline]
5899 pub fn from_item(&self) -> Option<FromItem> {
5900 support::child(&self.syntax)
5901 }
5902 #[inline]
5903 pub fn join(&self) -> Option<Join> {
5904 support::child(&self.syntax)
5905 }
5906 #[inline]
5907 pub fn join_expr(&self) -> Option<JoinExpr> {
5908 support::child(&self.syntax)
5909 }
5910}
5911
5912#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5913pub struct JoinFull {
5914 pub(crate) syntax: SyntaxNode,
5915}
5916impl JoinFull {
5917 #[inline]
5918 pub fn full_token(&self) -> Option<SyntaxToken> {
5919 support::token(&self.syntax, SyntaxKind::FULL_KW)
5920 }
5921 #[inline]
5922 pub fn join_token(&self) -> Option<SyntaxToken> {
5923 support::token(&self.syntax, SyntaxKind::JOIN_KW)
5924 }
5925 #[inline]
5926 pub fn outer_token(&self) -> Option<SyntaxToken> {
5927 support::token(&self.syntax, SyntaxKind::OUTER_KW)
5928 }
5929}
5930
5931#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5932pub struct JoinInner {
5933 pub(crate) syntax: SyntaxNode,
5934}
5935impl JoinInner {
5936 #[inline]
5937 pub fn inner_token(&self) -> Option<SyntaxToken> {
5938 support::token(&self.syntax, SyntaxKind::INNER_KW)
5939 }
5940 #[inline]
5941 pub fn join_token(&self) -> Option<SyntaxToken> {
5942 support::token(&self.syntax, SyntaxKind::JOIN_KW)
5943 }
5944}
5945
5946#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5947pub struct JoinLeft {
5948 pub(crate) syntax: SyntaxNode,
5949}
5950impl JoinLeft {
5951 #[inline]
5952 pub fn join_token(&self) -> Option<SyntaxToken> {
5953 support::token(&self.syntax, SyntaxKind::JOIN_KW)
5954 }
5955 #[inline]
5956 pub fn left_token(&self) -> Option<SyntaxToken> {
5957 support::token(&self.syntax, SyntaxKind::LEFT_KW)
5958 }
5959 #[inline]
5960 pub fn outer_token(&self) -> Option<SyntaxToken> {
5961 support::token(&self.syntax, SyntaxKind::OUTER_KW)
5962 }
5963}
5964
5965#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5966pub struct JoinRight {
5967 pub(crate) syntax: SyntaxNode,
5968}
5969impl JoinRight {
5970 #[inline]
5971 pub fn join_token(&self) -> Option<SyntaxToken> {
5972 support::token(&self.syntax, SyntaxKind::JOIN_KW)
5973 }
5974 #[inline]
5975 pub fn outer_token(&self) -> Option<SyntaxToken> {
5976 support::token(&self.syntax, SyntaxKind::OUTER_KW)
5977 }
5978 #[inline]
5979 pub fn right_token(&self) -> Option<SyntaxToken> {
5980 support::token(&self.syntax, SyntaxKind::RIGHT_KW)
5981 }
5982}
5983
5984#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5985pub struct JoinUsingClause {
5986 pub(crate) syntax: SyntaxNode,
5987}
5988impl JoinUsingClause {
5989 #[inline]
5990 pub fn alias(&self) -> Option<Alias> {
5991 support::child(&self.syntax)
5992 }
5993 #[inline]
5994 pub fn column_list(&self) -> Option<ColumnList> {
5995 support::child(&self.syntax)
5996 }
5997 #[inline]
5998 pub fn using_token(&self) -> Option<SyntaxToken> {
5999 support::token(&self.syntax, SyntaxKind::USING_KW)
6000 }
6001}
6002
6003#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6004pub struct JsonBehaviorDefault {
6005 pub(crate) syntax: SyntaxNode,
6006}
6007impl JsonBehaviorDefault {
6008 #[inline]
6009 pub fn expr(&self) -> Option<Expr> {
6010 support::child(&self.syntax)
6011 }
6012 #[inline]
6013 pub fn default_token(&self) -> Option<SyntaxToken> {
6014 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
6015 }
6016}
6017
6018#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6019pub struct JsonBehaviorEmptyArray {
6020 pub(crate) syntax: SyntaxNode,
6021}
6022impl JsonBehaviorEmptyArray {
6023 #[inline]
6024 pub fn array_token(&self) -> Option<SyntaxToken> {
6025 support::token(&self.syntax, SyntaxKind::ARRAY_KW)
6026 }
6027 #[inline]
6028 pub fn empty_token(&self) -> Option<SyntaxToken> {
6029 support::token(&self.syntax, SyntaxKind::EMPTY_KW)
6030 }
6031}
6032
6033#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6034pub struct JsonBehaviorEmptyObject {
6035 pub(crate) syntax: SyntaxNode,
6036}
6037impl JsonBehaviorEmptyObject {
6038 #[inline]
6039 pub fn empty_token(&self) -> Option<SyntaxToken> {
6040 support::token(&self.syntax, SyntaxKind::EMPTY_KW)
6041 }
6042 #[inline]
6043 pub fn object_token(&self) -> Option<SyntaxToken> {
6044 support::token(&self.syntax, SyntaxKind::OBJECT_KW)
6045 }
6046}
6047
6048#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6049pub struct JsonBehaviorError {
6050 pub(crate) syntax: SyntaxNode,
6051}
6052impl JsonBehaviorError {
6053 #[inline]
6054 pub fn error_token(&self) -> Option<SyntaxToken> {
6055 support::token(&self.syntax, SyntaxKind::ERROR_KW)
6056 }
6057}
6058
6059#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6060pub struct JsonBehaviorFalse {
6061 pub(crate) syntax: SyntaxNode,
6062}
6063impl JsonBehaviorFalse {
6064 #[inline]
6065 pub fn false_token(&self) -> Option<SyntaxToken> {
6066 support::token(&self.syntax, SyntaxKind::FALSE_KW)
6067 }
6068}
6069
6070#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6071pub struct JsonBehaviorNull {
6072 pub(crate) syntax: SyntaxNode,
6073}
6074impl JsonBehaviorNull {
6075 #[inline]
6076 pub fn null_token(&self) -> Option<SyntaxToken> {
6077 support::token(&self.syntax, SyntaxKind::NULL_KW)
6078 }
6079}
6080
6081#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6082pub struct JsonBehaviorTrue {
6083 pub(crate) syntax: SyntaxNode,
6084}
6085impl JsonBehaviorTrue {
6086 #[inline]
6087 pub fn true_token(&self) -> Option<SyntaxToken> {
6088 support::token(&self.syntax, SyntaxKind::TRUE_KW)
6089 }
6090}
6091
6092#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6093pub struct JsonBehaviorUnknown {
6094 pub(crate) syntax: SyntaxNode,
6095}
6096impl JsonBehaviorUnknown {
6097 #[inline]
6098 pub fn unknown_token(&self) -> Option<SyntaxToken> {
6099 support::token(&self.syntax, SyntaxKind::UNKNOWN_KW)
6100 }
6101}
6102
6103#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6104pub struct JsonFormatClause {
6105 pub(crate) syntax: SyntaxNode,
6106}
6107impl JsonFormatClause {
6108 #[inline]
6109 pub fn name(&self) -> Option<Name> {
6110 support::child(&self.syntax)
6111 }
6112 #[inline]
6113 pub fn encoding_token(&self) -> Option<SyntaxToken> {
6114 support::token(&self.syntax, SyntaxKind::ENCODING_KW)
6115 }
6116 #[inline]
6117 pub fn format_token(&self) -> Option<SyntaxToken> {
6118 support::token(&self.syntax, SyntaxKind::FORMAT_KW)
6119 }
6120 #[inline]
6121 pub fn json_token(&self) -> Option<SyntaxToken> {
6122 support::token(&self.syntax, SyntaxKind::JSON_KW)
6123 }
6124}
6125
6126#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6127pub struct JsonKeyValue {
6128 pub(crate) syntax: SyntaxNode,
6129}
6130impl JsonKeyValue {
6131 #[inline]
6132 pub fn expr(&self) -> Option<Expr> {
6133 support::child(&self.syntax)
6134 }
6135 #[inline]
6136 pub fn json_value_expr(&self) -> Option<JsonValueExpr> {
6137 support::child(&self.syntax)
6138 }
6139 #[inline]
6140 pub fn colon_token(&self) -> Option<SyntaxToken> {
6141 support::token(&self.syntax, SyntaxKind::COLON)
6142 }
6143}
6144
6145#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6146pub struct JsonKeysUniqueClause {
6147 pub(crate) syntax: SyntaxNode,
6148}
6149impl JsonKeysUniqueClause {
6150 #[inline]
6151 pub fn keys_token(&self) -> Option<SyntaxToken> {
6152 support::token(&self.syntax, SyntaxKind::KEYS_KW)
6153 }
6154 #[inline]
6155 pub fn unique_token(&self) -> Option<SyntaxToken> {
6156 support::token(&self.syntax, SyntaxKind::UNIQUE_KW)
6157 }
6158 #[inline]
6159 pub fn with_token(&self) -> Option<SyntaxToken> {
6160 support::token(&self.syntax, SyntaxKind::WITH_KW)
6161 }
6162 #[inline]
6163 pub fn without_token(&self) -> Option<SyntaxToken> {
6164 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
6165 }
6166}
6167
6168#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6169pub struct JsonNullClause {
6170 pub(crate) syntax: SyntaxNode,
6171}
6172impl JsonNullClause {
6173 #[inline]
6174 pub fn absent_token(&self) -> Option<SyntaxToken> {
6175 support::token(&self.syntax, SyntaxKind::ABSENT_KW)
6176 }
6177 #[inline]
6178 pub fn null_token(&self) -> Option<SyntaxToken> {
6179 support::token(&self.syntax, SyntaxKind::NULL_KW)
6180 }
6181 #[inline]
6182 pub fn on_token(&self) -> Option<SyntaxToken> {
6183 support::token(&self.syntax, SyntaxKind::ON_KW)
6184 }
6185}
6186
6187#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6188pub struct JsonOnEmptyClause {
6189 pub(crate) syntax: SyntaxNode,
6190}
6191impl JsonOnEmptyClause {
6192 #[inline]
6193 pub fn json_behavior(&self) -> Option<JsonBehavior> {
6194 support::child(&self.syntax)
6195 }
6196 #[inline]
6197 pub fn empty_token(&self) -> Option<SyntaxToken> {
6198 support::token(&self.syntax, SyntaxKind::EMPTY_KW)
6199 }
6200 #[inline]
6201 pub fn on_token(&self) -> Option<SyntaxToken> {
6202 support::token(&self.syntax, SyntaxKind::ON_KW)
6203 }
6204}
6205
6206#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6207pub struct JsonOnErrorClause {
6208 pub(crate) syntax: SyntaxNode,
6209}
6210impl JsonOnErrorClause {
6211 #[inline]
6212 pub fn json_behavior(&self) -> Option<JsonBehavior> {
6213 support::child(&self.syntax)
6214 }
6215 #[inline]
6216 pub fn error_token(&self) -> Option<SyntaxToken> {
6217 support::token(&self.syntax, SyntaxKind::ERROR_KW)
6218 }
6219 #[inline]
6220 pub fn on_token(&self) -> Option<SyntaxToken> {
6221 support::token(&self.syntax, SyntaxKind::ON_KW)
6222 }
6223}
6224
6225#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6226pub struct JsonPassingArg {
6227 pub(crate) syntax: SyntaxNode,
6228}
6229impl JsonPassingArg {
6230 #[inline]
6231 pub fn expr(&self) -> Option<Expr> {
6232 support::child(&self.syntax)
6233 }
6234 #[inline]
6235 pub fn json_format_clause(&self) -> Option<JsonFormatClause> {
6236 support::child(&self.syntax)
6237 }
6238 #[inline]
6239 pub fn name(&self) -> Option<Name> {
6240 support::child(&self.syntax)
6241 }
6242 #[inline]
6243 pub fn as_token(&self) -> Option<SyntaxToken> {
6244 support::token(&self.syntax, SyntaxKind::AS_KW)
6245 }
6246}
6247
6248#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6249pub struct JsonPassingClause {
6250 pub(crate) syntax: SyntaxNode,
6251}
6252impl JsonPassingClause {
6253 #[inline]
6254 pub fn json_passing_args(&self) -> AstChildren<JsonPassingArg> {
6255 support::children(&self.syntax)
6256 }
6257 #[inline]
6258 pub fn passing_token(&self) -> Option<SyntaxToken> {
6259 support::token(&self.syntax, SyntaxKind::PASSING_KW)
6260 }
6261}
6262
6263#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6264pub struct JsonQuotesClause {
6265 pub(crate) syntax: SyntaxNode,
6266}
6267impl JsonQuotesClause {
6268 #[inline]
6269 pub fn keep_token(&self) -> Option<SyntaxToken> {
6270 support::token(&self.syntax, SyntaxKind::KEEP_KW)
6271 }
6272 #[inline]
6273 pub fn omit_token(&self) -> Option<SyntaxToken> {
6274 support::token(&self.syntax, SyntaxKind::OMIT_KW)
6275 }
6276 #[inline]
6277 pub fn quotes_token(&self) -> Option<SyntaxToken> {
6278 support::token(&self.syntax, SyntaxKind::QUOTES_KW)
6279 }
6280}
6281
6282#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6283pub struct JsonReturningClause {
6284 pub(crate) syntax: SyntaxNode,
6285}
6286impl JsonReturningClause {
6287 #[inline]
6288 pub fn ty(&self) -> Option<Type> {
6289 support::child(&self.syntax)
6290 }
6291 #[inline]
6292 pub fn returning_token(&self) -> Option<SyntaxToken> {
6293 support::token(&self.syntax, SyntaxKind::RETURNING_KW)
6294 }
6295}
6296
6297#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6298pub struct JsonTableColumn {
6299 pub(crate) syntax: SyntaxNode,
6300}
6301impl JsonTableColumn {
6302 #[inline]
6303 pub fn expr(&self) -> Option<Expr> {
6304 support::child(&self.syntax)
6305 }
6306 #[inline]
6307 pub fn name(&self) -> Option<Name> {
6308 support::child(&self.syntax)
6309 }
6310 #[inline]
6311 pub fn ty(&self) -> Option<Type> {
6312 support::child(&self.syntax)
6313 }
6314 #[inline]
6315 pub fn for_token(&self) -> Option<SyntaxToken> {
6316 support::token(&self.syntax, SyntaxKind::FOR_KW)
6317 }
6318 #[inline]
6319 pub fn nested_token(&self) -> Option<SyntaxToken> {
6320 support::token(&self.syntax, SyntaxKind::NESTED_KW)
6321 }
6322 #[inline]
6323 pub fn ordinality_token(&self) -> Option<SyntaxToken> {
6324 support::token(&self.syntax, SyntaxKind::ORDINALITY_KW)
6325 }
6326 #[inline]
6327 pub fn path_token(&self) -> Option<SyntaxToken> {
6328 support::token(&self.syntax, SyntaxKind::PATH_KW)
6329 }
6330}
6331
6332#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6333pub struct JsonTableColumnList {
6334 pub(crate) syntax: SyntaxNode,
6335}
6336impl JsonTableColumnList {
6337 #[inline]
6338 pub fn json_table_columns(&self) -> AstChildren<JsonTableColumn> {
6339 support::children(&self.syntax)
6340 }
6341 #[inline]
6342 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
6343 support::token(&self.syntax, SyntaxKind::L_PAREN)
6344 }
6345 #[inline]
6346 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
6347 support::token(&self.syntax, SyntaxKind::R_PAREN)
6348 }
6349 #[inline]
6350 pub fn columns_token(&self) -> Option<SyntaxToken> {
6351 support::token(&self.syntax, SyntaxKind::COLUMNS_KW)
6352 }
6353}
6354
6355#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6356pub struct JsonValueExpr {
6357 pub(crate) syntax: SyntaxNode,
6358}
6359impl JsonValueExpr {
6360 #[inline]
6361 pub fn expr(&self) -> Option<Expr> {
6362 support::child(&self.syntax)
6363 }
6364 #[inline]
6365 pub fn json_format_clause(&self) -> Option<JsonFormatClause> {
6366 support::child(&self.syntax)
6367 }
6368}
6369
6370#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6371pub struct JsonWrapperBehaviorClause {
6372 pub(crate) syntax: SyntaxNode,
6373}
6374impl JsonWrapperBehaviorClause {
6375 #[inline]
6376 pub fn conditional_token(&self) -> Option<SyntaxToken> {
6377 support::token(&self.syntax, SyntaxKind::CONDITIONAL_KW)
6378 }
6379 #[inline]
6380 pub fn with_token(&self) -> Option<SyntaxToken> {
6381 support::token(&self.syntax, SyntaxKind::WITH_KW)
6382 }
6383 #[inline]
6384 pub fn without_token(&self) -> Option<SyntaxToken> {
6385 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
6386 }
6387 #[inline]
6388 pub fn wrapper_token(&self) -> Option<SyntaxToken> {
6389 support::token(&self.syntax, SyntaxKind::WRAPPER_KW)
6390 }
6391}
6392
6393#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6394pub struct LanguageFuncOption {
6395 pub(crate) syntax: SyntaxNode,
6396}
6397impl LanguageFuncOption {
6398 #[inline]
6399 pub fn name_ref(&self) -> Option<NameRef> {
6400 support::child(&self.syntax)
6401 }
6402 #[inline]
6403 pub fn language_token(&self) -> Option<SyntaxToken> {
6404 support::token(&self.syntax, SyntaxKind::LANGUAGE_KW)
6405 }
6406}
6407
6408#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6409pub struct LeakproofFuncOption {
6410 pub(crate) syntax: SyntaxNode,
6411}
6412impl LeakproofFuncOption {
6413 #[inline]
6414 pub fn leakproof_token(&self) -> Option<SyntaxToken> {
6415 support::token(&self.syntax, SyntaxKind::LEAKPROOF_KW)
6416 }
6417 #[inline]
6418 pub fn not_token(&self) -> Option<SyntaxToken> {
6419 support::token(&self.syntax, SyntaxKind::NOT_KW)
6420 }
6421}
6422
6423#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6424pub struct LikeClause {
6425 pub(crate) syntax: SyntaxNode,
6426}
6427impl LikeClause {
6428 #[inline]
6429 pub fn like_options(&self) -> AstChildren<LikeOption> {
6430 support::children(&self.syntax)
6431 }
6432 #[inline]
6433 pub fn like_token(&self) -> Option<SyntaxToken> {
6434 support::token(&self.syntax, SyntaxKind::LIKE_KW)
6435 }
6436}
6437
6438#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6439pub struct LikeOption {
6440 pub(crate) syntax: SyntaxNode,
6441}
6442impl LikeOption {
6443 #[inline]
6444 pub fn comments_token(&self) -> Option<SyntaxToken> {
6445 support::token(&self.syntax, SyntaxKind::COMMENTS_KW)
6446 }
6447 #[inline]
6448 pub fn compression_token(&self) -> Option<SyntaxToken> {
6449 support::token(&self.syntax, SyntaxKind::COMPRESSION_KW)
6450 }
6451 #[inline]
6452 pub fn constraints_token(&self) -> Option<SyntaxToken> {
6453 support::token(&self.syntax, SyntaxKind::CONSTRAINTS_KW)
6454 }
6455 #[inline]
6456 pub fn defaults_token(&self) -> Option<SyntaxToken> {
6457 support::token(&self.syntax, SyntaxKind::DEFAULTS_KW)
6458 }
6459 #[inline]
6460 pub fn excluding_token(&self) -> Option<SyntaxToken> {
6461 support::token(&self.syntax, SyntaxKind::EXCLUDING_KW)
6462 }
6463 #[inline]
6464 pub fn generated_token(&self) -> Option<SyntaxToken> {
6465 support::token(&self.syntax, SyntaxKind::GENERATED_KW)
6466 }
6467 #[inline]
6468 pub fn identity_token(&self) -> Option<SyntaxToken> {
6469 support::token(&self.syntax, SyntaxKind::IDENTITY_KW)
6470 }
6471 #[inline]
6472 pub fn including_token(&self) -> Option<SyntaxToken> {
6473 support::token(&self.syntax, SyntaxKind::INCLUDING_KW)
6474 }
6475 #[inline]
6476 pub fn indexes_token(&self) -> Option<SyntaxToken> {
6477 support::token(&self.syntax, SyntaxKind::INDEXES_KW)
6478 }
6479}
6480
6481#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6482pub struct LimitClause {
6483 pub(crate) syntax: SyntaxNode,
6484}
6485impl LimitClause {
6486 #[inline]
6487 pub fn expr(&self) -> Option<Expr> {
6488 support::child(&self.syntax)
6489 }
6490 #[inline]
6491 pub fn all_token(&self) -> Option<SyntaxToken> {
6492 support::token(&self.syntax, SyntaxKind::ALL_KW)
6493 }
6494 #[inline]
6495 pub fn limit_token(&self) -> Option<SyntaxToken> {
6496 support::token(&self.syntax, SyntaxKind::LIMIT_KW)
6497 }
6498}
6499
6500#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6501pub struct Listen {
6502 pub(crate) syntax: SyntaxNode,
6503}
6504impl Listen {
6505 #[inline]
6506 pub fn name_ref(&self) -> Option<NameRef> {
6507 support::child(&self.syntax)
6508 }
6509 #[inline]
6510 pub fn listen_token(&self) -> Option<SyntaxToken> {
6511 support::token(&self.syntax, SyntaxKind::LISTEN_KW)
6512 }
6513}
6514
6515#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6516pub struct Literal {
6517 pub(crate) syntax: SyntaxNode,
6518}
6519impl Literal {}
6520
6521#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6522pub struct Load {
6523 pub(crate) syntax: SyntaxNode,
6524}
6525impl Load {
6526 #[inline]
6527 pub fn load_token(&self) -> Option<SyntaxToken> {
6528 support::token(&self.syntax, SyntaxKind::LOAD_KW)
6529 }
6530}
6531
6532#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6533pub struct Lock {
6534 pub(crate) syntax: SyntaxNode,
6535}
6536impl Lock {
6537 #[inline]
6538 pub fn lock_token(&self) -> Option<SyntaxToken> {
6539 support::token(&self.syntax, SyntaxKind::LOCK_KW)
6540 }
6541 #[inline]
6542 pub fn table_token(&self) -> Option<SyntaxToken> {
6543 support::token(&self.syntax, SyntaxKind::TABLE_KW)
6544 }
6545}
6546
6547#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6548pub struct LockingClause {
6549 pub(crate) syntax: SyntaxNode,
6550}
6551impl LockingClause {
6552 #[inline]
6553 pub fn for_token(&self) -> Option<SyntaxToken> {
6554 support::token(&self.syntax, SyntaxKind::FOR_KW)
6555 }
6556}
6557
6558#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6559pub struct Lteq {
6560 pub(crate) syntax: SyntaxNode,
6561}
6562impl Lteq {
6563 #[inline]
6564 pub fn l_angle_token(&self) -> Option<SyntaxToken> {
6565 support::token(&self.syntax, SyntaxKind::L_ANGLE)
6566 }
6567 #[inline]
6568 pub fn eq_token(&self) -> Option<SyntaxToken> {
6569 support::token(&self.syntax, SyntaxKind::EQ)
6570 }
6571}
6572
6573#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6574pub struct MatchFull {
6575 pub(crate) syntax: SyntaxNode,
6576}
6577impl MatchFull {
6578 #[inline]
6579 pub fn full_token(&self) -> Option<SyntaxToken> {
6580 support::token(&self.syntax, SyntaxKind::FULL_KW)
6581 }
6582 #[inline]
6583 pub fn match_token(&self) -> Option<SyntaxToken> {
6584 support::token(&self.syntax, SyntaxKind::MATCH_KW)
6585 }
6586}
6587
6588#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6589pub struct MatchPartial {
6590 pub(crate) syntax: SyntaxNode,
6591}
6592impl MatchPartial {
6593 #[inline]
6594 pub fn match_token(&self) -> Option<SyntaxToken> {
6595 support::token(&self.syntax, SyntaxKind::MATCH_KW)
6596 }
6597 #[inline]
6598 pub fn partial_token(&self) -> Option<SyntaxToken> {
6599 support::token(&self.syntax, SyntaxKind::PARTIAL_KW)
6600 }
6601}
6602
6603#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6604pub struct MatchSimple {
6605 pub(crate) syntax: SyntaxNode,
6606}
6607impl MatchSimple {
6608 #[inline]
6609 pub fn match_token(&self) -> Option<SyntaxToken> {
6610 support::token(&self.syntax, SyntaxKind::MATCH_KW)
6611 }
6612 #[inline]
6613 pub fn simple_token(&self) -> Option<SyntaxToken> {
6614 support::token(&self.syntax, SyntaxKind::SIMPLE_KW)
6615 }
6616}
6617
6618#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6619pub struct Materialized {
6620 pub(crate) syntax: SyntaxNode,
6621}
6622impl Materialized {
6623 #[inline]
6624 pub fn materialized_token(&self) -> Option<SyntaxToken> {
6625 support::token(&self.syntax, SyntaxKind::MATERIALIZED_KW)
6626 }
6627}
6628
6629#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6630pub struct Merge {
6631 pub(crate) syntax: SyntaxNode,
6632}
6633impl Merge {
6634 #[inline]
6635 pub fn alias(&self) -> Option<Alias> {
6636 support::child(&self.syntax)
6637 }
6638 #[inline]
6639 pub fn merge_when_clauses(&self) -> AstChildren<MergeWhenClause> {
6640 support::children(&self.syntax)
6641 }
6642 #[inline]
6643 pub fn relation_name(&self) -> Option<RelationName> {
6644 support::child(&self.syntax)
6645 }
6646 #[inline]
6647 pub fn using_clause(&self) -> Option<UsingClause> {
6648 support::child(&self.syntax)
6649 }
6650 #[inline]
6651 pub fn into_token(&self) -> Option<SyntaxToken> {
6652 support::token(&self.syntax, SyntaxKind::INTO_KW)
6653 }
6654 #[inline]
6655 pub fn merge_token(&self) -> Option<SyntaxToken> {
6656 support::token(&self.syntax, SyntaxKind::MERGE_KW)
6657 }
6658}
6659
6660#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6661pub struct MergeDelete {
6662 pub(crate) syntax: SyntaxNode,
6663}
6664impl MergeDelete {
6665 #[inline]
6666 pub fn delete_token(&self) -> Option<SyntaxToken> {
6667 support::token(&self.syntax, SyntaxKind::DELETE_KW)
6668 }
6669}
6670
6671#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6672pub struct MergeDoNothing {
6673 pub(crate) syntax: SyntaxNode,
6674}
6675impl MergeDoNothing {
6676 #[inline]
6677 pub fn do_token(&self) -> Option<SyntaxToken> {
6678 support::token(&self.syntax, SyntaxKind::DO_KW)
6679 }
6680 #[inline]
6681 pub fn nothing_token(&self) -> Option<SyntaxToken> {
6682 support::token(&self.syntax, SyntaxKind::NOTHING_KW)
6683 }
6684}
6685
6686#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6687pub struct MergeInsert {
6688 pub(crate) syntax: SyntaxNode,
6689}
6690impl MergeInsert {
6691 #[inline]
6692 pub fn insert_token(&self) -> Option<SyntaxToken> {
6693 support::token(&self.syntax, SyntaxKind::INSERT_KW)
6694 }
6695}
6696
6697#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6698pub struct MergeUpdate {
6699 pub(crate) syntax: SyntaxNode,
6700}
6701impl MergeUpdate {
6702 #[inline]
6703 pub fn set_token(&self) -> Option<SyntaxToken> {
6704 support::token(&self.syntax, SyntaxKind::SET_KW)
6705 }
6706 #[inline]
6707 pub fn update_token(&self) -> Option<SyntaxToken> {
6708 support::token(&self.syntax, SyntaxKind::UPDATE_KW)
6709 }
6710}
6711
6712#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6713pub struct MergeWhenMatched {
6714 pub(crate) syntax: SyntaxNode,
6715}
6716impl MergeWhenMatched {
6717 #[inline]
6718 pub fn condition(&self) -> Option<Expr> {
6719 support::child(&self.syntax)
6720 }
6721 #[inline]
6722 pub fn merge_action(&self) -> Option<MergeAction> {
6723 support::child(&self.syntax)
6724 }
6725 #[inline]
6726 pub fn and_token(&self) -> Option<SyntaxToken> {
6727 support::token(&self.syntax, SyntaxKind::AND_KW)
6728 }
6729 #[inline]
6730 pub fn matched_token(&self) -> Option<SyntaxToken> {
6731 support::token(&self.syntax, SyntaxKind::MATCHED_KW)
6732 }
6733 #[inline]
6734 pub fn then_token(&self) -> Option<SyntaxToken> {
6735 support::token(&self.syntax, SyntaxKind::THEN_KW)
6736 }
6737 #[inline]
6738 pub fn when_token(&self) -> Option<SyntaxToken> {
6739 support::token(&self.syntax, SyntaxKind::WHEN_KW)
6740 }
6741}
6742
6743#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6744pub struct MergeWhenNotMatchedSource {
6745 pub(crate) syntax: SyntaxNode,
6746}
6747impl MergeWhenNotMatchedSource {
6748 #[inline]
6749 pub fn condition(&self) -> Option<Expr> {
6750 support::child(&self.syntax)
6751 }
6752 #[inline]
6753 pub fn merge_action(&self) -> Option<MergeAction> {
6754 support::child(&self.syntax)
6755 }
6756 #[inline]
6757 pub fn and_token(&self) -> Option<SyntaxToken> {
6758 support::token(&self.syntax, SyntaxKind::AND_KW)
6759 }
6760 #[inline]
6761 pub fn by_token(&self) -> Option<SyntaxToken> {
6762 support::token(&self.syntax, SyntaxKind::BY_KW)
6763 }
6764 #[inline]
6765 pub fn matched_token(&self) -> Option<SyntaxToken> {
6766 support::token(&self.syntax, SyntaxKind::MATCHED_KW)
6767 }
6768 #[inline]
6769 pub fn not_token(&self) -> Option<SyntaxToken> {
6770 support::token(&self.syntax, SyntaxKind::NOT_KW)
6771 }
6772 #[inline]
6773 pub fn source_token(&self) -> Option<SyntaxToken> {
6774 support::token(&self.syntax, SyntaxKind::SOURCE_KW)
6775 }
6776 #[inline]
6777 pub fn then_token(&self) -> Option<SyntaxToken> {
6778 support::token(&self.syntax, SyntaxKind::THEN_KW)
6779 }
6780 #[inline]
6781 pub fn when_token(&self) -> Option<SyntaxToken> {
6782 support::token(&self.syntax, SyntaxKind::WHEN_KW)
6783 }
6784}
6785
6786#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6787pub struct MergeWhenNotMatchedTarget {
6788 pub(crate) syntax: SyntaxNode,
6789}
6790impl MergeWhenNotMatchedTarget {
6791 #[inline]
6792 pub fn condition(&self) -> Option<Expr> {
6793 support::child(&self.syntax)
6794 }
6795 #[inline]
6796 pub fn merge_action(&self) -> Option<MergeAction> {
6797 support::child(&self.syntax)
6798 }
6799 #[inline]
6800 pub fn and_token(&self) -> Option<SyntaxToken> {
6801 support::token(&self.syntax, SyntaxKind::AND_KW)
6802 }
6803 #[inline]
6804 pub fn by_token(&self) -> Option<SyntaxToken> {
6805 support::token(&self.syntax, SyntaxKind::BY_KW)
6806 }
6807 #[inline]
6808 pub fn matched_token(&self) -> Option<SyntaxToken> {
6809 support::token(&self.syntax, SyntaxKind::MATCHED_KW)
6810 }
6811 #[inline]
6812 pub fn not_token(&self) -> Option<SyntaxToken> {
6813 support::token(&self.syntax, SyntaxKind::NOT_KW)
6814 }
6815 #[inline]
6816 pub fn target_token(&self) -> Option<SyntaxToken> {
6817 support::token(&self.syntax, SyntaxKind::TARGET_KW)
6818 }
6819 #[inline]
6820 pub fn then_token(&self) -> Option<SyntaxToken> {
6821 support::token(&self.syntax, SyntaxKind::THEN_KW)
6822 }
6823 #[inline]
6824 pub fn when_token(&self) -> Option<SyntaxToken> {
6825 support::token(&self.syntax, SyntaxKind::WHEN_KW)
6826 }
6827}
6828
6829#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6830pub struct Move {
6831 pub(crate) syntax: SyntaxNode,
6832}
6833impl Move {
6834 #[inline]
6835 pub fn move_token(&self) -> Option<SyntaxToken> {
6836 support::token(&self.syntax, SyntaxKind::MOVE_KW)
6837 }
6838}
6839
6840#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6841pub struct Name {
6842 pub(crate) syntax: SyntaxNode,
6843}
6844impl Name {
6845 #[inline]
6846 pub fn ident_token(&self) -> Option<SyntaxToken> {
6847 support::token(&self.syntax, SyntaxKind::IDENT)
6848 }
6849}
6850
6851#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6852pub struct NameRef {
6853 pub(crate) syntax: SyntaxNode,
6854}
6855impl NameRef {
6856 #[inline]
6857 pub fn ident_token(&self) -> Option<SyntaxToken> {
6858 support::token(&self.syntax, SyntaxKind::IDENT)
6859 }
6860}
6861
6862#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6863pub struct NamedArg {
6864 pub(crate) syntax: SyntaxNode,
6865}
6866impl NamedArg {
6867 #[inline]
6868 pub fn expr(&self) -> Option<Expr> {
6869 support::child(&self.syntax)
6870 }
6871 #[inline]
6872 pub fn fat_arrow(&self) -> Option<FatArrow> {
6873 support::child(&self.syntax)
6874 }
6875 #[inline]
6876 pub fn name_ref(&self) -> Option<NameRef> {
6877 support::child(&self.syntax)
6878 }
6879}
6880
6881#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6882pub struct Neq {
6883 pub(crate) syntax: SyntaxNode,
6884}
6885impl Neq {
6886 #[inline]
6887 pub fn bang_token(&self) -> Option<SyntaxToken> {
6888 support::token(&self.syntax, SyntaxKind::BANG)
6889 }
6890 #[inline]
6891 pub fn eq_token(&self) -> Option<SyntaxToken> {
6892 support::token(&self.syntax, SyntaxKind::EQ)
6893 }
6894}
6895
6896#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6897pub struct Neqb {
6898 pub(crate) syntax: SyntaxNode,
6899}
6900impl Neqb {
6901 #[inline]
6902 pub fn l_angle_token(&self) -> Option<SyntaxToken> {
6903 support::token(&self.syntax, SyntaxKind::L_ANGLE)
6904 }
6905 #[inline]
6906 pub fn r_angle_token(&self) -> Option<SyntaxToken> {
6907 support::token(&self.syntax, SyntaxKind::R_ANGLE)
6908 }
6909}
6910
6911#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6912pub struct NoAction {
6913 pub(crate) syntax: SyntaxNode,
6914}
6915impl NoAction {
6916 #[inline]
6917 pub fn action_token(&self) -> Option<SyntaxToken> {
6918 support::token(&self.syntax, SyntaxKind::ACTION_KW)
6919 }
6920 #[inline]
6921 pub fn no_token(&self) -> Option<SyntaxToken> {
6922 support::token(&self.syntax, SyntaxKind::NO_KW)
6923 }
6924}
6925
6926#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6927pub struct NoForceRls {
6928 pub(crate) syntax: SyntaxNode,
6929}
6930impl NoForceRls {
6931 #[inline]
6932 pub fn force_token(&self) -> Option<SyntaxToken> {
6933 support::token(&self.syntax, SyntaxKind::FORCE_KW)
6934 }
6935 #[inline]
6936 pub fn level_token(&self) -> Option<SyntaxToken> {
6937 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
6938 }
6939 #[inline]
6940 pub fn no_token(&self) -> Option<SyntaxToken> {
6941 support::token(&self.syntax, SyntaxKind::NO_KW)
6942 }
6943 #[inline]
6944 pub fn row_token(&self) -> Option<SyntaxToken> {
6945 support::token(&self.syntax, SyntaxKind::ROW_KW)
6946 }
6947 #[inline]
6948 pub fn security_token(&self) -> Option<SyntaxToken> {
6949 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
6950 }
6951}
6952
6953#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6954pub struct NoInherit {
6955 pub(crate) syntax: SyntaxNode,
6956}
6957impl NoInherit {
6958 #[inline]
6959 pub fn inherit_token(&self) -> Option<SyntaxToken> {
6960 support::token(&self.syntax, SyntaxKind::INHERIT_KW)
6961 }
6962 #[inline]
6963 pub fn no_token(&self) -> Option<SyntaxToken> {
6964 support::token(&self.syntax, SyntaxKind::NO_KW)
6965 }
6966}
6967
6968#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6969pub struct NonStandardParam {
6970 pub(crate) syntax: SyntaxNode,
6971}
6972impl NonStandardParam {
6973 #[inline]
6974 pub fn name_ref(&self) -> Option<NameRef> {
6975 support::child(&self.syntax)
6976 }
6977 #[inline]
6978 pub fn colon_token(&self) -> Option<SyntaxToken> {
6979 support::token(&self.syntax, SyntaxKind::COLON)
6980 }
6981}
6982
6983#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6984pub struct NotDeferrable {
6985 pub(crate) syntax: SyntaxNode,
6986}
6987impl NotDeferrable {
6988 #[inline]
6989 pub fn deferrable_token(&self) -> Option<SyntaxToken> {
6990 support::token(&self.syntax, SyntaxKind::DEFERRABLE_KW)
6991 }
6992 #[inline]
6993 pub fn not_token(&self) -> Option<SyntaxToken> {
6994 support::token(&self.syntax, SyntaxKind::NOT_KW)
6995 }
6996}
6997
6998#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6999pub struct NotDeferrableConstraintOption {
7000 pub(crate) syntax: SyntaxNode,
7001}
7002impl NotDeferrableConstraintOption {
7003 #[inline]
7004 pub fn deferrable_token(&self) -> Option<SyntaxToken> {
7005 support::token(&self.syntax, SyntaxKind::DEFERRABLE_KW)
7006 }
7007 #[inline]
7008 pub fn not_token(&self) -> Option<SyntaxToken> {
7009 support::token(&self.syntax, SyntaxKind::NOT_KW)
7010 }
7011}
7012
7013#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7014pub struct NotEnforced {
7015 pub(crate) syntax: SyntaxNode,
7016}
7017impl NotEnforced {
7018 #[inline]
7019 pub fn enforced_token(&self) -> Option<SyntaxToken> {
7020 support::token(&self.syntax, SyntaxKind::ENFORCED_KW)
7021 }
7022 #[inline]
7023 pub fn not_token(&self) -> Option<SyntaxToken> {
7024 support::token(&self.syntax, SyntaxKind::NOT_KW)
7025 }
7026}
7027
7028#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7029pub struct NotIlike {
7030 pub(crate) syntax: SyntaxNode,
7031}
7032impl NotIlike {
7033 #[inline]
7034 pub fn ilike_token(&self) -> Option<SyntaxToken> {
7035 support::token(&self.syntax, SyntaxKind::ILIKE_KW)
7036 }
7037 #[inline]
7038 pub fn not_token(&self) -> Option<SyntaxToken> {
7039 support::token(&self.syntax, SyntaxKind::NOT_KW)
7040 }
7041}
7042
7043#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7044pub struct NotIn {
7045 pub(crate) syntax: SyntaxNode,
7046}
7047impl NotIn {
7048 #[inline]
7049 pub fn in_token(&self) -> Option<SyntaxToken> {
7050 support::token(&self.syntax, SyntaxKind::IN_KW)
7051 }
7052 #[inline]
7053 pub fn not_token(&self) -> Option<SyntaxToken> {
7054 support::token(&self.syntax, SyntaxKind::NOT_KW)
7055 }
7056}
7057
7058#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7059pub struct NotLike {
7060 pub(crate) syntax: SyntaxNode,
7061}
7062impl NotLike {
7063 #[inline]
7064 pub fn like_token(&self) -> Option<SyntaxToken> {
7065 support::token(&self.syntax, SyntaxKind::LIKE_KW)
7066 }
7067 #[inline]
7068 pub fn not_token(&self) -> Option<SyntaxToken> {
7069 support::token(&self.syntax, SyntaxKind::NOT_KW)
7070 }
7071}
7072
7073#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7074pub struct NotMaterialized {
7075 pub(crate) syntax: SyntaxNode,
7076}
7077impl NotMaterialized {
7078 #[inline]
7079 pub fn materialized_token(&self) -> Option<SyntaxToken> {
7080 support::token(&self.syntax, SyntaxKind::MATERIALIZED_KW)
7081 }
7082 #[inline]
7083 pub fn not_token(&self) -> Option<SyntaxToken> {
7084 support::token(&self.syntax, SyntaxKind::NOT_KW)
7085 }
7086}
7087
7088#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7089pub struct NotNullConstraint {
7090 pub(crate) syntax: SyntaxNode,
7091}
7092impl NotNullConstraint {
7093 #[inline]
7094 pub fn name_ref(&self) -> Option<NameRef> {
7095 support::child(&self.syntax)
7096 }
7097 #[inline]
7098 pub fn no_inherit(&self) -> Option<NoInherit> {
7099 support::child(&self.syntax)
7100 }
7101 #[inline]
7102 pub fn constraint_token(&self) -> Option<SyntaxToken> {
7103 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
7104 }
7105 #[inline]
7106 pub fn not_token(&self) -> Option<SyntaxToken> {
7107 support::token(&self.syntax, SyntaxKind::NOT_KW)
7108 }
7109 #[inline]
7110 pub fn null_token(&self) -> Option<SyntaxToken> {
7111 support::token(&self.syntax, SyntaxKind::NULL_KW)
7112 }
7113}
7114
7115#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7116pub struct NotOf {
7117 pub(crate) syntax: SyntaxNode,
7118}
7119impl NotOf {
7120 #[inline]
7121 pub fn not_token(&self) -> Option<SyntaxToken> {
7122 support::token(&self.syntax, SyntaxKind::NOT_KW)
7123 }
7124 #[inline]
7125 pub fn of_token(&self) -> Option<SyntaxToken> {
7126 support::token(&self.syntax, SyntaxKind::OF_KW)
7127 }
7128}
7129
7130#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7131pub struct NotSimilarTo {
7132 pub(crate) syntax: SyntaxNode,
7133}
7134impl NotSimilarTo {
7135 #[inline]
7136 pub fn not_token(&self) -> Option<SyntaxToken> {
7137 support::token(&self.syntax, SyntaxKind::NOT_KW)
7138 }
7139 #[inline]
7140 pub fn similar_token(&self) -> Option<SyntaxToken> {
7141 support::token(&self.syntax, SyntaxKind::SIMILAR_KW)
7142 }
7143 #[inline]
7144 pub fn to_token(&self) -> Option<SyntaxToken> {
7145 support::token(&self.syntax, SyntaxKind::TO_KW)
7146 }
7147}
7148
7149#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7150pub struct NotValid {
7151 pub(crate) syntax: SyntaxNode,
7152}
7153impl NotValid {
7154 #[inline]
7155 pub fn not_token(&self) -> Option<SyntaxToken> {
7156 support::token(&self.syntax, SyntaxKind::NOT_KW)
7157 }
7158 #[inline]
7159 pub fn valid_token(&self) -> Option<SyntaxToken> {
7160 support::token(&self.syntax, SyntaxKind::VALID_KW)
7161 }
7162}
7163
7164#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7165pub struct Notify {
7166 pub(crate) syntax: SyntaxNode,
7167}
7168impl Notify {
7169 #[inline]
7170 pub fn notify_token(&self) -> Option<SyntaxToken> {
7171 support::token(&self.syntax, SyntaxKind::NOTIFY_KW)
7172 }
7173}
7174
7175#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7176pub struct NullConstraint {
7177 pub(crate) syntax: SyntaxNode,
7178}
7179impl NullConstraint {
7180 #[inline]
7181 pub fn name_ref(&self) -> Option<NameRef> {
7182 support::child(&self.syntax)
7183 }
7184 #[inline]
7185 pub fn constraint_token(&self) -> Option<SyntaxToken> {
7186 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
7187 }
7188 #[inline]
7189 pub fn null_token(&self) -> Option<SyntaxToken> {
7190 support::token(&self.syntax, SyntaxKind::NULL_KW)
7191 }
7192}
7193
7194#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7195pub struct NullsDistinct {
7196 pub(crate) syntax: SyntaxNode,
7197}
7198impl NullsDistinct {
7199 #[inline]
7200 pub fn distinct_token(&self) -> Option<SyntaxToken> {
7201 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
7202 }
7203 #[inline]
7204 pub fn nulls_token(&self) -> Option<SyntaxToken> {
7205 support::token(&self.syntax, SyntaxKind::NULLS_KW)
7206 }
7207}
7208
7209#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7210pub struct NullsFirst {
7211 pub(crate) syntax: SyntaxNode,
7212}
7213impl NullsFirst {
7214 #[inline]
7215 pub fn first_token(&self) -> Option<SyntaxToken> {
7216 support::token(&self.syntax, SyntaxKind::FIRST_KW)
7217 }
7218 #[inline]
7219 pub fn nulls_token(&self) -> Option<SyntaxToken> {
7220 support::token(&self.syntax, SyntaxKind::NULLS_KW)
7221 }
7222}
7223
7224#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7225pub struct NullsLast {
7226 pub(crate) syntax: SyntaxNode,
7227}
7228impl NullsLast {
7229 #[inline]
7230 pub fn last_token(&self) -> Option<SyntaxToken> {
7231 support::token(&self.syntax, SyntaxKind::LAST_KW)
7232 }
7233 #[inline]
7234 pub fn nulls_token(&self) -> Option<SyntaxToken> {
7235 support::token(&self.syntax, SyntaxKind::NULLS_KW)
7236 }
7237}
7238
7239#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7240pub struct NullsNotDistinct {
7241 pub(crate) syntax: SyntaxNode,
7242}
7243impl NullsNotDistinct {
7244 #[inline]
7245 pub fn distinct_token(&self) -> Option<SyntaxToken> {
7246 support::token(&self.syntax, SyntaxKind::DISTINCT_KW)
7247 }
7248 #[inline]
7249 pub fn not_token(&self) -> Option<SyntaxToken> {
7250 support::token(&self.syntax, SyntaxKind::NOT_KW)
7251 }
7252 #[inline]
7253 pub fn nulls_token(&self) -> Option<SyntaxToken> {
7254 support::token(&self.syntax, SyntaxKind::NULLS_KW)
7255 }
7256}
7257
7258#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7259pub struct OfType {
7260 pub(crate) syntax: SyntaxNode,
7261}
7262impl OfType {
7263 #[inline]
7264 pub fn ty(&self) -> Option<Type> {
7265 support::child(&self.syntax)
7266 }
7267 #[inline]
7268 pub fn of_token(&self) -> Option<SyntaxToken> {
7269 support::token(&self.syntax, SyntaxKind::OF_KW)
7270 }
7271}
7272
7273#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7274pub struct OffsetClause {
7275 pub(crate) syntax: SyntaxNode,
7276}
7277impl OffsetClause {
7278 #[inline]
7279 pub fn expr(&self) -> Option<Expr> {
7280 support::child(&self.syntax)
7281 }
7282 #[inline]
7283 pub fn offset_token(&self) -> Option<SyntaxToken> {
7284 support::token(&self.syntax, SyntaxKind::OFFSET_KW)
7285 }
7286 #[inline]
7287 pub fn row_token(&self) -> Option<SyntaxToken> {
7288 support::token(&self.syntax, SyntaxKind::ROW_KW)
7289 }
7290 #[inline]
7291 pub fn rows_token(&self) -> Option<SyntaxToken> {
7292 support::token(&self.syntax, SyntaxKind::ROWS_KW)
7293 }
7294}
7295
7296#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7297pub struct OnClause {
7298 pub(crate) syntax: SyntaxNode,
7299}
7300impl OnClause {
7301 #[inline]
7302 pub fn expr(&self) -> Option<Expr> {
7303 support::child(&self.syntax)
7304 }
7305 #[inline]
7306 pub fn on_token(&self) -> Option<SyntaxToken> {
7307 support::token(&self.syntax, SyntaxKind::ON_KW)
7308 }
7309}
7310
7311#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7312pub struct OnCommit {
7313 pub(crate) syntax: SyntaxNode,
7314}
7315impl OnCommit {
7316 #[inline]
7317 pub fn on_commit_action(&self) -> Option<OnCommitAction> {
7318 support::child(&self.syntax)
7319 }
7320 #[inline]
7321 pub fn commit_token(&self) -> Option<SyntaxToken> {
7322 support::token(&self.syntax, SyntaxKind::COMMIT_KW)
7323 }
7324 #[inline]
7325 pub fn on_token(&self) -> Option<SyntaxToken> {
7326 support::token(&self.syntax, SyntaxKind::ON_KW)
7327 }
7328}
7329
7330#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7331pub struct OnDeleteAction {
7332 pub(crate) syntax: SyntaxNode,
7333}
7334impl OnDeleteAction {
7335 #[inline]
7336 pub fn ref_action(&self) -> Option<RefAction> {
7337 support::child(&self.syntax)
7338 }
7339 #[inline]
7340 pub fn delete_token(&self) -> Option<SyntaxToken> {
7341 support::token(&self.syntax, SyntaxKind::DELETE_KW)
7342 }
7343 #[inline]
7344 pub fn on_token(&self) -> Option<SyntaxToken> {
7345 support::token(&self.syntax, SyntaxKind::ON_KW)
7346 }
7347}
7348
7349#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7350pub struct OnUpdateAction {
7351 pub(crate) syntax: SyntaxNode,
7352}
7353impl OnUpdateAction {
7354 #[inline]
7355 pub fn ref_action(&self) -> Option<RefAction> {
7356 support::child(&self.syntax)
7357 }
7358 #[inline]
7359 pub fn on_token(&self) -> Option<SyntaxToken> {
7360 support::token(&self.syntax, SyntaxKind::ON_KW)
7361 }
7362 #[inline]
7363 pub fn update_token(&self) -> Option<SyntaxToken> {
7364 support::token(&self.syntax, SyntaxKind::UPDATE_KW)
7365 }
7366}
7367
7368#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7369pub struct Op {
7370 pub(crate) syntax: SyntaxNode,
7371}
7372impl Op {
7373 #[inline]
7374 pub fn at_time_zone(&self) -> Option<AtTimeZone> {
7375 support::child(&self.syntax)
7376 }
7377 #[inline]
7378 pub fn colon_colon(&self) -> Option<ColonColon> {
7379 support::child(&self.syntax)
7380 }
7381 #[inline]
7382 pub fn colon_eq(&self) -> Option<ColonEq> {
7383 support::child(&self.syntax)
7384 }
7385 #[inline]
7386 pub fn custom_op(&self) -> Option<CustomOp> {
7387 support::child(&self.syntax)
7388 }
7389 #[inline]
7390 pub fn fat_arrow(&self) -> Option<FatArrow> {
7391 support::child(&self.syntax)
7392 }
7393 #[inline]
7394 pub fn gteq(&self) -> Option<Gteq> {
7395 support::child(&self.syntax)
7396 }
7397 #[inline]
7398 pub fn is_distinct_from(&self) -> Option<IsDistinctFrom> {
7399 support::child(&self.syntax)
7400 }
7401 #[inline]
7402 pub fn is_json(&self) -> Option<IsJson> {
7403 support::child(&self.syntax)
7404 }
7405 #[inline]
7406 pub fn is_json_array(&self) -> Option<IsJsonArray> {
7407 support::child(&self.syntax)
7408 }
7409 #[inline]
7410 pub fn is_json_object(&self) -> Option<IsJsonObject> {
7411 support::child(&self.syntax)
7412 }
7413 #[inline]
7414 pub fn is_json_scalar(&self) -> Option<IsJsonScalar> {
7415 support::child(&self.syntax)
7416 }
7417 #[inline]
7418 pub fn is_json_value(&self) -> Option<IsJsonValue> {
7419 support::child(&self.syntax)
7420 }
7421 #[inline]
7422 pub fn is_not(&self) -> Option<IsNot> {
7423 support::child(&self.syntax)
7424 }
7425 #[inline]
7426 pub fn is_not_distinct_from(&self) -> Option<IsNotDistinctFrom> {
7427 support::child(&self.syntax)
7428 }
7429 #[inline]
7430 pub fn is_not_json(&self) -> Option<IsNotJson> {
7431 support::child(&self.syntax)
7432 }
7433 #[inline]
7434 pub fn is_not_json_array(&self) -> Option<IsNotJsonArray> {
7435 support::child(&self.syntax)
7436 }
7437 #[inline]
7438 pub fn is_not_json_scalar(&self) -> Option<IsNotJsonScalar> {
7439 support::child(&self.syntax)
7440 }
7441 #[inline]
7442 pub fn is_not_json_value(&self) -> Option<IsNotJsonValue> {
7443 support::child(&self.syntax)
7444 }
7445 #[inline]
7446 pub fn lteq(&self) -> Option<Lteq> {
7447 support::child(&self.syntax)
7448 }
7449 #[inline]
7450 pub fn neq(&self) -> Option<Neq> {
7451 support::child(&self.syntax)
7452 }
7453 #[inline]
7454 pub fn neqb(&self) -> Option<Neqb> {
7455 support::child(&self.syntax)
7456 }
7457 #[inline]
7458 pub fn not_ilike(&self) -> Option<NotIlike> {
7459 support::child(&self.syntax)
7460 }
7461 #[inline]
7462 pub fn not_in(&self) -> Option<NotIn> {
7463 support::child(&self.syntax)
7464 }
7465 #[inline]
7466 pub fn not_like(&self) -> Option<NotLike> {
7467 support::child(&self.syntax)
7468 }
7469 #[inline]
7470 pub fn not_similar_to(&self) -> Option<NotSimilarTo> {
7471 support::child(&self.syntax)
7472 }
7473 #[inline]
7474 pub fn operator_call(&self) -> Option<OperatorCall> {
7475 support::child(&self.syntax)
7476 }
7477 #[inline]
7478 pub fn similar_to(&self) -> Option<SimilarTo> {
7479 support::child(&self.syntax)
7480 }
7481 #[inline]
7482 pub fn percent_token(&self) -> Option<SyntaxToken> {
7483 support::token(&self.syntax, SyntaxKind::PERCENT)
7484 }
7485 #[inline]
7486 pub fn plus_token(&self) -> Option<SyntaxToken> {
7487 support::token(&self.syntax, SyntaxKind::PLUS)
7488 }
7489 #[inline]
7490 pub fn minus_token(&self) -> Option<SyntaxToken> {
7491 support::token(&self.syntax, SyntaxKind::MINUS)
7492 }
7493 #[inline]
7494 pub fn slash_token(&self) -> Option<SyntaxToken> {
7495 support::token(&self.syntax, SyntaxKind::SLASH)
7496 }
7497 #[inline]
7498 pub fn colon_token(&self) -> Option<SyntaxToken> {
7499 support::token(&self.syntax, SyntaxKind::COLON)
7500 }
7501 #[inline]
7502 pub fn l_angle_token(&self) -> Option<SyntaxToken> {
7503 support::token(&self.syntax, SyntaxKind::L_ANGLE)
7504 }
7505 #[inline]
7506 pub fn eq_token(&self) -> Option<SyntaxToken> {
7507 support::token(&self.syntax, SyntaxKind::EQ)
7508 }
7509 #[inline]
7510 pub fn r_angle_token(&self) -> Option<SyntaxToken> {
7511 support::token(&self.syntax, SyntaxKind::R_ANGLE)
7512 }
7513 #[inline]
7514 pub fn caret_token(&self) -> Option<SyntaxToken> {
7515 support::token(&self.syntax, SyntaxKind::CARET)
7516 }
7517 #[inline]
7518 pub fn and_token(&self) -> Option<SyntaxToken> {
7519 support::token(&self.syntax, SyntaxKind::AND_KW)
7520 }
7521 #[inline]
7522 pub fn collate_token(&self) -> Option<SyntaxToken> {
7523 support::token(&self.syntax, SyntaxKind::COLLATE_KW)
7524 }
7525 #[inline]
7526 pub fn ilike_token(&self) -> Option<SyntaxToken> {
7527 support::token(&self.syntax, SyntaxKind::ILIKE_KW)
7528 }
7529 #[inline]
7530 pub fn in_token(&self) -> Option<SyntaxToken> {
7531 support::token(&self.syntax, SyntaxKind::IN_KW)
7532 }
7533 #[inline]
7534 pub fn is_token(&self) -> Option<SyntaxToken> {
7535 support::token(&self.syntax, SyntaxKind::IS_KW)
7536 }
7537 #[inline]
7538 pub fn like_token(&self) -> Option<SyntaxToken> {
7539 support::token(&self.syntax, SyntaxKind::LIKE_KW)
7540 }
7541 #[inline]
7542 pub fn or_token(&self) -> Option<SyntaxToken> {
7543 support::token(&self.syntax, SyntaxKind::OR_KW)
7544 }
7545 #[inline]
7546 pub fn overlaps_token(&self) -> Option<SyntaxToken> {
7547 support::token(&self.syntax, SyntaxKind::OVERLAPS_KW)
7548 }
7549 #[inline]
7550 pub fn value_token(&self) -> Option<SyntaxToken> {
7551 support::token(&self.syntax, SyntaxKind::VALUE_KW)
7552 }
7553}
7554
7555#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7556pub struct OperatorCall {
7557 pub(crate) syntax: SyntaxNode,
7558}
7559impl OperatorCall {
7560 #[inline]
7561 pub fn op(&self) -> Option<Op> {
7562 support::child(&self.syntax)
7563 }
7564 #[inline]
7565 pub fn path(&self) -> Option<Path> {
7566 support::child(&self.syntax)
7567 }
7568 #[inline]
7569 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
7570 support::token(&self.syntax, SyntaxKind::L_PAREN)
7571 }
7572 #[inline]
7573 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
7574 support::token(&self.syntax, SyntaxKind::R_PAREN)
7575 }
7576 #[inline]
7577 pub fn dot_token(&self) -> Option<SyntaxToken> {
7578 support::token(&self.syntax, SyntaxKind::DOT)
7579 }
7580 #[inline]
7581 pub fn operator_token(&self) -> Option<SyntaxToken> {
7582 support::token(&self.syntax, SyntaxKind::OPERATOR_KW)
7583 }
7584}
7585
7586#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7587pub struct OptionsList {
7588 pub(crate) syntax: SyntaxNode,
7589}
7590impl OptionsList {
7591 #[inline]
7592 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
7593 support::token(&self.syntax, SyntaxKind::L_PAREN)
7594 }
7595 #[inline]
7596 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
7597 support::token(&self.syntax, SyntaxKind::R_PAREN)
7598 }
7599 #[inline]
7600 pub fn option_token(&self) -> Option<SyntaxToken> {
7601 support::token(&self.syntax, SyntaxKind::OPTION_KW)
7602 }
7603}
7604
7605#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7606pub struct OrReplace {
7607 pub(crate) syntax: SyntaxNode,
7608}
7609impl OrReplace {
7610 #[inline]
7611 pub fn or_token(&self) -> Option<SyntaxToken> {
7612 support::token(&self.syntax, SyntaxKind::OR_KW)
7613 }
7614 #[inline]
7615 pub fn replace_token(&self) -> Option<SyntaxToken> {
7616 support::token(&self.syntax, SyntaxKind::REPLACE_KW)
7617 }
7618}
7619
7620#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7621pub struct OrderByClause {
7622 pub(crate) syntax: SyntaxNode,
7623}
7624impl OrderByClause {
7625 #[inline]
7626 pub fn sort_by_list(&self) -> Option<SortByList> {
7627 support::child(&self.syntax)
7628 }
7629 #[inline]
7630 pub fn by_token(&self) -> Option<SyntaxToken> {
7631 support::token(&self.syntax, SyntaxKind::BY_KW)
7632 }
7633 #[inline]
7634 pub fn order_token(&self) -> Option<SyntaxToken> {
7635 support::token(&self.syntax, SyntaxKind::ORDER_KW)
7636 }
7637}
7638
7639#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7640pub struct OverClause {
7641 pub(crate) syntax: SyntaxNode,
7642}
7643impl OverClause {
7644 #[inline]
7645 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
7646 support::token(&self.syntax, SyntaxKind::L_PAREN)
7647 }
7648 #[inline]
7649 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
7650 support::token(&self.syntax, SyntaxKind::R_PAREN)
7651 }
7652 #[inline]
7653 pub fn over_token(&self) -> Option<SyntaxToken> {
7654 support::token(&self.syntax, SyntaxKind::OVER_KW)
7655 }
7656}
7657
7658#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7659pub struct OwnerTo {
7660 pub(crate) syntax: SyntaxNode,
7661}
7662impl OwnerTo {
7663 #[inline]
7664 pub fn role(&self) -> Option<Role> {
7665 support::child(&self.syntax)
7666 }
7667 #[inline]
7668 pub fn owner_token(&self) -> Option<SyntaxToken> {
7669 support::token(&self.syntax, SyntaxKind::OWNER_KW)
7670 }
7671 #[inline]
7672 pub fn to_token(&self) -> Option<SyntaxToken> {
7673 support::token(&self.syntax, SyntaxKind::TO_KW)
7674 }
7675}
7676
7677#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7678pub struct ParallelFuncOption {
7679 pub(crate) syntax: SyntaxNode,
7680}
7681impl ParallelFuncOption {
7682 #[inline]
7683 pub fn ident_token(&self) -> Option<SyntaxToken> {
7684 support::token(&self.syntax, SyntaxKind::IDENT)
7685 }
7686 #[inline]
7687 pub fn parallel_token(&self) -> Option<SyntaxToken> {
7688 support::token(&self.syntax, SyntaxKind::PARALLEL_KW)
7689 }
7690}
7691
7692#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7693pub struct Param {
7694 pub(crate) syntax: SyntaxNode,
7695}
7696impl Param {
7697 #[inline]
7698 pub fn mode(&self) -> Option<ParamMode> {
7699 support::child(&self.syntax)
7700 }
7701 #[inline]
7702 pub fn name(&self) -> Option<Name> {
7703 support::child(&self.syntax)
7704 }
7705 #[inline]
7706 pub fn param_default(&self) -> Option<ParamDefault> {
7707 support::child(&self.syntax)
7708 }
7709 #[inline]
7710 pub fn ty(&self) -> Option<Type> {
7711 support::child(&self.syntax)
7712 }
7713}
7714
7715#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7716pub struct ParamDefault {
7717 pub(crate) syntax: SyntaxNode,
7718}
7719impl ParamDefault {
7720 #[inline]
7721 pub fn expr(&self) -> Option<Expr> {
7722 support::child(&self.syntax)
7723 }
7724 #[inline]
7725 pub fn eq_token(&self) -> Option<SyntaxToken> {
7726 support::token(&self.syntax, SyntaxKind::EQ)
7727 }
7728 #[inline]
7729 pub fn default_token(&self) -> Option<SyntaxToken> {
7730 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
7731 }
7732}
7733
7734#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7735pub struct ParamIn {
7736 pub(crate) syntax: SyntaxNode,
7737}
7738impl ParamIn {
7739 #[inline]
7740 pub fn in_token(&self) -> Option<SyntaxToken> {
7741 support::token(&self.syntax, SyntaxKind::IN_KW)
7742 }
7743}
7744
7745#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7746pub struct ParamInOut {
7747 pub(crate) syntax: SyntaxNode,
7748}
7749impl ParamInOut {
7750 #[inline]
7751 pub fn in_token(&self) -> Option<SyntaxToken> {
7752 support::token(&self.syntax, SyntaxKind::IN_KW)
7753 }
7754 #[inline]
7755 pub fn inout_token(&self) -> Option<SyntaxToken> {
7756 support::token(&self.syntax, SyntaxKind::INOUT_KW)
7757 }
7758 #[inline]
7759 pub fn out_token(&self) -> Option<SyntaxToken> {
7760 support::token(&self.syntax, SyntaxKind::OUT_KW)
7761 }
7762}
7763
7764#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7765pub struct ParamList {
7766 pub(crate) syntax: SyntaxNode,
7767}
7768impl ParamList {
7769 #[inline]
7770 pub fn params(&self) -> AstChildren<Param> {
7771 support::children(&self.syntax)
7772 }
7773}
7774
7775#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7776pub struct ParamOut {
7777 pub(crate) syntax: SyntaxNode,
7778}
7779impl ParamOut {
7780 #[inline]
7781 pub fn out_token(&self) -> Option<SyntaxToken> {
7782 support::token(&self.syntax, SyntaxKind::OUT_KW)
7783 }
7784}
7785
7786#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7787pub struct ParamVariadic {
7788 pub(crate) syntax: SyntaxNode,
7789}
7790impl ParamVariadic {
7791 #[inline]
7792 pub fn variadic_token(&self) -> Option<SyntaxToken> {
7793 support::token(&self.syntax, SyntaxKind::VARIADIC_KW)
7794 }
7795}
7796
7797#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7798pub struct ParenExpr {
7799 pub(crate) syntax: SyntaxNode,
7800}
7801impl ParenExpr {
7802 #[inline]
7803 pub fn expr(&self) -> Option<Expr> {
7804 support::child(&self.syntax)
7805 }
7806 #[inline]
7807 pub fn select(&self) -> Option<Select> {
7808 support::child(&self.syntax)
7809 }
7810 #[inline]
7811 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
7812 support::token(&self.syntax, SyntaxKind::L_PAREN)
7813 }
7814 #[inline]
7815 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
7816 support::token(&self.syntax, SyntaxKind::R_PAREN)
7817 }
7818}
7819
7820#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7821pub struct ParenSelect {
7822 pub(crate) syntax: SyntaxNode,
7823}
7824impl ParenSelect {
7825 #[inline]
7826 pub fn select(&self) -> Option<Select> {
7827 support::child(&self.syntax)
7828 }
7829 #[inline]
7830 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
7831 support::token(&self.syntax, SyntaxKind::L_PAREN)
7832 }
7833 #[inline]
7834 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
7835 support::token(&self.syntax, SyntaxKind::R_PAREN)
7836 }
7837}
7838
7839#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7840pub struct PartitionBy {
7841 pub(crate) syntax: SyntaxNode,
7842}
7843impl PartitionBy {
7844 #[inline]
7845 pub fn by_token(&self) -> Option<SyntaxToken> {
7846 support::token(&self.syntax, SyntaxKind::BY_KW)
7847 }
7848 #[inline]
7849 pub fn partition_token(&self) -> Option<SyntaxToken> {
7850 support::token(&self.syntax, SyntaxKind::PARTITION_KW)
7851 }
7852}
7853
7854#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7855pub struct PartitionDefault {
7856 pub(crate) syntax: SyntaxNode,
7857}
7858impl PartitionDefault {
7859 #[inline]
7860 pub fn default_token(&self) -> Option<SyntaxToken> {
7861 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
7862 }
7863}
7864
7865#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7866pub struct PartitionForValuesFrom {
7867 pub(crate) syntax: SyntaxNode,
7868}
7869impl PartitionForValuesFrom {
7870 #[inline]
7871 pub fn exprs(&self) -> AstChildren<Expr> {
7872 support::children(&self.syntax)
7873 }
7874 #[inline]
7875 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
7876 support::token(&self.syntax, SyntaxKind::L_PAREN)
7877 }
7878 #[inline]
7879 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
7880 support::token(&self.syntax, SyntaxKind::R_PAREN)
7881 }
7882 #[inline]
7883 pub fn for_token(&self) -> Option<SyntaxToken> {
7884 support::token(&self.syntax, SyntaxKind::FOR_KW)
7885 }
7886 #[inline]
7887 pub fn from_token(&self) -> Option<SyntaxToken> {
7888 support::token(&self.syntax, SyntaxKind::FROM_KW)
7889 }
7890 #[inline]
7891 pub fn to_token(&self) -> Option<SyntaxToken> {
7892 support::token(&self.syntax, SyntaxKind::TO_KW)
7893 }
7894 #[inline]
7895 pub fn values_token(&self) -> Option<SyntaxToken> {
7896 support::token(&self.syntax, SyntaxKind::VALUES_KW)
7897 }
7898}
7899
7900#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7901pub struct PartitionForValuesIn {
7902 pub(crate) syntax: SyntaxNode,
7903}
7904impl PartitionForValuesIn {
7905 #[inline]
7906 pub fn exprs(&self) -> AstChildren<Expr> {
7907 support::children(&self.syntax)
7908 }
7909 #[inline]
7910 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
7911 support::token(&self.syntax, SyntaxKind::L_PAREN)
7912 }
7913 #[inline]
7914 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
7915 support::token(&self.syntax, SyntaxKind::R_PAREN)
7916 }
7917 #[inline]
7918 pub fn for_token(&self) -> Option<SyntaxToken> {
7919 support::token(&self.syntax, SyntaxKind::FOR_KW)
7920 }
7921 #[inline]
7922 pub fn in_token(&self) -> Option<SyntaxToken> {
7923 support::token(&self.syntax, SyntaxKind::IN_KW)
7924 }
7925 #[inline]
7926 pub fn values_token(&self) -> Option<SyntaxToken> {
7927 support::token(&self.syntax, SyntaxKind::VALUES_KW)
7928 }
7929}
7930
7931#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7932pub struct PartitionForValuesWith {
7933 pub(crate) syntax: SyntaxNode,
7934}
7935impl PartitionForValuesWith {
7936 #[inline]
7937 pub fn literal(&self) -> Option<Literal> {
7938 support::child(&self.syntax)
7939 }
7940 #[inline]
7941 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
7942 support::token(&self.syntax, SyntaxKind::L_PAREN)
7943 }
7944 #[inline]
7945 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
7946 support::token(&self.syntax, SyntaxKind::R_PAREN)
7947 }
7948 #[inline]
7949 pub fn comma_token(&self) -> Option<SyntaxToken> {
7950 support::token(&self.syntax, SyntaxKind::COMMA)
7951 }
7952 #[inline]
7953 pub fn for_token(&self) -> Option<SyntaxToken> {
7954 support::token(&self.syntax, SyntaxKind::FOR_KW)
7955 }
7956 #[inline]
7957 pub fn ident_token(&self) -> Option<SyntaxToken> {
7958 support::token(&self.syntax, SyntaxKind::IDENT)
7959 }
7960 #[inline]
7961 pub fn values_token(&self) -> Option<SyntaxToken> {
7962 support::token(&self.syntax, SyntaxKind::VALUES_KW)
7963 }
7964 #[inline]
7965 pub fn with_token(&self) -> Option<SyntaxToken> {
7966 support::token(&self.syntax, SyntaxKind::WITH_KW)
7967 }
7968}
7969
7970#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7971pub struct PartitionItem {
7972 pub(crate) syntax: SyntaxNode,
7973}
7974impl PartitionItem {
7975 #[inline]
7976 pub fn collate(&self) -> Option<Collate> {
7977 support::child(&self.syntax)
7978 }
7979 #[inline]
7980 pub fn expr(&self) -> Option<Expr> {
7981 support::child(&self.syntax)
7982 }
7983}
7984
7985#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7986pub struct PartitionItemList {
7987 pub(crate) syntax: SyntaxNode,
7988}
7989impl PartitionItemList {
7990 #[inline]
7991 pub fn partition_items(&self) -> AstChildren<PartitionItem> {
7992 support::children(&self.syntax)
7993 }
7994 #[inline]
7995 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
7996 support::token(&self.syntax, SyntaxKind::L_PAREN)
7997 }
7998 #[inline]
7999 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8000 support::token(&self.syntax, SyntaxKind::R_PAREN)
8001 }
8002}
8003
8004#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8005pub struct PartitionOf {
8006 pub(crate) syntax: SyntaxNode,
8007}
8008impl PartitionOf {
8009 #[inline]
8010 pub fn ty(&self) -> Option<Type> {
8011 support::child(&self.syntax)
8012 }
8013 #[inline]
8014 pub fn of_token(&self) -> Option<SyntaxToken> {
8015 support::token(&self.syntax, SyntaxKind::OF_KW)
8016 }
8017 #[inline]
8018 pub fn partition_token(&self) -> Option<SyntaxToken> {
8019 support::token(&self.syntax, SyntaxKind::PARTITION_KW)
8020 }
8021}
8022
8023#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8024pub struct Path {
8025 pub(crate) syntax: SyntaxNode,
8026}
8027impl Path {
8028 #[inline]
8029 pub fn qualifier(&self) -> Option<Path> {
8030 support::child(&self.syntax)
8031 }
8032 #[inline]
8033 pub fn segment(&self) -> Option<PathSegment> {
8034 support::child(&self.syntax)
8035 }
8036 #[inline]
8037 pub fn dot_token(&self) -> Option<SyntaxToken> {
8038 support::token(&self.syntax, SyntaxKind::DOT)
8039 }
8040}
8041
8042#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8043pub struct PathSegment {
8044 pub(crate) syntax: SyntaxNode,
8045}
8046impl PathSegment {
8047 #[inline]
8048 pub fn name(&self) -> Option<Name> {
8049 support::child(&self.syntax)
8050 }
8051 #[inline]
8052 pub fn name_ref(&self) -> Option<NameRef> {
8053 support::child(&self.syntax)
8054 }
8055}
8056
8057#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8058pub struct PathType {
8059 pub(crate) syntax: SyntaxNode,
8060}
8061impl PathType {
8062 #[inline]
8063 pub fn arg_list(&self) -> Option<ArgList> {
8064 support::child(&self.syntax)
8065 }
8066 #[inline]
8067 pub fn path(&self) -> Option<Path> {
8068 support::child(&self.syntax)
8069 }
8070}
8071
8072#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8073pub struct PercentType {
8074 pub(crate) syntax: SyntaxNode,
8075}
8076impl PercentType {
8077 #[inline]
8078 pub fn percent_token(&self) -> Option<SyntaxToken> {
8079 support::token(&self.syntax, SyntaxKind::PERCENT)
8080 }
8081 #[inline]
8082 pub fn type_token(&self) -> Option<SyntaxToken> {
8083 support::token(&self.syntax, SyntaxKind::TYPE_KW)
8084 }
8085}
8086
8087#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8088pub struct PercentTypeClause {
8089 pub(crate) syntax: SyntaxNode,
8090}
8091impl PercentTypeClause {
8092 #[inline]
8093 pub fn path(&self) -> Option<Path> {
8094 support::child(&self.syntax)
8095 }
8096 #[inline]
8097 pub fn percent_type_clause(&self) -> Option<PercentTypeClause> {
8098 support::child(&self.syntax)
8099 }
8100}
8101
8102#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8103pub struct PostfixExpr {
8104 pub(crate) syntax: SyntaxNode,
8105}
8106impl PostfixExpr {
8107 #[inline]
8108 pub fn expr(&self) -> Option<Expr> {
8109 support::child(&self.syntax)
8110 }
8111}
8112
8113#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8114pub struct PrefixExpr {
8115 pub(crate) syntax: SyntaxNode,
8116}
8117impl PrefixExpr {
8118 #[inline]
8119 pub fn expr(&self) -> Option<Expr> {
8120 support::child(&self.syntax)
8121 }
8122}
8123
8124#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8125pub struct Prepare {
8126 pub(crate) syntax: SyntaxNode,
8127}
8128impl Prepare {
8129 #[inline]
8130 pub fn name_ref(&self) -> Option<NameRef> {
8131 support::child(&self.syntax)
8132 }
8133 #[inline]
8134 pub fn prepare_token(&self) -> Option<SyntaxToken> {
8135 support::token(&self.syntax, SyntaxKind::PREPARE_KW)
8136 }
8137}
8138
8139#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8140pub struct PrepareTransaction {
8141 pub(crate) syntax: SyntaxNode,
8142}
8143impl PrepareTransaction {
8144 #[inline]
8145 pub fn literal(&self) -> Option<Literal> {
8146 support::child(&self.syntax)
8147 }
8148 #[inline]
8149 pub fn prepare_token(&self) -> Option<SyntaxToken> {
8150 support::token(&self.syntax, SyntaxKind::PREPARE_KW)
8151 }
8152 #[inline]
8153 pub fn transaction_token(&self) -> Option<SyntaxToken> {
8154 support::token(&self.syntax, SyntaxKind::TRANSACTION_KW)
8155 }
8156}
8157
8158#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8159pub struct PreserveRows {
8160 pub(crate) syntax: SyntaxNode,
8161}
8162impl PreserveRows {
8163 #[inline]
8164 pub fn preserve_token(&self) -> Option<SyntaxToken> {
8165 support::token(&self.syntax, SyntaxKind::PRESERVE_KW)
8166 }
8167 #[inline]
8168 pub fn rows_token(&self) -> Option<SyntaxToken> {
8169 support::token(&self.syntax, SyntaxKind::ROWS_KW)
8170 }
8171}
8172
8173#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8174pub struct PrimaryKeyConstraint {
8175 pub(crate) syntax: SyntaxNode,
8176}
8177impl PrimaryKeyConstraint {
8178 #[inline]
8179 pub fn column_list(&self) -> Option<ColumnList> {
8180 support::child(&self.syntax)
8181 }
8182 #[inline]
8183 pub fn name_ref(&self) -> Option<NameRef> {
8184 support::child(&self.syntax)
8185 }
8186 #[inline]
8187 pub fn partition_item_list(&self) -> Option<PartitionItemList> {
8188 support::child(&self.syntax)
8189 }
8190 #[inline]
8191 pub fn using_index(&self) -> Option<UsingIndex> {
8192 support::child(&self.syntax)
8193 }
8194 #[inline]
8195 pub fn constraint_token(&self) -> Option<SyntaxToken> {
8196 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
8197 }
8198 #[inline]
8199 pub fn key_token(&self) -> Option<SyntaxToken> {
8200 support::token(&self.syntax, SyntaxKind::KEY_KW)
8201 }
8202 #[inline]
8203 pub fn primary_token(&self) -> Option<SyntaxToken> {
8204 support::token(&self.syntax, SyntaxKind::PRIMARY_KW)
8205 }
8206}
8207
8208#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8209pub struct ReadCommitted {
8210 pub(crate) syntax: SyntaxNode,
8211}
8212impl ReadCommitted {
8213 #[inline]
8214 pub fn committed_token(&self) -> Option<SyntaxToken> {
8215 support::token(&self.syntax, SyntaxKind::COMMITTED_KW)
8216 }
8217 #[inline]
8218 pub fn isolation_token(&self) -> Option<SyntaxToken> {
8219 support::token(&self.syntax, SyntaxKind::ISOLATION_KW)
8220 }
8221 #[inline]
8222 pub fn level_token(&self) -> Option<SyntaxToken> {
8223 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
8224 }
8225 #[inline]
8226 pub fn read_token(&self) -> Option<SyntaxToken> {
8227 support::token(&self.syntax, SyntaxKind::READ_KW)
8228 }
8229}
8230
8231#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8232pub struct ReadOnly {
8233 pub(crate) syntax: SyntaxNode,
8234}
8235impl ReadOnly {
8236 #[inline]
8237 pub fn only_token(&self) -> Option<SyntaxToken> {
8238 support::token(&self.syntax, SyntaxKind::ONLY_KW)
8239 }
8240 #[inline]
8241 pub fn read_token(&self) -> Option<SyntaxToken> {
8242 support::token(&self.syntax, SyntaxKind::READ_KW)
8243 }
8244}
8245
8246#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8247pub struct ReadUncommitted {
8248 pub(crate) syntax: SyntaxNode,
8249}
8250impl ReadUncommitted {
8251 #[inline]
8252 pub fn isolation_token(&self) -> Option<SyntaxToken> {
8253 support::token(&self.syntax, SyntaxKind::ISOLATION_KW)
8254 }
8255 #[inline]
8256 pub fn level_token(&self) -> Option<SyntaxToken> {
8257 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
8258 }
8259 #[inline]
8260 pub fn read_token(&self) -> Option<SyntaxToken> {
8261 support::token(&self.syntax, SyntaxKind::READ_KW)
8262 }
8263 #[inline]
8264 pub fn uncommitted_token(&self) -> Option<SyntaxToken> {
8265 support::token(&self.syntax, SyntaxKind::UNCOMMITTED_KW)
8266 }
8267}
8268
8269#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8270pub struct ReadWrite {
8271 pub(crate) syntax: SyntaxNode,
8272}
8273impl ReadWrite {
8274 #[inline]
8275 pub fn read_token(&self) -> Option<SyntaxToken> {
8276 support::token(&self.syntax, SyntaxKind::READ_KW)
8277 }
8278 #[inline]
8279 pub fn write_token(&self) -> Option<SyntaxToken> {
8280 support::token(&self.syntax, SyntaxKind::WRITE_KW)
8281 }
8282}
8283
8284#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8285pub struct Reassign {
8286 pub(crate) syntax: SyntaxNode,
8287}
8288impl Reassign {
8289 #[inline]
8290 pub fn reassign_token(&self) -> Option<SyntaxToken> {
8291 support::token(&self.syntax, SyntaxKind::REASSIGN_KW)
8292 }
8293}
8294
8295#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8296pub struct ReferencesConstraint {
8297 pub(crate) syntax: SyntaxNode,
8298}
8299impl ReferencesConstraint {
8300 #[inline]
8301 pub fn match_type(&self) -> Option<MatchType> {
8302 support::child(&self.syntax)
8303 }
8304 #[inline]
8305 pub fn name_ref(&self) -> Option<NameRef> {
8306 support::child(&self.syntax)
8307 }
8308 #[inline]
8309 pub fn on_delete_action(&self) -> Option<OnDeleteAction> {
8310 support::child(&self.syntax)
8311 }
8312 #[inline]
8313 pub fn on_update_action(&self) -> Option<OnUpdateAction> {
8314 support::child(&self.syntax)
8315 }
8316 #[inline]
8317 pub fn path(&self) -> Option<Path> {
8318 support::child(&self.syntax)
8319 }
8320 #[inline]
8321 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8322 support::token(&self.syntax, SyntaxKind::L_PAREN)
8323 }
8324 #[inline]
8325 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8326 support::token(&self.syntax, SyntaxKind::R_PAREN)
8327 }
8328 #[inline]
8329 pub fn constraint_token(&self) -> Option<SyntaxToken> {
8330 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
8331 }
8332 #[inline]
8333 pub fn references_token(&self) -> Option<SyntaxToken> {
8334 support::token(&self.syntax, SyntaxKind::REFERENCES_KW)
8335 }
8336}
8337
8338#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8339pub struct Refresh {
8340 pub(crate) syntax: SyntaxNode,
8341}
8342impl Refresh {
8343 #[inline]
8344 pub fn name_ref(&self) -> Option<NameRef> {
8345 support::child(&self.syntax)
8346 }
8347 #[inline]
8348 pub fn concurrently_token(&self) -> Option<SyntaxToken> {
8349 support::token(&self.syntax, SyntaxKind::CONCURRENTLY_KW)
8350 }
8351 #[inline]
8352 pub fn data_token(&self) -> Option<SyntaxToken> {
8353 support::token(&self.syntax, SyntaxKind::DATA_KW)
8354 }
8355 #[inline]
8356 pub fn materialized_token(&self) -> Option<SyntaxToken> {
8357 support::token(&self.syntax, SyntaxKind::MATERIALIZED_KW)
8358 }
8359 #[inline]
8360 pub fn refresh_token(&self) -> Option<SyntaxToken> {
8361 support::token(&self.syntax, SyntaxKind::REFRESH_KW)
8362 }
8363 #[inline]
8364 pub fn view_token(&self) -> Option<SyntaxToken> {
8365 support::token(&self.syntax, SyntaxKind::VIEW_KW)
8366 }
8367 #[inline]
8368 pub fn with_token(&self) -> Option<SyntaxToken> {
8369 support::token(&self.syntax, SyntaxKind::WITH_KW)
8370 }
8371}
8372
8373#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8374pub struct Reindex {
8375 pub(crate) syntax: SyntaxNode,
8376}
8377impl Reindex {
8378 #[inline]
8379 pub fn reindex_token(&self) -> Option<SyntaxToken> {
8380 support::token(&self.syntax, SyntaxKind::REINDEX_KW)
8381 }
8382}
8383
8384#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8385pub struct RelationName {
8386 pub(crate) syntax: SyntaxNode,
8387}
8388impl RelationName {
8389 #[inline]
8390 pub fn path(&self) -> Option<Path> {
8391 support::child(&self.syntax)
8392 }
8393 #[inline]
8394 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8395 support::token(&self.syntax, SyntaxKind::L_PAREN)
8396 }
8397 #[inline]
8398 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8399 support::token(&self.syntax, SyntaxKind::R_PAREN)
8400 }
8401 #[inline]
8402 pub fn star_token(&self) -> Option<SyntaxToken> {
8403 support::token(&self.syntax, SyntaxKind::STAR)
8404 }
8405 #[inline]
8406 pub fn only_token(&self) -> Option<SyntaxToken> {
8407 support::token(&self.syntax, SyntaxKind::ONLY_KW)
8408 }
8409}
8410
8411#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8412pub struct ReleaseSavepoint {
8413 pub(crate) syntax: SyntaxNode,
8414}
8415impl ReleaseSavepoint {
8416 #[inline]
8417 pub fn name_ref(&self) -> Option<NameRef> {
8418 support::child(&self.syntax)
8419 }
8420 #[inline]
8421 pub fn release_token(&self) -> Option<SyntaxToken> {
8422 support::token(&self.syntax, SyntaxKind::RELEASE_KW)
8423 }
8424 #[inline]
8425 pub fn savepoint_token(&self) -> Option<SyntaxToken> {
8426 support::token(&self.syntax, SyntaxKind::SAVEPOINT_KW)
8427 }
8428}
8429
8430#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8431pub struct RenameColumn {
8432 pub(crate) syntax: SyntaxNode,
8433}
8434impl RenameColumn {
8435 #[inline]
8436 pub fn column_token(&self) -> Option<SyntaxToken> {
8437 support::token(&self.syntax, SyntaxKind::COLUMN_KW)
8438 }
8439 #[inline]
8440 pub fn rename_token(&self) -> Option<SyntaxToken> {
8441 support::token(&self.syntax, SyntaxKind::RENAME_KW)
8442 }
8443}
8444
8445#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8446pub struct RenameConstraint {
8447 pub(crate) syntax: SyntaxNode,
8448}
8449impl RenameConstraint {
8450 #[inline]
8451 pub fn name(&self) -> Option<Name> {
8452 support::child(&self.syntax)
8453 }
8454 #[inline]
8455 pub fn name_ref(&self) -> Option<NameRef> {
8456 support::child(&self.syntax)
8457 }
8458 #[inline]
8459 pub fn constraint_token(&self) -> Option<SyntaxToken> {
8460 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
8461 }
8462 #[inline]
8463 pub fn rename_token(&self) -> Option<SyntaxToken> {
8464 support::token(&self.syntax, SyntaxKind::RENAME_KW)
8465 }
8466 #[inline]
8467 pub fn to_token(&self) -> Option<SyntaxToken> {
8468 support::token(&self.syntax, SyntaxKind::TO_KW)
8469 }
8470}
8471
8472#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8473pub struct RenameTable {
8474 pub(crate) syntax: SyntaxNode,
8475}
8476impl RenameTable {
8477 #[inline]
8478 pub fn name_ref(&self) -> Option<NameRef> {
8479 support::child(&self.syntax)
8480 }
8481 #[inline]
8482 pub fn rename_token(&self) -> Option<SyntaxToken> {
8483 support::token(&self.syntax, SyntaxKind::RENAME_KW)
8484 }
8485 #[inline]
8486 pub fn to_token(&self) -> Option<SyntaxToken> {
8487 support::token(&self.syntax, SyntaxKind::TO_KW)
8488 }
8489}
8490
8491#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8492pub struct RenameTo {
8493 pub(crate) syntax: SyntaxNode,
8494}
8495impl RenameTo {
8496 #[inline]
8497 pub fn name(&self) -> Option<Name> {
8498 support::child(&self.syntax)
8499 }
8500 #[inline]
8501 pub fn rename_token(&self) -> Option<SyntaxToken> {
8502 support::token(&self.syntax, SyntaxKind::RENAME_KW)
8503 }
8504 #[inline]
8505 pub fn to_token(&self) -> Option<SyntaxToken> {
8506 support::token(&self.syntax, SyntaxKind::TO_KW)
8507 }
8508}
8509
8510#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8511pub struct RepeatableRead {
8512 pub(crate) syntax: SyntaxNode,
8513}
8514impl RepeatableRead {
8515 #[inline]
8516 pub fn isolation_token(&self) -> Option<SyntaxToken> {
8517 support::token(&self.syntax, SyntaxKind::ISOLATION_KW)
8518 }
8519 #[inline]
8520 pub fn level_token(&self) -> Option<SyntaxToken> {
8521 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
8522 }
8523 #[inline]
8524 pub fn read_token(&self) -> Option<SyntaxToken> {
8525 support::token(&self.syntax, SyntaxKind::READ_KW)
8526 }
8527 #[inline]
8528 pub fn repeatable_token(&self) -> Option<SyntaxToken> {
8529 support::token(&self.syntax, SyntaxKind::REPEATABLE_KW)
8530 }
8531}
8532
8533#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8534pub struct ReplicaIdentity {
8535 pub(crate) syntax: SyntaxNode,
8536}
8537impl ReplicaIdentity {
8538 #[inline]
8539 pub fn identity_token(&self) -> Option<SyntaxToken> {
8540 support::token(&self.syntax, SyntaxKind::IDENTITY_KW)
8541 }
8542 #[inline]
8543 pub fn replica_token(&self) -> Option<SyntaxToken> {
8544 support::token(&self.syntax, SyntaxKind::REPLICA_KW)
8545 }
8546}
8547
8548#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8549pub struct Reset {
8550 pub(crate) syntax: SyntaxNode,
8551}
8552impl Reset {
8553 #[inline]
8554 pub fn name_ref(&self) -> Option<NameRef> {
8555 support::child(&self.syntax)
8556 }
8557 #[inline]
8558 pub fn all_token(&self) -> Option<SyntaxToken> {
8559 support::token(&self.syntax, SyntaxKind::ALL_KW)
8560 }
8561 #[inline]
8562 pub fn reset_token(&self) -> Option<SyntaxToken> {
8563 support::token(&self.syntax, SyntaxKind::RESET_KW)
8564 }
8565}
8566
8567#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8568pub struct ResetFuncOption {
8569 pub(crate) syntax: SyntaxNode,
8570}
8571impl ResetFuncOption {
8572 #[inline]
8573 pub fn name_ref(&self) -> Option<NameRef> {
8574 support::child(&self.syntax)
8575 }
8576 #[inline]
8577 pub fn reset_token(&self) -> Option<SyntaxToken> {
8578 support::token(&self.syntax, SyntaxKind::RESET_KW)
8579 }
8580}
8581
8582#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8583pub struct ResetOptions {
8584 pub(crate) syntax: SyntaxNode,
8585}
8586impl ResetOptions {
8587 #[inline]
8588 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8589 support::token(&self.syntax, SyntaxKind::L_PAREN)
8590 }
8591 #[inline]
8592 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8593 support::token(&self.syntax, SyntaxKind::R_PAREN)
8594 }
8595 #[inline]
8596 pub fn reset_token(&self) -> Option<SyntaxToken> {
8597 support::token(&self.syntax, SyntaxKind::RESET_KW)
8598 }
8599}
8600
8601#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8602pub struct ResetStorageParams {
8603 pub(crate) syntax: SyntaxNode,
8604}
8605impl ResetStorageParams {
8606 #[inline]
8607 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
8608 support::token(&self.syntax, SyntaxKind::L_PAREN)
8609 }
8610 #[inline]
8611 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
8612 support::token(&self.syntax, SyntaxKind::R_PAREN)
8613 }
8614 #[inline]
8615 pub fn reset_token(&self) -> Option<SyntaxToken> {
8616 support::token(&self.syntax, SyntaxKind::RESET_KW)
8617 }
8618}
8619
8620#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8621pub struct Restart {
8622 pub(crate) syntax: SyntaxNode,
8623}
8624impl Restart {
8625 #[inline]
8626 pub fn restart_token(&self) -> Option<SyntaxToken> {
8627 support::token(&self.syntax, SyntaxKind::RESTART_KW)
8628 }
8629 #[inline]
8630 pub fn with_token(&self) -> Option<SyntaxToken> {
8631 support::token(&self.syntax, SyntaxKind::WITH_KW)
8632 }
8633}
8634
8635#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8636pub struct Restrict {
8637 pub(crate) syntax: SyntaxNode,
8638}
8639impl Restrict {
8640 #[inline]
8641 pub fn restrict_token(&self) -> Option<SyntaxToken> {
8642 support::token(&self.syntax, SyntaxKind::RESTRICT_KW)
8643 }
8644}
8645
8646#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8647pub struct RetType {
8648 pub(crate) syntax: SyntaxNode,
8649}
8650impl RetType {
8651 #[inline]
8652 pub fn ty(&self) -> Option<Type> {
8653 support::child(&self.syntax)
8654 }
8655 #[inline]
8656 pub fn returns_token(&self) -> Option<SyntaxToken> {
8657 support::token(&self.syntax, SyntaxKind::RETURNS_KW)
8658 }
8659}
8660
8661#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8662pub struct ReturnFuncOption {
8663 pub(crate) syntax: SyntaxNode,
8664}
8665impl ReturnFuncOption {
8666 #[inline]
8667 pub fn expr(&self) -> Option<Expr> {
8668 support::child(&self.syntax)
8669 }
8670 #[inline]
8671 pub fn return_token(&self) -> Option<SyntaxToken> {
8672 support::token(&self.syntax, SyntaxKind::RETURN_KW)
8673 }
8674}
8675
8676#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8677pub struct ReturningClause {
8678 pub(crate) syntax: SyntaxNode,
8679}
8680impl ReturningClause {
8681 #[inline]
8682 pub fn target_list(&self) -> Option<TargetList> {
8683 support::child(&self.syntax)
8684 }
8685 #[inline]
8686 pub fn returning_token(&self) -> Option<SyntaxToken> {
8687 support::token(&self.syntax, SyntaxKind::RETURNING_KW)
8688 }
8689}
8690
8691#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8692pub struct Revoke {
8693 pub(crate) syntax: SyntaxNode,
8694}
8695impl Revoke {
8696 #[inline]
8697 pub fn revoke_token(&self) -> Option<SyntaxToken> {
8698 support::token(&self.syntax, SyntaxKind::REVOKE_KW)
8699 }
8700}
8701
8702#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8703pub struct Role {
8704 pub(crate) syntax: SyntaxNode,
8705}
8706impl Role {
8707 #[inline]
8708 pub fn current_role_token(&self) -> Option<SyntaxToken> {
8709 support::token(&self.syntax, SyntaxKind::CURRENT_ROLE_KW)
8710 }
8711 #[inline]
8712 pub fn current_user_token(&self) -> Option<SyntaxToken> {
8713 support::token(&self.syntax, SyntaxKind::CURRENT_USER_KW)
8714 }
8715 #[inline]
8716 pub fn group_token(&self) -> Option<SyntaxToken> {
8717 support::token(&self.syntax, SyntaxKind::GROUP_KW)
8718 }
8719 #[inline]
8720 pub fn ident_token(&self) -> Option<SyntaxToken> {
8721 support::token(&self.syntax, SyntaxKind::IDENT)
8722 }
8723 #[inline]
8724 pub fn session_user_token(&self) -> Option<SyntaxToken> {
8725 support::token(&self.syntax, SyntaxKind::SESSION_USER_KW)
8726 }
8727}
8728
8729#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8730pub struct Rollback {
8731 pub(crate) syntax: SyntaxNode,
8732}
8733impl Rollback {
8734 #[inline]
8735 pub fn abort_token(&self) -> Option<SyntaxToken> {
8736 support::token(&self.syntax, SyntaxKind::ABORT_KW)
8737 }
8738 #[inline]
8739 pub fn rollback_token(&self) -> Option<SyntaxToken> {
8740 support::token(&self.syntax, SyntaxKind::ROLLBACK_KW)
8741 }
8742}
8743
8744#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8745pub struct Row {
8746 pub(crate) syntax: SyntaxNode,
8747}
8748impl Row {
8749 #[inline]
8750 pub fn exprs(&self) -> AstChildren<Expr> {
8751 support::children(&self.syntax)
8752 }
8753}
8754
8755#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8756pub struct RowList {
8757 pub(crate) syntax: SyntaxNode,
8758}
8759impl RowList {
8760 #[inline]
8761 pub fn rows(&self) -> AstChildren<Row> {
8762 support::children(&self.syntax)
8763 }
8764}
8765
8766#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8767pub struct RowsFuncOption {
8768 pub(crate) syntax: SyntaxNode,
8769}
8770impl RowsFuncOption {
8771 #[inline]
8772 pub fn rows_token(&self) -> Option<SyntaxToken> {
8773 support::token(&self.syntax, SyntaxKind::ROWS_KW)
8774 }
8775}
8776
8777#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8778pub struct Savepoint {
8779 pub(crate) syntax: SyntaxNode,
8780}
8781impl Savepoint {
8782 #[inline]
8783 pub fn savepoint_token(&self) -> Option<SyntaxToken> {
8784 support::token(&self.syntax, SyntaxKind::SAVEPOINT_KW)
8785 }
8786}
8787
8788#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8789pub struct SecurityFuncOption {
8790 pub(crate) syntax: SyntaxNode,
8791}
8792impl SecurityFuncOption {
8793 #[inline]
8794 pub fn definer_token(&self) -> Option<SyntaxToken> {
8795 support::token(&self.syntax, SyntaxKind::DEFINER_KW)
8796 }
8797 #[inline]
8798 pub fn invoker_token(&self) -> Option<SyntaxToken> {
8799 support::token(&self.syntax, SyntaxKind::INVOKER_KW)
8800 }
8801 #[inline]
8802 pub fn security_token(&self) -> Option<SyntaxToken> {
8803 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
8804 }
8805}
8806
8807#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8808pub struct SecurityLabel {
8809 pub(crate) syntax: SyntaxNode,
8810}
8811impl SecurityLabel {
8812 #[inline]
8813 pub fn label_token(&self) -> Option<SyntaxToken> {
8814 support::token(&self.syntax, SyntaxKind::LABEL_KW)
8815 }
8816 #[inline]
8817 pub fn security_token(&self) -> Option<SyntaxToken> {
8818 support::token(&self.syntax, SyntaxKind::SECURITY_KW)
8819 }
8820}
8821
8822#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8823pub struct Select {
8824 pub(crate) syntax: SyntaxNode,
8825}
8826impl Select {
8827 #[inline]
8828 pub fn fetch_clause(&self) -> Option<FetchClause> {
8829 support::child(&self.syntax)
8830 }
8831 #[inline]
8832 pub fn filter_clause(&self) -> Option<FilterClause> {
8833 support::child(&self.syntax)
8834 }
8835 #[inline]
8836 pub fn from_clause(&self) -> Option<FromClause> {
8837 support::child(&self.syntax)
8838 }
8839 #[inline]
8840 pub fn group_by_clause(&self) -> Option<GroupByClause> {
8841 support::child(&self.syntax)
8842 }
8843 #[inline]
8844 pub fn having_clause(&self) -> Option<HavingClause> {
8845 support::child(&self.syntax)
8846 }
8847 #[inline]
8848 pub fn limit_clause(&self) -> Option<LimitClause> {
8849 support::child(&self.syntax)
8850 }
8851 #[inline]
8852 pub fn locking_clauses(&self) -> AstChildren<LockingClause> {
8853 support::children(&self.syntax)
8854 }
8855 #[inline]
8856 pub fn offset_clause(&self) -> Option<OffsetClause> {
8857 support::child(&self.syntax)
8858 }
8859 #[inline]
8860 pub fn order_by_clause(&self) -> Option<OrderByClause> {
8861 support::child(&self.syntax)
8862 }
8863 #[inline]
8864 pub fn select_clause(&self) -> Option<SelectClause> {
8865 support::child(&self.syntax)
8866 }
8867 #[inline]
8868 pub fn where_clause(&self) -> Option<WhereClause> {
8869 support::child(&self.syntax)
8870 }
8871 #[inline]
8872 pub fn window_clause(&self) -> Option<WindowClause> {
8873 support::child(&self.syntax)
8874 }
8875 #[inline]
8876 pub fn with_clause(&self) -> Option<WithClause> {
8877 support::child(&self.syntax)
8878 }
8879}
8880
8881#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8882pub struct SelectClause {
8883 pub(crate) syntax: SyntaxNode,
8884}
8885impl SelectClause {
8886 #[inline]
8887 pub fn distinct_clause(&self) -> Option<DistinctClause> {
8888 support::child(&self.syntax)
8889 }
8890 #[inline]
8891 pub fn target_list(&self) -> Option<TargetList> {
8892 support::child(&self.syntax)
8893 }
8894 #[inline]
8895 pub fn all_token(&self) -> Option<SyntaxToken> {
8896 support::token(&self.syntax, SyntaxKind::ALL_KW)
8897 }
8898 #[inline]
8899 pub fn select_token(&self) -> Option<SyntaxToken> {
8900 support::token(&self.syntax, SyntaxKind::SELECT_KW)
8901 }
8902}
8903
8904#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8905pub struct SelectInto {
8906 pub(crate) syntax: SyntaxNode,
8907}
8908impl SelectInto {
8909 #[inline]
8910 pub fn filter_clause(&self) -> Option<FilterClause> {
8911 support::child(&self.syntax)
8912 }
8913 #[inline]
8914 pub fn from_clause(&self) -> Option<FromClause> {
8915 support::child(&self.syntax)
8916 }
8917 #[inline]
8918 pub fn group_by_clause(&self) -> Option<GroupByClause> {
8919 support::child(&self.syntax)
8920 }
8921 #[inline]
8922 pub fn having_clause(&self) -> Option<HavingClause> {
8923 support::child(&self.syntax)
8924 }
8925 #[inline]
8926 pub fn into_clause(&self) -> Option<IntoClause> {
8927 support::child(&self.syntax)
8928 }
8929 #[inline]
8930 pub fn limit_clause(&self) -> Option<LimitClause> {
8931 support::child(&self.syntax)
8932 }
8933 #[inline]
8934 pub fn locking_clauses(&self) -> AstChildren<LockingClause> {
8935 support::children(&self.syntax)
8936 }
8937 #[inline]
8938 pub fn offset_clause(&self) -> Option<OffsetClause> {
8939 support::child(&self.syntax)
8940 }
8941 #[inline]
8942 pub fn order_by_clause(&self) -> Option<OrderByClause> {
8943 support::child(&self.syntax)
8944 }
8945 #[inline]
8946 pub fn select_clause(&self) -> Option<SelectClause> {
8947 support::child(&self.syntax)
8948 }
8949 #[inline]
8950 pub fn where_clause(&self) -> Option<WhereClause> {
8951 support::child(&self.syntax)
8952 }
8953 #[inline]
8954 pub fn window_clause(&self) -> Option<WindowClause> {
8955 support::child(&self.syntax)
8956 }
8957}
8958
8959#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8960pub struct SequenceOptionList {
8961 pub(crate) syntax: SyntaxNode,
8962}
8963impl SequenceOptionList {
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}
8973
8974#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8975pub struct Serializable {
8976 pub(crate) syntax: SyntaxNode,
8977}
8978impl Serializable {
8979 #[inline]
8980 pub fn isolation_token(&self) -> Option<SyntaxToken> {
8981 support::token(&self.syntax, SyntaxKind::ISOLATION_KW)
8982 }
8983 #[inline]
8984 pub fn level_token(&self) -> Option<SyntaxToken> {
8985 support::token(&self.syntax, SyntaxKind::LEVEL_KW)
8986 }
8987 #[inline]
8988 pub fn serializable_token(&self) -> Option<SyntaxToken> {
8989 support::token(&self.syntax, SyntaxKind::SERIALIZABLE_KW)
8990 }
8991}
8992
8993#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8994pub struct Set {
8995 pub(crate) syntax: SyntaxNode,
8996}
8997impl Set {
8998 #[inline]
8999 pub fn expr(&self) -> Option<Expr> {
9000 support::child(&self.syntax)
9001 }
9002 #[inline]
9003 pub fn path(&self) -> Option<Path> {
9004 support::child(&self.syntax)
9005 }
9006 #[inline]
9007 pub fn eq_token(&self) -> Option<SyntaxToken> {
9008 support::token(&self.syntax, SyntaxKind::EQ)
9009 }
9010 #[inline]
9011 pub fn default_token(&self) -> Option<SyntaxToken> {
9012 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
9013 }
9014 #[inline]
9015 pub fn local_token(&self) -> Option<SyntaxToken> {
9016 support::token(&self.syntax, SyntaxKind::LOCAL_KW)
9017 }
9018 #[inline]
9019 pub fn session_token(&self) -> Option<SyntaxToken> {
9020 support::token(&self.syntax, SyntaxKind::SESSION_KW)
9021 }
9022 #[inline]
9023 pub fn set_token(&self) -> Option<SyntaxToken> {
9024 support::token(&self.syntax, SyntaxKind::SET_KW)
9025 }
9026 #[inline]
9027 pub fn time_token(&self) -> Option<SyntaxToken> {
9028 support::token(&self.syntax, SyntaxKind::TIME_KW)
9029 }
9030 #[inline]
9031 pub fn to_token(&self) -> Option<SyntaxToken> {
9032 support::token(&self.syntax, SyntaxKind::TO_KW)
9033 }
9034 #[inline]
9035 pub fn zone_token(&self) -> Option<SyntaxToken> {
9036 support::token(&self.syntax, SyntaxKind::ZONE_KW)
9037 }
9038}
9039
9040#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9041pub struct SetAccessMethod {
9042 pub(crate) syntax: SyntaxNode,
9043}
9044impl SetAccessMethod {
9045 #[inline]
9046 pub fn name_ref(&self) -> Option<NameRef> {
9047 support::child(&self.syntax)
9048 }
9049 #[inline]
9050 pub fn access_token(&self) -> Option<SyntaxToken> {
9051 support::token(&self.syntax, SyntaxKind::ACCESS_KW)
9052 }
9053 #[inline]
9054 pub fn method_token(&self) -> Option<SyntaxToken> {
9055 support::token(&self.syntax, SyntaxKind::METHOD_KW)
9056 }
9057 #[inline]
9058 pub fn set_token(&self) -> Option<SyntaxToken> {
9059 support::token(&self.syntax, SyntaxKind::SET_KW)
9060 }
9061}
9062
9063#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9064pub struct SetCompression {
9065 pub(crate) syntax: SyntaxNode,
9066}
9067impl SetCompression {
9068 #[inline]
9069 pub fn compression_token(&self) -> Option<SyntaxToken> {
9070 support::token(&self.syntax, SyntaxKind::COMPRESSION_KW)
9071 }
9072 #[inline]
9073 pub fn set_token(&self) -> Option<SyntaxToken> {
9074 support::token(&self.syntax, SyntaxKind::SET_KW)
9075 }
9076}
9077
9078#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9079pub struct SetConstraints {
9080 pub(crate) syntax: SyntaxNode,
9081}
9082impl SetConstraints {
9083 #[inline]
9084 pub fn constraints_token(&self) -> Option<SyntaxToken> {
9085 support::token(&self.syntax, SyntaxKind::CONSTRAINTS_KW)
9086 }
9087 #[inline]
9088 pub fn set_token(&self) -> Option<SyntaxToken> {
9089 support::token(&self.syntax, SyntaxKind::SET_KW)
9090 }
9091}
9092
9093#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9094pub struct SetDefault {
9095 pub(crate) syntax: SyntaxNode,
9096}
9097impl SetDefault {
9098 #[inline]
9099 pub fn expr(&self) -> Option<Expr> {
9100 support::child(&self.syntax)
9101 }
9102 #[inline]
9103 pub fn default_token(&self) -> Option<SyntaxToken> {
9104 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
9105 }
9106 #[inline]
9107 pub fn set_token(&self) -> Option<SyntaxToken> {
9108 support::token(&self.syntax, SyntaxKind::SET_KW)
9109 }
9110}
9111
9112#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9113pub struct SetDefaultColumns {
9114 pub(crate) syntax: SyntaxNode,
9115}
9116impl SetDefaultColumns {
9117 #[inline]
9118 pub fn column_list(&self) -> Option<ColumnList> {
9119 support::child(&self.syntax)
9120 }
9121 #[inline]
9122 pub fn default_token(&self) -> Option<SyntaxToken> {
9123 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
9124 }
9125 #[inline]
9126 pub fn set_token(&self) -> Option<SyntaxToken> {
9127 support::token(&self.syntax, SyntaxKind::SET_KW)
9128 }
9129}
9130
9131#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9132pub struct SetExpression {
9133 pub(crate) syntax: SyntaxNode,
9134}
9135impl SetExpression {
9136 #[inline]
9137 pub fn expr(&self) -> Option<Expr> {
9138 support::child(&self.syntax)
9139 }
9140 #[inline]
9141 pub fn expression_token(&self) -> Option<SyntaxToken> {
9142 support::token(&self.syntax, SyntaxKind::EXPRESSION_KW)
9143 }
9144 #[inline]
9145 pub fn set_token(&self) -> Option<SyntaxToken> {
9146 support::token(&self.syntax, SyntaxKind::SET_KW)
9147 }
9148}
9149
9150#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9151pub struct SetFuncOption {
9152 pub(crate) syntax: SyntaxNode,
9153}
9154impl SetFuncOption {
9155 #[inline]
9156 pub fn set_token(&self) -> Option<SyntaxToken> {
9157 support::token(&self.syntax, SyntaxKind::SET_KW)
9158 }
9159}
9160
9161#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9162pub struct SetGenerated {
9163 pub(crate) syntax: SyntaxNode,
9164}
9165impl SetGenerated {
9166 #[inline]
9167 pub fn set_token(&self) -> Option<SyntaxToken> {
9168 support::token(&self.syntax, SyntaxKind::SET_KW)
9169 }
9170}
9171
9172#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9173pub struct SetGeneratedOptions {
9174 pub(crate) syntax: SyntaxNode,
9175}
9176impl SetGeneratedOptions {
9177 #[inline]
9178 pub fn set_token(&self) -> Option<SyntaxToken> {
9179 support::token(&self.syntax, SyntaxKind::SET_KW)
9180 }
9181}
9182
9183#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9184pub struct SetLogged {
9185 pub(crate) syntax: SyntaxNode,
9186}
9187impl SetLogged {
9188 #[inline]
9189 pub fn logged_token(&self) -> Option<SyntaxToken> {
9190 support::token(&self.syntax, SyntaxKind::LOGGED_KW)
9191 }
9192 #[inline]
9193 pub fn set_token(&self) -> Option<SyntaxToken> {
9194 support::token(&self.syntax, SyntaxKind::SET_KW)
9195 }
9196}
9197
9198#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9199pub struct SetNotNull {
9200 pub(crate) syntax: SyntaxNode,
9201}
9202impl SetNotNull {
9203 #[inline]
9204 pub fn not_token(&self) -> Option<SyntaxToken> {
9205 support::token(&self.syntax, SyntaxKind::NOT_KW)
9206 }
9207 #[inline]
9208 pub fn null_token(&self) -> Option<SyntaxToken> {
9209 support::token(&self.syntax, SyntaxKind::NULL_KW)
9210 }
9211 #[inline]
9212 pub fn set_token(&self) -> Option<SyntaxToken> {
9213 support::token(&self.syntax, SyntaxKind::SET_KW)
9214 }
9215}
9216
9217#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9218pub struct SetNullColumns {
9219 pub(crate) syntax: SyntaxNode,
9220}
9221impl SetNullColumns {
9222 #[inline]
9223 pub fn column_list(&self) -> Option<ColumnList> {
9224 support::child(&self.syntax)
9225 }
9226 #[inline]
9227 pub fn null_token(&self) -> Option<SyntaxToken> {
9228 support::token(&self.syntax, SyntaxKind::NULL_KW)
9229 }
9230 #[inline]
9231 pub fn set_token(&self) -> Option<SyntaxToken> {
9232 support::token(&self.syntax, SyntaxKind::SET_KW)
9233 }
9234}
9235
9236#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9237pub struct SetOptions {
9238 pub(crate) syntax: SyntaxNode,
9239}
9240impl SetOptions {
9241 #[inline]
9242 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
9243 support::token(&self.syntax, SyntaxKind::L_PAREN)
9244 }
9245 #[inline]
9246 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
9247 support::token(&self.syntax, SyntaxKind::R_PAREN)
9248 }
9249 #[inline]
9250 pub fn set_token(&self) -> Option<SyntaxToken> {
9251 support::token(&self.syntax, SyntaxKind::SET_KW)
9252 }
9253}
9254
9255#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9256pub struct SetOptionsList {
9257 pub(crate) syntax: SyntaxNode,
9258}
9259impl SetOptionsList {
9260 #[inline]
9261 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
9262 support::token(&self.syntax, SyntaxKind::L_PAREN)
9263 }
9264 #[inline]
9265 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
9266 support::token(&self.syntax, SyntaxKind::R_PAREN)
9267 }
9268 #[inline]
9269 pub fn set_token(&self) -> Option<SyntaxToken> {
9270 support::token(&self.syntax, SyntaxKind::SET_KW)
9271 }
9272}
9273
9274#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9275pub struct SetRole {
9276 pub(crate) syntax: SyntaxNode,
9277}
9278impl SetRole {
9279 #[inline]
9280 pub fn role_token(&self) -> Option<SyntaxToken> {
9281 support::token(&self.syntax, SyntaxKind::ROLE_KW)
9282 }
9283 #[inline]
9284 pub fn set_token(&self) -> Option<SyntaxToken> {
9285 support::token(&self.syntax, SyntaxKind::SET_KW)
9286 }
9287}
9288
9289#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9290pub struct SetSchema {
9291 pub(crate) syntax: SyntaxNode,
9292}
9293impl SetSchema {
9294 #[inline]
9295 pub fn name_ref(&self) -> Option<NameRef> {
9296 support::child(&self.syntax)
9297 }
9298 #[inline]
9299 pub fn schema_token(&self) -> Option<SyntaxToken> {
9300 support::token(&self.syntax, SyntaxKind::SCHEMA_KW)
9301 }
9302 #[inline]
9303 pub fn set_token(&self) -> Option<SyntaxToken> {
9304 support::token(&self.syntax, SyntaxKind::SET_KW)
9305 }
9306}
9307
9308#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9309pub struct SetSequenceOption {
9310 pub(crate) syntax: SyntaxNode,
9311}
9312impl SetSequenceOption {
9313 #[inline]
9314 pub fn set_token(&self) -> Option<SyntaxToken> {
9315 support::token(&self.syntax, SyntaxKind::SET_KW)
9316 }
9317}
9318
9319#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9320pub struct SetSessionAuth {
9321 pub(crate) syntax: SyntaxNode,
9322}
9323impl SetSessionAuth {
9324 #[inline]
9325 pub fn authorization_token(&self) -> Option<SyntaxToken> {
9326 support::token(&self.syntax, SyntaxKind::AUTHORIZATION_KW)
9327 }
9328 #[inline]
9329 pub fn session_token(&self) -> Option<SyntaxToken> {
9330 support::token(&self.syntax, SyntaxKind::SESSION_KW)
9331 }
9332 #[inline]
9333 pub fn set_token(&self) -> Option<SyntaxToken> {
9334 support::token(&self.syntax, SyntaxKind::SET_KW)
9335 }
9336}
9337
9338#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9339pub struct SetStatistics {
9340 pub(crate) syntax: SyntaxNode,
9341}
9342impl SetStatistics {
9343 #[inline]
9344 pub fn set_token(&self) -> Option<SyntaxToken> {
9345 support::token(&self.syntax, SyntaxKind::SET_KW)
9346 }
9347 #[inline]
9348 pub fn statistics_token(&self) -> Option<SyntaxToken> {
9349 support::token(&self.syntax, SyntaxKind::STATISTICS_KW)
9350 }
9351}
9352
9353#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9354pub struct SetStorage {
9355 pub(crate) syntax: SyntaxNode,
9356}
9357impl SetStorage {
9358 #[inline]
9359 pub fn set_token(&self) -> Option<SyntaxToken> {
9360 support::token(&self.syntax, SyntaxKind::SET_KW)
9361 }
9362 #[inline]
9363 pub fn storage_token(&self) -> Option<SyntaxToken> {
9364 support::token(&self.syntax, SyntaxKind::STORAGE_KW)
9365 }
9366}
9367
9368#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9369pub struct SetStorageParams {
9370 pub(crate) syntax: SyntaxNode,
9371}
9372impl SetStorageParams {
9373 #[inline]
9374 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
9375 support::token(&self.syntax, SyntaxKind::L_PAREN)
9376 }
9377 #[inline]
9378 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
9379 support::token(&self.syntax, SyntaxKind::R_PAREN)
9380 }
9381 #[inline]
9382 pub fn set_token(&self) -> Option<SyntaxToken> {
9383 support::token(&self.syntax, SyntaxKind::SET_KW)
9384 }
9385}
9386
9387#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9388pub struct SetTablespace {
9389 pub(crate) syntax: SyntaxNode,
9390}
9391impl SetTablespace {
9392 #[inline]
9393 pub fn name_ref(&self) -> Option<NameRef> {
9394 support::child(&self.syntax)
9395 }
9396 #[inline]
9397 pub fn set_token(&self) -> Option<SyntaxToken> {
9398 support::token(&self.syntax, SyntaxKind::SET_KW)
9399 }
9400 #[inline]
9401 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
9402 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
9403 }
9404}
9405
9406#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9407pub struct SetTransaction {
9408 pub(crate) syntax: SyntaxNode,
9409}
9410impl SetTransaction {
9411 #[inline]
9412 pub fn set_token(&self) -> Option<SyntaxToken> {
9413 support::token(&self.syntax, SyntaxKind::SET_KW)
9414 }
9415 #[inline]
9416 pub fn transaction_token(&self) -> Option<SyntaxToken> {
9417 support::token(&self.syntax, SyntaxKind::TRANSACTION_KW)
9418 }
9419}
9420
9421#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9422pub struct SetType {
9423 pub(crate) syntax: SyntaxNode,
9424}
9425impl SetType {
9426 #[inline]
9427 pub fn collate(&self) -> Option<Collate> {
9428 support::child(&self.syntax)
9429 }
9430 #[inline]
9431 pub fn ty(&self) -> Option<Type> {
9432 support::child(&self.syntax)
9433 }
9434 #[inline]
9435 pub fn set_token(&self) -> Option<SyntaxToken> {
9436 support::token(&self.syntax, SyntaxKind::SET_KW)
9437 }
9438 #[inline]
9439 pub fn type_token(&self) -> Option<SyntaxToken> {
9440 support::token(&self.syntax, SyntaxKind::TYPE_KW)
9441 }
9442}
9443
9444#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9445pub struct SetUnlogged {
9446 pub(crate) syntax: SyntaxNode,
9447}
9448impl SetUnlogged {
9449 #[inline]
9450 pub fn set_token(&self) -> Option<SyntaxToken> {
9451 support::token(&self.syntax, SyntaxKind::SET_KW)
9452 }
9453 #[inline]
9454 pub fn unlogged_token(&self) -> Option<SyntaxToken> {
9455 support::token(&self.syntax, SyntaxKind::UNLOGGED_KW)
9456 }
9457}
9458
9459#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9460pub struct SetWithoutCluster {
9461 pub(crate) syntax: SyntaxNode,
9462}
9463impl SetWithoutCluster {
9464 #[inline]
9465 pub fn cluster_token(&self) -> Option<SyntaxToken> {
9466 support::token(&self.syntax, SyntaxKind::CLUSTER_KW)
9467 }
9468 #[inline]
9469 pub fn set_token(&self) -> Option<SyntaxToken> {
9470 support::token(&self.syntax, SyntaxKind::SET_KW)
9471 }
9472 #[inline]
9473 pub fn without_token(&self) -> Option<SyntaxToken> {
9474 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
9475 }
9476}
9477
9478#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9479pub struct SetWithoutOids {
9480 pub(crate) syntax: SyntaxNode,
9481}
9482impl SetWithoutOids {
9483 #[inline]
9484 pub fn oids_token(&self) -> Option<SyntaxToken> {
9485 support::token(&self.syntax, SyntaxKind::OIDS_KW)
9486 }
9487 #[inline]
9488 pub fn set_token(&self) -> Option<SyntaxToken> {
9489 support::token(&self.syntax, SyntaxKind::SET_KW)
9490 }
9491 #[inline]
9492 pub fn without_token(&self) -> Option<SyntaxToken> {
9493 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
9494 }
9495}
9496
9497#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9498pub struct Show {
9499 pub(crate) syntax: SyntaxNode,
9500}
9501impl Show {
9502 #[inline]
9503 pub fn show_token(&self) -> Option<SyntaxToken> {
9504 support::token(&self.syntax, SyntaxKind::SHOW_KW)
9505 }
9506}
9507
9508#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9509pub struct SimilarTo {
9510 pub(crate) syntax: SyntaxNode,
9511}
9512impl SimilarTo {
9513 #[inline]
9514 pub fn similar_token(&self) -> Option<SyntaxToken> {
9515 support::token(&self.syntax, SyntaxKind::SIMILAR_KW)
9516 }
9517 #[inline]
9518 pub fn to_token(&self) -> Option<SyntaxToken> {
9519 support::token(&self.syntax, SyntaxKind::TO_KW)
9520 }
9521}
9522
9523#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9524pub struct SortAsc {
9525 pub(crate) syntax: SyntaxNode,
9526}
9527impl SortAsc {
9528 #[inline]
9529 pub fn asc_token(&self) -> Option<SyntaxToken> {
9530 support::token(&self.syntax, SyntaxKind::ASC_KW)
9531 }
9532}
9533
9534#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9535pub struct SortBy {
9536 pub(crate) syntax: SyntaxNode,
9537}
9538impl SortBy {
9539 #[inline]
9540 pub fn expr(&self) -> Option<Expr> {
9541 support::child(&self.syntax)
9542 }
9543 #[inline]
9544 pub fn nulls_first(&self) -> Option<NullsFirst> {
9545 support::child(&self.syntax)
9546 }
9547 #[inline]
9548 pub fn nulls_last(&self) -> Option<NullsLast> {
9549 support::child(&self.syntax)
9550 }
9551 #[inline]
9552 pub fn sort_asc(&self) -> Option<SortAsc> {
9553 support::child(&self.syntax)
9554 }
9555 #[inline]
9556 pub fn sort_desc(&self) -> Option<SortDesc> {
9557 support::child(&self.syntax)
9558 }
9559 #[inline]
9560 pub fn sort_using(&self) -> Option<SortUsing> {
9561 support::child(&self.syntax)
9562 }
9563}
9564
9565#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9566pub struct SortByList {
9567 pub(crate) syntax: SyntaxNode,
9568}
9569impl SortByList {
9570 #[inline]
9571 pub fn sort_bys(&self) -> AstChildren<SortBy> {
9572 support::children(&self.syntax)
9573 }
9574}
9575
9576#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9577pub struct SortDesc {
9578 pub(crate) syntax: SyntaxNode,
9579}
9580impl SortDesc {
9581 #[inline]
9582 pub fn desc_token(&self) -> Option<SyntaxToken> {
9583 support::token(&self.syntax, SyntaxKind::DESC_KW)
9584 }
9585}
9586
9587#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9588pub struct SortUsing {
9589 pub(crate) syntax: SyntaxNode,
9590}
9591impl SortUsing {
9592 #[inline]
9593 pub fn op(&self) -> Option<Op> {
9594 support::child(&self.syntax)
9595 }
9596 #[inline]
9597 pub fn using_token(&self) -> Option<SyntaxToken> {
9598 support::token(&self.syntax, SyntaxKind::USING_KW)
9599 }
9600}
9601
9602#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9603pub struct SourceFile {
9604 pub(crate) syntax: SyntaxNode,
9605}
9606impl SourceFile {
9607 #[inline]
9608 pub fn stmts(&self) -> AstChildren<Stmt> {
9609 support::children(&self.syntax)
9610 }
9611}
9612
9613#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9614pub struct Storage {
9615 pub(crate) syntax: SyntaxNode,
9616}
9617impl Storage {
9618 #[inline]
9619 pub fn default_token(&self) -> Option<SyntaxToken> {
9620 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
9621 }
9622 #[inline]
9623 pub fn external_token(&self) -> Option<SyntaxToken> {
9624 support::token(&self.syntax, SyntaxKind::EXTERNAL_KW)
9625 }
9626 #[inline]
9627 pub fn ident_token(&self) -> Option<SyntaxToken> {
9628 support::token(&self.syntax, SyntaxKind::IDENT)
9629 }
9630 #[inline]
9631 pub fn storage_token(&self) -> Option<SyntaxToken> {
9632 support::token(&self.syntax, SyntaxKind::STORAGE_KW)
9633 }
9634}
9635
9636#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9637pub struct StrictFuncOption {
9638 pub(crate) syntax: SyntaxNode,
9639}
9640impl StrictFuncOption {
9641 #[inline]
9642 pub fn called_token(&self) -> Option<SyntaxToken> {
9643 support::token(&self.syntax, SyntaxKind::CALLED_KW)
9644 }
9645 #[inline]
9646 pub fn input_token(&self) -> Option<SyntaxToken> {
9647 support::token(&self.syntax, SyntaxKind::INPUT_KW)
9648 }
9649 #[inline]
9650 pub fn null_token(&self) -> Option<SyntaxToken> {
9651 support::token(&self.syntax, SyntaxKind::NULL_KW)
9652 }
9653 #[inline]
9654 pub fn on_token(&self) -> Option<SyntaxToken> {
9655 support::token(&self.syntax, SyntaxKind::ON_KW)
9656 }
9657 #[inline]
9658 pub fn returns_token(&self) -> Option<SyntaxToken> {
9659 support::token(&self.syntax, SyntaxKind::RETURNS_KW)
9660 }
9661 #[inline]
9662 pub fn strict_token(&self) -> Option<SyntaxToken> {
9663 support::token(&self.syntax, SyntaxKind::STRICT_KW)
9664 }
9665}
9666
9667#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9668pub struct SupportFuncOption {
9669 pub(crate) syntax: SyntaxNode,
9670}
9671impl SupportFuncOption {
9672 #[inline]
9673 pub fn support_token(&self) -> Option<SyntaxToken> {
9674 support::token(&self.syntax, SyntaxKind::SUPPORT_KW)
9675 }
9676}
9677
9678#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9679pub struct Table {
9680 pub(crate) syntax: SyntaxNode,
9681}
9682impl Table {
9683 #[inline]
9684 pub fn relation_name(&self) -> Option<RelationName> {
9685 support::child(&self.syntax)
9686 }
9687 #[inline]
9688 pub fn table_token(&self) -> Option<SyntaxToken> {
9689 support::token(&self.syntax, SyntaxKind::TABLE_KW)
9690 }
9691}
9692
9693#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9694pub struct TableArgList {
9695 pub(crate) syntax: SyntaxNode,
9696}
9697impl TableArgList {
9698 #[inline]
9699 pub fn args(&self) -> AstChildren<TableArg> {
9700 support::children(&self.syntax)
9701 }
9702 #[inline]
9703 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
9704 support::token(&self.syntax, SyntaxKind::L_PAREN)
9705 }
9706 #[inline]
9707 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
9708 support::token(&self.syntax, SyntaxKind::R_PAREN)
9709 }
9710}
9711
9712#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9713pub struct TableList {
9714 pub(crate) syntax: SyntaxNode,
9715}
9716impl TableList {
9717 #[inline]
9718 pub fn relation_names(&self) -> AstChildren<RelationName> {
9719 support::children(&self.syntax)
9720 }
9721}
9722
9723#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9724pub struct Tablespace {
9725 pub(crate) syntax: SyntaxNode,
9726}
9727impl Tablespace {
9728 #[inline]
9729 pub fn name_ref(&self) -> Option<NameRef> {
9730 support::child(&self.syntax)
9731 }
9732 #[inline]
9733 pub fn tablespace_token(&self) -> Option<SyntaxToken> {
9734 support::token(&self.syntax, SyntaxKind::TABLESPACE_KW)
9735 }
9736}
9737
9738#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9739pub struct Target {
9740 pub(crate) syntax: SyntaxNode,
9741}
9742impl Target {
9743 #[inline]
9744 pub fn as_name(&self) -> Option<AsName> {
9745 support::child(&self.syntax)
9746 }
9747 #[inline]
9748 pub fn expr(&self) -> Option<Expr> {
9749 support::child(&self.syntax)
9750 }
9751 #[inline]
9752 pub fn star_token(&self) -> Option<SyntaxToken> {
9753 support::token(&self.syntax, SyntaxKind::STAR)
9754 }
9755}
9756
9757#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9758pub struct TargetList {
9759 pub(crate) syntax: SyntaxNode,
9760}
9761impl TargetList {
9762 #[inline]
9763 pub fn targets(&self) -> AstChildren<Target> {
9764 support::children(&self.syntax)
9765 }
9766}
9767
9768#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9769pub struct TimeType {
9770 pub(crate) syntax: SyntaxNode,
9771}
9772impl TimeType {
9773 #[inline]
9774 pub fn literal(&self) -> Option<Literal> {
9775 support::child(&self.syntax)
9776 }
9777 #[inline]
9778 pub fn timezone(&self) -> Option<Timezone> {
9779 support::child(&self.syntax)
9780 }
9781 #[inline]
9782 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
9783 support::token(&self.syntax, SyntaxKind::L_PAREN)
9784 }
9785 #[inline]
9786 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
9787 support::token(&self.syntax, SyntaxKind::R_PAREN)
9788 }
9789 #[inline]
9790 pub fn time_token(&self) -> Option<SyntaxToken> {
9791 support::token(&self.syntax, SyntaxKind::TIME_KW)
9792 }
9793 #[inline]
9794 pub fn timestamp_token(&self) -> Option<SyntaxToken> {
9795 support::token(&self.syntax, SyntaxKind::TIMESTAMP_KW)
9796 }
9797}
9798
9799#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9800pub struct TransactionModeList {
9801 pub(crate) syntax: SyntaxNode,
9802}
9803impl TransactionModeList {
9804 #[inline]
9805 pub fn transaction_modes(&self) -> AstChildren<TransactionMode> {
9806 support::children(&self.syntax)
9807 }
9808}
9809
9810#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9811pub struct TransformFuncOption {
9812 pub(crate) syntax: SyntaxNode,
9813}
9814impl TransformFuncOption {
9815 #[inline]
9816 pub fn transform_token(&self) -> Option<SyntaxToken> {
9817 support::token(&self.syntax, SyntaxKind::TRANSFORM_KW)
9818 }
9819}
9820
9821#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9822pub struct Truncate {
9823 pub(crate) syntax: SyntaxNode,
9824}
9825impl Truncate {
9826 #[inline]
9827 pub fn table_list(&self) -> Option<TableList> {
9828 support::child(&self.syntax)
9829 }
9830 #[inline]
9831 pub fn cascade_token(&self) -> Option<SyntaxToken> {
9832 support::token(&self.syntax, SyntaxKind::CASCADE_KW)
9833 }
9834 #[inline]
9835 pub fn continue_token(&self) -> Option<SyntaxToken> {
9836 support::token(&self.syntax, SyntaxKind::CONTINUE_KW)
9837 }
9838 #[inline]
9839 pub fn identity_token(&self) -> Option<SyntaxToken> {
9840 support::token(&self.syntax, SyntaxKind::IDENTITY_KW)
9841 }
9842 #[inline]
9843 pub fn restart_token(&self) -> Option<SyntaxToken> {
9844 support::token(&self.syntax, SyntaxKind::RESTART_KW)
9845 }
9846 #[inline]
9847 pub fn restrict_token(&self) -> Option<SyntaxToken> {
9848 support::token(&self.syntax, SyntaxKind::RESTRICT_KW)
9849 }
9850 #[inline]
9851 pub fn table_token(&self) -> Option<SyntaxToken> {
9852 support::token(&self.syntax, SyntaxKind::TABLE_KW)
9853 }
9854 #[inline]
9855 pub fn truncate_token(&self) -> Option<SyntaxToken> {
9856 support::token(&self.syntax, SyntaxKind::TRUNCATE_KW)
9857 }
9858}
9859
9860#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9861pub struct TupleExpr {
9862 pub(crate) syntax: SyntaxNode,
9863}
9864impl TupleExpr {
9865 #[inline]
9866 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
9867 support::token(&self.syntax, SyntaxKind::L_PAREN)
9868 }
9869 #[inline]
9870 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
9871 support::token(&self.syntax, SyntaxKind::R_PAREN)
9872 }
9873}
9874
9875#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9876pub struct UnicodeNormalForm {
9877 pub(crate) syntax: SyntaxNode,
9878}
9879impl UnicodeNormalForm {
9880 #[inline]
9881 pub fn nfc_token(&self) -> Option<SyntaxToken> {
9882 support::token(&self.syntax, SyntaxKind::NFC_KW)
9883 }
9884 #[inline]
9885 pub fn nfd_token(&self) -> Option<SyntaxToken> {
9886 support::token(&self.syntax, SyntaxKind::NFD_KW)
9887 }
9888 #[inline]
9889 pub fn nfkc_token(&self) -> Option<SyntaxToken> {
9890 support::token(&self.syntax, SyntaxKind::NFKC_KW)
9891 }
9892 #[inline]
9893 pub fn nfkd_token(&self) -> Option<SyntaxToken> {
9894 support::token(&self.syntax, SyntaxKind::NFKD_KW)
9895 }
9896}
9897
9898#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9899pub struct UniqueConstraint {
9900 pub(crate) syntax: SyntaxNode,
9901}
9902impl UniqueConstraint {
9903 #[inline]
9904 pub fn column_list(&self) -> Option<ColumnList> {
9905 support::child(&self.syntax)
9906 }
9907 #[inline]
9908 pub fn name_ref(&self) -> Option<NameRef> {
9909 support::child(&self.syntax)
9910 }
9911 #[inline]
9912 pub fn nulls_distinct(&self) -> Option<NullsDistinct> {
9913 support::child(&self.syntax)
9914 }
9915 #[inline]
9916 pub fn nulls_not_distinct(&self) -> Option<NullsNotDistinct> {
9917 support::child(&self.syntax)
9918 }
9919 #[inline]
9920 pub fn using_index(&self) -> Option<UsingIndex> {
9921 support::child(&self.syntax)
9922 }
9923 #[inline]
9924 pub fn constraint_token(&self) -> Option<SyntaxToken> {
9925 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
9926 }
9927 #[inline]
9928 pub fn unique_token(&self) -> Option<SyntaxToken> {
9929 support::token(&self.syntax, SyntaxKind::UNIQUE_KW)
9930 }
9931}
9932
9933#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9934pub struct Unlisten {
9935 pub(crate) syntax: SyntaxNode,
9936}
9937impl Unlisten {
9938 #[inline]
9939 pub fn name_ref(&self) -> Option<NameRef> {
9940 support::child(&self.syntax)
9941 }
9942 #[inline]
9943 pub fn star_token(&self) -> Option<SyntaxToken> {
9944 support::token(&self.syntax, SyntaxKind::STAR)
9945 }
9946 #[inline]
9947 pub fn unlisten_token(&self) -> Option<SyntaxToken> {
9948 support::token(&self.syntax, SyntaxKind::UNLISTEN_KW)
9949 }
9950}
9951
9952#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9953pub struct Update {
9954 pub(crate) syntax: SyntaxNode,
9955}
9956impl Update {
9957 #[inline]
9958 pub fn returning_clause(&self) -> Option<ReturningClause> {
9959 support::child(&self.syntax)
9960 }
9961 #[inline]
9962 pub fn update_token(&self) -> Option<SyntaxToken> {
9963 support::token(&self.syntax, SyntaxKind::UPDATE_KW)
9964 }
9965}
9966
9967#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9968pub struct UsingClause {
9969 pub(crate) syntax: SyntaxNode,
9970}
9971impl UsingClause {
9972 #[inline]
9973 pub fn using_token(&self) -> Option<SyntaxToken> {
9974 support::token(&self.syntax, SyntaxKind::USING_KW)
9975 }
9976}
9977
9978#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9979pub struct UsingIndex {
9980 pub(crate) syntax: SyntaxNode,
9981}
9982impl UsingIndex {
9983 #[inline]
9984 pub fn name_ref(&self) -> Option<NameRef> {
9985 support::child(&self.syntax)
9986 }
9987 #[inline]
9988 pub fn index_token(&self) -> Option<SyntaxToken> {
9989 support::token(&self.syntax, SyntaxKind::INDEX_KW)
9990 }
9991 #[inline]
9992 pub fn using_token(&self) -> Option<SyntaxToken> {
9993 support::token(&self.syntax, SyntaxKind::USING_KW)
9994 }
9995}
9996
9997#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9998pub struct UsingMethod {
9999 pub(crate) syntax: SyntaxNode,
10000}
10001impl UsingMethod {
10002 #[inline]
10003 pub fn name_ref(&self) -> Option<NameRef> {
10004 support::child(&self.syntax)
10005 }
10006 #[inline]
10007 pub fn using_token(&self) -> Option<SyntaxToken> {
10008 support::token(&self.syntax, SyntaxKind::USING_KW)
10009 }
10010}
10011
10012#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10013pub struct Vacuum {
10014 pub(crate) syntax: SyntaxNode,
10015}
10016impl Vacuum {
10017 #[inline]
10018 pub fn vacuum_option_list(&self) -> Option<VacuumOptionList> {
10019 support::child(&self.syntax)
10020 }
10021 #[inline]
10022 pub fn vacuum_token(&self) -> Option<SyntaxToken> {
10023 support::token(&self.syntax, SyntaxKind::VACUUM_KW)
10024 }
10025}
10026
10027#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10028pub struct VacuumOption {
10029 pub(crate) syntax: SyntaxNode,
10030}
10031impl VacuumOption {
10032 #[inline]
10033 pub fn full_token(&self) -> Option<SyntaxToken> {
10034 support::token(&self.syntax, SyntaxKind::FULL_KW)
10035 }
10036}
10037
10038#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10039pub struct VacuumOptionList {
10040 pub(crate) syntax: SyntaxNode,
10041}
10042impl VacuumOptionList {
10043 #[inline]
10044 pub fn vacuum_options(&self) -> AstChildren<VacuumOption> {
10045 support::children(&self.syntax)
10046 }
10047 #[inline]
10048 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10049 support::token(&self.syntax, SyntaxKind::L_PAREN)
10050 }
10051 #[inline]
10052 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10053 support::token(&self.syntax, SyntaxKind::R_PAREN)
10054 }
10055}
10056
10057#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10058pub struct ValidateConstraint {
10059 pub(crate) syntax: SyntaxNode,
10060}
10061impl ValidateConstraint {
10062 #[inline]
10063 pub fn name_ref(&self) -> Option<NameRef> {
10064 support::child(&self.syntax)
10065 }
10066 #[inline]
10067 pub fn constraint_token(&self) -> Option<SyntaxToken> {
10068 support::token(&self.syntax, SyntaxKind::CONSTRAINT_KW)
10069 }
10070 #[inline]
10071 pub fn validate_token(&self) -> Option<SyntaxToken> {
10072 support::token(&self.syntax, SyntaxKind::VALIDATE_KW)
10073 }
10074}
10075
10076#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10077pub struct Values {
10078 pub(crate) syntax: SyntaxNode,
10079}
10080impl Values {
10081 #[inline]
10082 pub fn row_list(&self) -> Option<RowList> {
10083 support::child(&self.syntax)
10084 }
10085 #[inline]
10086 pub fn values_token(&self) -> Option<SyntaxToken> {
10087 support::token(&self.syntax, SyntaxKind::VALUES_KW)
10088 }
10089}
10090
10091#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10092pub struct Variant {
10093 pub(crate) syntax: SyntaxNode,
10094}
10095impl Variant {
10096 #[inline]
10097 pub fn literal(&self) -> Option<Literal> {
10098 support::child(&self.syntax)
10099 }
10100}
10101
10102#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10103pub struct VariantList {
10104 pub(crate) syntax: SyntaxNode,
10105}
10106impl VariantList {
10107 #[inline]
10108 pub fn variants(&self) -> AstChildren<Variant> {
10109 support::children(&self.syntax)
10110 }
10111 #[inline]
10112 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10113 support::token(&self.syntax, SyntaxKind::L_PAREN)
10114 }
10115 #[inline]
10116 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10117 support::token(&self.syntax, SyntaxKind::R_PAREN)
10118 }
10119}
10120
10121#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10122pub struct VolatilityFuncOption {
10123 pub(crate) syntax: SyntaxNode,
10124}
10125impl VolatilityFuncOption {
10126 #[inline]
10127 pub fn immutable_token(&self) -> Option<SyntaxToken> {
10128 support::token(&self.syntax, SyntaxKind::IMMUTABLE_KW)
10129 }
10130 #[inline]
10131 pub fn stable_token(&self) -> Option<SyntaxToken> {
10132 support::token(&self.syntax, SyntaxKind::STABLE_KW)
10133 }
10134 #[inline]
10135 pub fn volatile_token(&self) -> Option<SyntaxToken> {
10136 support::token(&self.syntax, SyntaxKind::VOLATILE_KW)
10137 }
10138}
10139
10140#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10141pub struct WhenClause {
10142 pub(crate) syntax: SyntaxNode,
10143}
10144impl WhenClause {
10145 #[inline]
10146 pub fn expr(&self) -> Option<Expr> {
10147 support::child(&self.syntax)
10148 }
10149 #[inline]
10150 pub fn then_token(&self) -> Option<SyntaxToken> {
10151 support::token(&self.syntax, SyntaxKind::THEN_KW)
10152 }
10153 #[inline]
10154 pub fn when_token(&self) -> Option<SyntaxToken> {
10155 support::token(&self.syntax, SyntaxKind::WHEN_KW)
10156 }
10157}
10158
10159#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10160pub struct WhenClauseList {
10161 pub(crate) syntax: SyntaxNode,
10162}
10163impl WhenClauseList {
10164 #[inline]
10165 pub fn when_clause(&self) -> Option<WhenClause> {
10166 support::child(&self.syntax)
10167 }
10168 #[inline]
10169 pub fn when_clauses(&self) -> AstChildren<WhenClause> {
10170 support::children(&self.syntax)
10171 }
10172}
10173
10174#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10175pub struct WhereClause {
10176 pub(crate) syntax: SyntaxNode,
10177}
10178impl WhereClause {
10179 #[inline]
10180 pub fn expr(&self) -> Option<Expr> {
10181 support::child(&self.syntax)
10182 }
10183 #[inline]
10184 pub fn where_token(&self) -> Option<SyntaxToken> {
10185 support::token(&self.syntax, SyntaxKind::WHERE_KW)
10186 }
10187}
10188
10189#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10190pub struct WindowClause {
10191 pub(crate) syntax: SyntaxNode,
10192}
10193impl WindowClause {
10194 #[inline]
10195 pub fn window_defs(&self) -> AstChildren<WindowDef> {
10196 support::children(&self.syntax)
10197 }
10198 #[inline]
10199 pub fn window_token(&self) -> Option<SyntaxToken> {
10200 support::token(&self.syntax, SyntaxKind::WINDOW_KW)
10201 }
10202}
10203
10204#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10205pub struct WindowDef {
10206 pub(crate) syntax: SyntaxNode,
10207}
10208impl WindowDef {
10209 #[inline]
10210 pub fn name(&self) -> Option<Name> {
10211 support::child(&self.syntax)
10212 }
10213 #[inline]
10214 pub fn window_spec(&self) -> Option<WindowSpec> {
10215 support::child(&self.syntax)
10216 }
10217 #[inline]
10218 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10219 support::token(&self.syntax, SyntaxKind::L_PAREN)
10220 }
10221 #[inline]
10222 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10223 support::token(&self.syntax, SyntaxKind::R_PAREN)
10224 }
10225 #[inline]
10226 pub fn as_token(&self) -> Option<SyntaxToken> {
10227 support::token(&self.syntax, SyntaxKind::AS_KW)
10228 }
10229}
10230
10231#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10232pub struct WindowFuncOption {
10233 pub(crate) syntax: SyntaxNode,
10234}
10235impl WindowFuncOption {
10236 #[inline]
10237 pub fn window_token(&self) -> Option<SyntaxToken> {
10238 support::token(&self.syntax, SyntaxKind::WINDOW_KW)
10239 }
10240}
10241
10242#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10243pub struct WindowSpec {
10244 pub(crate) syntax: SyntaxNode,
10245}
10246impl WindowSpec {
10247 #[inline]
10248 pub fn exprs(&self) -> AstChildren<Expr> {
10249 support::children(&self.syntax)
10250 }
10251 #[inline]
10252 pub fn frame_clause(&self) -> Option<FrameClause> {
10253 support::child(&self.syntax)
10254 }
10255 #[inline]
10256 pub fn order_by_clause(&self) -> Option<OrderByClause> {
10257 support::child(&self.syntax)
10258 }
10259 #[inline]
10260 pub fn by_token(&self) -> Option<SyntaxToken> {
10261 support::token(&self.syntax, SyntaxKind::BY_KW)
10262 }
10263 #[inline]
10264 pub fn ident_token(&self) -> Option<SyntaxToken> {
10265 support::token(&self.syntax, SyntaxKind::IDENT)
10266 }
10267 #[inline]
10268 pub fn partition_token(&self) -> Option<SyntaxToken> {
10269 support::token(&self.syntax, SyntaxKind::PARTITION_KW)
10270 }
10271}
10272
10273#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10274pub struct WithClause {
10275 pub(crate) syntax: SyntaxNode,
10276}
10277impl WithClause {
10278 #[inline]
10279 pub fn with_tables(&self) -> AstChildren<WithTable> {
10280 support::children(&self.syntax)
10281 }
10282 #[inline]
10283 pub fn recursive_token(&self) -> Option<SyntaxToken> {
10284 support::token(&self.syntax, SyntaxKind::RECURSIVE_KW)
10285 }
10286 #[inline]
10287 pub fn with_token(&self) -> Option<SyntaxToken> {
10288 support::token(&self.syntax, SyntaxKind::WITH_KW)
10289 }
10290}
10291
10292#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10293pub struct WithData {
10294 pub(crate) syntax: SyntaxNode,
10295}
10296impl WithData {
10297 #[inline]
10298 pub fn data_token(&self) -> Option<SyntaxToken> {
10299 support::token(&self.syntax, SyntaxKind::DATA_KW)
10300 }
10301 #[inline]
10302 pub fn with_token(&self) -> Option<SyntaxToken> {
10303 support::token(&self.syntax, SyntaxKind::WITH_KW)
10304 }
10305}
10306
10307#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10308pub struct WithNoData {
10309 pub(crate) syntax: SyntaxNode,
10310}
10311impl WithNoData {
10312 #[inline]
10313 pub fn data_token(&self) -> Option<SyntaxToken> {
10314 support::token(&self.syntax, SyntaxKind::DATA_KW)
10315 }
10316 #[inline]
10317 pub fn no_token(&self) -> Option<SyntaxToken> {
10318 support::token(&self.syntax, SyntaxKind::NO_KW)
10319 }
10320 #[inline]
10321 pub fn with_token(&self) -> Option<SyntaxToken> {
10322 support::token(&self.syntax, SyntaxKind::WITH_KW)
10323 }
10324}
10325
10326#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10327pub struct WithOptions {
10328 pub(crate) syntax: SyntaxNode,
10329}
10330impl WithOptions {
10331 #[inline]
10332 pub fn options_token(&self) -> Option<SyntaxToken> {
10333 support::token(&self.syntax, SyntaxKind::OPTIONS_KW)
10334 }
10335 #[inline]
10336 pub fn with_token(&self) -> Option<SyntaxToken> {
10337 support::token(&self.syntax, SyntaxKind::WITH_KW)
10338 }
10339}
10340
10341#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10342pub struct WithParams {
10343 pub(crate) syntax: SyntaxNode,
10344}
10345impl WithParams {
10346 #[inline]
10347 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10348 support::token(&self.syntax, SyntaxKind::L_PAREN)
10349 }
10350 #[inline]
10351 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10352 support::token(&self.syntax, SyntaxKind::R_PAREN)
10353 }
10354 #[inline]
10355 pub fn with_token(&self) -> Option<SyntaxToken> {
10356 support::token(&self.syntax, SyntaxKind::WITH_KW)
10357 }
10358}
10359
10360#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10361pub struct WithTable {
10362 pub(crate) syntax: SyntaxNode,
10363}
10364impl WithTable {
10365 #[inline]
10366 pub fn column_list(&self) -> Option<ColumnList> {
10367 support::child(&self.syntax)
10368 }
10369 #[inline]
10370 pub fn materialized(&self) -> Option<Materialized> {
10371 support::child(&self.syntax)
10372 }
10373 #[inline]
10374 pub fn name(&self) -> Option<Name> {
10375 support::child(&self.syntax)
10376 }
10377 #[inline]
10378 pub fn not_materialized(&self) -> Option<NotMaterialized> {
10379 support::child(&self.syntax)
10380 }
10381 #[inline]
10382 pub fn query(&self) -> Option<WithQuery> {
10383 support::child(&self.syntax)
10384 }
10385 #[inline]
10386 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10387 support::token(&self.syntax, SyntaxKind::L_PAREN)
10388 }
10389 #[inline]
10390 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10391 support::token(&self.syntax, SyntaxKind::R_PAREN)
10392 }
10393 #[inline]
10394 pub fn as_token(&self) -> Option<SyntaxToken> {
10395 support::token(&self.syntax, SyntaxKind::AS_KW)
10396 }
10397}
10398
10399#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10400pub struct WithTimezone {
10401 pub(crate) syntax: SyntaxNode,
10402}
10403impl WithTimezone {
10404 #[inline]
10405 pub fn time_token(&self) -> Option<SyntaxToken> {
10406 support::token(&self.syntax, SyntaxKind::TIME_KW)
10407 }
10408 #[inline]
10409 pub fn with_token(&self) -> Option<SyntaxToken> {
10410 support::token(&self.syntax, SyntaxKind::WITH_KW)
10411 }
10412 #[inline]
10413 pub fn zone_token(&self) -> Option<SyntaxToken> {
10414 support::token(&self.syntax, SyntaxKind::ZONE_KW)
10415 }
10416}
10417
10418#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10419pub struct WithinClause {
10420 pub(crate) syntax: SyntaxNode,
10421}
10422impl WithinClause {
10423 #[inline]
10424 pub fn order_by_clause(&self) -> Option<OrderByClause> {
10425 support::child(&self.syntax)
10426 }
10427 #[inline]
10428 pub fn l_paren_token(&self) -> Option<SyntaxToken> {
10429 support::token(&self.syntax, SyntaxKind::L_PAREN)
10430 }
10431 #[inline]
10432 pub fn r_paren_token(&self) -> Option<SyntaxToken> {
10433 support::token(&self.syntax, SyntaxKind::R_PAREN)
10434 }
10435 #[inline]
10436 pub fn group_token(&self) -> Option<SyntaxToken> {
10437 support::token(&self.syntax, SyntaxKind::GROUP_KW)
10438 }
10439 #[inline]
10440 pub fn within_token(&self) -> Option<SyntaxToken> {
10441 support::token(&self.syntax, SyntaxKind::WITHIN_KW)
10442 }
10443}
10444
10445#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10446pub struct WithoutOids {
10447 pub(crate) syntax: SyntaxNode,
10448}
10449impl WithoutOids {
10450 #[inline]
10451 pub fn oids_token(&self) -> Option<SyntaxToken> {
10452 support::token(&self.syntax, SyntaxKind::OIDS_KW)
10453 }
10454 #[inline]
10455 pub fn without_token(&self) -> Option<SyntaxToken> {
10456 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
10457 }
10458}
10459
10460#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10461pub struct WithoutTimezone {
10462 pub(crate) syntax: SyntaxNode,
10463}
10464impl WithoutTimezone {
10465 #[inline]
10466 pub fn time_token(&self) -> Option<SyntaxToken> {
10467 support::token(&self.syntax, SyntaxKind::TIME_KW)
10468 }
10469 #[inline]
10470 pub fn without_token(&self) -> Option<SyntaxToken> {
10471 support::token(&self.syntax, SyntaxKind::WITHOUT_KW)
10472 }
10473 #[inline]
10474 pub fn zone_token(&self) -> Option<SyntaxToken> {
10475 support::token(&self.syntax, SyntaxKind::ZONE_KW)
10476 }
10477}
10478
10479#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10480pub struct XmlColumnOption {
10481 pub(crate) syntax: SyntaxNode,
10482}
10483impl XmlColumnOption {
10484 #[inline]
10485 pub fn expr(&self) -> Option<Expr> {
10486 support::child(&self.syntax)
10487 }
10488 #[inline]
10489 pub fn default_token(&self) -> Option<SyntaxToken> {
10490 support::token(&self.syntax, SyntaxKind::DEFAULT_KW)
10491 }
10492 #[inline]
10493 pub fn ident_token(&self) -> Option<SyntaxToken> {
10494 support::token(&self.syntax, SyntaxKind::IDENT)
10495 }
10496 #[inline]
10497 pub fn not_token(&self) -> Option<SyntaxToken> {
10498 support::token(&self.syntax, SyntaxKind::NOT_KW)
10499 }
10500 #[inline]
10501 pub fn null_token(&self) -> Option<SyntaxToken> {
10502 support::token(&self.syntax, SyntaxKind::NULL_KW)
10503 }
10504 #[inline]
10505 pub fn path_token(&self) -> Option<SyntaxToken> {
10506 support::token(&self.syntax, SyntaxKind::PATH_KW)
10507 }
10508}
10509
10510#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10511pub struct XmlColumnOptionList {
10512 pub(crate) syntax: SyntaxNode,
10513}
10514impl XmlColumnOptionList {
10515 #[inline]
10516 pub fn xml_column_option(&self) -> Option<XmlColumnOption> {
10517 support::child(&self.syntax)
10518 }
10519 #[inline]
10520 pub fn xml_column_options(&self) -> AstChildren<XmlColumnOption> {
10521 support::children(&self.syntax)
10522 }
10523}
10524
10525#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10526pub struct XmlTableColumn {
10527 pub(crate) syntax: SyntaxNode,
10528}
10529impl XmlTableColumn {
10530 #[inline]
10531 pub fn name(&self) -> Option<Name> {
10532 support::child(&self.syntax)
10533 }
10534 #[inline]
10535 pub fn ty(&self) -> Option<Type> {
10536 support::child(&self.syntax)
10537 }
10538 #[inline]
10539 pub fn xml_column_option_list(&self) -> Option<XmlColumnOptionList> {
10540 support::child(&self.syntax)
10541 }
10542 #[inline]
10543 pub fn for_token(&self) -> Option<SyntaxToken> {
10544 support::token(&self.syntax, SyntaxKind::FOR_KW)
10545 }
10546 #[inline]
10547 pub fn ordinality_token(&self) -> Option<SyntaxToken> {
10548 support::token(&self.syntax, SyntaxKind::ORDINALITY_KW)
10549 }
10550}
10551
10552#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10553pub struct XmlTableColumnList {
10554 pub(crate) syntax: SyntaxNode,
10555}
10556impl XmlTableColumnList {
10557 #[inline]
10558 pub fn xml_table_columns(&self) -> AstChildren<XmlTableColumn> {
10559 support::children(&self.syntax)
10560 }
10561}
10562
10563#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10564pub enum AlterColumnOption {
10565 AddGenerated(AddGenerated),
10566 DropDefault(DropDefault),
10567 DropExpression(DropExpression),
10568 DropIdentity(DropIdentity),
10569 DropNotNull(DropNotNull),
10570 ResetOptions(ResetOptions),
10571 Restart(Restart),
10572 SetCompression(SetCompression),
10573 SetDefault(SetDefault),
10574 SetExpression(SetExpression),
10575 SetGenerated(SetGenerated),
10576 SetGeneratedOptions(SetGeneratedOptions),
10577 SetNotNull(SetNotNull),
10578 SetOptions(SetOptions),
10579 SetSequenceOption(SetSequenceOption),
10580 SetStatistics(SetStatistics),
10581 SetStorage(SetStorage),
10582 SetType(SetType),
10583}
10584
10585#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10586pub enum AlterDomainAction {
10587 AddConstraint(AddConstraint),
10588 DropConstraint(DropConstraint),
10589 DropDefault(DropDefault),
10590 DropNotNull(DropNotNull),
10591 OwnerTo(OwnerTo),
10592 RenameConstraint(RenameConstraint),
10593 RenameTo(RenameTo),
10594 SetDefault(SetDefault),
10595 SetNotNull(SetNotNull),
10596 SetSchema(SetSchema),
10597 ValidateConstraint(ValidateConstraint),
10598}
10599
10600#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10601pub enum AlterTableAction {
10602 AddColumn(AddColumn),
10603 AddConstraint(AddConstraint),
10604 AlterColumn(AlterColumn),
10605 AlterConstraint(AlterConstraint),
10606 AttachPartition(AttachPartition),
10607 ClusterOn(ClusterOn),
10608 DetachPartition(DetachPartition),
10609 DisableRls(DisableRls),
10610 DisableRule(DisableRule),
10611 DisableTrigger(DisableTrigger),
10612 DropColumn(DropColumn),
10613 DropConstraint(DropConstraint),
10614 EnableAlwaysRule(EnableAlwaysRule),
10615 EnableAlwaysTrigger(EnableAlwaysTrigger),
10616 EnableReplicaRule(EnableReplicaRule),
10617 EnableReplicaTrigger(EnableReplicaTrigger),
10618 EnableRls(EnableRls),
10619 EnableRule(EnableRule),
10620 EnableTrigger(EnableTrigger),
10621 ForceRls(ForceRls),
10622 Inherit(Inherit),
10623 NoForceRls(NoForceRls),
10624 NoInherit(NoInherit),
10625 NotOf(NotOf),
10626 OfType(OfType),
10627 OptionsList(OptionsList),
10628 OwnerTo(OwnerTo),
10629 RenameColumn(RenameColumn),
10630 RenameConstraint(RenameConstraint),
10631 RenameTable(RenameTable),
10632 ReplicaIdentity(ReplicaIdentity),
10633 ResetStorageParams(ResetStorageParams),
10634 SetAccessMethod(SetAccessMethod),
10635 SetLogged(SetLogged),
10636 SetSchema(SetSchema),
10637 SetStorageParams(SetStorageParams),
10638 SetTablespace(SetTablespace),
10639 SetUnlogged(SetUnlogged),
10640 SetWithoutCluster(SetWithoutCluster),
10641 SetWithoutOids(SetWithoutOids),
10642 ValidateConstraint(ValidateConstraint),
10643}
10644
10645#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10646pub enum ColumnConstraint {
10647 CheckConstraint(CheckConstraint),
10648 ExcludeConstraint(ExcludeConstraint),
10649 NotNullConstraint(NotNullConstraint),
10650 PrimaryKeyConstraint(PrimaryKeyConstraint),
10651 ReferencesConstraint(ReferencesConstraint),
10652 UniqueConstraint(UniqueConstraint),
10653}
10654
10655#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10656pub enum Constraint {
10657 CheckConstraint(CheckConstraint),
10658 DefaultConstraint(DefaultConstraint),
10659 ForeignKeyConstraint(ForeignKeyConstraint),
10660 GeneratedConstraint(GeneratedConstraint),
10661 NotNullConstraint(NotNullConstraint),
10662 NullConstraint(NullConstraint),
10663 PrimaryKeyConstraint(PrimaryKeyConstraint),
10664 ReferencesConstraint(ReferencesConstraint),
10665 UniqueConstraint(UniqueConstraint),
10666}
10667
10668#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10669pub enum Expr {
10670 ArrayExpr(ArrayExpr),
10671 BetweenExpr(BetweenExpr),
10672 BinExpr(BinExpr),
10673 CallExpr(CallExpr),
10674 CaseExpr(CaseExpr),
10675 CastExpr(CastExpr),
10676 FieldExpr(FieldExpr),
10677 IndexExpr(IndexExpr),
10678 Literal(Literal),
10679 NameRef(NameRef),
10680 ParenExpr(ParenExpr),
10681 PostfixExpr(PostfixExpr),
10682 PrefixExpr(PrefixExpr),
10683 TupleExpr(TupleExpr),
10684}
10685
10686#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10687pub enum FuncOption {
10688 AsFuncOption(AsFuncOption),
10689 BeginFuncOption(BeginFuncOption),
10690 CostFuncOption(CostFuncOption),
10691 LanguageFuncOption(LanguageFuncOption),
10692 LeakproofFuncOption(LeakproofFuncOption),
10693 ParallelFuncOption(ParallelFuncOption),
10694 ResetFuncOption(ResetFuncOption),
10695 ReturnFuncOption(ReturnFuncOption),
10696 RowsFuncOption(RowsFuncOption),
10697 SecurityFuncOption(SecurityFuncOption),
10698 SetFuncOption(SetFuncOption),
10699 StrictFuncOption(StrictFuncOption),
10700 SupportFuncOption(SupportFuncOption),
10701 TransformFuncOption(TransformFuncOption),
10702 VolatilityFuncOption(VolatilityFuncOption),
10703 WindowFuncOption(WindowFuncOption),
10704}
10705
10706#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10707pub enum GroupBy {
10708 GroupingCube(GroupingCube),
10709 GroupingExpr(GroupingExpr),
10710 GroupingRollup(GroupingRollup),
10711 GroupingSets(GroupingSets),
10712}
10713
10714#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10715pub enum JoinType {
10716 JoinCross(JoinCross),
10717 JoinFull(JoinFull),
10718 JoinInner(JoinInner),
10719 JoinLeft(JoinLeft),
10720 JoinRight(JoinRight),
10721}
10722
10723#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10724pub enum JsonBehavior {
10725 JsonBehaviorDefault(JsonBehaviorDefault),
10726 JsonBehaviorEmptyArray(JsonBehaviorEmptyArray),
10727 JsonBehaviorEmptyObject(JsonBehaviorEmptyObject),
10728 JsonBehaviorError(JsonBehaviorError),
10729 JsonBehaviorFalse(JsonBehaviorFalse),
10730 JsonBehaviorNull(JsonBehaviorNull),
10731 JsonBehaviorTrue(JsonBehaviorTrue),
10732 JsonBehaviorUnknown(JsonBehaviorUnknown),
10733}
10734
10735#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10736pub enum MatchType {
10737 MatchFull(MatchFull),
10738 MatchPartial(MatchPartial),
10739 MatchSimple(MatchSimple),
10740}
10741
10742#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10743pub enum MergeAction {
10744 MergeDelete(MergeDelete),
10745 MergeDoNothing(MergeDoNothing),
10746 MergeInsert(MergeInsert),
10747 MergeUpdate(MergeUpdate),
10748}
10749
10750#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10751pub enum MergeWhenClause {
10752 MergeWhenMatched(MergeWhenMatched),
10753 MergeWhenNotMatchedSource(MergeWhenNotMatchedSource),
10754 MergeWhenNotMatchedTarget(MergeWhenNotMatchedTarget),
10755}
10756
10757#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10758pub enum OnCommitAction {
10759 DeleteRows(DeleteRows),
10760 Drop(Drop),
10761 PreserveRows(PreserveRows),
10762}
10763
10764#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10765pub enum ParamMode {
10766 ParamIn(ParamIn),
10767 ParamInOut(ParamInOut),
10768 ParamOut(ParamOut),
10769 ParamVariadic(ParamVariadic),
10770}
10771
10772#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10773pub enum PartitionType {
10774 PartitionDefault(PartitionDefault),
10775 PartitionForValuesFrom(PartitionForValuesFrom),
10776 PartitionForValuesIn(PartitionForValuesIn),
10777 PartitionForValuesWith(PartitionForValuesWith),
10778}
10779
10780#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10781pub enum RefAction {
10782 Cascade(Cascade),
10783 NoAction(NoAction),
10784 Restrict(Restrict),
10785 SetDefaultColumns(SetDefaultColumns),
10786 SetNullColumns(SetNullColumns),
10787}
10788
10789#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10790pub enum Stmt {
10791 AlterAggregate(AlterAggregate),
10792 AlterCollation(AlterCollation),
10793 AlterConversion(AlterConversion),
10794 AlterDatabase(AlterDatabase),
10795 AlterDefaultPrivileges(AlterDefaultPrivileges),
10796 AlterDomain(AlterDomain),
10797 AlterEventTrigger(AlterEventTrigger),
10798 AlterExtension(AlterExtension),
10799 AlterForeignDataWrapper(AlterForeignDataWrapper),
10800 AlterForeignTable(AlterForeignTable),
10801 AlterFunction(AlterFunction),
10802 AlterGroup(AlterGroup),
10803 AlterIndex(AlterIndex),
10804 AlterLanguage(AlterLanguage),
10805 AlterLargeObject(AlterLargeObject),
10806 AlterMaterializedView(AlterMaterializedView),
10807 AlterOperator(AlterOperator),
10808 AlterOperatorClass(AlterOperatorClass),
10809 AlterOperatorFamily(AlterOperatorFamily),
10810 AlterPolicy(AlterPolicy),
10811 AlterProcedure(AlterProcedure),
10812 AlterPublication(AlterPublication),
10813 AlterRole(AlterRole),
10814 AlterRoutine(AlterRoutine),
10815 AlterRule(AlterRule),
10816 AlterSchema(AlterSchema),
10817 AlterSequence(AlterSequence),
10818 AlterServer(AlterServer),
10819 AlterStatistics(AlterStatistics),
10820 AlterSubscription(AlterSubscription),
10821 AlterSystem(AlterSystem),
10822 AlterTable(AlterTable),
10823 AlterTablespace(AlterTablespace),
10824 AlterTextSearchConfiguration(AlterTextSearchConfiguration),
10825 AlterTextSearchDictionary(AlterTextSearchDictionary),
10826 AlterTextSearchParser(AlterTextSearchParser),
10827 AlterTextSearchTemplate(AlterTextSearchTemplate),
10828 AlterTrigger(AlterTrigger),
10829 AlterType(AlterType),
10830 AlterUser(AlterUser),
10831 AlterUserMapping(AlterUserMapping),
10832 AlterView(AlterView),
10833 Analyze(Analyze),
10834 Begin(Begin),
10835 Call(Call),
10836 Checkpoint(Checkpoint),
10837 Close(Close),
10838 Cluster(Cluster),
10839 CommentOn(CommentOn),
10840 Commit(Commit),
10841 Copy(Copy),
10842 CreateAccessMethod(CreateAccessMethod),
10843 CreateAggregate(CreateAggregate),
10844 CreateCast(CreateCast),
10845 CreateCollation(CreateCollation),
10846 CreateConversion(CreateConversion),
10847 CreateDatabase(CreateDatabase),
10848 CreateDomain(CreateDomain),
10849 CreateEventTrigger(CreateEventTrigger),
10850 CreateExtension(CreateExtension),
10851 CreateForeignDataWrapper(CreateForeignDataWrapper),
10852 CreateForeignTable(CreateForeignTable),
10853 CreateFunction(CreateFunction),
10854 CreateGroup(CreateGroup),
10855 CreateIndex(CreateIndex),
10856 CreateLanguage(CreateLanguage),
10857 CreateMaterializedView(CreateMaterializedView),
10858 CreateOperator(CreateOperator),
10859 CreateOperatorClass(CreateOperatorClass),
10860 CreateOperatorFamily(CreateOperatorFamily),
10861 CreatePolicy(CreatePolicy),
10862 CreateProcedure(CreateProcedure),
10863 CreatePublication(CreatePublication),
10864 CreateRole(CreateRole),
10865 CreateRule(CreateRule),
10866 CreateSchema(CreateSchema),
10867 CreateSequence(CreateSequence),
10868 CreateServer(CreateServer),
10869 CreateStatistics(CreateStatistics),
10870 CreateSubscription(CreateSubscription),
10871 CreateTable(CreateTable),
10872 CreateTableAs(CreateTableAs),
10873 CreateTablespace(CreateTablespace),
10874 CreateTextSearchConfiguration(CreateTextSearchConfiguration),
10875 CreateTextSearchDictionary(CreateTextSearchDictionary),
10876 CreateTextSearchParser(CreateTextSearchParser),
10877 CreateTextSearchTemplate(CreateTextSearchTemplate),
10878 CreateTransform(CreateTransform),
10879 CreateTrigger(CreateTrigger),
10880 CreateType(CreateType),
10881 CreateUser(CreateUser),
10882 CreateUserMapping(CreateUserMapping),
10883 CreateView(CreateView),
10884 Deallocate(Deallocate),
10885 Declare(Declare),
10886 Delete(Delete),
10887 Discard(Discard),
10888 Do(Do),
10889 DropAccessMethod(DropAccessMethod),
10890 DropAggregate(DropAggregate),
10891 DropCast(DropCast),
10892 DropCollation(DropCollation),
10893 DropConversion(DropConversion),
10894 DropDatabase(DropDatabase),
10895 DropDomain(DropDomain),
10896 DropEventTrigger(DropEventTrigger),
10897 DropExtension(DropExtension),
10898 DropForeignDataWrapper(DropForeignDataWrapper),
10899 DropForeignTable(DropForeignTable),
10900 DropFunction(DropFunction),
10901 DropGroup(DropGroup),
10902 DropIndex(DropIndex),
10903 DropLanguage(DropLanguage),
10904 DropMaterializedView(DropMaterializedView),
10905 DropOperator(DropOperator),
10906 DropOperatorClass(DropOperatorClass),
10907 DropOperatorFamily(DropOperatorFamily),
10908 DropOwned(DropOwned),
10909 DropPolicy(DropPolicy),
10910 DropProcedure(DropProcedure),
10911 DropPublication(DropPublication),
10912 DropRole(DropRole),
10913 DropRoutine(DropRoutine),
10914 DropRule(DropRule),
10915 DropSchema(DropSchema),
10916 DropSequence(DropSequence),
10917 DropServer(DropServer),
10918 DropStatistics(DropStatistics),
10919 DropSubscription(DropSubscription),
10920 DropTable(DropTable),
10921 DropTablespace(DropTablespace),
10922 DropTextSearchConfig(DropTextSearchConfig),
10923 DropTextSearchDict(DropTextSearchDict),
10924 DropTextSearchParser(DropTextSearchParser),
10925 DropTextSearchTemplate(DropTextSearchTemplate),
10926 DropTransform(DropTransform),
10927 DropTrigger(DropTrigger),
10928 DropType(DropType),
10929 DropUser(DropUser),
10930 DropUserMapping(DropUserMapping),
10931 DropView(DropView),
10932 Execute(Execute),
10933 Explain(Explain),
10934 Fetch(Fetch),
10935 Grant(Grant),
10936 ImportForeignSchema(ImportForeignSchema),
10937 Insert(Insert),
10938 Listen(Listen),
10939 Load(Load),
10940 Lock(Lock),
10941 Merge(Merge),
10942 Move(Move),
10943 Notify(Notify),
10944 ParenSelect(ParenSelect),
10945 Prepare(Prepare),
10946 PrepareTransaction(PrepareTransaction),
10947 Reassign(Reassign),
10948 Refresh(Refresh),
10949 Reindex(Reindex),
10950 ReleaseSavepoint(ReleaseSavepoint),
10951 Reset(Reset),
10952 Revoke(Revoke),
10953 Rollback(Rollback),
10954 Savepoint(Savepoint),
10955 SecurityLabel(SecurityLabel),
10956 Select(Select),
10957 SelectInto(SelectInto),
10958 Set(Set),
10959 SetConstraints(SetConstraints),
10960 SetRole(SetRole),
10961 SetSessionAuth(SetSessionAuth),
10962 SetTransaction(SetTransaction),
10963 Show(Show),
10964 Table(Table),
10965 Truncate(Truncate),
10966 Unlisten(Unlisten),
10967 Update(Update),
10968 Vacuum(Vacuum),
10969 Values(Values),
10970}
10971
10972#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10973pub enum TableArg {
10974 Column(Column),
10975 LikeClause(LikeClause),
10976 TableConstraint(TableConstraint),
10977}
10978
10979#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10980pub enum TableConstraint {
10981 CheckConstraint(CheckConstraint),
10982 ExcludeConstraint(ExcludeConstraint),
10983 ForeignKeyConstraint(ForeignKeyConstraint),
10984 PrimaryKeyConstraint(PrimaryKeyConstraint),
10985 UniqueConstraint(UniqueConstraint),
10986}
10987
10988#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10989pub enum Timezone {
10990 WithTimezone(WithTimezone),
10991 WithoutTimezone(WithoutTimezone),
10992}
10993
10994#[derive(Debug, Clone, PartialEq, Eq, Hash)]
10995pub enum TransactionMode {
10996 Deferrable(Deferrable),
10997 NotDeferrable(NotDeferrable),
10998 ReadCommitted(ReadCommitted),
10999 ReadOnly(ReadOnly),
11000 ReadUncommitted(ReadUncommitted),
11001 ReadWrite(ReadWrite),
11002 RepeatableRead(RepeatableRead),
11003 Serializable(Serializable),
11004}
11005
11006#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11007pub enum Type {
11008 ArrayType(ArrayType),
11009 BitType(BitType),
11010 CharType(CharType),
11011 DoubleType(DoubleType),
11012 IntervalType(IntervalType),
11013 PathType(PathType),
11014 PercentType(PercentType),
11015 TimeType(TimeType),
11016}
11017
11018#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11019pub enum WithQuery {
11020 Delete(Delete),
11021 Insert(Insert),
11022 Merge(Merge),
11023 Select(Select),
11024 Update(Update),
11025 Values(Values),
11026}
11027impl AstNode for AddColumn {
11028 #[inline]
11029 fn can_cast(kind: SyntaxKind) -> bool {
11030 kind == SyntaxKind::ADD_COLUMN
11031 }
11032 #[inline]
11033 fn cast(syntax: SyntaxNode) -> Option<Self> {
11034 if Self::can_cast(syntax.kind()) {
11035 Some(Self { syntax })
11036 } else {
11037 None
11038 }
11039 }
11040 #[inline]
11041 fn syntax(&self) -> &SyntaxNode {
11042 &self.syntax
11043 }
11044}
11045impl AstNode for AddConstraint {
11046 #[inline]
11047 fn can_cast(kind: SyntaxKind) -> bool {
11048 kind == SyntaxKind::ADD_CONSTRAINT
11049 }
11050 #[inline]
11051 fn cast(syntax: SyntaxNode) -> Option<Self> {
11052 if Self::can_cast(syntax.kind()) {
11053 Some(Self { syntax })
11054 } else {
11055 None
11056 }
11057 }
11058 #[inline]
11059 fn syntax(&self) -> &SyntaxNode {
11060 &self.syntax
11061 }
11062}
11063impl AstNode for AddGenerated {
11064 #[inline]
11065 fn can_cast(kind: SyntaxKind) -> bool {
11066 kind == SyntaxKind::ADD_GENERATED
11067 }
11068 #[inline]
11069 fn cast(syntax: SyntaxNode) -> Option<Self> {
11070 if Self::can_cast(syntax.kind()) {
11071 Some(Self { syntax })
11072 } else {
11073 None
11074 }
11075 }
11076 #[inline]
11077 fn syntax(&self) -> &SyntaxNode {
11078 &self.syntax
11079 }
11080}
11081impl AstNode for Aggregate {
11082 #[inline]
11083 fn can_cast(kind: SyntaxKind) -> bool {
11084 kind == SyntaxKind::AGGREGATE
11085 }
11086 #[inline]
11087 fn cast(syntax: SyntaxNode) -> Option<Self> {
11088 if Self::can_cast(syntax.kind()) {
11089 Some(Self { syntax })
11090 } else {
11091 None
11092 }
11093 }
11094 #[inline]
11095 fn syntax(&self) -> &SyntaxNode {
11096 &self.syntax
11097 }
11098}
11099impl AstNode for Alias {
11100 #[inline]
11101 fn can_cast(kind: SyntaxKind) -> bool {
11102 kind == SyntaxKind::ALIAS
11103 }
11104 #[inline]
11105 fn cast(syntax: SyntaxNode) -> Option<Self> {
11106 if Self::can_cast(syntax.kind()) {
11107 Some(Self { syntax })
11108 } else {
11109 None
11110 }
11111 }
11112 #[inline]
11113 fn syntax(&self) -> &SyntaxNode {
11114 &self.syntax
11115 }
11116}
11117impl AstNode for AlterAggregate {
11118 #[inline]
11119 fn can_cast(kind: SyntaxKind) -> bool {
11120 kind == SyntaxKind::ALTER_AGGREGATE
11121 }
11122 #[inline]
11123 fn cast(syntax: SyntaxNode) -> Option<Self> {
11124 if Self::can_cast(syntax.kind()) {
11125 Some(Self { syntax })
11126 } else {
11127 None
11128 }
11129 }
11130 #[inline]
11131 fn syntax(&self) -> &SyntaxNode {
11132 &self.syntax
11133 }
11134}
11135impl AstNode for AlterCollation {
11136 #[inline]
11137 fn can_cast(kind: SyntaxKind) -> bool {
11138 kind == SyntaxKind::ALTER_COLLATION
11139 }
11140 #[inline]
11141 fn cast(syntax: SyntaxNode) -> Option<Self> {
11142 if Self::can_cast(syntax.kind()) {
11143 Some(Self { syntax })
11144 } else {
11145 None
11146 }
11147 }
11148 #[inline]
11149 fn syntax(&self) -> &SyntaxNode {
11150 &self.syntax
11151 }
11152}
11153impl AstNode for AlterColumn {
11154 #[inline]
11155 fn can_cast(kind: SyntaxKind) -> bool {
11156 kind == SyntaxKind::ALTER_COLUMN
11157 }
11158 #[inline]
11159 fn cast(syntax: SyntaxNode) -> Option<Self> {
11160 if Self::can_cast(syntax.kind()) {
11161 Some(Self { syntax })
11162 } else {
11163 None
11164 }
11165 }
11166 #[inline]
11167 fn syntax(&self) -> &SyntaxNode {
11168 &self.syntax
11169 }
11170}
11171impl AstNode for AlterConstraint {
11172 #[inline]
11173 fn can_cast(kind: SyntaxKind) -> bool {
11174 kind == SyntaxKind::ALTER_CONSTRAINT
11175 }
11176 #[inline]
11177 fn cast(syntax: SyntaxNode) -> Option<Self> {
11178 if Self::can_cast(syntax.kind()) {
11179 Some(Self { syntax })
11180 } else {
11181 None
11182 }
11183 }
11184 #[inline]
11185 fn syntax(&self) -> &SyntaxNode {
11186 &self.syntax
11187 }
11188}
11189impl AstNode for AlterConversion {
11190 #[inline]
11191 fn can_cast(kind: SyntaxKind) -> bool {
11192 kind == SyntaxKind::ALTER_CONVERSION
11193 }
11194 #[inline]
11195 fn cast(syntax: SyntaxNode) -> Option<Self> {
11196 if Self::can_cast(syntax.kind()) {
11197 Some(Self { syntax })
11198 } else {
11199 None
11200 }
11201 }
11202 #[inline]
11203 fn syntax(&self) -> &SyntaxNode {
11204 &self.syntax
11205 }
11206}
11207impl AstNode for AlterDatabase {
11208 #[inline]
11209 fn can_cast(kind: SyntaxKind) -> bool {
11210 kind == SyntaxKind::ALTER_DATABASE
11211 }
11212 #[inline]
11213 fn cast(syntax: SyntaxNode) -> Option<Self> {
11214 if Self::can_cast(syntax.kind()) {
11215 Some(Self { syntax })
11216 } else {
11217 None
11218 }
11219 }
11220 #[inline]
11221 fn syntax(&self) -> &SyntaxNode {
11222 &self.syntax
11223 }
11224}
11225impl AstNode for AlterDefaultPrivileges {
11226 #[inline]
11227 fn can_cast(kind: SyntaxKind) -> bool {
11228 kind == SyntaxKind::ALTER_DEFAULT_PRIVILEGES
11229 }
11230 #[inline]
11231 fn cast(syntax: SyntaxNode) -> Option<Self> {
11232 if Self::can_cast(syntax.kind()) {
11233 Some(Self { syntax })
11234 } else {
11235 None
11236 }
11237 }
11238 #[inline]
11239 fn syntax(&self) -> &SyntaxNode {
11240 &self.syntax
11241 }
11242}
11243impl AstNode for AlterDomain {
11244 #[inline]
11245 fn can_cast(kind: SyntaxKind) -> bool {
11246 kind == SyntaxKind::ALTER_DOMAIN
11247 }
11248 #[inline]
11249 fn cast(syntax: SyntaxNode) -> Option<Self> {
11250 if Self::can_cast(syntax.kind()) {
11251 Some(Self { syntax })
11252 } else {
11253 None
11254 }
11255 }
11256 #[inline]
11257 fn syntax(&self) -> &SyntaxNode {
11258 &self.syntax
11259 }
11260}
11261impl AstNode for AlterEventTrigger {
11262 #[inline]
11263 fn can_cast(kind: SyntaxKind) -> bool {
11264 kind == SyntaxKind::ALTER_EVENT_TRIGGER
11265 }
11266 #[inline]
11267 fn cast(syntax: SyntaxNode) -> Option<Self> {
11268 if Self::can_cast(syntax.kind()) {
11269 Some(Self { syntax })
11270 } else {
11271 None
11272 }
11273 }
11274 #[inline]
11275 fn syntax(&self) -> &SyntaxNode {
11276 &self.syntax
11277 }
11278}
11279impl AstNode for AlterExtension {
11280 #[inline]
11281 fn can_cast(kind: SyntaxKind) -> bool {
11282 kind == SyntaxKind::ALTER_EXTENSION
11283 }
11284 #[inline]
11285 fn cast(syntax: SyntaxNode) -> Option<Self> {
11286 if Self::can_cast(syntax.kind()) {
11287 Some(Self { syntax })
11288 } else {
11289 None
11290 }
11291 }
11292 #[inline]
11293 fn syntax(&self) -> &SyntaxNode {
11294 &self.syntax
11295 }
11296}
11297impl AstNode for AlterForeignDataWrapper {
11298 #[inline]
11299 fn can_cast(kind: SyntaxKind) -> bool {
11300 kind == SyntaxKind::ALTER_FOREIGN_DATA_WRAPPER
11301 }
11302 #[inline]
11303 fn cast(syntax: SyntaxNode) -> Option<Self> {
11304 if Self::can_cast(syntax.kind()) {
11305 Some(Self { syntax })
11306 } else {
11307 None
11308 }
11309 }
11310 #[inline]
11311 fn syntax(&self) -> &SyntaxNode {
11312 &self.syntax
11313 }
11314}
11315impl AstNode for AlterForeignTable {
11316 #[inline]
11317 fn can_cast(kind: SyntaxKind) -> bool {
11318 kind == SyntaxKind::ALTER_FOREIGN_TABLE
11319 }
11320 #[inline]
11321 fn cast(syntax: SyntaxNode) -> Option<Self> {
11322 if Self::can_cast(syntax.kind()) {
11323 Some(Self { syntax })
11324 } else {
11325 None
11326 }
11327 }
11328 #[inline]
11329 fn syntax(&self) -> &SyntaxNode {
11330 &self.syntax
11331 }
11332}
11333impl AstNode for AlterFunction {
11334 #[inline]
11335 fn can_cast(kind: SyntaxKind) -> bool {
11336 kind == SyntaxKind::ALTER_FUNCTION
11337 }
11338 #[inline]
11339 fn cast(syntax: SyntaxNode) -> Option<Self> {
11340 if Self::can_cast(syntax.kind()) {
11341 Some(Self { syntax })
11342 } else {
11343 None
11344 }
11345 }
11346 #[inline]
11347 fn syntax(&self) -> &SyntaxNode {
11348 &self.syntax
11349 }
11350}
11351impl AstNode for AlterGroup {
11352 #[inline]
11353 fn can_cast(kind: SyntaxKind) -> bool {
11354 kind == SyntaxKind::ALTER_GROUP
11355 }
11356 #[inline]
11357 fn cast(syntax: SyntaxNode) -> Option<Self> {
11358 if Self::can_cast(syntax.kind()) {
11359 Some(Self { syntax })
11360 } else {
11361 None
11362 }
11363 }
11364 #[inline]
11365 fn syntax(&self) -> &SyntaxNode {
11366 &self.syntax
11367 }
11368}
11369impl AstNode for AlterIndex {
11370 #[inline]
11371 fn can_cast(kind: SyntaxKind) -> bool {
11372 kind == SyntaxKind::ALTER_INDEX
11373 }
11374 #[inline]
11375 fn cast(syntax: SyntaxNode) -> Option<Self> {
11376 if Self::can_cast(syntax.kind()) {
11377 Some(Self { syntax })
11378 } else {
11379 None
11380 }
11381 }
11382 #[inline]
11383 fn syntax(&self) -> &SyntaxNode {
11384 &self.syntax
11385 }
11386}
11387impl AstNode for AlterLanguage {
11388 #[inline]
11389 fn can_cast(kind: SyntaxKind) -> bool {
11390 kind == SyntaxKind::ALTER_LANGUAGE
11391 }
11392 #[inline]
11393 fn cast(syntax: SyntaxNode) -> Option<Self> {
11394 if Self::can_cast(syntax.kind()) {
11395 Some(Self { syntax })
11396 } else {
11397 None
11398 }
11399 }
11400 #[inline]
11401 fn syntax(&self) -> &SyntaxNode {
11402 &self.syntax
11403 }
11404}
11405impl AstNode for AlterLargeObject {
11406 #[inline]
11407 fn can_cast(kind: SyntaxKind) -> bool {
11408 kind == SyntaxKind::ALTER_LARGE_OBJECT
11409 }
11410 #[inline]
11411 fn cast(syntax: SyntaxNode) -> Option<Self> {
11412 if Self::can_cast(syntax.kind()) {
11413 Some(Self { syntax })
11414 } else {
11415 None
11416 }
11417 }
11418 #[inline]
11419 fn syntax(&self) -> &SyntaxNode {
11420 &self.syntax
11421 }
11422}
11423impl AstNode for AlterMaterializedView {
11424 #[inline]
11425 fn can_cast(kind: SyntaxKind) -> bool {
11426 kind == SyntaxKind::ALTER_MATERIALIZED_VIEW
11427 }
11428 #[inline]
11429 fn cast(syntax: SyntaxNode) -> Option<Self> {
11430 if Self::can_cast(syntax.kind()) {
11431 Some(Self { syntax })
11432 } else {
11433 None
11434 }
11435 }
11436 #[inline]
11437 fn syntax(&self) -> &SyntaxNode {
11438 &self.syntax
11439 }
11440}
11441impl AstNode for AlterOperator {
11442 #[inline]
11443 fn can_cast(kind: SyntaxKind) -> bool {
11444 kind == SyntaxKind::ALTER_OPERATOR
11445 }
11446 #[inline]
11447 fn cast(syntax: SyntaxNode) -> Option<Self> {
11448 if Self::can_cast(syntax.kind()) {
11449 Some(Self { syntax })
11450 } else {
11451 None
11452 }
11453 }
11454 #[inline]
11455 fn syntax(&self) -> &SyntaxNode {
11456 &self.syntax
11457 }
11458}
11459impl AstNode for AlterOperatorClass {
11460 #[inline]
11461 fn can_cast(kind: SyntaxKind) -> bool {
11462 kind == SyntaxKind::ALTER_OPERATOR_CLASS
11463 }
11464 #[inline]
11465 fn cast(syntax: SyntaxNode) -> Option<Self> {
11466 if Self::can_cast(syntax.kind()) {
11467 Some(Self { syntax })
11468 } else {
11469 None
11470 }
11471 }
11472 #[inline]
11473 fn syntax(&self) -> &SyntaxNode {
11474 &self.syntax
11475 }
11476}
11477impl AstNode for AlterOperatorFamily {
11478 #[inline]
11479 fn can_cast(kind: SyntaxKind) -> bool {
11480 kind == SyntaxKind::ALTER_OPERATOR_FAMILY
11481 }
11482 #[inline]
11483 fn cast(syntax: SyntaxNode) -> Option<Self> {
11484 if Self::can_cast(syntax.kind()) {
11485 Some(Self { syntax })
11486 } else {
11487 None
11488 }
11489 }
11490 #[inline]
11491 fn syntax(&self) -> &SyntaxNode {
11492 &self.syntax
11493 }
11494}
11495impl AstNode for AlterPolicy {
11496 #[inline]
11497 fn can_cast(kind: SyntaxKind) -> bool {
11498 kind == SyntaxKind::ALTER_POLICY
11499 }
11500 #[inline]
11501 fn cast(syntax: SyntaxNode) -> Option<Self> {
11502 if Self::can_cast(syntax.kind()) {
11503 Some(Self { syntax })
11504 } else {
11505 None
11506 }
11507 }
11508 #[inline]
11509 fn syntax(&self) -> &SyntaxNode {
11510 &self.syntax
11511 }
11512}
11513impl AstNode for AlterProcedure {
11514 #[inline]
11515 fn can_cast(kind: SyntaxKind) -> bool {
11516 kind == SyntaxKind::ALTER_PROCEDURE
11517 }
11518 #[inline]
11519 fn cast(syntax: SyntaxNode) -> Option<Self> {
11520 if Self::can_cast(syntax.kind()) {
11521 Some(Self { syntax })
11522 } else {
11523 None
11524 }
11525 }
11526 #[inline]
11527 fn syntax(&self) -> &SyntaxNode {
11528 &self.syntax
11529 }
11530}
11531impl AstNode for AlterPublication {
11532 #[inline]
11533 fn can_cast(kind: SyntaxKind) -> bool {
11534 kind == SyntaxKind::ALTER_PUBLICATION
11535 }
11536 #[inline]
11537 fn cast(syntax: SyntaxNode) -> Option<Self> {
11538 if Self::can_cast(syntax.kind()) {
11539 Some(Self { syntax })
11540 } else {
11541 None
11542 }
11543 }
11544 #[inline]
11545 fn syntax(&self) -> &SyntaxNode {
11546 &self.syntax
11547 }
11548}
11549impl AstNode for AlterRole {
11550 #[inline]
11551 fn can_cast(kind: SyntaxKind) -> bool {
11552 kind == SyntaxKind::ALTER_ROLE
11553 }
11554 #[inline]
11555 fn cast(syntax: SyntaxNode) -> Option<Self> {
11556 if Self::can_cast(syntax.kind()) {
11557 Some(Self { syntax })
11558 } else {
11559 None
11560 }
11561 }
11562 #[inline]
11563 fn syntax(&self) -> &SyntaxNode {
11564 &self.syntax
11565 }
11566}
11567impl AstNode for AlterRoutine {
11568 #[inline]
11569 fn can_cast(kind: SyntaxKind) -> bool {
11570 kind == SyntaxKind::ALTER_ROUTINE
11571 }
11572 #[inline]
11573 fn cast(syntax: SyntaxNode) -> Option<Self> {
11574 if Self::can_cast(syntax.kind()) {
11575 Some(Self { syntax })
11576 } else {
11577 None
11578 }
11579 }
11580 #[inline]
11581 fn syntax(&self) -> &SyntaxNode {
11582 &self.syntax
11583 }
11584}
11585impl AstNode for AlterRule {
11586 #[inline]
11587 fn can_cast(kind: SyntaxKind) -> bool {
11588 kind == SyntaxKind::ALTER_RULE
11589 }
11590 #[inline]
11591 fn cast(syntax: SyntaxNode) -> Option<Self> {
11592 if Self::can_cast(syntax.kind()) {
11593 Some(Self { syntax })
11594 } else {
11595 None
11596 }
11597 }
11598 #[inline]
11599 fn syntax(&self) -> &SyntaxNode {
11600 &self.syntax
11601 }
11602}
11603impl AstNode for AlterSchema {
11604 #[inline]
11605 fn can_cast(kind: SyntaxKind) -> bool {
11606 kind == SyntaxKind::ALTER_SCHEMA
11607 }
11608 #[inline]
11609 fn cast(syntax: SyntaxNode) -> Option<Self> {
11610 if Self::can_cast(syntax.kind()) {
11611 Some(Self { syntax })
11612 } else {
11613 None
11614 }
11615 }
11616 #[inline]
11617 fn syntax(&self) -> &SyntaxNode {
11618 &self.syntax
11619 }
11620}
11621impl AstNode for AlterSequence {
11622 #[inline]
11623 fn can_cast(kind: SyntaxKind) -> bool {
11624 kind == SyntaxKind::ALTER_SEQUENCE
11625 }
11626 #[inline]
11627 fn cast(syntax: SyntaxNode) -> Option<Self> {
11628 if Self::can_cast(syntax.kind()) {
11629 Some(Self { syntax })
11630 } else {
11631 None
11632 }
11633 }
11634 #[inline]
11635 fn syntax(&self) -> &SyntaxNode {
11636 &self.syntax
11637 }
11638}
11639impl AstNode for AlterServer {
11640 #[inline]
11641 fn can_cast(kind: SyntaxKind) -> bool {
11642 kind == SyntaxKind::ALTER_SERVER
11643 }
11644 #[inline]
11645 fn cast(syntax: SyntaxNode) -> Option<Self> {
11646 if Self::can_cast(syntax.kind()) {
11647 Some(Self { syntax })
11648 } else {
11649 None
11650 }
11651 }
11652 #[inline]
11653 fn syntax(&self) -> &SyntaxNode {
11654 &self.syntax
11655 }
11656}
11657impl AstNode for AlterStatistics {
11658 #[inline]
11659 fn can_cast(kind: SyntaxKind) -> bool {
11660 kind == SyntaxKind::ALTER_STATISTICS
11661 }
11662 #[inline]
11663 fn cast(syntax: SyntaxNode) -> Option<Self> {
11664 if Self::can_cast(syntax.kind()) {
11665 Some(Self { syntax })
11666 } else {
11667 None
11668 }
11669 }
11670 #[inline]
11671 fn syntax(&self) -> &SyntaxNode {
11672 &self.syntax
11673 }
11674}
11675impl AstNode for AlterSubscription {
11676 #[inline]
11677 fn can_cast(kind: SyntaxKind) -> bool {
11678 kind == SyntaxKind::ALTER_SUBSCRIPTION
11679 }
11680 #[inline]
11681 fn cast(syntax: SyntaxNode) -> Option<Self> {
11682 if Self::can_cast(syntax.kind()) {
11683 Some(Self { syntax })
11684 } else {
11685 None
11686 }
11687 }
11688 #[inline]
11689 fn syntax(&self) -> &SyntaxNode {
11690 &self.syntax
11691 }
11692}
11693impl AstNode for AlterSystem {
11694 #[inline]
11695 fn can_cast(kind: SyntaxKind) -> bool {
11696 kind == SyntaxKind::ALTER_SYSTEM
11697 }
11698 #[inline]
11699 fn cast(syntax: SyntaxNode) -> Option<Self> {
11700 if Self::can_cast(syntax.kind()) {
11701 Some(Self { syntax })
11702 } else {
11703 None
11704 }
11705 }
11706 #[inline]
11707 fn syntax(&self) -> &SyntaxNode {
11708 &self.syntax
11709 }
11710}
11711impl AstNode for AlterTable {
11712 #[inline]
11713 fn can_cast(kind: SyntaxKind) -> bool {
11714 kind == SyntaxKind::ALTER_TABLE
11715 }
11716 #[inline]
11717 fn cast(syntax: SyntaxNode) -> Option<Self> {
11718 if Self::can_cast(syntax.kind()) {
11719 Some(Self { syntax })
11720 } else {
11721 None
11722 }
11723 }
11724 #[inline]
11725 fn syntax(&self) -> &SyntaxNode {
11726 &self.syntax
11727 }
11728}
11729impl AstNode for AlterTablespace {
11730 #[inline]
11731 fn can_cast(kind: SyntaxKind) -> bool {
11732 kind == SyntaxKind::ALTER_TABLESPACE
11733 }
11734 #[inline]
11735 fn cast(syntax: SyntaxNode) -> Option<Self> {
11736 if Self::can_cast(syntax.kind()) {
11737 Some(Self { syntax })
11738 } else {
11739 None
11740 }
11741 }
11742 #[inline]
11743 fn syntax(&self) -> &SyntaxNode {
11744 &self.syntax
11745 }
11746}
11747impl AstNode for AlterTextSearchConfiguration {
11748 #[inline]
11749 fn can_cast(kind: SyntaxKind) -> bool {
11750 kind == SyntaxKind::ALTER_TEXT_SEARCH_CONFIGURATION
11751 }
11752 #[inline]
11753 fn cast(syntax: SyntaxNode) -> Option<Self> {
11754 if Self::can_cast(syntax.kind()) {
11755 Some(Self { syntax })
11756 } else {
11757 None
11758 }
11759 }
11760 #[inline]
11761 fn syntax(&self) -> &SyntaxNode {
11762 &self.syntax
11763 }
11764}
11765impl AstNode for AlterTextSearchDictionary {
11766 #[inline]
11767 fn can_cast(kind: SyntaxKind) -> bool {
11768 kind == SyntaxKind::ALTER_TEXT_SEARCH_DICTIONARY
11769 }
11770 #[inline]
11771 fn cast(syntax: SyntaxNode) -> Option<Self> {
11772 if Self::can_cast(syntax.kind()) {
11773 Some(Self { syntax })
11774 } else {
11775 None
11776 }
11777 }
11778 #[inline]
11779 fn syntax(&self) -> &SyntaxNode {
11780 &self.syntax
11781 }
11782}
11783impl AstNode for AlterTextSearchParser {
11784 #[inline]
11785 fn can_cast(kind: SyntaxKind) -> bool {
11786 kind == SyntaxKind::ALTER_TEXT_SEARCH_PARSER
11787 }
11788 #[inline]
11789 fn cast(syntax: SyntaxNode) -> Option<Self> {
11790 if Self::can_cast(syntax.kind()) {
11791 Some(Self { syntax })
11792 } else {
11793 None
11794 }
11795 }
11796 #[inline]
11797 fn syntax(&self) -> &SyntaxNode {
11798 &self.syntax
11799 }
11800}
11801impl AstNode for AlterTextSearchTemplate {
11802 #[inline]
11803 fn can_cast(kind: SyntaxKind) -> bool {
11804 kind == SyntaxKind::ALTER_TEXT_SEARCH_TEMPLATE
11805 }
11806 #[inline]
11807 fn cast(syntax: SyntaxNode) -> Option<Self> {
11808 if Self::can_cast(syntax.kind()) {
11809 Some(Self { syntax })
11810 } else {
11811 None
11812 }
11813 }
11814 #[inline]
11815 fn syntax(&self) -> &SyntaxNode {
11816 &self.syntax
11817 }
11818}
11819impl AstNode for AlterTrigger {
11820 #[inline]
11821 fn can_cast(kind: SyntaxKind) -> bool {
11822 kind == SyntaxKind::ALTER_TRIGGER
11823 }
11824 #[inline]
11825 fn cast(syntax: SyntaxNode) -> Option<Self> {
11826 if Self::can_cast(syntax.kind()) {
11827 Some(Self { syntax })
11828 } else {
11829 None
11830 }
11831 }
11832 #[inline]
11833 fn syntax(&self) -> &SyntaxNode {
11834 &self.syntax
11835 }
11836}
11837impl AstNode for AlterType {
11838 #[inline]
11839 fn can_cast(kind: SyntaxKind) -> bool {
11840 kind == SyntaxKind::ALTER_TYPE
11841 }
11842 #[inline]
11843 fn cast(syntax: SyntaxNode) -> Option<Self> {
11844 if Self::can_cast(syntax.kind()) {
11845 Some(Self { syntax })
11846 } else {
11847 None
11848 }
11849 }
11850 #[inline]
11851 fn syntax(&self) -> &SyntaxNode {
11852 &self.syntax
11853 }
11854}
11855impl AstNode for AlterUser {
11856 #[inline]
11857 fn can_cast(kind: SyntaxKind) -> bool {
11858 kind == SyntaxKind::ALTER_USER
11859 }
11860 #[inline]
11861 fn cast(syntax: SyntaxNode) -> Option<Self> {
11862 if Self::can_cast(syntax.kind()) {
11863 Some(Self { syntax })
11864 } else {
11865 None
11866 }
11867 }
11868 #[inline]
11869 fn syntax(&self) -> &SyntaxNode {
11870 &self.syntax
11871 }
11872}
11873impl AstNode for AlterUserMapping {
11874 #[inline]
11875 fn can_cast(kind: SyntaxKind) -> bool {
11876 kind == SyntaxKind::ALTER_USER_MAPPING
11877 }
11878 #[inline]
11879 fn cast(syntax: SyntaxNode) -> Option<Self> {
11880 if Self::can_cast(syntax.kind()) {
11881 Some(Self { syntax })
11882 } else {
11883 None
11884 }
11885 }
11886 #[inline]
11887 fn syntax(&self) -> &SyntaxNode {
11888 &self.syntax
11889 }
11890}
11891impl AstNode for AlterView {
11892 #[inline]
11893 fn can_cast(kind: SyntaxKind) -> bool {
11894 kind == SyntaxKind::ALTER_VIEW
11895 }
11896 #[inline]
11897 fn cast(syntax: SyntaxNode) -> Option<Self> {
11898 if Self::can_cast(syntax.kind()) {
11899 Some(Self { syntax })
11900 } else {
11901 None
11902 }
11903 }
11904 #[inline]
11905 fn syntax(&self) -> &SyntaxNode {
11906 &self.syntax
11907 }
11908}
11909impl AstNode for Analyze {
11910 #[inline]
11911 fn can_cast(kind: SyntaxKind) -> bool {
11912 kind == SyntaxKind::ANALYZE
11913 }
11914 #[inline]
11915 fn cast(syntax: SyntaxNode) -> Option<Self> {
11916 if Self::can_cast(syntax.kind()) {
11917 Some(Self { syntax })
11918 } else {
11919 None
11920 }
11921 }
11922 #[inline]
11923 fn syntax(&self) -> &SyntaxNode {
11924 &self.syntax
11925 }
11926}
11927impl AstNode for Arg {
11928 #[inline]
11929 fn can_cast(kind: SyntaxKind) -> bool {
11930 kind == SyntaxKind::ARG
11931 }
11932 #[inline]
11933 fn cast(syntax: SyntaxNode) -> Option<Self> {
11934 if Self::can_cast(syntax.kind()) {
11935 Some(Self { syntax })
11936 } else {
11937 None
11938 }
11939 }
11940 #[inline]
11941 fn syntax(&self) -> &SyntaxNode {
11942 &self.syntax
11943 }
11944}
11945impl AstNode for ArgList {
11946 #[inline]
11947 fn can_cast(kind: SyntaxKind) -> bool {
11948 kind == SyntaxKind::ARG_LIST
11949 }
11950 #[inline]
11951 fn cast(syntax: SyntaxNode) -> Option<Self> {
11952 if Self::can_cast(syntax.kind()) {
11953 Some(Self { syntax })
11954 } else {
11955 None
11956 }
11957 }
11958 #[inline]
11959 fn syntax(&self) -> &SyntaxNode {
11960 &self.syntax
11961 }
11962}
11963impl AstNode for ArrayExpr {
11964 #[inline]
11965 fn can_cast(kind: SyntaxKind) -> bool {
11966 kind == SyntaxKind::ARRAY_EXPR
11967 }
11968 #[inline]
11969 fn cast(syntax: SyntaxNode) -> Option<Self> {
11970 if Self::can_cast(syntax.kind()) {
11971 Some(Self { syntax })
11972 } else {
11973 None
11974 }
11975 }
11976 #[inline]
11977 fn syntax(&self) -> &SyntaxNode {
11978 &self.syntax
11979 }
11980}
11981impl AstNode for ArrayType {
11982 #[inline]
11983 fn can_cast(kind: SyntaxKind) -> bool {
11984 kind == SyntaxKind::ARRAY_TYPE
11985 }
11986 #[inline]
11987 fn cast(syntax: SyntaxNode) -> Option<Self> {
11988 if Self::can_cast(syntax.kind()) {
11989 Some(Self { syntax })
11990 } else {
11991 None
11992 }
11993 }
11994 #[inline]
11995 fn syntax(&self) -> &SyntaxNode {
11996 &self.syntax
11997 }
11998}
11999impl AstNode for AsFuncOption {
12000 #[inline]
12001 fn can_cast(kind: SyntaxKind) -> bool {
12002 kind == SyntaxKind::AS_FUNC_OPTION
12003 }
12004 #[inline]
12005 fn cast(syntax: SyntaxNode) -> Option<Self> {
12006 if Self::can_cast(syntax.kind()) {
12007 Some(Self { syntax })
12008 } else {
12009 None
12010 }
12011 }
12012 #[inline]
12013 fn syntax(&self) -> &SyntaxNode {
12014 &self.syntax
12015 }
12016}
12017impl AstNode for AsName {
12018 #[inline]
12019 fn can_cast(kind: SyntaxKind) -> bool {
12020 kind == SyntaxKind::AS_NAME
12021 }
12022 #[inline]
12023 fn cast(syntax: SyntaxNode) -> Option<Self> {
12024 if Self::can_cast(syntax.kind()) {
12025 Some(Self { syntax })
12026 } else {
12027 None
12028 }
12029 }
12030 #[inline]
12031 fn syntax(&self) -> &SyntaxNode {
12032 &self.syntax
12033 }
12034}
12035impl AstNode for AtTimeZone {
12036 #[inline]
12037 fn can_cast(kind: SyntaxKind) -> bool {
12038 kind == SyntaxKind::AT_TIME_ZONE
12039 }
12040 #[inline]
12041 fn cast(syntax: SyntaxNode) -> Option<Self> {
12042 if Self::can_cast(syntax.kind()) {
12043 Some(Self { syntax })
12044 } else {
12045 None
12046 }
12047 }
12048 #[inline]
12049 fn syntax(&self) -> &SyntaxNode {
12050 &self.syntax
12051 }
12052}
12053impl AstNode for AttachPartition {
12054 #[inline]
12055 fn can_cast(kind: SyntaxKind) -> bool {
12056 kind == SyntaxKind::ATTACH_PARTITION
12057 }
12058 #[inline]
12059 fn cast(syntax: SyntaxNode) -> Option<Self> {
12060 if Self::can_cast(syntax.kind()) {
12061 Some(Self { syntax })
12062 } else {
12063 None
12064 }
12065 }
12066 #[inline]
12067 fn syntax(&self) -> &SyntaxNode {
12068 &self.syntax
12069 }
12070}
12071impl AstNode for AttributeList {
12072 #[inline]
12073 fn can_cast(kind: SyntaxKind) -> bool {
12074 kind == SyntaxKind::ATTRIBUTE_LIST
12075 }
12076 #[inline]
12077 fn cast(syntax: SyntaxNode) -> Option<Self> {
12078 if Self::can_cast(syntax.kind()) {
12079 Some(Self { syntax })
12080 } else {
12081 None
12082 }
12083 }
12084 #[inline]
12085 fn syntax(&self) -> &SyntaxNode {
12086 &self.syntax
12087 }
12088}
12089impl AstNode for AttributeOption {
12090 #[inline]
12091 fn can_cast(kind: SyntaxKind) -> bool {
12092 kind == SyntaxKind::ATTRIBUTE_OPTION
12093 }
12094 #[inline]
12095 fn cast(syntax: SyntaxNode) -> Option<Self> {
12096 if Self::can_cast(syntax.kind()) {
12097 Some(Self { syntax })
12098 } else {
12099 None
12100 }
12101 }
12102 #[inline]
12103 fn syntax(&self) -> &SyntaxNode {
12104 &self.syntax
12105 }
12106}
12107impl AstNode for Begin {
12108 #[inline]
12109 fn can_cast(kind: SyntaxKind) -> bool {
12110 kind == SyntaxKind::BEGIN
12111 }
12112 #[inline]
12113 fn cast(syntax: SyntaxNode) -> Option<Self> {
12114 if Self::can_cast(syntax.kind()) {
12115 Some(Self { syntax })
12116 } else {
12117 None
12118 }
12119 }
12120 #[inline]
12121 fn syntax(&self) -> &SyntaxNode {
12122 &self.syntax
12123 }
12124}
12125impl AstNode for BeginFuncOption {
12126 #[inline]
12127 fn can_cast(kind: SyntaxKind) -> bool {
12128 kind == SyntaxKind::BEGIN_FUNC_OPTION
12129 }
12130 #[inline]
12131 fn cast(syntax: SyntaxNode) -> Option<Self> {
12132 if Self::can_cast(syntax.kind()) {
12133 Some(Self { syntax })
12134 } else {
12135 None
12136 }
12137 }
12138 #[inline]
12139 fn syntax(&self) -> &SyntaxNode {
12140 &self.syntax
12141 }
12142}
12143impl AstNode for BetweenExpr {
12144 #[inline]
12145 fn can_cast(kind: SyntaxKind) -> bool {
12146 kind == SyntaxKind::BETWEEN_EXPR
12147 }
12148 #[inline]
12149 fn cast(syntax: SyntaxNode) -> Option<Self> {
12150 if Self::can_cast(syntax.kind()) {
12151 Some(Self { syntax })
12152 } else {
12153 None
12154 }
12155 }
12156 #[inline]
12157 fn syntax(&self) -> &SyntaxNode {
12158 &self.syntax
12159 }
12160}
12161impl AstNode for BinExpr {
12162 #[inline]
12163 fn can_cast(kind: SyntaxKind) -> bool {
12164 kind == SyntaxKind::BIN_EXPR
12165 }
12166 #[inline]
12167 fn cast(syntax: SyntaxNode) -> Option<Self> {
12168 if Self::can_cast(syntax.kind()) {
12169 Some(Self { syntax })
12170 } else {
12171 None
12172 }
12173 }
12174 #[inline]
12175 fn syntax(&self) -> &SyntaxNode {
12176 &self.syntax
12177 }
12178}
12179impl AstNode for BitType {
12180 #[inline]
12181 fn can_cast(kind: SyntaxKind) -> bool {
12182 kind == SyntaxKind::BIT_TYPE
12183 }
12184 #[inline]
12185 fn cast(syntax: SyntaxNode) -> Option<Self> {
12186 if Self::can_cast(syntax.kind()) {
12187 Some(Self { syntax })
12188 } else {
12189 None
12190 }
12191 }
12192 #[inline]
12193 fn syntax(&self) -> &SyntaxNode {
12194 &self.syntax
12195 }
12196}
12197impl AstNode for Call {
12198 #[inline]
12199 fn can_cast(kind: SyntaxKind) -> bool {
12200 kind == SyntaxKind::CALL
12201 }
12202 #[inline]
12203 fn cast(syntax: SyntaxNode) -> Option<Self> {
12204 if Self::can_cast(syntax.kind()) {
12205 Some(Self { syntax })
12206 } else {
12207 None
12208 }
12209 }
12210 #[inline]
12211 fn syntax(&self) -> &SyntaxNode {
12212 &self.syntax
12213 }
12214}
12215impl AstNode for CallExpr {
12216 #[inline]
12217 fn can_cast(kind: SyntaxKind) -> bool {
12218 kind == SyntaxKind::CALL_EXPR
12219 }
12220 #[inline]
12221 fn cast(syntax: SyntaxNode) -> Option<Self> {
12222 if Self::can_cast(syntax.kind()) {
12223 Some(Self { syntax })
12224 } else {
12225 None
12226 }
12227 }
12228 #[inline]
12229 fn syntax(&self) -> &SyntaxNode {
12230 &self.syntax
12231 }
12232}
12233impl AstNode for Cascade {
12234 #[inline]
12235 fn can_cast(kind: SyntaxKind) -> bool {
12236 kind == SyntaxKind::CASCADE
12237 }
12238 #[inline]
12239 fn cast(syntax: SyntaxNode) -> Option<Self> {
12240 if Self::can_cast(syntax.kind()) {
12241 Some(Self { syntax })
12242 } else {
12243 None
12244 }
12245 }
12246 #[inline]
12247 fn syntax(&self) -> &SyntaxNode {
12248 &self.syntax
12249 }
12250}
12251impl AstNode for CaseExpr {
12252 #[inline]
12253 fn can_cast(kind: SyntaxKind) -> bool {
12254 kind == SyntaxKind::CASE_EXPR
12255 }
12256 #[inline]
12257 fn cast(syntax: SyntaxNode) -> Option<Self> {
12258 if Self::can_cast(syntax.kind()) {
12259 Some(Self { syntax })
12260 } else {
12261 None
12262 }
12263 }
12264 #[inline]
12265 fn syntax(&self) -> &SyntaxNode {
12266 &self.syntax
12267 }
12268}
12269impl AstNode for CastExpr {
12270 #[inline]
12271 fn can_cast(kind: SyntaxKind) -> bool {
12272 kind == SyntaxKind::CAST_EXPR
12273 }
12274 #[inline]
12275 fn cast(syntax: SyntaxNode) -> Option<Self> {
12276 if Self::can_cast(syntax.kind()) {
12277 Some(Self { syntax })
12278 } else {
12279 None
12280 }
12281 }
12282 #[inline]
12283 fn syntax(&self) -> &SyntaxNode {
12284 &self.syntax
12285 }
12286}
12287impl AstNode for CharType {
12288 #[inline]
12289 fn can_cast(kind: SyntaxKind) -> bool {
12290 kind == SyntaxKind::CHAR_TYPE
12291 }
12292 #[inline]
12293 fn cast(syntax: SyntaxNode) -> Option<Self> {
12294 if Self::can_cast(syntax.kind()) {
12295 Some(Self { syntax })
12296 } else {
12297 None
12298 }
12299 }
12300 #[inline]
12301 fn syntax(&self) -> &SyntaxNode {
12302 &self.syntax
12303 }
12304}
12305impl AstNode for CheckConstraint {
12306 #[inline]
12307 fn can_cast(kind: SyntaxKind) -> bool {
12308 kind == SyntaxKind::CHECK_CONSTRAINT
12309 }
12310 #[inline]
12311 fn cast(syntax: SyntaxNode) -> Option<Self> {
12312 if Self::can_cast(syntax.kind()) {
12313 Some(Self { syntax })
12314 } else {
12315 None
12316 }
12317 }
12318 #[inline]
12319 fn syntax(&self) -> &SyntaxNode {
12320 &self.syntax
12321 }
12322}
12323impl AstNode for Checkpoint {
12324 #[inline]
12325 fn can_cast(kind: SyntaxKind) -> bool {
12326 kind == SyntaxKind::CHECKPOINT
12327 }
12328 #[inline]
12329 fn cast(syntax: SyntaxNode) -> Option<Self> {
12330 if Self::can_cast(syntax.kind()) {
12331 Some(Self { syntax })
12332 } else {
12333 None
12334 }
12335 }
12336 #[inline]
12337 fn syntax(&self) -> &SyntaxNode {
12338 &self.syntax
12339 }
12340}
12341impl AstNode for Close {
12342 #[inline]
12343 fn can_cast(kind: SyntaxKind) -> bool {
12344 kind == SyntaxKind::CLOSE
12345 }
12346 #[inline]
12347 fn cast(syntax: SyntaxNode) -> Option<Self> {
12348 if Self::can_cast(syntax.kind()) {
12349 Some(Self { syntax })
12350 } else {
12351 None
12352 }
12353 }
12354 #[inline]
12355 fn syntax(&self) -> &SyntaxNode {
12356 &self.syntax
12357 }
12358}
12359impl AstNode for Cluster {
12360 #[inline]
12361 fn can_cast(kind: SyntaxKind) -> bool {
12362 kind == SyntaxKind::CLUSTER
12363 }
12364 #[inline]
12365 fn cast(syntax: SyntaxNode) -> Option<Self> {
12366 if Self::can_cast(syntax.kind()) {
12367 Some(Self { syntax })
12368 } else {
12369 None
12370 }
12371 }
12372 #[inline]
12373 fn syntax(&self) -> &SyntaxNode {
12374 &self.syntax
12375 }
12376}
12377impl AstNode for ClusterOn {
12378 #[inline]
12379 fn can_cast(kind: SyntaxKind) -> bool {
12380 kind == SyntaxKind::CLUSTER_ON
12381 }
12382 #[inline]
12383 fn cast(syntax: SyntaxNode) -> Option<Self> {
12384 if Self::can_cast(syntax.kind()) {
12385 Some(Self { syntax })
12386 } else {
12387 None
12388 }
12389 }
12390 #[inline]
12391 fn syntax(&self) -> &SyntaxNode {
12392 &self.syntax
12393 }
12394}
12395impl AstNode for Collate {
12396 #[inline]
12397 fn can_cast(kind: SyntaxKind) -> bool {
12398 kind == SyntaxKind::COLLATE
12399 }
12400 #[inline]
12401 fn cast(syntax: SyntaxNode) -> Option<Self> {
12402 if Self::can_cast(syntax.kind()) {
12403 Some(Self { syntax })
12404 } else {
12405 None
12406 }
12407 }
12408 #[inline]
12409 fn syntax(&self) -> &SyntaxNode {
12410 &self.syntax
12411 }
12412}
12413impl AstNode for ColonColon {
12414 #[inline]
12415 fn can_cast(kind: SyntaxKind) -> bool {
12416 kind == SyntaxKind::COLON_COLON
12417 }
12418 #[inline]
12419 fn cast(syntax: SyntaxNode) -> Option<Self> {
12420 if Self::can_cast(syntax.kind()) {
12421 Some(Self { syntax })
12422 } else {
12423 None
12424 }
12425 }
12426 #[inline]
12427 fn syntax(&self) -> &SyntaxNode {
12428 &self.syntax
12429 }
12430}
12431impl AstNode for ColonEq {
12432 #[inline]
12433 fn can_cast(kind: SyntaxKind) -> bool {
12434 kind == SyntaxKind::COLON_EQ
12435 }
12436 #[inline]
12437 fn cast(syntax: SyntaxNode) -> Option<Self> {
12438 if Self::can_cast(syntax.kind()) {
12439 Some(Self { syntax })
12440 } else {
12441 None
12442 }
12443 }
12444 #[inline]
12445 fn syntax(&self) -> &SyntaxNode {
12446 &self.syntax
12447 }
12448}
12449impl AstNode for Column {
12450 #[inline]
12451 fn can_cast(kind: SyntaxKind) -> bool {
12452 kind == SyntaxKind::COLUMN
12453 }
12454 #[inline]
12455 fn cast(syntax: SyntaxNode) -> Option<Self> {
12456 if Self::can_cast(syntax.kind()) {
12457 Some(Self { syntax })
12458 } else {
12459 None
12460 }
12461 }
12462 #[inline]
12463 fn syntax(&self) -> &SyntaxNode {
12464 &self.syntax
12465 }
12466}
12467impl AstNode for ColumnList {
12468 #[inline]
12469 fn can_cast(kind: SyntaxKind) -> bool {
12470 kind == SyntaxKind::COLUMN_LIST
12471 }
12472 #[inline]
12473 fn cast(syntax: SyntaxNode) -> Option<Self> {
12474 if Self::can_cast(syntax.kind()) {
12475 Some(Self { syntax })
12476 } else {
12477 None
12478 }
12479 }
12480 #[inline]
12481 fn syntax(&self) -> &SyntaxNode {
12482 &self.syntax
12483 }
12484}
12485impl AstNode for CommentOn {
12486 #[inline]
12487 fn can_cast(kind: SyntaxKind) -> bool {
12488 kind == SyntaxKind::COMMENT_ON
12489 }
12490 #[inline]
12491 fn cast(syntax: SyntaxNode) -> Option<Self> {
12492 if Self::can_cast(syntax.kind()) {
12493 Some(Self { syntax })
12494 } else {
12495 None
12496 }
12497 }
12498 #[inline]
12499 fn syntax(&self) -> &SyntaxNode {
12500 &self.syntax
12501 }
12502}
12503impl AstNode for Commit {
12504 #[inline]
12505 fn can_cast(kind: SyntaxKind) -> bool {
12506 kind == SyntaxKind::COMMIT
12507 }
12508 #[inline]
12509 fn cast(syntax: SyntaxNode) -> Option<Self> {
12510 if Self::can_cast(syntax.kind()) {
12511 Some(Self { syntax })
12512 } else {
12513 None
12514 }
12515 }
12516 #[inline]
12517 fn syntax(&self) -> &SyntaxNode {
12518 &self.syntax
12519 }
12520}
12521impl AstNode for CompoundSelect {
12522 #[inline]
12523 fn can_cast(kind: SyntaxKind) -> bool {
12524 kind == SyntaxKind::COMPOUND_SELECT
12525 }
12526 #[inline]
12527 fn cast(syntax: SyntaxNode) -> Option<Self> {
12528 if Self::can_cast(syntax.kind()) {
12529 Some(Self { syntax })
12530 } else {
12531 None
12532 }
12533 }
12534 #[inline]
12535 fn syntax(&self) -> &SyntaxNode {
12536 &self.syntax
12537 }
12538}
12539impl AstNode for CompressionMethod {
12540 #[inline]
12541 fn can_cast(kind: SyntaxKind) -> bool {
12542 kind == SyntaxKind::COMPRESSION_METHOD
12543 }
12544 #[inline]
12545 fn cast(syntax: SyntaxNode) -> Option<Self> {
12546 if Self::can_cast(syntax.kind()) {
12547 Some(Self { syntax })
12548 } else {
12549 None
12550 }
12551 }
12552 #[inline]
12553 fn syntax(&self) -> &SyntaxNode {
12554 &self.syntax
12555 }
12556}
12557impl AstNode for ConstraintExclusion {
12558 #[inline]
12559 fn can_cast(kind: SyntaxKind) -> bool {
12560 kind == SyntaxKind::CONSTRAINT_EXCLUSION
12561 }
12562 #[inline]
12563 fn cast(syntax: SyntaxNode) -> Option<Self> {
12564 if Self::can_cast(syntax.kind()) {
12565 Some(Self { syntax })
12566 } else {
12567 None
12568 }
12569 }
12570 #[inline]
12571 fn syntax(&self) -> &SyntaxNode {
12572 &self.syntax
12573 }
12574}
12575impl AstNode for ConstraintExclusionList {
12576 #[inline]
12577 fn can_cast(kind: SyntaxKind) -> bool {
12578 kind == SyntaxKind::CONSTRAINT_EXCLUSION_LIST
12579 }
12580 #[inline]
12581 fn cast(syntax: SyntaxNode) -> Option<Self> {
12582 if Self::can_cast(syntax.kind()) {
12583 Some(Self { syntax })
12584 } else {
12585 None
12586 }
12587 }
12588 #[inline]
12589 fn syntax(&self) -> &SyntaxNode {
12590 &self.syntax
12591 }
12592}
12593impl AstNode for ConstraintIncludeClause {
12594 #[inline]
12595 fn can_cast(kind: SyntaxKind) -> bool {
12596 kind == SyntaxKind::CONSTRAINT_INCLUDE_CLAUSE
12597 }
12598 #[inline]
12599 fn cast(syntax: SyntaxNode) -> Option<Self> {
12600 if Self::can_cast(syntax.kind()) {
12601 Some(Self { syntax })
12602 } else {
12603 None
12604 }
12605 }
12606 #[inline]
12607 fn syntax(&self) -> &SyntaxNode {
12608 &self.syntax
12609 }
12610}
12611impl AstNode for ConstraintIndexMethod {
12612 #[inline]
12613 fn can_cast(kind: SyntaxKind) -> bool {
12614 kind == SyntaxKind::CONSTRAINT_INDEX_METHOD
12615 }
12616 #[inline]
12617 fn cast(syntax: SyntaxNode) -> Option<Self> {
12618 if Self::can_cast(syntax.kind()) {
12619 Some(Self { syntax })
12620 } else {
12621 None
12622 }
12623 }
12624 #[inline]
12625 fn syntax(&self) -> &SyntaxNode {
12626 &self.syntax
12627 }
12628}
12629impl AstNode for ConstraintIndexTablespace {
12630 #[inline]
12631 fn can_cast(kind: SyntaxKind) -> bool {
12632 kind == SyntaxKind::CONSTRAINT_INDEX_TABLESPACE
12633 }
12634 #[inline]
12635 fn cast(syntax: SyntaxNode) -> Option<Self> {
12636 if Self::can_cast(syntax.kind()) {
12637 Some(Self { syntax })
12638 } else {
12639 None
12640 }
12641 }
12642 #[inline]
12643 fn syntax(&self) -> &SyntaxNode {
12644 &self.syntax
12645 }
12646}
12647impl AstNode for ConstraintWhereClause {
12648 #[inline]
12649 fn can_cast(kind: SyntaxKind) -> bool {
12650 kind == SyntaxKind::CONSTRAINT_WHERE_CLAUSE
12651 }
12652 #[inline]
12653 fn cast(syntax: SyntaxNode) -> Option<Self> {
12654 if Self::can_cast(syntax.kind()) {
12655 Some(Self { syntax })
12656 } else {
12657 None
12658 }
12659 }
12660 #[inline]
12661 fn syntax(&self) -> &SyntaxNode {
12662 &self.syntax
12663 }
12664}
12665impl AstNode for Copy {
12666 #[inline]
12667 fn can_cast(kind: SyntaxKind) -> bool {
12668 kind == SyntaxKind::COPY
12669 }
12670 #[inline]
12671 fn cast(syntax: SyntaxNode) -> Option<Self> {
12672 if Self::can_cast(syntax.kind()) {
12673 Some(Self { syntax })
12674 } else {
12675 None
12676 }
12677 }
12678 #[inline]
12679 fn syntax(&self) -> &SyntaxNode {
12680 &self.syntax
12681 }
12682}
12683impl AstNode for CostFuncOption {
12684 #[inline]
12685 fn can_cast(kind: SyntaxKind) -> bool {
12686 kind == SyntaxKind::COST_FUNC_OPTION
12687 }
12688 #[inline]
12689 fn cast(syntax: SyntaxNode) -> Option<Self> {
12690 if Self::can_cast(syntax.kind()) {
12691 Some(Self { syntax })
12692 } else {
12693 None
12694 }
12695 }
12696 #[inline]
12697 fn syntax(&self) -> &SyntaxNode {
12698 &self.syntax
12699 }
12700}
12701impl AstNode for CreateAccessMethod {
12702 #[inline]
12703 fn can_cast(kind: SyntaxKind) -> bool {
12704 kind == SyntaxKind::CREATE_ACCESS_METHOD
12705 }
12706 #[inline]
12707 fn cast(syntax: SyntaxNode) -> Option<Self> {
12708 if Self::can_cast(syntax.kind()) {
12709 Some(Self { syntax })
12710 } else {
12711 None
12712 }
12713 }
12714 #[inline]
12715 fn syntax(&self) -> &SyntaxNode {
12716 &self.syntax
12717 }
12718}
12719impl AstNode for CreateAggregate {
12720 #[inline]
12721 fn can_cast(kind: SyntaxKind) -> bool {
12722 kind == SyntaxKind::CREATE_AGGREGATE
12723 }
12724 #[inline]
12725 fn cast(syntax: SyntaxNode) -> Option<Self> {
12726 if Self::can_cast(syntax.kind()) {
12727 Some(Self { syntax })
12728 } else {
12729 None
12730 }
12731 }
12732 #[inline]
12733 fn syntax(&self) -> &SyntaxNode {
12734 &self.syntax
12735 }
12736}
12737impl AstNode for CreateCast {
12738 #[inline]
12739 fn can_cast(kind: SyntaxKind) -> bool {
12740 kind == SyntaxKind::CREATE_CAST
12741 }
12742 #[inline]
12743 fn cast(syntax: SyntaxNode) -> Option<Self> {
12744 if Self::can_cast(syntax.kind()) {
12745 Some(Self { syntax })
12746 } else {
12747 None
12748 }
12749 }
12750 #[inline]
12751 fn syntax(&self) -> &SyntaxNode {
12752 &self.syntax
12753 }
12754}
12755impl AstNode for CreateCollation {
12756 #[inline]
12757 fn can_cast(kind: SyntaxKind) -> bool {
12758 kind == SyntaxKind::CREATE_COLLATION
12759 }
12760 #[inline]
12761 fn cast(syntax: SyntaxNode) -> Option<Self> {
12762 if Self::can_cast(syntax.kind()) {
12763 Some(Self { syntax })
12764 } else {
12765 None
12766 }
12767 }
12768 #[inline]
12769 fn syntax(&self) -> &SyntaxNode {
12770 &self.syntax
12771 }
12772}
12773impl AstNode for CreateConversion {
12774 #[inline]
12775 fn can_cast(kind: SyntaxKind) -> bool {
12776 kind == SyntaxKind::CREATE_CONVERSION
12777 }
12778 #[inline]
12779 fn cast(syntax: SyntaxNode) -> Option<Self> {
12780 if Self::can_cast(syntax.kind()) {
12781 Some(Self { syntax })
12782 } else {
12783 None
12784 }
12785 }
12786 #[inline]
12787 fn syntax(&self) -> &SyntaxNode {
12788 &self.syntax
12789 }
12790}
12791impl AstNode for CreateDatabase {
12792 #[inline]
12793 fn can_cast(kind: SyntaxKind) -> bool {
12794 kind == SyntaxKind::CREATE_DATABASE
12795 }
12796 #[inline]
12797 fn cast(syntax: SyntaxNode) -> Option<Self> {
12798 if Self::can_cast(syntax.kind()) {
12799 Some(Self { syntax })
12800 } else {
12801 None
12802 }
12803 }
12804 #[inline]
12805 fn syntax(&self) -> &SyntaxNode {
12806 &self.syntax
12807 }
12808}
12809impl AstNode for CreateDomain {
12810 #[inline]
12811 fn can_cast(kind: SyntaxKind) -> bool {
12812 kind == SyntaxKind::CREATE_DOMAIN
12813 }
12814 #[inline]
12815 fn cast(syntax: SyntaxNode) -> Option<Self> {
12816 if Self::can_cast(syntax.kind()) {
12817 Some(Self { syntax })
12818 } else {
12819 None
12820 }
12821 }
12822 #[inline]
12823 fn syntax(&self) -> &SyntaxNode {
12824 &self.syntax
12825 }
12826}
12827impl AstNode for CreateEventTrigger {
12828 #[inline]
12829 fn can_cast(kind: SyntaxKind) -> bool {
12830 kind == SyntaxKind::CREATE_EVENT_TRIGGER
12831 }
12832 #[inline]
12833 fn cast(syntax: SyntaxNode) -> Option<Self> {
12834 if Self::can_cast(syntax.kind()) {
12835 Some(Self { syntax })
12836 } else {
12837 None
12838 }
12839 }
12840 #[inline]
12841 fn syntax(&self) -> &SyntaxNode {
12842 &self.syntax
12843 }
12844}
12845impl AstNode for CreateExtension {
12846 #[inline]
12847 fn can_cast(kind: SyntaxKind) -> bool {
12848 kind == SyntaxKind::CREATE_EXTENSION
12849 }
12850 #[inline]
12851 fn cast(syntax: SyntaxNode) -> Option<Self> {
12852 if Self::can_cast(syntax.kind()) {
12853 Some(Self { syntax })
12854 } else {
12855 None
12856 }
12857 }
12858 #[inline]
12859 fn syntax(&self) -> &SyntaxNode {
12860 &self.syntax
12861 }
12862}
12863impl AstNode for CreateForeignDataWrapper {
12864 #[inline]
12865 fn can_cast(kind: SyntaxKind) -> bool {
12866 kind == SyntaxKind::CREATE_FOREIGN_DATA_WRAPPER
12867 }
12868 #[inline]
12869 fn cast(syntax: SyntaxNode) -> Option<Self> {
12870 if Self::can_cast(syntax.kind()) {
12871 Some(Self { syntax })
12872 } else {
12873 None
12874 }
12875 }
12876 #[inline]
12877 fn syntax(&self) -> &SyntaxNode {
12878 &self.syntax
12879 }
12880}
12881impl AstNode for CreateForeignTable {
12882 #[inline]
12883 fn can_cast(kind: SyntaxKind) -> bool {
12884 kind == SyntaxKind::CREATE_FOREIGN_TABLE
12885 }
12886 #[inline]
12887 fn cast(syntax: SyntaxNode) -> Option<Self> {
12888 if Self::can_cast(syntax.kind()) {
12889 Some(Self { syntax })
12890 } else {
12891 None
12892 }
12893 }
12894 #[inline]
12895 fn syntax(&self) -> &SyntaxNode {
12896 &self.syntax
12897 }
12898}
12899impl AstNode for CreateFunction {
12900 #[inline]
12901 fn can_cast(kind: SyntaxKind) -> bool {
12902 kind == SyntaxKind::CREATE_FUNCTION
12903 }
12904 #[inline]
12905 fn cast(syntax: SyntaxNode) -> Option<Self> {
12906 if Self::can_cast(syntax.kind()) {
12907 Some(Self { syntax })
12908 } else {
12909 None
12910 }
12911 }
12912 #[inline]
12913 fn syntax(&self) -> &SyntaxNode {
12914 &self.syntax
12915 }
12916}
12917impl AstNode for CreateGroup {
12918 #[inline]
12919 fn can_cast(kind: SyntaxKind) -> bool {
12920 kind == SyntaxKind::CREATE_GROUP
12921 }
12922 #[inline]
12923 fn cast(syntax: SyntaxNode) -> Option<Self> {
12924 if Self::can_cast(syntax.kind()) {
12925 Some(Self { syntax })
12926 } else {
12927 None
12928 }
12929 }
12930 #[inline]
12931 fn syntax(&self) -> &SyntaxNode {
12932 &self.syntax
12933 }
12934}
12935impl AstNode for CreateIndex {
12936 #[inline]
12937 fn can_cast(kind: SyntaxKind) -> bool {
12938 kind == SyntaxKind::CREATE_INDEX
12939 }
12940 #[inline]
12941 fn cast(syntax: SyntaxNode) -> Option<Self> {
12942 if Self::can_cast(syntax.kind()) {
12943 Some(Self { syntax })
12944 } else {
12945 None
12946 }
12947 }
12948 #[inline]
12949 fn syntax(&self) -> &SyntaxNode {
12950 &self.syntax
12951 }
12952}
12953impl AstNode for CreateLanguage {
12954 #[inline]
12955 fn can_cast(kind: SyntaxKind) -> bool {
12956 kind == SyntaxKind::CREATE_LANGUAGE
12957 }
12958 #[inline]
12959 fn cast(syntax: SyntaxNode) -> Option<Self> {
12960 if Self::can_cast(syntax.kind()) {
12961 Some(Self { syntax })
12962 } else {
12963 None
12964 }
12965 }
12966 #[inline]
12967 fn syntax(&self) -> &SyntaxNode {
12968 &self.syntax
12969 }
12970}
12971impl AstNode for CreateMaterializedView {
12972 #[inline]
12973 fn can_cast(kind: SyntaxKind) -> bool {
12974 kind == SyntaxKind::CREATE_MATERIALIZED_VIEW
12975 }
12976 #[inline]
12977 fn cast(syntax: SyntaxNode) -> Option<Self> {
12978 if Self::can_cast(syntax.kind()) {
12979 Some(Self { syntax })
12980 } else {
12981 None
12982 }
12983 }
12984 #[inline]
12985 fn syntax(&self) -> &SyntaxNode {
12986 &self.syntax
12987 }
12988}
12989impl AstNode for CreateOperator {
12990 #[inline]
12991 fn can_cast(kind: SyntaxKind) -> bool {
12992 kind == SyntaxKind::CREATE_OPERATOR
12993 }
12994 #[inline]
12995 fn cast(syntax: SyntaxNode) -> Option<Self> {
12996 if Self::can_cast(syntax.kind()) {
12997 Some(Self { syntax })
12998 } else {
12999 None
13000 }
13001 }
13002 #[inline]
13003 fn syntax(&self) -> &SyntaxNode {
13004 &self.syntax
13005 }
13006}
13007impl AstNode for CreateOperatorClass {
13008 #[inline]
13009 fn can_cast(kind: SyntaxKind) -> bool {
13010 kind == SyntaxKind::CREATE_OPERATOR_CLASS
13011 }
13012 #[inline]
13013 fn cast(syntax: SyntaxNode) -> Option<Self> {
13014 if Self::can_cast(syntax.kind()) {
13015 Some(Self { syntax })
13016 } else {
13017 None
13018 }
13019 }
13020 #[inline]
13021 fn syntax(&self) -> &SyntaxNode {
13022 &self.syntax
13023 }
13024}
13025impl AstNode for CreateOperatorFamily {
13026 #[inline]
13027 fn can_cast(kind: SyntaxKind) -> bool {
13028 kind == SyntaxKind::CREATE_OPERATOR_FAMILY
13029 }
13030 #[inline]
13031 fn cast(syntax: SyntaxNode) -> Option<Self> {
13032 if Self::can_cast(syntax.kind()) {
13033 Some(Self { syntax })
13034 } else {
13035 None
13036 }
13037 }
13038 #[inline]
13039 fn syntax(&self) -> &SyntaxNode {
13040 &self.syntax
13041 }
13042}
13043impl AstNode for CreatePolicy {
13044 #[inline]
13045 fn can_cast(kind: SyntaxKind) -> bool {
13046 kind == SyntaxKind::CREATE_POLICY
13047 }
13048 #[inline]
13049 fn cast(syntax: SyntaxNode) -> Option<Self> {
13050 if Self::can_cast(syntax.kind()) {
13051 Some(Self { syntax })
13052 } else {
13053 None
13054 }
13055 }
13056 #[inline]
13057 fn syntax(&self) -> &SyntaxNode {
13058 &self.syntax
13059 }
13060}
13061impl AstNode for CreateProcedure {
13062 #[inline]
13063 fn can_cast(kind: SyntaxKind) -> bool {
13064 kind == SyntaxKind::CREATE_PROCEDURE
13065 }
13066 #[inline]
13067 fn cast(syntax: SyntaxNode) -> Option<Self> {
13068 if Self::can_cast(syntax.kind()) {
13069 Some(Self { syntax })
13070 } else {
13071 None
13072 }
13073 }
13074 #[inline]
13075 fn syntax(&self) -> &SyntaxNode {
13076 &self.syntax
13077 }
13078}
13079impl AstNode for CreatePublication {
13080 #[inline]
13081 fn can_cast(kind: SyntaxKind) -> bool {
13082 kind == SyntaxKind::CREATE_PUBLICATION
13083 }
13084 #[inline]
13085 fn cast(syntax: SyntaxNode) -> Option<Self> {
13086 if Self::can_cast(syntax.kind()) {
13087 Some(Self { syntax })
13088 } else {
13089 None
13090 }
13091 }
13092 #[inline]
13093 fn syntax(&self) -> &SyntaxNode {
13094 &self.syntax
13095 }
13096}
13097impl AstNode for CreateRole {
13098 #[inline]
13099 fn can_cast(kind: SyntaxKind) -> bool {
13100 kind == SyntaxKind::CREATE_ROLE
13101 }
13102 #[inline]
13103 fn cast(syntax: SyntaxNode) -> Option<Self> {
13104 if Self::can_cast(syntax.kind()) {
13105 Some(Self { syntax })
13106 } else {
13107 None
13108 }
13109 }
13110 #[inline]
13111 fn syntax(&self) -> &SyntaxNode {
13112 &self.syntax
13113 }
13114}
13115impl AstNode for CreateRule {
13116 #[inline]
13117 fn can_cast(kind: SyntaxKind) -> bool {
13118 kind == SyntaxKind::CREATE_RULE
13119 }
13120 #[inline]
13121 fn cast(syntax: SyntaxNode) -> Option<Self> {
13122 if Self::can_cast(syntax.kind()) {
13123 Some(Self { syntax })
13124 } else {
13125 None
13126 }
13127 }
13128 #[inline]
13129 fn syntax(&self) -> &SyntaxNode {
13130 &self.syntax
13131 }
13132}
13133impl AstNode for CreateSchema {
13134 #[inline]
13135 fn can_cast(kind: SyntaxKind) -> bool {
13136 kind == SyntaxKind::CREATE_SCHEMA
13137 }
13138 #[inline]
13139 fn cast(syntax: SyntaxNode) -> Option<Self> {
13140 if Self::can_cast(syntax.kind()) {
13141 Some(Self { syntax })
13142 } else {
13143 None
13144 }
13145 }
13146 #[inline]
13147 fn syntax(&self) -> &SyntaxNode {
13148 &self.syntax
13149 }
13150}
13151impl AstNode for CreateSequence {
13152 #[inline]
13153 fn can_cast(kind: SyntaxKind) -> bool {
13154 kind == SyntaxKind::CREATE_SEQUENCE
13155 }
13156 #[inline]
13157 fn cast(syntax: SyntaxNode) -> Option<Self> {
13158 if Self::can_cast(syntax.kind()) {
13159 Some(Self { syntax })
13160 } else {
13161 None
13162 }
13163 }
13164 #[inline]
13165 fn syntax(&self) -> &SyntaxNode {
13166 &self.syntax
13167 }
13168}
13169impl AstNode for CreateServer {
13170 #[inline]
13171 fn can_cast(kind: SyntaxKind) -> bool {
13172 kind == SyntaxKind::CREATE_SERVER
13173 }
13174 #[inline]
13175 fn cast(syntax: SyntaxNode) -> Option<Self> {
13176 if Self::can_cast(syntax.kind()) {
13177 Some(Self { syntax })
13178 } else {
13179 None
13180 }
13181 }
13182 #[inline]
13183 fn syntax(&self) -> &SyntaxNode {
13184 &self.syntax
13185 }
13186}
13187impl AstNode for CreateStatistics {
13188 #[inline]
13189 fn can_cast(kind: SyntaxKind) -> bool {
13190 kind == SyntaxKind::CREATE_STATISTICS
13191 }
13192 #[inline]
13193 fn cast(syntax: SyntaxNode) -> Option<Self> {
13194 if Self::can_cast(syntax.kind()) {
13195 Some(Self { syntax })
13196 } else {
13197 None
13198 }
13199 }
13200 #[inline]
13201 fn syntax(&self) -> &SyntaxNode {
13202 &self.syntax
13203 }
13204}
13205impl AstNode for CreateSubscription {
13206 #[inline]
13207 fn can_cast(kind: SyntaxKind) -> bool {
13208 kind == SyntaxKind::CREATE_SUBSCRIPTION
13209 }
13210 #[inline]
13211 fn cast(syntax: SyntaxNode) -> Option<Self> {
13212 if Self::can_cast(syntax.kind()) {
13213 Some(Self { syntax })
13214 } else {
13215 None
13216 }
13217 }
13218 #[inline]
13219 fn syntax(&self) -> &SyntaxNode {
13220 &self.syntax
13221 }
13222}
13223impl AstNode for CreateTable {
13224 #[inline]
13225 fn can_cast(kind: SyntaxKind) -> bool {
13226 kind == SyntaxKind::CREATE_TABLE
13227 }
13228 #[inline]
13229 fn cast(syntax: SyntaxNode) -> Option<Self> {
13230 if Self::can_cast(syntax.kind()) {
13231 Some(Self { syntax })
13232 } else {
13233 None
13234 }
13235 }
13236 #[inline]
13237 fn syntax(&self) -> &SyntaxNode {
13238 &self.syntax
13239 }
13240}
13241impl AstNode for CreateTableAs {
13242 #[inline]
13243 fn can_cast(kind: SyntaxKind) -> bool {
13244 kind == SyntaxKind::CREATE_TABLE_AS
13245 }
13246 #[inline]
13247 fn cast(syntax: SyntaxNode) -> Option<Self> {
13248 if Self::can_cast(syntax.kind()) {
13249 Some(Self { syntax })
13250 } else {
13251 None
13252 }
13253 }
13254 #[inline]
13255 fn syntax(&self) -> &SyntaxNode {
13256 &self.syntax
13257 }
13258}
13259impl AstNode for CreateTablespace {
13260 #[inline]
13261 fn can_cast(kind: SyntaxKind) -> bool {
13262 kind == SyntaxKind::CREATE_TABLESPACE
13263 }
13264 #[inline]
13265 fn cast(syntax: SyntaxNode) -> Option<Self> {
13266 if Self::can_cast(syntax.kind()) {
13267 Some(Self { syntax })
13268 } else {
13269 None
13270 }
13271 }
13272 #[inline]
13273 fn syntax(&self) -> &SyntaxNode {
13274 &self.syntax
13275 }
13276}
13277impl AstNode for CreateTextSearchConfiguration {
13278 #[inline]
13279 fn can_cast(kind: SyntaxKind) -> bool {
13280 kind == SyntaxKind::CREATE_TEXT_SEARCH_CONFIGURATION
13281 }
13282 #[inline]
13283 fn cast(syntax: SyntaxNode) -> Option<Self> {
13284 if Self::can_cast(syntax.kind()) {
13285 Some(Self { syntax })
13286 } else {
13287 None
13288 }
13289 }
13290 #[inline]
13291 fn syntax(&self) -> &SyntaxNode {
13292 &self.syntax
13293 }
13294}
13295impl AstNode for CreateTextSearchDictionary {
13296 #[inline]
13297 fn can_cast(kind: SyntaxKind) -> bool {
13298 kind == SyntaxKind::CREATE_TEXT_SEARCH_DICTIONARY
13299 }
13300 #[inline]
13301 fn cast(syntax: SyntaxNode) -> Option<Self> {
13302 if Self::can_cast(syntax.kind()) {
13303 Some(Self { syntax })
13304 } else {
13305 None
13306 }
13307 }
13308 #[inline]
13309 fn syntax(&self) -> &SyntaxNode {
13310 &self.syntax
13311 }
13312}
13313impl AstNode for CreateTextSearchParser {
13314 #[inline]
13315 fn can_cast(kind: SyntaxKind) -> bool {
13316 kind == SyntaxKind::CREATE_TEXT_SEARCH_PARSER
13317 }
13318 #[inline]
13319 fn cast(syntax: SyntaxNode) -> Option<Self> {
13320 if Self::can_cast(syntax.kind()) {
13321 Some(Self { syntax })
13322 } else {
13323 None
13324 }
13325 }
13326 #[inline]
13327 fn syntax(&self) -> &SyntaxNode {
13328 &self.syntax
13329 }
13330}
13331impl AstNode for CreateTextSearchTemplate {
13332 #[inline]
13333 fn can_cast(kind: SyntaxKind) -> bool {
13334 kind == SyntaxKind::CREATE_TEXT_SEARCH_TEMPLATE
13335 }
13336 #[inline]
13337 fn cast(syntax: SyntaxNode) -> Option<Self> {
13338 if Self::can_cast(syntax.kind()) {
13339 Some(Self { syntax })
13340 } else {
13341 None
13342 }
13343 }
13344 #[inline]
13345 fn syntax(&self) -> &SyntaxNode {
13346 &self.syntax
13347 }
13348}
13349impl AstNode for CreateTransform {
13350 #[inline]
13351 fn can_cast(kind: SyntaxKind) -> bool {
13352 kind == SyntaxKind::CREATE_TRANSFORM
13353 }
13354 #[inline]
13355 fn cast(syntax: SyntaxNode) -> Option<Self> {
13356 if Self::can_cast(syntax.kind()) {
13357 Some(Self { syntax })
13358 } else {
13359 None
13360 }
13361 }
13362 #[inline]
13363 fn syntax(&self) -> &SyntaxNode {
13364 &self.syntax
13365 }
13366}
13367impl AstNode for CreateTrigger {
13368 #[inline]
13369 fn can_cast(kind: SyntaxKind) -> bool {
13370 kind == SyntaxKind::CREATE_TRIGGER
13371 }
13372 #[inline]
13373 fn cast(syntax: SyntaxNode) -> Option<Self> {
13374 if Self::can_cast(syntax.kind()) {
13375 Some(Self { syntax })
13376 } else {
13377 None
13378 }
13379 }
13380 #[inline]
13381 fn syntax(&self) -> &SyntaxNode {
13382 &self.syntax
13383 }
13384}
13385impl AstNode for CreateType {
13386 #[inline]
13387 fn can_cast(kind: SyntaxKind) -> bool {
13388 kind == SyntaxKind::CREATE_TYPE
13389 }
13390 #[inline]
13391 fn cast(syntax: SyntaxNode) -> Option<Self> {
13392 if Self::can_cast(syntax.kind()) {
13393 Some(Self { syntax })
13394 } else {
13395 None
13396 }
13397 }
13398 #[inline]
13399 fn syntax(&self) -> &SyntaxNode {
13400 &self.syntax
13401 }
13402}
13403impl AstNode for CreateUser {
13404 #[inline]
13405 fn can_cast(kind: SyntaxKind) -> bool {
13406 kind == SyntaxKind::CREATE_USER
13407 }
13408 #[inline]
13409 fn cast(syntax: SyntaxNode) -> Option<Self> {
13410 if Self::can_cast(syntax.kind()) {
13411 Some(Self { syntax })
13412 } else {
13413 None
13414 }
13415 }
13416 #[inline]
13417 fn syntax(&self) -> &SyntaxNode {
13418 &self.syntax
13419 }
13420}
13421impl AstNode for CreateUserMapping {
13422 #[inline]
13423 fn can_cast(kind: SyntaxKind) -> bool {
13424 kind == SyntaxKind::CREATE_USER_MAPPING
13425 }
13426 #[inline]
13427 fn cast(syntax: SyntaxNode) -> Option<Self> {
13428 if Self::can_cast(syntax.kind()) {
13429 Some(Self { syntax })
13430 } else {
13431 None
13432 }
13433 }
13434 #[inline]
13435 fn syntax(&self) -> &SyntaxNode {
13436 &self.syntax
13437 }
13438}
13439impl AstNode for CreateView {
13440 #[inline]
13441 fn can_cast(kind: SyntaxKind) -> bool {
13442 kind == SyntaxKind::CREATE_VIEW
13443 }
13444 #[inline]
13445 fn cast(syntax: SyntaxNode) -> Option<Self> {
13446 if Self::can_cast(syntax.kind()) {
13447 Some(Self { syntax })
13448 } else {
13449 None
13450 }
13451 }
13452 #[inline]
13453 fn syntax(&self) -> &SyntaxNode {
13454 &self.syntax
13455 }
13456}
13457impl AstNode for CustomOp {
13458 #[inline]
13459 fn can_cast(kind: SyntaxKind) -> bool {
13460 kind == SyntaxKind::CUSTOM_OP
13461 }
13462 #[inline]
13463 fn cast(syntax: SyntaxNode) -> Option<Self> {
13464 if Self::can_cast(syntax.kind()) {
13465 Some(Self { syntax })
13466 } else {
13467 None
13468 }
13469 }
13470 #[inline]
13471 fn syntax(&self) -> &SyntaxNode {
13472 &self.syntax
13473 }
13474}
13475impl AstNode for Deallocate {
13476 #[inline]
13477 fn can_cast(kind: SyntaxKind) -> bool {
13478 kind == SyntaxKind::DEALLOCATE
13479 }
13480 #[inline]
13481 fn cast(syntax: SyntaxNode) -> Option<Self> {
13482 if Self::can_cast(syntax.kind()) {
13483 Some(Self { syntax })
13484 } else {
13485 None
13486 }
13487 }
13488 #[inline]
13489 fn syntax(&self) -> &SyntaxNode {
13490 &self.syntax
13491 }
13492}
13493impl AstNode for Declare {
13494 #[inline]
13495 fn can_cast(kind: SyntaxKind) -> bool {
13496 kind == SyntaxKind::DECLARE
13497 }
13498 #[inline]
13499 fn cast(syntax: SyntaxNode) -> Option<Self> {
13500 if Self::can_cast(syntax.kind()) {
13501 Some(Self { syntax })
13502 } else {
13503 None
13504 }
13505 }
13506 #[inline]
13507 fn syntax(&self) -> &SyntaxNode {
13508 &self.syntax
13509 }
13510}
13511impl AstNode for DefaultConstraint {
13512 #[inline]
13513 fn can_cast(kind: SyntaxKind) -> bool {
13514 kind == SyntaxKind::DEFAULT_CONSTRAINT
13515 }
13516 #[inline]
13517 fn cast(syntax: SyntaxNode) -> Option<Self> {
13518 if Self::can_cast(syntax.kind()) {
13519 Some(Self { syntax })
13520 } else {
13521 None
13522 }
13523 }
13524 #[inline]
13525 fn syntax(&self) -> &SyntaxNode {
13526 &self.syntax
13527 }
13528}
13529impl AstNode for Deferrable {
13530 #[inline]
13531 fn can_cast(kind: SyntaxKind) -> bool {
13532 kind == SyntaxKind::DEFERRABLE
13533 }
13534 #[inline]
13535 fn cast(syntax: SyntaxNode) -> Option<Self> {
13536 if Self::can_cast(syntax.kind()) {
13537 Some(Self { syntax })
13538 } else {
13539 None
13540 }
13541 }
13542 #[inline]
13543 fn syntax(&self) -> &SyntaxNode {
13544 &self.syntax
13545 }
13546}
13547impl AstNode for DeferrableConstraintOption {
13548 #[inline]
13549 fn can_cast(kind: SyntaxKind) -> bool {
13550 kind == SyntaxKind::DEFERRABLE_CONSTRAINT_OPTION
13551 }
13552 #[inline]
13553 fn cast(syntax: SyntaxNode) -> Option<Self> {
13554 if Self::can_cast(syntax.kind()) {
13555 Some(Self { syntax })
13556 } else {
13557 None
13558 }
13559 }
13560 #[inline]
13561 fn syntax(&self) -> &SyntaxNode {
13562 &self.syntax
13563 }
13564}
13565impl AstNode for Delete {
13566 #[inline]
13567 fn can_cast(kind: SyntaxKind) -> bool {
13568 kind == SyntaxKind::DELETE
13569 }
13570 #[inline]
13571 fn cast(syntax: SyntaxNode) -> Option<Self> {
13572 if Self::can_cast(syntax.kind()) {
13573 Some(Self { syntax })
13574 } else {
13575 None
13576 }
13577 }
13578 #[inline]
13579 fn syntax(&self) -> &SyntaxNode {
13580 &self.syntax
13581 }
13582}
13583impl AstNode for DeleteRows {
13584 #[inline]
13585 fn can_cast(kind: SyntaxKind) -> bool {
13586 kind == SyntaxKind::DELETE_ROWS
13587 }
13588 #[inline]
13589 fn cast(syntax: SyntaxNode) -> Option<Self> {
13590 if Self::can_cast(syntax.kind()) {
13591 Some(Self { syntax })
13592 } else {
13593 None
13594 }
13595 }
13596 #[inline]
13597 fn syntax(&self) -> &SyntaxNode {
13598 &self.syntax
13599 }
13600}
13601impl AstNode for DetachPartition {
13602 #[inline]
13603 fn can_cast(kind: SyntaxKind) -> bool {
13604 kind == SyntaxKind::DETACH_PARTITION
13605 }
13606 #[inline]
13607 fn cast(syntax: SyntaxNode) -> Option<Self> {
13608 if Self::can_cast(syntax.kind()) {
13609 Some(Self { syntax })
13610 } else {
13611 None
13612 }
13613 }
13614 #[inline]
13615 fn syntax(&self) -> &SyntaxNode {
13616 &self.syntax
13617 }
13618}
13619impl AstNode for DisableRls {
13620 #[inline]
13621 fn can_cast(kind: SyntaxKind) -> bool {
13622 kind == SyntaxKind::DISABLE_RLS
13623 }
13624 #[inline]
13625 fn cast(syntax: SyntaxNode) -> Option<Self> {
13626 if Self::can_cast(syntax.kind()) {
13627 Some(Self { syntax })
13628 } else {
13629 None
13630 }
13631 }
13632 #[inline]
13633 fn syntax(&self) -> &SyntaxNode {
13634 &self.syntax
13635 }
13636}
13637impl AstNode for DisableRule {
13638 #[inline]
13639 fn can_cast(kind: SyntaxKind) -> bool {
13640 kind == SyntaxKind::DISABLE_RULE
13641 }
13642 #[inline]
13643 fn cast(syntax: SyntaxNode) -> Option<Self> {
13644 if Self::can_cast(syntax.kind()) {
13645 Some(Self { syntax })
13646 } else {
13647 None
13648 }
13649 }
13650 #[inline]
13651 fn syntax(&self) -> &SyntaxNode {
13652 &self.syntax
13653 }
13654}
13655impl AstNode for DisableTrigger {
13656 #[inline]
13657 fn can_cast(kind: SyntaxKind) -> bool {
13658 kind == SyntaxKind::DISABLE_TRIGGER
13659 }
13660 #[inline]
13661 fn cast(syntax: SyntaxNode) -> Option<Self> {
13662 if Self::can_cast(syntax.kind()) {
13663 Some(Self { syntax })
13664 } else {
13665 None
13666 }
13667 }
13668 #[inline]
13669 fn syntax(&self) -> &SyntaxNode {
13670 &self.syntax
13671 }
13672}
13673impl AstNode for Discard {
13674 #[inline]
13675 fn can_cast(kind: SyntaxKind) -> bool {
13676 kind == SyntaxKind::DISCARD
13677 }
13678 #[inline]
13679 fn cast(syntax: SyntaxNode) -> Option<Self> {
13680 if Self::can_cast(syntax.kind()) {
13681 Some(Self { syntax })
13682 } else {
13683 None
13684 }
13685 }
13686 #[inline]
13687 fn syntax(&self) -> &SyntaxNode {
13688 &self.syntax
13689 }
13690}
13691impl AstNode for DistinctClause {
13692 #[inline]
13693 fn can_cast(kind: SyntaxKind) -> bool {
13694 kind == SyntaxKind::DISTINCT_CLAUSE
13695 }
13696 #[inline]
13697 fn cast(syntax: SyntaxNode) -> Option<Self> {
13698 if Self::can_cast(syntax.kind()) {
13699 Some(Self { syntax })
13700 } else {
13701 None
13702 }
13703 }
13704 #[inline]
13705 fn syntax(&self) -> &SyntaxNode {
13706 &self.syntax
13707 }
13708}
13709impl AstNode for Do {
13710 #[inline]
13711 fn can_cast(kind: SyntaxKind) -> bool {
13712 kind == SyntaxKind::DO
13713 }
13714 #[inline]
13715 fn cast(syntax: SyntaxNode) -> Option<Self> {
13716 if Self::can_cast(syntax.kind()) {
13717 Some(Self { syntax })
13718 } else {
13719 None
13720 }
13721 }
13722 #[inline]
13723 fn syntax(&self) -> &SyntaxNode {
13724 &self.syntax
13725 }
13726}
13727impl AstNode for DoubleType {
13728 #[inline]
13729 fn can_cast(kind: SyntaxKind) -> bool {
13730 kind == SyntaxKind::DOUBLE_TYPE
13731 }
13732 #[inline]
13733 fn cast(syntax: SyntaxNode) -> Option<Self> {
13734 if Self::can_cast(syntax.kind()) {
13735 Some(Self { syntax })
13736 } else {
13737 None
13738 }
13739 }
13740 #[inline]
13741 fn syntax(&self) -> &SyntaxNode {
13742 &self.syntax
13743 }
13744}
13745impl AstNode for Drop {
13746 #[inline]
13747 fn can_cast(kind: SyntaxKind) -> bool {
13748 kind == SyntaxKind::DROP
13749 }
13750 #[inline]
13751 fn cast(syntax: SyntaxNode) -> Option<Self> {
13752 if Self::can_cast(syntax.kind()) {
13753 Some(Self { syntax })
13754 } else {
13755 None
13756 }
13757 }
13758 #[inline]
13759 fn syntax(&self) -> &SyntaxNode {
13760 &self.syntax
13761 }
13762}
13763impl AstNode for DropAccessMethod {
13764 #[inline]
13765 fn can_cast(kind: SyntaxKind) -> bool {
13766 kind == SyntaxKind::DROP_ACCESS_METHOD
13767 }
13768 #[inline]
13769 fn cast(syntax: SyntaxNode) -> Option<Self> {
13770 if Self::can_cast(syntax.kind()) {
13771 Some(Self { syntax })
13772 } else {
13773 None
13774 }
13775 }
13776 #[inline]
13777 fn syntax(&self) -> &SyntaxNode {
13778 &self.syntax
13779 }
13780}
13781impl AstNode for DropAggregate {
13782 #[inline]
13783 fn can_cast(kind: SyntaxKind) -> bool {
13784 kind == SyntaxKind::DROP_AGGREGATE
13785 }
13786 #[inline]
13787 fn cast(syntax: SyntaxNode) -> Option<Self> {
13788 if Self::can_cast(syntax.kind()) {
13789 Some(Self { syntax })
13790 } else {
13791 None
13792 }
13793 }
13794 #[inline]
13795 fn syntax(&self) -> &SyntaxNode {
13796 &self.syntax
13797 }
13798}
13799impl AstNode for DropCast {
13800 #[inline]
13801 fn can_cast(kind: SyntaxKind) -> bool {
13802 kind == SyntaxKind::DROP_CAST
13803 }
13804 #[inline]
13805 fn cast(syntax: SyntaxNode) -> Option<Self> {
13806 if Self::can_cast(syntax.kind()) {
13807 Some(Self { syntax })
13808 } else {
13809 None
13810 }
13811 }
13812 #[inline]
13813 fn syntax(&self) -> &SyntaxNode {
13814 &self.syntax
13815 }
13816}
13817impl AstNode for DropCollation {
13818 #[inline]
13819 fn can_cast(kind: SyntaxKind) -> bool {
13820 kind == SyntaxKind::DROP_COLLATION
13821 }
13822 #[inline]
13823 fn cast(syntax: SyntaxNode) -> Option<Self> {
13824 if Self::can_cast(syntax.kind()) {
13825 Some(Self { syntax })
13826 } else {
13827 None
13828 }
13829 }
13830 #[inline]
13831 fn syntax(&self) -> &SyntaxNode {
13832 &self.syntax
13833 }
13834}
13835impl AstNode for DropColumn {
13836 #[inline]
13837 fn can_cast(kind: SyntaxKind) -> bool {
13838 kind == SyntaxKind::DROP_COLUMN
13839 }
13840 #[inline]
13841 fn cast(syntax: SyntaxNode) -> Option<Self> {
13842 if Self::can_cast(syntax.kind()) {
13843 Some(Self { syntax })
13844 } else {
13845 None
13846 }
13847 }
13848 #[inline]
13849 fn syntax(&self) -> &SyntaxNode {
13850 &self.syntax
13851 }
13852}
13853impl AstNode for DropConstraint {
13854 #[inline]
13855 fn can_cast(kind: SyntaxKind) -> bool {
13856 kind == SyntaxKind::DROP_CONSTRAINT
13857 }
13858 #[inline]
13859 fn cast(syntax: SyntaxNode) -> Option<Self> {
13860 if Self::can_cast(syntax.kind()) {
13861 Some(Self { syntax })
13862 } else {
13863 None
13864 }
13865 }
13866 #[inline]
13867 fn syntax(&self) -> &SyntaxNode {
13868 &self.syntax
13869 }
13870}
13871impl AstNode for DropConversion {
13872 #[inline]
13873 fn can_cast(kind: SyntaxKind) -> bool {
13874 kind == SyntaxKind::DROP_CONVERSION
13875 }
13876 #[inline]
13877 fn cast(syntax: SyntaxNode) -> Option<Self> {
13878 if Self::can_cast(syntax.kind()) {
13879 Some(Self { syntax })
13880 } else {
13881 None
13882 }
13883 }
13884 #[inline]
13885 fn syntax(&self) -> &SyntaxNode {
13886 &self.syntax
13887 }
13888}
13889impl AstNode for DropDatabase {
13890 #[inline]
13891 fn can_cast(kind: SyntaxKind) -> bool {
13892 kind == SyntaxKind::DROP_DATABASE
13893 }
13894 #[inline]
13895 fn cast(syntax: SyntaxNode) -> Option<Self> {
13896 if Self::can_cast(syntax.kind()) {
13897 Some(Self { syntax })
13898 } else {
13899 None
13900 }
13901 }
13902 #[inline]
13903 fn syntax(&self) -> &SyntaxNode {
13904 &self.syntax
13905 }
13906}
13907impl AstNode for DropDefault {
13908 #[inline]
13909 fn can_cast(kind: SyntaxKind) -> bool {
13910 kind == SyntaxKind::DROP_DEFAULT
13911 }
13912 #[inline]
13913 fn cast(syntax: SyntaxNode) -> Option<Self> {
13914 if Self::can_cast(syntax.kind()) {
13915 Some(Self { syntax })
13916 } else {
13917 None
13918 }
13919 }
13920 #[inline]
13921 fn syntax(&self) -> &SyntaxNode {
13922 &self.syntax
13923 }
13924}
13925impl AstNode for DropDomain {
13926 #[inline]
13927 fn can_cast(kind: SyntaxKind) -> bool {
13928 kind == SyntaxKind::DROP_DOMAIN
13929 }
13930 #[inline]
13931 fn cast(syntax: SyntaxNode) -> Option<Self> {
13932 if Self::can_cast(syntax.kind()) {
13933 Some(Self { syntax })
13934 } else {
13935 None
13936 }
13937 }
13938 #[inline]
13939 fn syntax(&self) -> &SyntaxNode {
13940 &self.syntax
13941 }
13942}
13943impl AstNode for DropEventTrigger {
13944 #[inline]
13945 fn can_cast(kind: SyntaxKind) -> bool {
13946 kind == SyntaxKind::DROP_EVENT_TRIGGER
13947 }
13948 #[inline]
13949 fn cast(syntax: SyntaxNode) -> Option<Self> {
13950 if Self::can_cast(syntax.kind()) {
13951 Some(Self { syntax })
13952 } else {
13953 None
13954 }
13955 }
13956 #[inline]
13957 fn syntax(&self) -> &SyntaxNode {
13958 &self.syntax
13959 }
13960}
13961impl AstNode for DropExpression {
13962 #[inline]
13963 fn can_cast(kind: SyntaxKind) -> bool {
13964 kind == SyntaxKind::DROP_EXPRESSION
13965 }
13966 #[inline]
13967 fn cast(syntax: SyntaxNode) -> Option<Self> {
13968 if Self::can_cast(syntax.kind()) {
13969 Some(Self { syntax })
13970 } else {
13971 None
13972 }
13973 }
13974 #[inline]
13975 fn syntax(&self) -> &SyntaxNode {
13976 &self.syntax
13977 }
13978}
13979impl AstNode for DropExtension {
13980 #[inline]
13981 fn can_cast(kind: SyntaxKind) -> bool {
13982 kind == SyntaxKind::DROP_EXTENSION
13983 }
13984 #[inline]
13985 fn cast(syntax: SyntaxNode) -> Option<Self> {
13986 if Self::can_cast(syntax.kind()) {
13987 Some(Self { syntax })
13988 } else {
13989 None
13990 }
13991 }
13992 #[inline]
13993 fn syntax(&self) -> &SyntaxNode {
13994 &self.syntax
13995 }
13996}
13997impl AstNode for DropForeignDataWrapper {
13998 #[inline]
13999 fn can_cast(kind: SyntaxKind) -> bool {
14000 kind == SyntaxKind::DROP_FOREIGN_DATA_WRAPPER
14001 }
14002 #[inline]
14003 fn cast(syntax: SyntaxNode) -> Option<Self> {
14004 if Self::can_cast(syntax.kind()) {
14005 Some(Self { syntax })
14006 } else {
14007 None
14008 }
14009 }
14010 #[inline]
14011 fn syntax(&self) -> &SyntaxNode {
14012 &self.syntax
14013 }
14014}
14015impl AstNode for DropForeignTable {
14016 #[inline]
14017 fn can_cast(kind: SyntaxKind) -> bool {
14018 kind == SyntaxKind::DROP_FOREIGN_TABLE
14019 }
14020 #[inline]
14021 fn cast(syntax: SyntaxNode) -> Option<Self> {
14022 if Self::can_cast(syntax.kind()) {
14023 Some(Self { syntax })
14024 } else {
14025 None
14026 }
14027 }
14028 #[inline]
14029 fn syntax(&self) -> &SyntaxNode {
14030 &self.syntax
14031 }
14032}
14033impl AstNode for DropFunction {
14034 #[inline]
14035 fn can_cast(kind: SyntaxKind) -> bool {
14036 kind == SyntaxKind::DROP_FUNCTION
14037 }
14038 #[inline]
14039 fn cast(syntax: SyntaxNode) -> Option<Self> {
14040 if Self::can_cast(syntax.kind()) {
14041 Some(Self { syntax })
14042 } else {
14043 None
14044 }
14045 }
14046 #[inline]
14047 fn syntax(&self) -> &SyntaxNode {
14048 &self.syntax
14049 }
14050}
14051impl AstNode for DropGroup {
14052 #[inline]
14053 fn can_cast(kind: SyntaxKind) -> bool {
14054 kind == SyntaxKind::DROP_GROUP
14055 }
14056 #[inline]
14057 fn cast(syntax: SyntaxNode) -> Option<Self> {
14058 if Self::can_cast(syntax.kind()) {
14059 Some(Self { syntax })
14060 } else {
14061 None
14062 }
14063 }
14064 #[inline]
14065 fn syntax(&self) -> &SyntaxNode {
14066 &self.syntax
14067 }
14068}
14069impl AstNode for DropIdentity {
14070 #[inline]
14071 fn can_cast(kind: SyntaxKind) -> bool {
14072 kind == SyntaxKind::DROP_IDENTITY
14073 }
14074 #[inline]
14075 fn cast(syntax: SyntaxNode) -> Option<Self> {
14076 if Self::can_cast(syntax.kind()) {
14077 Some(Self { syntax })
14078 } else {
14079 None
14080 }
14081 }
14082 #[inline]
14083 fn syntax(&self) -> &SyntaxNode {
14084 &self.syntax
14085 }
14086}
14087impl AstNode for DropIndex {
14088 #[inline]
14089 fn can_cast(kind: SyntaxKind) -> bool {
14090 kind == SyntaxKind::DROP_INDEX
14091 }
14092 #[inline]
14093 fn cast(syntax: SyntaxNode) -> Option<Self> {
14094 if Self::can_cast(syntax.kind()) {
14095 Some(Self { syntax })
14096 } else {
14097 None
14098 }
14099 }
14100 #[inline]
14101 fn syntax(&self) -> &SyntaxNode {
14102 &self.syntax
14103 }
14104}
14105impl AstNode for DropLanguage {
14106 #[inline]
14107 fn can_cast(kind: SyntaxKind) -> bool {
14108 kind == SyntaxKind::DROP_LANGUAGE
14109 }
14110 #[inline]
14111 fn cast(syntax: SyntaxNode) -> Option<Self> {
14112 if Self::can_cast(syntax.kind()) {
14113 Some(Self { syntax })
14114 } else {
14115 None
14116 }
14117 }
14118 #[inline]
14119 fn syntax(&self) -> &SyntaxNode {
14120 &self.syntax
14121 }
14122}
14123impl AstNode for DropMaterializedView {
14124 #[inline]
14125 fn can_cast(kind: SyntaxKind) -> bool {
14126 kind == SyntaxKind::DROP_MATERIALIZED_VIEW
14127 }
14128 #[inline]
14129 fn cast(syntax: SyntaxNode) -> Option<Self> {
14130 if Self::can_cast(syntax.kind()) {
14131 Some(Self { syntax })
14132 } else {
14133 None
14134 }
14135 }
14136 #[inline]
14137 fn syntax(&self) -> &SyntaxNode {
14138 &self.syntax
14139 }
14140}
14141impl AstNode for DropNotNull {
14142 #[inline]
14143 fn can_cast(kind: SyntaxKind) -> bool {
14144 kind == SyntaxKind::DROP_NOT_NULL
14145 }
14146 #[inline]
14147 fn cast(syntax: SyntaxNode) -> Option<Self> {
14148 if Self::can_cast(syntax.kind()) {
14149 Some(Self { syntax })
14150 } else {
14151 None
14152 }
14153 }
14154 #[inline]
14155 fn syntax(&self) -> &SyntaxNode {
14156 &self.syntax
14157 }
14158}
14159impl AstNode for DropOperator {
14160 #[inline]
14161 fn can_cast(kind: SyntaxKind) -> bool {
14162 kind == SyntaxKind::DROP_OPERATOR
14163 }
14164 #[inline]
14165 fn cast(syntax: SyntaxNode) -> Option<Self> {
14166 if Self::can_cast(syntax.kind()) {
14167 Some(Self { syntax })
14168 } else {
14169 None
14170 }
14171 }
14172 #[inline]
14173 fn syntax(&self) -> &SyntaxNode {
14174 &self.syntax
14175 }
14176}
14177impl AstNode for DropOperatorClass {
14178 #[inline]
14179 fn can_cast(kind: SyntaxKind) -> bool {
14180 kind == SyntaxKind::DROP_OPERATOR_CLASS
14181 }
14182 #[inline]
14183 fn cast(syntax: SyntaxNode) -> Option<Self> {
14184 if Self::can_cast(syntax.kind()) {
14185 Some(Self { syntax })
14186 } else {
14187 None
14188 }
14189 }
14190 #[inline]
14191 fn syntax(&self) -> &SyntaxNode {
14192 &self.syntax
14193 }
14194}
14195impl AstNode for DropOperatorFamily {
14196 #[inline]
14197 fn can_cast(kind: SyntaxKind) -> bool {
14198 kind == SyntaxKind::DROP_OPERATOR_FAMILY
14199 }
14200 #[inline]
14201 fn cast(syntax: SyntaxNode) -> Option<Self> {
14202 if Self::can_cast(syntax.kind()) {
14203 Some(Self { syntax })
14204 } else {
14205 None
14206 }
14207 }
14208 #[inline]
14209 fn syntax(&self) -> &SyntaxNode {
14210 &self.syntax
14211 }
14212}
14213impl AstNode for DropOwned {
14214 #[inline]
14215 fn can_cast(kind: SyntaxKind) -> bool {
14216 kind == SyntaxKind::DROP_OWNED
14217 }
14218 #[inline]
14219 fn cast(syntax: SyntaxNode) -> Option<Self> {
14220 if Self::can_cast(syntax.kind()) {
14221 Some(Self { syntax })
14222 } else {
14223 None
14224 }
14225 }
14226 #[inline]
14227 fn syntax(&self) -> &SyntaxNode {
14228 &self.syntax
14229 }
14230}
14231impl AstNode for DropPolicy {
14232 #[inline]
14233 fn can_cast(kind: SyntaxKind) -> bool {
14234 kind == SyntaxKind::DROP_POLICY
14235 }
14236 #[inline]
14237 fn cast(syntax: SyntaxNode) -> Option<Self> {
14238 if Self::can_cast(syntax.kind()) {
14239 Some(Self { syntax })
14240 } else {
14241 None
14242 }
14243 }
14244 #[inline]
14245 fn syntax(&self) -> &SyntaxNode {
14246 &self.syntax
14247 }
14248}
14249impl AstNode for DropProcedure {
14250 #[inline]
14251 fn can_cast(kind: SyntaxKind) -> bool {
14252 kind == SyntaxKind::DROP_PROCEDURE
14253 }
14254 #[inline]
14255 fn cast(syntax: SyntaxNode) -> Option<Self> {
14256 if Self::can_cast(syntax.kind()) {
14257 Some(Self { syntax })
14258 } else {
14259 None
14260 }
14261 }
14262 #[inline]
14263 fn syntax(&self) -> &SyntaxNode {
14264 &self.syntax
14265 }
14266}
14267impl AstNode for DropPublication {
14268 #[inline]
14269 fn can_cast(kind: SyntaxKind) -> bool {
14270 kind == SyntaxKind::DROP_PUBLICATION
14271 }
14272 #[inline]
14273 fn cast(syntax: SyntaxNode) -> Option<Self> {
14274 if Self::can_cast(syntax.kind()) {
14275 Some(Self { syntax })
14276 } else {
14277 None
14278 }
14279 }
14280 #[inline]
14281 fn syntax(&self) -> &SyntaxNode {
14282 &self.syntax
14283 }
14284}
14285impl AstNode for DropRole {
14286 #[inline]
14287 fn can_cast(kind: SyntaxKind) -> bool {
14288 kind == SyntaxKind::DROP_ROLE
14289 }
14290 #[inline]
14291 fn cast(syntax: SyntaxNode) -> Option<Self> {
14292 if Self::can_cast(syntax.kind()) {
14293 Some(Self { syntax })
14294 } else {
14295 None
14296 }
14297 }
14298 #[inline]
14299 fn syntax(&self) -> &SyntaxNode {
14300 &self.syntax
14301 }
14302}
14303impl AstNode for DropRoutine {
14304 #[inline]
14305 fn can_cast(kind: SyntaxKind) -> bool {
14306 kind == SyntaxKind::DROP_ROUTINE
14307 }
14308 #[inline]
14309 fn cast(syntax: SyntaxNode) -> Option<Self> {
14310 if Self::can_cast(syntax.kind()) {
14311 Some(Self { syntax })
14312 } else {
14313 None
14314 }
14315 }
14316 #[inline]
14317 fn syntax(&self) -> &SyntaxNode {
14318 &self.syntax
14319 }
14320}
14321impl AstNode for DropRule {
14322 #[inline]
14323 fn can_cast(kind: SyntaxKind) -> bool {
14324 kind == SyntaxKind::DROP_RULE
14325 }
14326 #[inline]
14327 fn cast(syntax: SyntaxNode) -> Option<Self> {
14328 if Self::can_cast(syntax.kind()) {
14329 Some(Self { syntax })
14330 } else {
14331 None
14332 }
14333 }
14334 #[inline]
14335 fn syntax(&self) -> &SyntaxNode {
14336 &self.syntax
14337 }
14338}
14339impl AstNode for DropSchema {
14340 #[inline]
14341 fn can_cast(kind: SyntaxKind) -> bool {
14342 kind == SyntaxKind::DROP_SCHEMA
14343 }
14344 #[inline]
14345 fn cast(syntax: SyntaxNode) -> Option<Self> {
14346 if Self::can_cast(syntax.kind()) {
14347 Some(Self { syntax })
14348 } else {
14349 None
14350 }
14351 }
14352 #[inline]
14353 fn syntax(&self) -> &SyntaxNode {
14354 &self.syntax
14355 }
14356}
14357impl AstNode for DropSequence {
14358 #[inline]
14359 fn can_cast(kind: SyntaxKind) -> bool {
14360 kind == SyntaxKind::DROP_SEQUENCE
14361 }
14362 #[inline]
14363 fn cast(syntax: SyntaxNode) -> Option<Self> {
14364 if Self::can_cast(syntax.kind()) {
14365 Some(Self { syntax })
14366 } else {
14367 None
14368 }
14369 }
14370 #[inline]
14371 fn syntax(&self) -> &SyntaxNode {
14372 &self.syntax
14373 }
14374}
14375impl AstNode for DropServer {
14376 #[inline]
14377 fn can_cast(kind: SyntaxKind) -> bool {
14378 kind == SyntaxKind::DROP_SERVER
14379 }
14380 #[inline]
14381 fn cast(syntax: SyntaxNode) -> Option<Self> {
14382 if Self::can_cast(syntax.kind()) {
14383 Some(Self { syntax })
14384 } else {
14385 None
14386 }
14387 }
14388 #[inline]
14389 fn syntax(&self) -> &SyntaxNode {
14390 &self.syntax
14391 }
14392}
14393impl AstNode for DropStatistics {
14394 #[inline]
14395 fn can_cast(kind: SyntaxKind) -> bool {
14396 kind == SyntaxKind::DROP_STATISTICS
14397 }
14398 #[inline]
14399 fn cast(syntax: SyntaxNode) -> Option<Self> {
14400 if Self::can_cast(syntax.kind()) {
14401 Some(Self { syntax })
14402 } else {
14403 None
14404 }
14405 }
14406 #[inline]
14407 fn syntax(&self) -> &SyntaxNode {
14408 &self.syntax
14409 }
14410}
14411impl AstNode for DropSubscription {
14412 #[inline]
14413 fn can_cast(kind: SyntaxKind) -> bool {
14414 kind == SyntaxKind::DROP_SUBSCRIPTION
14415 }
14416 #[inline]
14417 fn cast(syntax: SyntaxNode) -> Option<Self> {
14418 if Self::can_cast(syntax.kind()) {
14419 Some(Self { syntax })
14420 } else {
14421 None
14422 }
14423 }
14424 #[inline]
14425 fn syntax(&self) -> &SyntaxNode {
14426 &self.syntax
14427 }
14428}
14429impl AstNode for DropTable {
14430 #[inline]
14431 fn can_cast(kind: SyntaxKind) -> bool {
14432 kind == SyntaxKind::DROP_TABLE
14433 }
14434 #[inline]
14435 fn cast(syntax: SyntaxNode) -> Option<Self> {
14436 if Self::can_cast(syntax.kind()) {
14437 Some(Self { syntax })
14438 } else {
14439 None
14440 }
14441 }
14442 #[inline]
14443 fn syntax(&self) -> &SyntaxNode {
14444 &self.syntax
14445 }
14446}
14447impl AstNode for DropTablespace {
14448 #[inline]
14449 fn can_cast(kind: SyntaxKind) -> bool {
14450 kind == SyntaxKind::DROP_TABLESPACE
14451 }
14452 #[inline]
14453 fn cast(syntax: SyntaxNode) -> Option<Self> {
14454 if Self::can_cast(syntax.kind()) {
14455 Some(Self { syntax })
14456 } else {
14457 None
14458 }
14459 }
14460 #[inline]
14461 fn syntax(&self) -> &SyntaxNode {
14462 &self.syntax
14463 }
14464}
14465impl AstNode for DropTextSearchConfig {
14466 #[inline]
14467 fn can_cast(kind: SyntaxKind) -> bool {
14468 kind == SyntaxKind::DROP_TEXT_SEARCH_CONFIG
14469 }
14470 #[inline]
14471 fn cast(syntax: SyntaxNode) -> Option<Self> {
14472 if Self::can_cast(syntax.kind()) {
14473 Some(Self { syntax })
14474 } else {
14475 None
14476 }
14477 }
14478 #[inline]
14479 fn syntax(&self) -> &SyntaxNode {
14480 &self.syntax
14481 }
14482}
14483impl AstNode for DropTextSearchDict {
14484 #[inline]
14485 fn can_cast(kind: SyntaxKind) -> bool {
14486 kind == SyntaxKind::DROP_TEXT_SEARCH_DICT
14487 }
14488 #[inline]
14489 fn cast(syntax: SyntaxNode) -> Option<Self> {
14490 if Self::can_cast(syntax.kind()) {
14491 Some(Self { syntax })
14492 } else {
14493 None
14494 }
14495 }
14496 #[inline]
14497 fn syntax(&self) -> &SyntaxNode {
14498 &self.syntax
14499 }
14500}
14501impl AstNode for DropTextSearchParser {
14502 #[inline]
14503 fn can_cast(kind: SyntaxKind) -> bool {
14504 kind == SyntaxKind::DROP_TEXT_SEARCH_PARSER
14505 }
14506 #[inline]
14507 fn cast(syntax: SyntaxNode) -> Option<Self> {
14508 if Self::can_cast(syntax.kind()) {
14509 Some(Self { syntax })
14510 } else {
14511 None
14512 }
14513 }
14514 #[inline]
14515 fn syntax(&self) -> &SyntaxNode {
14516 &self.syntax
14517 }
14518}
14519impl AstNode for DropTextSearchTemplate {
14520 #[inline]
14521 fn can_cast(kind: SyntaxKind) -> bool {
14522 kind == SyntaxKind::DROP_TEXT_SEARCH_TEMPLATE
14523 }
14524 #[inline]
14525 fn cast(syntax: SyntaxNode) -> Option<Self> {
14526 if Self::can_cast(syntax.kind()) {
14527 Some(Self { syntax })
14528 } else {
14529 None
14530 }
14531 }
14532 #[inline]
14533 fn syntax(&self) -> &SyntaxNode {
14534 &self.syntax
14535 }
14536}
14537impl AstNode for DropTransform {
14538 #[inline]
14539 fn can_cast(kind: SyntaxKind) -> bool {
14540 kind == SyntaxKind::DROP_TRANSFORM
14541 }
14542 #[inline]
14543 fn cast(syntax: SyntaxNode) -> Option<Self> {
14544 if Self::can_cast(syntax.kind()) {
14545 Some(Self { syntax })
14546 } else {
14547 None
14548 }
14549 }
14550 #[inline]
14551 fn syntax(&self) -> &SyntaxNode {
14552 &self.syntax
14553 }
14554}
14555impl AstNode for DropTrigger {
14556 #[inline]
14557 fn can_cast(kind: SyntaxKind) -> bool {
14558 kind == SyntaxKind::DROP_TRIGGER
14559 }
14560 #[inline]
14561 fn cast(syntax: SyntaxNode) -> Option<Self> {
14562 if Self::can_cast(syntax.kind()) {
14563 Some(Self { syntax })
14564 } else {
14565 None
14566 }
14567 }
14568 #[inline]
14569 fn syntax(&self) -> &SyntaxNode {
14570 &self.syntax
14571 }
14572}
14573impl AstNode for DropType {
14574 #[inline]
14575 fn can_cast(kind: SyntaxKind) -> bool {
14576 kind == SyntaxKind::DROP_TYPE
14577 }
14578 #[inline]
14579 fn cast(syntax: SyntaxNode) -> Option<Self> {
14580 if Self::can_cast(syntax.kind()) {
14581 Some(Self { syntax })
14582 } else {
14583 None
14584 }
14585 }
14586 #[inline]
14587 fn syntax(&self) -> &SyntaxNode {
14588 &self.syntax
14589 }
14590}
14591impl AstNode for DropUser {
14592 #[inline]
14593 fn can_cast(kind: SyntaxKind) -> bool {
14594 kind == SyntaxKind::DROP_USER
14595 }
14596 #[inline]
14597 fn cast(syntax: SyntaxNode) -> Option<Self> {
14598 if Self::can_cast(syntax.kind()) {
14599 Some(Self { syntax })
14600 } else {
14601 None
14602 }
14603 }
14604 #[inline]
14605 fn syntax(&self) -> &SyntaxNode {
14606 &self.syntax
14607 }
14608}
14609impl AstNode for DropUserMapping {
14610 #[inline]
14611 fn can_cast(kind: SyntaxKind) -> bool {
14612 kind == SyntaxKind::DROP_USER_MAPPING
14613 }
14614 #[inline]
14615 fn cast(syntax: SyntaxNode) -> Option<Self> {
14616 if Self::can_cast(syntax.kind()) {
14617 Some(Self { syntax })
14618 } else {
14619 None
14620 }
14621 }
14622 #[inline]
14623 fn syntax(&self) -> &SyntaxNode {
14624 &self.syntax
14625 }
14626}
14627impl AstNode for DropView {
14628 #[inline]
14629 fn can_cast(kind: SyntaxKind) -> bool {
14630 kind == SyntaxKind::DROP_VIEW
14631 }
14632 #[inline]
14633 fn cast(syntax: SyntaxNode) -> Option<Self> {
14634 if Self::can_cast(syntax.kind()) {
14635 Some(Self { syntax })
14636 } else {
14637 None
14638 }
14639 }
14640 #[inline]
14641 fn syntax(&self) -> &SyntaxNode {
14642 &self.syntax
14643 }
14644}
14645impl AstNode for ElseClause {
14646 #[inline]
14647 fn can_cast(kind: SyntaxKind) -> bool {
14648 kind == SyntaxKind::ELSE_CLAUSE
14649 }
14650 #[inline]
14651 fn cast(syntax: SyntaxNode) -> Option<Self> {
14652 if Self::can_cast(syntax.kind()) {
14653 Some(Self { syntax })
14654 } else {
14655 None
14656 }
14657 }
14658 #[inline]
14659 fn syntax(&self) -> &SyntaxNode {
14660 &self.syntax
14661 }
14662}
14663impl AstNode for EnableAlwaysRule {
14664 #[inline]
14665 fn can_cast(kind: SyntaxKind) -> bool {
14666 kind == SyntaxKind::ENABLE_ALWAYS_RULE
14667 }
14668 #[inline]
14669 fn cast(syntax: SyntaxNode) -> Option<Self> {
14670 if Self::can_cast(syntax.kind()) {
14671 Some(Self { syntax })
14672 } else {
14673 None
14674 }
14675 }
14676 #[inline]
14677 fn syntax(&self) -> &SyntaxNode {
14678 &self.syntax
14679 }
14680}
14681impl AstNode for EnableAlwaysTrigger {
14682 #[inline]
14683 fn can_cast(kind: SyntaxKind) -> bool {
14684 kind == SyntaxKind::ENABLE_ALWAYS_TRIGGER
14685 }
14686 #[inline]
14687 fn cast(syntax: SyntaxNode) -> Option<Self> {
14688 if Self::can_cast(syntax.kind()) {
14689 Some(Self { syntax })
14690 } else {
14691 None
14692 }
14693 }
14694 #[inline]
14695 fn syntax(&self) -> &SyntaxNode {
14696 &self.syntax
14697 }
14698}
14699impl AstNode for EnableReplicaRule {
14700 #[inline]
14701 fn can_cast(kind: SyntaxKind) -> bool {
14702 kind == SyntaxKind::ENABLE_REPLICA_RULE
14703 }
14704 #[inline]
14705 fn cast(syntax: SyntaxNode) -> Option<Self> {
14706 if Self::can_cast(syntax.kind()) {
14707 Some(Self { syntax })
14708 } else {
14709 None
14710 }
14711 }
14712 #[inline]
14713 fn syntax(&self) -> &SyntaxNode {
14714 &self.syntax
14715 }
14716}
14717impl AstNode for EnableReplicaTrigger {
14718 #[inline]
14719 fn can_cast(kind: SyntaxKind) -> bool {
14720 kind == SyntaxKind::ENABLE_REPLICA_TRIGGER
14721 }
14722 #[inline]
14723 fn cast(syntax: SyntaxNode) -> Option<Self> {
14724 if Self::can_cast(syntax.kind()) {
14725 Some(Self { syntax })
14726 } else {
14727 None
14728 }
14729 }
14730 #[inline]
14731 fn syntax(&self) -> &SyntaxNode {
14732 &self.syntax
14733 }
14734}
14735impl AstNode for EnableRls {
14736 #[inline]
14737 fn can_cast(kind: SyntaxKind) -> bool {
14738 kind == SyntaxKind::ENABLE_RLS
14739 }
14740 #[inline]
14741 fn cast(syntax: SyntaxNode) -> Option<Self> {
14742 if Self::can_cast(syntax.kind()) {
14743 Some(Self { syntax })
14744 } else {
14745 None
14746 }
14747 }
14748 #[inline]
14749 fn syntax(&self) -> &SyntaxNode {
14750 &self.syntax
14751 }
14752}
14753impl AstNode for EnableRule {
14754 #[inline]
14755 fn can_cast(kind: SyntaxKind) -> bool {
14756 kind == SyntaxKind::ENABLE_RULE
14757 }
14758 #[inline]
14759 fn cast(syntax: SyntaxNode) -> Option<Self> {
14760 if Self::can_cast(syntax.kind()) {
14761 Some(Self { syntax })
14762 } else {
14763 None
14764 }
14765 }
14766 #[inline]
14767 fn syntax(&self) -> &SyntaxNode {
14768 &self.syntax
14769 }
14770}
14771impl AstNode for EnableTrigger {
14772 #[inline]
14773 fn can_cast(kind: SyntaxKind) -> bool {
14774 kind == SyntaxKind::ENABLE_TRIGGER
14775 }
14776 #[inline]
14777 fn cast(syntax: SyntaxNode) -> Option<Self> {
14778 if Self::can_cast(syntax.kind()) {
14779 Some(Self { syntax })
14780 } else {
14781 None
14782 }
14783 }
14784 #[inline]
14785 fn syntax(&self) -> &SyntaxNode {
14786 &self.syntax
14787 }
14788}
14789impl AstNode for Enforced {
14790 #[inline]
14791 fn can_cast(kind: SyntaxKind) -> bool {
14792 kind == SyntaxKind::ENFORCED
14793 }
14794 #[inline]
14795 fn cast(syntax: SyntaxNode) -> Option<Self> {
14796 if Self::can_cast(syntax.kind()) {
14797 Some(Self { syntax })
14798 } else {
14799 None
14800 }
14801 }
14802 #[inline]
14803 fn syntax(&self) -> &SyntaxNode {
14804 &self.syntax
14805 }
14806}
14807impl AstNode for ExcludeConstraint {
14808 #[inline]
14809 fn can_cast(kind: SyntaxKind) -> bool {
14810 kind == SyntaxKind::EXCLUDE_CONSTRAINT
14811 }
14812 #[inline]
14813 fn cast(syntax: SyntaxNode) -> Option<Self> {
14814 if Self::can_cast(syntax.kind()) {
14815 Some(Self { syntax })
14816 } else {
14817 None
14818 }
14819 }
14820 #[inline]
14821 fn syntax(&self) -> &SyntaxNode {
14822 &self.syntax
14823 }
14824}
14825impl AstNode for Execute {
14826 #[inline]
14827 fn can_cast(kind: SyntaxKind) -> bool {
14828 kind == SyntaxKind::EXECUTE
14829 }
14830 #[inline]
14831 fn cast(syntax: SyntaxNode) -> Option<Self> {
14832 if Self::can_cast(syntax.kind()) {
14833 Some(Self { syntax })
14834 } else {
14835 None
14836 }
14837 }
14838 #[inline]
14839 fn syntax(&self) -> &SyntaxNode {
14840 &self.syntax
14841 }
14842}
14843impl AstNode for Explain {
14844 #[inline]
14845 fn can_cast(kind: SyntaxKind) -> bool {
14846 kind == SyntaxKind::EXPLAIN
14847 }
14848 #[inline]
14849 fn cast(syntax: SyntaxNode) -> Option<Self> {
14850 if Self::can_cast(syntax.kind()) {
14851 Some(Self { syntax })
14852 } else {
14853 None
14854 }
14855 }
14856 #[inline]
14857 fn syntax(&self) -> &SyntaxNode {
14858 &self.syntax
14859 }
14860}
14861impl AstNode for FatArrow {
14862 #[inline]
14863 fn can_cast(kind: SyntaxKind) -> bool {
14864 kind == SyntaxKind::FAT_ARROW
14865 }
14866 #[inline]
14867 fn cast(syntax: SyntaxNode) -> Option<Self> {
14868 if Self::can_cast(syntax.kind()) {
14869 Some(Self { syntax })
14870 } else {
14871 None
14872 }
14873 }
14874 #[inline]
14875 fn syntax(&self) -> &SyntaxNode {
14876 &self.syntax
14877 }
14878}
14879impl AstNode for Fetch {
14880 #[inline]
14881 fn can_cast(kind: SyntaxKind) -> bool {
14882 kind == SyntaxKind::FETCH
14883 }
14884 #[inline]
14885 fn cast(syntax: SyntaxNode) -> Option<Self> {
14886 if Self::can_cast(syntax.kind()) {
14887 Some(Self { syntax })
14888 } else {
14889 None
14890 }
14891 }
14892 #[inline]
14893 fn syntax(&self) -> &SyntaxNode {
14894 &self.syntax
14895 }
14896}
14897impl AstNode for FetchClause {
14898 #[inline]
14899 fn can_cast(kind: SyntaxKind) -> bool {
14900 kind == SyntaxKind::FETCH_CLAUSE
14901 }
14902 #[inline]
14903 fn cast(syntax: SyntaxNode) -> Option<Self> {
14904 if Self::can_cast(syntax.kind()) {
14905 Some(Self { syntax })
14906 } else {
14907 None
14908 }
14909 }
14910 #[inline]
14911 fn syntax(&self) -> &SyntaxNode {
14912 &self.syntax
14913 }
14914}
14915impl AstNode for FieldExpr {
14916 #[inline]
14917 fn can_cast(kind: SyntaxKind) -> bool {
14918 kind == SyntaxKind::FIELD_EXPR
14919 }
14920 #[inline]
14921 fn cast(syntax: SyntaxNode) -> Option<Self> {
14922 if Self::can_cast(syntax.kind()) {
14923 Some(Self { syntax })
14924 } else {
14925 None
14926 }
14927 }
14928 #[inline]
14929 fn syntax(&self) -> &SyntaxNode {
14930 &self.syntax
14931 }
14932}
14933impl AstNode for FilterClause {
14934 #[inline]
14935 fn can_cast(kind: SyntaxKind) -> bool {
14936 kind == SyntaxKind::FILTER_CLAUSE
14937 }
14938 #[inline]
14939 fn cast(syntax: SyntaxNode) -> Option<Self> {
14940 if Self::can_cast(syntax.kind()) {
14941 Some(Self { syntax })
14942 } else {
14943 None
14944 }
14945 }
14946 #[inline]
14947 fn syntax(&self) -> &SyntaxNode {
14948 &self.syntax
14949 }
14950}
14951impl AstNode for ForceRls {
14952 #[inline]
14953 fn can_cast(kind: SyntaxKind) -> bool {
14954 kind == SyntaxKind::FORCE_RLS
14955 }
14956 #[inline]
14957 fn cast(syntax: SyntaxNode) -> Option<Self> {
14958 if Self::can_cast(syntax.kind()) {
14959 Some(Self { syntax })
14960 } else {
14961 None
14962 }
14963 }
14964 #[inline]
14965 fn syntax(&self) -> &SyntaxNode {
14966 &self.syntax
14967 }
14968}
14969impl AstNode for ForeignKeyConstraint {
14970 #[inline]
14971 fn can_cast(kind: SyntaxKind) -> bool {
14972 kind == SyntaxKind::FOREIGN_KEY_CONSTRAINT
14973 }
14974 #[inline]
14975 fn cast(syntax: SyntaxNode) -> Option<Self> {
14976 if Self::can_cast(syntax.kind()) {
14977 Some(Self { syntax })
14978 } else {
14979 None
14980 }
14981 }
14982 #[inline]
14983 fn syntax(&self) -> &SyntaxNode {
14984 &self.syntax
14985 }
14986}
14987impl AstNode for FrameClause {
14988 #[inline]
14989 fn can_cast(kind: SyntaxKind) -> bool {
14990 kind == SyntaxKind::FRAME_CLAUSE
14991 }
14992 #[inline]
14993 fn cast(syntax: SyntaxNode) -> Option<Self> {
14994 if Self::can_cast(syntax.kind()) {
14995 Some(Self { syntax })
14996 } else {
14997 None
14998 }
14999 }
15000 #[inline]
15001 fn syntax(&self) -> &SyntaxNode {
15002 &self.syntax
15003 }
15004}
15005impl AstNode for FromClause {
15006 #[inline]
15007 fn can_cast(kind: SyntaxKind) -> bool {
15008 kind == SyntaxKind::FROM_CLAUSE
15009 }
15010 #[inline]
15011 fn cast(syntax: SyntaxNode) -> Option<Self> {
15012 if Self::can_cast(syntax.kind()) {
15013 Some(Self { syntax })
15014 } else {
15015 None
15016 }
15017 }
15018 #[inline]
15019 fn syntax(&self) -> &SyntaxNode {
15020 &self.syntax
15021 }
15022}
15023impl AstNode for FromItem {
15024 #[inline]
15025 fn can_cast(kind: SyntaxKind) -> bool {
15026 kind == SyntaxKind::FROM_ITEM
15027 }
15028 #[inline]
15029 fn cast(syntax: SyntaxNode) -> Option<Self> {
15030 if Self::can_cast(syntax.kind()) {
15031 Some(Self { syntax })
15032 } else {
15033 None
15034 }
15035 }
15036 #[inline]
15037 fn syntax(&self) -> &SyntaxNode {
15038 &self.syntax
15039 }
15040}
15041impl AstNode for FuncOptionList {
15042 #[inline]
15043 fn can_cast(kind: SyntaxKind) -> bool {
15044 kind == SyntaxKind::FUNC_OPTION_LIST
15045 }
15046 #[inline]
15047 fn cast(syntax: SyntaxNode) -> Option<Self> {
15048 if Self::can_cast(syntax.kind()) {
15049 Some(Self { syntax })
15050 } else {
15051 None
15052 }
15053 }
15054 #[inline]
15055 fn syntax(&self) -> &SyntaxNode {
15056 &self.syntax
15057 }
15058}
15059impl AstNode for GeneratedConstraint {
15060 #[inline]
15061 fn can_cast(kind: SyntaxKind) -> bool {
15062 kind == SyntaxKind::GENERATED_CONSTRAINT
15063 }
15064 #[inline]
15065 fn cast(syntax: SyntaxNode) -> Option<Self> {
15066 if Self::can_cast(syntax.kind()) {
15067 Some(Self { syntax })
15068 } else {
15069 None
15070 }
15071 }
15072 #[inline]
15073 fn syntax(&self) -> &SyntaxNode {
15074 &self.syntax
15075 }
15076}
15077impl AstNode for Grant {
15078 #[inline]
15079 fn can_cast(kind: SyntaxKind) -> bool {
15080 kind == SyntaxKind::GRANT
15081 }
15082 #[inline]
15083 fn cast(syntax: SyntaxNode) -> Option<Self> {
15084 if Self::can_cast(syntax.kind()) {
15085 Some(Self { syntax })
15086 } else {
15087 None
15088 }
15089 }
15090 #[inline]
15091 fn syntax(&self) -> &SyntaxNode {
15092 &self.syntax
15093 }
15094}
15095impl AstNode for GroupByClause {
15096 #[inline]
15097 fn can_cast(kind: SyntaxKind) -> bool {
15098 kind == SyntaxKind::GROUP_BY_CLAUSE
15099 }
15100 #[inline]
15101 fn cast(syntax: SyntaxNode) -> Option<Self> {
15102 if Self::can_cast(syntax.kind()) {
15103 Some(Self { syntax })
15104 } else {
15105 None
15106 }
15107 }
15108 #[inline]
15109 fn syntax(&self) -> &SyntaxNode {
15110 &self.syntax
15111 }
15112}
15113impl AstNode for GroupByList {
15114 #[inline]
15115 fn can_cast(kind: SyntaxKind) -> bool {
15116 kind == SyntaxKind::GROUP_BY_LIST
15117 }
15118 #[inline]
15119 fn cast(syntax: SyntaxNode) -> Option<Self> {
15120 if Self::can_cast(syntax.kind()) {
15121 Some(Self { syntax })
15122 } else {
15123 None
15124 }
15125 }
15126 #[inline]
15127 fn syntax(&self) -> &SyntaxNode {
15128 &self.syntax
15129 }
15130}
15131impl AstNode for GroupingCube {
15132 #[inline]
15133 fn can_cast(kind: SyntaxKind) -> bool {
15134 kind == SyntaxKind::GROUPING_CUBE
15135 }
15136 #[inline]
15137 fn cast(syntax: SyntaxNode) -> Option<Self> {
15138 if Self::can_cast(syntax.kind()) {
15139 Some(Self { syntax })
15140 } else {
15141 None
15142 }
15143 }
15144 #[inline]
15145 fn syntax(&self) -> &SyntaxNode {
15146 &self.syntax
15147 }
15148}
15149impl AstNode for GroupingExpr {
15150 #[inline]
15151 fn can_cast(kind: SyntaxKind) -> bool {
15152 kind == SyntaxKind::GROUPING_EXPR
15153 }
15154 #[inline]
15155 fn cast(syntax: SyntaxNode) -> Option<Self> {
15156 if Self::can_cast(syntax.kind()) {
15157 Some(Self { syntax })
15158 } else {
15159 None
15160 }
15161 }
15162 #[inline]
15163 fn syntax(&self) -> &SyntaxNode {
15164 &self.syntax
15165 }
15166}
15167impl AstNode for GroupingRollup {
15168 #[inline]
15169 fn can_cast(kind: SyntaxKind) -> bool {
15170 kind == SyntaxKind::GROUPING_ROLLUP
15171 }
15172 #[inline]
15173 fn cast(syntax: SyntaxNode) -> Option<Self> {
15174 if Self::can_cast(syntax.kind()) {
15175 Some(Self { syntax })
15176 } else {
15177 None
15178 }
15179 }
15180 #[inline]
15181 fn syntax(&self) -> &SyntaxNode {
15182 &self.syntax
15183 }
15184}
15185impl AstNode for GroupingSets {
15186 #[inline]
15187 fn can_cast(kind: SyntaxKind) -> bool {
15188 kind == SyntaxKind::GROUPING_SETS
15189 }
15190 #[inline]
15191 fn cast(syntax: SyntaxNode) -> Option<Self> {
15192 if Self::can_cast(syntax.kind()) {
15193 Some(Self { syntax })
15194 } else {
15195 None
15196 }
15197 }
15198 #[inline]
15199 fn syntax(&self) -> &SyntaxNode {
15200 &self.syntax
15201 }
15202}
15203impl AstNode for Gteq {
15204 #[inline]
15205 fn can_cast(kind: SyntaxKind) -> bool {
15206 kind == SyntaxKind::GTEQ
15207 }
15208 #[inline]
15209 fn cast(syntax: SyntaxNode) -> Option<Self> {
15210 if Self::can_cast(syntax.kind()) {
15211 Some(Self { syntax })
15212 } else {
15213 None
15214 }
15215 }
15216 #[inline]
15217 fn syntax(&self) -> &SyntaxNode {
15218 &self.syntax
15219 }
15220}
15221impl AstNode for HavingClause {
15222 #[inline]
15223 fn can_cast(kind: SyntaxKind) -> bool {
15224 kind == SyntaxKind::HAVING_CLAUSE
15225 }
15226 #[inline]
15227 fn cast(syntax: SyntaxNode) -> Option<Self> {
15228 if Self::can_cast(syntax.kind()) {
15229 Some(Self { syntax })
15230 } else {
15231 None
15232 }
15233 }
15234 #[inline]
15235 fn syntax(&self) -> &SyntaxNode {
15236 &self.syntax
15237 }
15238}
15239impl AstNode for IfExists {
15240 #[inline]
15241 fn can_cast(kind: SyntaxKind) -> bool {
15242 kind == SyntaxKind::IF_EXISTS
15243 }
15244 #[inline]
15245 fn cast(syntax: SyntaxNode) -> Option<Self> {
15246 if Self::can_cast(syntax.kind()) {
15247 Some(Self { syntax })
15248 } else {
15249 None
15250 }
15251 }
15252 #[inline]
15253 fn syntax(&self) -> &SyntaxNode {
15254 &self.syntax
15255 }
15256}
15257impl AstNode for IfNotExists {
15258 #[inline]
15259 fn can_cast(kind: SyntaxKind) -> bool {
15260 kind == SyntaxKind::IF_NOT_EXISTS
15261 }
15262 #[inline]
15263 fn cast(syntax: SyntaxNode) -> Option<Self> {
15264 if Self::can_cast(syntax.kind()) {
15265 Some(Self { syntax })
15266 } else {
15267 None
15268 }
15269 }
15270 #[inline]
15271 fn syntax(&self) -> &SyntaxNode {
15272 &self.syntax
15273 }
15274}
15275impl AstNode for ImportForeignSchema {
15276 #[inline]
15277 fn can_cast(kind: SyntaxKind) -> bool {
15278 kind == SyntaxKind::IMPORT_FOREIGN_SCHEMA
15279 }
15280 #[inline]
15281 fn cast(syntax: SyntaxNode) -> Option<Self> {
15282 if Self::can_cast(syntax.kind()) {
15283 Some(Self { syntax })
15284 } else {
15285 None
15286 }
15287 }
15288 #[inline]
15289 fn syntax(&self) -> &SyntaxNode {
15290 &self.syntax
15291 }
15292}
15293impl AstNode for IndexExpr {
15294 #[inline]
15295 fn can_cast(kind: SyntaxKind) -> bool {
15296 kind == SyntaxKind::INDEX_EXPR
15297 }
15298 #[inline]
15299 fn cast(syntax: SyntaxNode) -> Option<Self> {
15300 if Self::can_cast(syntax.kind()) {
15301 Some(Self { syntax })
15302 } else {
15303 None
15304 }
15305 }
15306 #[inline]
15307 fn syntax(&self) -> &SyntaxNode {
15308 &self.syntax
15309 }
15310}
15311impl AstNode for Inherit {
15312 #[inline]
15313 fn can_cast(kind: SyntaxKind) -> bool {
15314 kind == SyntaxKind::INHERIT
15315 }
15316 #[inline]
15317 fn cast(syntax: SyntaxNode) -> Option<Self> {
15318 if Self::can_cast(syntax.kind()) {
15319 Some(Self { syntax })
15320 } else {
15321 None
15322 }
15323 }
15324 #[inline]
15325 fn syntax(&self) -> &SyntaxNode {
15326 &self.syntax
15327 }
15328}
15329impl AstNode for Inherits {
15330 #[inline]
15331 fn can_cast(kind: SyntaxKind) -> bool {
15332 kind == SyntaxKind::INHERITS
15333 }
15334 #[inline]
15335 fn cast(syntax: SyntaxNode) -> Option<Self> {
15336 if Self::can_cast(syntax.kind()) {
15337 Some(Self { syntax })
15338 } else {
15339 None
15340 }
15341 }
15342 #[inline]
15343 fn syntax(&self) -> &SyntaxNode {
15344 &self.syntax
15345 }
15346}
15347impl AstNode for InitiallyDeferredConstraintOption {
15348 #[inline]
15349 fn can_cast(kind: SyntaxKind) -> bool {
15350 kind == SyntaxKind::INITIALLY_DEFERRED_CONSTRAINT_OPTION
15351 }
15352 #[inline]
15353 fn cast(syntax: SyntaxNode) -> Option<Self> {
15354 if Self::can_cast(syntax.kind()) {
15355 Some(Self { syntax })
15356 } else {
15357 None
15358 }
15359 }
15360 #[inline]
15361 fn syntax(&self) -> &SyntaxNode {
15362 &self.syntax
15363 }
15364}
15365impl AstNode for InitiallyImmediateConstraintOption {
15366 #[inline]
15367 fn can_cast(kind: SyntaxKind) -> bool {
15368 kind == SyntaxKind::INITIALLY_IMMEDIATE_CONSTRAINT_OPTION
15369 }
15370 #[inline]
15371 fn cast(syntax: SyntaxNode) -> Option<Self> {
15372 if Self::can_cast(syntax.kind()) {
15373 Some(Self { syntax })
15374 } else {
15375 None
15376 }
15377 }
15378 #[inline]
15379 fn syntax(&self) -> &SyntaxNode {
15380 &self.syntax
15381 }
15382}
15383impl AstNode for Insert {
15384 #[inline]
15385 fn can_cast(kind: SyntaxKind) -> bool {
15386 kind == SyntaxKind::INSERT
15387 }
15388 #[inline]
15389 fn cast(syntax: SyntaxNode) -> Option<Self> {
15390 if Self::can_cast(syntax.kind()) {
15391 Some(Self { syntax })
15392 } else {
15393 None
15394 }
15395 }
15396 #[inline]
15397 fn syntax(&self) -> &SyntaxNode {
15398 &self.syntax
15399 }
15400}
15401impl AstNode for IntervalType {
15402 #[inline]
15403 fn can_cast(kind: SyntaxKind) -> bool {
15404 kind == SyntaxKind::INTERVAL_TYPE
15405 }
15406 #[inline]
15407 fn cast(syntax: SyntaxNode) -> Option<Self> {
15408 if Self::can_cast(syntax.kind()) {
15409 Some(Self { syntax })
15410 } else {
15411 None
15412 }
15413 }
15414 #[inline]
15415 fn syntax(&self) -> &SyntaxNode {
15416 &self.syntax
15417 }
15418}
15419impl AstNode for IntoClause {
15420 #[inline]
15421 fn can_cast(kind: SyntaxKind) -> bool {
15422 kind == SyntaxKind::INTO_CLAUSE
15423 }
15424 #[inline]
15425 fn cast(syntax: SyntaxNode) -> Option<Self> {
15426 if Self::can_cast(syntax.kind()) {
15427 Some(Self { syntax })
15428 } else {
15429 None
15430 }
15431 }
15432 #[inline]
15433 fn syntax(&self) -> &SyntaxNode {
15434 &self.syntax
15435 }
15436}
15437impl AstNode for IsDistinctFrom {
15438 #[inline]
15439 fn can_cast(kind: SyntaxKind) -> bool {
15440 kind == SyntaxKind::IS_DISTINCT_FROM
15441 }
15442 #[inline]
15443 fn cast(syntax: SyntaxNode) -> Option<Self> {
15444 if Self::can_cast(syntax.kind()) {
15445 Some(Self { syntax })
15446 } else {
15447 None
15448 }
15449 }
15450 #[inline]
15451 fn syntax(&self) -> &SyntaxNode {
15452 &self.syntax
15453 }
15454}
15455impl AstNode for IsJson {
15456 #[inline]
15457 fn can_cast(kind: SyntaxKind) -> bool {
15458 kind == SyntaxKind::IS_JSON
15459 }
15460 #[inline]
15461 fn cast(syntax: SyntaxNode) -> Option<Self> {
15462 if Self::can_cast(syntax.kind()) {
15463 Some(Self { syntax })
15464 } else {
15465 None
15466 }
15467 }
15468 #[inline]
15469 fn syntax(&self) -> &SyntaxNode {
15470 &self.syntax
15471 }
15472}
15473impl AstNode for IsJsonArray {
15474 #[inline]
15475 fn can_cast(kind: SyntaxKind) -> bool {
15476 kind == SyntaxKind::IS_JSON_ARRAY
15477 }
15478 #[inline]
15479 fn cast(syntax: SyntaxNode) -> Option<Self> {
15480 if Self::can_cast(syntax.kind()) {
15481 Some(Self { syntax })
15482 } else {
15483 None
15484 }
15485 }
15486 #[inline]
15487 fn syntax(&self) -> &SyntaxNode {
15488 &self.syntax
15489 }
15490}
15491impl AstNode for IsJsonObject {
15492 #[inline]
15493 fn can_cast(kind: SyntaxKind) -> bool {
15494 kind == SyntaxKind::IS_JSON_OBJECT
15495 }
15496 #[inline]
15497 fn cast(syntax: SyntaxNode) -> Option<Self> {
15498 if Self::can_cast(syntax.kind()) {
15499 Some(Self { syntax })
15500 } else {
15501 None
15502 }
15503 }
15504 #[inline]
15505 fn syntax(&self) -> &SyntaxNode {
15506 &self.syntax
15507 }
15508}
15509impl AstNode for IsJsonScalar {
15510 #[inline]
15511 fn can_cast(kind: SyntaxKind) -> bool {
15512 kind == SyntaxKind::IS_JSON_SCALAR
15513 }
15514 #[inline]
15515 fn cast(syntax: SyntaxNode) -> Option<Self> {
15516 if Self::can_cast(syntax.kind()) {
15517 Some(Self { syntax })
15518 } else {
15519 None
15520 }
15521 }
15522 #[inline]
15523 fn syntax(&self) -> &SyntaxNode {
15524 &self.syntax
15525 }
15526}
15527impl AstNode for IsJsonValue {
15528 #[inline]
15529 fn can_cast(kind: SyntaxKind) -> bool {
15530 kind == SyntaxKind::IS_JSON_VALUE
15531 }
15532 #[inline]
15533 fn cast(syntax: SyntaxNode) -> Option<Self> {
15534 if Self::can_cast(syntax.kind()) {
15535 Some(Self { syntax })
15536 } else {
15537 None
15538 }
15539 }
15540 #[inline]
15541 fn syntax(&self) -> &SyntaxNode {
15542 &self.syntax
15543 }
15544}
15545impl AstNode for IsNormalized {
15546 #[inline]
15547 fn can_cast(kind: SyntaxKind) -> bool {
15548 kind == SyntaxKind::IS_NORMALIZED
15549 }
15550 #[inline]
15551 fn cast(syntax: SyntaxNode) -> Option<Self> {
15552 if Self::can_cast(syntax.kind()) {
15553 Some(Self { syntax })
15554 } else {
15555 None
15556 }
15557 }
15558 #[inline]
15559 fn syntax(&self) -> &SyntaxNode {
15560 &self.syntax
15561 }
15562}
15563impl AstNode for IsNot {
15564 #[inline]
15565 fn can_cast(kind: SyntaxKind) -> bool {
15566 kind == SyntaxKind::IS_NOT
15567 }
15568 #[inline]
15569 fn cast(syntax: SyntaxNode) -> Option<Self> {
15570 if Self::can_cast(syntax.kind()) {
15571 Some(Self { syntax })
15572 } else {
15573 None
15574 }
15575 }
15576 #[inline]
15577 fn syntax(&self) -> &SyntaxNode {
15578 &self.syntax
15579 }
15580}
15581impl AstNode for IsNotDistinctFrom {
15582 #[inline]
15583 fn can_cast(kind: SyntaxKind) -> bool {
15584 kind == SyntaxKind::IS_NOT_DISTINCT_FROM
15585 }
15586 #[inline]
15587 fn cast(syntax: SyntaxNode) -> Option<Self> {
15588 if Self::can_cast(syntax.kind()) {
15589 Some(Self { syntax })
15590 } else {
15591 None
15592 }
15593 }
15594 #[inline]
15595 fn syntax(&self) -> &SyntaxNode {
15596 &self.syntax
15597 }
15598}
15599impl AstNode for IsNotJson {
15600 #[inline]
15601 fn can_cast(kind: SyntaxKind) -> bool {
15602 kind == SyntaxKind::IS_NOT_JSON
15603 }
15604 #[inline]
15605 fn cast(syntax: SyntaxNode) -> Option<Self> {
15606 if Self::can_cast(syntax.kind()) {
15607 Some(Self { syntax })
15608 } else {
15609 None
15610 }
15611 }
15612 #[inline]
15613 fn syntax(&self) -> &SyntaxNode {
15614 &self.syntax
15615 }
15616}
15617impl AstNode for IsNotJsonArray {
15618 #[inline]
15619 fn can_cast(kind: SyntaxKind) -> bool {
15620 kind == SyntaxKind::IS_NOT_JSON_ARRAY
15621 }
15622 #[inline]
15623 fn cast(syntax: SyntaxNode) -> Option<Self> {
15624 if Self::can_cast(syntax.kind()) {
15625 Some(Self { syntax })
15626 } else {
15627 None
15628 }
15629 }
15630 #[inline]
15631 fn syntax(&self) -> &SyntaxNode {
15632 &self.syntax
15633 }
15634}
15635impl AstNode for IsNotJsonObject {
15636 #[inline]
15637 fn can_cast(kind: SyntaxKind) -> bool {
15638 kind == SyntaxKind::IS_NOT_JSON_OBJECT
15639 }
15640 #[inline]
15641 fn cast(syntax: SyntaxNode) -> Option<Self> {
15642 if Self::can_cast(syntax.kind()) {
15643 Some(Self { syntax })
15644 } else {
15645 None
15646 }
15647 }
15648 #[inline]
15649 fn syntax(&self) -> &SyntaxNode {
15650 &self.syntax
15651 }
15652}
15653impl AstNode for IsNotJsonScalar {
15654 #[inline]
15655 fn can_cast(kind: SyntaxKind) -> bool {
15656 kind == SyntaxKind::IS_NOT_JSON_SCALAR
15657 }
15658 #[inline]
15659 fn cast(syntax: SyntaxNode) -> Option<Self> {
15660 if Self::can_cast(syntax.kind()) {
15661 Some(Self { syntax })
15662 } else {
15663 None
15664 }
15665 }
15666 #[inline]
15667 fn syntax(&self) -> &SyntaxNode {
15668 &self.syntax
15669 }
15670}
15671impl AstNode for IsNotJsonValue {
15672 #[inline]
15673 fn can_cast(kind: SyntaxKind) -> bool {
15674 kind == SyntaxKind::IS_NOT_JSON_VALUE
15675 }
15676 #[inline]
15677 fn cast(syntax: SyntaxNode) -> Option<Self> {
15678 if Self::can_cast(syntax.kind()) {
15679 Some(Self { syntax })
15680 } else {
15681 None
15682 }
15683 }
15684 #[inline]
15685 fn syntax(&self) -> &SyntaxNode {
15686 &self.syntax
15687 }
15688}
15689impl AstNode for IsNotNormalized {
15690 #[inline]
15691 fn can_cast(kind: SyntaxKind) -> bool {
15692 kind == SyntaxKind::IS_NOT_NORMALIZED
15693 }
15694 #[inline]
15695 fn cast(syntax: SyntaxNode) -> Option<Self> {
15696 if Self::can_cast(syntax.kind()) {
15697 Some(Self { syntax })
15698 } else {
15699 None
15700 }
15701 }
15702 #[inline]
15703 fn syntax(&self) -> &SyntaxNode {
15704 &self.syntax
15705 }
15706}
15707impl AstNode for Join {
15708 #[inline]
15709 fn can_cast(kind: SyntaxKind) -> bool {
15710 kind == SyntaxKind::JOIN
15711 }
15712 #[inline]
15713 fn cast(syntax: SyntaxNode) -> Option<Self> {
15714 if Self::can_cast(syntax.kind()) {
15715 Some(Self { syntax })
15716 } else {
15717 None
15718 }
15719 }
15720 #[inline]
15721 fn syntax(&self) -> &SyntaxNode {
15722 &self.syntax
15723 }
15724}
15725impl AstNode for JoinCross {
15726 #[inline]
15727 fn can_cast(kind: SyntaxKind) -> bool {
15728 kind == SyntaxKind::JOIN_CROSS
15729 }
15730 #[inline]
15731 fn cast(syntax: SyntaxNode) -> Option<Self> {
15732 if Self::can_cast(syntax.kind()) {
15733 Some(Self { syntax })
15734 } else {
15735 None
15736 }
15737 }
15738 #[inline]
15739 fn syntax(&self) -> &SyntaxNode {
15740 &self.syntax
15741 }
15742}
15743impl AstNode for JoinExpr {
15744 #[inline]
15745 fn can_cast(kind: SyntaxKind) -> bool {
15746 kind == SyntaxKind::JOIN_EXPR
15747 }
15748 #[inline]
15749 fn cast(syntax: SyntaxNode) -> Option<Self> {
15750 if Self::can_cast(syntax.kind()) {
15751 Some(Self { syntax })
15752 } else {
15753 None
15754 }
15755 }
15756 #[inline]
15757 fn syntax(&self) -> &SyntaxNode {
15758 &self.syntax
15759 }
15760}
15761impl AstNode for JoinFull {
15762 #[inline]
15763 fn can_cast(kind: SyntaxKind) -> bool {
15764 kind == SyntaxKind::JOIN_FULL
15765 }
15766 #[inline]
15767 fn cast(syntax: SyntaxNode) -> Option<Self> {
15768 if Self::can_cast(syntax.kind()) {
15769 Some(Self { syntax })
15770 } else {
15771 None
15772 }
15773 }
15774 #[inline]
15775 fn syntax(&self) -> &SyntaxNode {
15776 &self.syntax
15777 }
15778}
15779impl AstNode for JoinInner {
15780 #[inline]
15781 fn can_cast(kind: SyntaxKind) -> bool {
15782 kind == SyntaxKind::JOIN_INNER
15783 }
15784 #[inline]
15785 fn cast(syntax: SyntaxNode) -> Option<Self> {
15786 if Self::can_cast(syntax.kind()) {
15787 Some(Self { syntax })
15788 } else {
15789 None
15790 }
15791 }
15792 #[inline]
15793 fn syntax(&self) -> &SyntaxNode {
15794 &self.syntax
15795 }
15796}
15797impl AstNode for JoinLeft {
15798 #[inline]
15799 fn can_cast(kind: SyntaxKind) -> bool {
15800 kind == SyntaxKind::JOIN_LEFT
15801 }
15802 #[inline]
15803 fn cast(syntax: SyntaxNode) -> Option<Self> {
15804 if Self::can_cast(syntax.kind()) {
15805 Some(Self { syntax })
15806 } else {
15807 None
15808 }
15809 }
15810 #[inline]
15811 fn syntax(&self) -> &SyntaxNode {
15812 &self.syntax
15813 }
15814}
15815impl AstNode for JoinRight {
15816 #[inline]
15817 fn can_cast(kind: SyntaxKind) -> bool {
15818 kind == SyntaxKind::JOIN_RIGHT
15819 }
15820 #[inline]
15821 fn cast(syntax: SyntaxNode) -> Option<Self> {
15822 if Self::can_cast(syntax.kind()) {
15823 Some(Self { syntax })
15824 } else {
15825 None
15826 }
15827 }
15828 #[inline]
15829 fn syntax(&self) -> &SyntaxNode {
15830 &self.syntax
15831 }
15832}
15833impl AstNode for JoinUsingClause {
15834 #[inline]
15835 fn can_cast(kind: SyntaxKind) -> bool {
15836 kind == SyntaxKind::JOIN_USING_CLAUSE
15837 }
15838 #[inline]
15839 fn cast(syntax: SyntaxNode) -> Option<Self> {
15840 if Self::can_cast(syntax.kind()) {
15841 Some(Self { syntax })
15842 } else {
15843 None
15844 }
15845 }
15846 #[inline]
15847 fn syntax(&self) -> &SyntaxNode {
15848 &self.syntax
15849 }
15850}
15851impl AstNode for JsonBehaviorDefault {
15852 #[inline]
15853 fn can_cast(kind: SyntaxKind) -> bool {
15854 kind == SyntaxKind::JSON_BEHAVIOR_DEFAULT
15855 }
15856 #[inline]
15857 fn cast(syntax: SyntaxNode) -> Option<Self> {
15858 if Self::can_cast(syntax.kind()) {
15859 Some(Self { syntax })
15860 } else {
15861 None
15862 }
15863 }
15864 #[inline]
15865 fn syntax(&self) -> &SyntaxNode {
15866 &self.syntax
15867 }
15868}
15869impl AstNode for JsonBehaviorEmptyArray {
15870 #[inline]
15871 fn can_cast(kind: SyntaxKind) -> bool {
15872 kind == SyntaxKind::JSON_BEHAVIOR_EMPTY_ARRAY
15873 }
15874 #[inline]
15875 fn cast(syntax: SyntaxNode) -> Option<Self> {
15876 if Self::can_cast(syntax.kind()) {
15877 Some(Self { syntax })
15878 } else {
15879 None
15880 }
15881 }
15882 #[inline]
15883 fn syntax(&self) -> &SyntaxNode {
15884 &self.syntax
15885 }
15886}
15887impl AstNode for JsonBehaviorEmptyObject {
15888 #[inline]
15889 fn can_cast(kind: SyntaxKind) -> bool {
15890 kind == SyntaxKind::JSON_BEHAVIOR_EMPTY_OBJECT
15891 }
15892 #[inline]
15893 fn cast(syntax: SyntaxNode) -> Option<Self> {
15894 if Self::can_cast(syntax.kind()) {
15895 Some(Self { syntax })
15896 } else {
15897 None
15898 }
15899 }
15900 #[inline]
15901 fn syntax(&self) -> &SyntaxNode {
15902 &self.syntax
15903 }
15904}
15905impl AstNode for JsonBehaviorError {
15906 #[inline]
15907 fn can_cast(kind: SyntaxKind) -> bool {
15908 kind == SyntaxKind::JSON_BEHAVIOR_ERROR
15909 }
15910 #[inline]
15911 fn cast(syntax: SyntaxNode) -> Option<Self> {
15912 if Self::can_cast(syntax.kind()) {
15913 Some(Self { syntax })
15914 } else {
15915 None
15916 }
15917 }
15918 #[inline]
15919 fn syntax(&self) -> &SyntaxNode {
15920 &self.syntax
15921 }
15922}
15923impl AstNode for JsonBehaviorFalse {
15924 #[inline]
15925 fn can_cast(kind: SyntaxKind) -> bool {
15926 kind == SyntaxKind::JSON_BEHAVIOR_FALSE
15927 }
15928 #[inline]
15929 fn cast(syntax: SyntaxNode) -> Option<Self> {
15930 if Self::can_cast(syntax.kind()) {
15931 Some(Self { syntax })
15932 } else {
15933 None
15934 }
15935 }
15936 #[inline]
15937 fn syntax(&self) -> &SyntaxNode {
15938 &self.syntax
15939 }
15940}
15941impl AstNode for JsonBehaviorNull {
15942 #[inline]
15943 fn can_cast(kind: SyntaxKind) -> bool {
15944 kind == SyntaxKind::JSON_BEHAVIOR_NULL
15945 }
15946 #[inline]
15947 fn cast(syntax: SyntaxNode) -> Option<Self> {
15948 if Self::can_cast(syntax.kind()) {
15949 Some(Self { syntax })
15950 } else {
15951 None
15952 }
15953 }
15954 #[inline]
15955 fn syntax(&self) -> &SyntaxNode {
15956 &self.syntax
15957 }
15958}
15959impl AstNode for JsonBehaviorTrue {
15960 #[inline]
15961 fn can_cast(kind: SyntaxKind) -> bool {
15962 kind == SyntaxKind::JSON_BEHAVIOR_TRUE
15963 }
15964 #[inline]
15965 fn cast(syntax: SyntaxNode) -> Option<Self> {
15966 if Self::can_cast(syntax.kind()) {
15967 Some(Self { syntax })
15968 } else {
15969 None
15970 }
15971 }
15972 #[inline]
15973 fn syntax(&self) -> &SyntaxNode {
15974 &self.syntax
15975 }
15976}
15977impl AstNode for JsonBehaviorUnknown {
15978 #[inline]
15979 fn can_cast(kind: SyntaxKind) -> bool {
15980 kind == SyntaxKind::JSON_BEHAVIOR_UNKNOWN
15981 }
15982 #[inline]
15983 fn cast(syntax: SyntaxNode) -> Option<Self> {
15984 if Self::can_cast(syntax.kind()) {
15985 Some(Self { syntax })
15986 } else {
15987 None
15988 }
15989 }
15990 #[inline]
15991 fn syntax(&self) -> &SyntaxNode {
15992 &self.syntax
15993 }
15994}
15995impl AstNode for JsonFormatClause {
15996 #[inline]
15997 fn can_cast(kind: SyntaxKind) -> bool {
15998 kind == SyntaxKind::JSON_FORMAT_CLAUSE
15999 }
16000 #[inline]
16001 fn cast(syntax: SyntaxNode) -> Option<Self> {
16002 if Self::can_cast(syntax.kind()) {
16003 Some(Self { syntax })
16004 } else {
16005 None
16006 }
16007 }
16008 #[inline]
16009 fn syntax(&self) -> &SyntaxNode {
16010 &self.syntax
16011 }
16012}
16013impl AstNode for JsonKeyValue {
16014 #[inline]
16015 fn can_cast(kind: SyntaxKind) -> bool {
16016 kind == SyntaxKind::JSON_KEY_VALUE
16017 }
16018 #[inline]
16019 fn cast(syntax: SyntaxNode) -> Option<Self> {
16020 if Self::can_cast(syntax.kind()) {
16021 Some(Self { syntax })
16022 } else {
16023 None
16024 }
16025 }
16026 #[inline]
16027 fn syntax(&self) -> &SyntaxNode {
16028 &self.syntax
16029 }
16030}
16031impl AstNode for JsonKeysUniqueClause {
16032 #[inline]
16033 fn can_cast(kind: SyntaxKind) -> bool {
16034 kind == SyntaxKind::JSON_KEYS_UNIQUE_CLAUSE
16035 }
16036 #[inline]
16037 fn cast(syntax: SyntaxNode) -> Option<Self> {
16038 if Self::can_cast(syntax.kind()) {
16039 Some(Self { syntax })
16040 } else {
16041 None
16042 }
16043 }
16044 #[inline]
16045 fn syntax(&self) -> &SyntaxNode {
16046 &self.syntax
16047 }
16048}
16049impl AstNode for JsonNullClause {
16050 #[inline]
16051 fn can_cast(kind: SyntaxKind) -> bool {
16052 kind == SyntaxKind::JSON_NULL_CLAUSE
16053 }
16054 #[inline]
16055 fn cast(syntax: SyntaxNode) -> Option<Self> {
16056 if Self::can_cast(syntax.kind()) {
16057 Some(Self { syntax })
16058 } else {
16059 None
16060 }
16061 }
16062 #[inline]
16063 fn syntax(&self) -> &SyntaxNode {
16064 &self.syntax
16065 }
16066}
16067impl AstNode for JsonOnEmptyClause {
16068 #[inline]
16069 fn can_cast(kind: SyntaxKind) -> bool {
16070 kind == SyntaxKind::JSON_ON_EMPTY_CLAUSE
16071 }
16072 #[inline]
16073 fn cast(syntax: SyntaxNode) -> Option<Self> {
16074 if Self::can_cast(syntax.kind()) {
16075 Some(Self { syntax })
16076 } else {
16077 None
16078 }
16079 }
16080 #[inline]
16081 fn syntax(&self) -> &SyntaxNode {
16082 &self.syntax
16083 }
16084}
16085impl AstNode for JsonOnErrorClause {
16086 #[inline]
16087 fn can_cast(kind: SyntaxKind) -> bool {
16088 kind == SyntaxKind::JSON_ON_ERROR_CLAUSE
16089 }
16090 #[inline]
16091 fn cast(syntax: SyntaxNode) -> Option<Self> {
16092 if Self::can_cast(syntax.kind()) {
16093 Some(Self { syntax })
16094 } else {
16095 None
16096 }
16097 }
16098 #[inline]
16099 fn syntax(&self) -> &SyntaxNode {
16100 &self.syntax
16101 }
16102}
16103impl AstNode for JsonPassingArg {
16104 #[inline]
16105 fn can_cast(kind: SyntaxKind) -> bool {
16106 kind == SyntaxKind::JSON_PASSING_ARG
16107 }
16108 #[inline]
16109 fn cast(syntax: SyntaxNode) -> Option<Self> {
16110 if Self::can_cast(syntax.kind()) {
16111 Some(Self { syntax })
16112 } else {
16113 None
16114 }
16115 }
16116 #[inline]
16117 fn syntax(&self) -> &SyntaxNode {
16118 &self.syntax
16119 }
16120}
16121impl AstNode for JsonPassingClause {
16122 #[inline]
16123 fn can_cast(kind: SyntaxKind) -> bool {
16124 kind == SyntaxKind::JSON_PASSING_CLAUSE
16125 }
16126 #[inline]
16127 fn cast(syntax: SyntaxNode) -> Option<Self> {
16128 if Self::can_cast(syntax.kind()) {
16129 Some(Self { syntax })
16130 } else {
16131 None
16132 }
16133 }
16134 #[inline]
16135 fn syntax(&self) -> &SyntaxNode {
16136 &self.syntax
16137 }
16138}
16139impl AstNode for JsonQuotesClause {
16140 #[inline]
16141 fn can_cast(kind: SyntaxKind) -> bool {
16142 kind == SyntaxKind::JSON_QUOTES_CLAUSE
16143 }
16144 #[inline]
16145 fn cast(syntax: SyntaxNode) -> Option<Self> {
16146 if Self::can_cast(syntax.kind()) {
16147 Some(Self { syntax })
16148 } else {
16149 None
16150 }
16151 }
16152 #[inline]
16153 fn syntax(&self) -> &SyntaxNode {
16154 &self.syntax
16155 }
16156}
16157impl AstNode for JsonReturningClause {
16158 #[inline]
16159 fn can_cast(kind: SyntaxKind) -> bool {
16160 kind == SyntaxKind::JSON_RETURNING_CLAUSE
16161 }
16162 #[inline]
16163 fn cast(syntax: SyntaxNode) -> Option<Self> {
16164 if Self::can_cast(syntax.kind()) {
16165 Some(Self { syntax })
16166 } else {
16167 None
16168 }
16169 }
16170 #[inline]
16171 fn syntax(&self) -> &SyntaxNode {
16172 &self.syntax
16173 }
16174}
16175impl AstNode for JsonTableColumn {
16176 #[inline]
16177 fn can_cast(kind: SyntaxKind) -> bool {
16178 kind == SyntaxKind::JSON_TABLE_COLUMN
16179 }
16180 #[inline]
16181 fn cast(syntax: SyntaxNode) -> Option<Self> {
16182 if Self::can_cast(syntax.kind()) {
16183 Some(Self { syntax })
16184 } else {
16185 None
16186 }
16187 }
16188 #[inline]
16189 fn syntax(&self) -> &SyntaxNode {
16190 &self.syntax
16191 }
16192}
16193impl AstNode for JsonTableColumnList {
16194 #[inline]
16195 fn can_cast(kind: SyntaxKind) -> bool {
16196 kind == SyntaxKind::JSON_TABLE_COLUMN_LIST
16197 }
16198 #[inline]
16199 fn cast(syntax: SyntaxNode) -> Option<Self> {
16200 if Self::can_cast(syntax.kind()) {
16201 Some(Self { syntax })
16202 } else {
16203 None
16204 }
16205 }
16206 #[inline]
16207 fn syntax(&self) -> &SyntaxNode {
16208 &self.syntax
16209 }
16210}
16211impl AstNode for JsonValueExpr {
16212 #[inline]
16213 fn can_cast(kind: SyntaxKind) -> bool {
16214 kind == SyntaxKind::JSON_VALUE_EXPR
16215 }
16216 #[inline]
16217 fn cast(syntax: SyntaxNode) -> Option<Self> {
16218 if Self::can_cast(syntax.kind()) {
16219 Some(Self { syntax })
16220 } else {
16221 None
16222 }
16223 }
16224 #[inline]
16225 fn syntax(&self) -> &SyntaxNode {
16226 &self.syntax
16227 }
16228}
16229impl AstNode for JsonWrapperBehaviorClause {
16230 #[inline]
16231 fn can_cast(kind: SyntaxKind) -> bool {
16232 kind == SyntaxKind::JSON_WRAPPER_BEHAVIOR_CLAUSE
16233 }
16234 #[inline]
16235 fn cast(syntax: SyntaxNode) -> Option<Self> {
16236 if Self::can_cast(syntax.kind()) {
16237 Some(Self { syntax })
16238 } else {
16239 None
16240 }
16241 }
16242 #[inline]
16243 fn syntax(&self) -> &SyntaxNode {
16244 &self.syntax
16245 }
16246}
16247impl AstNode for LanguageFuncOption {
16248 #[inline]
16249 fn can_cast(kind: SyntaxKind) -> bool {
16250 kind == SyntaxKind::LANGUAGE_FUNC_OPTION
16251 }
16252 #[inline]
16253 fn cast(syntax: SyntaxNode) -> Option<Self> {
16254 if Self::can_cast(syntax.kind()) {
16255 Some(Self { syntax })
16256 } else {
16257 None
16258 }
16259 }
16260 #[inline]
16261 fn syntax(&self) -> &SyntaxNode {
16262 &self.syntax
16263 }
16264}
16265impl AstNode for LeakproofFuncOption {
16266 #[inline]
16267 fn can_cast(kind: SyntaxKind) -> bool {
16268 kind == SyntaxKind::LEAKPROOF_FUNC_OPTION
16269 }
16270 #[inline]
16271 fn cast(syntax: SyntaxNode) -> Option<Self> {
16272 if Self::can_cast(syntax.kind()) {
16273 Some(Self { syntax })
16274 } else {
16275 None
16276 }
16277 }
16278 #[inline]
16279 fn syntax(&self) -> &SyntaxNode {
16280 &self.syntax
16281 }
16282}
16283impl AstNode for LikeClause {
16284 #[inline]
16285 fn can_cast(kind: SyntaxKind) -> bool {
16286 kind == SyntaxKind::LIKE_CLAUSE
16287 }
16288 #[inline]
16289 fn cast(syntax: SyntaxNode) -> Option<Self> {
16290 if Self::can_cast(syntax.kind()) {
16291 Some(Self { syntax })
16292 } else {
16293 None
16294 }
16295 }
16296 #[inline]
16297 fn syntax(&self) -> &SyntaxNode {
16298 &self.syntax
16299 }
16300}
16301impl AstNode for LikeOption {
16302 #[inline]
16303 fn can_cast(kind: SyntaxKind) -> bool {
16304 kind == SyntaxKind::LIKE_OPTION
16305 }
16306 #[inline]
16307 fn cast(syntax: SyntaxNode) -> Option<Self> {
16308 if Self::can_cast(syntax.kind()) {
16309 Some(Self { syntax })
16310 } else {
16311 None
16312 }
16313 }
16314 #[inline]
16315 fn syntax(&self) -> &SyntaxNode {
16316 &self.syntax
16317 }
16318}
16319impl AstNode for LimitClause {
16320 #[inline]
16321 fn can_cast(kind: SyntaxKind) -> bool {
16322 kind == SyntaxKind::LIMIT_CLAUSE
16323 }
16324 #[inline]
16325 fn cast(syntax: SyntaxNode) -> Option<Self> {
16326 if Self::can_cast(syntax.kind()) {
16327 Some(Self { syntax })
16328 } else {
16329 None
16330 }
16331 }
16332 #[inline]
16333 fn syntax(&self) -> &SyntaxNode {
16334 &self.syntax
16335 }
16336}
16337impl AstNode for Listen {
16338 #[inline]
16339 fn can_cast(kind: SyntaxKind) -> bool {
16340 kind == SyntaxKind::LISTEN
16341 }
16342 #[inline]
16343 fn cast(syntax: SyntaxNode) -> Option<Self> {
16344 if Self::can_cast(syntax.kind()) {
16345 Some(Self { syntax })
16346 } else {
16347 None
16348 }
16349 }
16350 #[inline]
16351 fn syntax(&self) -> &SyntaxNode {
16352 &self.syntax
16353 }
16354}
16355impl AstNode for Literal {
16356 #[inline]
16357 fn can_cast(kind: SyntaxKind) -> bool {
16358 kind == SyntaxKind::LITERAL
16359 }
16360 #[inline]
16361 fn cast(syntax: SyntaxNode) -> Option<Self> {
16362 if Self::can_cast(syntax.kind()) {
16363 Some(Self { syntax })
16364 } else {
16365 None
16366 }
16367 }
16368 #[inline]
16369 fn syntax(&self) -> &SyntaxNode {
16370 &self.syntax
16371 }
16372}
16373impl AstNode for Load {
16374 #[inline]
16375 fn can_cast(kind: SyntaxKind) -> bool {
16376 kind == SyntaxKind::LOAD
16377 }
16378 #[inline]
16379 fn cast(syntax: SyntaxNode) -> Option<Self> {
16380 if Self::can_cast(syntax.kind()) {
16381 Some(Self { syntax })
16382 } else {
16383 None
16384 }
16385 }
16386 #[inline]
16387 fn syntax(&self) -> &SyntaxNode {
16388 &self.syntax
16389 }
16390}
16391impl AstNode for Lock {
16392 #[inline]
16393 fn can_cast(kind: SyntaxKind) -> bool {
16394 kind == SyntaxKind::LOCK
16395 }
16396 #[inline]
16397 fn cast(syntax: SyntaxNode) -> Option<Self> {
16398 if Self::can_cast(syntax.kind()) {
16399 Some(Self { syntax })
16400 } else {
16401 None
16402 }
16403 }
16404 #[inline]
16405 fn syntax(&self) -> &SyntaxNode {
16406 &self.syntax
16407 }
16408}
16409impl AstNode for LockingClause {
16410 #[inline]
16411 fn can_cast(kind: SyntaxKind) -> bool {
16412 kind == SyntaxKind::LOCKING_CLAUSE
16413 }
16414 #[inline]
16415 fn cast(syntax: SyntaxNode) -> Option<Self> {
16416 if Self::can_cast(syntax.kind()) {
16417 Some(Self { syntax })
16418 } else {
16419 None
16420 }
16421 }
16422 #[inline]
16423 fn syntax(&self) -> &SyntaxNode {
16424 &self.syntax
16425 }
16426}
16427impl AstNode for Lteq {
16428 #[inline]
16429 fn can_cast(kind: SyntaxKind) -> bool {
16430 kind == SyntaxKind::LTEQ
16431 }
16432 #[inline]
16433 fn cast(syntax: SyntaxNode) -> Option<Self> {
16434 if Self::can_cast(syntax.kind()) {
16435 Some(Self { syntax })
16436 } else {
16437 None
16438 }
16439 }
16440 #[inline]
16441 fn syntax(&self) -> &SyntaxNode {
16442 &self.syntax
16443 }
16444}
16445impl AstNode for MatchFull {
16446 #[inline]
16447 fn can_cast(kind: SyntaxKind) -> bool {
16448 kind == SyntaxKind::MATCH_FULL
16449 }
16450 #[inline]
16451 fn cast(syntax: SyntaxNode) -> Option<Self> {
16452 if Self::can_cast(syntax.kind()) {
16453 Some(Self { syntax })
16454 } else {
16455 None
16456 }
16457 }
16458 #[inline]
16459 fn syntax(&self) -> &SyntaxNode {
16460 &self.syntax
16461 }
16462}
16463impl AstNode for MatchPartial {
16464 #[inline]
16465 fn can_cast(kind: SyntaxKind) -> bool {
16466 kind == SyntaxKind::MATCH_PARTIAL
16467 }
16468 #[inline]
16469 fn cast(syntax: SyntaxNode) -> Option<Self> {
16470 if Self::can_cast(syntax.kind()) {
16471 Some(Self { syntax })
16472 } else {
16473 None
16474 }
16475 }
16476 #[inline]
16477 fn syntax(&self) -> &SyntaxNode {
16478 &self.syntax
16479 }
16480}
16481impl AstNode for MatchSimple {
16482 #[inline]
16483 fn can_cast(kind: SyntaxKind) -> bool {
16484 kind == SyntaxKind::MATCH_SIMPLE
16485 }
16486 #[inline]
16487 fn cast(syntax: SyntaxNode) -> Option<Self> {
16488 if Self::can_cast(syntax.kind()) {
16489 Some(Self { syntax })
16490 } else {
16491 None
16492 }
16493 }
16494 #[inline]
16495 fn syntax(&self) -> &SyntaxNode {
16496 &self.syntax
16497 }
16498}
16499impl AstNode for Materialized {
16500 #[inline]
16501 fn can_cast(kind: SyntaxKind) -> bool {
16502 kind == SyntaxKind::MATERIALIZED
16503 }
16504 #[inline]
16505 fn cast(syntax: SyntaxNode) -> Option<Self> {
16506 if Self::can_cast(syntax.kind()) {
16507 Some(Self { syntax })
16508 } else {
16509 None
16510 }
16511 }
16512 #[inline]
16513 fn syntax(&self) -> &SyntaxNode {
16514 &self.syntax
16515 }
16516}
16517impl AstNode for Merge {
16518 #[inline]
16519 fn can_cast(kind: SyntaxKind) -> bool {
16520 kind == SyntaxKind::MERGE
16521 }
16522 #[inline]
16523 fn cast(syntax: SyntaxNode) -> Option<Self> {
16524 if Self::can_cast(syntax.kind()) {
16525 Some(Self { syntax })
16526 } else {
16527 None
16528 }
16529 }
16530 #[inline]
16531 fn syntax(&self) -> &SyntaxNode {
16532 &self.syntax
16533 }
16534}
16535impl AstNode for MergeDelete {
16536 #[inline]
16537 fn can_cast(kind: SyntaxKind) -> bool {
16538 kind == SyntaxKind::MERGE_DELETE
16539 }
16540 #[inline]
16541 fn cast(syntax: SyntaxNode) -> Option<Self> {
16542 if Self::can_cast(syntax.kind()) {
16543 Some(Self { syntax })
16544 } else {
16545 None
16546 }
16547 }
16548 #[inline]
16549 fn syntax(&self) -> &SyntaxNode {
16550 &self.syntax
16551 }
16552}
16553impl AstNode for MergeDoNothing {
16554 #[inline]
16555 fn can_cast(kind: SyntaxKind) -> bool {
16556 kind == SyntaxKind::MERGE_DO_NOTHING
16557 }
16558 #[inline]
16559 fn cast(syntax: SyntaxNode) -> Option<Self> {
16560 if Self::can_cast(syntax.kind()) {
16561 Some(Self { syntax })
16562 } else {
16563 None
16564 }
16565 }
16566 #[inline]
16567 fn syntax(&self) -> &SyntaxNode {
16568 &self.syntax
16569 }
16570}
16571impl AstNode for MergeInsert {
16572 #[inline]
16573 fn can_cast(kind: SyntaxKind) -> bool {
16574 kind == SyntaxKind::MERGE_INSERT
16575 }
16576 #[inline]
16577 fn cast(syntax: SyntaxNode) -> Option<Self> {
16578 if Self::can_cast(syntax.kind()) {
16579 Some(Self { syntax })
16580 } else {
16581 None
16582 }
16583 }
16584 #[inline]
16585 fn syntax(&self) -> &SyntaxNode {
16586 &self.syntax
16587 }
16588}
16589impl AstNode for MergeUpdate {
16590 #[inline]
16591 fn can_cast(kind: SyntaxKind) -> bool {
16592 kind == SyntaxKind::MERGE_UPDATE
16593 }
16594 #[inline]
16595 fn cast(syntax: SyntaxNode) -> Option<Self> {
16596 if Self::can_cast(syntax.kind()) {
16597 Some(Self { syntax })
16598 } else {
16599 None
16600 }
16601 }
16602 #[inline]
16603 fn syntax(&self) -> &SyntaxNode {
16604 &self.syntax
16605 }
16606}
16607impl AstNode for MergeWhenMatched {
16608 #[inline]
16609 fn can_cast(kind: SyntaxKind) -> bool {
16610 kind == SyntaxKind::MERGE_WHEN_MATCHED
16611 }
16612 #[inline]
16613 fn cast(syntax: SyntaxNode) -> Option<Self> {
16614 if Self::can_cast(syntax.kind()) {
16615 Some(Self { syntax })
16616 } else {
16617 None
16618 }
16619 }
16620 #[inline]
16621 fn syntax(&self) -> &SyntaxNode {
16622 &self.syntax
16623 }
16624}
16625impl AstNode for MergeWhenNotMatchedSource {
16626 #[inline]
16627 fn can_cast(kind: SyntaxKind) -> bool {
16628 kind == SyntaxKind::MERGE_WHEN_NOT_MATCHED_SOURCE
16629 }
16630 #[inline]
16631 fn cast(syntax: SyntaxNode) -> Option<Self> {
16632 if Self::can_cast(syntax.kind()) {
16633 Some(Self { syntax })
16634 } else {
16635 None
16636 }
16637 }
16638 #[inline]
16639 fn syntax(&self) -> &SyntaxNode {
16640 &self.syntax
16641 }
16642}
16643impl AstNode for MergeWhenNotMatchedTarget {
16644 #[inline]
16645 fn can_cast(kind: SyntaxKind) -> bool {
16646 kind == SyntaxKind::MERGE_WHEN_NOT_MATCHED_TARGET
16647 }
16648 #[inline]
16649 fn cast(syntax: SyntaxNode) -> Option<Self> {
16650 if Self::can_cast(syntax.kind()) {
16651 Some(Self { syntax })
16652 } else {
16653 None
16654 }
16655 }
16656 #[inline]
16657 fn syntax(&self) -> &SyntaxNode {
16658 &self.syntax
16659 }
16660}
16661impl AstNode for Move {
16662 #[inline]
16663 fn can_cast(kind: SyntaxKind) -> bool {
16664 kind == SyntaxKind::MOVE
16665 }
16666 #[inline]
16667 fn cast(syntax: SyntaxNode) -> Option<Self> {
16668 if Self::can_cast(syntax.kind()) {
16669 Some(Self { syntax })
16670 } else {
16671 None
16672 }
16673 }
16674 #[inline]
16675 fn syntax(&self) -> &SyntaxNode {
16676 &self.syntax
16677 }
16678}
16679impl AstNode for Name {
16680 #[inline]
16681 fn can_cast(kind: SyntaxKind) -> bool {
16682 kind == SyntaxKind::NAME
16683 }
16684 #[inline]
16685 fn cast(syntax: SyntaxNode) -> Option<Self> {
16686 if Self::can_cast(syntax.kind()) {
16687 Some(Self { syntax })
16688 } else {
16689 None
16690 }
16691 }
16692 #[inline]
16693 fn syntax(&self) -> &SyntaxNode {
16694 &self.syntax
16695 }
16696}
16697impl AstNode for NameRef {
16698 #[inline]
16699 fn can_cast(kind: SyntaxKind) -> bool {
16700 kind == SyntaxKind::NAME_REF
16701 }
16702 #[inline]
16703 fn cast(syntax: SyntaxNode) -> Option<Self> {
16704 if Self::can_cast(syntax.kind()) {
16705 Some(Self { syntax })
16706 } else {
16707 None
16708 }
16709 }
16710 #[inline]
16711 fn syntax(&self) -> &SyntaxNode {
16712 &self.syntax
16713 }
16714}
16715impl AstNode for NamedArg {
16716 #[inline]
16717 fn can_cast(kind: SyntaxKind) -> bool {
16718 kind == SyntaxKind::NAMED_ARG
16719 }
16720 #[inline]
16721 fn cast(syntax: SyntaxNode) -> Option<Self> {
16722 if Self::can_cast(syntax.kind()) {
16723 Some(Self { syntax })
16724 } else {
16725 None
16726 }
16727 }
16728 #[inline]
16729 fn syntax(&self) -> &SyntaxNode {
16730 &self.syntax
16731 }
16732}
16733impl AstNode for Neq {
16734 #[inline]
16735 fn can_cast(kind: SyntaxKind) -> bool {
16736 kind == SyntaxKind::NEQ
16737 }
16738 #[inline]
16739 fn cast(syntax: SyntaxNode) -> Option<Self> {
16740 if Self::can_cast(syntax.kind()) {
16741 Some(Self { syntax })
16742 } else {
16743 None
16744 }
16745 }
16746 #[inline]
16747 fn syntax(&self) -> &SyntaxNode {
16748 &self.syntax
16749 }
16750}
16751impl AstNode for Neqb {
16752 #[inline]
16753 fn can_cast(kind: SyntaxKind) -> bool {
16754 kind == SyntaxKind::NEQB
16755 }
16756 #[inline]
16757 fn cast(syntax: SyntaxNode) -> Option<Self> {
16758 if Self::can_cast(syntax.kind()) {
16759 Some(Self { syntax })
16760 } else {
16761 None
16762 }
16763 }
16764 #[inline]
16765 fn syntax(&self) -> &SyntaxNode {
16766 &self.syntax
16767 }
16768}
16769impl AstNode for NoAction {
16770 #[inline]
16771 fn can_cast(kind: SyntaxKind) -> bool {
16772 kind == SyntaxKind::NO_ACTION
16773 }
16774 #[inline]
16775 fn cast(syntax: SyntaxNode) -> Option<Self> {
16776 if Self::can_cast(syntax.kind()) {
16777 Some(Self { syntax })
16778 } else {
16779 None
16780 }
16781 }
16782 #[inline]
16783 fn syntax(&self) -> &SyntaxNode {
16784 &self.syntax
16785 }
16786}
16787impl AstNode for NoForceRls {
16788 #[inline]
16789 fn can_cast(kind: SyntaxKind) -> bool {
16790 kind == SyntaxKind::NO_FORCE_RLS
16791 }
16792 #[inline]
16793 fn cast(syntax: SyntaxNode) -> Option<Self> {
16794 if Self::can_cast(syntax.kind()) {
16795 Some(Self { syntax })
16796 } else {
16797 None
16798 }
16799 }
16800 #[inline]
16801 fn syntax(&self) -> &SyntaxNode {
16802 &self.syntax
16803 }
16804}
16805impl AstNode for NoInherit {
16806 #[inline]
16807 fn can_cast(kind: SyntaxKind) -> bool {
16808 kind == SyntaxKind::NO_INHERIT
16809 }
16810 #[inline]
16811 fn cast(syntax: SyntaxNode) -> Option<Self> {
16812 if Self::can_cast(syntax.kind()) {
16813 Some(Self { syntax })
16814 } else {
16815 None
16816 }
16817 }
16818 #[inline]
16819 fn syntax(&self) -> &SyntaxNode {
16820 &self.syntax
16821 }
16822}
16823impl AstNode for NonStandardParam {
16824 #[inline]
16825 fn can_cast(kind: SyntaxKind) -> bool {
16826 kind == SyntaxKind::NON_STANDARD_PARAM
16827 }
16828 #[inline]
16829 fn cast(syntax: SyntaxNode) -> Option<Self> {
16830 if Self::can_cast(syntax.kind()) {
16831 Some(Self { syntax })
16832 } else {
16833 None
16834 }
16835 }
16836 #[inline]
16837 fn syntax(&self) -> &SyntaxNode {
16838 &self.syntax
16839 }
16840}
16841impl AstNode for NotDeferrable {
16842 #[inline]
16843 fn can_cast(kind: SyntaxKind) -> bool {
16844 kind == SyntaxKind::NOT_DEFERRABLE
16845 }
16846 #[inline]
16847 fn cast(syntax: SyntaxNode) -> Option<Self> {
16848 if Self::can_cast(syntax.kind()) {
16849 Some(Self { syntax })
16850 } else {
16851 None
16852 }
16853 }
16854 #[inline]
16855 fn syntax(&self) -> &SyntaxNode {
16856 &self.syntax
16857 }
16858}
16859impl AstNode for NotDeferrableConstraintOption {
16860 #[inline]
16861 fn can_cast(kind: SyntaxKind) -> bool {
16862 kind == SyntaxKind::NOT_DEFERRABLE_CONSTRAINT_OPTION
16863 }
16864 #[inline]
16865 fn cast(syntax: SyntaxNode) -> Option<Self> {
16866 if Self::can_cast(syntax.kind()) {
16867 Some(Self { syntax })
16868 } else {
16869 None
16870 }
16871 }
16872 #[inline]
16873 fn syntax(&self) -> &SyntaxNode {
16874 &self.syntax
16875 }
16876}
16877impl AstNode for NotEnforced {
16878 #[inline]
16879 fn can_cast(kind: SyntaxKind) -> bool {
16880 kind == SyntaxKind::NOT_ENFORCED
16881 }
16882 #[inline]
16883 fn cast(syntax: SyntaxNode) -> Option<Self> {
16884 if Self::can_cast(syntax.kind()) {
16885 Some(Self { syntax })
16886 } else {
16887 None
16888 }
16889 }
16890 #[inline]
16891 fn syntax(&self) -> &SyntaxNode {
16892 &self.syntax
16893 }
16894}
16895impl AstNode for NotIlike {
16896 #[inline]
16897 fn can_cast(kind: SyntaxKind) -> bool {
16898 kind == SyntaxKind::NOT_ILIKE
16899 }
16900 #[inline]
16901 fn cast(syntax: SyntaxNode) -> Option<Self> {
16902 if Self::can_cast(syntax.kind()) {
16903 Some(Self { syntax })
16904 } else {
16905 None
16906 }
16907 }
16908 #[inline]
16909 fn syntax(&self) -> &SyntaxNode {
16910 &self.syntax
16911 }
16912}
16913impl AstNode for NotIn {
16914 #[inline]
16915 fn can_cast(kind: SyntaxKind) -> bool {
16916 kind == SyntaxKind::NOT_IN
16917 }
16918 #[inline]
16919 fn cast(syntax: SyntaxNode) -> Option<Self> {
16920 if Self::can_cast(syntax.kind()) {
16921 Some(Self { syntax })
16922 } else {
16923 None
16924 }
16925 }
16926 #[inline]
16927 fn syntax(&self) -> &SyntaxNode {
16928 &self.syntax
16929 }
16930}
16931impl AstNode for NotLike {
16932 #[inline]
16933 fn can_cast(kind: SyntaxKind) -> bool {
16934 kind == SyntaxKind::NOT_LIKE
16935 }
16936 #[inline]
16937 fn cast(syntax: SyntaxNode) -> Option<Self> {
16938 if Self::can_cast(syntax.kind()) {
16939 Some(Self { syntax })
16940 } else {
16941 None
16942 }
16943 }
16944 #[inline]
16945 fn syntax(&self) -> &SyntaxNode {
16946 &self.syntax
16947 }
16948}
16949impl AstNode for NotMaterialized {
16950 #[inline]
16951 fn can_cast(kind: SyntaxKind) -> bool {
16952 kind == SyntaxKind::NOT_MATERIALIZED
16953 }
16954 #[inline]
16955 fn cast(syntax: SyntaxNode) -> Option<Self> {
16956 if Self::can_cast(syntax.kind()) {
16957 Some(Self { syntax })
16958 } else {
16959 None
16960 }
16961 }
16962 #[inline]
16963 fn syntax(&self) -> &SyntaxNode {
16964 &self.syntax
16965 }
16966}
16967impl AstNode for NotNullConstraint {
16968 #[inline]
16969 fn can_cast(kind: SyntaxKind) -> bool {
16970 kind == SyntaxKind::NOT_NULL_CONSTRAINT
16971 }
16972 #[inline]
16973 fn cast(syntax: SyntaxNode) -> Option<Self> {
16974 if Self::can_cast(syntax.kind()) {
16975 Some(Self { syntax })
16976 } else {
16977 None
16978 }
16979 }
16980 #[inline]
16981 fn syntax(&self) -> &SyntaxNode {
16982 &self.syntax
16983 }
16984}
16985impl AstNode for NotOf {
16986 #[inline]
16987 fn can_cast(kind: SyntaxKind) -> bool {
16988 kind == SyntaxKind::NOT_OF
16989 }
16990 #[inline]
16991 fn cast(syntax: SyntaxNode) -> Option<Self> {
16992 if Self::can_cast(syntax.kind()) {
16993 Some(Self { syntax })
16994 } else {
16995 None
16996 }
16997 }
16998 #[inline]
16999 fn syntax(&self) -> &SyntaxNode {
17000 &self.syntax
17001 }
17002}
17003impl AstNode for NotSimilarTo {
17004 #[inline]
17005 fn can_cast(kind: SyntaxKind) -> bool {
17006 kind == SyntaxKind::NOT_SIMILAR_TO
17007 }
17008 #[inline]
17009 fn cast(syntax: SyntaxNode) -> Option<Self> {
17010 if Self::can_cast(syntax.kind()) {
17011 Some(Self { syntax })
17012 } else {
17013 None
17014 }
17015 }
17016 #[inline]
17017 fn syntax(&self) -> &SyntaxNode {
17018 &self.syntax
17019 }
17020}
17021impl AstNode for NotValid {
17022 #[inline]
17023 fn can_cast(kind: SyntaxKind) -> bool {
17024 kind == SyntaxKind::NOT_VALID
17025 }
17026 #[inline]
17027 fn cast(syntax: SyntaxNode) -> Option<Self> {
17028 if Self::can_cast(syntax.kind()) {
17029 Some(Self { syntax })
17030 } else {
17031 None
17032 }
17033 }
17034 #[inline]
17035 fn syntax(&self) -> &SyntaxNode {
17036 &self.syntax
17037 }
17038}
17039impl AstNode for Notify {
17040 #[inline]
17041 fn can_cast(kind: SyntaxKind) -> bool {
17042 kind == SyntaxKind::NOTIFY
17043 }
17044 #[inline]
17045 fn cast(syntax: SyntaxNode) -> Option<Self> {
17046 if Self::can_cast(syntax.kind()) {
17047 Some(Self { syntax })
17048 } else {
17049 None
17050 }
17051 }
17052 #[inline]
17053 fn syntax(&self) -> &SyntaxNode {
17054 &self.syntax
17055 }
17056}
17057impl AstNode for NullConstraint {
17058 #[inline]
17059 fn can_cast(kind: SyntaxKind) -> bool {
17060 kind == SyntaxKind::NULL_CONSTRAINT
17061 }
17062 #[inline]
17063 fn cast(syntax: SyntaxNode) -> Option<Self> {
17064 if Self::can_cast(syntax.kind()) {
17065 Some(Self { syntax })
17066 } else {
17067 None
17068 }
17069 }
17070 #[inline]
17071 fn syntax(&self) -> &SyntaxNode {
17072 &self.syntax
17073 }
17074}
17075impl AstNode for NullsDistinct {
17076 #[inline]
17077 fn can_cast(kind: SyntaxKind) -> bool {
17078 kind == SyntaxKind::NULLS_DISTINCT
17079 }
17080 #[inline]
17081 fn cast(syntax: SyntaxNode) -> Option<Self> {
17082 if Self::can_cast(syntax.kind()) {
17083 Some(Self { syntax })
17084 } else {
17085 None
17086 }
17087 }
17088 #[inline]
17089 fn syntax(&self) -> &SyntaxNode {
17090 &self.syntax
17091 }
17092}
17093impl AstNode for NullsFirst {
17094 #[inline]
17095 fn can_cast(kind: SyntaxKind) -> bool {
17096 kind == SyntaxKind::NULLS_FIRST
17097 }
17098 #[inline]
17099 fn cast(syntax: SyntaxNode) -> Option<Self> {
17100 if Self::can_cast(syntax.kind()) {
17101 Some(Self { syntax })
17102 } else {
17103 None
17104 }
17105 }
17106 #[inline]
17107 fn syntax(&self) -> &SyntaxNode {
17108 &self.syntax
17109 }
17110}
17111impl AstNode for NullsLast {
17112 #[inline]
17113 fn can_cast(kind: SyntaxKind) -> bool {
17114 kind == SyntaxKind::NULLS_LAST
17115 }
17116 #[inline]
17117 fn cast(syntax: SyntaxNode) -> Option<Self> {
17118 if Self::can_cast(syntax.kind()) {
17119 Some(Self { syntax })
17120 } else {
17121 None
17122 }
17123 }
17124 #[inline]
17125 fn syntax(&self) -> &SyntaxNode {
17126 &self.syntax
17127 }
17128}
17129impl AstNode for NullsNotDistinct {
17130 #[inline]
17131 fn can_cast(kind: SyntaxKind) -> bool {
17132 kind == SyntaxKind::NULLS_NOT_DISTINCT
17133 }
17134 #[inline]
17135 fn cast(syntax: SyntaxNode) -> Option<Self> {
17136 if Self::can_cast(syntax.kind()) {
17137 Some(Self { syntax })
17138 } else {
17139 None
17140 }
17141 }
17142 #[inline]
17143 fn syntax(&self) -> &SyntaxNode {
17144 &self.syntax
17145 }
17146}
17147impl AstNode for OfType {
17148 #[inline]
17149 fn can_cast(kind: SyntaxKind) -> bool {
17150 kind == SyntaxKind::OF_TYPE
17151 }
17152 #[inline]
17153 fn cast(syntax: SyntaxNode) -> Option<Self> {
17154 if Self::can_cast(syntax.kind()) {
17155 Some(Self { syntax })
17156 } else {
17157 None
17158 }
17159 }
17160 #[inline]
17161 fn syntax(&self) -> &SyntaxNode {
17162 &self.syntax
17163 }
17164}
17165impl AstNode for OffsetClause {
17166 #[inline]
17167 fn can_cast(kind: SyntaxKind) -> bool {
17168 kind == SyntaxKind::OFFSET_CLAUSE
17169 }
17170 #[inline]
17171 fn cast(syntax: SyntaxNode) -> Option<Self> {
17172 if Self::can_cast(syntax.kind()) {
17173 Some(Self { syntax })
17174 } else {
17175 None
17176 }
17177 }
17178 #[inline]
17179 fn syntax(&self) -> &SyntaxNode {
17180 &self.syntax
17181 }
17182}
17183impl AstNode for OnClause {
17184 #[inline]
17185 fn can_cast(kind: SyntaxKind) -> bool {
17186 kind == SyntaxKind::ON_CLAUSE
17187 }
17188 #[inline]
17189 fn cast(syntax: SyntaxNode) -> Option<Self> {
17190 if Self::can_cast(syntax.kind()) {
17191 Some(Self { syntax })
17192 } else {
17193 None
17194 }
17195 }
17196 #[inline]
17197 fn syntax(&self) -> &SyntaxNode {
17198 &self.syntax
17199 }
17200}
17201impl AstNode for OnCommit {
17202 #[inline]
17203 fn can_cast(kind: SyntaxKind) -> bool {
17204 kind == SyntaxKind::ON_COMMIT
17205 }
17206 #[inline]
17207 fn cast(syntax: SyntaxNode) -> Option<Self> {
17208 if Self::can_cast(syntax.kind()) {
17209 Some(Self { syntax })
17210 } else {
17211 None
17212 }
17213 }
17214 #[inline]
17215 fn syntax(&self) -> &SyntaxNode {
17216 &self.syntax
17217 }
17218}
17219impl AstNode for OnDeleteAction {
17220 #[inline]
17221 fn can_cast(kind: SyntaxKind) -> bool {
17222 kind == SyntaxKind::ON_DELETE_ACTION
17223 }
17224 #[inline]
17225 fn cast(syntax: SyntaxNode) -> Option<Self> {
17226 if Self::can_cast(syntax.kind()) {
17227 Some(Self { syntax })
17228 } else {
17229 None
17230 }
17231 }
17232 #[inline]
17233 fn syntax(&self) -> &SyntaxNode {
17234 &self.syntax
17235 }
17236}
17237impl AstNode for OnUpdateAction {
17238 #[inline]
17239 fn can_cast(kind: SyntaxKind) -> bool {
17240 kind == SyntaxKind::ON_UPDATE_ACTION
17241 }
17242 #[inline]
17243 fn cast(syntax: SyntaxNode) -> Option<Self> {
17244 if Self::can_cast(syntax.kind()) {
17245 Some(Self { syntax })
17246 } else {
17247 None
17248 }
17249 }
17250 #[inline]
17251 fn syntax(&self) -> &SyntaxNode {
17252 &self.syntax
17253 }
17254}
17255impl AstNode for Op {
17256 #[inline]
17257 fn can_cast(kind: SyntaxKind) -> bool {
17258 kind == SyntaxKind::OP
17259 }
17260 #[inline]
17261 fn cast(syntax: SyntaxNode) -> Option<Self> {
17262 if Self::can_cast(syntax.kind()) {
17263 Some(Self { syntax })
17264 } else {
17265 None
17266 }
17267 }
17268 #[inline]
17269 fn syntax(&self) -> &SyntaxNode {
17270 &self.syntax
17271 }
17272}
17273impl AstNode for OperatorCall {
17274 #[inline]
17275 fn can_cast(kind: SyntaxKind) -> bool {
17276 kind == SyntaxKind::OPERATOR_CALL
17277 }
17278 #[inline]
17279 fn cast(syntax: SyntaxNode) -> Option<Self> {
17280 if Self::can_cast(syntax.kind()) {
17281 Some(Self { syntax })
17282 } else {
17283 None
17284 }
17285 }
17286 #[inline]
17287 fn syntax(&self) -> &SyntaxNode {
17288 &self.syntax
17289 }
17290}
17291impl AstNode for OptionsList {
17292 #[inline]
17293 fn can_cast(kind: SyntaxKind) -> bool {
17294 kind == SyntaxKind::OPTIONS_LIST
17295 }
17296 #[inline]
17297 fn cast(syntax: SyntaxNode) -> Option<Self> {
17298 if Self::can_cast(syntax.kind()) {
17299 Some(Self { syntax })
17300 } else {
17301 None
17302 }
17303 }
17304 #[inline]
17305 fn syntax(&self) -> &SyntaxNode {
17306 &self.syntax
17307 }
17308}
17309impl AstNode for OrReplace {
17310 #[inline]
17311 fn can_cast(kind: SyntaxKind) -> bool {
17312 kind == SyntaxKind::OR_REPLACE
17313 }
17314 #[inline]
17315 fn cast(syntax: SyntaxNode) -> Option<Self> {
17316 if Self::can_cast(syntax.kind()) {
17317 Some(Self { syntax })
17318 } else {
17319 None
17320 }
17321 }
17322 #[inline]
17323 fn syntax(&self) -> &SyntaxNode {
17324 &self.syntax
17325 }
17326}
17327impl AstNode for OrderByClause {
17328 #[inline]
17329 fn can_cast(kind: SyntaxKind) -> bool {
17330 kind == SyntaxKind::ORDER_BY_CLAUSE
17331 }
17332 #[inline]
17333 fn cast(syntax: SyntaxNode) -> Option<Self> {
17334 if Self::can_cast(syntax.kind()) {
17335 Some(Self { syntax })
17336 } else {
17337 None
17338 }
17339 }
17340 #[inline]
17341 fn syntax(&self) -> &SyntaxNode {
17342 &self.syntax
17343 }
17344}
17345impl AstNode for OverClause {
17346 #[inline]
17347 fn can_cast(kind: SyntaxKind) -> bool {
17348 kind == SyntaxKind::OVER_CLAUSE
17349 }
17350 #[inline]
17351 fn cast(syntax: SyntaxNode) -> Option<Self> {
17352 if Self::can_cast(syntax.kind()) {
17353 Some(Self { syntax })
17354 } else {
17355 None
17356 }
17357 }
17358 #[inline]
17359 fn syntax(&self) -> &SyntaxNode {
17360 &self.syntax
17361 }
17362}
17363impl AstNode for OwnerTo {
17364 #[inline]
17365 fn can_cast(kind: SyntaxKind) -> bool {
17366 kind == SyntaxKind::OWNER_TO
17367 }
17368 #[inline]
17369 fn cast(syntax: SyntaxNode) -> Option<Self> {
17370 if Self::can_cast(syntax.kind()) {
17371 Some(Self { syntax })
17372 } else {
17373 None
17374 }
17375 }
17376 #[inline]
17377 fn syntax(&self) -> &SyntaxNode {
17378 &self.syntax
17379 }
17380}
17381impl AstNode for ParallelFuncOption {
17382 #[inline]
17383 fn can_cast(kind: SyntaxKind) -> bool {
17384 kind == SyntaxKind::PARALLEL_FUNC_OPTION
17385 }
17386 #[inline]
17387 fn cast(syntax: SyntaxNode) -> Option<Self> {
17388 if Self::can_cast(syntax.kind()) {
17389 Some(Self { syntax })
17390 } else {
17391 None
17392 }
17393 }
17394 #[inline]
17395 fn syntax(&self) -> &SyntaxNode {
17396 &self.syntax
17397 }
17398}
17399impl AstNode for Param {
17400 #[inline]
17401 fn can_cast(kind: SyntaxKind) -> bool {
17402 kind == SyntaxKind::PARAM
17403 }
17404 #[inline]
17405 fn cast(syntax: SyntaxNode) -> Option<Self> {
17406 if Self::can_cast(syntax.kind()) {
17407 Some(Self { syntax })
17408 } else {
17409 None
17410 }
17411 }
17412 #[inline]
17413 fn syntax(&self) -> &SyntaxNode {
17414 &self.syntax
17415 }
17416}
17417impl AstNode for ParamDefault {
17418 #[inline]
17419 fn can_cast(kind: SyntaxKind) -> bool {
17420 kind == SyntaxKind::PARAM_DEFAULT
17421 }
17422 #[inline]
17423 fn cast(syntax: SyntaxNode) -> Option<Self> {
17424 if Self::can_cast(syntax.kind()) {
17425 Some(Self { syntax })
17426 } else {
17427 None
17428 }
17429 }
17430 #[inline]
17431 fn syntax(&self) -> &SyntaxNode {
17432 &self.syntax
17433 }
17434}
17435impl AstNode for ParamIn {
17436 #[inline]
17437 fn can_cast(kind: SyntaxKind) -> bool {
17438 kind == SyntaxKind::PARAM_IN
17439 }
17440 #[inline]
17441 fn cast(syntax: SyntaxNode) -> Option<Self> {
17442 if Self::can_cast(syntax.kind()) {
17443 Some(Self { syntax })
17444 } else {
17445 None
17446 }
17447 }
17448 #[inline]
17449 fn syntax(&self) -> &SyntaxNode {
17450 &self.syntax
17451 }
17452}
17453impl AstNode for ParamInOut {
17454 #[inline]
17455 fn can_cast(kind: SyntaxKind) -> bool {
17456 kind == SyntaxKind::PARAM_IN_OUT
17457 }
17458 #[inline]
17459 fn cast(syntax: SyntaxNode) -> Option<Self> {
17460 if Self::can_cast(syntax.kind()) {
17461 Some(Self { syntax })
17462 } else {
17463 None
17464 }
17465 }
17466 #[inline]
17467 fn syntax(&self) -> &SyntaxNode {
17468 &self.syntax
17469 }
17470}
17471impl AstNode for ParamList {
17472 #[inline]
17473 fn can_cast(kind: SyntaxKind) -> bool {
17474 kind == SyntaxKind::PARAM_LIST
17475 }
17476 #[inline]
17477 fn cast(syntax: SyntaxNode) -> Option<Self> {
17478 if Self::can_cast(syntax.kind()) {
17479 Some(Self { syntax })
17480 } else {
17481 None
17482 }
17483 }
17484 #[inline]
17485 fn syntax(&self) -> &SyntaxNode {
17486 &self.syntax
17487 }
17488}
17489impl AstNode for ParamOut {
17490 #[inline]
17491 fn can_cast(kind: SyntaxKind) -> bool {
17492 kind == SyntaxKind::PARAM_OUT
17493 }
17494 #[inline]
17495 fn cast(syntax: SyntaxNode) -> Option<Self> {
17496 if Self::can_cast(syntax.kind()) {
17497 Some(Self { syntax })
17498 } else {
17499 None
17500 }
17501 }
17502 #[inline]
17503 fn syntax(&self) -> &SyntaxNode {
17504 &self.syntax
17505 }
17506}
17507impl AstNode for ParamVariadic {
17508 #[inline]
17509 fn can_cast(kind: SyntaxKind) -> bool {
17510 kind == SyntaxKind::PARAM_VARIADIC
17511 }
17512 #[inline]
17513 fn cast(syntax: SyntaxNode) -> Option<Self> {
17514 if Self::can_cast(syntax.kind()) {
17515 Some(Self { syntax })
17516 } else {
17517 None
17518 }
17519 }
17520 #[inline]
17521 fn syntax(&self) -> &SyntaxNode {
17522 &self.syntax
17523 }
17524}
17525impl AstNode for ParenExpr {
17526 #[inline]
17527 fn can_cast(kind: SyntaxKind) -> bool {
17528 kind == SyntaxKind::PAREN_EXPR
17529 }
17530 #[inline]
17531 fn cast(syntax: SyntaxNode) -> Option<Self> {
17532 if Self::can_cast(syntax.kind()) {
17533 Some(Self { syntax })
17534 } else {
17535 None
17536 }
17537 }
17538 #[inline]
17539 fn syntax(&self) -> &SyntaxNode {
17540 &self.syntax
17541 }
17542}
17543impl AstNode for ParenSelect {
17544 #[inline]
17545 fn can_cast(kind: SyntaxKind) -> bool {
17546 kind == SyntaxKind::PAREN_SELECT
17547 }
17548 #[inline]
17549 fn cast(syntax: SyntaxNode) -> Option<Self> {
17550 if Self::can_cast(syntax.kind()) {
17551 Some(Self { syntax })
17552 } else {
17553 None
17554 }
17555 }
17556 #[inline]
17557 fn syntax(&self) -> &SyntaxNode {
17558 &self.syntax
17559 }
17560}
17561impl AstNode for PartitionBy {
17562 #[inline]
17563 fn can_cast(kind: SyntaxKind) -> bool {
17564 kind == SyntaxKind::PARTITION_BY
17565 }
17566 #[inline]
17567 fn cast(syntax: SyntaxNode) -> Option<Self> {
17568 if Self::can_cast(syntax.kind()) {
17569 Some(Self { syntax })
17570 } else {
17571 None
17572 }
17573 }
17574 #[inline]
17575 fn syntax(&self) -> &SyntaxNode {
17576 &self.syntax
17577 }
17578}
17579impl AstNode for PartitionDefault {
17580 #[inline]
17581 fn can_cast(kind: SyntaxKind) -> bool {
17582 kind == SyntaxKind::PARTITION_DEFAULT
17583 }
17584 #[inline]
17585 fn cast(syntax: SyntaxNode) -> Option<Self> {
17586 if Self::can_cast(syntax.kind()) {
17587 Some(Self { syntax })
17588 } else {
17589 None
17590 }
17591 }
17592 #[inline]
17593 fn syntax(&self) -> &SyntaxNode {
17594 &self.syntax
17595 }
17596}
17597impl AstNode for PartitionForValuesFrom {
17598 #[inline]
17599 fn can_cast(kind: SyntaxKind) -> bool {
17600 kind == SyntaxKind::PARTITION_FOR_VALUES_FROM
17601 }
17602 #[inline]
17603 fn cast(syntax: SyntaxNode) -> Option<Self> {
17604 if Self::can_cast(syntax.kind()) {
17605 Some(Self { syntax })
17606 } else {
17607 None
17608 }
17609 }
17610 #[inline]
17611 fn syntax(&self) -> &SyntaxNode {
17612 &self.syntax
17613 }
17614}
17615impl AstNode for PartitionForValuesIn {
17616 #[inline]
17617 fn can_cast(kind: SyntaxKind) -> bool {
17618 kind == SyntaxKind::PARTITION_FOR_VALUES_IN
17619 }
17620 #[inline]
17621 fn cast(syntax: SyntaxNode) -> Option<Self> {
17622 if Self::can_cast(syntax.kind()) {
17623 Some(Self { syntax })
17624 } else {
17625 None
17626 }
17627 }
17628 #[inline]
17629 fn syntax(&self) -> &SyntaxNode {
17630 &self.syntax
17631 }
17632}
17633impl AstNode for PartitionForValuesWith {
17634 #[inline]
17635 fn can_cast(kind: SyntaxKind) -> bool {
17636 kind == SyntaxKind::PARTITION_FOR_VALUES_WITH
17637 }
17638 #[inline]
17639 fn cast(syntax: SyntaxNode) -> Option<Self> {
17640 if Self::can_cast(syntax.kind()) {
17641 Some(Self { syntax })
17642 } else {
17643 None
17644 }
17645 }
17646 #[inline]
17647 fn syntax(&self) -> &SyntaxNode {
17648 &self.syntax
17649 }
17650}
17651impl AstNode for PartitionItem {
17652 #[inline]
17653 fn can_cast(kind: SyntaxKind) -> bool {
17654 kind == SyntaxKind::PARTITION_ITEM
17655 }
17656 #[inline]
17657 fn cast(syntax: SyntaxNode) -> Option<Self> {
17658 if Self::can_cast(syntax.kind()) {
17659 Some(Self { syntax })
17660 } else {
17661 None
17662 }
17663 }
17664 #[inline]
17665 fn syntax(&self) -> &SyntaxNode {
17666 &self.syntax
17667 }
17668}
17669impl AstNode for PartitionItemList {
17670 #[inline]
17671 fn can_cast(kind: SyntaxKind) -> bool {
17672 kind == SyntaxKind::PARTITION_ITEM_LIST
17673 }
17674 #[inline]
17675 fn cast(syntax: SyntaxNode) -> Option<Self> {
17676 if Self::can_cast(syntax.kind()) {
17677 Some(Self { syntax })
17678 } else {
17679 None
17680 }
17681 }
17682 #[inline]
17683 fn syntax(&self) -> &SyntaxNode {
17684 &self.syntax
17685 }
17686}
17687impl AstNode for PartitionOf {
17688 #[inline]
17689 fn can_cast(kind: SyntaxKind) -> bool {
17690 kind == SyntaxKind::PARTITION_OF
17691 }
17692 #[inline]
17693 fn cast(syntax: SyntaxNode) -> Option<Self> {
17694 if Self::can_cast(syntax.kind()) {
17695 Some(Self { syntax })
17696 } else {
17697 None
17698 }
17699 }
17700 #[inline]
17701 fn syntax(&self) -> &SyntaxNode {
17702 &self.syntax
17703 }
17704}
17705impl AstNode for Path {
17706 #[inline]
17707 fn can_cast(kind: SyntaxKind) -> bool {
17708 kind == SyntaxKind::PATH
17709 }
17710 #[inline]
17711 fn cast(syntax: SyntaxNode) -> Option<Self> {
17712 if Self::can_cast(syntax.kind()) {
17713 Some(Self { syntax })
17714 } else {
17715 None
17716 }
17717 }
17718 #[inline]
17719 fn syntax(&self) -> &SyntaxNode {
17720 &self.syntax
17721 }
17722}
17723impl AstNode for PathSegment {
17724 #[inline]
17725 fn can_cast(kind: SyntaxKind) -> bool {
17726 kind == SyntaxKind::PATH_SEGMENT
17727 }
17728 #[inline]
17729 fn cast(syntax: SyntaxNode) -> Option<Self> {
17730 if Self::can_cast(syntax.kind()) {
17731 Some(Self { syntax })
17732 } else {
17733 None
17734 }
17735 }
17736 #[inline]
17737 fn syntax(&self) -> &SyntaxNode {
17738 &self.syntax
17739 }
17740}
17741impl AstNode for PathType {
17742 #[inline]
17743 fn can_cast(kind: SyntaxKind) -> bool {
17744 kind == SyntaxKind::PATH_TYPE
17745 }
17746 #[inline]
17747 fn cast(syntax: SyntaxNode) -> Option<Self> {
17748 if Self::can_cast(syntax.kind()) {
17749 Some(Self { syntax })
17750 } else {
17751 None
17752 }
17753 }
17754 #[inline]
17755 fn syntax(&self) -> &SyntaxNode {
17756 &self.syntax
17757 }
17758}
17759impl AstNode for PercentType {
17760 #[inline]
17761 fn can_cast(kind: SyntaxKind) -> bool {
17762 kind == SyntaxKind::PERCENT_TYPE
17763 }
17764 #[inline]
17765 fn cast(syntax: SyntaxNode) -> Option<Self> {
17766 if Self::can_cast(syntax.kind()) {
17767 Some(Self { syntax })
17768 } else {
17769 None
17770 }
17771 }
17772 #[inline]
17773 fn syntax(&self) -> &SyntaxNode {
17774 &self.syntax
17775 }
17776}
17777impl AstNode for PercentTypeClause {
17778 #[inline]
17779 fn can_cast(kind: SyntaxKind) -> bool {
17780 kind == SyntaxKind::PERCENT_TYPE_CLAUSE
17781 }
17782 #[inline]
17783 fn cast(syntax: SyntaxNode) -> Option<Self> {
17784 if Self::can_cast(syntax.kind()) {
17785 Some(Self { syntax })
17786 } else {
17787 None
17788 }
17789 }
17790 #[inline]
17791 fn syntax(&self) -> &SyntaxNode {
17792 &self.syntax
17793 }
17794}
17795impl AstNode for PostfixExpr {
17796 #[inline]
17797 fn can_cast(kind: SyntaxKind) -> bool {
17798 kind == SyntaxKind::POSTFIX_EXPR
17799 }
17800 #[inline]
17801 fn cast(syntax: SyntaxNode) -> Option<Self> {
17802 if Self::can_cast(syntax.kind()) {
17803 Some(Self { syntax })
17804 } else {
17805 None
17806 }
17807 }
17808 #[inline]
17809 fn syntax(&self) -> &SyntaxNode {
17810 &self.syntax
17811 }
17812}
17813impl AstNode for PrefixExpr {
17814 #[inline]
17815 fn can_cast(kind: SyntaxKind) -> bool {
17816 kind == SyntaxKind::PREFIX_EXPR
17817 }
17818 #[inline]
17819 fn cast(syntax: SyntaxNode) -> Option<Self> {
17820 if Self::can_cast(syntax.kind()) {
17821 Some(Self { syntax })
17822 } else {
17823 None
17824 }
17825 }
17826 #[inline]
17827 fn syntax(&self) -> &SyntaxNode {
17828 &self.syntax
17829 }
17830}
17831impl AstNode for Prepare {
17832 #[inline]
17833 fn can_cast(kind: SyntaxKind) -> bool {
17834 kind == SyntaxKind::PREPARE
17835 }
17836 #[inline]
17837 fn cast(syntax: SyntaxNode) -> Option<Self> {
17838 if Self::can_cast(syntax.kind()) {
17839 Some(Self { syntax })
17840 } else {
17841 None
17842 }
17843 }
17844 #[inline]
17845 fn syntax(&self) -> &SyntaxNode {
17846 &self.syntax
17847 }
17848}
17849impl AstNode for PrepareTransaction {
17850 #[inline]
17851 fn can_cast(kind: SyntaxKind) -> bool {
17852 kind == SyntaxKind::PREPARE_TRANSACTION
17853 }
17854 #[inline]
17855 fn cast(syntax: SyntaxNode) -> Option<Self> {
17856 if Self::can_cast(syntax.kind()) {
17857 Some(Self { syntax })
17858 } else {
17859 None
17860 }
17861 }
17862 #[inline]
17863 fn syntax(&self) -> &SyntaxNode {
17864 &self.syntax
17865 }
17866}
17867impl AstNode for PreserveRows {
17868 #[inline]
17869 fn can_cast(kind: SyntaxKind) -> bool {
17870 kind == SyntaxKind::PRESERVE_ROWS
17871 }
17872 #[inline]
17873 fn cast(syntax: SyntaxNode) -> Option<Self> {
17874 if Self::can_cast(syntax.kind()) {
17875 Some(Self { syntax })
17876 } else {
17877 None
17878 }
17879 }
17880 #[inline]
17881 fn syntax(&self) -> &SyntaxNode {
17882 &self.syntax
17883 }
17884}
17885impl AstNode for PrimaryKeyConstraint {
17886 #[inline]
17887 fn can_cast(kind: SyntaxKind) -> bool {
17888 kind == SyntaxKind::PRIMARY_KEY_CONSTRAINT
17889 }
17890 #[inline]
17891 fn cast(syntax: SyntaxNode) -> Option<Self> {
17892 if Self::can_cast(syntax.kind()) {
17893 Some(Self { syntax })
17894 } else {
17895 None
17896 }
17897 }
17898 #[inline]
17899 fn syntax(&self) -> &SyntaxNode {
17900 &self.syntax
17901 }
17902}
17903impl AstNode for ReadCommitted {
17904 #[inline]
17905 fn can_cast(kind: SyntaxKind) -> bool {
17906 kind == SyntaxKind::READ_COMMITTED
17907 }
17908 #[inline]
17909 fn cast(syntax: SyntaxNode) -> Option<Self> {
17910 if Self::can_cast(syntax.kind()) {
17911 Some(Self { syntax })
17912 } else {
17913 None
17914 }
17915 }
17916 #[inline]
17917 fn syntax(&self) -> &SyntaxNode {
17918 &self.syntax
17919 }
17920}
17921impl AstNode for ReadOnly {
17922 #[inline]
17923 fn can_cast(kind: SyntaxKind) -> bool {
17924 kind == SyntaxKind::READ_ONLY
17925 }
17926 #[inline]
17927 fn cast(syntax: SyntaxNode) -> Option<Self> {
17928 if Self::can_cast(syntax.kind()) {
17929 Some(Self { syntax })
17930 } else {
17931 None
17932 }
17933 }
17934 #[inline]
17935 fn syntax(&self) -> &SyntaxNode {
17936 &self.syntax
17937 }
17938}
17939impl AstNode for ReadUncommitted {
17940 #[inline]
17941 fn can_cast(kind: SyntaxKind) -> bool {
17942 kind == SyntaxKind::READ_UNCOMMITTED
17943 }
17944 #[inline]
17945 fn cast(syntax: SyntaxNode) -> Option<Self> {
17946 if Self::can_cast(syntax.kind()) {
17947 Some(Self { syntax })
17948 } else {
17949 None
17950 }
17951 }
17952 #[inline]
17953 fn syntax(&self) -> &SyntaxNode {
17954 &self.syntax
17955 }
17956}
17957impl AstNode for ReadWrite {
17958 #[inline]
17959 fn can_cast(kind: SyntaxKind) -> bool {
17960 kind == SyntaxKind::READ_WRITE
17961 }
17962 #[inline]
17963 fn cast(syntax: SyntaxNode) -> Option<Self> {
17964 if Self::can_cast(syntax.kind()) {
17965 Some(Self { syntax })
17966 } else {
17967 None
17968 }
17969 }
17970 #[inline]
17971 fn syntax(&self) -> &SyntaxNode {
17972 &self.syntax
17973 }
17974}
17975impl AstNode for Reassign {
17976 #[inline]
17977 fn can_cast(kind: SyntaxKind) -> bool {
17978 kind == SyntaxKind::REASSIGN
17979 }
17980 #[inline]
17981 fn cast(syntax: SyntaxNode) -> Option<Self> {
17982 if Self::can_cast(syntax.kind()) {
17983 Some(Self { syntax })
17984 } else {
17985 None
17986 }
17987 }
17988 #[inline]
17989 fn syntax(&self) -> &SyntaxNode {
17990 &self.syntax
17991 }
17992}
17993impl AstNode for ReferencesConstraint {
17994 #[inline]
17995 fn can_cast(kind: SyntaxKind) -> bool {
17996 kind == SyntaxKind::REFERENCES_CONSTRAINT
17997 }
17998 #[inline]
17999 fn cast(syntax: SyntaxNode) -> Option<Self> {
18000 if Self::can_cast(syntax.kind()) {
18001 Some(Self { syntax })
18002 } else {
18003 None
18004 }
18005 }
18006 #[inline]
18007 fn syntax(&self) -> &SyntaxNode {
18008 &self.syntax
18009 }
18010}
18011impl AstNode for Refresh {
18012 #[inline]
18013 fn can_cast(kind: SyntaxKind) -> bool {
18014 kind == SyntaxKind::REFRESH
18015 }
18016 #[inline]
18017 fn cast(syntax: SyntaxNode) -> Option<Self> {
18018 if Self::can_cast(syntax.kind()) {
18019 Some(Self { syntax })
18020 } else {
18021 None
18022 }
18023 }
18024 #[inline]
18025 fn syntax(&self) -> &SyntaxNode {
18026 &self.syntax
18027 }
18028}
18029impl AstNode for Reindex {
18030 #[inline]
18031 fn can_cast(kind: SyntaxKind) -> bool {
18032 kind == SyntaxKind::REINDEX
18033 }
18034 #[inline]
18035 fn cast(syntax: SyntaxNode) -> Option<Self> {
18036 if Self::can_cast(syntax.kind()) {
18037 Some(Self { syntax })
18038 } else {
18039 None
18040 }
18041 }
18042 #[inline]
18043 fn syntax(&self) -> &SyntaxNode {
18044 &self.syntax
18045 }
18046}
18047impl AstNode for RelationName {
18048 #[inline]
18049 fn can_cast(kind: SyntaxKind) -> bool {
18050 kind == SyntaxKind::RELATION_NAME
18051 }
18052 #[inline]
18053 fn cast(syntax: SyntaxNode) -> Option<Self> {
18054 if Self::can_cast(syntax.kind()) {
18055 Some(Self { syntax })
18056 } else {
18057 None
18058 }
18059 }
18060 #[inline]
18061 fn syntax(&self) -> &SyntaxNode {
18062 &self.syntax
18063 }
18064}
18065impl AstNode for ReleaseSavepoint {
18066 #[inline]
18067 fn can_cast(kind: SyntaxKind) -> bool {
18068 kind == SyntaxKind::RELEASE_SAVEPOINT
18069 }
18070 #[inline]
18071 fn cast(syntax: SyntaxNode) -> Option<Self> {
18072 if Self::can_cast(syntax.kind()) {
18073 Some(Self { syntax })
18074 } else {
18075 None
18076 }
18077 }
18078 #[inline]
18079 fn syntax(&self) -> &SyntaxNode {
18080 &self.syntax
18081 }
18082}
18083impl AstNode for RenameColumn {
18084 #[inline]
18085 fn can_cast(kind: SyntaxKind) -> bool {
18086 kind == SyntaxKind::RENAME_COLUMN
18087 }
18088 #[inline]
18089 fn cast(syntax: SyntaxNode) -> Option<Self> {
18090 if Self::can_cast(syntax.kind()) {
18091 Some(Self { syntax })
18092 } else {
18093 None
18094 }
18095 }
18096 #[inline]
18097 fn syntax(&self) -> &SyntaxNode {
18098 &self.syntax
18099 }
18100}
18101impl AstNode for RenameConstraint {
18102 #[inline]
18103 fn can_cast(kind: SyntaxKind) -> bool {
18104 kind == SyntaxKind::RENAME_CONSTRAINT
18105 }
18106 #[inline]
18107 fn cast(syntax: SyntaxNode) -> Option<Self> {
18108 if Self::can_cast(syntax.kind()) {
18109 Some(Self { syntax })
18110 } else {
18111 None
18112 }
18113 }
18114 #[inline]
18115 fn syntax(&self) -> &SyntaxNode {
18116 &self.syntax
18117 }
18118}
18119impl AstNode for RenameTable {
18120 #[inline]
18121 fn can_cast(kind: SyntaxKind) -> bool {
18122 kind == SyntaxKind::RENAME_TABLE
18123 }
18124 #[inline]
18125 fn cast(syntax: SyntaxNode) -> Option<Self> {
18126 if Self::can_cast(syntax.kind()) {
18127 Some(Self { syntax })
18128 } else {
18129 None
18130 }
18131 }
18132 #[inline]
18133 fn syntax(&self) -> &SyntaxNode {
18134 &self.syntax
18135 }
18136}
18137impl AstNode for RenameTo {
18138 #[inline]
18139 fn can_cast(kind: SyntaxKind) -> bool {
18140 kind == SyntaxKind::RENAME_TO
18141 }
18142 #[inline]
18143 fn cast(syntax: SyntaxNode) -> Option<Self> {
18144 if Self::can_cast(syntax.kind()) {
18145 Some(Self { syntax })
18146 } else {
18147 None
18148 }
18149 }
18150 #[inline]
18151 fn syntax(&self) -> &SyntaxNode {
18152 &self.syntax
18153 }
18154}
18155impl AstNode for RepeatableRead {
18156 #[inline]
18157 fn can_cast(kind: SyntaxKind) -> bool {
18158 kind == SyntaxKind::REPEATABLE_READ
18159 }
18160 #[inline]
18161 fn cast(syntax: SyntaxNode) -> Option<Self> {
18162 if Self::can_cast(syntax.kind()) {
18163 Some(Self { syntax })
18164 } else {
18165 None
18166 }
18167 }
18168 #[inline]
18169 fn syntax(&self) -> &SyntaxNode {
18170 &self.syntax
18171 }
18172}
18173impl AstNode for ReplicaIdentity {
18174 #[inline]
18175 fn can_cast(kind: SyntaxKind) -> bool {
18176 kind == SyntaxKind::REPLICA_IDENTITY
18177 }
18178 #[inline]
18179 fn cast(syntax: SyntaxNode) -> Option<Self> {
18180 if Self::can_cast(syntax.kind()) {
18181 Some(Self { syntax })
18182 } else {
18183 None
18184 }
18185 }
18186 #[inline]
18187 fn syntax(&self) -> &SyntaxNode {
18188 &self.syntax
18189 }
18190}
18191impl AstNode for Reset {
18192 #[inline]
18193 fn can_cast(kind: SyntaxKind) -> bool {
18194 kind == SyntaxKind::RESET
18195 }
18196 #[inline]
18197 fn cast(syntax: SyntaxNode) -> Option<Self> {
18198 if Self::can_cast(syntax.kind()) {
18199 Some(Self { syntax })
18200 } else {
18201 None
18202 }
18203 }
18204 #[inline]
18205 fn syntax(&self) -> &SyntaxNode {
18206 &self.syntax
18207 }
18208}
18209impl AstNode for ResetFuncOption {
18210 #[inline]
18211 fn can_cast(kind: SyntaxKind) -> bool {
18212 kind == SyntaxKind::RESET_FUNC_OPTION
18213 }
18214 #[inline]
18215 fn cast(syntax: SyntaxNode) -> Option<Self> {
18216 if Self::can_cast(syntax.kind()) {
18217 Some(Self { syntax })
18218 } else {
18219 None
18220 }
18221 }
18222 #[inline]
18223 fn syntax(&self) -> &SyntaxNode {
18224 &self.syntax
18225 }
18226}
18227impl AstNode for ResetOptions {
18228 #[inline]
18229 fn can_cast(kind: SyntaxKind) -> bool {
18230 kind == SyntaxKind::RESET_OPTIONS
18231 }
18232 #[inline]
18233 fn cast(syntax: SyntaxNode) -> Option<Self> {
18234 if Self::can_cast(syntax.kind()) {
18235 Some(Self { syntax })
18236 } else {
18237 None
18238 }
18239 }
18240 #[inline]
18241 fn syntax(&self) -> &SyntaxNode {
18242 &self.syntax
18243 }
18244}
18245impl AstNode for ResetStorageParams {
18246 #[inline]
18247 fn can_cast(kind: SyntaxKind) -> bool {
18248 kind == SyntaxKind::RESET_STORAGE_PARAMS
18249 }
18250 #[inline]
18251 fn cast(syntax: SyntaxNode) -> Option<Self> {
18252 if Self::can_cast(syntax.kind()) {
18253 Some(Self { syntax })
18254 } else {
18255 None
18256 }
18257 }
18258 #[inline]
18259 fn syntax(&self) -> &SyntaxNode {
18260 &self.syntax
18261 }
18262}
18263impl AstNode for Restart {
18264 #[inline]
18265 fn can_cast(kind: SyntaxKind) -> bool {
18266 kind == SyntaxKind::RESTART
18267 }
18268 #[inline]
18269 fn cast(syntax: SyntaxNode) -> Option<Self> {
18270 if Self::can_cast(syntax.kind()) {
18271 Some(Self { syntax })
18272 } else {
18273 None
18274 }
18275 }
18276 #[inline]
18277 fn syntax(&self) -> &SyntaxNode {
18278 &self.syntax
18279 }
18280}
18281impl AstNode for Restrict {
18282 #[inline]
18283 fn can_cast(kind: SyntaxKind) -> bool {
18284 kind == SyntaxKind::RESTRICT
18285 }
18286 #[inline]
18287 fn cast(syntax: SyntaxNode) -> Option<Self> {
18288 if Self::can_cast(syntax.kind()) {
18289 Some(Self { syntax })
18290 } else {
18291 None
18292 }
18293 }
18294 #[inline]
18295 fn syntax(&self) -> &SyntaxNode {
18296 &self.syntax
18297 }
18298}
18299impl AstNode for RetType {
18300 #[inline]
18301 fn can_cast(kind: SyntaxKind) -> bool {
18302 kind == SyntaxKind::RET_TYPE
18303 }
18304 #[inline]
18305 fn cast(syntax: SyntaxNode) -> Option<Self> {
18306 if Self::can_cast(syntax.kind()) {
18307 Some(Self { syntax })
18308 } else {
18309 None
18310 }
18311 }
18312 #[inline]
18313 fn syntax(&self) -> &SyntaxNode {
18314 &self.syntax
18315 }
18316}
18317impl AstNode for ReturnFuncOption {
18318 #[inline]
18319 fn can_cast(kind: SyntaxKind) -> bool {
18320 kind == SyntaxKind::RETURN_FUNC_OPTION
18321 }
18322 #[inline]
18323 fn cast(syntax: SyntaxNode) -> Option<Self> {
18324 if Self::can_cast(syntax.kind()) {
18325 Some(Self { syntax })
18326 } else {
18327 None
18328 }
18329 }
18330 #[inline]
18331 fn syntax(&self) -> &SyntaxNode {
18332 &self.syntax
18333 }
18334}
18335impl AstNode for ReturningClause {
18336 #[inline]
18337 fn can_cast(kind: SyntaxKind) -> bool {
18338 kind == SyntaxKind::RETURNING_CLAUSE
18339 }
18340 #[inline]
18341 fn cast(syntax: SyntaxNode) -> Option<Self> {
18342 if Self::can_cast(syntax.kind()) {
18343 Some(Self { syntax })
18344 } else {
18345 None
18346 }
18347 }
18348 #[inline]
18349 fn syntax(&self) -> &SyntaxNode {
18350 &self.syntax
18351 }
18352}
18353impl AstNode for Revoke {
18354 #[inline]
18355 fn can_cast(kind: SyntaxKind) -> bool {
18356 kind == SyntaxKind::REVOKE
18357 }
18358 #[inline]
18359 fn cast(syntax: SyntaxNode) -> Option<Self> {
18360 if Self::can_cast(syntax.kind()) {
18361 Some(Self { syntax })
18362 } else {
18363 None
18364 }
18365 }
18366 #[inline]
18367 fn syntax(&self) -> &SyntaxNode {
18368 &self.syntax
18369 }
18370}
18371impl AstNode for Role {
18372 #[inline]
18373 fn can_cast(kind: SyntaxKind) -> bool {
18374 kind == SyntaxKind::ROLE
18375 }
18376 #[inline]
18377 fn cast(syntax: SyntaxNode) -> Option<Self> {
18378 if Self::can_cast(syntax.kind()) {
18379 Some(Self { syntax })
18380 } else {
18381 None
18382 }
18383 }
18384 #[inline]
18385 fn syntax(&self) -> &SyntaxNode {
18386 &self.syntax
18387 }
18388}
18389impl AstNode for Rollback {
18390 #[inline]
18391 fn can_cast(kind: SyntaxKind) -> bool {
18392 kind == SyntaxKind::ROLLBACK
18393 }
18394 #[inline]
18395 fn cast(syntax: SyntaxNode) -> Option<Self> {
18396 if Self::can_cast(syntax.kind()) {
18397 Some(Self { syntax })
18398 } else {
18399 None
18400 }
18401 }
18402 #[inline]
18403 fn syntax(&self) -> &SyntaxNode {
18404 &self.syntax
18405 }
18406}
18407impl AstNode for Row {
18408 #[inline]
18409 fn can_cast(kind: SyntaxKind) -> bool {
18410 kind == SyntaxKind::ROW
18411 }
18412 #[inline]
18413 fn cast(syntax: SyntaxNode) -> Option<Self> {
18414 if Self::can_cast(syntax.kind()) {
18415 Some(Self { syntax })
18416 } else {
18417 None
18418 }
18419 }
18420 #[inline]
18421 fn syntax(&self) -> &SyntaxNode {
18422 &self.syntax
18423 }
18424}
18425impl AstNode for RowList {
18426 #[inline]
18427 fn can_cast(kind: SyntaxKind) -> bool {
18428 kind == SyntaxKind::ROW_LIST
18429 }
18430 #[inline]
18431 fn cast(syntax: SyntaxNode) -> Option<Self> {
18432 if Self::can_cast(syntax.kind()) {
18433 Some(Self { syntax })
18434 } else {
18435 None
18436 }
18437 }
18438 #[inline]
18439 fn syntax(&self) -> &SyntaxNode {
18440 &self.syntax
18441 }
18442}
18443impl AstNode for RowsFuncOption {
18444 #[inline]
18445 fn can_cast(kind: SyntaxKind) -> bool {
18446 kind == SyntaxKind::ROWS_FUNC_OPTION
18447 }
18448 #[inline]
18449 fn cast(syntax: SyntaxNode) -> Option<Self> {
18450 if Self::can_cast(syntax.kind()) {
18451 Some(Self { syntax })
18452 } else {
18453 None
18454 }
18455 }
18456 #[inline]
18457 fn syntax(&self) -> &SyntaxNode {
18458 &self.syntax
18459 }
18460}
18461impl AstNode for Savepoint {
18462 #[inline]
18463 fn can_cast(kind: SyntaxKind) -> bool {
18464 kind == SyntaxKind::SAVEPOINT
18465 }
18466 #[inline]
18467 fn cast(syntax: SyntaxNode) -> Option<Self> {
18468 if Self::can_cast(syntax.kind()) {
18469 Some(Self { syntax })
18470 } else {
18471 None
18472 }
18473 }
18474 #[inline]
18475 fn syntax(&self) -> &SyntaxNode {
18476 &self.syntax
18477 }
18478}
18479impl AstNode for SecurityFuncOption {
18480 #[inline]
18481 fn can_cast(kind: SyntaxKind) -> bool {
18482 kind == SyntaxKind::SECURITY_FUNC_OPTION
18483 }
18484 #[inline]
18485 fn cast(syntax: SyntaxNode) -> Option<Self> {
18486 if Self::can_cast(syntax.kind()) {
18487 Some(Self { syntax })
18488 } else {
18489 None
18490 }
18491 }
18492 #[inline]
18493 fn syntax(&self) -> &SyntaxNode {
18494 &self.syntax
18495 }
18496}
18497impl AstNode for SecurityLabel {
18498 #[inline]
18499 fn can_cast(kind: SyntaxKind) -> bool {
18500 kind == SyntaxKind::SECURITY_LABEL
18501 }
18502 #[inline]
18503 fn cast(syntax: SyntaxNode) -> Option<Self> {
18504 if Self::can_cast(syntax.kind()) {
18505 Some(Self { syntax })
18506 } else {
18507 None
18508 }
18509 }
18510 #[inline]
18511 fn syntax(&self) -> &SyntaxNode {
18512 &self.syntax
18513 }
18514}
18515impl AstNode for Select {
18516 #[inline]
18517 fn can_cast(kind: SyntaxKind) -> bool {
18518 kind == SyntaxKind::SELECT
18519 }
18520 #[inline]
18521 fn cast(syntax: SyntaxNode) -> Option<Self> {
18522 if Self::can_cast(syntax.kind()) {
18523 Some(Self { syntax })
18524 } else {
18525 None
18526 }
18527 }
18528 #[inline]
18529 fn syntax(&self) -> &SyntaxNode {
18530 &self.syntax
18531 }
18532}
18533impl AstNode for SelectClause {
18534 #[inline]
18535 fn can_cast(kind: SyntaxKind) -> bool {
18536 kind == SyntaxKind::SELECT_CLAUSE
18537 }
18538 #[inline]
18539 fn cast(syntax: SyntaxNode) -> Option<Self> {
18540 if Self::can_cast(syntax.kind()) {
18541 Some(Self { syntax })
18542 } else {
18543 None
18544 }
18545 }
18546 #[inline]
18547 fn syntax(&self) -> &SyntaxNode {
18548 &self.syntax
18549 }
18550}
18551impl AstNode for SelectInto {
18552 #[inline]
18553 fn can_cast(kind: SyntaxKind) -> bool {
18554 kind == SyntaxKind::SELECT_INTO
18555 }
18556 #[inline]
18557 fn cast(syntax: SyntaxNode) -> Option<Self> {
18558 if Self::can_cast(syntax.kind()) {
18559 Some(Self { syntax })
18560 } else {
18561 None
18562 }
18563 }
18564 #[inline]
18565 fn syntax(&self) -> &SyntaxNode {
18566 &self.syntax
18567 }
18568}
18569impl AstNode for SequenceOptionList {
18570 #[inline]
18571 fn can_cast(kind: SyntaxKind) -> bool {
18572 kind == SyntaxKind::SEQUENCE_OPTION_LIST
18573 }
18574 #[inline]
18575 fn cast(syntax: SyntaxNode) -> Option<Self> {
18576 if Self::can_cast(syntax.kind()) {
18577 Some(Self { syntax })
18578 } else {
18579 None
18580 }
18581 }
18582 #[inline]
18583 fn syntax(&self) -> &SyntaxNode {
18584 &self.syntax
18585 }
18586}
18587impl AstNode for Serializable {
18588 #[inline]
18589 fn can_cast(kind: SyntaxKind) -> bool {
18590 kind == SyntaxKind::SERIALIZABLE
18591 }
18592 #[inline]
18593 fn cast(syntax: SyntaxNode) -> Option<Self> {
18594 if Self::can_cast(syntax.kind()) {
18595 Some(Self { syntax })
18596 } else {
18597 None
18598 }
18599 }
18600 #[inline]
18601 fn syntax(&self) -> &SyntaxNode {
18602 &self.syntax
18603 }
18604}
18605impl AstNode for Set {
18606 #[inline]
18607 fn can_cast(kind: SyntaxKind) -> bool {
18608 kind == SyntaxKind::SET
18609 }
18610 #[inline]
18611 fn cast(syntax: SyntaxNode) -> Option<Self> {
18612 if Self::can_cast(syntax.kind()) {
18613 Some(Self { syntax })
18614 } else {
18615 None
18616 }
18617 }
18618 #[inline]
18619 fn syntax(&self) -> &SyntaxNode {
18620 &self.syntax
18621 }
18622}
18623impl AstNode for SetAccessMethod {
18624 #[inline]
18625 fn can_cast(kind: SyntaxKind) -> bool {
18626 kind == SyntaxKind::SET_ACCESS_METHOD
18627 }
18628 #[inline]
18629 fn cast(syntax: SyntaxNode) -> Option<Self> {
18630 if Self::can_cast(syntax.kind()) {
18631 Some(Self { syntax })
18632 } else {
18633 None
18634 }
18635 }
18636 #[inline]
18637 fn syntax(&self) -> &SyntaxNode {
18638 &self.syntax
18639 }
18640}
18641impl AstNode for SetCompression {
18642 #[inline]
18643 fn can_cast(kind: SyntaxKind) -> bool {
18644 kind == SyntaxKind::SET_COMPRESSION
18645 }
18646 #[inline]
18647 fn cast(syntax: SyntaxNode) -> Option<Self> {
18648 if Self::can_cast(syntax.kind()) {
18649 Some(Self { syntax })
18650 } else {
18651 None
18652 }
18653 }
18654 #[inline]
18655 fn syntax(&self) -> &SyntaxNode {
18656 &self.syntax
18657 }
18658}
18659impl AstNode for SetConstraints {
18660 #[inline]
18661 fn can_cast(kind: SyntaxKind) -> bool {
18662 kind == SyntaxKind::SET_CONSTRAINTS
18663 }
18664 #[inline]
18665 fn cast(syntax: SyntaxNode) -> Option<Self> {
18666 if Self::can_cast(syntax.kind()) {
18667 Some(Self { syntax })
18668 } else {
18669 None
18670 }
18671 }
18672 #[inline]
18673 fn syntax(&self) -> &SyntaxNode {
18674 &self.syntax
18675 }
18676}
18677impl AstNode for SetDefault {
18678 #[inline]
18679 fn can_cast(kind: SyntaxKind) -> bool {
18680 kind == SyntaxKind::SET_DEFAULT
18681 }
18682 #[inline]
18683 fn cast(syntax: SyntaxNode) -> Option<Self> {
18684 if Self::can_cast(syntax.kind()) {
18685 Some(Self { syntax })
18686 } else {
18687 None
18688 }
18689 }
18690 #[inline]
18691 fn syntax(&self) -> &SyntaxNode {
18692 &self.syntax
18693 }
18694}
18695impl AstNode for SetDefaultColumns {
18696 #[inline]
18697 fn can_cast(kind: SyntaxKind) -> bool {
18698 kind == SyntaxKind::SET_DEFAULT_COLUMNS
18699 }
18700 #[inline]
18701 fn cast(syntax: SyntaxNode) -> Option<Self> {
18702 if Self::can_cast(syntax.kind()) {
18703 Some(Self { syntax })
18704 } else {
18705 None
18706 }
18707 }
18708 #[inline]
18709 fn syntax(&self) -> &SyntaxNode {
18710 &self.syntax
18711 }
18712}
18713impl AstNode for SetExpression {
18714 #[inline]
18715 fn can_cast(kind: SyntaxKind) -> bool {
18716 kind == SyntaxKind::SET_EXPRESSION
18717 }
18718 #[inline]
18719 fn cast(syntax: SyntaxNode) -> Option<Self> {
18720 if Self::can_cast(syntax.kind()) {
18721 Some(Self { syntax })
18722 } else {
18723 None
18724 }
18725 }
18726 #[inline]
18727 fn syntax(&self) -> &SyntaxNode {
18728 &self.syntax
18729 }
18730}
18731impl AstNode for SetFuncOption {
18732 #[inline]
18733 fn can_cast(kind: SyntaxKind) -> bool {
18734 kind == SyntaxKind::SET_FUNC_OPTION
18735 }
18736 #[inline]
18737 fn cast(syntax: SyntaxNode) -> Option<Self> {
18738 if Self::can_cast(syntax.kind()) {
18739 Some(Self { syntax })
18740 } else {
18741 None
18742 }
18743 }
18744 #[inline]
18745 fn syntax(&self) -> &SyntaxNode {
18746 &self.syntax
18747 }
18748}
18749impl AstNode for SetGenerated {
18750 #[inline]
18751 fn can_cast(kind: SyntaxKind) -> bool {
18752 kind == SyntaxKind::SET_GENERATED
18753 }
18754 #[inline]
18755 fn cast(syntax: SyntaxNode) -> Option<Self> {
18756 if Self::can_cast(syntax.kind()) {
18757 Some(Self { syntax })
18758 } else {
18759 None
18760 }
18761 }
18762 #[inline]
18763 fn syntax(&self) -> &SyntaxNode {
18764 &self.syntax
18765 }
18766}
18767impl AstNode for SetGeneratedOptions {
18768 #[inline]
18769 fn can_cast(kind: SyntaxKind) -> bool {
18770 kind == SyntaxKind::SET_GENERATED_OPTIONS
18771 }
18772 #[inline]
18773 fn cast(syntax: SyntaxNode) -> Option<Self> {
18774 if Self::can_cast(syntax.kind()) {
18775 Some(Self { syntax })
18776 } else {
18777 None
18778 }
18779 }
18780 #[inline]
18781 fn syntax(&self) -> &SyntaxNode {
18782 &self.syntax
18783 }
18784}
18785impl AstNode for SetLogged {
18786 #[inline]
18787 fn can_cast(kind: SyntaxKind) -> bool {
18788 kind == SyntaxKind::SET_LOGGED
18789 }
18790 #[inline]
18791 fn cast(syntax: SyntaxNode) -> Option<Self> {
18792 if Self::can_cast(syntax.kind()) {
18793 Some(Self { syntax })
18794 } else {
18795 None
18796 }
18797 }
18798 #[inline]
18799 fn syntax(&self) -> &SyntaxNode {
18800 &self.syntax
18801 }
18802}
18803impl AstNode for SetNotNull {
18804 #[inline]
18805 fn can_cast(kind: SyntaxKind) -> bool {
18806 kind == SyntaxKind::SET_NOT_NULL
18807 }
18808 #[inline]
18809 fn cast(syntax: SyntaxNode) -> Option<Self> {
18810 if Self::can_cast(syntax.kind()) {
18811 Some(Self { syntax })
18812 } else {
18813 None
18814 }
18815 }
18816 #[inline]
18817 fn syntax(&self) -> &SyntaxNode {
18818 &self.syntax
18819 }
18820}
18821impl AstNode for SetNullColumns {
18822 #[inline]
18823 fn can_cast(kind: SyntaxKind) -> bool {
18824 kind == SyntaxKind::SET_NULL_COLUMNS
18825 }
18826 #[inline]
18827 fn cast(syntax: SyntaxNode) -> Option<Self> {
18828 if Self::can_cast(syntax.kind()) {
18829 Some(Self { syntax })
18830 } else {
18831 None
18832 }
18833 }
18834 #[inline]
18835 fn syntax(&self) -> &SyntaxNode {
18836 &self.syntax
18837 }
18838}
18839impl AstNode for SetOptions {
18840 #[inline]
18841 fn can_cast(kind: SyntaxKind) -> bool {
18842 kind == SyntaxKind::SET_OPTIONS
18843 }
18844 #[inline]
18845 fn cast(syntax: SyntaxNode) -> Option<Self> {
18846 if Self::can_cast(syntax.kind()) {
18847 Some(Self { syntax })
18848 } else {
18849 None
18850 }
18851 }
18852 #[inline]
18853 fn syntax(&self) -> &SyntaxNode {
18854 &self.syntax
18855 }
18856}
18857impl AstNode for SetOptionsList {
18858 #[inline]
18859 fn can_cast(kind: SyntaxKind) -> bool {
18860 kind == SyntaxKind::SET_OPTIONS_LIST
18861 }
18862 #[inline]
18863 fn cast(syntax: SyntaxNode) -> Option<Self> {
18864 if Self::can_cast(syntax.kind()) {
18865 Some(Self { syntax })
18866 } else {
18867 None
18868 }
18869 }
18870 #[inline]
18871 fn syntax(&self) -> &SyntaxNode {
18872 &self.syntax
18873 }
18874}
18875impl AstNode for SetRole {
18876 #[inline]
18877 fn can_cast(kind: SyntaxKind) -> bool {
18878 kind == SyntaxKind::SET_ROLE
18879 }
18880 #[inline]
18881 fn cast(syntax: SyntaxNode) -> Option<Self> {
18882 if Self::can_cast(syntax.kind()) {
18883 Some(Self { syntax })
18884 } else {
18885 None
18886 }
18887 }
18888 #[inline]
18889 fn syntax(&self) -> &SyntaxNode {
18890 &self.syntax
18891 }
18892}
18893impl AstNode for SetSchema {
18894 #[inline]
18895 fn can_cast(kind: SyntaxKind) -> bool {
18896 kind == SyntaxKind::SET_SCHEMA
18897 }
18898 #[inline]
18899 fn cast(syntax: SyntaxNode) -> Option<Self> {
18900 if Self::can_cast(syntax.kind()) {
18901 Some(Self { syntax })
18902 } else {
18903 None
18904 }
18905 }
18906 #[inline]
18907 fn syntax(&self) -> &SyntaxNode {
18908 &self.syntax
18909 }
18910}
18911impl AstNode for SetSequenceOption {
18912 #[inline]
18913 fn can_cast(kind: SyntaxKind) -> bool {
18914 kind == SyntaxKind::SET_SEQUENCE_OPTION
18915 }
18916 #[inline]
18917 fn cast(syntax: SyntaxNode) -> Option<Self> {
18918 if Self::can_cast(syntax.kind()) {
18919 Some(Self { syntax })
18920 } else {
18921 None
18922 }
18923 }
18924 #[inline]
18925 fn syntax(&self) -> &SyntaxNode {
18926 &self.syntax
18927 }
18928}
18929impl AstNode for SetSessionAuth {
18930 #[inline]
18931 fn can_cast(kind: SyntaxKind) -> bool {
18932 kind == SyntaxKind::SET_SESSION_AUTH
18933 }
18934 #[inline]
18935 fn cast(syntax: SyntaxNode) -> Option<Self> {
18936 if Self::can_cast(syntax.kind()) {
18937 Some(Self { syntax })
18938 } else {
18939 None
18940 }
18941 }
18942 #[inline]
18943 fn syntax(&self) -> &SyntaxNode {
18944 &self.syntax
18945 }
18946}
18947impl AstNode for SetStatistics {
18948 #[inline]
18949 fn can_cast(kind: SyntaxKind) -> bool {
18950 kind == SyntaxKind::SET_STATISTICS
18951 }
18952 #[inline]
18953 fn cast(syntax: SyntaxNode) -> Option<Self> {
18954 if Self::can_cast(syntax.kind()) {
18955 Some(Self { syntax })
18956 } else {
18957 None
18958 }
18959 }
18960 #[inline]
18961 fn syntax(&self) -> &SyntaxNode {
18962 &self.syntax
18963 }
18964}
18965impl AstNode for SetStorage {
18966 #[inline]
18967 fn can_cast(kind: SyntaxKind) -> bool {
18968 kind == SyntaxKind::SET_STORAGE
18969 }
18970 #[inline]
18971 fn cast(syntax: SyntaxNode) -> Option<Self> {
18972 if Self::can_cast(syntax.kind()) {
18973 Some(Self { syntax })
18974 } else {
18975 None
18976 }
18977 }
18978 #[inline]
18979 fn syntax(&self) -> &SyntaxNode {
18980 &self.syntax
18981 }
18982}
18983impl AstNode for SetStorageParams {
18984 #[inline]
18985 fn can_cast(kind: SyntaxKind) -> bool {
18986 kind == SyntaxKind::SET_STORAGE_PARAMS
18987 }
18988 #[inline]
18989 fn cast(syntax: SyntaxNode) -> Option<Self> {
18990 if Self::can_cast(syntax.kind()) {
18991 Some(Self { syntax })
18992 } else {
18993 None
18994 }
18995 }
18996 #[inline]
18997 fn syntax(&self) -> &SyntaxNode {
18998 &self.syntax
18999 }
19000}
19001impl AstNode for SetTablespace {
19002 #[inline]
19003 fn can_cast(kind: SyntaxKind) -> bool {
19004 kind == SyntaxKind::SET_TABLESPACE
19005 }
19006 #[inline]
19007 fn cast(syntax: SyntaxNode) -> Option<Self> {
19008 if Self::can_cast(syntax.kind()) {
19009 Some(Self { syntax })
19010 } else {
19011 None
19012 }
19013 }
19014 #[inline]
19015 fn syntax(&self) -> &SyntaxNode {
19016 &self.syntax
19017 }
19018}
19019impl AstNode for SetTransaction {
19020 #[inline]
19021 fn can_cast(kind: SyntaxKind) -> bool {
19022 kind == SyntaxKind::SET_TRANSACTION
19023 }
19024 #[inline]
19025 fn cast(syntax: SyntaxNode) -> Option<Self> {
19026 if Self::can_cast(syntax.kind()) {
19027 Some(Self { syntax })
19028 } else {
19029 None
19030 }
19031 }
19032 #[inline]
19033 fn syntax(&self) -> &SyntaxNode {
19034 &self.syntax
19035 }
19036}
19037impl AstNode for SetType {
19038 #[inline]
19039 fn can_cast(kind: SyntaxKind) -> bool {
19040 kind == SyntaxKind::SET_TYPE
19041 }
19042 #[inline]
19043 fn cast(syntax: SyntaxNode) -> Option<Self> {
19044 if Self::can_cast(syntax.kind()) {
19045 Some(Self { syntax })
19046 } else {
19047 None
19048 }
19049 }
19050 #[inline]
19051 fn syntax(&self) -> &SyntaxNode {
19052 &self.syntax
19053 }
19054}
19055impl AstNode for SetUnlogged {
19056 #[inline]
19057 fn can_cast(kind: SyntaxKind) -> bool {
19058 kind == SyntaxKind::SET_UNLOGGED
19059 }
19060 #[inline]
19061 fn cast(syntax: SyntaxNode) -> Option<Self> {
19062 if Self::can_cast(syntax.kind()) {
19063 Some(Self { syntax })
19064 } else {
19065 None
19066 }
19067 }
19068 #[inline]
19069 fn syntax(&self) -> &SyntaxNode {
19070 &self.syntax
19071 }
19072}
19073impl AstNode for SetWithoutCluster {
19074 #[inline]
19075 fn can_cast(kind: SyntaxKind) -> bool {
19076 kind == SyntaxKind::SET_WITHOUT_CLUSTER
19077 }
19078 #[inline]
19079 fn cast(syntax: SyntaxNode) -> Option<Self> {
19080 if Self::can_cast(syntax.kind()) {
19081 Some(Self { syntax })
19082 } else {
19083 None
19084 }
19085 }
19086 #[inline]
19087 fn syntax(&self) -> &SyntaxNode {
19088 &self.syntax
19089 }
19090}
19091impl AstNode for SetWithoutOids {
19092 #[inline]
19093 fn can_cast(kind: SyntaxKind) -> bool {
19094 kind == SyntaxKind::SET_WITHOUT_OIDS
19095 }
19096 #[inline]
19097 fn cast(syntax: SyntaxNode) -> Option<Self> {
19098 if Self::can_cast(syntax.kind()) {
19099 Some(Self { syntax })
19100 } else {
19101 None
19102 }
19103 }
19104 #[inline]
19105 fn syntax(&self) -> &SyntaxNode {
19106 &self.syntax
19107 }
19108}
19109impl AstNode for Show {
19110 #[inline]
19111 fn can_cast(kind: SyntaxKind) -> bool {
19112 kind == SyntaxKind::SHOW
19113 }
19114 #[inline]
19115 fn cast(syntax: SyntaxNode) -> Option<Self> {
19116 if Self::can_cast(syntax.kind()) {
19117 Some(Self { syntax })
19118 } else {
19119 None
19120 }
19121 }
19122 #[inline]
19123 fn syntax(&self) -> &SyntaxNode {
19124 &self.syntax
19125 }
19126}
19127impl AstNode for SimilarTo {
19128 #[inline]
19129 fn can_cast(kind: SyntaxKind) -> bool {
19130 kind == SyntaxKind::SIMILAR_TO
19131 }
19132 #[inline]
19133 fn cast(syntax: SyntaxNode) -> Option<Self> {
19134 if Self::can_cast(syntax.kind()) {
19135 Some(Self { syntax })
19136 } else {
19137 None
19138 }
19139 }
19140 #[inline]
19141 fn syntax(&self) -> &SyntaxNode {
19142 &self.syntax
19143 }
19144}
19145impl AstNode for SortAsc {
19146 #[inline]
19147 fn can_cast(kind: SyntaxKind) -> bool {
19148 kind == SyntaxKind::SORT_ASC
19149 }
19150 #[inline]
19151 fn cast(syntax: SyntaxNode) -> Option<Self> {
19152 if Self::can_cast(syntax.kind()) {
19153 Some(Self { syntax })
19154 } else {
19155 None
19156 }
19157 }
19158 #[inline]
19159 fn syntax(&self) -> &SyntaxNode {
19160 &self.syntax
19161 }
19162}
19163impl AstNode for SortBy {
19164 #[inline]
19165 fn can_cast(kind: SyntaxKind) -> bool {
19166 kind == SyntaxKind::SORT_BY
19167 }
19168 #[inline]
19169 fn cast(syntax: SyntaxNode) -> Option<Self> {
19170 if Self::can_cast(syntax.kind()) {
19171 Some(Self { syntax })
19172 } else {
19173 None
19174 }
19175 }
19176 #[inline]
19177 fn syntax(&self) -> &SyntaxNode {
19178 &self.syntax
19179 }
19180}
19181impl AstNode for SortByList {
19182 #[inline]
19183 fn can_cast(kind: SyntaxKind) -> bool {
19184 kind == SyntaxKind::SORT_BY_LIST
19185 }
19186 #[inline]
19187 fn cast(syntax: SyntaxNode) -> Option<Self> {
19188 if Self::can_cast(syntax.kind()) {
19189 Some(Self { syntax })
19190 } else {
19191 None
19192 }
19193 }
19194 #[inline]
19195 fn syntax(&self) -> &SyntaxNode {
19196 &self.syntax
19197 }
19198}
19199impl AstNode for SortDesc {
19200 #[inline]
19201 fn can_cast(kind: SyntaxKind) -> bool {
19202 kind == SyntaxKind::SORT_DESC
19203 }
19204 #[inline]
19205 fn cast(syntax: SyntaxNode) -> Option<Self> {
19206 if Self::can_cast(syntax.kind()) {
19207 Some(Self { syntax })
19208 } else {
19209 None
19210 }
19211 }
19212 #[inline]
19213 fn syntax(&self) -> &SyntaxNode {
19214 &self.syntax
19215 }
19216}
19217impl AstNode for SortUsing {
19218 #[inline]
19219 fn can_cast(kind: SyntaxKind) -> bool {
19220 kind == SyntaxKind::SORT_USING
19221 }
19222 #[inline]
19223 fn cast(syntax: SyntaxNode) -> Option<Self> {
19224 if Self::can_cast(syntax.kind()) {
19225 Some(Self { syntax })
19226 } else {
19227 None
19228 }
19229 }
19230 #[inline]
19231 fn syntax(&self) -> &SyntaxNode {
19232 &self.syntax
19233 }
19234}
19235impl AstNode for SourceFile {
19236 #[inline]
19237 fn can_cast(kind: SyntaxKind) -> bool {
19238 kind == SyntaxKind::SOURCE_FILE
19239 }
19240 #[inline]
19241 fn cast(syntax: SyntaxNode) -> Option<Self> {
19242 if Self::can_cast(syntax.kind()) {
19243 Some(Self { syntax })
19244 } else {
19245 None
19246 }
19247 }
19248 #[inline]
19249 fn syntax(&self) -> &SyntaxNode {
19250 &self.syntax
19251 }
19252}
19253impl AstNode for Storage {
19254 #[inline]
19255 fn can_cast(kind: SyntaxKind) -> bool {
19256 kind == SyntaxKind::STORAGE
19257 }
19258 #[inline]
19259 fn cast(syntax: SyntaxNode) -> Option<Self> {
19260 if Self::can_cast(syntax.kind()) {
19261 Some(Self { syntax })
19262 } else {
19263 None
19264 }
19265 }
19266 #[inline]
19267 fn syntax(&self) -> &SyntaxNode {
19268 &self.syntax
19269 }
19270}
19271impl AstNode for StrictFuncOption {
19272 #[inline]
19273 fn can_cast(kind: SyntaxKind) -> bool {
19274 kind == SyntaxKind::STRICT_FUNC_OPTION
19275 }
19276 #[inline]
19277 fn cast(syntax: SyntaxNode) -> Option<Self> {
19278 if Self::can_cast(syntax.kind()) {
19279 Some(Self { syntax })
19280 } else {
19281 None
19282 }
19283 }
19284 #[inline]
19285 fn syntax(&self) -> &SyntaxNode {
19286 &self.syntax
19287 }
19288}
19289impl AstNode for SupportFuncOption {
19290 #[inline]
19291 fn can_cast(kind: SyntaxKind) -> bool {
19292 kind == SyntaxKind::SUPPORT_FUNC_OPTION
19293 }
19294 #[inline]
19295 fn cast(syntax: SyntaxNode) -> Option<Self> {
19296 if Self::can_cast(syntax.kind()) {
19297 Some(Self { syntax })
19298 } else {
19299 None
19300 }
19301 }
19302 #[inline]
19303 fn syntax(&self) -> &SyntaxNode {
19304 &self.syntax
19305 }
19306}
19307impl AstNode for Table {
19308 #[inline]
19309 fn can_cast(kind: SyntaxKind) -> bool {
19310 kind == SyntaxKind::TABLE
19311 }
19312 #[inline]
19313 fn cast(syntax: SyntaxNode) -> Option<Self> {
19314 if Self::can_cast(syntax.kind()) {
19315 Some(Self { syntax })
19316 } else {
19317 None
19318 }
19319 }
19320 #[inline]
19321 fn syntax(&self) -> &SyntaxNode {
19322 &self.syntax
19323 }
19324}
19325impl AstNode for TableArgList {
19326 #[inline]
19327 fn can_cast(kind: SyntaxKind) -> bool {
19328 kind == SyntaxKind::TABLE_ARG_LIST
19329 }
19330 #[inline]
19331 fn cast(syntax: SyntaxNode) -> Option<Self> {
19332 if Self::can_cast(syntax.kind()) {
19333 Some(Self { syntax })
19334 } else {
19335 None
19336 }
19337 }
19338 #[inline]
19339 fn syntax(&self) -> &SyntaxNode {
19340 &self.syntax
19341 }
19342}
19343impl AstNode for TableList {
19344 #[inline]
19345 fn can_cast(kind: SyntaxKind) -> bool {
19346 kind == SyntaxKind::TABLE_LIST
19347 }
19348 #[inline]
19349 fn cast(syntax: SyntaxNode) -> Option<Self> {
19350 if Self::can_cast(syntax.kind()) {
19351 Some(Self { syntax })
19352 } else {
19353 None
19354 }
19355 }
19356 #[inline]
19357 fn syntax(&self) -> &SyntaxNode {
19358 &self.syntax
19359 }
19360}
19361impl AstNode for Tablespace {
19362 #[inline]
19363 fn can_cast(kind: SyntaxKind) -> bool {
19364 kind == SyntaxKind::TABLESPACE
19365 }
19366 #[inline]
19367 fn cast(syntax: SyntaxNode) -> Option<Self> {
19368 if Self::can_cast(syntax.kind()) {
19369 Some(Self { syntax })
19370 } else {
19371 None
19372 }
19373 }
19374 #[inline]
19375 fn syntax(&self) -> &SyntaxNode {
19376 &self.syntax
19377 }
19378}
19379impl AstNode for Target {
19380 #[inline]
19381 fn can_cast(kind: SyntaxKind) -> bool {
19382 kind == SyntaxKind::TARGET
19383 }
19384 #[inline]
19385 fn cast(syntax: SyntaxNode) -> Option<Self> {
19386 if Self::can_cast(syntax.kind()) {
19387 Some(Self { syntax })
19388 } else {
19389 None
19390 }
19391 }
19392 #[inline]
19393 fn syntax(&self) -> &SyntaxNode {
19394 &self.syntax
19395 }
19396}
19397impl AstNode for TargetList {
19398 #[inline]
19399 fn can_cast(kind: SyntaxKind) -> bool {
19400 kind == SyntaxKind::TARGET_LIST
19401 }
19402 #[inline]
19403 fn cast(syntax: SyntaxNode) -> Option<Self> {
19404 if Self::can_cast(syntax.kind()) {
19405 Some(Self { syntax })
19406 } else {
19407 None
19408 }
19409 }
19410 #[inline]
19411 fn syntax(&self) -> &SyntaxNode {
19412 &self.syntax
19413 }
19414}
19415impl AstNode for TimeType {
19416 #[inline]
19417 fn can_cast(kind: SyntaxKind) -> bool {
19418 kind == SyntaxKind::TIME_TYPE
19419 }
19420 #[inline]
19421 fn cast(syntax: SyntaxNode) -> Option<Self> {
19422 if Self::can_cast(syntax.kind()) {
19423 Some(Self { syntax })
19424 } else {
19425 None
19426 }
19427 }
19428 #[inline]
19429 fn syntax(&self) -> &SyntaxNode {
19430 &self.syntax
19431 }
19432}
19433impl AstNode for TransactionModeList {
19434 #[inline]
19435 fn can_cast(kind: SyntaxKind) -> bool {
19436 kind == SyntaxKind::TRANSACTION_MODE_LIST
19437 }
19438 #[inline]
19439 fn cast(syntax: SyntaxNode) -> Option<Self> {
19440 if Self::can_cast(syntax.kind()) {
19441 Some(Self { syntax })
19442 } else {
19443 None
19444 }
19445 }
19446 #[inline]
19447 fn syntax(&self) -> &SyntaxNode {
19448 &self.syntax
19449 }
19450}
19451impl AstNode for TransformFuncOption {
19452 #[inline]
19453 fn can_cast(kind: SyntaxKind) -> bool {
19454 kind == SyntaxKind::TRANSFORM_FUNC_OPTION
19455 }
19456 #[inline]
19457 fn cast(syntax: SyntaxNode) -> Option<Self> {
19458 if Self::can_cast(syntax.kind()) {
19459 Some(Self { syntax })
19460 } else {
19461 None
19462 }
19463 }
19464 #[inline]
19465 fn syntax(&self) -> &SyntaxNode {
19466 &self.syntax
19467 }
19468}
19469impl AstNode for Truncate {
19470 #[inline]
19471 fn can_cast(kind: SyntaxKind) -> bool {
19472 kind == SyntaxKind::TRUNCATE
19473 }
19474 #[inline]
19475 fn cast(syntax: SyntaxNode) -> Option<Self> {
19476 if Self::can_cast(syntax.kind()) {
19477 Some(Self { syntax })
19478 } else {
19479 None
19480 }
19481 }
19482 #[inline]
19483 fn syntax(&self) -> &SyntaxNode {
19484 &self.syntax
19485 }
19486}
19487impl AstNode for TupleExpr {
19488 #[inline]
19489 fn can_cast(kind: SyntaxKind) -> bool {
19490 kind == SyntaxKind::TUPLE_EXPR
19491 }
19492 #[inline]
19493 fn cast(syntax: SyntaxNode) -> Option<Self> {
19494 if Self::can_cast(syntax.kind()) {
19495 Some(Self { syntax })
19496 } else {
19497 None
19498 }
19499 }
19500 #[inline]
19501 fn syntax(&self) -> &SyntaxNode {
19502 &self.syntax
19503 }
19504}
19505impl AstNode for UnicodeNormalForm {
19506 #[inline]
19507 fn can_cast(kind: SyntaxKind) -> bool {
19508 kind == SyntaxKind::UNICODE_NORMAL_FORM
19509 }
19510 #[inline]
19511 fn cast(syntax: SyntaxNode) -> Option<Self> {
19512 if Self::can_cast(syntax.kind()) {
19513 Some(Self { syntax })
19514 } else {
19515 None
19516 }
19517 }
19518 #[inline]
19519 fn syntax(&self) -> &SyntaxNode {
19520 &self.syntax
19521 }
19522}
19523impl AstNode for UniqueConstraint {
19524 #[inline]
19525 fn can_cast(kind: SyntaxKind) -> bool {
19526 kind == SyntaxKind::UNIQUE_CONSTRAINT
19527 }
19528 #[inline]
19529 fn cast(syntax: SyntaxNode) -> Option<Self> {
19530 if Self::can_cast(syntax.kind()) {
19531 Some(Self { syntax })
19532 } else {
19533 None
19534 }
19535 }
19536 #[inline]
19537 fn syntax(&self) -> &SyntaxNode {
19538 &self.syntax
19539 }
19540}
19541impl AstNode for Unlisten {
19542 #[inline]
19543 fn can_cast(kind: SyntaxKind) -> bool {
19544 kind == SyntaxKind::UNLISTEN
19545 }
19546 #[inline]
19547 fn cast(syntax: SyntaxNode) -> Option<Self> {
19548 if Self::can_cast(syntax.kind()) {
19549 Some(Self { syntax })
19550 } else {
19551 None
19552 }
19553 }
19554 #[inline]
19555 fn syntax(&self) -> &SyntaxNode {
19556 &self.syntax
19557 }
19558}
19559impl AstNode for Update {
19560 #[inline]
19561 fn can_cast(kind: SyntaxKind) -> bool {
19562 kind == SyntaxKind::UPDATE
19563 }
19564 #[inline]
19565 fn cast(syntax: SyntaxNode) -> Option<Self> {
19566 if Self::can_cast(syntax.kind()) {
19567 Some(Self { syntax })
19568 } else {
19569 None
19570 }
19571 }
19572 #[inline]
19573 fn syntax(&self) -> &SyntaxNode {
19574 &self.syntax
19575 }
19576}
19577impl AstNode for UsingClause {
19578 #[inline]
19579 fn can_cast(kind: SyntaxKind) -> bool {
19580 kind == SyntaxKind::USING_CLAUSE
19581 }
19582 #[inline]
19583 fn cast(syntax: SyntaxNode) -> Option<Self> {
19584 if Self::can_cast(syntax.kind()) {
19585 Some(Self { syntax })
19586 } else {
19587 None
19588 }
19589 }
19590 #[inline]
19591 fn syntax(&self) -> &SyntaxNode {
19592 &self.syntax
19593 }
19594}
19595impl AstNode for UsingIndex {
19596 #[inline]
19597 fn can_cast(kind: SyntaxKind) -> bool {
19598 kind == SyntaxKind::USING_INDEX
19599 }
19600 #[inline]
19601 fn cast(syntax: SyntaxNode) -> Option<Self> {
19602 if Self::can_cast(syntax.kind()) {
19603 Some(Self { syntax })
19604 } else {
19605 None
19606 }
19607 }
19608 #[inline]
19609 fn syntax(&self) -> &SyntaxNode {
19610 &self.syntax
19611 }
19612}
19613impl AstNode for UsingMethod {
19614 #[inline]
19615 fn can_cast(kind: SyntaxKind) -> bool {
19616 kind == SyntaxKind::USING_METHOD
19617 }
19618 #[inline]
19619 fn cast(syntax: SyntaxNode) -> Option<Self> {
19620 if Self::can_cast(syntax.kind()) {
19621 Some(Self { syntax })
19622 } else {
19623 None
19624 }
19625 }
19626 #[inline]
19627 fn syntax(&self) -> &SyntaxNode {
19628 &self.syntax
19629 }
19630}
19631impl AstNode for Vacuum {
19632 #[inline]
19633 fn can_cast(kind: SyntaxKind) -> bool {
19634 kind == SyntaxKind::VACUUM
19635 }
19636 #[inline]
19637 fn cast(syntax: SyntaxNode) -> Option<Self> {
19638 if Self::can_cast(syntax.kind()) {
19639 Some(Self { syntax })
19640 } else {
19641 None
19642 }
19643 }
19644 #[inline]
19645 fn syntax(&self) -> &SyntaxNode {
19646 &self.syntax
19647 }
19648}
19649impl AstNode for VacuumOption {
19650 #[inline]
19651 fn can_cast(kind: SyntaxKind) -> bool {
19652 kind == SyntaxKind::VACUUM_OPTION
19653 }
19654 #[inline]
19655 fn cast(syntax: SyntaxNode) -> Option<Self> {
19656 if Self::can_cast(syntax.kind()) {
19657 Some(Self { syntax })
19658 } else {
19659 None
19660 }
19661 }
19662 #[inline]
19663 fn syntax(&self) -> &SyntaxNode {
19664 &self.syntax
19665 }
19666}
19667impl AstNode for VacuumOptionList {
19668 #[inline]
19669 fn can_cast(kind: SyntaxKind) -> bool {
19670 kind == SyntaxKind::VACUUM_OPTION_LIST
19671 }
19672 #[inline]
19673 fn cast(syntax: SyntaxNode) -> Option<Self> {
19674 if Self::can_cast(syntax.kind()) {
19675 Some(Self { syntax })
19676 } else {
19677 None
19678 }
19679 }
19680 #[inline]
19681 fn syntax(&self) -> &SyntaxNode {
19682 &self.syntax
19683 }
19684}
19685impl AstNode for ValidateConstraint {
19686 #[inline]
19687 fn can_cast(kind: SyntaxKind) -> bool {
19688 kind == SyntaxKind::VALIDATE_CONSTRAINT
19689 }
19690 #[inline]
19691 fn cast(syntax: SyntaxNode) -> Option<Self> {
19692 if Self::can_cast(syntax.kind()) {
19693 Some(Self { syntax })
19694 } else {
19695 None
19696 }
19697 }
19698 #[inline]
19699 fn syntax(&self) -> &SyntaxNode {
19700 &self.syntax
19701 }
19702}
19703impl AstNode for Values {
19704 #[inline]
19705 fn can_cast(kind: SyntaxKind) -> bool {
19706 kind == SyntaxKind::VALUES
19707 }
19708 #[inline]
19709 fn cast(syntax: SyntaxNode) -> Option<Self> {
19710 if Self::can_cast(syntax.kind()) {
19711 Some(Self { syntax })
19712 } else {
19713 None
19714 }
19715 }
19716 #[inline]
19717 fn syntax(&self) -> &SyntaxNode {
19718 &self.syntax
19719 }
19720}
19721impl AstNode for Variant {
19722 #[inline]
19723 fn can_cast(kind: SyntaxKind) -> bool {
19724 kind == SyntaxKind::VARIANT
19725 }
19726 #[inline]
19727 fn cast(syntax: SyntaxNode) -> Option<Self> {
19728 if Self::can_cast(syntax.kind()) {
19729 Some(Self { syntax })
19730 } else {
19731 None
19732 }
19733 }
19734 #[inline]
19735 fn syntax(&self) -> &SyntaxNode {
19736 &self.syntax
19737 }
19738}
19739impl AstNode for VariantList {
19740 #[inline]
19741 fn can_cast(kind: SyntaxKind) -> bool {
19742 kind == SyntaxKind::VARIANT_LIST
19743 }
19744 #[inline]
19745 fn cast(syntax: SyntaxNode) -> Option<Self> {
19746 if Self::can_cast(syntax.kind()) {
19747 Some(Self { syntax })
19748 } else {
19749 None
19750 }
19751 }
19752 #[inline]
19753 fn syntax(&self) -> &SyntaxNode {
19754 &self.syntax
19755 }
19756}
19757impl AstNode for VolatilityFuncOption {
19758 #[inline]
19759 fn can_cast(kind: SyntaxKind) -> bool {
19760 kind == SyntaxKind::VOLATILITY_FUNC_OPTION
19761 }
19762 #[inline]
19763 fn cast(syntax: SyntaxNode) -> Option<Self> {
19764 if Self::can_cast(syntax.kind()) {
19765 Some(Self { syntax })
19766 } else {
19767 None
19768 }
19769 }
19770 #[inline]
19771 fn syntax(&self) -> &SyntaxNode {
19772 &self.syntax
19773 }
19774}
19775impl AstNode for WhenClause {
19776 #[inline]
19777 fn can_cast(kind: SyntaxKind) -> bool {
19778 kind == SyntaxKind::WHEN_CLAUSE
19779 }
19780 #[inline]
19781 fn cast(syntax: SyntaxNode) -> Option<Self> {
19782 if Self::can_cast(syntax.kind()) {
19783 Some(Self { syntax })
19784 } else {
19785 None
19786 }
19787 }
19788 #[inline]
19789 fn syntax(&self) -> &SyntaxNode {
19790 &self.syntax
19791 }
19792}
19793impl AstNode for WhenClauseList {
19794 #[inline]
19795 fn can_cast(kind: SyntaxKind) -> bool {
19796 kind == SyntaxKind::WHEN_CLAUSE_LIST
19797 }
19798 #[inline]
19799 fn cast(syntax: SyntaxNode) -> Option<Self> {
19800 if Self::can_cast(syntax.kind()) {
19801 Some(Self { syntax })
19802 } else {
19803 None
19804 }
19805 }
19806 #[inline]
19807 fn syntax(&self) -> &SyntaxNode {
19808 &self.syntax
19809 }
19810}
19811impl AstNode for WhereClause {
19812 #[inline]
19813 fn can_cast(kind: SyntaxKind) -> bool {
19814 kind == SyntaxKind::WHERE_CLAUSE
19815 }
19816 #[inline]
19817 fn cast(syntax: SyntaxNode) -> Option<Self> {
19818 if Self::can_cast(syntax.kind()) {
19819 Some(Self { syntax })
19820 } else {
19821 None
19822 }
19823 }
19824 #[inline]
19825 fn syntax(&self) -> &SyntaxNode {
19826 &self.syntax
19827 }
19828}
19829impl AstNode for WindowClause {
19830 #[inline]
19831 fn can_cast(kind: SyntaxKind) -> bool {
19832 kind == SyntaxKind::WINDOW_CLAUSE
19833 }
19834 #[inline]
19835 fn cast(syntax: SyntaxNode) -> Option<Self> {
19836 if Self::can_cast(syntax.kind()) {
19837 Some(Self { syntax })
19838 } else {
19839 None
19840 }
19841 }
19842 #[inline]
19843 fn syntax(&self) -> &SyntaxNode {
19844 &self.syntax
19845 }
19846}
19847impl AstNode for WindowDef {
19848 #[inline]
19849 fn can_cast(kind: SyntaxKind) -> bool {
19850 kind == SyntaxKind::WINDOW_DEF
19851 }
19852 #[inline]
19853 fn cast(syntax: SyntaxNode) -> Option<Self> {
19854 if Self::can_cast(syntax.kind()) {
19855 Some(Self { syntax })
19856 } else {
19857 None
19858 }
19859 }
19860 #[inline]
19861 fn syntax(&self) -> &SyntaxNode {
19862 &self.syntax
19863 }
19864}
19865impl AstNode for WindowFuncOption {
19866 #[inline]
19867 fn can_cast(kind: SyntaxKind) -> bool {
19868 kind == SyntaxKind::WINDOW_FUNC_OPTION
19869 }
19870 #[inline]
19871 fn cast(syntax: SyntaxNode) -> Option<Self> {
19872 if Self::can_cast(syntax.kind()) {
19873 Some(Self { syntax })
19874 } else {
19875 None
19876 }
19877 }
19878 #[inline]
19879 fn syntax(&self) -> &SyntaxNode {
19880 &self.syntax
19881 }
19882}
19883impl AstNode for WindowSpec {
19884 #[inline]
19885 fn can_cast(kind: SyntaxKind) -> bool {
19886 kind == SyntaxKind::WINDOW_SPEC
19887 }
19888 #[inline]
19889 fn cast(syntax: SyntaxNode) -> Option<Self> {
19890 if Self::can_cast(syntax.kind()) {
19891 Some(Self { syntax })
19892 } else {
19893 None
19894 }
19895 }
19896 #[inline]
19897 fn syntax(&self) -> &SyntaxNode {
19898 &self.syntax
19899 }
19900}
19901impl AstNode for WithClause {
19902 #[inline]
19903 fn can_cast(kind: SyntaxKind) -> bool {
19904 kind == SyntaxKind::WITH_CLAUSE
19905 }
19906 #[inline]
19907 fn cast(syntax: SyntaxNode) -> Option<Self> {
19908 if Self::can_cast(syntax.kind()) {
19909 Some(Self { syntax })
19910 } else {
19911 None
19912 }
19913 }
19914 #[inline]
19915 fn syntax(&self) -> &SyntaxNode {
19916 &self.syntax
19917 }
19918}
19919impl AstNode for WithData {
19920 #[inline]
19921 fn can_cast(kind: SyntaxKind) -> bool {
19922 kind == SyntaxKind::WITH_DATA
19923 }
19924 #[inline]
19925 fn cast(syntax: SyntaxNode) -> Option<Self> {
19926 if Self::can_cast(syntax.kind()) {
19927 Some(Self { syntax })
19928 } else {
19929 None
19930 }
19931 }
19932 #[inline]
19933 fn syntax(&self) -> &SyntaxNode {
19934 &self.syntax
19935 }
19936}
19937impl AstNode for WithNoData {
19938 #[inline]
19939 fn can_cast(kind: SyntaxKind) -> bool {
19940 kind == SyntaxKind::WITH_NO_DATA
19941 }
19942 #[inline]
19943 fn cast(syntax: SyntaxNode) -> Option<Self> {
19944 if Self::can_cast(syntax.kind()) {
19945 Some(Self { syntax })
19946 } else {
19947 None
19948 }
19949 }
19950 #[inline]
19951 fn syntax(&self) -> &SyntaxNode {
19952 &self.syntax
19953 }
19954}
19955impl AstNode for WithOptions {
19956 #[inline]
19957 fn can_cast(kind: SyntaxKind) -> bool {
19958 kind == SyntaxKind::WITH_OPTIONS
19959 }
19960 #[inline]
19961 fn cast(syntax: SyntaxNode) -> Option<Self> {
19962 if Self::can_cast(syntax.kind()) {
19963 Some(Self { syntax })
19964 } else {
19965 None
19966 }
19967 }
19968 #[inline]
19969 fn syntax(&self) -> &SyntaxNode {
19970 &self.syntax
19971 }
19972}
19973impl AstNode for WithParams {
19974 #[inline]
19975 fn can_cast(kind: SyntaxKind) -> bool {
19976 kind == SyntaxKind::WITH_PARAMS
19977 }
19978 #[inline]
19979 fn cast(syntax: SyntaxNode) -> Option<Self> {
19980 if Self::can_cast(syntax.kind()) {
19981 Some(Self { syntax })
19982 } else {
19983 None
19984 }
19985 }
19986 #[inline]
19987 fn syntax(&self) -> &SyntaxNode {
19988 &self.syntax
19989 }
19990}
19991impl AstNode for WithTable {
19992 #[inline]
19993 fn can_cast(kind: SyntaxKind) -> bool {
19994 kind == SyntaxKind::WITH_TABLE
19995 }
19996 #[inline]
19997 fn cast(syntax: SyntaxNode) -> Option<Self> {
19998 if Self::can_cast(syntax.kind()) {
19999 Some(Self { syntax })
20000 } else {
20001 None
20002 }
20003 }
20004 #[inline]
20005 fn syntax(&self) -> &SyntaxNode {
20006 &self.syntax
20007 }
20008}
20009impl AstNode for WithTimezone {
20010 #[inline]
20011 fn can_cast(kind: SyntaxKind) -> bool {
20012 kind == SyntaxKind::WITH_TIMEZONE
20013 }
20014 #[inline]
20015 fn cast(syntax: SyntaxNode) -> Option<Self> {
20016 if Self::can_cast(syntax.kind()) {
20017 Some(Self { syntax })
20018 } else {
20019 None
20020 }
20021 }
20022 #[inline]
20023 fn syntax(&self) -> &SyntaxNode {
20024 &self.syntax
20025 }
20026}
20027impl AstNode for WithinClause {
20028 #[inline]
20029 fn can_cast(kind: SyntaxKind) -> bool {
20030 kind == SyntaxKind::WITHIN_CLAUSE
20031 }
20032 #[inline]
20033 fn cast(syntax: SyntaxNode) -> Option<Self> {
20034 if Self::can_cast(syntax.kind()) {
20035 Some(Self { syntax })
20036 } else {
20037 None
20038 }
20039 }
20040 #[inline]
20041 fn syntax(&self) -> &SyntaxNode {
20042 &self.syntax
20043 }
20044}
20045impl AstNode for WithoutOids {
20046 #[inline]
20047 fn can_cast(kind: SyntaxKind) -> bool {
20048 kind == SyntaxKind::WITHOUT_OIDS
20049 }
20050 #[inline]
20051 fn cast(syntax: SyntaxNode) -> Option<Self> {
20052 if Self::can_cast(syntax.kind()) {
20053 Some(Self { syntax })
20054 } else {
20055 None
20056 }
20057 }
20058 #[inline]
20059 fn syntax(&self) -> &SyntaxNode {
20060 &self.syntax
20061 }
20062}
20063impl AstNode for WithoutTimezone {
20064 #[inline]
20065 fn can_cast(kind: SyntaxKind) -> bool {
20066 kind == SyntaxKind::WITHOUT_TIMEZONE
20067 }
20068 #[inline]
20069 fn cast(syntax: SyntaxNode) -> Option<Self> {
20070 if Self::can_cast(syntax.kind()) {
20071 Some(Self { syntax })
20072 } else {
20073 None
20074 }
20075 }
20076 #[inline]
20077 fn syntax(&self) -> &SyntaxNode {
20078 &self.syntax
20079 }
20080}
20081impl AstNode for XmlColumnOption {
20082 #[inline]
20083 fn can_cast(kind: SyntaxKind) -> bool {
20084 kind == SyntaxKind::XML_COLUMN_OPTION
20085 }
20086 #[inline]
20087 fn cast(syntax: SyntaxNode) -> Option<Self> {
20088 if Self::can_cast(syntax.kind()) {
20089 Some(Self { syntax })
20090 } else {
20091 None
20092 }
20093 }
20094 #[inline]
20095 fn syntax(&self) -> &SyntaxNode {
20096 &self.syntax
20097 }
20098}
20099impl AstNode for XmlColumnOptionList {
20100 #[inline]
20101 fn can_cast(kind: SyntaxKind) -> bool {
20102 kind == SyntaxKind::XML_COLUMN_OPTION_LIST
20103 }
20104 #[inline]
20105 fn cast(syntax: SyntaxNode) -> Option<Self> {
20106 if Self::can_cast(syntax.kind()) {
20107 Some(Self { syntax })
20108 } else {
20109 None
20110 }
20111 }
20112 #[inline]
20113 fn syntax(&self) -> &SyntaxNode {
20114 &self.syntax
20115 }
20116}
20117impl AstNode for XmlTableColumn {
20118 #[inline]
20119 fn can_cast(kind: SyntaxKind) -> bool {
20120 kind == SyntaxKind::XML_TABLE_COLUMN
20121 }
20122 #[inline]
20123 fn cast(syntax: SyntaxNode) -> Option<Self> {
20124 if Self::can_cast(syntax.kind()) {
20125 Some(Self { syntax })
20126 } else {
20127 None
20128 }
20129 }
20130 #[inline]
20131 fn syntax(&self) -> &SyntaxNode {
20132 &self.syntax
20133 }
20134}
20135impl AstNode for XmlTableColumnList {
20136 #[inline]
20137 fn can_cast(kind: SyntaxKind) -> bool {
20138 kind == SyntaxKind::XML_TABLE_COLUMN_LIST
20139 }
20140 #[inline]
20141 fn cast(syntax: SyntaxNode) -> Option<Self> {
20142 if Self::can_cast(syntax.kind()) {
20143 Some(Self { syntax })
20144 } else {
20145 None
20146 }
20147 }
20148 #[inline]
20149 fn syntax(&self) -> &SyntaxNode {
20150 &self.syntax
20151 }
20152}
20153impl AstNode for AlterColumnOption {
20154 #[inline]
20155 fn can_cast(kind: SyntaxKind) -> bool {
20156 matches!(
20157 kind,
20158 SyntaxKind::ADD_GENERATED
20159 | SyntaxKind::DROP_DEFAULT
20160 | SyntaxKind::DROP_EXPRESSION
20161 | SyntaxKind::DROP_IDENTITY
20162 | SyntaxKind::DROP_NOT_NULL
20163 | SyntaxKind::RESET_OPTIONS
20164 | SyntaxKind::RESTART
20165 | SyntaxKind::SET_COMPRESSION
20166 | SyntaxKind::SET_DEFAULT
20167 | SyntaxKind::SET_EXPRESSION
20168 | SyntaxKind::SET_GENERATED
20169 | SyntaxKind::SET_GENERATED_OPTIONS
20170 | SyntaxKind::SET_NOT_NULL
20171 | SyntaxKind::SET_OPTIONS
20172 | SyntaxKind::SET_SEQUENCE_OPTION
20173 | SyntaxKind::SET_STATISTICS
20174 | SyntaxKind::SET_STORAGE
20175 | SyntaxKind::SET_TYPE
20176 )
20177 }
20178 #[inline]
20179 fn cast(syntax: SyntaxNode) -> Option<Self> {
20180 let res = match syntax.kind() {
20181 SyntaxKind::ADD_GENERATED => AlterColumnOption::AddGenerated(AddGenerated { syntax }),
20182 SyntaxKind::DROP_DEFAULT => AlterColumnOption::DropDefault(DropDefault { syntax }),
20183 SyntaxKind::DROP_EXPRESSION => {
20184 AlterColumnOption::DropExpression(DropExpression { syntax })
20185 }
20186 SyntaxKind::DROP_IDENTITY => AlterColumnOption::DropIdentity(DropIdentity { syntax }),
20187 SyntaxKind::DROP_NOT_NULL => AlterColumnOption::DropNotNull(DropNotNull { syntax }),
20188 SyntaxKind::RESET_OPTIONS => AlterColumnOption::ResetOptions(ResetOptions { syntax }),
20189 SyntaxKind::RESTART => AlterColumnOption::Restart(Restart { syntax }),
20190 SyntaxKind::SET_COMPRESSION => {
20191 AlterColumnOption::SetCompression(SetCompression { syntax })
20192 }
20193 SyntaxKind::SET_DEFAULT => AlterColumnOption::SetDefault(SetDefault { syntax }),
20194 SyntaxKind::SET_EXPRESSION => {
20195 AlterColumnOption::SetExpression(SetExpression { syntax })
20196 }
20197 SyntaxKind::SET_GENERATED => AlterColumnOption::SetGenerated(SetGenerated { syntax }),
20198 SyntaxKind::SET_GENERATED_OPTIONS => {
20199 AlterColumnOption::SetGeneratedOptions(SetGeneratedOptions { syntax })
20200 }
20201 SyntaxKind::SET_NOT_NULL => AlterColumnOption::SetNotNull(SetNotNull { syntax }),
20202 SyntaxKind::SET_OPTIONS => AlterColumnOption::SetOptions(SetOptions { syntax }),
20203 SyntaxKind::SET_SEQUENCE_OPTION => {
20204 AlterColumnOption::SetSequenceOption(SetSequenceOption { syntax })
20205 }
20206 SyntaxKind::SET_STATISTICS => {
20207 AlterColumnOption::SetStatistics(SetStatistics { syntax })
20208 }
20209 SyntaxKind::SET_STORAGE => AlterColumnOption::SetStorage(SetStorage { syntax }),
20210 SyntaxKind::SET_TYPE => AlterColumnOption::SetType(SetType { syntax }),
20211 _ => {
20212 return None;
20213 }
20214 };
20215 Some(res)
20216 }
20217 #[inline]
20218 fn syntax(&self) -> &SyntaxNode {
20219 match self {
20220 AlterColumnOption::AddGenerated(it) => &it.syntax,
20221 AlterColumnOption::DropDefault(it) => &it.syntax,
20222 AlterColumnOption::DropExpression(it) => &it.syntax,
20223 AlterColumnOption::DropIdentity(it) => &it.syntax,
20224 AlterColumnOption::DropNotNull(it) => &it.syntax,
20225 AlterColumnOption::ResetOptions(it) => &it.syntax,
20226 AlterColumnOption::Restart(it) => &it.syntax,
20227 AlterColumnOption::SetCompression(it) => &it.syntax,
20228 AlterColumnOption::SetDefault(it) => &it.syntax,
20229 AlterColumnOption::SetExpression(it) => &it.syntax,
20230 AlterColumnOption::SetGenerated(it) => &it.syntax,
20231 AlterColumnOption::SetGeneratedOptions(it) => &it.syntax,
20232 AlterColumnOption::SetNotNull(it) => &it.syntax,
20233 AlterColumnOption::SetOptions(it) => &it.syntax,
20234 AlterColumnOption::SetSequenceOption(it) => &it.syntax,
20235 AlterColumnOption::SetStatistics(it) => &it.syntax,
20236 AlterColumnOption::SetStorage(it) => &it.syntax,
20237 AlterColumnOption::SetType(it) => &it.syntax,
20238 }
20239 }
20240}
20241impl From<AddGenerated> for AlterColumnOption {
20242 #[inline]
20243 fn from(node: AddGenerated) -> AlterColumnOption {
20244 AlterColumnOption::AddGenerated(node)
20245 }
20246}
20247impl From<DropDefault> for AlterColumnOption {
20248 #[inline]
20249 fn from(node: DropDefault) -> AlterColumnOption {
20250 AlterColumnOption::DropDefault(node)
20251 }
20252}
20253impl From<DropExpression> for AlterColumnOption {
20254 #[inline]
20255 fn from(node: DropExpression) -> AlterColumnOption {
20256 AlterColumnOption::DropExpression(node)
20257 }
20258}
20259impl From<DropIdentity> for AlterColumnOption {
20260 #[inline]
20261 fn from(node: DropIdentity) -> AlterColumnOption {
20262 AlterColumnOption::DropIdentity(node)
20263 }
20264}
20265impl From<DropNotNull> for AlterColumnOption {
20266 #[inline]
20267 fn from(node: DropNotNull) -> AlterColumnOption {
20268 AlterColumnOption::DropNotNull(node)
20269 }
20270}
20271impl From<ResetOptions> for AlterColumnOption {
20272 #[inline]
20273 fn from(node: ResetOptions) -> AlterColumnOption {
20274 AlterColumnOption::ResetOptions(node)
20275 }
20276}
20277impl From<Restart> for AlterColumnOption {
20278 #[inline]
20279 fn from(node: Restart) -> AlterColumnOption {
20280 AlterColumnOption::Restart(node)
20281 }
20282}
20283impl From<SetCompression> for AlterColumnOption {
20284 #[inline]
20285 fn from(node: SetCompression) -> AlterColumnOption {
20286 AlterColumnOption::SetCompression(node)
20287 }
20288}
20289impl From<SetDefault> for AlterColumnOption {
20290 #[inline]
20291 fn from(node: SetDefault) -> AlterColumnOption {
20292 AlterColumnOption::SetDefault(node)
20293 }
20294}
20295impl From<SetExpression> for AlterColumnOption {
20296 #[inline]
20297 fn from(node: SetExpression) -> AlterColumnOption {
20298 AlterColumnOption::SetExpression(node)
20299 }
20300}
20301impl From<SetGenerated> for AlterColumnOption {
20302 #[inline]
20303 fn from(node: SetGenerated) -> AlterColumnOption {
20304 AlterColumnOption::SetGenerated(node)
20305 }
20306}
20307impl From<SetGeneratedOptions> for AlterColumnOption {
20308 #[inline]
20309 fn from(node: SetGeneratedOptions) -> AlterColumnOption {
20310 AlterColumnOption::SetGeneratedOptions(node)
20311 }
20312}
20313impl From<SetNotNull> for AlterColumnOption {
20314 #[inline]
20315 fn from(node: SetNotNull) -> AlterColumnOption {
20316 AlterColumnOption::SetNotNull(node)
20317 }
20318}
20319impl From<SetOptions> for AlterColumnOption {
20320 #[inline]
20321 fn from(node: SetOptions) -> AlterColumnOption {
20322 AlterColumnOption::SetOptions(node)
20323 }
20324}
20325impl From<SetSequenceOption> for AlterColumnOption {
20326 #[inline]
20327 fn from(node: SetSequenceOption) -> AlterColumnOption {
20328 AlterColumnOption::SetSequenceOption(node)
20329 }
20330}
20331impl From<SetStatistics> for AlterColumnOption {
20332 #[inline]
20333 fn from(node: SetStatistics) -> AlterColumnOption {
20334 AlterColumnOption::SetStatistics(node)
20335 }
20336}
20337impl From<SetStorage> for AlterColumnOption {
20338 #[inline]
20339 fn from(node: SetStorage) -> AlterColumnOption {
20340 AlterColumnOption::SetStorage(node)
20341 }
20342}
20343impl From<SetType> for AlterColumnOption {
20344 #[inline]
20345 fn from(node: SetType) -> AlterColumnOption {
20346 AlterColumnOption::SetType(node)
20347 }
20348}
20349impl AstNode for AlterDomainAction {
20350 #[inline]
20351 fn can_cast(kind: SyntaxKind) -> bool {
20352 matches!(
20353 kind,
20354 SyntaxKind::ADD_CONSTRAINT
20355 | SyntaxKind::DROP_CONSTRAINT
20356 | SyntaxKind::DROP_DEFAULT
20357 | SyntaxKind::DROP_NOT_NULL
20358 | SyntaxKind::OWNER_TO
20359 | SyntaxKind::RENAME_CONSTRAINT
20360 | SyntaxKind::RENAME_TO
20361 | SyntaxKind::SET_DEFAULT
20362 | SyntaxKind::SET_NOT_NULL
20363 | SyntaxKind::SET_SCHEMA
20364 | SyntaxKind::VALIDATE_CONSTRAINT
20365 )
20366 }
20367 #[inline]
20368 fn cast(syntax: SyntaxNode) -> Option<Self> {
20369 let res = match syntax.kind() {
20370 SyntaxKind::ADD_CONSTRAINT => {
20371 AlterDomainAction::AddConstraint(AddConstraint { syntax })
20372 }
20373 SyntaxKind::DROP_CONSTRAINT => {
20374 AlterDomainAction::DropConstraint(DropConstraint { syntax })
20375 }
20376 SyntaxKind::DROP_DEFAULT => AlterDomainAction::DropDefault(DropDefault { syntax }),
20377 SyntaxKind::DROP_NOT_NULL => AlterDomainAction::DropNotNull(DropNotNull { syntax }),
20378 SyntaxKind::OWNER_TO => AlterDomainAction::OwnerTo(OwnerTo { syntax }),
20379 SyntaxKind::RENAME_CONSTRAINT => {
20380 AlterDomainAction::RenameConstraint(RenameConstraint { syntax })
20381 }
20382 SyntaxKind::RENAME_TO => AlterDomainAction::RenameTo(RenameTo { syntax }),
20383 SyntaxKind::SET_DEFAULT => AlterDomainAction::SetDefault(SetDefault { syntax }),
20384 SyntaxKind::SET_NOT_NULL => AlterDomainAction::SetNotNull(SetNotNull { syntax }),
20385 SyntaxKind::SET_SCHEMA => AlterDomainAction::SetSchema(SetSchema { syntax }),
20386 SyntaxKind::VALIDATE_CONSTRAINT => {
20387 AlterDomainAction::ValidateConstraint(ValidateConstraint { syntax })
20388 }
20389 _ => {
20390 return None;
20391 }
20392 };
20393 Some(res)
20394 }
20395 #[inline]
20396 fn syntax(&self) -> &SyntaxNode {
20397 match self {
20398 AlterDomainAction::AddConstraint(it) => &it.syntax,
20399 AlterDomainAction::DropConstraint(it) => &it.syntax,
20400 AlterDomainAction::DropDefault(it) => &it.syntax,
20401 AlterDomainAction::DropNotNull(it) => &it.syntax,
20402 AlterDomainAction::OwnerTo(it) => &it.syntax,
20403 AlterDomainAction::RenameConstraint(it) => &it.syntax,
20404 AlterDomainAction::RenameTo(it) => &it.syntax,
20405 AlterDomainAction::SetDefault(it) => &it.syntax,
20406 AlterDomainAction::SetNotNull(it) => &it.syntax,
20407 AlterDomainAction::SetSchema(it) => &it.syntax,
20408 AlterDomainAction::ValidateConstraint(it) => &it.syntax,
20409 }
20410 }
20411}
20412impl From<AddConstraint> for AlterDomainAction {
20413 #[inline]
20414 fn from(node: AddConstraint) -> AlterDomainAction {
20415 AlterDomainAction::AddConstraint(node)
20416 }
20417}
20418impl From<DropConstraint> for AlterDomainAction {
20419 #[inline]
20420 fn from(node: DropConstraint) -> AlterDomainAction {
20421 AlterDomainAction::DropConstraint(node)
20422 }
20423}
20424impl From<DropDefault> for AlterDomainAction {
20425 #[inline]
20426 fn from(node: DropDefault) -> AlterDomainAction {
20427 AlterDomainAction::DropDefault(node)
20428 }
20429}
20430impl From<DropNotNull> for AlterDomainAction {
20431 #[inline]
20432 fn from(node: DropNotNull) -> AlterDomainAction {
20433 AlterDomainAction::DropNotNull(node)
20434 }
20435}
20436impl From<OwnerTo> for AlterDomainAction {
20437 #[inline]
20438 fn from(node: OwnerTo) -> AlterDomainAction {
20439 AlterDomainAction::OwnerTo(node)
20440 }
20441}
20442impl From<RenameConstraint> for AlterDomainAction {
20443 #[inline]
20444 fn from(node: RenameConstraint) -> AlterDomainAction {
20445 AlterDomainAction::RenameConstraint(node)
20446 }
20447}
20448impl From<RenameTo> for AlterDomainAction {
20449 #[inline]
20450 fn from(node: RenameTo) -> AlterDomainAction {
20451 AlterDomainAction::RenameTo(node)
20452 }
20453}
20454impl From<SetDefault> for AlterDomainAction {
20455 #[inline]
20456 fn from(node: SetDefault) -> AlterDomainAction {
20457 AlterDomainAction::SetDefault(node)
20458 }
20459}
20460impl From<SetNotNull> for AlterDomainAction {
20461 #[inline]
20462 fn from(node: SetNotNull) -> AlterDomainAction {
20463 AlterDomainAction::SetNotNull(node)
20464 }
20465}
20466impl From<SetSchema> for AlterDomainAction {
20467 #[inline]
20468 fn from(node: SetSchema) -> AlterDomainAction {
20469 AlterDomainAction::SetSchema(node)
20470 }
20471}
20472impl From<ValidateConstraint> for AlterDomainAction {
20473 #[inline]
20474 fn from(node: ValidateConstraint) -> AlterDomainAction {
20475 AlterDomainAction::ValidateConstraint(node)
20476 }
20477}
20478impl AstNode for AlterTableAction {
20479 #[inline]
20480 fn can_cast(kind: SyntaxKind) -> bool {
20481 matches!(
20482 kind,
20483 SyntaxKind::ADD_COLUMN
20484 | SyntaxKind::ADD_CONSTRAINT
20485 | SyntaxKind::ALTER_COLUMN
20486 | SyntaxKind::ALTER_CONSTRAINT
20487 | SyntaxKind::ATTACH_PARTITION
20488 | SyntaxKind::CLUSTER_ON
20489 | SyntaxKind::DETACH_PARTITION
20490 | SyntaxKind::DISABLE_RLS
20491 | SyntaxKind::DISABLE_RULE
20492 | SyntaxKind::DISABLE_TRIGGER
20493 | SyntaxKind::DROP_COLUMN
20494 | SyntaxKind::DROP_CONSTRAINT
20495 | SyntaxKind::ENABLE_ALWAYS_RULE
20496 | SyntaxKind::ENABLE_ALWAYS_TRIGGER
20497 | SyntaxKind::ENABLE_REPLICA_RULE
20498 | SyntaxKind::ENABLE_REPLICA_TRIGGER
20499 | SyntaxKind::ENABLE_RLS
20500 | SyntaxKind::ENABLE_RULE
20501 | SyntaxKind::ENABLE_TRIGGER
20502 | SyntaxKind::FORCE_RLS
20503 | SyntaxKind::INHERIT
20504 | SyntaxKind::NO_FORCE_RLS
20505 | SyntaxKind::NO_INHERIT
20506 | SyntaxKind::NOT_OF
20507 | SyntaxKind::OF_TYPE
20508 | SyntaxKind::OPTIONS_LIST
20509 | SyntaxKind::OWNER_TO
20510 | SyntaxKind::RENAME_COLUMN
20511 | SyntaxKind::RENAME_CONSTRAINT
20512 | SyntaxKind::RENAME_TABLE
20513 | SyntaxKind::REPLICA_IDENTITY
20514 | SyntaxKind::RESET_STORAGE_PARAMS
20515 | SyntaxKind::SET_ACCESS_METHOD
20516 | SyntaxKind::SET_LOGGED
20517 | SyntaxKind::SET_SCHEMA
20518 | SyntaxKind::SET_STORAGE_PARAMS
20519 | SyntaxKind::SET_TABLESPACE
20520 | SyntaxKind::SET_UNLOGGED
20521 | SyntaxKind::SET_WITHOUT_CLUSTER
20522 | SyntaxKind::SET_WITHOUT_OIDS
20523 | SyntaxKind::VALIDATE_CONSTRAINT
20524 )
20525 }
20526 #[inline]
20527 fn cast(syntax: SyntaxNode) -> Option<Self> {
20528 let res = match syntax.kind() {
20529 SyntaxKind::ADD_COLUMN => AlterTableAction::AddColumn(AddColumn { syntax }),
20530 SyntaxKind::ADD_CONSTRAINT => AlterTableAction::AddConstraint(AddConstraint { syntax }),
20531 SyntaxKind::ALTER_COLUMN => AlterTableAction::AlterColumn(AlterColumn { syntax }),
20532 SyntaxKind::ALTER_CONSTRAINT => {
20533 AlterTableAction::AlterConstraint(AlterConstraint { syntax })
20534 }
20535 SyntaxKind::ATTACH_PARTITION => {
20536 AlterTableAction::AttachPartition(AttachPartition { syntax })
20537 }
20538 SyntaxKind::CLUSTER_ON => AlterTableAction::ClusterOn(ClusterOn { syntax }),
20539 SyntaxKind::DETACH_PARTITION => {
20540 AlterTableAction::DetachPartition(DetachPartition { syntax })
20541 }
20542 SyntaxKind::DISABLE_RLS => AlterTableAction::DisableRls(DisableRls { syntax }),
20543 SyntaxKind::DISABLE_RULE => AlterTableAction::DisableRule(DisableRule { syntax }),
20544 SyntaxKind::DISABLE_TRIGGER => {
20545 AlterTableAction::DisableTrigger(DisableTrigger { syntax })
20546 }
20547 SyntaxKind::DROP_COLUMN => AlterTableAction::DropColumn(DropColumn { syntax }),
20548 SyntaxKind::DROP_CONSTRAINT => {
20549 AlterTableAction::DropConstraint(DropConstraint { syntax })
20550 }
20551 SyntaxKind::ENABLE_ALWAYS_RULE => {
20552 AlterTableAction::EnableAlwaysRule(EnableAlwaysRule { syntax })
20553 }
20554 SyntaxKind::ENABLE_ALWAYS_TRIGGER => {
20555 AlterTableAction::EnableAlwaysTrigger(EnableAlwaysTrigger { syntax })
20556 }
20557 SyntaxKind::ENABLE_REPLICA_RULE => {
20558 AlterTableAction::EnableReplicaRule(EnableReplicaRule { syntax })
20559 }
20560 SyntaxKind::ENABLE_REPLICA_TRIGGER => {
20561 AlterTableAction::EnableReplicaTrigger(EnableReplicaTrigger { syntax })
20562 }
20563 SyntaxKind::ENABLE_RLS => AlterTableAction::EnableRls(EnableRls { syntax }),
20564 SyntaxKind::ENABLE_RULE => AlterTableAction::EnableRule(EnableRule { syntax }),
20565 SyntaxKind::ENABLE_TRIGGER => AlterTableAction::EnableTrigger(EnableTrigger { syntax }),
20566 SyntaxKind::FORCE_RLS => AlterTableAction::ForceRls(ForceRls { syntax }),
20567 SyntaxKind::INHERIT => AlterTableAction::Inherit(Inherit { syntax }),
20568 SyntaxKind::NO_FORCE_RLS => AlterTableAction::NoForceRls(NoForceRls { syntax }),
20569 SyntaxKind::NO_INHERIT => AlterTableAction::NoInherit(NoInherit { syntax }),
20570 SyntaxKind::NOT_OF => AlterTableAction::NotOf(NotOf { syntax }),
20571 SyntaxKind::OF_TYPE => AlterTableAction::OfType(OfType { syntax }),
20572 SyntaxKind::OPTIONS_LIST => AlterTableAction::OptionsList(OptionsList { syntax }),
20573 SyntaxKind::OWNER_TO => AlterTableAction::OwnerTo(OwnerTo { syntax }),
20574 SyntaxKind::RENAME_COLUMN => AlterTableAction::RenameColumn(RenameColumn { syntax }),
20575 SyntaxKind::RENAME_CONSTRAINT => {
20576 AlterTableAction::RenameConstraint(RenameConstraint { syntax })
20577 }
20578 SyntaxKind::RENAME_TABLE => AlterTableAction::RenameTable(RenameTable { syntax }),
20579 SyntaxKind::REPLICA_IDENTITY => {
20580 AlterTableAction::ReplicaIdentity(ReplicaIdentity { syntax })
20581 }
20582 SyntaxKind::RESET_STORAGE_PARAMS => {
20583 AlterTableAction::ResetStorageParams(ResetStorageParams { syntax })
20584 }
20585 SyntaxKind::SET_ACCESS_METHOD => {
20586 AlterTableAction::SetAccessMethod(SetAccessMethod { syntax })
20587 }
20588 SyntaxKind::SET_LOGGED => AlterTableAction::SetLogged(SetLogged { syntax }),
20589 SyntaxKind::SET_SCHEMA => AlterTableAction::SetSchema(SetSchema { syntax }),
20590 SyntaxKind::SET_STORAGE_PARAMS => {
20591 AlterTableAction::SetStorageParams(SetStorageParams { syntax })
20592 }
20593 SyntaxKind::SET_TABLESPACE => AlterTableAction::SetTablespace(SetTablespace { syntax }),
20594 SyntaxKind::SET_UNLOGGED => AlterTableAction::SetUnlogged(SetUnlogged { syntax }),
20595 SyntaxKind::SET_WITHOUT_CLUSTER => {
20596 AlterTableAction::SetWithoutCluster(SetWithoutCluster { syntax })
20597 }
20598 SyntaxKind::SET_WITHOUT_OIDS => {
20599 AlterTableAction::SetWithoutOids(SetWithoutOids { syntax })
20600 }
20601 SyntaxKind::VALIDATE_CONSTRAINT => {
20602 AlterTableAction::ValidateConstraint(ValidateConstraint { syntax })
20603 }
20604 _ => {
20605 return None;
20606 }
20607 };
20608 Some(res)
20609 }
20610 #[inline]
20611 fn syntax(&self) -> &SyntaxNode {
20612 match self {
20613 AlterTableAction::AddColumn(it) => &it.syntax,
20614 AlterTableAction::AddConstraint(it) => &it.syntax,
20615 AlterTableAction::AlterColumn(it) => &it.syntax,
20616 AlterTableAction::AlterConstraint(it) => &it.syntax,
20617 AlterTableAction::AttachPartition(it) => &it.syntax,
20618 AlterTableAction::ClusterOn(it) => &it.syntax,
20619 AlterTableAction::DetachPartition(it) => &it.syntax,
20620 AlterTableAction::DisableRls(it) => &it.syntax,
20621 AlterTableAction::DisableRule(it) => &it.syntax,
20622 AlterTableAction::DisableTrigger(it) => &it.syntax,
20623 AlterTableAction::DropColumn(it) => &it.syntax,
20624 AlterTableAction::DropConstraint(it) => &it.syntax,
20625 AlterTableAction::EnableAlwaysRule(it) => &it.syntax,
20626 AlterTableAction::EnableAlwaysTrigger(it) => &it.syntax,
20627 AlterTableAction::EnableReplicaRule(it) => &it.syntax,
20628 AlterTableAction::EnableReplicaTrigger(it) => &it.syntax,
20629 AlterTableAction::EnableRls(it) => &it.syntax,
20630 AlterTableAction::EnableRule(it) => &it.syntax,
20631 AlterTableAction::EnableTrigger(it) => &it.syntax,
20632 AlterTableAction::ForceRls(it) => &it.syntax,
20633 AlterTableAction::Inherit(it) => &it.syntax,
20634 AlterTableAction::NoForceRls(it) => &it.syntax,
20635 AlterTableAction::NoInherit(it) => &it.syntax,
20636 AlterTableAction::NotOf(it) => &it.syntax,
20637 AlterTableAction::OfType(it) => &it.syntax,
20638 AlterTableAction::OptionsList(it) => &it.syntax,
20639 AlterTableAction::OwnerTo(it) => &it.syntax,
20640 AlterTableAction::RenameColumn(it) => &it.syntax,
20641 AlterTableAction::RenameConstraint(it) => &it.syntax,
20642 AlterTableAction::RenameTable(it) => &it.syntax,
20643 AlterTableAction::ReplicaIdentity(it) => &it.syntax,
20644 AlterTableAction::ResetStorageParams(it) => &it.syntax,
20645 AlterTableAction::SetAccessMethod(it) => &it.syntax,
20646 AlterTableAction::SetLogged(it) => &it.syntax,
20647 AlterTableAction::SetSchema(it) => &it.syntax,
20648 AlterTableAction::SetStorageParams(it) => &it.syntax,
20649 AlterTableAction::SetTablespace(it) => &it.syntax,
20650 AlterTableAction::SetUnlogged(it) => &it.syntax,
20651 AlterTableAction::SetWithoutCluster(it) => &it.syntax,
20652 AlterTableAction::SetWithoutOids(it) => &it.syntax,
20653 AlterTableAction::ValidateConstraint(it) => &it.syntax,
20654 }
20655 }
20656}
20657impl From<AddColumn> for AlterTableAction {
20658 #[inline]
20659 fn from(node: AddColumn) -> AlterTableAction {
20660 AlterTableAction::AddColumn(node)
20661 }
20662}
20663impl From<AddConstraint> for AlterTableAction {
20664 #[inline]
20665 fn from(node: AddConstraint) -> AlterTableAction {
20666 AlterTableAction::AddConstraint(node)
20667 }
20668}
20669impl From<AlterColumn> for AlterTableAction {
20670 #[inline]
20671 fn from(node: AlterColumn) -> AlterTableAction {
20672 AlterTableAction::AlterColumn(node)
20673 }
20674}
20675impl From<AlterConstraint> for AlterTableAction {
20676 #[inline]
20677 fn from(node: AlterConstraint) -> AlterTableAction {
20678 AlterTableAction::AlterConstraint(node)
20679 }
20680}
20681impl From<AttachPartition> for AlterTableAction {
20682 #[inline]
20683 fn from(node: AttachPartition) -> AlterTableAction {
20684 AlterTableAction::AttachPartition(node)
20685 }
20686}
20687impl From<ClusterOn> for AlterTableAction {
20688 #[inline]
20689 fn from(node: ClusterOn) -> AlterTableAction {
20690 AlterTableAction::ClusterOn(node)
20691 }
20692}
20693impl From<DetachPartition> for AlterTableAction {
20694 #[inline]
20695 fn from(node: DetachPartition) -> AlterTableAction {
20696 AlterTableAction::DetachPartition(node)
20697 }
20698}
20699impl From<DisableRls> for AlterTableAction {
20700 #[inline]
20701 fn from(node: DisableRls) -> AlterTableAction {
20702 AlterTableAction::DisableRls(node)
20703 }
20704}
20705impl From<DisableRule> for AlterTableAction {
20706 #[inline]
20707 fn from(node: DisableRule) -> AlterTableAction {
20708 AlterTableAction::DisableRule(node)
20709 }
20710}
20711impl From<DisableTrigger> for AlterTableAction {
20712 #[inline]
20713 fn from(node: DisableTrigger) -> AlterTableAction {
20714 AlterTableAction::DisableTrigger(node)
20715 }
20716}
20717impl From<DropColumn> for AlterTableAction {
20718 #[inline]
20719 fn from(node: DropColumn) -> AlterTableAction {
20720 AlterTableAction::DropColumn(node)
20721 }
20722}
20723impl From<DropConstraint> for AlterTableAction {
20724 #[inline]
20725 fn from(node: DropConstraint) -> AlterTableAction {
20726 AlterTableAction::DropConstraint(node)
20727 }
20728}
20729impl From<EnableAlwaysRule> for AlterTableAction {
20730 #[inline]
20731 fn from(node: EnableAlwaysRule) -> AlterTableAction {
20732 AlterTableAction::EnableAlwaysRule(node)
20733 }
20734}
20735impl From<EnableAlwaysTrigger> for AlterTableAction {
20736 #[inline]
20737 fn from(node: EnableAlwaysTrigger) -> AlterTableAction {
20738 AlterTableAction::EnableAlwaysTrigger(node)
20739 }
20740}
20741impl From<EnableReplicaRule> for AlterTableAction {
20742 #[inline]
20743 fn from(node: EnableReplicaRule) -> AlterTableAction {
20744 AlterTableAction::EnableReplicaRule(node)
20745 }
20746}
20747impl From<EnableReplicaTrigger> for AlterTableAction {
20748 #[inline]
20749 fn from(node: EnableReplicaTrigger) -> AlterTableAction {
20750 AlterTableAction::EnableReplicaTrigger(node)
20751 }
20752}
20753impl From<EnableRls> for AlterTableAction {
20754 #[inline]
20755 fn from(node: EnableRls) -> AlterTableAction {
20756 AlterTableAction::EnableRls(node)
20757 }
20758}
20759impl From<EnableRule> for AlterTableAction {
20760 #[inline]
20761 fn from(node: EnableRule) -> AlterTableAction {
20762 AlterTableAction::EnableRule(node)
20763 }
20764}
20765impl From<EnableTrigger> for AlterTableAction {
20766 #[inline]
20767 fn from(node: EnableTrigger) -> AlterTableAction {
20768 AlterTableAction::EnableTrigger(node)
20769 }
20770}
20771impl From<ForceRls> for AlterTableAction {
20772 #[inline]
20773 fn from(node: ForceRls) -> AlterTableAction {
20774 AlterTableAction::ForceRls(node)
20775 }
20776}
20777impl From<Inherit> for AlterTableAction {
20778 #[inline]
20779 fn from(node: Inherit) -> AlterTableAction {
20780 AlterTableAction::Inherit(node)
20781 }
20782}
20783impl From<NoForceRls> for AlterTableAction {
20784 #[inline]
20785 fn from(node: NoForceRls) -> AlterTableAction {
20786 AlterTableAction::NoForceRls(node)
20787 }
20788}
20789impl From<NoInherit> for AlterTableAction {
20790 #[inline]
20791 fn from(node: NoInherit) -> AlterTableAction {
20792 AlterTableAction::NoInherit(node)
20793 }
20794}
20795impl From<NotOf> for AlterTableAction {
20796 #[inline]
20797 fn from(node: NotOf) -> AlterTableAction {
20798 AlterTableAction::NotOf(node)
20799 }
20800}
20801impl From<OfType> for AlterTableAction {
20802 #[inline]
20803 fn from(node: OfType) -> AlterTableAction {
20804 AlterTableAction::OfType(node)
20805 }
20806}
20807impl From<OptionsList> for AlterTableAction {
20808 #[inline]
20809 fn from(node: OptionsList) -> AlterTableAction {
20810 AlterTableAction::OptionsList(node)
20811 }
20812}
20813impl From<OwnerTo> for AlterTableAction {
20814 #[inline]
20815 fn from(node: OwnerTo) -> AlterTableAction {
20816 AlterTableAction::OwnerTo(node)
20817 }
20818}
20819impl From<RenameColumn> for AlterTableAction {
20820 #[inline]
20821 fn from(node: RenameColumn) -> AlterTableAction {
20822 AlterTableAction::RenameColumn(node)
20823 }
20824}
20825impl From<RenameConstraint> for AlterTableAction {
20826 #[inline]
20827 fn from(node: RenameConstraint) -> AlterTableAction {
20828 AlterTableAction::RenameConstraint(node)
20829 }
20830}
20831impl From<RenameTable> for AlterTableAction {
20832 #[inline]
20833 fn from(node: RenameTable) -> AlterTableAction {
20834 AlterTableAction::RenameTable(node)
20835 }
20836}
20837impl From<ReplicaIdentity> for AlterTableAction {
20838 #[inline]
20839 fn from(node: ReplicaIdentity) -> AlterTableAction {
20840 AlterTableAction::ReplicaIdentity(node)
20841 }
20842}
20843impl From<ResetStorageParams> for AlterTableAction {
20844 #[inline]
20845 fn from(node: ResetStorageParams) -> AlterTableAction {
20846 AlterTableAction::ResetStorageParams(node)
20847 }
20848}
20849impl From<SetAccessMethod> for AlterTableAction {
20850 #[inline]
20851 fn from(node: SetAccessMethod) -> AlterTableAction {
20852 AlterTableAction::SetAccessMethod(node)
20853 }
20854}
20855impl From<SetLogged> for AlterTableAction {
20856 #[inline]
20857 fn from(node: SetLogged) -> AlterTableAction {
20858 AlterTableAction::SetLogged(node)
20859 }
20860}
20861impl From<SetSchema> for AlterTableAction {
20862 #[inline]
20863 fn from(node: SetSchema) -> AlterTableAction {
20864 AlterTableAction::SetSchema(node)
20865 }
20866}
20867impl From<SetStorageParams> for AlterTableAction {
20868 #[inline]
20869 fn from(node: SetStorageParams) -> AlterTableAction {
20870 AlterTableAction::SetStorageParams(node)
20871 }
20872}
20873impl From<SetTablespace> for AlterTableAction {
20874 #[inline]
20875 fn from(node: SetTablespace) -> AlterTableAction {
20876 AlterTableAction::SetTablespace(node)
20877 }
20878}
20879impl From<SetUnlogged> for AlterTableAction {
20880 #[inline]
20881 fn from(node: SetUnlogged) -> AlterTableAction {
20882 AlterTableAction::SetUnlogged(node)
20883 }
20884}
20885impl From<SetWithoutCluster> for AlterTableAction {
20886 #[inline]
20887 fn from(node: SetWithoutCluster) -> AlterTableAction {
20888 AlterTableAction::SetWithoutCluster(node)
20889 }
20890}
20891impl From<SetWithoutOids> for AlterTableAction {
20892 #[inline]
20893 fn from(node: SetWithoutOids) -> AlterTableAction {
20894 AlterTableAction::SetWithoutOids(node)
20895 }
20896}
20897impl From<ValidateConstraint> for AlterTableAction {
20898 #[inline]
20899 fn from(node: ValidateConstraint) -> AlterTableAction {
20900 AlterTableAction::ValidateConstraint(node)
20901 }
20902}
20903impl AstNode for ColumnConstraint {
20904 #[inline]
20905 fn can_cast(kind: SyntaxKind) -> bool {
20906 matches!(
20907 kind,
20908 SyntaxKind::CHECK_CONSTRAINT
20909 | SyntaxKind::EXCLUDE_CONSTRAINT
20910 | SyntaxKind::NOT_NULL_CONSTRAINT
20911 | SyntaxKind::PRIMARY_KEY_CONSTRAINT
20912 | SyntaxKind::REFERENCES_CONSTRAINT
20913 | SyntaxKind::UNIQUE_CONSTRAINT
20914 )
20915 }
20916 #[inline]
20917 fn cast(syntax: SyntaxNode) -> Option<Self> {
20918 let res = match syntax.kind() {
20919 SyntaxKind::CHECK_CONSTRAINT => {
20920 ColumnConstraint::CheckConstraint(CheckConstraint { syntax })
20921 }
20922 SyntaxKind::EXCLUDE_CONSTRAINT => {
20923 ColumnConstraint::ExcludeConstraint(ExcludeConstraint { syntax })
20924 }
20925 SyntaxKind::NOT_NULL_CONSTRAINT => {
20926 ColumnConstraint::NotNullConstraint(NotNullConstraint { syntax })
20927 }
20928 SyntaxKind::PRIMARY_KEY_CONSTRAINT => {
20929 ColumnConstraint::PrimaryKeyConstraint(PrimaryKeyConstraint { syntax })
20930 }
20931 SyntaxKind::REFERENCES_CONSTRAINT => {
20932 ColumnConstraint::ReferencesConstraint(ReferencesConstraint { syntax })
20933 }
20934 SyntaxKind::UNIQUE_CONSTRAINT => {
20935 ColumnConstraint::UniqueConstraint(UniqueConstraint { syntax })
20936 }
20937 _ => {
20938 return None;
20939 }
20940 };
20941 Some(res)
20942 }
20943 #[inline]
20944 fn syntax(&self) -> &SyntaxNode {
20945 match self {
20946 ColumnConstraint::CheckConstraint(it) => &it.syntax,
20947 ColumnConstraint::ExcludeConstraint(it) => &it.syntax,
20948 ColumnConstraint::NotNullConstraint(it) => &it.syntax,
20949 ColumnConstraint::PrimaryKeyConstraint(it) => &it.syntax,
20950 ColumnConstraint::ReferencesConstraint(it) => &it.syntax,
20951 ColumnConstraint::UniqueConstraint(it) => &it.syntax,
20952 }
20953 }
20954}
20955impl From<CheckConstraint> for ColumnConstraint {
20956 #[inline]
20957 fn from(node: CheckConstraint) -> ColumnConstraint {
20958 ColumnConstraint::CheckConstraint(node)
20959 }
20960}
20961impl From<ExcludeConstraint> for ColumnConstraint {
20962 #[inline]
20963 fn from(node: ExcludeConstraint) -> ColumnConstraint {
20964 ColumnConstraint::ExcludeConstraint(node)
20965 }
20966}
20967impl From<NotNullConstraint> for ColumnConstraint {
20968 #[inline]
20969 fn from(node: NotNullConstraint) -> ColumnConstraint {
20970 ColumnConstraint::NotNullConstraint(node)
20971 }
20972}
20973impl From<PrimaryKeyConstraint> for ColumnConstraint {
20974 #[inline]
20975 fn from(node: PrimaryKeyConstraint) -> ColumnConstraint {
20976 ColumnConstraint::PrimaryKeyConstraint(node)
20977 }
20978}
20979impl From<ReferencesConstraint> for ColumnConstraint {
20980 #[inline]
20981 fn from(node: ReferencesConstraint) -> ColumnConstraint {
20982 ColumnConstraint::ReferencesConstraint(node)
20983 }
20984}
20985impl From<UniqueConstraint> for ColumnConstraint {
20986 #[inline]
20987 fn from(node: UniqueConstraint) -> ColumnConstraint {
20988 ColumnConstraint::UniqueConstraint(node)
20989 }
20990}
20991impl AstNode for Constraint {
20992 #[inline]
20993 fn can_cast(kind: SyntaxKind) -> bool {
20994 matches!(
20995 kind,
20996 SyntaxKind::CHECK_CONSTRAINT
20997 | SyntaxKind::DEFAULT_CONSTRAINT
20998 | SyntaxKind::FOREIGN_KEY_CONSTRAINT
20999 | SyntaxKind::GENERATED_CONSTRAINT
21000 | SyntaxKind::NOT_NULL_CONSTRAINT
21001 | SyntaxKind::NULL_CONSTRAINT
21002 | SyntaxKind::PRIMARY_KEY_CONSTRAINT
21003 | SyntaxKind::REFERENCES_CONSTRAINT
21004 | SyntaxKind::UNIQUE_CONSTRAINT
21005 )
21006 }
21007 #[inline]
21008 fn cast(syntax: SyntaxNode) -> Option<Self> {
21009 let res = match syntax.kind() {
21010 SyntaxKind::CHECK_CONSTRAINT => Constraint::CheckConstraint(CheckConstraint { syntax }),
21011 SyntaxKind::DEFAULT_CONSTRAINT => {
21012 Constraint::DefaultConstraint(DefaultConstraint { syntax })
21013 }
21014 SyntaxKind::FOREIGN_KEY_CONSTRAINT => {
21015 Constraint::ForeignKeyConstraint(ForeignKeyConstraint { syntax })
21016 }
21017 SyntaxKind::GENERATED_CONSTRAINT => {
21018 Constraint::GeneratedConstraint(GeneratedConstraint { syntax })
21019 }
21020 SyntaxKind::NOT_NULL_CONSTRAINT => {
21021 Constraint::NotNullConstraint(NotNullConstraint { syntax })
21022 }
21023 SyntaxKind::NULL_CONSTRAINT => Constraint::NullConstraint(NullConstraint { syntax }),
21024 SyntaxKind::PRIMARY_KEY_CONSTRAINT => {
21025 Constraint::PrimaryKeyConstraint(PrimaryKeyConstraint { syntax })
21026 }
21027 SyntaxKind::REFERENCES_CONSTRAINT => {
21028 Constraint::ReferencesConstraint(ReferencesConstraint { syntax })
21029 }
21030 SyntaxKind::UNIQUE_CONSTRAINT => {
21031 Constraint::UniqueConstraint(UniqueConstraint { syntax })
21032 }
21033 _ => {
21034 return None;
21035 }
21036 };
21037 Some(res)
21038 }
21039 #[inline]
21040 fn syntax(&self) -> &SyntaxNode {
21041 match self {
21042 Constraint::CheckConstraint(it) => &it.syntax,
21043 Constraint::DefaultConstraint(it) => &it.syntax,
21044 Constraint::ForeignKeyConstraint(it) => &it.syntax,
21045 Constraint::GeneratedConstraint(it) => &it.syntax,
21046 Constraint::NotNullConstraint(it) => &it.syntax,
21047 Constraint::NullConstraint(it) => &it.syntax,
21048 Constraint::PrimaryKeyConstraint(it) => &it.syntax,
21049 Constraint::ReferencesConstraint(it) => &it.syntax,
21050 Constraint::UniqueConstraint(it) => &it.syntax,
21051 }
21052 }
21053}
21054impl From<CheckConstraint> for Constraint {
21055 #[inline]
21056 fn from(node: CheckConstraint) -> Constraint {
21057 Constraint::CheckConstraint(node)
21058 }
21059}
21060impl From<DefaultConstraint> for Constraint {
21061 #[inline]
21062 fn from(node: DefaultConstraint) -> Constraint {
21063 Constraint::DefaultConstraint(node)
21064 }
21065}
21066impl From<ForeignKeyConstraint> for Constraint {
21067 #[inline]
21068 fn from(node: ForeignKeyConstraint) -> Constraint {
21069 Constraint::ForeignKeyConstraint(node)
21070 }
21071}
21072impl From<GeneratedConstraint> for Constraint {
21073 #[inline]
21074 fn from(node: GeneratedConstraint) -> Constraint {
21075 Constraint::GeneratedConstraint(node)
21076 }
21077}
21078impl From<NotNullConstraint> for Constraint {
21079 #[inline]
21080 fn from(node: NotNullConstraint) -> Constraint {
21081 Constraint::NotNullConstraint(node)
21082 }
21083}
21084impl From<NullConstraint> for Constraint {
21085 #[inline]
21086 fn from(node: NullConstraint) -> Constraint {
21087 Constraint::NullConstraint(node)
21088 }
21089}
21090impl From<PrimaryKeyConstraint> for Constraint {
21091 #[inline]
21092 fn from(node: PrimaryKeyConstraint) -> Constraint {
21093 Constraint::PrimaryKeyConstraint(node)
21094 }
21095}
21096impl From<ReferencesConstraint> for Constraint {
21097 #[inline]
21098 fn from(node: ReferencesConstraint) -> Constraint {
21099 Constraint::ReferencesConstraint(node)
21100 }
21101}
21102impl From<UniqueConstraint> for Constraint {
21103 #[inline]
21104 fn from(node: UniqueConstraint) -> Constraint {
21105 Constraint::UniqueConstraint(node)
21106 }
21107}
21108impl AstNode for Expr {
21109 #[inline]
21110 fn can_cast(kind: SyntaxKind) -> bool {
21111 matches!(
21112 kind,
21113 SyntaxKind::ARRAY_EXPR
21114 | SyntaxKind::BETWEEN_EXPR
21115 | SyntaxKind::BIN_EXPR
21116 | SyntaxKind::CALL_EXPR
21117 | SyntaxKind::CASE_EXPR
21118 | SyntaxKind::CAST_EXPR
21119 | SyntaxKind::FIELD_EXPR
21120 | SyntaxKind::INDEX_EXPR
21121 | SyntaxKind::LITERAL
21122 | SyntaxKind::NAME_REF
21123 | SyntaxKind::PAREN_EXPR
21124 | SyntaxKind::POSTFIX_EXPR
21125 | SyntaxKind::PREFIX_EXPR
21126 | SyntaxKind::TUPLE_EXPR
21127 )
21128 }
21129 #[inline]
21130 fn cast(syntax: SyntaxNode) -> Option<Self> {
21131 let res = match syntax.kind() {
21132 SyntaxKind::ARRAY_EXPR => Expr::ArrayExpr(ArrayExpr { syntax }),
21133 SyntaxKind::BETWEEN_EXPR => Expr::BetweenExpr(BetweenExpr { syntax }),
21134 SyntaxKind::BIN_EXPR => Expr::BinExpr(BinExpr { syntax }),
21135 SyntaxKind::CALL_EXPR => Expr::CallExpr(CallExpr { syntax }),
21136 SyntaxKind::CASE_EXPR => Expr::CaseExpr(CaseExpr { syntax }),
21137 SyntaxKind::CAST_EXPR => Expr::CastExpr(CastExpr { syntax }),
21138 SyntaxKind::FIELD_EXPR => Expr::FieldExpr(FieldExpr { syntax }),
21139 SyntaxKind::INDEX_EXPR => Expr::IndexExpr(IndexExpr { syntax }),
21140 SyntaxKind::LITERAL => Expr::Literal(Literal { syntax }),
21141 SyntaxKind::NAME_REF => Expr::NameRef(NameRef { syntax }),
21142 SyntaxKind::PAREN_EXPR => Expr::ParenExpr(ParenExpr { syntax }),
21143 SyntaxKind::POSTFIX_EXPR => Expr::PostfixExpr(PostfixExpr { syntax }),
21144 SyntaxKind::PREFIX_EXPR => Expr::PrefixExpr(PrefixExpr { syntax }),
21145 SyntaxKind::TUPLE_EXPR => Expr::TupleExpr(TupleExpr { syntax }),
21146 _ => {
21147 return None;
21148 }
21149 };
21150 Some(res)
21151 }
21152 #[inline]
21153 fn syntax(&self) -> &SyntaxNode {
21154 match self {
21155 Expr::ArrayExpr(it) => &it.syntax,
21156 Expr::BetweenExpr(it) => &it.syntax,
21157 Expr::BinExpr(it) => &it.syntax,
21158 Expr::CallExpr(it) => &it.syntax,
21159 Expr::CaseExpr(it) => &it.syntax,
21160 Expr::CastExpr(it) => &it.syntax,
21161 Expr::FieldExpr(it) => &it.syntax,
21162 Expr::IndexExpr(it) => &it.syntax,
21163 Expr::Literal(it) => &it.syntax,
21164 Expr::NameRef(it) => &it.syntax,
21165 Expr::ParenExpr(it) => &it.syntax,
21166 Expr::PostfixExpr(it) => &it.syntax,
21167 Expr::PrefixExpr(it) => &it.syntax,
21168 Expr::TupleExpr(it) => &it.syntax,
21169 }
21170 }
21171}
21172impl From<ArrayExpr> for Expr {
21173 #[inline]
21174 fn from(node: ArrayExpr) -> Expr {
21175 Expr::ArrayExpr(node)
21176 }
21177}
21178impl From<BetweenExpr> for Expr {
21179 #[inline]
21180 fn from(node: BetweenExpr) -> Expr {
21181 Expr::BetweenExpr(node)
21182 }
21183}
21184impl From<BinExpr> for Expr {
21185 #[inline]
21186 fn from(node: BinExpr) -> Expr {
21187 Expr::BinExpr(node)
21188 }
21189}
21190impl From<CallExpr> for Expr {
21191 #[inline]
21192 fn from(node: CallExpr) -> Expr {
21193 Expr::CallExpr(node)
21194 }
21195}
21196impl From<CaseExpr> for Expr {
21197 #[inline]
21198 fn from(node: CaseExpr) -> Expr {
21199 Expr::CaseExpr(node)
21200 }
21201}
21202impl From<CastExpr> for Expr {
21203 #[inline]
21204 fn from(node: CastExpr) -> Expr {
21205 Expr::CastExpr(node)
21206 }
21207}
21208impl From<FieldExpr> for Expr {
21209 #[inline]
21210 fn from(node: FieldExpr) -> Expr {
21211 Expr::FieldExpr(node)
21212 }
21213}
21214impl From<IndexExpr> for Expr {
21215 #[inline]
21216 fn from(node: IndexExpr) -> Expr {
21217 Expr::IndexExpr(node)
21218 }
21219}
21220impl From<Literal> for Expr {
21221 #[inline]
21222 fn from(node: Literal) -> Expr {
21223 Expr::Literal(node)
21224 }
21225}
21226impl From<NameRef> for Expr {
21227 #[inline]
21228 fn from(node: NameRef) -> Expr {
21229 Expr::NameRef(node)
21230 }
21231}
21232impl From<ParenExpr> for Expr {
21233 #[inline]
21234 fn from(node: ParenExpr) -> Expr {
21235 Expr::ParenExpr(node)
21236 }
21237}
21238impl From<PostfixExpr> for Expr {
21239 #[inline]
21240 fn from(node: PostfixExpr) -> Expr {
21241 Expr::PostfixExpr(node)
21242 }
21243}
21244impl From<PrefixExpr> for Expr {
21245 #[inline]
21246 fn from(node: PrefixExpr) -> Expr {
21247 Expr::PrefixExpr(node)
21248 }
21249}
21250impl From<TupleExpr> for Expr {
21251 #[inline]
21252 fn from(node: TupleExpr) -> Expr {
21253 Expr::TupleExpr(node)
21254 }
21255}
21256impl AstNode for FuncOption {
21257 #[inline]
21258 fn can_cast(kind: SyntaxKind) -> bool {
21259 matches!(
21260 kind,
21261 SyntaxKind::AS_FUNC_OPTION
21262 | SyntaxKind::BEGIN_FUNC_OPTION
21263 | SyntaxKind::COST_FUNC_OPTION
21264 | SyntaxKind::LANGUAGE_FUNC_OPTION
21265 | SyntaxKind::LEAKPROOF_FUNC_OPTION
21266 | SyntaxKind::PARALLEL_FUNC_OPTION
21267 | SyntaxKind::RESET_FUNC_OPTION
21268 | SyntaxKind::RETURN_FUNC_OPTION
21269 | SyntaxKind::ROWS_FUNC_OPTION
21270 | SyntaxKind::SECURITY_FUNC_OPTION
21271 | SyntaxKind::SET_FUNC_OPTION
21272 | SyntaxKind::STRICT_FUNC_OPTION
21273 | SyntaxKind::SUPPORT_FUNC_OPTION
21274 | SyntaxKind::TRANSFORM_FUNC_OPTION
21275 | SyntaxKind::VOLATILITY_FUNC_OPTION
21276 | SyntaxKind::WINDOW_FUNC_OPTION
21277 )
21278 }
21279 #[inline]
21280 fn cast(syntax: SyntaxNode) -> Option<Self> {
21281 let res = match syntax.kind() {
21282 SyntaxKind::AS_FUNC_OPTION => FuncOption::AsFuncOption(AsFuncOption { syntax }),
21283 SyntaxKind::BEGIN_FUNC_OPTION => {
21284 FuncOption::BeginFuncOption(BeginFuncOption { syntax })
21285 }
21286 SyntaxKind::COST_FUNC_OPTION => FuncOption::CostFuncOption(CostFuncOption { syntax }),
21287 SyntaxKind::LANGUAGE_FUNC_OPTION => {
21288 FuncOption::LanguageFuncOption(LanguageFuncOption { syntax })
21289 }
21290 SyntaxKind::LEAKPROOF_FUNC_OPTION => {
21291 FuncOption::LeakproofFuncOption(LeakproofFuncOption { syntax })
21292 }
21293 SyntaxKind::PARALLEL_FUNC_OPTION => {
21294 FuncOption::ParallelFuncOption(ParallelFuncOption { syntax })
21295 }
21296 SyntaxKind::RESET_FUNC_OPTION => {
21297 FuncOption::ResetFuncOption(ResetFuncOption { syntax })
21298 }
21299 SyntaxKind::RETURN_FUNC_OPTION => {
21300 FuncOption::ReturnFuncOption(ReturnFuncOption { syntax })
21301 }
21302 SyntaxKind::ROWS_FUNC_OPTION => FuncOption::RowsFuncOption(RowsFuncOption { syntax }),
21303 SyntaxKind::SECURITY_FUNC_OPTION => {
21304 FuncOption::SecurityFuncOption(SecurityFuncOption { syntax })
21305 }
21306 SyntaxKind::SET_FUNC_OPTION => FuncOption::SetFuncOption(SetFuncOption { syntax }),
21307 SyntaxKind::STRICT_FUNC_OPTION => {
21308 FuncOption::StrictFuncOption(StrictFuncOption { syntax })
21309 }
21310 SyntaxKind::SUPPORT_FUNC_OPTION => {
21311 FuncOption::SupportFuncOption(SupportFuncOption { syntax })
21312 }
21313 SyntaxKind::TRANSFORM_FUNC_OPTION => {
21314 FuncOption::TransformFuncOption(TransformFuncOption { syntax })
21315 }
21316 SyntaxKind::VOLATILITY_FUNC_OPTION => {
21317 FuncOption::VolatilityFuncOption(VolatilityFuncOption { syntax })
21318 }
21319 SyntaxKind::WINDOW_FUNC_OPTION => {
21320 FuncOption::WindowFuncOption(WindowFuncOption { syntax })
21321 }
21322 _ => {
21323 return None;
21324 }
21325 };
21326 Some(res)
21327 }
21328 #[inline]
21329 fn syntax(&self) -> &SyntaxNode {
21330 match self {
21331 FuncOption::AsFuncOption(it) => &it.syntax,
21332 FuncOption::BeginFuncOption(it) => &it.syntax,
21333 FuncOption::CostFuncOption(it) => &it.syntax,
21334 FuncOption::LanguageFuncOption(it) => &it.syntax,
21335 FuncOption::LeakproofFuncOption(it) => &it.syntax,
21336 FuncOption::ParallelFuncOption(it) => &it.syntax,
21337 FuncOption::ResetFuncOption(it) => &it.syntax,
21338 FuncOption::ReturnFuncOption(it) => &it.syntax,
21339 FuncOption::RowsFuncOption(it) => &it.syntax,
21340 FuncOption::SecurityFuncOption(it) => &it.syntax,
21341 FuncOption::SetFuncOption(it) => &it.syntax,
21342 FuncOption::StrictFuncOption(it) => &it.syntax,
21343 FuncOption::SupportFuncOption(it) => &it.syntax,
21344 FuncOption::TransformFuncOption(it) => &it.syntax,
21345 FuncOption::VolatilityFuncOption(it) => &it.syntax,
21346 FuncOption::WindowFuncOption(it) => &it.syntax,
21347 }
21348 }
21349}
21350impl From<AsFuncOption> for FuncOption {
21351 #[inline]
21352 fn from(node: AsFuncOption) -> FuncOption {
21353 FuncOption::AsFuncOption(node)
21354 }
21355}
21356impl From<BeginFuncOption> for FuncOption {
21357 #[inline]
21358 fn from(node: BeginFuncOption) -> FuncOption {
21359 FuncOption::BeginFuncOption(node)
21360 }
21361}
21362impl From<CostFuncOption> for FuncOption {
21363 #[inline]
21364 fn from(node: CostFuncOption) -> FuncOption {
21365 FuncOption::CostFuncOption(node)
21366 }
21367}
21368impl From<LanguageFuncOption> for FuncOption {
21369 #[inline]
21370 fn from(node: LanguageFuncOption) -> FuncOption {
21371 FuncOption::LanguageFuncOption(node)
21372 }
21373}
21374impl From<LeakproofFuncOption> for FuncOption {
21375 #[inline]
21376 fn from(node: LeakproofFuncOption) -> FuncOption {
21377 FuncOption::LeakproofFuncOption(node)
21378 }
21379}
21380impl From<ParallelFuncOption> for FuncOption {
21381 #[inline]
21382 fn from(node: ParallelFuncOption) -> FuncOption {
21383 FuncOption::ParallelFuncOption(node)
21384 }
21385}
21386impl From<ResetFuncOption> for FuncOption {
21387 #[inline]
21388 fn from(node: ResetFuncOption) -> FuncOption {
21389 FuncOption::ResetFuncOption(node)
21390 }
21391}
21392impl From<ReturnFuncOption> for FuncOption {
21393 #[inline]
21394 fn from(node: ReturnFuncOption) -> FuncOption {
21395 FuncOption::ReturnFuncOption(node)
21396 }
21397}
21398impl From<RowsFuncOption> for FuncOption {
21399 #[inline]
21400 fn from(node: RowsFuncOption) -> FuncOption {
21401 FuncOption::RowsFuncOption(node)
21402 }
21403}
21404impl From<SecurityFuncOption> for FuncOption {
21405 #[inline]
21406 fn from(node: SecurityFuncOption) -> FuncOption {
21407 FuncOption::SecurityFuncOption(node)
21408 }
21409}
21410impl From<SetFuncOption> for FuncOption {
21411 #[inline]
21412 fn from(node: SetFuncOption) -> FuncOption {
21413 FuncOption::SetFuncOption(node)
21414 }
21415}
21416impl From<StrictFuncOption> for FuncOption {
21417 #[inline]
21418 fn from(node: StrictFuncOption) -> FuncOption {
21419 FuncOption::StrictFuncOption(node)
21420 }
21421}
21422impl From<SupportFuncOption> for FuncOption {
21423 #[inline]
21424 fn from(node: SupportFuncOption) -> FuncOption {
21425 FuncOption::SupportFuncOption(node)
21426 }
21427}
21428impl From<TransformFuncOption> for FuncOption {
21429 #[inline]
21430 fn from(node: TransformFuncOption) -> FuncOption {
21431 FuncOption::TransformFuncOption(node)
21432 }
21433}
21434impl From<VolatilityFuncOption> for FuncOption {
21435 #[inline]
21436 fn from(node: VolatilityFuncOption) -> FuncOption {
21437 FuncOption::VolatilityFuncOption(node)
21438 }
21439}
21440impl From<WindowFuncOption> for FuncOption {
21441 #[inline]
21442 fn from(node: WindowFuncOption) -> FuncOption {
21443 FuncOption::WindowFuncOption(node)
21444 }
21445}
21446impl AstNode for GroupBy {
21447 #[inline]
21448 fn can_cast(kind: SyntaxKind) -> bool {
21449 matches!(
21450 kind,
21451 SyntaxKind::GROUPING_CUBE
21452 | SyntaxKind::GROUPING_EXPR
21453 | SyntaxKind::GROUPING_ROLLUP
21454 | SyntaxKind::GROUPING_SETS
21455 )
21456 }
21457 #[inline]
21458 fn cast(syntax: SyntaxNode) -> Option<Self> {
21459 let res = match syntax.kind() {
21460 SyntaxKind::GROUPING_CUBE => GroupBy::GroupingCube(GroupingCube { syntax }),
21461 SyntaxKind::GROUPING_EXPR => GroupBy::GroupingExpr(GroupingExpr { syntax }),
21462 SyntaxKind::GROUPING_ROLLUP => GroupBy::GroupingRollup(GroupingRollup { syntax }),
21463 SyntaxKind::GROUPING_SETS => GroupBy::GroupingSets(GroupingSets { syntax }),
21464 _ => {
21465 return None;
21466 }
21467 };
21468 Some(res)
21469 }
21470 #[inline]
21471 fn syntax(&self) -> &SyntaxNode {
21472 match self {
21473 GroupBy::GroupingCube(it) => &it.syntax,
21474 GroupBy::GroupingExpr(it) => &it.syntax,
21475 GroupBy::GroupingRollup(it) => &it.syntax,
21476 GroupBy::GroupingSets(it) => &it.syntax,
21477 }
21478 }
21479}
21480impl From<GroupingCube> for GroupBy {
21481 #[inline]
21482 fn from(node: GroupingCube) -> GroupBy {
21483 GroupBy::GroupingCube(node)
21484 }
21485}
21486impl From<GroupingExpr> for GroupBy {
21487 #[inline]
21488 fn from(node: GroupingExpr) -> GroupBy {
21489 GroupBy::GroupingExpr(node)
21490 }
21491}
21492impl From<GroupingRollup> for GroupBy {
21493 #[inline]
21494 fn from(node: GroupingRollup) -> GroupBy {
21495 GroupBy::GroupingRollup(node)
21496 }
21497}
21498impl From<GroupingSets> for GroupBy {
21499 #[inline]
21500 fn from(node: GroupingSets) -> GroupBy {
21501 GroupBy::GroupingSets(node)
21502 }
21503}
21504impl AstNode for JoinType {
21505 #[inline]
21506 fn can_cast(kind: SyntaxKind) -> bool {
21507 matches!(
21508 kind,
21509 SyntaxKind::JOIN_CROSS
21510 | SyntaxKind::JOIN_FULL
21511 | SyntaxKind::JOIN_INNER
21512 | SyntaxKind::JOIN_LEFT
21513 | SyntaxKind::JOIN_RIGHT
21514 )
21515 }
21516 #[inline]
21517 fn cast(syntax: SyntaxNode) -> Option<Self> {
21518 let res = match syntax.kind() {
21519 SyntaxKind::JOIN_CROSS => JoinType::JoinCross(JoinCross { syntax }),
21520 SyntaxKind::JOIN_FULL => JoinType::JoinFull(JoinFull { syntax }),
21521 SyntaxKind::JOIN_INNER => JoinType::JoinInner(JoinInner { syntax }),
21522 SyntaxKind::JOIN_LEFT => JoinType::JoinLeft(JoinLeft { syntax }),
21523 SyntaxKind::JOIN_RIGHT => JoinType::JoinRight(JoinRight { syntax }),
21524 _ => {
21525 return None;
21526 }
21527 };
21528 Some(res)
21529 }
21530 #[inline]
21531 fn syntax(&self) -> &SyntaxNode {
21532 match self {
21533 JoinType::JoinCross(it) => &it.syntax,
21534 JoinType::JoinFull(it) => &it.syntax,
21535 JoinType::JoinInner(it) => &it.syntax,
21536 JoinType::JoinLeft(it) => &it.syntax,
21537 JoinType::JoinRight(it) => &it.syntax,
21538 }
21539 }
21540}
21541impl From<JoinCross> for JoinType {
21542 #[inline]
21543 fn from(node: JoinCross) -> JoinType {
21544 JoinType::JoinCross(node)
21545 }
21546}
21547impl From<JoinFull> for JoinType {
21548 #[inline]
21549 fn from(node: JoinFull) -> JoinType {
21550 JoinType::JoinFull(node)
21551 }
21552}
21553impl From<JoinInner> for JoinType {
21554 #[inline]
21555 fn from(node: JoinInner) -> JoinType {
21556 JoinType::JoinInner(node)
21557 }
21558}
21559impl From<JoinLeft> for JoinType {
21560 #[inline]
21561 fn from(node: JoinLeft) -> JoinType {
21562 JoinType::JoinLeft(node)
21563 }
21564}
21565impl From<JoinRight> for JoinType {
21566 #[inline]
21567 fn from(node: JoinRight) -> JoinType {
21568 JoinType::JoinRight(node)
21569 }
21570}
21571impl AstNode for JsonBehavior {
21572 #[inline]
21573 fn can_cast(kind: SyntaxKind) -> bool {
21574 matches!(
21575 kind,
21576 SyntaxKind::JSON_BEHAVIOR_DEFAULT
21577 | SyntaxKind::JSON_BEHAVIOR_EMPTY_ARRAY
21578 | SyntaxKind::JSON_BEHAVIOR_EMPTY_OBJECT
21579 | SyntaxKind::JSON_BEHAVIOR_ERROR
21580 | SyntaxKind::JSON_BEHAVIOR_FALSE
21581 | SyntaxKind::JSON_BEHAVIOR_NULL
21582 | SyntaxKind::JSON_BEHAVIOR_TRUE
21583 | SyntaxKind::JSON_BEHAVIOR_UNKNOWN
21584 )
21585 }
21586 #[inline]
21587 fn cast(syntax: SyntaxNode) -> Option<Self> {
21588 let res = match syntax.kind() {
21589 SyntaxKind::JSON_BEHAVIOR_DEFAULT => {
21590 JsonBehavior::JsonBehaviorDefault(JsonBehaviorDefault { syntax })
21591 }
21592 SyntaxKind::JSON_BEHAVIOR_EMPTY_ARRAY => {
21593 JsonBehavior::JsonBehaviorEmptyArray(JsonBehaviorEmptyArray { syntax })
21594 }
21595 SyntaxKind::JSON_BEHAVIOR_EMPTY_OBJECT => {
21596 JsonBehavior::JsonBehaviorEmptyObject(JsonBehaviorEmptyObject { syntax })
21597 }
21598 SyntaxKind::JSON_BEHAVIOR_ERROR => {
21599 JsonBehavior::JsonBehaviorError(JsonBehaviorError { syntax })
21600 }
21601 SyntaxKind::JSON_BEHAVIOR_FALSE => {
21602 JsonBehavior::JsonBehaviorFalse(JsonBehaviorFalse { syntax })
21603 }
21604 SyntaxKind::JSON_BEHAVIOR_NULL => {
21605 JsonBehavior::JsonBehaviorNull(JsonBehaviorNull { syntax })
21606 }
21607 SyntaxKind::JSON_BEHAVIOR_TRUE => {
21608 JsonBehavior::JsonBehaviorTrue(JsonBehaviorTrue { syntax })
21609 }
21610 SyntaxKind::JSON_BEHAVIOR_UNKNOWN => {
21611 JsonBehavior::JsonBehaviorUnknown(JsonBehaviorUnknown { syntax })
21612 }
21613 _ => {
21614 return None;
21615 }
21616 };
21617 Some(res)
21618 }
21619 #[inline]
21620 fn syntax(&self) -> &SyntaxNode {
21621 match self {
21622 JsonBehavior::JsonBehaviorDefault(it) => &it.syntax,
21623 JsonBehavior::JsonBehaviorEmptyArray(it) => &it.syntax,
21624 JsonBehavior::JsonBehaviorEmptyObject(it) => &it.syntax,
21625 JsonBehavior::JsonBehaviorError(it) => &it.syntax,
21626 JsonBehavior::JsonBehaviorFalse(it) => &it.syntax,
21627 JsonBehavior::JsonBehaviorNull(it) => &it.syntax,
21628 JsonBehavior::JsonBehaviorTrue(it) => &it.syntax,
21629 JsonBehavior::JsonBehaviorUnknown(it) => &it.syntax,
21630 }
21631 }
21632}
21633impl From<JsonBehaviorDefault> for JsonBehavior {
21634 #[inline]
21635 fn from(node: JsonBehaviorDefault) -> JsonBehavior {
21636 JsonBehavior::JsonBehaviorDefault(node)
21637 }
21638}
21639impl From<JsonBehaviorEmptyArray> for JsonBehavior {
21640 #[inline]
21641 fn from(node: JsonBehaviorEmptyArray) -> JsonBehavior {
21642 JsonBehavior::JsonBehaviorEmptyArray(node)
21643 }
21644}
21645impl From<JsonBehaviorEmptyObject> for JsonBehavior {
21646 #[inline]
21647 fn from(node: JsonBehaviorEmptyObject) -> JsonBehavior {
21648 JsonBehavior::JsonBehaviorEmptyObject(node)
21649 }
21650}
21651impl From<JsonBehaviorError> for JsonBehavior {
21652 #[inline]
21653 fn from(node: JsonBehaviorError) -> JsonBehavior {
21654 JsonBehavior::JsonBehaviorError(node)
21655 }
21656}
21657impl From<JsonBehaviorFalse> for JsonBehavior {
21658 #[inline]
21659 fn from(node: JsonBehaviorFalse) -> JsonBehavior {
21660 JsonBehavior::JsonBehaviorFalse(node)
21661 }
21662}
21663impl From<JsonBehaviorNull> for JsonBehavior {
21664 #[inline]
21665 fn from(node: JsonBehaviorNull) -> JsonBehavior {
21666 JsonBehavior::JsonBehaviorNull(node)
21667 }
21668}
21669impl From<JsonBehaviorTrue> for JsonBehavior {
21670 #[inline]
21671 fn from(node: JsonBehaviorTrue) -> JsonBehavior {
21672 JsonBehavior::JsonBehaviorTrue(node)
21673 }
21674}
21675impl From<JsonBehaviorUnknown> for JsonBehavior {
21676 #[inline]
21677 fn from(node: JsonBehaviorUnknown) -> JsonBehavior {
21678 JsonBehavior::JsonBehaviorUnknown(node)
21679 }
21680}
21681impl AstNode for MatchType {
21682 #[inline]
21683 fn can_cast(kind: SyntaxKind) -> bool {
21684 matches!(
21685 kind,
21686 SyntaxKind::MATCH_FULL | SyntaxKind::MATCH_PARTIAL | SyntaxKind::MATCH_SIMPLE
21687 )
21688 }
21689 #[inline]
21690 fn cast(syntax: SyntaxNode) -> Option<Self> {
21691 let res = match syntax.kind() {
21692 SyntaxKind::MATCH_FULL => MatchType::MatchFull(MatchFull { syntax }),
21693 SyntaxKind::MATCH_PARTIAL => MatchType::MatchPartial(MatchPartial { syntax }),
21694 SyntaxKind::MATCH_SIMPLE => MatchType::MatchSimple(MatchSimple { syntax }),
21695 _ => {
21696 return None;
21697 }
21698 };
21699 Some(res)
21700 }
21701 #[inline]
21702 fn syntax(&self) -> &SyntaxNode {
21703 match self {
21704 MatchType::MatchFull(it) => &it.syntax,
21705 MatchType::MatchPartial(it) => &it.syntax,
21706 MatchType::MatchSimple(it) => &it.syntax,
21707 }
21708 }
21709}
21710impl From<MatchFull> for MatchType {
21711 #[inline]
21712 fn from(node: MatchFull) -> MatchType {
21713 MatchType::MatchFull(node)
21714 }
21715}
21716impl From<MatchPartial> for MatchType {
21717 #[inline]
21718 fn from(node: MatchPartial) -> MatchType {
21719 MatchType::MatchPartial(node)
21720 }
21721}
21722impl From<MatchSimple> for MatchType {
21723 #[inline]
21724 fn from(node: MatchSimple) -> MatchType {
21725 MatchType::MatchSimple(node)
21726 }
21727}
21728impl AstNode for MergeAction {
21729 #[inline]
21730 fn can_cast(kind: SyntaxKind) -> bool {
21731 matches!(
21732 kind,
21733 SyntaxKind::MERGE_DELETE
21734 | SyntaxKind::MERGE_DO_NOTHING
21735 | SyntaxKind::MERGE_INSERT
21736 | SyntaxKind::MERGE_UPDATE
21737 )
21738 }
21739 #[inline]
21740 fn cast(syntax: SyntaxNode) -> Option<Self> {
21741 let res = match syntax.kind() {
21742 SyntaxKind::MERGE_DELETE => MergeAction::MergeDelete(MergeDelete { syntax }),
21743 SyntaxKind::MERGE_DO_NOTHING => MergeAction::MergeDoNothing(MergeDoNothing { syntax }),
21744 SyntaxKind::MERGE_INSERT => MergeAction::MergeInsert(MergeInsert { syntax }),
21745 SyntaxKind::MERGE_UPDATE => MergeAction::MergeUpdate(MergeUpdate { syntax }),
21746 _ => {
21747 return None;
21748 }
21749 };
21750 Some(res)
21751 }
21752 #[inline]
21753 fn syntax(&self) -> &SyntaxNode {
21754 match self {
21755 MergeAction::MergeDelete(it) => &it.syntax,
21756 MergeAction::MergeDoNothing(it) => &it.syntax,
21757 MergeAction::MergeInsert(it) => &it.syntax,
21758 MergeAction::MergeUpdate(it) => &it.syntax,
21759 }
21760 }
21761}
21762impl From<MergeDelete> for MergeAction {
21763 #[inline]
21764 fn from(node: MergeDelete) -> MergeAction {
21765 MergeAction::MergeDelete(node)
21766 }
21767}
21768impl From<MergeDoNothing> for MergeAction {
21769 #[inline]
21770 fn from(node: MergeDoNothing) -> MergeAction {
21771 MergeAction::MergeDoNothing(node)
21772 }
21773}
21774impl From<MergeInsert> for MergeAction {
21775 #[inline]
21776 fn from(node: MergeInsert) -> MergeAction {
21777 MergeAction::MergeInsert(node)
21778 }
21779}
21780impl From<MergeUpdate> for MergeAction {
21781 #[inline]
21782 fn from(node: MergeUpdate) -> MergeAction {
21783 MergeAction::MergeUpdate(node)
21784 }
21785}
21786impl AstNode for MergeWhenClause {
21787 #[inline]
21788 fn can_cast(kind: SyntaxKind) -> bool {
21789 matches!(
21790 kind,
21791 SyntaxKind::MERGE_WHEN_MATCHED
21792 | SyntaxKind::MERGE_WHEN_NOT_MATCHED_SOURCE
21793 | SyntaxKind::MERGE_WHEN_NOT_MATCHED_TARGET
21794 )
21795 }
21796 #[inline]
21797 fn cast(syntax: SyntaxNode) -> Option<Self> {
21798 let res = match syntax.kind() {
21799 SyntaxKind::MERGE_WHEN_MATCHED => {
21800 MergeWhenClause::MergeWhenMatched(MergeWhenMatched { syntax })
21801 }
21802 SyntaxKind::MERGE_WHEN_NOT_MATCHED_SOURCE => {
21803 MergeWhenClause::MergeWhenNotMatchedSource(MergeWhenNotMatchedSource { syntax })
21804 }
21805 SyntaxKind::MERGE_WHEN_NOT_MATCHED_TARGET => {
21806 MergeWhenClause::MergeWhenNotMatchedTarget(MergeWhenNotMatchedTarget { syntax })
21807 }
21808 _ => {
21809 return None;
21810 }
21811 };
21812 Some(res)
21813 }
21814 #[inline]
21815 fn syntax(&self) -> &SyntaxNode {
21816 match self {
21817 MergeWhenClause::MergeWhenMatched(it) => &it.syntax,
21818 MergeWhenClause::MergeWhenNotMatchedSource(it) => &it.syntax,
21819 MergeWhenClause::MergeWhenNotMatchedTarget(it) => &it.syntax,
21820 }
21821 }
21822}
21823impl From<MergeWhenMatched> for MergeWhenClause {
21824 #[inline]
21825 fn from(node: MergeWhenMatched) -> MergeWhenClause {
21826 MergeWhenClause::MergeWhenMatched(node)
21827 }
21828}
21829impl From<MergeWhenNotMatchedSource> for MergeWhenClause {
21830 #[inline]
21831 fn from(node: MergeWhenNotMatchedSource) -> MergeWhenClause {
21832 MergeWhenClause::MergeWhenNotMatchedSource(node)
21833 }
21834}
21835impl From<MergeWhenNotMatchedTarget> for MergeWhenClause {
21836 #[inline]
21837 fn from(node: MergeWhenNotMatchedTarget) -> MergeWhenClause {
21838 MergeWhenClause::MergeWhenNotMatchedTarget(node)
21839 }
21840}
21841impl AstNode for OnCommitAction {
21842 #[inline]
21843 fn can_cast(kind: SyntaxKind) -> bool {
21844 matches!(
21845 kind,
21846 SyntaxKind::DELETE_ROWS | SyntaxKind::DROP | SyntaxKind::PRESERVE_ROWS
21847 )
21848 }
21849 #[inline]
21850 fn cast(syntax: SyntaxNode) -> Option<Self> {
21851 let res = match syntax.kind() {
21852 SyntaxKind::DELETE_ROWS => OnCommitAction::DeleteRows(DeleteRows { syntax }),
21853 SyntaxKind::DROP => OnCommitAction::Drop(Drop { syntax }),
21854 SyntaxKind::PRESERVE_ROWS => OnCommitAction::PreserveRows(PreserveRows { syntax }),
21855 _ => {
21856 return None;
21857 }
21858 };
21859 Some(res)
21860 }
21861 #[inline]
21862 fn syntax(&self) -> &SyntaxNode {
21863 match self {
21864 OnCommitAction::DeleteRows(it) => &it.syntax,
21865 OnCommitAction::Drop(it) => &it.syntax,
21866 OnCommitAction::PreserveRows(it) => &it.syntax,
21867 }
21868 }
21869}
21870impl From<DeleteRows> for OnCommitAction {
21871 #[inline]
21872 fn from(node: DeleteRows) -> OnCommitAction {
21873 OnCommitAction::DeleteRows(node)
21874 }
21875}
21876impl From<Drop> for OnCommitAction {
21877 #[inline]
21878 fn from(node: Drop) -> OnCommitAction {
21879 OnCommitAction::Drop(node)
21880 }
21881}
21882impl From<PreserveRows> for OnCommitAction {
21883 #[inline]
21884 fn from(node: PreserveRows) -> OnCommitAction {
21885 OnCommitAction::PreserveRows(node)
21886 }
21887}
21888impl AstNode for ParamMode {
21889 #[inline]
21890 fn can_cast(kind: SyntaxKind) -> bool {
21891 matches!(
21892 kind,
21893 SyntaxKind::PARAM_IN
21894 | SyntaxKind::PARAM_IN_OUT
21895 | SyntaxKind::PARAM_OUT
21896 | SyntaxKind::PARAM_VARIADIC
21897 )
21898 }
21899 #[inline]
21900 fn cast(syntax: SyntaxNode) -> Option<Self> {
21901 let res = match syntax.kind() {
21902 SyntaxKind::PARAM_IN => ParamMode::ParamIn(ParamIn { syntax }),
21903 SyntaxKind::PARAM_IN_OUT => ParamMode::ParamInOut(ParamInOut { syntax }),
21904 SyntaxKind::PARAM_OUT => ParamMode::ParamOut(ParamOut { syntax }),
21905 SyntaxKind::PARAM_VARIADIC => ParamMode::ParamVariadic(ParamVariadic { syntax }),
21906 _ => {
21907 return None;
21908 }
21909 };
21910 Some(res)
21911 }
21912 #[inline]
21913 fn syntax(&self) -> &SyntaxNode {
21914 match self {
21915 ParamMode::ParamIn(it) => &it.syntax,
21916 ParamMode::ParamInOut(it) => &it.syntax,
21917 ParamMode::ParamOut(it) => &it.syntax,
21918 ParamMode::ParamVariadic(it) => &it.syntax,
21919 }
21920 }
21921}
21922impl From<ParamIn> for ParamMode {
21923 #[inline]
21924 fn from(node: ParamIn) -> ParamMode {
21925 ParamMode::ParamIn(node)
21926 }
21927}
21928impl From<ParamInOut> for ParamMode {
21929 #[inline]
21930 fn from(node: ParamInOut) -> ParamMode {
21931 ParamMode::ParamInOut(node)
21932 }
21933}
21934impl From<ParamOut> for ParamMode {
21935 #[inline]
21936 fn from(node: ParamOut) -> ParamMode {
21937 ParamMode::ParamOut(node)
21938 }
21939}
21940impl From<ParamVariadic> for ParamMode {
21941 #[inline]
21942 fn from(node: ParamVariadic) -> ParamMode {
21943 ParamMode::ParamVariadic(node)
21944 }
21945}
21946impl AstNode for PartitionType {
21947 #[inline]
21948 fn can_cast(kind: SyntaxKind) -> bool {
21949 matches!(
21950 kind,
21951 SyntaxKind::PARTITION_DEFAULT
21952 | SyntaxKind::PARTITION_FOR_VALUES_FROM
21953 | SyntaxKind::PARTITION_FOR_VALUES_IN
21954 | SyntaxKind::PARTITION_FOR_VALUES_WITH
21955 )
21956 }
21957 #[inline]
21958 fn cast(syntax: SyntaxNode) -> Option<Self> {
21959 let res = match syntax.kind() {
21960 SyntaxKind::PARTITION_DEFAULT => {
21961 PartitionType::PartitionDefault(PartitionDefault { syntax })
21962 }
21963 SyntaxKind::PARTITION_FOR_VALUES_FROM => {
21964 PartitionType::PartitionForValuesFrom(PartitionForValuesFrom { syntax })
21965 }
21966 SyntaxKind::PARTITION_FOR_VALUES_IN => {
21967 PartitionType::PartitionForValuesIn(PartitionForValuesIn { syntax })
21968 }
21969 SyntaxKind::PARTITION_FOR_VALUES_WITH => {
21970 PartitionType::PartitionForValuesWith(PartitionForValuesWith { syntax })
21971 }
21972 _ => {
21973 return None;
21974 }
21975 };
21976 Some(res)
21977 }
21978 #[inline]
21979 fn syntax(&self) -> &SyntaxNode {
21980 match self {
21981 PartitionType::PartitionDefault(it) => &it.syntax,
21982 PartitionType::PartitionForValuesFrom(it) => &it.syntax,
21983 PartitionType::PartitionForValuesIn(it) => &it.syntax,
21984 PartitionType::PartitionForValuesWith(it) => &it.syntax,
21985 }
21986 }
21987}
21988impl From<PartitionDefault> for PartitionType {
21989 #[inline]
21990 fn from(node: PartitionDefault) -> PartitionType {
21991 PartitionType::PartitionDefault(node)
21992 }
21993}
21994impl From<PartitionForValuesFrom> for PartitionType {
21995 #[inline]
21996 fn from(node: PartitionForValuesFrom) -> PartitionType {
21997 PartitionType::PartitionForValuesFrom(node)
21998 }
21999}
22000impl From<PartitionForValuesIn> for PartitionType {
22001 #[inline]
22002 fn from(node: PartitionForValuesIn) -> PartitionType {
22003 PartitionType::PartitionForValuesIn(node)
22004 }
22005}
22006impl From<PartitionForValuesWith> for PartitionType {
22007 #[inline]
22008 fn from(node: PartitionForValuesWith) -> PartitionType {
22009 PartitionType::PartitionForValuesWith(node)
22010 }
22011}
22012impl AstNode for RefAction {
22013 #[inline]
22014 fn can_cast(kind: SyntaxKind) -> bool {
22015 matches!(
22016 kind,
22017 SyntaxKind::CASCADE
22018 | SyntaxKind::NO_ACTION
22019 | SyntaxKind::RESTRICT
22020 | SyntaxKind::SET_DEFAULT_COLUMNS
22021 | SyntaxKind::SET_NULL_COLUMNS
22022 )
22023 }
22024 #[inline]
22025 fn cast(syntax: SyntaxNode) -> Option<Self> {
22026 let res = match syntax.kind() {
22027 SyntaxKind::CASCADE => RefAction::Cascade(Cascade { syntax }),
22028 SyntaxKind::NO_ACTION => RefAction::NoAction(NoAction { syntax }),
22029 SyntaxKind::RESTRICT => RefAction::Restrict(Restrict { syntax }),
22030 SyntaxKind::SET_DEFAULT_COLUMNS => {
22031 RefAction::SetDefaultColumns(SetDefaultColumns { syntax })
22032 }
22033 SyntaxKind::SET_NULL_COLUMNS => RefAction::SetNullColumns(SetNullColumns { syntax }),
22034 _ => {
22035 return None;
22036 }
22037 };
22038 Some(res)
22039 }
22040 #[inline]
22041 fn syntax(&self) -> &SyntaxNode {
22042 match self {
22043 RefAction::Cascade(it) => &it.syntax,
22044 RefAction::NoAction(it) => &it.syntax,
22045 RefAction::Restrict(it) => &it.syntax,
22046 RefAction::SetDefaultColumns(it) => &it.syntax,
22047 RefAction::SetNullColumns(it) => &it.syntax,
22048 }
22049 }
22050}
22051impl From<Cascade> for RefAction {
22052 #[inline]
22053 fn from(node: Cascade) -> RefAction {
22054 RefAction::Cascade(node)
22055 }
22056}
22057impl From<NoAction> for RefAction {
22058 #[inline]
22059 fn from(node: NoAction) -> RefAction {
22060 RefAction::NoAction(node)
22061 }
22062}
22063impl From<Restrict> for RefAction {
22064 #[inline]
22065 fn from(node: Restrict) -> RefAction {
22066 RefAction::Restrict(node)
22067 }
22068}
22069impl From<SetDefaultColumns> for RefAction {
22070 #[inline]
22071 fn from(node: SetDefaultColumns) -> RefAction {
22072 RefAction::SetDefaultColumns(node)
22073 }
22074}
22075impl From<SetNullColumns> for RefAction {
22076 #[inline]
22077 fn from(node: SetNullColumns) -> RefAction {
22078 RefAction::SetNullColumns(node)
22079 }
22080}
22081impl AstNode for Stmt {
22082 #[inline]
22083 fn can_cast(kind: SyntaxKind) -> bool {
22084 matches!(
22085 kind,
22086 SyntaxKind::ALTER_AGGREGATE
22087 | SyntaxKind::ALTER_COLLATION
22088 | SyntaxKind::ALTER_CONVERSION
22089 | SyntaxKind::ALTER_DATABASE
22090 | SyntaxKind::ALTER_DEFAULT_PRIVILEGES
22091 | SyntaxKind::ALTER_DOMAIN
22092 | SyntaxKind::ALTER_EVENT_TRIGGER
22093 | SyntaxKind::ALTER_EXTENSION
22094 | SyntaxKind::ALTER_FOREIGN_DATA_WRAPPER
22095 | SyntaxKind::ALTER_FOREIGN_TABLE
22096 | SyntaxKind::ALTER_FUNCTION
22097 | SyntaxKind::ALTER_GROUP
22098 | SyntaxKind::ALTER_INDEX
22099 | SyntaxKind::ALTER_LANGUAGE
22100 | SyntaxKind::ALTER_LARGE_OBJECT
22101 | SyntaxKind::ALTER_MATERIALIZED_VIEW
22102 | SyntaxKind::ALTER_OPERATOR
22103 | SyntaxKind::ALTER_OPERATOR_CLASS
22104 | SyntaxKind::ALTER_OPERATOR_FAMILY
22105 | SyntaxKind::ALTER_POLICY
22106 | SyntaxKind::ALTER_PROCEDURE
22107 | SyntaxKind::ALTER_PUBLICATION
22108 | SyntaxKind::ALTER_ROLE
22109 | SyntaxKind::ALTER_ROUTINE
22110 | SyntaxKind::ALTER_RULE
22111 | SyntaxKind::ALTER_SCHEMA
22112 | SyntaxKind::ALTER_SEQUENCE
22113 | SyntaxKind::ALTER_SERVER
22114 | SyntaxKind::ALTER_STATISTICS
22115 | SyntaxKind::ALTER_SUBSCRIPTION
22116 | SyntaxKind::ALTER_SYSTEM
22117 | SyntaxKind::ALTER_TABLE
22118 | SyntaxKind::ALTER_TABLESPACE
22119 | SyntaxKind::ALTER_TEXT_SEARCH_CONFIGURATION
22120 | SyntaxKind::ALTER_TEXT_SEARCH_DICTIONARY
22121 | SyntaxKind::ALTER_TEXT_SEARCH_PARSER
22122 | SyntaxKind::ALTER_TEXT_SEARCH_TEMPLATE
22123 | SyntaxKind::ALTER_TRIGGER
22124 | SyntaxKind::ALTER_TYPE
22125 | SyntaxKind::ALTER_USER
22126 | SyntaxKind::ALTER_USER_MAPPING
22127 | SyntaxKind::ALTER_VIEW
22128 | SyntaxKind::ANALYZE
22129 | SyntaxKind::BEGIN
22130 | SyntaxKind::CALL
22131 | SyntaxKind::CHECKPOINT
22132 | SyntaxKind::CLOSE
22133 | SyntaxKind::CLUSTER
22134 | SyntaxKind::COMMENT_ON
22135 | SyntaxKind::COMMIT
22136 | SyntaxKind::COPY
22137 | SyntaxKind::CREATE_ACCESS_METHOD
22138 | SyntaxKind::CREATE_AGGREGATE
22139 | SyntaxKind::CREATE_CAST
22140 | SyntaxKind::CREATE_COLLATION
22141 | SyntaxKind::CREATE_CONVERSION
22142 | SyntaxKind::CREATE_DATABASE
22143 | SyntaxKind::CREATE_DOMAIN
22144 | SyntaxKind::CREATE_EVENT_TRIGGER
22145 | SyntaxKind::CREATE_EXTENSION
22146 | SyntaxKind::CREATE_FOREIGN_DATA_WRAPPER
22147 | SyntaxKind::CREATE_FOREIGN_TABLE
22148 | SyntaxKind::CREATE_FUNCTION
22149 | SyntaxKind::CREATE_GROUP
22150 | SyntaxKind::CREATE_INDEX
22151 | SyntaxKind::CREATE_LANGUAGE
22152 | SyntaxKind::CREATE_MATERIALIZED_VIEW
22153 | SyntaxKind::CREATE_OPERATOR
22154 | SyntaxKind::CREATE_OPERATOR_CLASS
22155 | SyntaxKind::CREATE_OPERATOR_FAMILY
22156 | SyntaxKind::CREATE_POLICY
22157 | SyntaxKind::CREATE_PROCEDURE
22158 | SyntaxKind::CREATE_PUBLICATION
22159 | SyntaxKind::CREATE_ROLE
22160 | SyntaxKind::CREATE_RULE
22161 | SyntaxKind::CREATE_SCHEMA
22162 | SyntaxKind::CREATE_SEQUENCE
22163 | SyntaxKind::CREATE_SERVER
22164 | SyntaxKind::CREATE_STATISTICS
22165 | SyntaxKind::CREATE_SUBSCRIPTION
22166 | SyntaxKind::CREATE_TABLE
22167 | SyntaxKind::CREATE_TABLE_AS
22168 | SyntaxKind::CREATE_TABLESPACE
22169 | SyntaxKind::CREATE_TEXT_SEARCH_CONFIGURATION
22170 | SyntaxKind::CREATE_TEXT_SEARCH_DICTIONARY
22171 | SyntaxKind::CREATE_TEXT_SEARCH_PARSER
22172 | SyntaxKind::CREATE_TEXT_SEARCH_TEMPLATE
22173 | SyntaxKind::CREATE_TRANSFORM
22174 | SyntaxKind::CREATE_TRIGGER
22175 | SyntaxKind::CREATE_TYPE
22176 | SyntaxKind::CREATE_USER
22177 | SyntaxKind::CREATE_USER_MAPPING
22178 | SyntaxKind::CREATE_VIEW
22179 | SyntaxKind::DEALLOCATE
22180 | SyntaxKind::DECLARE
22181 | SyntaxKind::DELETE
22182 | SyntaxKind::DISCARD
22183 | SyntaxKind::DO
22184 | SyntaxKind::DROP_ACCESS_METHOD
22185 | SyntaxKind::DROP_AGGREGATE
22186 | SyntaxKind::DROP_CAST
22187 | SyntaxKind::DROP_COLLATION
22188 | SyntaxKind::DROP_CONVERSION
22189 | SyntaxKind::DROP_DATABASE
22190 | SyntaxKind::DROP_DOMAIN
22191 | SyntaxKind::DROP_EVENT_TRIGGER
22192 | SyntaxKind::DROP_EXTENSION
22193 | SyntaxKind::DROP_FOREIGN_DATA_WRAPPER
22194 | SyntaxKind::DROP_FOREIGN_TABLE
22195 | SyntaxKind::DROP_FUNCTION
22196 | SyntaxKind::DROP_GROUP
22197 | SyntaxKind::DROP_INDEX
22198 | SyntaxKind::DROP_LANGUAGE
22199 | SyntaxKind::DROP_MATERIALIZED_VIEW
22200 | SyntaxKind::DROP_OPERATOR
22201 | SyntaxKind::DROP_OPERATOR_CLASS
22202 | SyntaxKind::DROP_OPERATOR_FAMILY
22203 | SyntaxKind::DROP_OWNED
22204 | SyntaxKind::DROP_POLICY
22205 | SyntaxKind::DROP_PROCEDURE
22206 | SyntaxKind::DROP_PUBLICATION
22207 | SyntaxKind::DROP_ROLE
22208 | SyntaxKind::DROP_ROUTINE
22209 | SyntaxKind::DROP_RULE
22210 | SyntaxKind::DROP_SCHEMA
22211 | SyntaxKind::DROP_SEQUENCE
22212 | SyntaxKind::DROP_SERVER
22213 | SyntaxKind::DROP_STATISTICS
22214 | SyntaxKind::DROP_SUBSCRIPTION
22215 | SyntaxKind::DROP_TABLE
22216 | SyntaxKind::DROP_TABLESPACE
22217 | SyntaxKind::DROP_TEXT_SEARCH_CONFIG
22218 | SyntaxKind::DROP_TEXT_SEARCH_DICT
22219 | SyntaxKind::DROP_TEXT_SEARCH_PARSER
22220 | SyntaxKind::DROP_TEXT_SEARCH_TEMPLATE
22221 | SyntaxKind::DROP_TRANSFORM
22222 | SyntaxKind::DROP_TRIGGER
22223 | SyntaxKind::DROP_TYPE
22224 | SyntaxKind::DROP_USER
22225 | SyntaxKind::DROP_USER_MAPPING
22226 | SyntaxKind::DROP_VIEW
22227 | SyntaxKind::EXECUTE
22228 | SyntaxKind::EXPLAIN
22229 | SyntaxKind::FETCH
22230 | SyntaxKind::GRANT
22231 | SyntaxKind::IMPORT_FOREIGN_SCHEMA
22232 | SyntaxKind::INSERT
22233 | SyntaxKind::LISTEN
22234 | SyntaxKind::LOAD
22235 | SyntaxKind::LOCK
22236 | SyntaxKind::MERGE
22237 | SyntaxKind::MOVE
22238 | SyntaxKind::NOTIFY
22239 | SyntaxKind::PAREN_SELECT
22240 | SyntaxKind::PREPARE
22241 | SyntaxKind::PREPARE_TRANSACTION
22242 | SyntaxKind::REASSIGN
22243 | SyntaxKind::REFRESH
22244 | SyntaxKind::REINDEX
22245 | SyntaxKind::RELEASE_SAVEPOINT
22246 | SyntaxKind::RESET
22247 | SyntaxKind::REVOKE
22248 | SyntaxKind::ROLLBACK
22249 | SyntaxKind::SAVEPOINT
22250 | SyntaxKind::SECURITY_LABEL
22251 | SyntaxKind::SELECT
22252 | SyntaxKind::SELECT_INTO
22253 | SyntaxKind::SET
22254 | SyntaxKind::SET_CONSTRAINTS
22255 | SyntaxKind::SET_ROLE
22256 | SyntaxKind::SET_SESSION_AUTH
22257 | SyntaxKind::SET_TRANSACTION
22258 | SyntaxKind::SHOW
22259 | SyntaxKind::TABLE
22260 | SyntaxKind::TRUNCATE
22261 | SyntaxKind::UNLISTEN
22262 | SyntaxKind::UPDATE
22263 | SyntaxKind::VACUUM
22264 | SyntaxKind::VALUES
22265 )
22266 }
22267 #[inline]
22268 fn cast(syntax: SyntaxNode) -> Option<Self> {
22269 let res = match syntax.kind() {
22270 SyntaxKind::ALTER_AGGREGATE => Stmt::AlterAggregate(AlterAggregate { syntax }),
22271 SyntaxKind::ALTER_COLLATION => Stmt::AlterCollation(AlterCollation { syntax }),
22272 SyntaxKind::ALTER_CONVERSION => Stmt::AlterConversion(AlterConversion { syntax }),
22273 SyntaxKind::ALTER_DATABASE => Stmt::AlterDatabase(AlterDatabase { syntax }),
22274 SyntaxKind::ALTER_DEFAULT_PRIVILEGES => {
22275 Stmt::AlterDefaultPrivileges(AlterDefaultPrivileges { syntax })
22276 }
22277 SyntaxKind::ALTER_DOMAIN => Stmt::AlterDomain(AlterDomain { syntax }),
22278 SyntaxKind::ALTER_EVENT_TRIGGER => {
22279 Stmt::AlterEventTrigger(AlterEventTrigger { syntax })
22280 }
22281 SyntaxKind::ALTER_EXTENSION => Stmt::AlterExtension(AlterExtension { syntax }),
22282 SyntaxKind::ALTER_FOREIGN_DATA_WRAPPER => {
22283 Stmt::AlterForeignDataWrapper(AlterForeignDataWrapper { syntax })
22284 }
22285 SyntaxKind::ALTER_FOREIGN_TABLE => {
22286 Stmt::AlterForeignTable(AlterForeignTable { syntax })
22287 }
22288 SyntaxKind::ALTER_FUNCTION => Stmt::AlterFunction(AlterFunction { syntax }),
22289 SyntaxKind::ALTER_GROUP => Stmt::AlterGroup(AlterGroup { syntax }),
22290 SyntaxKind::ALTER_INDEX => Stmt::AlterIndex(AlterIndex { syntax }),
22291 SyntaxKind::ALTER_LANGUAGE => Stmt::AlterLanguage(AlterLanguage { syntax }),
22292 SyntaxKind::ALTER_LARGE_OBJECT => Stmt::AlterLargeObject(AlterLargeObject { syntax }),
22293 SyntaxKind::ALTER_MATERIALIZED_VIEW => {
22294 Stmt::AlterMaterializedView(AlterMaterializedView { syntax })
22295 }
22296 SyntaxKind::ALTER_OPERATOR => Stmt::AlterOperator(AlterOperator { syntax }),
22297 SyntaxKind::ALTER_OPERATOR_CLASS => {
22298 Stmt::AlterOperatorClass(AlterOperatorClass { syntax })
22299 }
22300 SyntaxKind::ALTER_OPERATOR_FAMILY => {
22301 Stmt::AlterOperatorFamily(AlterOperatorFamily { syntax })
22302 }
22303 SyntaxKind::ALTER_POLICY => Stmt::AlterPolicy(AlterPolicy { syntax }),
22304 SyntaxKind::ALTER_PROCEDURE => Stmt::AlterProcedure(AlterProcedure { syntax }),
22305 SyntaxKind::ALTER_PUBLICATION => Stmt::AlterPublication(AlterPublication { syntax }),
22306 SyntaxKind::ALTER_ROLE => Stmt::AlterRole(AlterRole { syntax }),
22307 SyntaxKind::ALTER_ROUTINE => Stmt::AlterRoutine(AlterRoutine { syntax }),
22308 SyntaxKind::ALTER_RULE => Stmt::AlterRule(AlterRule { syntax }),
22309 SyntaxKind::ALTER_SCHEMA => Stmt::AlterSchema(AlterSchema { syntax }),
22310 SyntaxKind::ALTER_SEQUENCE => Stmt::AlterSequence(AlterSequence { syntax }),
22311 SyntaxKind::ALTER_SERVER => Stmt::AlterServer(AlterServer { syntax }),
22312 SyntaxKind::ALTER_STATISTICS => Stmt::AlterStatistics(AlterStatistics { syntax }),
22313 SyntaxKind::ALTER_SUBSCRIPTION => Stmt::AlterSubscription(AlterSubscription { syntax }),
22314 SyntaxKind::ALTER_SYSTEM => Stmt::AlterSystem(AlterSystem { syntax }),
22315 SyntaxKind::ALTER_TABLE => Stmt::AlterTable(AlterTable { syntax }),
22316 SyntaxKind::ALTER_TABLESPACE => Stmt::AlterTablespace(AlterTablespace { syntax }),
22317 SyntaxKind::ALTER_TEXT_SEARCH_CONFIGURATION => {
22318 Stmt::AlterTextSearchConfiguration(AlterTextSearchConfiguration { syntax })
22319 }
22320 SyntaxKind::ALTER_TEXT_SEARCH_DICTIONARY => {
22321 Stmt::AlterTextSearchDictionary(AlterTextSearchDictionary { syntax })
22322 }
22323 SyntaxKind::ALTER_TEXT_SEARCH_PARSER => {
22324 Stmt::AlterTextSearchParser(AlterTextSearchParser { syntax })
22325 }
22326 SyntaxKind::ALTER_TEXT_SEARCH_TEMPLATE => {
22327 Stmt::AlterTextSearchTemplate(AlterTextSearchTemplate { syntax })
22328 }
22329 SyntaxKind::ALTER_TRIGGER => Stmt::AlterTrigger(AlterTrigger { syntax }),
22330 SyntaxKind::ALTER_TYPE => Stmt::AlterType(AlterType { syntax }),
22331 SyntaxKind::ALTER_USER => Stmt::AlterUser(AlterUser { syntax }),
22332 SyntaxKind::ALTER_USER_MAPPING => Stmt::AlterUserMapping(AlterUserMapping { syntax }),
22333 SyntaxKind::ALTER_VIEW => Stmt::AlterView(AlterView { syntax }),
22334 SyntaxKind::ANALYZE => Stmt::Analyze(Analyze { syntax }),
22335 SyntaxKind::BEGIN => Stmt::Begin(Begin { syntax }),
22336 SyntaxKind::CALL => Stmt::Call(Call { syntax }),
22337 SyntaxKind::CHECKPOINT => Stmt::Checkpoint(Checkpoint { syntax }),
22338 SyntaxKind::CLOSE => Stmt::Close(Close { syntax }),
22339 SyntaxKind::CLUSTER => Stmt::Cluster(Cluster { syntax }),
22340 SyntaxKind::COMMENT_ON => Stmt::CommentOn(CommentOn { syntax }),
22341 SyntaxKind::COMMIT => Stmt::Commit(Commit { syntax }),
22342 SyntaxKind::COPY => Stmt::Copy(Copy { syntax }),
22343 SyntaxKind::CREATE_ACCESS_METHOD => {
22344 Stmt::CreateAccessMethod(CreateAccessMethod { syntax })
22345 }
22346 SyntaxKind::CREATE_AGGREGATE => Stmt::CreateAggregate(CreateAggregate { syntax }),
22347 SyntaxKind::CREATE_CAST => Stmt::CreateCast(CreateCast { syntax }),
22348 SyntaxKind::CREATE_COLLATION => Stmt::CreateCollation(CreateCollation { syntax }),
22349 SyntaxKind::CREATE_CONVERSION => Stmt::CreateConversion(CreateConversion { syntax }),
22350 SyntaxKind::CREATE_DATABASE => Stmt::CreateDatabase(CreateDatabase { syntax }),
22351 SyntaxKind::CREATE_DOMAIN => Stmt::CreateDomain(CreateDomain { syntax }),
22352 SyntaxKind::CREATE_EVENT_TRIGGER => {
22353 Stmt::CreateEventTrigger(CreateEventTrigger { syntax })
22354 }
22355 SyntaxKind::CREATE_EXTENSION => Stmt::CreateExtension(CreateExtension { syntax }),
22356 SyntaxKind::CREATE_FOREIGN_DATA_WRAPPER => {
22357 Stmt::CreateForeignDataWrapper(CreateForeignDataWrapper { syntax })
22358 }
22359 SyntaxKind::CREATE_FOREIGN_TABLE => {
22360 Stmt::CreateForeignTable(CreateForeignTable { syntax })
22361 }
22362 SyntaxKind::CREATE_FUNCTION => Stmt::CreateFunction(CreateFunction { syntax }),
22363 SyntaxKind::CREATE_GROUP => Stmt::CreateGroup(CreateGroup { syntax }),
22364 SyntaxKind::CREATE_INDEX => Stmt::CreateIndex(CreateIndex { syntax }),
22365 SyntaxKind::CREATE_LANGUAGE => Stmt::CreateLanguage(CreateLanguage { syntax }),
22366 SyntaxKind::CREATE_MATERIALIZED_VIEW => {
22367 Stmt::CreateMaterializedView(CreateMaterializedView { syntax })
22368 }
22369 SyntaxKind::CREATE_OPERATOR => Stmt::CreateOperator(CreateOperator { syntax }),
22370 SyntaxKind::CREATE_OPERATOR_CLASS => {
22371 Stmt::CreateOperatorClass(CreateOperatorClass { syntax })
22372 }
22373 SyntaxKind::CREATE_OPERATOR_FAMILY => {
22374 Stmt::CreateOperatorFamily(CreateOperatorFamily { syntax })
22375 }
22376 SyntaxKind::CREATE_POLICY => Stmt::CreatePolicy(CreatePolicy { syntax }),
22377 SyntaxKind::CREATE_PROCEDURE => Stmt::CreateProcedure(CreateProcedure { syntax }),
22378 SyntaxKind::CREATE_PUBLICATION => Stmt::CreatePublication(CreatePublication { syntax }),
22379 SyntaxKind::CREATE_ROLE => Stmt::CreateRole(CreateRole { syntax }),
22380 SyntaxKind::CREATE_RULE => Stmt::CreateRule(CreateRule { syntax }),
22381 SyntaxKind::CREATE_SCHEMA => Stmt::CreateSchema(CreateSchema { syntax }),
22382 SyntaxKind::CREATE_SEQUENCE => Stmt::CreateSequence(CreateSequence { syntax }),
22383 SyntaxKind::CREATE_SERVER => Stmt::CreateServer(CreateServer { syntax }),
22384 SyntaxKind::CREATE_STATISTICS => Stmt::CreateStatistics(CreateStatistics { syntax }),
22385 SyntaxKind::CREATE_SUBSCRIPTION => {
22386 Stmt::CreateSubscription(CreateSubscription { syntax })
22387 }
22388 SyntaxKind::CREATE_TABLE => Stmt::CreateTable(CreateTable { syntax }),
22389 SyntaxKind::CREATE_TABLE_AS => Stmt::CreateTableAs(CreateTableAs { syntax }),
22390 SyntaxKind::CREATE_TABLESPACE => Stmt::CreateTablespace(CreateTablespace { syntax }),
22391 SyntaxKind::CREATE_TEXT_SEARCH_CONFIGURATION => {
22392 Stmt::CreateTextSearchConfiguration(CreateTextSearchConfiguration { syntax })
22393 }
22394 SyntaxKind::CREATE_TEXT_SEARCH_DICTIONARY => {
22395 Stmt::CreateTextSearchDictionary(CreateTextSearchDictionary { syntax })
22396 }
22397 SyntaxKind::CREATE_TEXT_SEARCH_PARSER => {
22398 Stmt::CreateTextSearchParser(CreateTextSearchParser { syntax })
22399 }
22400 SyntaxKind::CREATE_TEXT_SEARCH_TEMPLATE => {
22401 Stmt::CreateTextSearchTemplate(CreateTextSearchTemplate { syntax })
22402 }
22403 SyntaxKind::CREATE_TRANSFORM => Stmt::CreateTransform(CreateTransform { syntax }),
22404 SyntaxKind::CREATE_TRIGGER => Stmt::CreateTrigger(CreateTrigger { syntax }),
22405 SyntaxKind::CREATE_TYPE => Stmt::CreateType(CreateType { syntax }),
22406 SyntaxKind::CREATE_USER => Stmt::CreateUser(CreateUser { syntax }),
22407 SyntaxKind::CREATE_USER_MAPPING => {
22408 Stmt::CreateUserMapping(CreateUserMapping { syntax })
22409 }
22410 SyntaxKind::CREATE_VIEW => Stmt::CreateView(CreateView { syntax }),
22411 SyntaxKind::DEALLOCATE => Stmt::Deallocate(Deallocate { syntax }),
22412 SyntaxKind::DECLARE => Stmt::Declare(Declare { syntax }),
22413 SyntaxKind::DELETE => Stmt::Delete(Delete { syntax }),
22414 SyntaxKind::DISCARD => Stmt::Discard(Discard { syntax }),
22415 SyntaxKind::DO => Stmt::Do(Do { syntax }),
22416 SyntaxKind::DROP_ACCESS_METHOD => Stmt::DropAccessMethod(DropAccessMethod { syntax }),
22417 SyntaxKind::DROP_AGGREGATE => Stmt::DropAggregate(DropAggregate { syntax }),
22418 SyntaxKind::DROP_CAST => Stmt::DropCast(DropCast { syntax }),
22419 SyntaxKind::DROP_COLLATION => Stmt::DropCollation(DropCollation { syntax }),
22420 SyntaxKind::DROP_CONVERSION => Stmt::DropConversion(DropConversion { syntax }),
22421 SyntaxKind::DROP_DATABASE => Stmt::DropDatabase(DropDatabase { syntax }),
22422 SyntaxKind::DROP_DOMAIN => Stmt::DropDomain(DropDomain { syntax }),
22423 SyntaxKind::DROP_EVENT_TRIGGER => Stmt::DropEventTrigger(DropEventTrigger { syntax }),
22424 SyntaxKind::DROP_EXTENSION => Stmt::DropExtension(DropExtension { syntax }),
22425 SyntaxKind::DROP_FOREIGN_DATA_WRAPPER => {
22426 Stmt::DropForeignDataWrapper(DropForeignDataWrapper { syntax })
22427 }
22428 SyntaxKind::DROP_FOREIGN_TABLE => Stmt::DropForeignTable(DropForeignTable { syntax }),
22429 SyntaxKind::DROP_FUNCTION => Stmt::DropFunction(DropFunction { syntax }),
22430 SyntaxKind::DROP_GROUP => Stmt::DropGroup(DropGroup { syntax }),
22431 SyntaxKind::DROP_INDEX => Stmt::DropIndex(DropIndex { syntax }),
22432 SyntaxKind::DROP_LANGUAGE => Stmt::DropLanguage(DropLanguage { syntax }),
22433 SyntaxKind::DROP_MATERIALIZED_VIEW => {
22434 Stmt::DropMaterializedView(DropMaterializedView { syntax })
22435 }
22436 SyntaxKind::DROP_OPERATOR => Stmt::DropOperator(DropOperator { syntax }),
22437 SyntaxKind::DROP_OPERATOR_CLASS => {
22438 Stmt::DropOperatorClass(DropOperatorClass { syntax })
22439 }
22440 SyntaxKind::DROP_OPERATOR_FAMILY => {
22441 Stmt::DropOperatorFamily(DropOperatorFamily { syntax })
22442 }
22443 SyntaxKind::DROP_OWNED => Stmt::DropOwned(DropOwned { syntax }),
22444 SyntaxKind::DROP_POLICY => Stmt::DropPolicy(DropPolicy { syntax }),
22445 SyntaxKind::DROP_PROCEDURE => Stmt::DropProcedure(DropProcedure { syntax }),
22446 SyntaxKind::DROP_PUBLICATION => Stmt::DropPublication(DropPublication { syntax }),
22447 SyntaxKind::DROP_ROLE => Stmt::DropRole(DropRole { syntax }),
22448 SyntaxKind::DROP_ROUTINE => Stmt::DropRoutine(DropRoutine { syntax }),
22449 SyntaxKind::DROP_RULE => Stmt::DropRule(DropRule { syntax }),
22450 SyntaxKind::DROP_SCHEMA => Stmt::DropSchema(DropSchema { syntax }),
22451 SyntaxKind::DROP_SEQUENCE => Stmt::DropSequence(DropSequence { syntax }),
22452 SyntaxKind::DROP_SERVER => Stmt::DropServer(DropServer { syntax }),
22453 SyntaxKind::DROP_STATISTICS => Stmt::DropStatistics(DropStatistics { syntax }),
22454 SyntaxKind::DROP_SUBSCRIPTION => Stmt::DropSubscription(DropSubscription { syntax }),
22455 SyntaxKind::DROP_TABLE => Stmt::DropTable(DropTable { syntax }),
22456 SyntaxKind::DROP_TABLESPACE => Stmt::DropTablespace(DropTablespace { syntax }),
22457 SyntaxKind::DROP_TEXT_SEARCH_CONFIG => {
22458 Stmt::DropTextSearchConfig(DropTextSearchConfig { syntax })
22459 }
22460 SyntaxKind::DROP_TEXT_SEARCH_DICT => {
22461 Stmt::DropTextSearchDict(DropTextSearchDict { syntax })
22462 }
22463 SyntaxKind::DROP_TEXT_SEARCH_PARSER => {
22464 Stmt::DropTextSearchParser(DropTextSearchParser { syntax })
22465 }
22466 SyntaxKind::DROP_TEXT_SEARCH_TEMPLATE => {
22467 Stmt::DropTextSearchTemplate(DropTextSearchTemplate { syntax })
22468 }
22469 SyntaxKind::DROP_TRANSFORM => Stmt::DropTransform(DropTransform { syntax }),
22470 SyntaxKind::DROP_TRIGGER => Stmt::DropTrigger(DropTrigger { syntax }),
22471 SyntaxKind::DROP_TYPE => Stmt::DropType(DropType { syntax }),
22472 SyntaxKind::DROP_USER => Stmt::DropUser(DropUser { syntax }),
22473 SyntaxKind::DROP_USER_MAPPING => Stmt::DropUserMapping(DropUserMapping { syntax }),
22474 SyntaxKind::DROP_VIEW => Stmt::DropView(DropView { syntax }),
22475 SyntaxKind::EXECUTE => Stmt::Execute(Execute { syntax }),
22476 SyntaxKind::EXPLAIN => Stmt::Explain(Explain { syntax }),
22477 SyntaxKind::FETCH => Stmt::Fetch(Fetch { syntax }),
22478 SyntaxKind::GRANT => Stmt::Grant(Grant { syntax }),
22479 SyntaxKind::IMPORT_FOREIGN_SCHEMA => {
22480 Stmt::ImportForeignSchema(ImportForeignSchema { syntax })
22481 }
22482 SyntaxKind::INSERT => Stmt::Insert(Insert { syntax }),
22483 SyntaxKind::LISTEN => Stmt::Listen(Listen { syntax }),
22484 SyntaxKind::LOAD => Stmt::Load(Load { syntax }),
22485 SyntaxKind::LOCK => Stmt::Lock(Lock { syntax }),
22486 SyntaxKind::MERGE => Stmt::Merge(Merge { syntax }),
22487 SyntaxKind::MOVE => Stmt::Move(Move { syntax }),
22488 SyntaxKind::NOTIFY => Stmt::Notify(Notify { syntax }),
22489 SyntaxKind::PAREN_SELECT => Stmt::ParenSelect(ParenSelect { syntax }),
22490 SyntaxKind::PREPARE => Stmt::Prepare(Prepare { syntax }),
22491 SyntaxKind::PREPARE_TRANSACTION => {
22492 Stmt::PrepareTransaction(PrepareTransaction { syntax })
22493 }
22494 SyntaxKind::REASSIGN => Stmt::Reassign(Reassign { syntax }),
22495 SyntaxKind::REFRESH => Stmt::Refresh(Refresh { syntax }),
22496 SyntaxKind::REINDEX => Stmt::Reindex(Reindex { syntax }),
22497 SyntaxKind::RELEASE_SAVEPOINT => Stmt::ReleaseSavepoint(ReleaseSavepoint { syntax }),
22498 SyntaxKind::RESET => Stmt::Reset(Reset { syntax }),
22499 SyntaxKind::REVOKE => Stmt::Revoke(Revoke { syntax }),
22500 SyntaxKind::ROLLBACK => Stmt::Rollback(Rollback { syntax }),
22501 SyntaxKind::SAVEPOINT => Stmt::Savepoint(Savepoint { syntax }),
22502 SyntaxKind::SECURITY_LABEL => Stmt::SecurityLabel(SecurityLabel { syntax }),
22503 SyntaxKind::SELECT => Stmt::Select(Select { syntax }),
22504 SyntaxKind::SELECT_INTO => Stmt::SelectInto(SelectInto { syntax }),
22505 SyntaxKind::SET => Stmt::Set(Set { syntax }),
22506 SyntaxKind::SET_CONSTRAINTS => Stmt::SetConstraints(SetConstraints { syntax }),
22507 SyntaxKind::SET_ROLE => Stmt::SetRole(SetRole { syntax }),
22508 SyntaxKind::SET_SESSION_AUTH => Stmt::SetSessionAuth(SetSessionAuth { syntax }),
22509 SyntaxKind::SET_TRANSACTION => Stmt::SetTransaction(SetTransaction { syntax }),
22510 SyntaxKind::SHOW => Stmt::Show(Show { syntax }),
22511 SyntaxKind::TABLE => Stmt::Table(Table { syntax }),
22512 SyntaxKind::TRUNCATE => Stmt::Truncate(Truncate { syntax }),
22513 SyntaxKind::UNLISTEN => Stmt::Unlisten(Unlisten { syntax }),
22514 SyntaxKind::UPDATE => Stmt::Update(Update { syntax }),
22515 SyntaxKind::VACUUM => Stmt::Vacuum(Vacuum { syntax }),
22516 SyntaxKind::VALUES => Stmt::Values(Values { syntax }),
22517 _ => {
22518 return None;
22519 }
22520 };
22521 Some(res)
22522 }
22523 #[inline]
22524 fn syntax(&self) -> &SyntaxNode {
22525 match self {
22526 Stmt::AlterAggregate(it) => &it.syntax,
22527 Stmt::AlterCollation(it) => &it.syntax,
22528 Stmt::AlterConversion(it) => &it.syntax,
22529 Stmt::AlterDatabase(it) => &it.syntax,
22530 Stmt::AlterDefaultPrivileges(it) => &it.syntax,
22531 Stmt::AlterDomain(it) => &it.syntax,
22532 Stmt::AlterEventTrigger(it) => &it.syntax,
22533 Stmt::AlterExtension(it) => &it.syntax,
22534 Stmt::AlterForeignDataWrapper(it) => &it.syntax,
22535 Stmt::AlterForeignTable(it) => &it.syntax,
22536 Stmt::AlterFunction(it) => &it.syntax,
22537 Stmt::AlterGroup(it) => &it.syntax,
22538 Stmt::AlterIndex(it) => &it.syntax,
22539 Stmt::AlterLanguage(it) => &it.syntax,
22540 Stmt::AlterLargeObject(it) => &it.syntax,
22541 Stmt::AlterMaterializedView(it) => &it.syntax,
22542 Stmt::AlterOperator(it) => &it.syntax,
22543 Stmt::AlterOperatorClass(it) => &it.syntax,
22544 Stmt::AlterOperatorFamily(it) => &it.syntax,
22545 Stmt::AlterPolicy(it) => &it.syntax,
22546 Stmt::AlterProcedure(it) => &it.syntax,
22547 Stmt::AlterPublication(it) => &it.syntax,
22548 Stmt::AlterRole(it) => &it.syntax,
22549 Stmt::AlterRoutine(it) => &it.syntax,
22550 Stmt::AlterRule(it) => &it.syntax,
22551 Stmt::AlterSchema(it) => &it.syntax,
22552 Stmt::AlterSequence(it) => &it.syntax,
22553 Stmt::AlterServer(it) => &it.syntax,
22554 Stmt::AlterStatistics(it) => &it.syntax,
22555 Stmt::AlterSubscription(it) => &it.syntax,
22556 Stmt::AlterSystem(it) => &it.syntax,
22557 Stmt::AlterTable(it) => &it.syntax,
22558 Stmt::AlterTablespace(it) => &it.syntax,
22559 Stmt::AlterTextSearchConfiguration(it) => &it.syntax,
22560 Stmt::AlterTextSearchDictionary(it) => &it.syntax,
22561 Stmt::AlterTextSearchParser(it) => &it.syntax,
22562 Stmt::AlterTextSearchTemplate(it) => &it.syntax,
22563 Stmt::AlterTrigger(it) => &it.syntax,
22564 Stmt::AlterType(it) => &it.syntax,
22565 Stmt::AlterUser(it) => &it.syntax,
22566 Stmt::AlterUserMapping(it) => &it.syntax,
22567 Stmt::AlterView(it) => &it.syntax,
22568 Stmt::Analyze(it) => &it.syntax,
22569 Stmt::Begin(it) => &it.syntax,
22570 Stmt::Call(it) => &it.syntax,
22571 Stmt::Checkpoint(it) => &it.syntax,
22572 Stmt::Close(it) => &it.syntax,
22573 Stmt::Cluster(it) => &it.syntax,
22574 Stmt::CommentOn(it) => &it.syntax,
22575 Stmt::Commit(it) => &it.syntax,
22576 Stmt::Copy(it) => &it.syntax,
22577 Stmt::CreateAccessMethod(it) => &it.syntax,
22578 Stmt::CreateAggregate(it) => &it.syntax,
22579 Stmt::CreateCast(it) => &it.syntax,
22580 Stmt::CreateCollation(it) => &it.syntax,
22581 Stmt::CreateConversion(it) => &it.syntax,
22582 Stmt::CreateDatabase(it) => &it.syntax,
22583 Stmt::CreateDomain(it) => &it.syntax,
22584 Stmt::CreateEventTrigger(it) => &it.syntax,
22585 Stmt::CreateExtension(it) => &it.syntax,
22586 Stmt::CreateForeignDataWrapper(it) => &it.syntax,
22587 Stmt::CreateForeignTable(it) => &it.syntax,
22588 Stmt::CreateFunction(it) => &it.syntax,
22589 Stmt::CreateGroup(it) => &it.syntax,
22590 Stmt::CreateIndex(it) => &it.syntax,
22591 Stmt::CreateLanguage(it) => &it.syntax,
22592 Stmt::CreateMaterializedView(it) => &it.syntax,
22593 Stmt::CreateOperator(it) => &it.syntax,
22594 Stmt::CreateOperatorClass(it) => &it.syntax,
22595 Stmt::CreateOperatorFamily(it) => &it.syntax,
22596 Stmt::CreatePolicy(it) => &it.syntax,
22597 Stmt::CreateProcedure(it) => &it.syntax,
22598 Stmt::CreatePublication(it) => &it.syntax,
22599 Stmt::CreateRole(it) => &it.syntax,
22600 Stmt::CreateRule(it) => &it.syntax,
22601 Stmt::CreateSchema(it) => &it.syntax,
22602 Stmt::CreateSequence(it) => &it.syntax,
22603 Stmt::CreateServer(it) => &it.syntax,
22604 Stmt::CreateStatistics(it) => &it.syntax,
22605 Stmt::CreateSubscription(it) => &it.syntax,
22606 Stmt::CreateTable(it) => &it.syntax,
22607 Stmt::CreateTableAs(it) => &it.syntax,
22608 Stmt::CreateTablespace(it) => &it.syntax,
22609 Stmt::CreateTextSearchConfiguration(it) => &it.syntax,
22610 Stmt::CreateTextSearchDictionary(it) => &it.syntax,
22611 Stmt::CreateTextSearchParser(it) => &it.syntax,
22612 Stmt::CreateTextSearchTemplate(it) => &it.syntax,
22613 Stmt::CreateTransform(it) => &it.syntax,
22614 Stmt::CreateTrigger(it) => &it.syntax,
22615 Stmt::CreateType(it) => &it.syntax,
22616 Stmt::CreateUser(it) => &it.syntax,
22617 Stmt::CreateUserMapping(it) => &it.syntax,
22618 Stmt::CreateView(it) => &it.syntax,
22619 Stmt::Deallocate(it) => &it.syntax,
22620 Stmt::Declare(it) => &it.syntax,
22621 Stmt::Delete(it) => &it.syntax,
22622 Stmt::Discard(it) => &it.syntax,
22623 Stmt::Do(it) => &it.syntax,
22624 Stmt::DropAccessMethod(it) => &it.syntax,
22625 Stmt::DropAggregate(it) => &it.syntax,
22626 Stmt::DropCast(it) => &it.syntax,
22627 Stmt::DropCollation(it) => &it.syntax,
22628 Stmt::DropConversion(it) => &it.syntax,
22629 Stmt::DropDatabase(it) => &it.syntax,
22630 Stmt::DropDomain(it) => &it.syntax,
22631 Stmt::DropEventTrigger(it) => &it.syntax,
22632 Stmt::DropExtension(it) => &it.syntax,
22633 Stmt::DropForeignDataWrapper(it) => &it.syntax,
22634 Stmt::DropForeignTable(it) => &it.syntax,
22635 Stmt::DropFunction(it) => &it.syntax,
22636 Stmt::DropGroup(it) => &it.syntax,
22637 Stmt::DropIndex(it) => &it.syntax,
22638 Stmt::DropLanguage(it) => &it.syntax,
22639 Stmt::DropMaterializedView(it) => &it.syntax,
22640 Stmt::DropOperator(it) => &it.syntax,
22641 Stmt::DropOperatorClass(it) => &it.syntax,
22642 Stmt::DropOperatorFamily(it) => &it.syntax,
22643 Stmt::DropOwned(it) => &it.syntax,
22644 Stmt::DropPolicy(it) => &it.syntax,
22645 Stmt::DropProcedure(it) => &it.syntax,
22646 Stmt::DropPublication(it) => &it.syntax,
22647 Stmt::DropRole(it) => &it.syntax,
22648 Stmt::DropRoutine(it) => &it.syntax,
22649 Stmt::DropRule(it) => &it.syntax,
22650 Stmt::DropSchema(it) => &it.syntax,
22651 Stmt::DropSequence(it) => &it.syntax,
22652 Stmt::DropServer(it) => &it.syntax,
22653 Stmt::DropStatistics(it) => &it.syntax,
22654 Stmt::DropSubscription(it) => &it.syntax,
22655 Stmt::DropTable(it) => &it.syntax,
22656 Stmt::DropTablespace(it) => &it.syntax,
22657 Stmt::DropTextSearchConfig(it) => &it.syntax,
22658 Stmt::DropTextSearchDict(it) => &it.syntax,
22659 Stmt::DropTextSearchParser(it) => &it.syntax,
22660 Stmt::DropTextSearchTemplate(it) => &it.syntax,
22661 Stmt::DropTransform(it) => &it.syntax,
22662 Stmt::DropTrigger(it) => &it.syntax,
22663 Stmt::DropType(it) => &it.syntax,
22664 Stmt::DropUser(it) => &it.syntax,
22665 Stmt::DropUserMapping(it) => &it.syntax,
22666 Stmt::DropView(it) => &it.syntax,
22667 Stmt::Execute(it) => &it.syntax,
22668 Stmt::Explain(it) => &it.syntax,
22669 Stmt::Fetch(it) => &it.syntax,
22670 Stmt::Grant(it) => &it.syntax,
22671 Stmt::ImportForeignSchema(it) => &it.syntax,
22672 Stmt::Insert(it) => &it.syntax,
22673 Stmt::Listen(it) => &it.syntax,
22674 Stmt::Load(it) => &it.syntax,
22675 Stmt::Lock(it) => &it.syntax,
22676 Stmt::Merge(it) => &it.syntax,
22677 Stmt::Move(it) => &it.syntax,
22678 Stmt::Notify(it) => &it.syntax,
22679 Stmt::ParenSelect(it) => &it.syntax,
22680 Stmt::Prepare(it) => &it.syntax,
22681 Stmt::PrepareTransaction(it) => &it.syntax,
22682 Stmt::Reassign(it) => &it.syntax,
22683 Stmt::Refresh(it) => &it.syntax,
22684 Stmt::Reindex(it) => &it.syntax,
22685 Stmt::ReleaseSavepoint(it) => &it.syntax,
22686 Stmt::Reset(it) => &it.syntax,
22687 Stmt::Revoke(it) => &it.syntax,
22688 Stmt::Rollback(it) => &it.syntax,
22689 Stmt::Savepoint(it) => &it.syntax,
22690 Stmt::SecurityLabel(it) => &it.syntax,
22691 Stmt::Select(it) => &it.syntax,
22692 Stmt::SelectInto(it) => &it.syntax,
22693 Stmt::Set(it) => &it.syntax,
22694 Stmt::SetConstraints(it) => &it.syntax,
22695 Stmt::SetRole(it) => &it.syntax,
22696 Stmt::SetSessionAuth(it) => &it.syntax,
22697 Stmt::SetTransaction(it) => &it.syntax,
22698 Stmt::Show(it) => &it.syntax,
22699 Stmt::Table(it) => &it.syntax,
22700 Stmt::Truncate(it) => &it.syntax,
22701 Stmt::Unlisten(it) => &it.syntax,
22702 Stmt::Update(it) => &it.syntax,
22703 Stmt::Vacuum(it) => &it.syntax,
22704 Stmt::Values(it) => &it.syntax,
22705 }
22706 }
22707}
22708impl From<AlterAggregate> for Stmt {
22709 #[inline]
22710 fn from(node: AlterAggregate) -> Stmt {
22711 Stmt::AlterAggregate(node)
22712 }
22713}
22714impl From<AlterCollation> for Stmt {
22715 #[inline]
22716 fn from(node: AlterCollation) -> Stmt {
22717 Stmt::AlterCollation(node)
22718 }
22719}
22720impl From<AlterConversion> for Stmt {
22721 #[inline]
22722 fn from(node: AlterConversion) -> Stmt {
22723 Stmt::AlterConversion(node)
22724 }
22725}
22726impl From<AlterDatabase> for Stmt {
22727 #[inline]
22728 fn from(node: AlterDatabase) -> Stmt {
22729 Stmt::AlterDatabase(node)
22730 }
22731}
22732impl From<AlterDefaultPrivileges> for Stmt {
22733 #[inline]
22734 fn from(node: AlterDefaultPrivileges) -> Stmt {
22735 Stmt::AlterDefaultPrivileges(node)
22736 }
22737}
22738impl From<AlterDomain> for Stmt {
22739 #[inline]
22740 fn from(node: AlterDomain) -> Stmt {
22741 Stmt::AlterDomain(node)
22742 }
22743}
22744impl From<AlterEventTrigger> for Stmt {
22745 #[inline]
22746 fn from(node: AlterEventTrigger) -> Stmt {
22747 Stmt::AlterEventTrigger(node)
22748 }
22749}
22750impl From<AlterExtension> for Stmt {
22751 #[inline]
22752 fn from(node: AlterExtension) -> Stmt {
22753 Stmt::AlterExtension(node)
22754 }
22755}
22756impl From<AlterForeignDataWrapper> for Stmt {
22757 #[inline]
22758 fn from(node: AlterForeignDataWrapper) -> Stmt {
22759 Stmt::AlterForeignDataWrapper(node)
22760 }
22761}
22762impl From<AlterForeignTable> for Stmt {
22763 #[inline]
22764 fn from(node: AlterForeignTable) -> Stmt {
22765 Stmt::AlterForeignTable(node)
22766 }
22767}
22768impl From<AlterFunction> for Stmt {
22769 #[inline]
22770 fn from(node: AlterFunction) -> Stmt {
22771 Stmt::AlterFunction(node)
22772 }
22773}
22774impl From<AlterGroup> for Stmt {
22775 #[inline]
22776 fn from(node: AlterGroup) -> Stmt {
22777 Stmt::AlterGroup(node)
22778 }
22779}
22780impl From<AlterIndex> for Stmt {
22781 #[inline]
22782 fn from(node: AlterIndex) -> Stmt {
22783 Stmt::AlterIndex(node)
22784 }
22785}
22786impl From<AlterLanguage> for Stmt {
22787 #[inline]
22788 fn from(node: AlterLanguage) -> Stmt {
22789 Stmt::AlterLanguage(node)
22790 }
22791}
22792impl From<AlterLargeObject> for Stmt {
22793 #[inline]
22794 fn from(node: AlterLargeObject) -> Stmt {
22795 Stmt::AlterLargeObject(node)
22796 }
22797}
22798impl From<AlterMaterializedView> for Stmt {
22799 #[inline]
22800 fn from(node: AlterMaterializedView) -> Stmt {
22801 Stmt::AlterMaterializedView(node)
22802 }
22803}
22804impl From<AlterOperator> for Stmt {
22805 #[inline]
22806 fn from(node: AlterOperator) -> Stmt {
22807 Stmt::AlterOperator(node)
22808 }
22809}
22810impl From<AlterOperatorClass> for Stmt {
22811 #[inline]
22812 fn from(node: AlterOperatorClass) -> Stmt {
22813 Stmt::AlterOperatorClass(node)
22814 }
22815}
22816impl From<AlterOperatorFamily> for Stmt {
22817 #[inline]
22818 fn from(node: AlterOperatorFamily) -> Stmt {
22819 Stmt::AlterOperatorFamily(node)
22820 }
22821}
22822impl From<AlterPolicy> for Stmt {
22823 #[inline]
22824 fn from(node: AlterPolicy) -> Stmt {
22825 Stmt::AlterPolicy(node)
22826 }
22827}
22828impl From<AlterProcedure> for Stmt {
22829 #[inline]
22830 fn from(node: AlterProcedure) -> Stmt {
22831 Stmt::AlterProcedure(node)
22832 }
22833}
22834impl From<AlterPublication> for Stmt {
22835 #[inline]
22836 fn from(node: AlterPublication) -> Stmt {
22837 Stmt::AlterPublication(node)
22838 }
22839}
22840impl From<AlterRole> for Stmt {
22841 #[inline]
22842 fn from(node: AlterRole) -> Stmt {
22843 Stmt::AlterRole(node)
22844 }
22845}
22846impl From<AlterRoutine> for Stmt {
22847 #[inline]
22848 fn from(node: AlterRoutine) -> Stmt {
22849 Stmt::AlterRoutine(node)
22850 }
22851}
22852impl From<AlterRule> for Stmt {
22853 #[inline]
22854 fn from(node: AlterRule) -> Stmt {
22855 Stmt::AlterRule(node)
22856 }
22857}
22858impl From<AlterSchema> for Stmt {
22859 #[inline]
22860 fn from(node: AlterSchema) -> Stmt {
22861 Stmt::AlterSchema(node)
22862 }
22863}
22864impl From<AlterSequence> for Stmt {
22865 #[inline]
22866 fn from(node: AlterSequence) -> Stmt {
22867 Stmt::AlterSequence(node)
22868 }
22869}
22870impl From<AlterServer> for Stmt {
22871 #[inline]
22872 fn from(node: AlterServer) -> Stmt {
22873 Stmt::AlterServer(node)
22874 }
22875}
22876impl From<AlterStatistics> for Stmt {
22877 #[inline]
22878 fn from(node: AlterStatistics) -> Stmt {
22879 Stmt::AlterStatistics(node)
22880 }
22881}
22882impl From<AlterSubscription> for Stmt {
22883 #[inline]
22884 fn from(node: AlterSubscription) -> Stmt {
22885 Stmt::AlterSubscription(node)
22886 }
22887}
22888impl From<AlterSystem> for Stmt {
22889 #[inline]
22890 fn from(node: AlterSystem) -> Stmt {
22891 Stmt::AlterSystem(node)
22892 }
22893}
22894impl From<AlterTable> for Stmt {
22895 #[inline]
22896 fn from(node: AlterTable) -> Stmt {
22897 Stmt::AlterTable(node)
22898 }
22899}
22900impl From<AlterTablespace> for Stmt {
22901 #[inline]
22902 fn from(node: AlterTablespace) -> Stmt {
22903 Stmt::AlterTablespace(node)
22904 }
22905}
22906impl From<AlterTextSearchConfiguration> for Stmt {
22907 #[inline]
22908 fn from(node: AlterTextSearchConfiguration) -> Stmt {
22909 Stmt::AlterTextSearchConfiguration(node)
22910 }
22911}
22912impl From<AlterTextSearchDictionary> for Stmt {
22913 #[inline]
22914 fn from(node: AlterTextSearchDictionary) -> Stmt {
22915 Stmt::AlterTextSearchDictionary(node)
22916 }
22917}
22918impl From<AlterTextSearchParser> for Stmt {
22919 #[inline]
22920 fn from(node: AlterTextSearchParser) -> Stmt {
22921 Stmt::AlterTextSearchParser(node)
22922 }
22923}
22924impl From<AlterTextSearchTemplate> for Stmt {
22925 #[inline]
22926 fn from(node: AlterTextSearchTemplate) -> Stmt {
22927 Stmt::AlterTextSearchTemplate(node)
22928 }
22929}
22930impl From<AlterTrigger> for Stmt {
22931 #[inline]
22932 fn from(node: AlterTrigger) -> Stmt {
22933 Stmt::AlterTrigger(node)
22934 }
22935}
22936impl From<AlterType> for Stmt {
22937 #[inline]
22938 fn from(node: AlterType) -> Stmt {
22939 Stmt::AlterType(node)
22940 }
22941}
22942impl From<AlterUser> for Stmt {
22943 #[inline]
22944 fn from(node: AlterUser) -> Stmt {
22945 Stmt::AlterUser(node)
22946 }
22947}
22948impl From<AlterUserMapping> for Stmt {
22949 #[inline]
22950 fn from(node: AlterUserMapping) -> Stmt {
22951 Stmt::AlterUserMapping(node)
22952 }
22953}
22954impl From<AlterView> for Stmt {
22955 #[inline]
22956 fn from(node: AlterView) -> Stmt {
22957 Stmt::AlterView(node)
22958 }
22959}
22960impl From<Analyze> for Stmt {
22961 #[inline]
22962 fn from(node: Analyze) -> Stmt {
22963 Stmt::Analyze(node)
22964 }
22965}
22966impl From<Begin> for Stmt {
22967 #[inline]
22968 fn from(node: Begin) -> Stmt {
22969 Stmt::Begin(node)
22970 }
22971}
22972impl From<Call> for Stmt {
22973 #[inline]
22974 fn from(node: Call) -> Stmt {
22975 Stmt::Call(node)
22976 }
22977}
22978impl From<Checkpoint> for Stmt {
22979 #[inline]
22980 fn from(node: Checkpoint) -> Stmt {
22981 Stmt::Checkpoint(node)
22982 }
22983}
22984impl From<Close> for Stmt {
22985 #[inline]
22986 fn from(node: Close) -> Stmt {
22987 Stmt::Close(node)
22988 }
22989}
22990impl From<Cluster> for Stmt {
22991 #[inline]
22992 fn from(node: Cluster) -> Stmt {
22993 Stmt::Cluster(node)
22994 }
22995}
22996impl From<CommentOn> for Stmt {
22997 #[inline]
22998 fn from(node: CommentOn) -> Stmt {
22999 Stmt::CommentOn(node)
23000 }
23001}
23002impl From<Commit> for Stmt {
23003 #[inline]
23004 fn from(node: Commit) -> Stmt {
23005 Stmt::Commit(node)
23006 }
23007}
23008impl From<Copy> for Stmt {
23009 #[inline]
23010 fn from(node: Copy) -> Stmt {
23011 Stmt::Copy(node)
23012 }
23013}
23014impl From<CreateAccessMethod> for Stmt {
23015 #[inline]
23016 fn from(node: CreateAccessMethod) -> Stmt {
23017 Stmt::CreateAccessMethod(node)
23018 }
23019}
23020impl From<CreateAggregate> for Stmt {
23021 #[inline]
23022 fn from(node: CreateAggregate) -> Stmt {
23023 Stmt::CreateAggregate(node)
23024 }
23025}
23026impl From<CreateCast> for Stmt {
23027 #[inline]
23028 fn from(node: CreateCast) -> Stmt {
23029 Stmt::CreateCast(node)
23030 }
23031}
23032impl From<CreateCollation> for Stmt {
23033 #[inline]
23034 fn from(node: CreateCollation) -> Stmt {
23035 Stmt::CreateCollation(node)
23036 }
23037}
23038impl From<CreateConversion> for Stmt {
23039 #[inline]
23040 fn from(node: CreateConversion) -> Stmt {
23041 Stmt::CreateConversion(node)
23042 }
23043}
23044impl From<CreateDatabase> for Stmt {
23045 #[inline]
23046 fn from(node: CreateDatabase) -> Stmt {
23047 Stmt::CreateDatabase(node)
23048 }
23049}
23050impl From<CreateDomain> for Stmt {
23051 #[inline]
23052 fn from(node: CreateDomain) -> Stmt {
23053 Stmt::CreateDomain(node)
23054 }
23055}
23056impl From<CreateEventTrigger> for Stmt {
23057 #[inline]
23058 fn from(node: CreateEventTrigger) -> Stmt {
23059 Stmt::CreateEventTrigger(node)
23060 }
23061}
23062impl From<CreateExtension> for Stmt {
23063 #[inline]
23064 fn from(node: CreateExtension) -> Stmt {
23065 Stmt::CreateExtension(node)
23066 }
23067}
23068impl From<CreateForeignDataWrapper> for Stmt {
23069 #[inline]
23070 fn from(node: CreateForeignDataWrapper) -> Stmt {
23071 Stmt::CreateForeignDataWrapper(node)
23072 }
23073}
23074impl From<CreateForeignTable> for Stmt {
23075 #[inline]
23076 fn from(node: CreateForeignTable) -> Stmt {
23077 Stmt::CreateForeignTable(node)
23078 }
23079}
23080impl From<CreateFunction> for Stmt {
23081 #[inline]
23082 fn from(node: CreateFunction) -> Stmt {
23083 Stmt::CreateFunction(node)
23084 }
23085}
23086impl From<CreateGroup> for Stmt {
23087 #[inline]
23088 fn from(node: CreateGroup) -> Stmt {
23089 Stmt::CreateGroup(node)
23090 }
23091}
23092impl From<CreateIndex> for Stmt {
23093 #[inline]
23094 fn from(node: CreateIndex) -> Stmt {
23095 Stmt::CreateIndex(node)
23096 }
23097}
23098impl From<CreateLanguage> for Stmt {
23099 #[inline]
23100 fn from(node: CreateLanguage) -> Stmt {
23101 Stmt::CreateLanguage(node)
23102 }
23103}
23104impl From<CreateMaterializedView> for Stmt {
23105 #[inline]
23106 fn from(node: CreateMaterializedView) -> Stmt {
23107 Stmt::CreateMaterializedView(node)
23108 }
23109}
23110impl From<CreateOperator> for Stmt {
23111 #[inline]
23112 fn from(node: CreateOperator) -> Stmt {
23113 Stmt::CreateOperator(node)
23114 }
23115}
23116impl From<CreateOperatorClass> for Stmt {
23117 #[inline]
23118 fn from(node: CreateOperatorClass) -> Stmt {
23119 Stmt::CreateOperatorClass(node)
23120 }
23121}
23122impl From<CreateOperatorFamily> for Stmt {
23123 #[inline]
23124 fn from(node: CreateOperatorFamily) -> Stmt {
23125 Stmt::CreateOperatorFamily(node)
23126 }
23127}
23128impl From<CreatePolicy> for Stmt {
23129 #[inline]
23130 fn from(node: CreatePolicy) -> Stmt {
23131 Stmt::CreatePolicy(node)
23132 }
23133}
23134impl From<CreateProcedure> for Stmt {
23135 #[inline]
23136 fn from(node: CreateProcedure) -> Stmt {
23137 Stmt::CreateProcedure(node)
23138 }
23139}
23140impl From<CreatePublication> for Stmt {
23141 #[inline]
23142 fn from(node: CreatePublication) -> Stmt {
23143 Stmt::CreatePublication(node)
23144 }
23145}
23146impl From<CreateRole> for Stmt {
23147 #[inline]
23148 fn from(node: CreateRole) -> Stmt {
23149 Stmt::CreateRole(node)
23150 }
23151}
23152impl From<CreateRule> for Stmt {
23153 #[inline]
23154 fn from(node: CreateRule) -> Stmt {
23155 Stmt::CreateRule(node)
23156 }
23157}
23158impl From<CreateSchema> for Stmt {
23159 #[inline]
23160 fn from(node: CreateSchema) -> Stmt {
23161 Stmt::CreateSchema(node)
23162 }
23163}
23164impl From<CreateSequence> for Stmt {
23165 #[inline]
23166 fn from(node: CreateSequence) -> Stmt {
23167 Stmt::CreateSequence(node)
23168 }
23169}
23170impl From<CreateServer> for Stmt {
23171 #[inline]
23172 fn from(node: CreateServer) -> Stmt {
23173 Stmt::CreateServer(node)
23174 }
23175}
23176impl From<CreateStatistics> for Stmt {
23177 #[inline]
23178 fn from(node: CreateStatistics) -> Stmt {
23179 Stmt::CreateStatistics(node)
23180 }
23181}
23182impl From<CreateSubscription> for Stmt {
23183 #[inline]
23184 fn from(node: CreateSubscription) -> Stmt {
23185 Stmt::CreateSubscription(node)
23186 }
23187}
23188impl From<CreateTable> for Stmt {
23189 #[inline]
23190 fn from(node: CreateTable) -> Stmt {
23191 Stmt::CreateTable(node)
23192 }
23193}
23194impl From<CreateTableAs> for Stmt {
23195 #[inline]
23196 fn from(node: CreateTableAs) -> Stmt {
23197 Stmt::CreateTableAs(node)
23198 }
23199}
23200impl From<CreateTablespace> for Stmt {
23201 #[inline]
23202 fn from(node: CreateTablespace) -> Stmt {
23203 Stmt::CreateTablespace(node)
23204 }
23205}
23206impl From<CreateTextSearchConfiguration> for Stmt {
23207 #[inline]
23208 fn from(node: CreateTextSearchConfiguration) -> Stmt {
23209 Stmt::CreateTextSearchConfiguration(node)
23210 }
23211}
23212impl From<CreateTextSearchDictionary> for Stmt {
23213 #[inline]
23214 fn from(node: CreateTextSearchDictionary) -> Stmt {
23215 Stmt::CreateTextSearchDictionary(node)
23216 }
23217}
23218impl From<CreateTextSearchParser> for Stmt {
23219 #[inline]
23220 fn from(node: CreateTextSearchParser) -> Stmt {
23221 Stmt::CreateTextSearchParser(node)
23222 }
23223}
23224impl From<CreateTextSearchTemplate> for Stmt {
23225 #[inline]
23226 fn from(node: CreateTextSearchTemplate) -> Stmt {
23227 Stmt::CreateTextSearchTemplate(node)
23228 }
23229}
23230impl From<CreateTransform> for Stmt {
23231 #[inline]
23232 fn from(node: CreateTransform) -> Stmt {
23233 Stmt::CreateTransform(node)
23234 }
23235}
23236impl From<CreateTrigger> for Stmt {
23237 #[inline]
23238 fn from(node: CreateTrigger) -> Stmt {
23239 Stmt::CreateTrigger(node)
23240 }
23241}
23242impl From<CreateType> for Stmt {
23243 #[inline]
23244 fn from(node: CreateType) -> Stmt {
23245 Stmt::CreateType(node)
23246 }
23247}
23248impl From<CreateUser> for Stmt {
23249 #[inline]
23250 fn from(node: CreateUser) -> Stmt {
23251 Stmt::CreateUser(node)
23252 }
23253}
23254impl From<CreateUserMapping> for Stmt {
23255 #[inline]
23256 fn from(node: CreateUserMapping) -> Stmt {
23257 Stmt::CreateUserMapping(node)
23258 }
23259}
23260impl From<CreateView> for Stmt {
23261 #[inline]
23262 fn from(node: CreateView) -> Stmt {
23263 Stmt::CreateView(node)
23264 }
23265}
23266impl From<Deallocate> for Stmt {
23267 #[inline]
23268 fn from(node: Deallocate) -> Stmt {
23269 Stmt::Deallocate(node)
23270 }
23271}
23272impl From<Declare> for Stmt {
23273 #[inline]
23274 fn from(node: Declare) -> Stmt {
23275 Stmt::Declare(node)
23276 }
23277}
23278impl From<Delete> for Stmt {
23279 #[inline]
23280 fn from(node: Delete) -> Stmt {
23281 Stmt::Delete(node)
23282 }
23283}
23284impl From<Discard> for Stmt {
23285 #[inline]
23286 fn from(node: Discard) -> Stmt {
23287 Stmt::Discard(node)
23288 }
23289}
23290impl From<Do> for Stmt {
23291 #[inline]
23292 fn from(node: Do) -> Stmt {
23293 Stmt::Do(node)
23294 }
23295}
23296impl From<DropAccessMethod> for Stmt {
23297 #[inline]
23298 fn from(node: DropAccessMethod) -> Stmt {
23299 Stmt::DropAccessMethod(node)
23300 }
23301}
23302impl From<DropAggregate> for Stmt {
23303 #[inline]
23304 fn from(node: DropAggregate) -> Stmt {
23305 Stmt::DropAggregate(node)
23306 }
23307}
23308impl From<DropCast> for Stmt {
23309 #[inline]
23310 fn from(node: DropCast) -> Stmt {
23311 Stmt::DropCast(node)
23312 }
23313}
23314impl From<DropCollation> for Stmt {
23315 #[inline]
23316 fn from(node: DropCollation) -> Stmt {
23317 Stmt::DropCollation(node)
23318 }
23319}
23320impl From<DropConversion> for Stmt {
23321 #[inline]
23322 fn from(node: DropConversion) -> Stmt {
23323 Stmt::DropConversion(node)
23324 }
23325}
23326impl From<DropDatabase> for Stmt {
23327 #[inline]
23328 fn from(node: DropDatabase) -> Stmt {
23329 Stmt::DropDatabase(node)
23330 }
23331}
23332impl From<DropDomain> for Stmt {
23333 #[inline]
23334 fn from(node: DropDomain) -> Stmt {
23335 Stmt::DropDomain(node)
23336 }
23337}
23338impl From<DropEventTrigger> for Stmt {
23339 #[inline]
23340 fn from(node: DropEventTrigger) -> Stmt {
23341 Stmt::DropEventTrigger(node)
23342 }
23343}
23344impl From<DropExtension> for Stmt {
23345 #[inline]
23346 fn from(node: DropExtension) -> Stmt {
23347 Stmt::DropExtension(node)
23348 }
23349}
23350impl From<DropForeignDataWrapper> for Stmt {
23351 #[inline]
23352 fn from(node: DropForeignDataWrapper) -> Stmt {
23353 Stmt::DropForeignDataWrapper(node)
23354 }
23355}
23356impl From<DropForeignTable> for Stmt {
23357 #[inline]
23358 fn from(node: DropForeignTable) -> Stmt {
23359 Stmt::DropForeignTable(node)
23360 }
23361}
23362impl From<DropFunction> for Stmt {
23363 #[inline]
23364 fn from(node: DropFunction) -> Stmt {
23365 Stmt::DropFunction(node)
23366 }
23367}
23368impl From<DropGroup> for Stmt {
23369 #[inline]
23370 fn from(node: DropGroup) -> Stmt {
23371 Stmt::DropGroup(node)
23372 }
23373}
23374impl From<DropIndex> for Stmt {
23375 #[inline]
23376 fn from(node: DropIndex) -> Stmt {
23377 Stmt::DropIndex(node)
23378 }
23379}
23380impl From<DropLanguage> for Stmt {
23381 #[inline]
23382 fn from(node: DropLanguage) -> Stmt {
23383 Stmt::DropLanguage(node)
23384 }
23385}
23386impl From<DropMaterializedView> for Stmt {
23387 #[inline]
23388 fn from(node: DropMaterializedView) -> Stmt {
23389 Stmt::DropMaterializedView(node)
23390 }
23391}
23392impl From<DropOperator> for Stmt {
23393 #[inline]
23394 fn from(node: DropOperator) -> Stmt {
23395 Stmt::DropOperator(node)
23396 }
23397}
23398impl From<DropOperatorClass> for Stmt {
23399 #[inline]
23400 fn from(node: DropOperatorClass) -> Stmt {
23401 Stmt::DropOperatorClass(node)
23402 }
23403}
23404impl From<DropOperatorFamily> for Stmt {
23405 #[inline]
23406 fn from(node: DropOperatorFamily) -> Stmt {
23407 Stmt::DropOperatorFamily(node)
23408 }
23409}
23410impl From<DropOwned> for Stmt {
23411 #[inline]
23412 fn from(node: DropOwned) -> Stmt {
23413 Stmt::DropOwned(node)
23414 }
23415}
23416impl From<DropPolicy> for Stmt {
23417 #[inline]
23418 fn from(node: DropPolicy) -> Stmt {
23419 Stmt::DropPolicy(node)
23420 }
23421}
23422impl From<DropProcedure> for Stmt {
23423 #[inline]
23424 fn from(node: DropProcedure) -> Stmt {
23425 Stmt::DropProcedure(node)
23426 }
23427}
23428impl From<DropPublication> for Stmt {
23429 #[inline]
23430 fn from(node: DropPublication) -> Stmt {
23431 Stmt::DropPublication(node)
23432 }
23433}
23434impl From<DropRole> for Stmt {
23435 #[inline]
23436 fn from(node: DropRole) -> Stmt {
23437 Stmt::DropRole(node)
23438 }
23439}
23440impl From<DropRoutine> for Stmt {
23441 #[inline]
23442 fn from(node: DropRoutine) -> Stmt {
23443 Stmt::DropRoutine(node)
23444 }
23445}
23446impl From<DropRule> for Stmt {
23447 #[inline]
23448 fn from(node: DropRule) -> Stmt {
23449 Stmt::DropRule(node)
23450 }
23451}
23452impl From<DropSchema> for Stmt {
23453 #[inline]
23454 fn from(node: DropSchema) -> Stmt {
23455 Stmt::DropSchema(node)
23456 }
23457}
23458impl From<DropSequence> for Stmt {
23459 #[inline]
23460 fn from(node: DropSequence) -> Stmt {
23461 Stmt::DropSequence(node)
23462 }
23463}
23464impl From<DropServer> for Stmt {
23465 #[inline]
23466 fn from(node: DropServer) -> Stmt {
23467 Stmt::DropServer(node)
23468 }
23469}
23470impl From<DropStatistics> for Stmt {
23471 #[inline]
23472 fn from(node: DropStatistics) -> Stmt {
23473 Stmt::DropStatistics(node)
23474 }
23475}
23476impl From<DropSubscription> for Stmt {
23477 #[inline]
23478 fn from(node: DropSubscription) -> Stmt {
23479 Stmt::DropSubscription(node)
23480 }
23481}
23482impl From<DropTable> for Stmt {
23483 #[inline]
23484 fn from(node: DropTable) -> Stmt {
23485 Stmt::DropTable(node)
23486 }
23487}
23488impl From<DropTablespace> for Stmt {
23489 #[inline]
23490 fn from(node: DropTablespace) -> Stmt {
23491 Stmt::DropTablespace(node)
23492 }
23493}
23494impl From<DropTextSearchConfig> for Stmt {
23495 #[inline]
23496 fn from(node: DropTextSearchConfig) -> Stmt {
23497 Stmt::DropTextSearchConfig(node)
23498 }
23499}
23500impl From<DropTextSearchDict> for Stmt {
23501 #[inline]
23502 fn from(node: DropTextSearchDict) -> Stmt {
23503 Stmt::DropTextSearchDict(node)
23504 }
23505}
23506impl From<DropTextSearchParser> for Stmt {
23507 #[inline]
23508 fn from(node: DropTextSearchParser) -> Stmt {
23509 Stmt::DropTextSearchParser(node)
23510 }
23511}
23512impl From<DropTextSearchTemplate> for Stmt {
23513 #[inline]
23514 fn from(node: DropTextSearchTemplate) -> Stmt {
23515 Stmt::DropTextSearchTemplate(node)
23516 }
23517}
23518impl From<DropTransform> for Stmt {
23519 #[inline]
23520 fn from(node: DropTransform) -> Stmt {
23521 Stmt::DropTransform(node)
23522 }
23523}
23524impl From<DropTrigger> for Stmt {
23525 #[inline]
23526 fn from(node: DropTrigger) -> Stmt {
23527 Stmt::DropTrigger(node)
23528 }
23529}
23530impl From<DropType> for Stmt {
23531 #[inline]
23532 fn from(node: DropType) -> Stmt {
23533 Stmt::DropType(node)
23534 }
23535}
23536impl From<DropUser> for Stmt {
23537 #[inline]
23538 fn from(node: DropUser) -> Stmt {
23539 Stmt::DropUser(node)
23540 }
23541}
23542impl From<DropUserMapping> for Stmt {
23543 #[inline]
23544 fn from(node: DropUserMapping) -> Stmt {
23545 Stmt::DropUserMapping(node)
23546 }
23547}
23548impl From<DropView> for Stmt {
23549 #[inline]
23550 fn from(node: DropView) -> Stmt {
23551 Stmt::DropView(node)
23552 }
23553}
23554impl From<Execute> for Stmt {
23555 #[inline]
23556 fn from(node: Execute) -> Stmt {
23557 Stmt::Execute(node)
23558 }
23559}
23560impl From<Explain> for Stmt {
23561 #[inline]
23562 fn from(node: Explain) -> Stmt {
23563 Stmt::Explain(node)
23564 }
23565}
23566impl From<Fetch> for Stmt {
23567 #[inline]
23568 fn from(node: Fetch) -> Stmt {
23569 Stmt::Fetch(node)
23570 }
23571}
23572impl From<Grant> for Stmt {
23573 #[inline]
23574 fn from(node: Grant) -> Stmt {
23575 Stmt::Grant(node)
23576 }
23577}
23578impl From<ImportForeignSchema> for Stmt {
23579 #[inline]
23580 fn from(node: ImportForeignSchema) -> Stmt {
23581 Stmt::ImportForeignSchema(node)
23582 }
23583}
23584impl From<Insert> for Stmt {
23585 #[inline]
23586 fn from(node: Insert) -> Stmt {
23587 Stmt::Insert(node)
23588 }
23589}
23590impl From<Listen> for Stmt {
23591 #[inline]
23592 fn from(node: Listen) -> Stmt {
23593 Stmt::Listen(node)
23594 }
23595}
23596impl From<Load> for Stmt {
23597 #[inline]
23598 fn from(node: Load) -> Stmt {
23599 Stmt::Load(node)
23600 }
23601}
23602impl From<Lock> for Stmt {
23603 #[inline]
23604 fn from(node: Lock) -> Stmt {
23605 Stmt::Lock(node)
23606 }
23607}
23608impl From<Merge> for Stmt {
23609 #[inline]
23610 fn from(node: Merge) -> Stmt {
23611 Stmt::Merge(node)
23612 }
23613}
23614impl From<Move> for Stmt {
23615 #[inline]
23616 fn from(node: Move) -> Stmt {
23617 Stmt::Move(node)
23618 }
23619}
23620impl From<Notify> for Stmt {
23621 #[inline]
23622 fn from(node: Notify) -> Stmt {
23623 Stmt::Notify(node)
23624 }
23625}
23626impl From<ParenSelect> for Stmt {
23627 #[inline]
23628 fn from(node: ParenSelect) -> Stmt {
23629 Stmt::ParenSelect(node)
23630 }
23631}
23632impl From<Prepare> for Stmt {
23633 #[inline]
23634 fn from(node: Prepare) -> Stmt {
23635 Stmt::Prepare(node)
23636 }
23637}
23638impl From<PrepareTransaction> for Stmt {
23639 #[inline]
23640 fn from(node: PrepareTransaction) -> Stmt {
23641 Stmt::PrepareTransaction(node)
23642 }
23643}
23644impl From<Reassign> for Stmt {
23645 #[inline]
23646 fn from(node: Reassign) -> Stmt {
23647 Stmt::Reassign(node)
23648 }
23649}
23650impl From<Refresh> for Stmt {
23651 #[inline]
23652 fn from(node: Refresh) -> Stmt {
23653 Stmt::Refresh(node)
23654 }
23655}
23656impl From<Reindex> for Stmt {
23657 #[inline]
23658 fn from(node: Reindex) -> Stmt {
23659 Stmt::Reindex(node)
23660 }
23661}
23662impl From<ReleaseSavepoint> for Stmt {
23663 #[inline]
23664 fn from(node: ReleaseSavepoint) -> Stmt {
23665 Stmt::ReleaseSavepoint(node)
23666 }
23667}
23668impl From<Reset> for Stmt {
23669 #[inline]
23670 fn from(node: Reset) -> Stmt {
23671 Stmt::Reset(node)
23672 }
23673}
23674impl From<Revoke> for Stmt {
23675 #[inline]
23676 fn from(node: Revoke) -> Stmt {
23677 Stmt::Revoke(node)
23678 }
23679}
23680impl From<Rollback> for Stmt {
23681 #[inline]
23682 fn from(node: Rollback) -> Stmt {
23683 Stmt::Rollback(node)
23684 }
23685}
23686impl From<Savepoint> for Stmt {
23687 #[inline]
23688 fn from(node: Savepoint) -> Stmt {
23689 Stmt::Savepoint(node)
23690 }
23691}
23692impl From<SecurityLabel> for Stmt {
23693 #[inline]
23694 fn from(node: SecurityLabel) -> Stmt {
23695 Stmt::SecurityLabel(node)
23696 }
23697}
23698impl From<Select> for Stmt {
23699 #[inline]
23700 fn from(node: Select) -> Stmt {
23701 Stmt::Select(node)
23702 }
23703}
23704impl From<SelectInto> for Stmt {
23705 #[inline]
23706 fn from(node: SelectInto) -> Stmt {
23707 Stmt::SelectInto(node)
23708 }
23709}
23710impl From<Set> for Stmt {
23711 #[inline]
23712 fn from(node: Set) -> Stmt {
23713 Stmt::Set(node)
23714 }
23715}
23716impl From<SetConstraints> for Stmt {
23717 #[inline]
23718 fn from(node: SetConstraints) -> Stmt {
23719 Stmt::SetConstraints(node)
23720 }
23721}
23722impl From<SetRole> for Stmt {
23723 #[inline]
23724 fn from(node: SetRole) -> Stmt {
23725 Stmt::SetRole(node)
23726 }
23727}
23728impl From<SetSessionAuth> for Stmt {
23729 #[inline]
23730 fn from(node: SetSessionAuth) -> Stmt {
23731 Stmt::SetSessionAuth(node)
23732 }
23733}
23734impl From<SetTransaction> for Stmt {
23735 #[inline]
23736 fn from(node: SetTransaction) -> Stmt {
23737 Stmt::SetTransaction(node)
23738 }
23739}
23740impl From<Show> for Stmt {
23741 #[inline]
23742 fn from(node: Show) -> Stmt {
23743 Stmt::Show(node)
23744 }
23745}
23746impl From<Table> for Stmt {
23747 #[inline]
23748 fn from(node: Table) -> Stmt {
23749 Stmt::Table(node)
23750 }
23751}
23752impl From<Truncate> for Stmt {
23753 #[inline]
23754 fn from(node: Truncate) -> Stmt {
23755 Stmt::Truncate(node)
23756 }
23757}
23758impl From<Unlisten> for Stmt {
23759 #[inline]
23760 fn from(node: Unlisten) -> Stmt {
23761 Stmt::Unlisten(node)
23762 }
23763}
23764impl From<Update> for Stmt {
23765 #[inline]
23766 fn from(node: Update) -> Stmt {
23767 Stmt::Update(node)
23768 }
23769}
23770impl From<Vacuum> for Stmt {
23771 #[inline]
23772 fn from(node: Vacuum) -> Stmt {
23773 Stmt::Vacuum(node)
23774 }
23775}
23776impl From<Values> for Stmt {
23777 #[inline]
23778 fn from(node: Values) -> Stmt {
23779 Stmt::Values(node)
23780 }
23781}
23782impl AstNode for TableArg {
23783 #[inline]
23784 fn can_cast(kind: SyntaxKind) -> bool {
23785 matches!(kind, SyntaxKind::COLUMN | SyntaxKind::LIKE_CLAUSE)
23786 }
23787 #[inline]
23788 fn cast(syntax: SyntaxNode) -> Option<Self> {
23789 let res = match syntax.kind() {
23790 SyntaxKind::COLUMN => TableArg::Column(Column { syntax }),
23791 SyntaxKind::LIKE_CLAUSE => TableArg::LikeClause(LikeClause { syntax }),
23792 _ => {
23793 if let Some(result) = TableConstraint::cast(syntax) {
23794 return Some(TableArg::TableConstraint(result));
23795 }
23796 return None;
23797 }
23798 };
23799 Some(res)
23800 }
23801 #[inline]
23802 fn syntax(&self) -> &SyntaxNode {
23803 match self {
23804 TableArg::Column(it) => &it.syntax,
23805 TableArg::LikeClause(it) => &it.syntax,
23806 TableArg::TableConstraint(it) => it.syntax(),
23807 }
23808 }
23809}
23810impl From<Column> for TableArg {
23811 #[inline]
23812 fn from(node: Column) -> TableArg {
23813 TableArg::Column(node)
23814 }
23815}
23816impl From<LikeClause> for TableArg {
23817 #[inline]
23818 fn from(node: LikeClause) -> TableArg {
23819 TableArg::LikeClause(node)
23820 }
23821}
23822impl AstNode for TableConstraint {
23823 #[inline]
23824 fn can_cast(kind: SyntaxKind) -> bool {
23825 matches!(
23826 kind,
23827 SyntaxKind::CHECK_CONSTRAINT
23828 | SyntaxKind::EXCLUDE_CONSTRAINT
23829 | SyntaxKind::FOREIGN_KEY_CONSTRAINT
23830 | SyntaxKind::PRIMARY_KEY_CONSTRAINT
23831 | SyntaxKind::UNIQUE_CONSTRAINT
23832 )
23833 }
23834 #[inline]
23835 fn cast(syntax: SyntaxNode) -> Option<Self> {
23836 let res = match syntax.kind() {
23837 SyntaxKind::CHECK_CONSTRAINT => {
23838 TableConstraint::CheckConstraint(CheckConstraint { syntax })
23839 }
23840 SyntaxKind::EXCLUDE_CONSTRAINT => {
23841 TableConstraint::ExcludeConstraint(ExcludeConstraint { syntax })
23842 }
23843 SyntaxKind::FOREIGN_KEY_CONSTRAINT => {
23844 TableConstraint::ForeignKeyConstraint(ForeignKeyConstraint { syntax })
23845 }
23846 SyntaxKind::PRIMARY_KEY_CONSTRAINT => {
23847 TableConstraint::PrimaryKeyConstraint(PrimaryKeyConstraint { syntax })
23848 }
23849 SyntaxKind::UNIQUE_CONSTRAINT => {
23850 TableConstraint::UniqueConstraint(UniqueConstraint { syntax })
23851 }
23852 _ => {
23853 return None;
23854 }
23855 };
23856 Some(res)
23857 }
23858 #[inline]
23859 fn syntax(&self) -> &SyntaxNode {
23860 match self {
23861 TableConstraint::CheckConstraint(it) => &it.syntax,
23862 TableConstraint::ExcludeConstraint(it) => &it.syntax,
23863 TableConstraint::ForeignKeyConstraint(it) => &it.syntax,
23864 TableConstraint::PrimaryKeyConstraint(it) => &it.syntax,
23865 TableConstraint::UniqueConstraint(it) => &it.syntax,
23866 }
23867 }
23868}
23869impl From<CheckConstraint> for TableConstraint {
23870 #[inline]
23871 fn from(node: CheckConstraint) -> TableConstraint {
23872 TableConstraint::CheckConstraint(node)
23873 }
23874}
23875impl From<ExcludeConstraint> for TableConstraint {
23876 #[inline]
23877 fn from(node: ExcludeConstraint) -> TableConstraint {
23878 TableConstraint::ExcludeConstraint(node)
23879 }
23880}
23881impl From<ForeignKeyConstraint> for TableConstraint {
23882 #[inline]
23883 fn from(node: ForeignKeyConstraint) -> TableConstraint {
23884 TableConstraint::ForeignKeyConstraint(node)
23885 }
23886}
23887impl From<PrimaryKeyConstraint> for TableConstraint {
23888 #[inline]
23889 fn from(node: PrimaryKeyConstraint) -> TableConstraint {
23890 TableConstraint::PrimaryKeyConstraint(node)
23891 }
23892}
23893impl From<UniqueConstraint> for TableConstraint {
23894 #[inline]
23895 fn from(node: UniqueConstraint) -> TableConstraint {
23896 TableConstraint::UniqueConstraint(node)
23897 }
23898}
23899impl AstNode for Timezone {
23900 #[inline]
23901 fn can_cast(kind: SyntaxKind) -> bool {
23902 matches!(
23903 kind,
23904 SyntaxKind::WITH_TIMEZONE | SyntaxKind::WITHOUT_TIMEZONE
23905 )
23906 }
23907 #[inline]
23908 fn cast(syntax: SyntaxNode) -> Option<Self> {
23909 let res = match syntax.kind() {
23910 SyntaxKind::WITH_TIMEZONE => Timezone::WithTimezone(WithTimezone { syntax }),
23911 SyntaxKind::WITHOUT_TIMEZONE => Timezone::WithoutTimezone(WithoutTimezone { syntax }),
23912 _ => {
23913 return None;
23914 }
23915 };
23916 Some(res)
23917 }
23918 #[inline]
23919 fn syntax(&self) -> &SyntaxNode {
23920 match self {
23921 Timezone::WithTimezone(it) => &it.syntax,
23922 Timezone::WithoutTimezone(it) => &it.syntax,
23923 }
23924 }
23925}
23926impl From<WithTimezone> for Timezone {
23927 #[inline]
23928 fn from(node: WithTimezone) -> Timezone {
23929 Timezone::WithTimezone(node)
23930 }
23931}
23932impl From<WithoutTimezone> for Timezone {
23933 #[inline]
23934 fn from(node: WithoutTimezone) -> Timezone {
23935 Timezone::WithoutTimezone(node)
23936 }
23937}
23938impl AstNode for TransactionMode {
23939 #[inline]
23940 fn can_cast(kind: SyntaxKind) -> bool {
23941 matches!(
23942 kind,
23943 SyntaxKind::DEFERRABLE
23944 | SyntaxKind::NOT_DEFERRABLE
23945 | SyntaxKind::READ_COMMITTED
23946 | SyntaxKind::READ_ONLY
23947 | SyntaxKind::READ_UNCOMMITTED
23948 | SyntaxKind::READ_WRITE
23949 | SyntaxKind::REPEATABLE_READ
23950 | SyntaxKind::SERIALIZABLE
23951 )
23952 }
23953 #[inline]
23954 fn cast(syntax: SyntaxNode) -> Option<Self> {
23955 let res = match syntax.kind() {
23956 SyntaxKind::DEFERRABLE => TransactionMode::Deferrable(Deferrable { syntax }),
23957 SyntaxKind::NOT_DEFERRABLE => TransactionMode::NotDeferrable(NotDeferrable { syntax }),
23958 SyntaxKind::READ_COMMITTED => TransactionMode::ReadCommitted(ReadCommitted { syntax }),
23959 SyntaxKind::READ_ONLY => TransactionMode::ReadOnly(ReadOnly { syntax }),
23960 SyntaxKind::READ_UNCOMMITTED => {
23961 TransactionMode::ReadUncommitted(ReadUncommitted { syntax })
23962 }
23963 SyntaxKind::READ_WRITE => TransactionMode::ReadWrite(ReadWrite { syntax }),
23964 SyntaxKind::REPEATABLE_READ => {
23965 TransactionMode::RepeatableRead(RepeatableRead { syntax })
23966 }
23967 SyntaxKind::SERIALIZABLE => TransactionMode::Serializable(Serializable { syntax }),
23968 _ => {
23969 return None;
23970 }
23971 };
23972 Some(res)
23973 }
23974 #[inline]
23975 fn syntax(&self) -> &SyntaxNode {
23976 match self {
23977 TransactionMode::Deferrable(it) => &it.syntax,
23978 TransactionMode::NotDeferrable(it) => &it.syntax,
23979 TransactionMode::ReadCommitted(it) => &it.syntax,
23980 TransactionMode::ReadOnly(it) => &it.syntax,
23981 TransactionMode::ReadUncommitted(it) => &it.syntax,
23982 TransactionMode::ReadWrite(it) => &it.syntax,
23983 TransactionMode::RepeatableRead(it) => &it.syntax,
23984 TransactionMode::Serializable(it) => &it.syntax,
23985 }
23986 }
23987}
23988impl From<Deferrable> for TransactionMode {
23989 #[inline]
23990 fn from(node: Deferrable) -> TransactionMode {
23991 TransactionMode::Deferrable(node)
23992 }
23993}
23994impl From<NotDeferrable> for TransactionMode {
23995 #[inline]
23996 fn from(node: NotDeferrable) -> TransactionMode {
23997 TransactionMode::NotDeferrable(node)
23998 }
23999}
24000impl From<ReadCommitted> for TransactionMode {
24001 #[inline]
24002 fn from(node: ReadCommitted) -> TransactionMode {
24003 TransactionMode::ReadCommitted(node)
24004 }
24005}
24006impl From<ReadOnly> for TransactionMode {
24007 #[inline]
24008 fn from(node: ReadOnly) -> TransactionMode {
24009 TransactionMode::ReadOnly(node)
24010 }
24011}
24012impl From<ReadUncommitted> for TransactionMode {
24013 #[inline]
24014 fn from(node: ReadUncommitted) -> TransactionMode {
24015 TransactionMode::ReadUncommitted(node)
24016 }
24017}
24018impl From<ReadWrite> for TransactionMode {
24019 #[inline]
24020 fn from(node: ReadWrite) -> TransactionMode {
24021 TransactionMode::ReadWrite(node)
24022 }
24023}
24024impl From<RepeatableRead> for TransactionMode {
24025 #[inline]
24026 fn from(node: RepeatableRead) -> TransactionMode {
24027 TransactionMode::RepeatableRead(node)
24028 }
24029}
24030impl From<Serializable> for TransactionMode {
24031 #[inline]
24032 fn from(node: Serializable) -> TransactionMode {
24033 TransactionMode::Serializable(node)
24034 }
24035}
24036impl AstNode for Type {
24037 #[inline]
24038 fn can_cast(kind: SyntaxKind) -> bool {
24039 matches!(
24040 kind,
24041 SyntaxKind::ARRAY_TYPE
24042 | SyntaxKind::BIT_TYPE
24043 | SyntaxKind::CHAR_TYPE
24044 | SyntaxKind::DOUBLE_TYPE
24045 | SyntaxKind::INTERVAL_TYPE
24046 | SyntaxKind::PATH_TYPE
24047 | SyntaxKind::PERCENT_TYPE
24048 | SyntaxKind::TIME_TYPE
24049 )
24050 }
24051 #[inline]
24052 fn cast(syntax: SyntaxNode) -> Option<Self> {
24053 let res = match syntax.kind() {
24054 SyntaxKind::ARRAY_TYPE => Type::ArrayType(ArrayType { syntax }),
24055 SyntaxKind::BIT_TYPE => Type::BitType(BitType { syntax }),
24056 SyntaxKind::CHAR_TYPE => Type::CharType(CharType { syntax }),
24057 SyntaxKind::DOUBLE_TYPE => Type::DoubleType(DoubleType { syntax }),
24058 SyntaxKind::INTERVAL_TYPE => Type::IntervalType(IntervalType { syntax }),
24059 SyntaxKind::PATH_TYPE => Type::PathType(PathType { syntax }),
24060 SyntaxKind::PERCENT_TYPE => Type::PercentType(PercentType { syntax }),
24061 SyntaxKind::TIME_TYPE => Type::TimeType(TimeType { syntax }),
24062 _ => {
24063 return None;
24064 }
24065 };
24066 Some(res)
24067 }
24068 #[inline]
24069 fn syntax(&self) -> &SyntaxNode {
24070 match self {
24071 Type::ArrayType(it) => &it.syntax,
24072 Type::BitType(it) => &it.syntax,
24073 Type::CharType(it) => &it.syntax,
24074 Type::DoubleType(it) => &it.syntax,
24075 Type::IntervalType(it) => &it.syntax,
24076 Type::PathType(it) => &it.syntax,
24077 Type::PercentType(it) => &it.syntax,
24078 Type::TimeType(it) => &it.syntax,
24079 }
24080 }
24081}
24082impl From<ArrayType> for Type {
24083 #[inline]
24084 fn from(node: ArrayType) -> Type {
24085 Type::ArrayType(node)
24086 }
24087}
24088impl From<BitType> for Type {
24089 #[inline]
24090 fn from(node: BitType) -> Type {
24091 Type::BitType(node)
24092 }
24093}
24094impl From<CharType> for Type {
24095 #[inline]
24096 fn from(node: CharType) -> Type {
24097 Type::CharType(node)
24098 }
24099}
24100impl From<DoubleType> for Type {
24101 #[inline]
24102 fn from(node: DoubleType) -> Type {
24103 Type::DoubleType(node)
24104 }
24105}
24106impl From<IntervalType> for Type {
24107 #[inline]
24108 fn from(node: IntervalType) -> Type {
24109 Type::IntervalType(node)
24110 }
24111}
24112impl From<PathType> for Type {
24113 #[inline]
24114 fn from(node: PathType) -> Type {
24115 Type::PathType(node)
24116 }
24117}
24118impl From<PercentType> for Type {
24119 #[inline]
24120 fn from(node: PercentType) -> Type {
24121 Type::PercentType(node)
24122 }
24123}
24124impl From<TimeType> for Type {
24125 #[inline]
24126 fn from(node: TimeType) -> Type {
24127 Type::TimeType(node)
24128 }
24129}
24130impl AstNode for WithQuery {
24131 #[inline]
24132 fn can_cast(kind: SyntaxKind) -> bool {
24133 matches!(
24134 kind,
24135 SyntaxKind::DELETE
24136 | SyntaxKind::INSERT
24137 | SyntaxKind::MERGE
24138 | SyntaxKind::SELECT
24139 | SyntaxKind::UPDATE
24140 | SyntaxKind::VALUES
24141 )
24142 }
24143 #[inline]
24144 fn cast(syntax: SyntaxNode) -> Option<Self> {
24145 let res = match syntax.kind() {
24146 SyntaxKind::DELETE => WithQuery::Delete(Delete { syntax }),
24147 SyntaxKind::INSERT => WithQuery::Insert(Insert { syntax }),
24148 SyntaxKind::MERGE => WithQuery::Merge(Merge { syntax }),
24149 SyntaxKind::SELECT => WithQuery::Select(Select { syntax }),
24150 SyntaxKind::UPDATE => WithQuery::Update(Update { syntax }),
24151 SyntaxKind::VALUES => WithQuery::Values(Values { syntax }),
24152 _ => {
24153 return None;
24154 }
24155 };
24156 Some(res)
24157 }
24158 #[inline]
24159 fn syntax(&self) -> &SyntaxNode {
24160 match self {
24161 WithQuery::Delete(it) => &it.syntax,
24162 WithQuery::Insert(it) => &it.syntax,
24163 WithQuery::Merge(it) => &it.syntax,
24164 WithQuery::Select(it) => &it.syntax,
24165 WithQuery::Update(it) => &it.syntax,
24166 WithQuery::Values(it) => &it.syntax,
24167 }
24168 }
24169}
24170impl From<Delete> for WithQuery {
24171 #[inline]
24172 fn from(node: Delete) -> WithQuery {
24173 WithQuery::Delete(node)
24174 }
24175}
24176impl From<Insert> for WithQuery {
24177 #[inline]
24178 fn from(node: Insert) -> WithQuery {
24179 WithQuery::Insert(node)
24180 }
24181}
24182impl From<Merge> for WithQuery {
24183 #[inline]
24184 fn from(node: Merge) -> WithQuery {
24185 WithQuery::Merge(node)
24186 }
24187}
24188impl From<Select> for WithQuery {
24189 #[inline]
24190 fn from(node: Select) -> WithQuery {
24191 WithQuery::Select(node)
24192 }
24193}
24194impl From<Update> for WithQuery {
24195 #[inline]
24196 fn from(node: Update) -> WithQuery {
24197 WithQuery::Update(node)
24198 }
24199}
24200impl From<Values> for WithQuery {
24201 #[inline]
24202 fn from(node: Values) -> WithQuery {
24203 WithQuery::Values(node)
24204 }
24205}