1#![allow(clippy::all)]
8
9use crate::ast::*;
10use crate::vocab::Span;
11impl<X: Extension> Spanned for SessionStatement<X> {
12 fn span(&self) -> Span {
13 match self {
14 SessionStatement::Set { meta, .. } => meta.span,
15 SessionStatement::SetTimeZone { meta, .. } => meta.span,
16 SessionStatement::SetRole { meta, .. } => meta.span,
17 SessionStatement::SetSessionAuthorization { meta, .. } => meta.span,
18 SessionStatement::SetConstraints { meta, .. } => meta.span,
19 SessionStatement::SetNames { meta, .. } => meta.span,
20 SessionStatement::SetSessionCharacteristics { meta, .. } => meta.span,
21 SessionStatement::Reset { meta, .. } => meta.span,
22 SessionStatement::Show { meta, .. } => meta.span,
23 SessionStatement::SetVariables { meta, .. } => meta.span,
24 SessionStatement::SetCharacterSet { meta, .. } => meta.span,
25 SessionStatement::SetResourceGroup { meta, .. } => meta.span,
26 }
27 }
28}
29impl<X: Extension> Spanned for SetVariableAssignment<X> {
30 fn span(&self) -> Span {
31 match self {
32 SetVariableAssignment::SystemVariable { meta, .. } => meta.span,
33 SetVariableAssignment::UserVariable { meta, .. } => meta.span,
34 }
35 }
36}
37impl<X: Extension> Spanned for SetVariableValue<X> {
38 fn span(&self) -> Span {
39 match self {
40 SetVariableValue::Default { meta, .. } => meta.span,
41 SetVariableValue::Keyword { meta, .. } => meta.span,
42 SetVariableValue::Expr { meta, .. } => meta.span,
43 }
44 }
45}
46impl Spanned for SetCharacterSetValue {
47 fn span(&self) -> Span {
48 match self {
49 SetCharacterSetValue::Default { meta, .. } => meta.span,
50 SetCharacterSetValue::Charset { meta, .. } => meta.span,
51 }
52 }
53}
54impl Spanned for SetValue {
55 fn span(&self) -> Span {
56 match self {
57 SetValue::Default { meta, .. } => meta.span,
58 SetValue::Values { meta, .. } => meta.span,
59 }
60 }
61}
62impl Spanned for SetParameterValue {
63 fn span(&self) -> Span {
64 match self {
65 SetParameterValue::Literal { meta, .. } => meta.span,
66 SetParameterValue::Name { meta, .. } => meta.span,
67 SetParameterValue::List { meta, .. } => meta.span,
68 }
69 }
70}
71impl Spanned for SpecialSetValue {
72 fn span(&self) -> Span {
73 match self {
74 SpecialSetValue::Default { meta, .. } => meta.span,
75 SpecialSetValue::Local { meta, .. } => meta.span,
76 SpecialSetValue::None { meta, .. } => meta.span,
77 SpecialSetValue::Value { meta, .. } => meta.span,
78 }
79 }
80}
81impl Spanned for ConstraintsTarget {
82 fn span(&self) -> Span {
83 match self {
84 ConstraintsTarget::All { meta, .. } => meta.span,
85 ConstraintsTarget::Names { meta, .. } => meta.span,
86 }
87 }
88}
89impl Spanned for SetNamesValue {
90 fn span(&self) -> Span {
91 match self {
92 SetNamesValue::Default { meta, .. } => meta.span,
93 SetNamesValue::Charset { meta, .. } => meta.span,
94 }
95 }
96}
97impl Spanned for ConfigParameter {
98 fn span(&self) -> Span {
99 match self {
100 ConfigParameter::All { meta, .. } => meta.span,
101 ConfigParameter::Named { meta, .. } => meta.span,
102 }
103 }
104}
105impl Spanned for AlterSystem {
106 fn span(&self) -> Span {
107 self.meta.span
108 }
109}
110impl Spanned for AlterSystemAction {
111 fn span(&self) -> Span {
112 match self {
113 AlterSystemAction::Set { meta, .. } => meta.span,
114 AlterSystemAction::Reset { meta, .. } => meta.span,
115 }
116 }
117}
118impl<X: Extension> Spanned for AccessControlStatement<X> {
119 fn span(&self) -> Span {
120 match self {
121 AccessControlStatement::Grant { meta, .. } => meta.span,
122 AccessControlStatement::Revoke { meta, .. } => meta.span,
123 AccessControlStatement::GrantRole { meta, .. } => meta.span,
124 AccessControlStatement::RevokeRole { meta, .. } => meta.span,
125 AccessControlStatement::AccountGrantPrivilege { meta, .. } => meta.span,
126 AccessControlStatement::AccountGrantProxy { meta, .. } => meta.span,
127 AccessControlStatement::AccountGrantRole { meta, .. } => meta.span,
128 AccessControlStatement::AccountRevokePrivilege { meta, .. } => meta.span,
129 AccessControlStatement::AccountRevokeAll { meta, .. } => meta.span,
130 AccessControlStatement::AccountRevokeProxy { meta, .. } => meta.span,
131 AccessControlStatement::AccountRevokeRole { meta, .. } => meta.span,
132 }
133 }
134}
135impl Spanned for PrivilegeLevelObject {
136 fn span(&self) -> Span {
137 self.meta.span
138 }
139}
140impl Spanned for PrivilegeLevel {
141 fn span(&self) -> Span {
142 match self {
143 PrivilegeLevel::Global { meta, .. } => meta.span,
144 PrivilegeLevel::CurrentDatabase { meta, .. } => meta.span,
145 PrivilegeLevel::Database { meta, .. } => meta.span,
146 PrivilegeLevel::Object { meta, .. } => meta.span,
147 }
148 }
149}
150impl Spanned for GrantAs {
151 fn span(&self) -> Span {
152 self.meta.span
153 }
154}
155impl Spanned for WithRoleSpec {
156 fn span(&self) -> Span {
157 match self {
158 WithRoleSpec::Roles { meta, .. } => meta.span,
159 WithRoleSpec::All { meta, .. } => meta.span,
160 WithRoleSpec::None { meta, .. } => meta.span,
161 WithRoleSpec::Default { meta, .. } => meta.span,
162 }
163 }
164}
165impl Spanned for Privileges {
166 fn span(&self) -> Span {
167 match self {
168 Privileges::All { meta, .. } => meta.span,
169 Privileges::List { meta, .. } => meta.span,
170 }
171 }
172}
173impl Spanned for Privilege {
174 fn span(&self) -> Span {
175 match self {
176 Privilege::Known { meta, .. } => meta.span,
177 Privilege::Other { meta, .. } => meta.span,
178 }
179 }
180}
181impl<X: Extension> Spanned for GrantObject<X> {
182 fn span(&self) -> Span {
183 match self {
184 GrantObject::Table { meta, .. } => meta.span,
185 GrantObject::Named { meta, .. } => meta.span,
186 GrantObject::Routines { meta, .. } => meta.span,
187 GrantObject::AllInSchema { meta, .. } => meta.span,
188 }
189 }
190}
191impl<X: Extension> Spanned for RoutineSignature<X> {
192 fn span(&self) -> Span {
193 self.meta.span
194 }
195}
196impl Spanned for Grantee {
197 fn span(&self) -> Span {
198 self.meta.span
199 }
200}
201impl Spanned for RoleSpec {
202 fn span(&self) -> Span {
203 match self {
204 RoleSpec::Public { meta, .. } => meta.span,
205 RoleSpec::CurrentRole { meta, .. } => meta.span,
206 RoleSpec::CurrentUser { meta, .. } => meta.span,
207 RoleSpec::SessionUser { meta, .. } => meta.span,
208 RoleSpec::Name { meta, .. } => meta.span,
209 }
210 }
211}
212impl Spanned for CreateUser {
213 fn span(&self) -> Span {
214 self.meta.span
215 }
216}
217impl Spanned for UserSpec {
218 fn span(&self) -> Span {
219 self.meta.span
220 }
221}
222impl Spanned for AuthOption {
223 fn span(&self) -> Span {
224 match self {
225 AuthOption::Password { meta, .. } => meta.span,
226 AuthOption::RandomPassword { meta, .. } => meta.span,
227 AuthOption::Plugin { meta, .. } => meta.span,
228 AuthOption::PluginAs { meta, .. } => meta.span,
229 AuthOption::PluginByPassword { meta, .. } => meta.span,
230 AuthOption::PluginByRandomPassword { meta, .. } => meta.span,
231 }
232 }
233}
234impl Spanned for AlterUser {
235 fn span(&self) -> Span {
236 match self {
237 AlterUser::Modify { meta, .. } => meta.span,
238 AlterUser::DefaultRole { meta, .. } => meta.span,
239 }
240 }
241}
242impl Spanned for AlterUserSpec {
243 fn span(&self) -> Span {
244 self.meta.span
245 }
246}
247impl Spanned for DefaultRoleTarget {
248 fn span(&self) -> Span {
249 match self {
250 DefaultRoleTarget::All { meta, .. } => meta.span,
251 DefaultRoleTarget::None { meta, .. } => meta.span,
252 DefaultRoleTarget::Roles { meta, .. } => meta.span,
253 }
254 }
255}
256impl Spanned for UserRoleList {
257 fn span(&self) -> Span {
258 self.meta.span
259 }
260}
261impl Spanned for TlsRequirement {
262 fn span(&self) -> Span {
263 match self {
264 TlsRequirement::None { meta, .. } => meta.span,
265 TlsRequirement::Ssl { meta, .. } => meta.span,
266 TlsRequirement::X509 { meta, .. } => meta.span,
267 TlsRequirement::Options { meta, .. } => meta.span,
268 }
269 }
270}
271impl Spanned for TlsOption {
272 fn span(&self) -> Span {
273 match self {
274 TlsOption::Subject { meta, .. } => meta.span,
275 TlsOption::Issuer { meta, .. } => meta.span,
276 TlsOption::Cipher { meta, .. } => meta.span,
277 }
278 }
279}
280impl Spanned for ResourceLimit {
281 fn span(&self) -> Span {
282 match self {
283 ResourceLimit::MaxQueriesPerHour { meta, .. } => meta.span,
284 ResourceLimit::MaxUpdatesPerHour { meta, .. } => meta.span,
285 ResourceLimit::MaxConnectionsPerHour { meta, .. } => meta.span,
286 ResourceLimit::MaxUserConnections { meta, .. } => meta.span,
287 }
288 }
289}
290impl Spanned for PasswordLockOption {
291 fn span(&self) -> Span {
292 match self {
293 PasswordLockOption::AccountLock { meta, .. } => meta.span,
294 PasswordLockOption::AccountUnlock { meta, .. } => meta.span,
295 PasswordLockOption::PasswordExpire { meta, .. } => meta.span,
296 PasswordLockOption::PasswordExpireDefault { meta, .. } => meta.span,
297 PasswordLockOption::PasswordExpireNever { meta, .. } => meta.span,
298 PasswordLockOption::PasswordExpireInterval { meta, .. } => meta.span,
299 PasswordLockOption::PasswordHistory { meta, .. } => meta.span,
300 PasswordLockOption::PasswordHistoryDefault { meta, .. } => meta.span,
301 PasswordLockOption::PasswordReuseInterval { meta, .. } => meta.span,
302 PasswordLockOption::PasswordReuseIntervalDefault { meta, .. } => meta.span,
303 PasswordLockOption::PasswordRequireCurrent { meta, .. } => meta.span,
304 PasswordLockOption::PasswordRequireCurrentDefault { meta, .. } => meta.span,
305 PasswordLockOption::PasswordRequireCurrentOptional { meta, .. } => meta.span,
306 PasswordLockOption::FailedLoginAttempts { meta, .. } => meta.span,
307 PasswordLockOption::PasswordLockTime { meta, .. } => meta.span,
308 PasswordLockOption::PasswordLockTimeUnbounded { meta, .. } => meta.span,
309 }
310 }
311}
312impl Spanned for UserAttribute {
313 fn span(&self) -> Span {
314 match self {
315 UserAttribute::Comment { meta, .. } => meta.span,
316 UserAttribute::Attribute { meta, .. } => meta.span,
317 }
318 }
319}
320impl<X: Extension> Spanned for CreateTable<X> {
321 fn span(&self) -> Span {
322 self.meta.span
323 }
324}
325impl<X: Extension> Spanned for CreateTableBody<X> {
326 fn span(&self) -> Span {
327 match self {
328 CreateTableBody::Definition { meta, .. } => meta.span,
329 CreateTableBody::AsQuery { meta, .. } => meta.span,
330 CreateTableBody::AsExecute { meta, .. } => meta.span,
331 CreateTableBody::PartitionOf { meta, .. } => meta.span,
332 CreateTableBody::OfType { meta, .. } => meta.span,
333 CreateTableBody::LikeSource { meta, .. } => meta.span,
334 }
335 }
336}
337impl<X: Extension> Spanned for PartitionSpec<X> {
338 fn span(&self) -> Span {
339 self.meta.span
340 }
341}
342impl<X: Extension> Spanned for PartitionElem<X> {
343 fn span(&self) -> Span {
344 self.meta.span
345 }
346}
347impl<X: Extension> Spanned for PartitionBound<X> {
348 fn span(&self) -> Span {
349 match self {
350 PartitionBound::List { meta, .. } => meta.span,
351 PartitionBound::Range { meta, .. } => meta.span,
352 PartitionBound::Hash { meta, .. } => meta.span,
353 PartitionBound::Default { meta, .. } => meta.span,
354 }
355 }
356}
357impl<X: Extension> Spanned for TableElement<X> {
358 fn span(&self) -> Span {
359 match self {
360 TableElement::Column { meta, .. } => meta.span,
361 TableElement::Constraint { meta, .. } => meta.span,
362 TableElement::Like { meta, .. } => meta.span,
363 }
364 }
365}
366impl Spanned for TableLikeOption {
367 fn span(&self) -> Span {
368 self.meta.span
369 }
370}
371impl<X: Extension> Spanned for ColumnDef<X> {
372 fn span(&self) -> Span {
373 self.meta.span
374 }
375}
376impl<X: Extension> Spanned for ColumnConstraint<X> {
377 fn span(&self) -> Span {
378 self.meta.span
379 }
380}
381impl Spanned for ConstraintCharacteristics {
382 fn span(&self) -> Span {
383 self.meta.span
384 }
385}
386impl<X: Extension> Spanned for ColumnOption<X> {
387 fn span(&self) -> Span {
388 match self {
389 ColumnOption::Null { meta, .. } => meta.span,
390 ColumnOption::NotNull { meta, .. } => meta.span,
391 ColumnOption::Default { meta, .. } => meta.span,
392 ColumnOption::Generated { meta, .. } => meta.span,
393 ColumnOption::Identity { meta, .. } => meta.span,
394 ColumnOption::PrimaryKey { meta, .. } => meta.span,
395 ColumnOption::Unique { meta, .. } => meta.span,
396 ColumnOption::AutoIncrement { meta, .. } => meta.span,
397 ColumnOption::Collate { meta, .. } => meta.span,
398 ColumnOption::Check { meta, .. } => meta.span,
399 ColumnOption::References { meta, .. } => meta.span,
400 ColumnOption::Bare { meta, .. } => meta.span,
401 ColumnOption::Other { meta, .. } => meta.span,
402 }
403 }
404}
405impl Spanned for ForeignKeyRef {
406 fn span(&self) -> Span {
407 self.meta.span
408 }
409}
410impl Spanned for ReferentialAction {
411 fn span(&self) -> Span {
412 match self {
413 ReferentialAction::NoAction { meta, .. } => meta.span,
414 ReferentialAction::Restrict { meta, .. } => meta.span,
415 ReferentialAction::Cascade { meta, .. } => meta.span,
416 ReferentialAction::SetNull { meta, .. } => meta.span,
417 ReferentialAction::SetDefault { meta, .. } => meta.span,
418 }
419 }
420}
421impl<X: Extension> Spanned for GeneratedColumn<X> {
422 fn span(&self) -> Span {
423 self.meta.span
424 }
425}
426impl<X: Extension> Spanned for IdentityColumn<X> {
427 fn span(&self) -> Span {
428 self.meta.span
429 }
430}
431impl<X: Extension> Spanned for IdentityOption<X> {
432 fn span(&self) -> Span {
433 match self {
434 IdentityOption::StartWith { meta, .. } => meta.span,
435 IdentityOption::IncrementBy { meta, .. } => meta.span,
436 IdentityOption::MinValue { meta, .. } => meta.span,
437 IdentityOption::MaxValue { meta, .. } => meta.span,
438 IdentityOption::Cache { meta, .. } => meta.span,
439 IdentityOption::Cycle { meta, .. } => meta.span,
440 }
441 }
442}
443impl<X: Extension> Spanned for TableConstraintDef<X> {
444 fn span(&self) -> Span {
445 self.meta.span
446 }
447}
448impl<X: Extension> Spanned for TableConstraint<X> {
449 fn span(&self) -> Span {
450 match self {
451 TableConstraint::PrimaryKey { meta, .. } => meta.span,
452 TableConstraint::Unique { meta, .. } => meta.span,
453 TableConstraint::Check { meta, .. } => meta.span,
454 TableConstraint::Exclude { meta, .. } => meta.span,
455 TableConstraint::ForeignKey { meta, .. } => meta.span,
456 TableConstraint::Bare { meta, .. } => meta.span,
457 TableConstraint::Other { meta, .. } => meta.span,
458 }
459 }
460}
461impl<X: Extension> Spanned for ExcludeConstraint<X> {
462 fn span(&self) -> Span {
463 self.meta.span
464 }
465}
466impl<X: Extension> Spanned for ExcludeElement<X> {
467 fn span(&self) -> Span {
468 self.meta.span
469 }
470}
471impl<X: Extension> Spanned for CreateTableOption<X> {
472 fn span(&self) -> Span {
473 self.meta.span
474 }
475}
476impl<X: Extension> Spanned for CreateTableOptionKind<X> {
477 fn span(&self) -> Span {
478 match self {
479 CreateTableOptionKind::With { meta, .. } => meta.span,
480 CreateTableOptionKind::OnCommit { meta, .. } => meta.span,
481 CreateTableOptionKind::Tablespace { meta, .. } => meta.span,
482 CreateTableOptionKind::KeyValue { meta, .. } => meta.span,
483 CreateTableOptionKind::WithoutRowid { meta, .. } => meta.span,
484 CreateTableOptionKind::Strict { meta, .. } => meta.span,
485 CreateTableOptionKind::WithoutOids { meta, .. } => meta.span,
486 }
487 }
488}
489impl Spanned for TableOption {
490 fn span(&self) -> Span {
491 self.meta.span
492 }
493}
494impl Spanned for TableOptionValue {
495 fn span(&self) -> Span {
496 match self {
497 TableOptionValue::Word { meta, .. } => meta.span,
498 TableOptionValue::String { meta, .. } => meta.span,
499 TableOptionValue::Number { meta, .. } => meta.span,
500 }
501 }
502}
503impl<X: Extension> Spanned for TableStorageParameter<X> {
504 fn span(&self) -> Span {
505 self.meta.span
506 }
507}
508impl<X: Extension> Spanned for AlterTable<X> {
509 fn span(&self) -> Span {
510 self.meta.span
511 }
512}
513impl Spanned for AlterColumnTarget {
514 fn span(&self) -> Span {
515 self.meta.span
516 }
517}
518impl<X: Extension> Spanned for AlterTableAction<X> {
519 fn span(&self) -> Span {
520 match self {
521 AlterTableAction::AddColumn { meta, .. } => meta.span,
522 AlterTableAction::DropColumn { meta, .. } => meta.span,
523 AlterTableAction::AlterColumn { meta, .. } => meta.span,
524 AlterTableAction::AddConstraint { meta, .. } => meta.span,
525 AlterTableAction::DropConstraint { meta, .. } => meta.span,
526 AlterTableAction::RenameColumn { meta, .. } => meta.span,
527 AlterTableAction::RenameTable { meta, .. } => meta.span,
528 AlterTableAction::AttachPartition { meta, .. } => meta.span,
529 AlterTableAction::DetachPartition { meta, .. } => meta.span,
530 }
531 }
532}
533impl<X: Extension> Spanned for AlterColumnAction<X> {
534 fn span(&self) -> Span {
535 match self {
536 AlterColumnAction::SetDefault { meta, .. } => meta.span,
537 AlterColumnAction::DropDefault { meta, .. } => meta.span,
538 AlterColumnAction::SetNotNull { meta, .. } => meta.span,
539 AlterColumnAction::DropNotNull { meta, .. } => meta.span,
540 AlterColumnAction::SetDataType { meta, .. } => meta.span,
541 }
542 }
543}
544impl Spanned for DropStatement {
545 fn span(&self) -> Span {
546 self.meta.span
547 }
548}
549impl<X: Extension> Spanned for DropTransform<X> {
550 fn span(&self) -> Span {
551 self.meta.span
552 }
553}
554impl<X: Extension> Spanned for CommentOnStatement<X> {
555 fn span(&self) -> Span {
556 self.meta.span
557 }
558}
559impl<X: Extension> Spanned for CreateSchema<X> {
560 fn span(&self) -> Span {
561 self.meta.span
562 }
563}
564impl<X: Extension> Spanned for CreateView<X> {
565 fn span(&self) -> Span {
566 self.meta.span
567 }
568}
569impl<X: Extension> Spanned for AlterView<X> {
570 fn span(&self) -> Span {
571 self.meta.span
572 }
573}
574impl<X: Extension> Spanned for CreateSecret<X> {
575 fn span(&self) -> Span {
576 self.meta.span
577 }
578}
579impl<X: Extension> Spanned for SecretOption<X> {
580 fn span(&self) -> Span {
581 self.meta.span
582 }
583}
584impl Spanned for DropSecretStmt {
585 fn span(&self) -> Span {
586 self.meta.span
587 }
588}
589impl Spanned for CreateVirtualTable {
590 fn span(&self) -> Span {
591 self.meta.span
592 }
593}
594impl Spanned for ModuleArg {
595 fn span(&self) -> Span {
596 self.meta.span
597 }
598}
599impl<X: Extension> Spanned for CreateIndex<X> {
600 fn span(&self) -> Span {
601 self.meta.span
602 }
603}
604impl<X: Extension> Spanned for IndexColumn<X> {
605 fn span(&self) -> Span {
606 self.meta.span
607 }
608}
609impl<X: Extension> Spanned for CreateTrigger<X> {
610 fn span(&self) -> Span {
611 self.meta.span
612 }
613}
614impl Spanned for TriggerEvent {
615 fn span(&self) -> Span {
616 match self {
617 TriggerEvent::Delete { meta, .. } => meta.span,
618 TriggerEvent::Insert { meta, .. } => meta.span,
619 TriggerEvent::Update { meta, .. } => meta.span,
620 }
621 }
622}
623impl<X: Extension> Spanned for CreateStoredTrigger<X> {
624 fn span(&self) -> Span {
625 self.meta.span
626 }
627}
628impl Spanned for TriggerOrder {
629 fn span(&self) -> Span {
630 match self {
631 TriggerOrder::Follows { meta, .. } => meta.span,
632 TriggerOrder::Precedes { meta, .. } => meta.span,
633 }
634 }
635}
636impl Spanned for CreateDatabase {
637 fn span(&self) -> Span {
638 self.meta.span
639 }
640}
641impl<X: Extension> Spanned for CreateFunction<X> {
642 fn span(&self) -> Span {
643 self.meta.span
644 }
645}
646impl<X: Extension> Spanned for FunctionParam<X> {
647 fn span(&self) -> Span {
648 self.meta.span
649 }
650}
651impl<X: Extension> Spanned for FunctionParamDefault<X> {
652 fn span(&self) -> Span {
653 self.meta.span
654 }
655}
656impl<X: Extension> Spanned for FunctionOption<X> {
657 fn span(&self) -> Span {
658 match self {
659 FunctionOption::Language { meta, .. } => meta.span,
660 FunctionOption::As { meta, .. } => meta.span,
661 FunctionOption::NullBehavior { meta, .. } => meta.span,
662 FunctionOption::Deterministic { meta, .. } => meta.span,
663 FunctionOption::DataAccess { meta, .. } => meta.span,
664 FunctionOption::SqlSecurity { meta, .. } => meta.span,
665 FunctionOption::Comment { meta, .. } => meta.span,
666 }
667 }
668}
669impl<X: Extension> Spanned for FunctionBody<X> {
670 fn span(&self) -> Span {
671 match self {
672 FunctionBody::Definition { meta, .. } => meta.span,
673 FunctionBody::Return { meta, .. } => meta.span,
674 FunctionBody::Block { meta, .. } => meta.span,
675 }
676 }
677}
678impl Spanned for Definer {
679 fn span(&self) -> Span {
680 match self {
681 Definer::Account { meta, .. } => meta.span,
682 Definer::CurrentUser { meta, .. } => meta.span,
683 }
684 }
685}
686impl<X: Extension> Spanned for CreateProcedure<X> {
687 fn span(&self) -> Span {
688 self.meta.span
689 }
690}
691impl<X: Extension> Spanned for AlterRoutine<X> {
692 fn span(&self) -> Span {
693 self.meta.span
694 }
695}
696impl<X: Extension> Spanned for EventSchedule<X> {
697 fn span(&self) -> Span {
698 match self {
699 EventSchedule::At { meta, .. } => meta.span,
700 EventSchedule::Every { meta, .. } => meta.span,
701 }
702 }
703}
704impl<X: Extension> Spanned for CreateEvent<X> {
705 fn span(&self) -> Span {
706 self.meta.span
707 }
708}
709impl<X: Extension> Spanned for AlterEvent<X> {
710 fn span(&self) -> Span {
711 self.meta.span
712 }
713}
714impl Spanned for DropEvent {
715 fn span(&self) -> Span {
716 self.meta.span
717 }
718}
719impl Spanned for DropDatabase {
720 fn span(&self) -> Span {
721 self.meta.span
722 }
723}
724impl Spanned for DropIndexOnTable {
725 fn span(&self) -> Span {
726 self.meta.span
727 }
728}
729impl<X: Extension> Spanned for CreateMacro<X> {
730 fn span(&self) -> Span {
731 self.meta.span
732 }
733}
734impl<X: Extension> Spanned for MacroParam<X> {
735 fn span(&self) -> Span {
736 self.meta.span
737 }
738}
739impl<X: Extension> Spanned for MacroBody<X> {
740 fn span(&self) -> Span {
741 match self {
742 MacroBody::Scalar { meta, .. } => meta.span,
743 MacroBody::Table { meta, .. } => meta.span,
744 }
745 }
746}
747impl<X: Extension> Spanned for CreateType<X> {
748 fn span(&self) -> Span {
749 self.meta.span
750 }
751}
752impl<X: Extension> Spanned for CreateTypeDefinition<X> {
753 fn span(&self) -> Span {
754 match self {
755 CreateTypeDefinition::Enum { meta, .. } => meta.span,
756 CreateTypeDefinition::EnumFromQuery { meta, .. } => meta.span,
757 CreateTypeDefinition::Alias { meta, .. } => meta.span,
758 }
759 }
760}
761impl<X: Extension> Spanned for CreateSequence<X> {
762 fn span(&self) -> Span {
763 self.meta.span
764 }
765}
766impl Spanned for CreateExtension {
767 fn span(&self) -> Span {
768 self.meta.span
769 }
770}
771impl Spanned for CreateExtensionOption {
772 fn span(&self) -> Span {
773 match self {
774 CreateExtensionOption::Schema { meta, .. } => meta.span,
775 CreateExtensionOption::Version { meta, .. } => meta.span,
776 CreateExtensionOption::Cascade { meta, .. } => meta.span,
777 }
778 }
779}
780impl Spanned for ExtensionVersion {
781 fn span(&self) -> Span {
782 match self {
783 ExtensionVersion::Word { meta, .. } => meta.span,
784 ExtensionVersion::String { meta, .. } => meta.span,
785 }
786 }
787}
788impl<X: Extension> Spanned for AlterExtension<X> {
789 fn span(&self) -> Span {
790 self.meta.span
791 }
792}
793impl<X: Extension> Spanned for AlterExtensionAction<X> {
794 fn span(&self) -> Span {
795 match self {
796 AlterExtensionAction::Update { meta, .. } => meta.span,
797 AlterExtensionAction::Change { meta, .. } => meta.span,
798 }
799 }
800}
801impl Spanned for AlterDatabase {
802 fn span(&self) -> Span {
803 self.meta.span
804 }
805}
806impl Spanned for AlterDatabaseAction {
807 fn span(&self) -> Span {
808 match self {
809 AlterDatabaseAction::SetAlias { meta, .. } => meta.span,
810 }
811 }
812}
813impl<X: Extension> Spanned for AlterSequence<X> {
814 fn span(&self) -> Span {
815 self.meta.span
816 }
817}
818impl<X: Extension> Spanned for AlterSequenceOption<X> {
819 fn span(&self) -> Span {
820 match self {
821 AlterSequenceOption::Common { meta, .. } => meta.span,
822 AlterSequenceOption::Restart { meta, .. } => meta.span,
823 AlterSequenceOption::As { meta, .. } => meta.span,
824 AlterSequenceOption::OwnedBy { meta, .. } => meta.span,
825 AlterSequenceOption::SequenceName { meta, .. } => meta.span,
826 }
827 }
828}
829impl Spanned for AlterObjectSchema {
830 fn span(&self) -> Span {
831 self.meta.span
832 }
833}
834impl<X: Extension> Spanned for ObjectReference<X> {
835 fn span(&self) -> Span {
836 match self {
837 ObjectReference::Named { meta, .. } => meta.span,
838 ObjectReference::Routine { meta, .. } => meta.span,
839 ObjectReference::Aggregate { meta, .. } => meta.span,
840 ObjectReference::Operator { meta, .. } => meta.span,
841 ObjectReference::OperatorClass { meta, .. } => meta.span,
842 ObjectReference::Cast { meta, .. } => meta.span,
843 ObjectReference::Type { meta, .. } => meta.span,
844 ObjectReference::Transform { meta, .. } => meta.span,
845 ObjectReference::Trigger { meta, .. } => meta.span,
846 }
847 }
848}
849impl<X: Extension> Spanned for AggregateArgs<X> {
850 fn span(&self) -> Span {
851 match self {
852 AggregateArgs::Star { meta, .. } => meta.span,
853 AggregateArgs::Types { meta, .. } => meta.span,
854 }
855 }
856}
857impl<X: Extension> Spanned for OperatorArgs<X> {
858 fn span(&self) -> Span {
859 self.meta.span
860 }
861}
862impl<X: Extension> Spanned for AlterObjectDepends<X> {
863 fn span(&self) -> Span {
864 self.meta.span
865 }
866}
867impl Spanned for CreateServer {
868 fn span(&self) -> Span {
869 self.meta.span
870 }
871}
872impl Spanned for AlterServer {
873 fn span(&self) -> Span {
874 self.meta.span
875 }
876}
877impl Spanned for DropServer {
878 fn span(&self) -> Span {
879 self.meta.span
880 }
881}
882impl Spanned for ServerOption {
883 fn span(&self) -> Span {
884 self.meta.span
885 }
886}
887impl Spanned for AlterInstance {
888 fn span(&self) -> Span {
889 self.meta.span
890 }
891}
892impl Spanned for AlterInstanceAction {
893 fn span(&self) -> Span {
894 match self {
895 AlterInstanceAction::RotateInnodbMasterKey { meta, .. } => meta.span,
896 AlterInstanceAction::RotateBinlogMasterKey { meta, .. } => meta.span,
897 AlterInstanceAction::ReloadTls { meta, .. } => meta.span,
898 AlterInstanceAction::ReloadKeyring { meta, .. } => meta.span,
899 AlterInstanceAction::EnableInnodbRedoLog { meta, .. } => meta.span,
900 AlterInstanceAction::DisableInnodbRedoLog { meta, .. } => meta.span,
901 }
902 }
903}
904impl Spanned for CreateSpatialReferenceSystem {
905 fn span(&self) -> Span {
906 self.meta.span
907 }
908}
909impl Spanned for SrsAttribute {
910 fn span(&self) -> Span {
911 match self {
912 SrsAttribute::Name { meta, .. } => meta.span,
913 SrsAttribute::Definition { meta, .. } => meta.span,
914 SrsAttribute::Organization { meta, .. } => meta.span,
915 SrsAttribute::Description { meta, .. } => meta.span,
916 }
917 }
918}
919impl Spanned for DropSpatialReferenceSystem {
920 fn span(&self) -> Span {
921 self.meta.span
922 }
923}
924impl Spanned for CreateResourceGroup {
925 fn span(&self) -> Span {
926 self.meta.span
927 }
928}
929impl Spanned for AlterResourceGroup {
930 fn span(&self) -> Span {
931 self.meta.span
932 }
933}
934impl Spanned for DropResourceGroup {
935 fn span(&self) -> Span {
936 self.meta.span
937 }
938}
939impl Spanned for ResourceGroupVcpu {
940 fn span(&self) -> Span {
941 self.meta.span
942 }
943}
944impl Spanned for VcpuRange {
945 fn span(&self) -> Span {
946 self.meta.span
947 }
948}
949impl Spanned for ResourceGroupThreadPriority {
950 fn span(&self) -> Span {
951 self.meta.span
952 }
953}
954impl Spanned for AlterDatabaseOptions {
955 fn span(&self) -> Span {
956 self.meta.span
957 }
958}
959impl Spanned for AlterDatabaseOption {
960 fn span(&self) -> Span {
961 match self {
962 AlterDatabaseOption::CharacterSet { meta, .. } => meta.span,
963 AlterDatabaseOption::Collate { meta, .. } => meta.span,
964 AlterDatabaseOption::Encryption { meta, .. } => meta.span,
965 AlterDatabaseOption::ReadOnly { meta, .. } => meta.span,
966 }
967 }
968}
969impl Spanned for SizeLiteral {
970 fn span(&self) -> Span {
971 self.meta.span
972 }
973}
974impl Spanned for TablespaceOption {
975 fn span(&self) -> Span {
976 match self {
977 TablespaceOption::Size { meta, .. } => meta.span,
978 TablespaceOption::Nodegroup { meta, .. } => meta.span,
979 TablespaceOption::Engine { meta, .. } => meta.span,
980 TablespaceOption::Wait { meta, .. } => meta.span,
981 TablespaceOption::Comment { meta, .. } => meta.span,
982 TablespaceOption::Encryption { meta, .. } => meta.span,
983 TablespaceOption::EngineAttribute { meta, .. } => meta.span,
984 }
985 }
986}
987impl Spanned for CreateTablespace {
988 fn span(&self) -> Span {
989 self.meta.span
990 }
991}
992impl Spanned for AlterTablespace {
993 fn span(&self) -> Span {
994 self.meta.span
995 }
996}
997impl Spanned for AlterTablespaceAction {
998 fn span(&self) -> Span {
999 match self {
1000 AlterTablespaceAction::AddDatafile { meta, .. } => meta.span,
1001 AlterTablespaceAction::DropDatafile { meta, .. } => meta.span,
1002 AlterTablespaceAction::Rename { meta, .. } => meta.span,
1003 AlterTablespaceAction::Options { meta, .. } => meta.span,
1004 AlterTablespaceAction::SetState { meta, .. } => meta.span,
1005 }
1006 }
1007}
1008impl Spanned for DropTablespace {
1009 fn span(&self) -> Span {
1010 self.meta.span
1011 }
1012}
1013impl Spanned for CreateLogfileGroup {
1014 fn span(&self) -> Span {
1015 self.meta.span
1016 }
1017}
1018impl Spanned for AlterLogfileGroup {
1019 fn span(&self) -> Span {
1020 self.meta.span
1021 }
1022}
1023impl Spanned for DropLogfileGroup {
1024 fn span(&self) -> Span {
1025 self.meta.span
1026 }
1027}
1028impl<X: Extension> Spanned for Insert<X> {
1029 fn span(&self) -> Span {
1030 self.meta.span
1031 }
1032}
1033impl Spanned for InsertTarget {
1034 fn span(&self) -> Span {
1035 self.meta.span
1036 }
1037}
1038impl<X: Extension> Spanned for InsertSource<X> {
1039 fn span(&self) -> Span {
1040 match self {
1041 InsertSource::DefaultValues { meta, .. } => meta.span,
1042 InsertSource::Values { meta, .. } => meta.span,
1043 InsertSource::Query { meta, .. } => meta.span,
1044 InsertSource::Set { meta, .. } => meta.span,
1045 }
1046 }
1047}
1048impl<X: Extension> Spanned for InsertValues<X> {
1049 fn span(&self) -> Span {
1050 self.meta.span
1051 }
1052}
1053impl<X: Extension> Spanned for InsertValue<X> {
1054 fn span(&self) -> Span {
1055 match self {
1056 InsertValue::Expr { meta, .. } => meta.span,
1057 InsertValue::Default { meta, .. } => meta.span,
1058 }
1059 }
1060}
1061impl Spanned for DmlTarget {
1062 fn span(&self) -> Span {
1063 self.meta.span
1064 }
1065}
1066impl<X: Extension> Spanned for Update<X> {
1067 fn span(&self) -> Span {
1068 self.meta.span
1069 }
1070}
1071impl<X: Extension> Spanned for UpdateAssignment<X> {
1072 fn span(&self) -> Span {
1073 match self {
1074 UpdateAssignment::Single { meta, .. } => meta.span,
1075 UpdateAssignment::Tuple { meta, .. } => meta.span,
1076 }
1077 }
1078}
1079impl<X: Extension> Spanned for UpdateValue<X> {
1080 fn span(&self) -> Span {
1081 match self {
1082 UpdateValue::Expr { meta, .. } => meta.span,
1083 UpdateValue::Default { meta, .. } => meta.span,
1084 }
1085 }
1086}
1087impl<X: Extension> Spanned for UpdateTupleSource<X> {
1088 fn span(&self) -> Span {
1089 match self {
1090 UpdateTupleSource::Row { meta, .. } => meta.span,
1091 UpdateTupleSource::Subquery { meta, .. } => meta.span,
1092 UpdateTupleSource::Default { meta, .. } => meta.span,
1093 }
1094 }
1095}
1096impl<X: Extension> Spanned for Delete<X> {
1097 fn span(&self) -> Span {
1098 self.meta.span
1099 }
1100}
1101impl<X: Extension> Spanned for DmlSelection<X> {
1102 fn span(&self) -> Span {
1103 match self {
1104 DmlSelection::Where { meta, .. } => meta.span,
1105 DmlSelection::CurrentOf { meta, .. } => meta.span,
1106 }
1107 }
1108}
1109impl Spanned for DefaultValue {
1110 fn span(&self) -> Span {
1111 self.meta.span
1112 }
1113}
1114impl<X: Extension> Spanned for Returning<X> {
1115 fn span(&self) -> Span {
1116 self.meta.span
1117 }
1118}
1119impl<X: Extension> Spanned for Upsert<X> {
1120 fn span(&self) -> Span {
1121 match self {
1122 Upsert::OnConflict { meta, .. } => meta.span,
1123 Upsert::OnDuplicateKeyUpdate { meta, .. } => meta.span,
1124 }
1125 }
1126}
1127impl<X: Extension> Spanned for OnConflict<X> {
1128 fn span(&self) -> Span {
1129 self.meta.span
1130 }
1131}
1132impl<X: Extension> Spanned for ConflictTarget<X> {
1133 fn span(&self) -> Span {
1134 match self {
1135 ConflictTarget::Index { meta, .. } => meta.span,
1136 ConflictTarget::Constraint { meta, .. } => meta.span,
1137 }
1138 }
1139}
1140impl<X: Extension> Spanned for ConflictAction<X> {
1141 fn span(&self) -> Span {
1142 match self {
1143 ConflictAction::Nothing { meta, .. } => meta.span,
1144 ConflictAction::Update { meta, .. } => meta.span,
1145 }
1146 }
1147}
1148impl<X: Extension> Spanned for Merge<X> {
1149 fn span(&self) -> Span {
1150 self.meta.span
1151 }
1152}
1153impl<X: Extension> Spanned for MergeWhenClause<X> {
1154 fn span(&self) -> Span {
1155 self.meta.span
1156 }
1157}
1158impl<X: Extension> Spanned for MergeAction<X> {
1159 fn span(&self) -> Span {
1160 match self {
1161 MergeAction::Insert { meta, .. } => meta.span,
1162 MergeAction::InsertDefault { meta, .. } => meta.span,
1163 MergeAction::Update { meta, .. } => meta.span,
1164 MergeAction::UpdateStar { meta, .. } => meta.span,
1165 MergeAction::InsertStar { meta, .. } => meta.span,
1166 MergeAction::InsertByName { meta, .. } => meta.span,
1167 MergeAction::Error { meta, .. } => meta.span,
1168 MergeAction::Delete { meta, .. } => meta.span,
1169 MergeAction::DoNothing { meta, .. } => meta.span,
1170 }
1171 }
1172}
1173impl<X: Extension> Spanned for Expr<X> {
1174 fn span(&self) -> Span {
1175 match self {
1176 Expr::Column { meta, .. } => meta.span,
1177 Expr::Literal { meta, .. } => meta.span,
1178 Expr::BinaryOp { meta, .. } => meta.span,
1179 Expr::UnaryOp { meta, .. } => meta.span,
1180 Expr::Function { meta, .. } => meta.span,
1181 Expr::Case { meta, .. } => meta.span,
1182 Expr::Extract { meta, .. } => meta.span,
1183 Expr::Cast { meta, .. } => meta.span,
1184 Expr::IsNull { meta, .. } => meta.span,
1185 Expr::IsTruth { meta, .. } => meta.span,
1186 Expr::IsNormalized { meta, .. } => meta.span,
1187 Expr::Between { meta, .. } => meta.span,
1188 Expr::Like { meta, .. } => meta.span,
1189 Expr::InList { meta, .. } => meta.span,
1190 Expr::InSubquery { meta, .. } => meta.span,
1191 Expr::InExpr { meta, .. } => meta.span,
1192 Expr::Exists { meta, .. } => meta.span,
1193 Expr::QuantifiedComparison { meta, .. } => meta.span,
1194 Expr::QuantifiedList { meta, .. } => meta.span,
1195 Expr::QuantifiedLike { meta, .. } => meta.span,
1196 Expr::Subquery { meta, .. } => meta.span,
1197 Expr::Parameter { meta, .. } => meta.span,
1198 Expr::PositionalColumn { meta, .. } => meta.span,
1199 Expr::SessionVariable { meta, .. } => meta.span,
1200 Expr::Subscript { meta, .. } => meta.span,
1201 Expr::SemiStructuredAccess { meta, .. } => meta.span,
1202 Expr::Collate { meta, .. } => meta.span,
1203 Expr::Interval { meta, .. } => meta.span,
1204 Expr::AtTimeZone { meta, .. } => meta.span,
1205 Expr::Array { meta, .. } => meta.span,
1206 Expr::Struct { meta, .. } => meta.span,
1207 Expr::StructConstructor { meta, .. } => meta.span,
1208 Expr::Map { meta, .. } => meta.span,
1209 Expr::Row { meta, .. } => meta.span,
1210 Expr::FieldSelection { meta, .. } => meta.span,
1211 Expr::NamedOperator { meta, .. } => meta.span,
1212 Expr::PrefixOperator { meta, .. } => meta.span,
1213 Expr::PostfixOperator { meta, .. } => meta.span,
1214 Expr::Lambda { meta, .. } => meta.span,
1215 Expr::Columns { meta, .. } => meta.span,
1216 Expr::SpecialFunction { meta, .. } => meta.span,
1217 Expr::JsonFunc { meta, .. } => meta.span,
1218 Expr::JsonObject { meta, .. } => meta.span,
1219 Expr::JsonArray { meta, .. } => meta.span,
1220 Expr::JsonAggregate { meta, .. } => meta.span,
1221 Expr::JsonConstructor { meta, .. } => meta.span,
1222 Expr::IsJson { meta, .. } => meta.span,
1223 Expr::XmlFunc { meta, .. } => meta.span,
1224 Expr::IsDocument { meta, .. } => meta.span,
1225 Expr::StringFunc { meta, .. } => meta.span,
1226 Expr::Other { meta, .. } => meta.span,
1227 }
1228 }
1229}
1230impl<X: Extension> Spanned for SubscriptExpr<X> {
1231 fn span(&self) -> Span {
1232 self.meta.span
1233 }
1234}
1235impl<X: Extension> Spanned for SemiStructuredAccessExpr<X> {
1236 fn span(&self) -> Span {
1237 self.meta.span
1238 }
1239}
1240impl<X: Extension> Spanned for SemiStructuredPathSegment<X> {
1241 fn span(&self) -> Span {
1242 match self {
1243 SemiStructuredPathSegment::Key { meta, .. } => meta.span,
1244 SemiStructuredPathSegment::Index { meta, .. } => meta.span,
1245 }
1246 }
1247}
1248impl<X: Extension> Spanned for CollateExpr<X> {
1249 fn span(&self) -> Span {
1250 self.meta.span
1251 }
1252}
1253impl<X: Extension> Spanned for AtTimeZoneExpr<X> {
1254 fn span(&self) -> Span {
1255 self.meta.span
1256 }
1257}
1258impl<X: Extension> Spanned for ArrayExpr<X> {
1259 fn span(&self) -> Span {
1260 match self {
1261 ArrayExpr::Elements { meta, .. } => meta.span,
1262 ArrayExpr::Subquery { meta, .. } => meta.span,
1263 ArrayExpr::Comprehension { meta, .. } => meta.span,
1264 }
1265 }
1266}
1267impl<X: Extension> Spanned for ListComprehension<X> {
1268 fn span(&self) -> Span {
1269 self.meta.span
1270 }
1271}
1272impl<X: Extension> Spanned for ComprehensionSource<X> {
1273 fn span(&self) -> Span {
1274 match self {
1275 ComprehensionSource::Expr { meta, .. } => meta.span,
1276 ComprehensionSource::Star { meta, .. } => meta.span,
1277 }
1278 }
1279}
1280impl<X: Extension> Spanned for StructExpr<X> {
1281 fn span(&self) -> Span {
1282 self.meta.span
1283 }
1284}
1285impl<X: Extension> Spanned for StructField<X> {
1286 fn span(&self) -> Span {
1287 self.meta.span
1288 }
1289}
1290impl<X: Extension> Spanned for StructConstructorExpr<X> {
1291 fn span(&self) -> Span {
1292 self.meta.span
1293 }
1294}
1295impl<X: Extension> Spanned for StructConstructorField<X> {
1296 fn span(&self) -> Span {
1297 self.meta.span
1298 }
1299}
1300impl<X: Extension> Spanned for StructConstructorArg<X> {
1301 fn span(&self) -> Span {
1302 self.meta.span
1303 }
1304}
1305impl<X: Extension> Spanned for MapExpr<X> {
1306 fn span(&self) -> Span {
1307 self.meta.span
1308 }
1309}
1310impl<X: Extension> Spanned for MapEntry<X> {
1311 fn span(&self) -> Span {
1312 self.meta.span
1313 }
1314}
1315impl<X: Extension> Spanned for RowExpr<X> {
1316 fn span(&self) -> Span {
1317 self.meta.span
1318 }
1319}
1320impl<X: Extension> Spanned for FieldSelectionExpr<X> {
1321 fn span(&self) -> Span {
1322 self.meta.span
1323 }
1324}
1325impl Spanned for FieldSelector {
1326 fn span(&self) -> Span {
1327 match self {
1328 FieldSelector::Field { meta, .. } => meta.span,
1329 FieldSelector::Star { meta, .. } => meta.span,
1330 }
1331 }
1332}
1333impl<X: Extension> Spanned for NamedOperatorExpr<X> {
1334 fn span(&self) -> Span {
1335 self.meta.span
1336 }
1337}
1338impl<X: Extension> Spanned for PrefixOperatorExpr<X> {
1339 fn span(&self) -> Span {
1340 self.meta.span
1341 }
1342}
1343impl<X: Extension> Spanned for PostfixOperatorExpr<X> {
1344 fn span(&self) -> Span {
1345 self.meta.span
1346 }
1347}
1348impl<X: Extension> Spanned for LambdaExpr<X> {
1349 fn span(&self) -> Span {
1350 self.meta.span
1351 }
1352}
1353impl<X: Extension> Spanned for FunctionCall<X> {
1354 fn span(&self) -> Span {
1355 self.meta.span
1356 }
1357}
1358impl<X: Extension> Spanned for FunctionArg<X> {
1359 fn span(&self) -> Span {
1360 self.meta.span
1361 }
1362}
1363impl<X: Extension> Spanned for CaseExpr<X> {
1364 fn span(&self) -> Span {
1365 self.meta.span
1366 }
1367}
1368impl<X: Extension> Spanned for WhenClause<X> {
1369 fn span(&self) -> Span {
1370 self.meta.span
1371 }
1372}
1373impl<X: Extension> Spanned for ExtractExpr<X> {
1374 fn span(&self) -> Span {
1375 self.meta.span
1376 }
1377}
1378impl<X: Extension> Spanned for JsonValueExpr<X> {
1379 fn span(&self) -> Span {
1380 self.meta.span
1381 }
1382}
1383impl<X: Extension> Spanned for JsonReturning<X> {
1384 fn span(&self) -> Span {
1385 self.meta.span
1386 }
1387}
1388impl<X: Extension> Spanned for JsonPassingArg<X> {
1389 fn span(&self) -> Span {
1390 self.meta.span
1391 }
1392}
1393impl<X: Extension> Spanned for JsonBehavior<X> {
1394 fn span(&self) -> Span {
1395 self.meta.span
1396 }
1397}
1398impl<X: Extension> Spanned for JsonFuncExpr<X> {
1399 fn span(&self) -> Span {
1400 self.meta.span
1401 }
1402}
1403impl<X: Extension> Spanned for JsonKeyValue<X> {
1404 fn span(&self) -> Span {
1405 self.meta.span
1406 }
1407}
1408impl<X: Extension> Spanned for JsonObjectExpr<X> {
1409 fn span(&self) -> Span {
1410 self.meta.span
1411 }
1412}
1413impl<X: Extension> Spanned for JsonArrayBody<X> {
1414 fn span(&self) -> Span {
1415 match self {
1416 JsonArrayBody::Values { meta, .. } => meta.span,
1417 JsonArrayBody::Query { meta, .. } => meta.span,
1418 }
1419 }
1420}
1421impl<X: Extension> Spanned for JsonArrayExpr<X> {
1422 fn span(&self) -> Span {
1423 self.meta.span
1424 }
1425}
1426impl<X: Extension> Spanned for JsonAggregateBody<X> {
1427 fn span(&self) -> Span {
1428 match self {
1429 JsonAggregateBody::Object { meta, .. } => meta.span,
1430 JsonAggregateBody::Array { meta, .. } => meta.span,
1431 }
1432 }
1433}
1434impl<X: Extension> Spanned for JsonAggregateExpr<X> {
1435 fn span(&self) -> Span {
1436 self.meta.span
1437 }
1438}
1439impl<X: Extension> Spanned for JsonConstructorExpr<X> {
1440 fn span(&self) -> Span {
1441 self.meta.span
1442 }
1443}
1444impl<X: Extension> Spanned for IsJsonExpr<X> {
1445 fn span(&self) -> Span {
1446 self.meta.span
1447 }
1448}
1449impl<X: Extension> Spanned for XmlFunc<X> {
1450 fn span(&self) -> Span {
1451 match self {
1452 XmlFunc::Element { meta, .. } => meta.span,
1453 XmlFunc::Forest { meta, .. } => meta.span,
1454 XmlFunc::Concat { meta, .. } => meta.span,
1455 XmlFunc::Parse { meta, .. } => meta.span,
1456 XmlFunc::Pi { meta, .. } => meta.span,
1457 XmlFunc::Root { meta, .. } => meta.span,
1458 XmlFunc::Serialize { meta, .. } => meta.span,
1459 XmlFunc::Exists { meta, .. } => meta.span,
1460 }
1461 }
1462}
1463impl<X: Extension> Spanned for XmlAttribute<X> {
1464 fn span(&self) -> Span {
1465 self.meta.span
1466 }
1467}
1468impl<X: Extension> Spanned for StringFunc<X> {
1469 fn span(&self) -> Span {
1470 match self {
1471 StringFunc::Substring { meta, .. } => meta.span,
1472 StringFunc::SubstringSimilar { meta, .. } => meta.span,
1473 StringFunc::Position { meta, .. } => meta.span,
1474 StringFunc::Overlay { meta, .. } => meta.span,
1475 StringFunc::Trim { meta, .. } => meta.span,
1476 StringFunc::CollationFor { meta, .. } => meta.span,
1477 StringFunc::ConvertUsing { meta, .. } => meta.span,
1478 StringFunc::MatchAgainst { meta, .. } => meta.span,
1479 StringFunc::CeilTo { meta, .. } => meta.span,
1480 StringFunc::FloorTo { meta, .. } => meta.span,
1481 }
1482 }
1483}
1484impl Spanned for Ident {
1485 fn span(&self) -> Span {
1486 self.meta.span
1487 }
1488}
1489impl Spanned for ObjectName {
1490 fn span(&self) -> Span {
1491 self.0
1492 .iter()
1493 .fold(Span::SYNTHETIC, |acc, item| acc.union(item.span()))
1494 }
1495}
1496impl Spanned for Literal {
1497 fn span(&self) -> Span {
1498 self.meta.span
1499 }
1500}
1501impl<X: Extension> Spanned for MatchRecognize<X> {
1502 fn span(&self) -> Span {
1503 self.meta.span
1504 }
1505}
1506impl<X: Extension> Spanned for Measure<X> {
1507 fn span(&self) -> Span {
1508 self.meta.span
1509 }
1510}
1511impl Spanned for AfterMatchSkip {
1512 fn span(&self) -> Span {
1513 match self {
1514 AfterMatchSkip::PastLastRow { meta, .. } => meta.span,
1515 AfterMatchSkip::ToNextRow { meta, .. } => meta.span,
1516 AfterMatchSkip::ToFirst { meta, .. } => meta.span,
1517 AfterMatchSkip::ToLast { meta, .. } => meta.span,
1518 }
1519 }
1520}
1521impl Spanned for SubsetDefinition {
1522 fn span(&self) -> Span {
1523 self.meta.span
1524 }
1525}
1526impl<X: Extension> Spanned for SymbolDefinition<X> {
1527 fn span(&self) -> Span {
1528 self.meta.span
1529 }
1530}
1531impl Spanned for MatchRecognizePattern {
1532 fn span(&self) -> Span {
1533 match self {
1534 MatchRecognizePattern::Symbol { meta, .. } => meta.span,
1535 MatchRecognizePattern::Start { meta, .. } => meta.span,
1536 MatchRecognizePattern::End { meta, .. } => meta.span,
1537 MatchRecognizePattern::Concat { meta, .. } => meta.span,
1538 MatchRecognizePattern::Alternation { meta, .. } => meta.span,
1539 MatchRecognizePattern::Group { meta, .. } => meta.span,
1540 MatchRecognizePattern::Exclude { meta, .. } => meta.span,
1541 MatchRecognizePattern::Permute { meta, .. } => meta.span,
1542 MatchRecognizePattern::Repetition { meta, .. } => meta.span,
1543 }
1544 }
1545}
1546impl<X: Extension> Spanned for PipeOperator<X> {
1547 fn span(&self) -> Span {
1548 match self {
1549 PipeOperator::Where { meta, .. } => meta.span,
1550 PipeOperator::Select { meta, .. } => meta.span,
1551 PipeOperator::Extend { meta, .. } => meta.span,
1552 PipeOperator::As { meta, .. } => meta.span,
1553 PipeOperator::OrderBy { meta, .. } => meta.span,
1554 PipeOperator::Limit { meta, .. } => meta.span,
1555 PipeOperator::Join { meta, .. } => meta.span,
1556 PipeOperator::SetOperation { meta, .. } => meta.span,
1557 PipeOperator::Set { meta, .. } => meta.span,
1558 PipeOperator::Call { meta, .. } => meta.span,
1559 PipeOperator::Aggregate { meta, .. } => meta.span,
1560 PipeOperator::Drop { meta, .. } => meta.span,
1561 PipeOperator::Rename { meta, .. } => meta.span,
1562 PipeOperator::Pivot { meta, .. } => meta.span,
1563 PipeOperator::Unpivot { meta, .. } => meta.span,
1564 PipeOperator::TableSample { meta, .. } => meta.span,
1565 }
1566 }
1567}
1568impl<X: Extension> Spanned for PipeAggregateExpr<X> {
1569 fn span(&self) -> Span {
1570 self.meta.span
1571 }
1572}
1573impl Spanned for PipeRenameItem {
1574 fn span(&self) -> Span {
1575 self.meta.span
1576 }
1577}
1578impl<X: Extension> Spanned for Pivot<X> {
1579 fn span(&self) -> Span {
1580 self.meta.span
1581 }
1582}
1583impl<X: Extension> Spanned for Unpivot<X> {
1584 fn span(&self) -> Span {
1585 self.meta.span
1586 }
1587}
1588impl<X: Extension> Spanned for PivotExpr<X> {
1589 fn span(&self) -> Span {
1590 self.meta.span
1591 }
1592}
1593impl<X: Extension> Spanned for PivotColumn<X> {
1594 fn span(&self) -> Span {
1595 self.meta.span
1596 }
1597}
1598impl<X: Extension> Spanned for PivotValueSource<X> {
1599 fn span(&self) -> Span {
1600 match self {
1601 PivotValueSource::Any { meta, .. } => meta.span,
1602 PivotValueSource::Subquery { meta, .. } => meta.span,
1603 }
1604 }
1605}
1606impl<X: Extension> Spanned for UnpivotColumn<X> {
1607 fn span(&self) -> Span {
1608 self.meta.span
1609 }
1610}
1611impl<X: Extension> Spanned for Query<X> {
1612 fn span(&self) -> Span {
1613 self.meta.span
1614 }
1615}
1616impl Spanned for LockingClause {
1617 fn span(&self) -> Span {
1618 self.meta.span
1619 }
1620}
1621impl<X: Extension> Spanned for SetExpr<X> {
1622 fn span(&self) -> Span {
1623 match self {
1624 SetExpr::Select { meta, .. } => meta.span,
1625 SetExpr::Values { meta, .. } => meta.span,
1626 SetExpr::Query { meta, .. } => meta.span,
1627 SetExpr::SetOperation { meta, .. } => meta.span,
1628 SetExpr::Pivot { meta, .. } => meta.span,
1629 SetExpr::Unpivot { meta, .. } => meta.span,
1630 }
1631 }
1632}
1633impl<X: Extension> Spanned for With<X> {
1634 fn span(&self) -> Span {
1635 self.meta.span
1636 }
1637}
1638impl<X: Extension> Spanned for Cte<X> {
1639 fn span(&self) -> Span {
1640 self.meta.span
1641 }
1642}
1643impl Spanned for CteSearchClause {
1644 fn span(&self) -> Span {
1645 self.meta.span
1646 }
1647}
1648impl<X: Extension> Spanned for CteCycleClause<X> {
1649 fn span(&self) -> Span {
1650 self.meta.span
1651 }
1652}
1653impl<X: Extension> Spanned for CteCycleMark<X> {
1654 fn span(&self) -> Span {
1655 self.meta.span
1656 }
1657}
1658impl<X: Extension> Spanned for CteBody<X> {
1659 fn span(&self) -> Span {
1660 match self {
1661 CteBody::Query { meta, .. } => meta.span,
1662 CteBody::Insert { meta, .. } => meta.span,
1663 CteBody::Update { meta, .. } => meta.span,
1664 CteBody::Delete { meta, .. } => meta.span,
1665 CteBody::Merge { meta, .. } => meta.span,
1666 }
1667 }
1668}
1669impl<X: Extension> Spanned for Values<X> {
1670 fn span(&self) -> Span {
1671 self.meta.span
1672 }
1673}
1674impl<X: Extension> Spanned for ValuesItem<X> {
1675 fn span(&self) -> Span {
1676 match self {
1677 ValuesItem::Expr { meta, .. } => meta.span,
1678 ValuesItem::Default { meta, .. } => meta.span,
1679 }
1680 }
1681}
1682impl<X: Extension> Spanned for Select<X> {
1683 fn span(&self) -> Span {
1684 self.meta.span
1685 }
1686}
1687impl Spanned for IntoTarget {
1688 fn span(&self) -> Span {
1689 self.meta.span
1690 }
1691}
1692impl<X: Extension> Spanned for GroupByItem<X> {
1693 fn span(&self) -> Span {
1694 match self {
1695 GroupByItem::Expr { meta, .. } => meta.span,
1696 GroupByItem::Rollup { meta, .. } => meta.span,
1697 GroupByItem::Cube { meta, .. } => meta.span,
1698 GroupByItem::GroupingSets { meta, .. } => meta.span,
1699 GroupByItem::Empty { meta, .. } => meta.span,
1700 }
1701 }
1702}
1703impl<X: Extension> Spanned for SelectItem<X> {
1704 fn span(&self) -> Span {
1705 match self {
1706 SelectItem::Wildcard { meta, .. } => meta.span,
1707 SelectItem::QualifiedWildcard { meta, .. } => meta.span,
1708 SelectItem::Expr { meta, .. } => meta.span,
1709 }
1710 }
1711}
1712impl<X: Extension> Spanned for WildcardOptions<X> {
1713 fn span(&self) -> Span {
1714 self.meta.span
1715 }
1716}
1717impl<X: Extension> Spanned for WildcardReplace<X> {
1718 fn span(&self) -> Span {
1719 self.meta.span
1720 }
1721}
1722impl Spanned for WildcardRename {
1723 fn span(&self) -> Span {
1724 self.meta.span
1725 }
1726}
1727impl<X: Extension> Spanned for SelectDistinct<X> {
1728 fn span(&self) -> Span {
1729 match self {
1730 SelectDistinct::Quantifier { meta, .. } => meta.span,
1731 SelectDistinct::On { meta, .. } => meta.span,
1732 }
1733 }
1734}
1735impl<X: Extension> Spanned for TableWithJoins<X> {
1736 fn span(&self) -> Span {
1737 self.meta.span
1738 }
1739}
1740impl Spanned for TableAlias {
1741 fn span(&self) -> Span {
1742 self.meta.span
1743 }
1744}
1745impl<X: Extension> Spanned for TableSample<X> {
1746 fn span(&self) -> Span {
1747 self.meta.span
1748 }
1749}
1750impl<X: Extension> Spanned for TableVersion<X> {
1751 fn span(&self) -> Span {
1752 match self {
1753 TableVersion::ForSystemTimeAsOf { meta, .. } => meta.span,
1754 TableVersion::ForSystemTimeFromTo { meta, .. } => meta.span,
1755 TableVersion::ForSystemTimeBetween { meta, .. } => meta.span,
1756 TableVersion::ForSystemTimeContainedIn { meta, .. } => meta.span,
1757 TableVersion::ForSystemTimeAll { meta, .. } => meta.span,
1758 TableVersion::VersionAsOf { meta, .. } => meta.span,
1759 TableVersion::TimestampAsOf { meta, .. } => meta.span,
1760 }
1761 }
1762}
1763impl Spanned for SampleClause {
1764 fn span(&self) -> Span {
1765 self.meta.span
1766 }
1767}
1768impl<X: Extension> Spanned for TableFunctionColumn<X> {
1769 fn span(&self) -> Span {
1770 self.meta.span
1771 }
1772}
1773impl<X: Extension> Spanned for RowsFromItem<X> {
1774 fn span(&self) -> Span {
1775 self.meta.span
1776 }
1777}
1778impl Spanned for IndexHint {
1779 fn span(&self) -> Span {
1780 self.meta.span
1781 }
1782}
1783impl Spanned for IndexedBy {
1784 fn span(&self) -> Span {
1785 match self {
1786 IndexedBy::Named { meta, .. } => meta.span,
1787 IndexedBy::NotIndexed { meta, .. } => meta.span,
1788 }
1789 }
1790}
1791impl Spanned for TableHint {
1792 fn span(&self) -> Span {
1793 match self {
1794 TableHint::Keyword { meta, .. } => meta.span,
1795 TableHint::Index { meta, .. } => meta.span,
1796 TableHint::ForceSeek { meta, .. } => meta.span,
1797 TableHint::Other { meta, .. } => meta.span,
1798 }
1799 }
1800}
1801impl Spanned for ForceSeekTarget {
1802 fn span(&self) -> Span {
1803 self.meta.span
1804 }
1805}
1806impl<X: Extension> Spanned for TableFactor<X> {
1807 fn span(&self) -> Span {
1808 match self {
1809 TableFactor::Table { meta, .. } => meta.span,
1810 TableFactor::Derived { meta, .. } => meta.span,
1811 TableFactor::Function { meta, .. } => meta.span,
1812 TableFactor::RowsFrom { meta, .. } => meta.span,
1813 TableFactor::Unnest { meta, .. } => meta.span,
1814 TableFactor::NestedJoin { meta, .. } => meta.span,
1815 TableFactor::SpecialFunction { meta, .. } => meta.span,
1816 TableFactor::Pivot { meta, .. } => meta.span,
1817 TableFactor::Unpivot { meta, .. } => meta.span,
1818 TableFactor::MatchRecognize { meta, .. } => meta.span,
1819 TableFactor::ShowRef { meta, .. } => meta.span,
1820 TableFactor::JsonTable { meta, .. } => meta.span,
1821 TableFactor::XmlTable { meta, .. } => meta.span,
1822 TableFactor::OpenJson { meta, .. } => meta.span,
1823 TableFactor::TableExpr { meta, .. } => meta.span,
1824 TableFactor::Other { meta, .. } => meta.span,
1825 }
1826 }
1827}
1828impl<X: Extension> Spanned for ShowRef<X> {
1829 fn span(&self) -> Span {
1830 self.meta.span
1831 }
1832}
1833impl<X: Extension> Spanned for ShowRefTarget<X> {
1834 fn span(&self) -> Span {
1835 match self {
1836 ShowRefTarget::Query { meta, .. } => meta.span,
1837 ShowRefTarget::Name { meta, .. } => meta.span,
1838 }
1839 }
1840}
1841impl<X: Extension> Spanned for JsonTable<X> {
1842 fn span(&self) -> Span {
1843 self.meta.span
1844 }
1845}
1846impl<X: Extension> Spanned for JsonTableColumn<X> {
1847 fn span(&self) -> Span {
1848 match self {
1849 JsonTableColumn::ForOrdinality { meta, .. } => meta.span,
1850 JsonTableColumn::Regular { meta, .. } => meta.span,
1851 JsonTableColumn::Exists { meta, .. } => meta.span,
1852 JsonTableColumn::Nested { meta, .. } => meta.span,
1853 }
1854 }
1855}
1856impl<X: Extension> Spanned for XmlTable<X> {
1857 fn span(&self) -> Span {
1858 self.meta.span
1859 }
1860}
1861impl<X: Extension> Spanned for XmlNamespace<X> {
1862 fn span(&self) -> Span {
1863 self.meta.span
1864 }
1865}
1866impl<X: Extension> Spanned for XmlTableColumn<X> {
1867 fn span(&self) -> Span {
1868 match self {
1869 XmlTableColumn::ForOrdinality { meta, .. } => meta.span,
1870 XmlTableColumn::Regular { meta, .. } => meta.span,
1871 }
1872 }
1873}
1874impl<X: Extension> Spanned for OpenJson<X> {
1875 fn span(&self) -> Span {
1876 self.meta.span
1877 }
1878}
1879impl<X: Extension> Spanned for OpenJsonColumn<X> {
1880 fn span(&self) -> Span {
1881 self.meta.span
1882 }
1883}
1884impl<X: Extension> Spanned for Join<X> {
1885 fn span(&self) -> Span {
1886 self.meta.span
1887 }
1888}
1889impl<X: Extension> Spanned for JoinOperator<X> {
1890 fn span(&self) -> Span {
1891 match self {
1892 JoinOperator::Inner { meta, .. } => meta.span,
1893 JoinOperator::LeftOuter { meta, .. } => meta.span,
1894 JoinOperator::RightOuter { meta, .. } => meta.span,
1895 JoinOperator::FullOuter { meta, .. } => meta.span,
1896 JoinOperator::AsOf { meta, .. } => meta.span,
1897 JoinOperator::Cross { meta, .. } => meta.span,
1898 JoinOperator::Positional { meta, .. } => meta.span,
1899 JoinOperator::Semi { meta, .. } => meta.span,
1900 JoinOperator::Anti { meta, .. } => meta.span,
1901 JoinOperator::Apply { meta, .. } => meta.span,
1902 }
1903 }
1904}
1905impl<X: Extension> Spanned for JoinConstraint<X> {
1906 fn span(&self) -> Span {
1907 match self {
1908 JoinConstraint::On { meta, .. } => meta.span,
1909 JoinConstraint::Using { meta, .. } => meta.span,
1910 JoinConstraint::Natural { meta, .. } => meta.span,
1911 JoinConstraint::None { meta, .. } => meta.span,
1912 }
1913 }
1914}
1915impl<X: Extension> Spanned for OrderByExpr<X> {
1916 fn span(&self) -> Span {
1917 self.meta.span
1918 }
1919}
1920impl Spanned for OrderByUsing {
1921 fn span(&self) -> Span {
1922 self.meta.span
1923 }
1924}
1925impl Spanned for OrderByAll {
1926 fn span(&self) -> Span {
1927 self.meta.span
1928 }
1929}
1930impl<X: Extension> Spanned for Limit<X> {
1931 fn span(&self) -> Span {
1932 self.meta.span
1933 }
1934}
1935impl<X: Extension> Spanned for LimitBy<X> {
1936 fn span(&self) -> Span {
1937 self.meta.span
1938 }
1939}
1940impl<X: Extension> Spanned for Setting<X> {
1941 fn span(&self) -> Span {
1942 self.meta.span
1943 }
1944}
1945impl Spanned for FormatClause {
1946 fn span(&self) -> Span {
1947 self.meta.span
1948 }
1949}
1950impl Spanned for ForClause {
1951 fn span(&self) -> Span {
1952 match self {
1953 ForClause::Xml { meta, .. } => meta.span,
1954 ForClause::Json { meta, .. } => meta.span,
1955 }
1956 }
1957}
1958impl Spanned for ForXmlMode {
1959 fn span(&self) -> Span {
1960 match self {
1961 ForXmlMode::Raw { meta, .. } => meta.span,
1962 ForXmlMode::Auto { meta, .. } => meta.span,
1963 ForXmlMode::Explicit { meta, .. } => meta.span,
1964 ForXmlMode::Path { meta, .. } => meta.span,
1965 }
1966 }
1967}
1968impl Spanned for ForRoot {
1969 fn span(&self) -> Span {
1970 self.meta.span
1971 }
1972}
1973impl<X: Extension> Spanned for LateralView<X> {
1974 fn span(&self) -> Span {
1975 self.meta.span
1976 }
1977}
1978impl<X: Extension> Spanned for HierarchicalClause<X> {
1979 fn span(&self) -> Span {
1980 self.meta.span
1981 }
1982}
1983impl Spanned for ReplicationStatement {
1984 fn span(&self) -> Span {
1985 match self {
1986 ReplicationStatement::ChangeSource { meta, .. } => meta.span,
1987 ReplicationStatement::ChangeFilter { meta, .. } => meta.span,
1988 ReplicationStatement::StartReplica { meta, .. } => meta.span,
1989 ReplicationStatement::StopReplica { meta, .. } => meta.span,
1990 ReplicationStatement::StartGroupReplication { meta, .. } => meta.span,
1991 ReplicationStatement::StopGroupReplication { meta, .. } => meta.span,
1992 }
1993 }
1994}
1995impl Spanned for ChangeReplicationSourceOption {
1996 fn span(&self) -> Span {
1997 self.meta.span
1998 }
1999}
2000impl Spanned for ChangeReplicationSourceOptionValue {
2001 fn span(&self) -> Span {
2002 match self {
2003 ChangeReplicationSourceOptionValue::String { meta, .. } => meta.span,
2004 ChangeReplicationSourceOptionValue::Number { meta, .. } => meta.span,
2005 ChangeReplicationSourceOptionValue::NullableString { meta, .. } => meta.span,
2006 ChangeReplicationSourceOptionValue::User { meta, .. } => meta.span,
2007 ChangeReplicationSourceOptionValue::ServerIds { meta, .. } => meta.span,
2008 ChangeReplicationSourceOptionValue::PrimaryKeyCheck { meta, .. } => meta.span,
2009 ChangeReplicationSourceOptionValue::AssignGtids { meta, .. } => meta.span,
2010 }
2011 }
2012}
2013impl Spanned for ReplicationFilterRule {
2014 fn span(&self) -> Span {
2015 match self {
2016 ReplicationFilterRule::DoDb { meta, .. } => meta.span,
2017 ReplicationFilterRule::IgnoreDb { meta, .. } => meta.span,
2018 ReplicationFilterRule::DoTable { meta, .. } => meta.span,
2019 ReplicationFilterRule::IgnoreTable { meta, .. } => meta.span,
2020 ReplicationFilterRule::WildDoTable { meta, .. } => meta.span,
2021 ReplicationFilterRule::WildIgnoreTable { meta, .. } => meta.span,
2022 ReplicationFilterRule::RewriteDb { meta, .. } => meta.span,
2023 }
2024 }
2025}
2026impl Spanned for RewriteDbPair {
2027 fn span(&self) -> Span {
2028 self.meta.span
2029 }
2030}
2031impl Spanned for ReplicaThreadOption {
2032 fn span(&self) -> Span {
2033 match self {
2034 ReplicaThreadOption::Sql { meta, .. } => meta.span,
2035 ReplicaThreadOption::Io { meta, .. } => meta.span,
2036 }
2037 }
2038}
2039impl Spanned for ReplicaUntilCondition {
2040 fn span(&self) -> Span {
2041 match self {
2042 ReplicaUntilCondition::SourceLogFile { meta, .. } => meta.span,
2043 ReplicaUntilCondition::SourceLogPos { meta, .. } => meta.span,
2044 ReplicaUntilCondition::RelayLogFile { meta, .. } => meta.span,
2045 ReplicaUntilCondition::RelayLogPos { meta, .. } => meta.span,
2046 ReplicaUntilCondition::SqlBeforeGtids { meta, .. } => meta.span,
2047 ReplicaUntilCondition::SqlAfterGtids { meta, .. } => meta.span,
2048 ReplicaUntilCondition::SqlAfterMtsGaps { meta, .. } => meta.span,
2049 }
2050 }
2051}
2052impl Spanned for GroupReplicationOption {
2053 fn span(&self) -> Span {
2054 match self {
2055 GroupReplicationOption::User { meta, .. } => meta.span,
2056 GroupReplicationOption::Password { meta, .. } => meta.span,
2057 GroupReplicationOption::DefaultAuth { meta, .. } => meta.span,
2058 }
2059 }
2060}
2061impl<X: Extension> Spanned for Statement<X> {
2062 fn span(&self) -> Span {
2063 match self {
2064 Statement::Query { meta, .. } => meta.span,
2065 Statement::CreateTable { meta, .. } => meta.span,
2066 Statement::AlterTable { meta, .. } => meta.span,
2067 Statement::Drop { meta, .. } => meta.span,
2068 Statement::CreateSchema { meta, .. } => meta.span,
2069 Statement::CreateView { meta, .. } => meta.span,
2070 Statement::AlterView { meta, .. } => meta.span,
2071 Statement::CreateIndex { meta, .. } => meta.span,
2072 Statement::CreateFunction { meta, .. } => meta.span,
2073 Statement::CreateProcedure { meta, .. } => meta.span,
2074 Statement::AlterRoutine { meta, .. } => meta.span,
2075 Statement::CreateEvent { meta, .. } => meta.span,
2076 Statement::AlterEvent { meta, .. } => meta.span,
2077 Statement::DropEvent { meta, .. } => meta.span,
2078 Statement::DropDatabase { meta, .. } => meta.span,
2079 Statement::DropIndex { meta, .. } => meta.span,
2080 Statement::CreateDatabase { meta, .. } => meta.span,
2081 Statement::DropRoutine { meta, .. } => meta.span,
2082 Statement::DropTransform { meta, .. } => meta.span,
2083 Statement::Truncate { meta, .. } => meta.span,
2084 Statement::CommentOn { meta, .. } => meta.span,
2085 Statement::Insert { meta, .. } => meta.span,
2086 Statement::Update { meta, .. } => meta.span,
2087 Statement::Delete { meta, .. } => meta.span,
2088 Statement::Merge { meta, .. } => meta.span,
2089 Statement::Transaction { meta, .. } => meta.span,
2090 Statement::Xa { meta, .. } => meta.span,
2091 Statement::Session { meta, .. } => meta.span,
2092 Statement::AccessControl { meta, .. } => meta.span,
2093 Statement::Copy { meta, .. } => meta.span,
2094 Statement::CopyInto { meta, .. } => meta.span,
2095 Statement::Export { meta, .. } => meta.span,
2096 Statement::Import { meta, .. } => meta.span,
2097 Statement::Explain { meta, .. } => meta.span,
2098 Statement::Describe { meta, .. } => meta.span,
2099 Statement::Show { meta, .. } => meta.span,
2100 Statement::Kill { meta, .. } => meta.span,
2101 Statement::Handler { meta, .. } => meta.span,
2102 Statement::Install { meta, .. } => meta.span,
2103 Statement::Uninstall { meta, .. } => meta.span,
2104 Statement::Shutdown { meta, .. } => meta.span,
2105 Statement::Restart { meta, .. } => meta.span,
2106 Statement::Clone { meta, .. } => meta.span,
2107 Statement::ImportTable { meta, .. } => meta.span,
2108 Statement::Help { meta, .. } => meta.span,
2109 Statement::Binlog { meta, .. } => meta.span,
2110 Statement::Pragma { meta, .. } => meta.span,
2111 Statement::Attach { meta, .. } => meta.span,
2112 Statement::Detach { meta, .. } => meta.span,
2113 Statement::Checkpoint { meta, .. } => meta.span,
2114 Statement::Load { meta, .. } => meta.span,
2115 Statement::LoadData { meta, .. } => meta.span,
2116 Statement::UpdateExtensions { meta, .. } => meta.span,
2117 Statement::Vacuum { meta, .. } => meta.span,
2118 Statement::Reindex { meta, .. } => meta.span,
2119 Statement::Analyze { meta, .. } => meta.span,
2120 Statement::TableMaintenance { meta, .. } => meta.span,
2121 Statement::CacheIndex { meta, .. } => meta.span,
2122 Statement::LoadIndex { meta, .. } => meta.span,
2123 Statement::Rename { meta, .. } => meta.span,
2124 Statement::Flush { meta, .. } => meta.span,
2125 Statement::Purge { meta, .. } => meta.span,
2126 Statement::Replication { meta, .. } => meta.span,
2127 Statement::CreateUser { meta, .. } => meta.span,
2128 Statement::AlterUser { meta, .. } => meta.span,
2129 Statement::UserRoleList { meta, .. } => meta.span,
2130 Statement::Use { meta, .. } => meta.span,
2131 Statement::CreateTrigger { meta, .. } => meta.span,
2132 Statement::CreateStoredTrigger { meta, .. } => meta.span,
2133 Statement::CreateMacro { meta, .. } => meta.span,
2134 Statement::CreateSecret { meta, .. } => meta.span,
2135 Statement::DropSecret { meta, .. } => meta.span,
2136 Statement::CreateType { meta, .. } => meta.span,
2137 Statement::CreateVirtualTable { meta, .. } => meta.span,
2138 Statement::CreateSequence { meta, .. } => meta.span,
2139 Statement::CreateExtension { meta, .. } => meta.span,
2140 Statement::AlterExtension { meta, .. } => meta.span,
2141 Statement::CreateTablespace { meta, .. } => meta.span,
2142 Statement::AlterTablespace { meta, .. } => meta.span,
2143 Statement::DropTablespace { meta, .. } => meta.span,
2144 Statement::CreateLogfileGroup { meta, .. } => meta.span,
2145 Statement::AlterLogfileGroup { meta, .. } => meta.span,
2146 Statement::DropLogfileGroup { meta, .. } => meta.span,
2147 Statement::AlterObjectDepends { meta, .. } => meta.span,
2148 Statement::AlterSystem { meta, .. } => meta.span,
2149 Statement::AlterDatabase { meta, .. } => meta.span,
2150 Statement::AlterDatabaseOptions { meta, .. } => meta.span,
2151 Statement::CreateServer { meta, .. } => meta.span,
2152 Statement::AlterServer { meta, .. } => meta.span,
2153 Statement::DropServer { meta, .. } => meta.span,
2154 Statement::AlterInstance { meta, .. } => meta.span,
2155 Statement::CreateSpatialReferenceSystem { meta, .. } => meta.span,
2156 Statement::DropSpatialReferenceSystem { meta, .. } => meta.span,
2157 Statement::CreateResourceGroup { meta, .. } => meta.span,
2158 Statement::AlterResourceGroup { meta, .. } => meta.span,
2159 Statement::DropResourceGroup { meta, .. } => meta.span,
2160 Statement::AlterSequence { meta, .. } => meta.span,
2161 Statement::AlterObjectSchema { meta, .. } => meta.span,
2162 Statement::Pivot { meta, .. } => meta.span,
2163 Statement::Unpivot { meta, .. } => meta.span,
2164 Statement::ShowRef { meta, .. } => meta.span,
2165 Statement::Prepare { meta, .. } => meta.span,
2166 Statement::Execute { meta, .. } => meta.span,
2167 Statement::PrepareFrom { meta, .. } => meta.span,
2168 Statement::ExecuteUsing { meta, .. } => meta.span,
2169 Statement::Deallocate { meta, .. } => meta.span,
2170 Statement::Call { meta, .. } => meta.span,
2171 Statement::Do { meta, .. } => meta.span,
2172 Statement::DoExpressions { meta, .. } => meta.span,
2173 Statement::LockTables { meta, .. } => meta.span,
2174 Statement::UnlockTables { meta, .. } => meta.span,
2175 Statement::InstanceLock { meta, .. } => meta.span,
2176 Statement::Compound { meta, .. } => meta.span,
2177 Statement::If { meta, .. } => meta.span,
2178 Statement::Case { meta, .. } => meta.span,
2179 Statement::Loop { meta, .. } => meta.span,
2180 Statement::While { meta, .. } => meta.span,
2181 Statement::Repeat { meta, .. } => meta.span,
2182 Statement::Leave { meta, .. } => meta.span,
2183 Statement::Iterate { meta, .. } => meta.span,
2184 Statement::Return { meta, .. } => meta.span,
2185 Statement::OpenCursor { meta, .. } => meta.span,
2186 Statement::FetchCursor { meta, .. } => meta.span,
2187 Statement::CloseCursor { meta, .. } => meta.span,
2188 Statement::Signal { meta, .. } => meta.span,
2189 Statement::Resignal { meta, .. } => meta.span,
2190 Statement::GetDiagnostics { meta, .. } => meta.span,
2191 Statement::Other { meta, .. } => meta.span,
2192 }
2193 }
2194}
2195impl<X: Extension> Spanned for CompoundStatement<X> {
2196 fn span(&self) -> Span {
2197 self.meta.span
2198 }
2199}
2200impl<X: Extension> Spanned for Declaration<X> {
2201 fn span(&self) -> Span {
2202 match self {
2203 Declaration::Variable { meta, .. } => meta.span,
2204 Declaration::Condition { meta, .. } => meta.span,
2205 Declaration::Cursor { meta, .. } => meta.span,
2206 Declaration::Handler { meta, .. } => meta.span,
2207 }
2208 }
2209}
2210impl Spanned for ConditionValue {
2211 fn span(&self) -> Span {
2212 match self {
2213 ConditionValue::SqlState { meta, .. } => meta.span,
2214 ConditionValue::ErrorCode { meta, .. } => meta.span,
2215 ConditionValue::ConditionName { meta, .. } => meta.span,
2216 }
2217 }
2218}
2219impl Spanned for HandlerCondition {
2220 fn span(&self) -> Span {
2221 match self {
2222 HandlerCondition::SqlState { meta, .. } => meta.span,
2223 HandlerCondition::ErrorCode { meta, .. } => meta.span,
2224 HandlerCondition::ConditionName { meta, .. } => meta.span,
2225 HandlerCondition::SqlWarning { meta, .. } => meta.span,
2226 HandlerCondition::NotFound { meta, .. } => meta.span,
2227 HandlerCondition::SqlException { meta, .. } => meta.span,
2228 }
2229 }
2230}
2231impl<X: Extension> Spanned for IfStatement<X> {
2232 fn span(&self) -> Span {
2233 self.meta.span
2234 }
2235}
2236impl<X: Extension> Spanned for ConditionalBranch<X> {
2237 fn span(&self) -> Span {
2238 self.meta.span
2239 }
2240}
2241impl<X: Extension> Spanned for CaseStatement<X> {
2242 fn span(&self) -> Span {
2243 self.meta.span
2244 }
2245}
2246impl<X: Extension> Spanned for LoopStatement<X> {
2247 fn span(&self) -> Span {
2248 self.meta.span
2249 }
2250}
2251impl<X: Extension> Spanned for WhileStatement<X> {
2252 fn span(&self) -> Span {
2253 self.meta.span
2254 }
2255}
2256impl<X: Extension> Spanned for RepeatStatement<X> {
2257 fn span(&self) -> Span {
2258 self.meta.span
2259 }
2260}
2261impl Spanned for LeaveStatement {
2262 fn span(&self) -> Span {
2263 self.meta.span
2264 }
2265}
2266impl Spanned for IterateStatement {
2267 fn span(&self) -> Span {
2268 self.meta.span
2269 }
2270}
2271impl<X: Extension> Spanned for ReturnStatement<X> {
2272 fn span(&self) -> Span {
2273 self.meta.span
2274 }
2275}
2276impl Spanned for OpenCursorStatement {
2277 fn span(&self) -> Span {
2278 self.meta.span
2279 }
2280}
2281impl Spanned for CloseCursorStatement {
2282 fn span(&self) -> Span {
2283 self.meta.span
2284 }
2285}
2286impl Spanned for FetchCursorStatement {
2287 fn span(&self) -> Span {
2288 self.meta.span
2289 }
2290}
2291impl<X: Extension> Spanned for SignalStatement<X> {
2292 fn span(&self) -> Span {
2293 self.meta.span
2294 }
2295}
2296impl<X: Extension> Spanned for SignalItem<X> {
2297 fn span(&self) -> Span {
2298 self.meta.span
2299 }
2300}
2301impl<X: Extension> Spanned for GetDiagnosticsStatement<X> {
2302 fn span(&self) -> Span {
2303 self.meta.span
2304 }
2305}
2306impl<X: Extension> Spanned for DiagnosticsInfo<X> {
2307 fn span(&self) -> Span {
2308 match self {
2309 DiagnosticsInfo::Statement { meta, .. } => meta.span,
2310 DiagnosticsInfo::Condition { meta, .. } => meta.span,
2311 }
2312 }
2313}
2314impl<X: Extension> Spanned for StatementInfoItem<X> {
2315 fn span(&self) -> Span {
2316 self.meta.span
2317 }
2318}
2319impl<X: Extension> Spanned for ConditionInfoItem<X> {
2320 fn span(&self) -> Span {
2321 self.meta.span
2322 }
2323}
2324impl Spanned for TransactionStatement {
2325 fn span(&self) -> Span {
2326 match self {
2327 TransactionStatement::Begin { meta, .. } => meta.span,
2328 TransactionStatement::Commit { meta, .. } => meta.span,
2329 TransactionStatement::Rollback { meta, .. } => meta.span,
2330 TransactionStatement::Savepoint { meta, .. } => meta.span,
2331 TransactionStatement::Release { meta, .. } => meta.span,
2332 TransactionStatement::SetCharacteristics { meta, .. } => meta.span,
2333 }
2334 }
2335}
2336impl Spanned for TransactionMode {
2337 fn span(&self) -> Span {
2338 match self {
2339 TransactionMode::IsolationLevel { meta, .. } => meta.span,
2340 TransactionMode::AccessMode { meta, .. } => meta.span,
2341 TransactionMode::Deferrable { meta, .. } => meta.span,
2342 }
2343 }
2344}
2345impl Spanned for XaStatement {
2346 fn span(&self) -> Span {
2347 match self {
2348 XaStatement::Start { meta, .. } => meta.span,
2349 XaStatement::End { meta, .. } => meta.span,
2350 XaStatement::Prepare { meta, .. } => meta.span,
2351 XaStatement::Commit { meta, .. } => meta.span,
2352 XaStatement::Rollback { meta, .. } => meta.span,
2353 XaStatement::Recover { meta, .. } => meta.span,
2354 }
2355 }
2356}
2357impl Spanned for Xid {
2358 fn span(&self) -> Span {
2359 self.meta.span
2360 }
2361}
2362impl<X: Extension> Spanned for DataType<X> {
2363 fn span(&self) -> Span {
2364 match self {
2365 DataType::Boolean { meta, .. } => meta.span,
2366 DataType::TinyInt { meta, .. } => meta.span,
2367 DataType::SmallInt { meta, .. } => meta.span,
2368 DataType::MediumInt { meta, .. } => meta.span,
2369 DataType::Integer { meta, .. } => meta.span,
2370 DataType::BigInt { meta, .. } => meta.span,
2371 DataType::Decimal { meta, .. } => meta.span,
2372 DataType::Float { meta, .. } => meta.span,
2373 DataType::Real { meta, .. } => meta.span,
2374 DataType::Double { meta, .. } => meta.span,
2375 DataType::Text { meta, .. } => meta.span,
2376 DataType::Blob { meta, .. } => meta.span,
2377 DataType::Character { meta, .. } => meta.span,
2378 DataType::Binary { meta, .. } => meta.span,
2379 DataType::Bit { meta, .. } => meta.span,
2380 DataType::Json { meta, .. } => meta.span,
2381 DataType::Uuid { meta, .. } => meta.span,
2382 DataType::Date { meta, .. } => meta.span,
2383 DataType::Time { meta, .. } => meta.span,
2384 DataType::Timestamp { meta, .. } => meta.span,
2385 DataType::Interval { meta, .. } => meta.span,
2386 DataType::Enum { meta, .. } => meta.span,
2387 DataType::Set { meta, .. } => meta.span,
2388 DataType::NumericModifier { meta, .. } => meta.span,
2389 DataType::Array { meta, .. } => meta.span,
2390 DataType::Struct { meta, .. } => meta.span,
2391 DataType::Union { meta, .. } => meta.span,
2392 DataType::Map { meta, .. } => meta.span,
2393 DataType::Wrapped { meta, .. } => meta.span,
2394 DataType::FixedString { meta, .. } => meta.span,
2395 DataType::DateTime64 { meta, .. } => meta.span,
2396 DataType::Nested { meta, .. } => meta.span,
2397 DataType::FixedWidthInt { meta, .. } => meta.span,
2398 DataType::UserDefined { meta, .. } => meta.span,
2399 DataType::Liberal { meta, .. } => meta.span,
2400 DataType::Other { meta, .. } => meta.span,
2401 }
2402 }
2403}
2404impl<X: Extension> Spanned for StructTypeField<X> {
2405 fn span(&self) -> Span {
2406 self.meta.span
2407 }
2408}
2409impl Spanned for CharsetAnnotation {
2410 fn span(&self) -> Span {
2411 self.meta.span
2412 }
2413}
2414impl<X: Extension> Spanned for CopyStatement<X> {
2415 fn span(&self) -> Span {
2416 self.meta.span
2417 }
2418}
2419impl<X: Extension> Spanned for CopySource<X> {
2420 fn span(&self) -> Span {
2421 match self {
2422 CopySource::Table { meta, .. } => meta.span,
2423 CopySource::Query { meta, .. } => meta.span,
2424 }
2425 }
2426}
2427impl Spanned for CopyTarget {
2428 fn span(&self) -> Span {
2429 match self {
2430 CopyTarget::File { meta, .. } => meta.span,
2431 CopyTarget::Stdin { meta, .. } => meta.span,
2432 CopyTarget::Stdout { meta, .. } => meta.span,
2433 CopyTarget::Program { meta, .. } => meta.span,
2434 }
2435 }
2436}
2437impl Spanned for CopyOption {
2438 fn span(&self) -> Span {
2439 self.meta.span
2440 }
2441}
2442impl Spanned for CopyOptionValue {
2443 fn span(&self) -> Span {
2444 match self {
2445 CopyOptionValue::Word { meta, .. } => meta.span,
2446 CopyOptionValue::String { meta, .. } => meta.span,
2447 CopyOptionValue::Number { meta, .. } => meta.span,
2448 CopyOptionValue::Star { meta, .. } => meta.span,
2449 CopyOptionValue::List { meta, .. } => meta.span,
2450 CopyOptionValue::Force { meta, .. } => meta.span,
2451 CopyOptionValue::OptionList { meta, .. } => meta.span,
2452 }
2453 }
2454}
2455impl<X: Extension> Spanned for CopyIntoStatement<X> {
2456 fn span(&self) -> Span {
2457 self.meta.span
2458 }
2459}
2460impl Spanned for CopyIntoTarget {
2461 fn span(&self) -> Span {
2462 match self {
2463 CopyIntoTarget::Table { meta, .. } => meta.span,
2464 CopyIntoTarget::External { meta, .. } => meta.span,
2465 CopyIntoTarget::Stage { meta, .. } => meta.span,
2466 }
2467 }
2468}
2469impl<X: Extension> Spanned for CopyIntoSource<X> {
2470 fn span(&self) -> Span {
2471 match self {
2472 CopyIntoSource::Table { meta, .. } => meta.span,
2473 CopyIntoSource::External { meta, .. } => meta.span,
2474 CopyIntoSource::Stage { meta, .. } => meta.span,
2475 CopyIntoSource::Query { meta, .. } => meta.span,
2476 }
2477 }
2478}
2479impl Spanned for ExportStatement {
2480 fn span(&self) -> Span {
2481 self.meta.span
2482 }
2483}
2484impl Spanned for ImportStatement {
2485 fn span(&self) -> Span {
2486 self.meta.span
2487 }
2488}
2489impl<X: Extension> Spanned for ExplainStatement<X> {
2490 fn span(&self) -> Span {
2491 self.meta.span
2492 }
2493}
2494impl Spanned for ExplainOption {
2495 fn span(&self) -> Span {
2496 match self {
2497 ExplainOption::Analyze { meta, .. } => meta.span,
2498 ExplainOption::Verbose { meta, .. } => meta.span,
2499 ExplainOption::Format { meta, .. } => meta.span,
2500 ExplainOption::Other { meta, .. } => meta.span,
2501 }
2502 }
2503}
2504impl Spanned for DescribeStatement {
2505 fn span(&self) -> Span {
2506 self.meta.span
2507 }
2508}
2509impl Spanned for DescribeColumn {
2510 fn span(&self) -> Span {
2511 match self {
2512 DescribeColumn::Name { meta, .. } => meta.span,
2513 DescribeColumn::Wild { meta, .. } => meta.span,
2514 }
2515 }
2516}
2517impl<X: Extension> Spanned for KillStatement<X> {
2518 fn span(&self) -> Span {
2519 self.meta.span
2520 }
2521}
2522impl<X: Extension> Spanned for InstallStatement<X> {
2523 fn span(&self) -> Span {
2524 match self {
2525 InstallStatement::Plugin { meta, .. } => meta.span,
2526 InstallStatement::Component { meta, .. } => meta.span,
2527 }
2528 }
2529}
2530impl Spanned for UninstallStatement {
2531 fn span(&self) -> Span {
2532 match self {
2533 UninstallStatement::Plugin { meta, .. } => meta.span,
2534 UninstallStatement::Component { meta, .. } => meta.span,
2535 }
2536 }
2537}
2538impl<X: Extension> Spanned for InstallComponentSetElement<X> {
2539 fn span(&self) -> Span {
2540 self.meta.span
2541 }
2542}
2543impl<X: Extension> Spanned for InstallComponentSetValue<X> {
2544 fn span(&self) -> Span {
2545 match self {
2546 InstallComponentSetValue::On { meta, .. } => meta.span,
2547 InstallComponentSetValue::Expr { meta, .. } => meta.span,
2548 }
2549 }
2550}
2551impl<X: Extension> Spanned for HandlerStatement<X> {
2552 fn span(&self) -> Span {
2553 self.meta.span
2554 }
2555}
2556impl<X: Extension> Spanned for HandlerOperation<X> {
2557 fn span(&self) -> Span {
2558 match self {
2559 HandlerOperation::Open { meta, .. } => meta.span,
2560 HandlerOperation::Close { meta, .. } => meta.span,
2561 HandlerOperation::Read { meta, .. } => meta.span,
2562 }
2563 }
2564}
2565impl<X: Extension> Spanned for HandlerReadSelector<X> {
2566 fn span(&self) -> Span {
2567 match self {
2568 HandlerReadSelector::Scan { meta, .. } => meta.span,
2569 HandlerReadSelector::Index { meta, .. } => meta.span,
2570 HandlerReadSelector::Key { meta, .. } => meta.span,
2571 }
2572 }
2573}
2574impl Spanned for CloneStatement {
2575 fn span(&self) -> Span {
2576 match self {
2577 CloneStatement::Local { meta, .. } => meta.span,
2578 CloneStatement::Instance { meta, .. } => meta.span,
2579 }
2580 }
2581}
2582impl Spanned for CloneDataDirectory {
2583 fn span(&self) -> Span {
2584 self.meta.span
2585 }
2586}
2587impl Spanned for ImportTableStatement {
2588 fn span(&self) -> Span {
2589 self.meta.span
2590 }
2591}
2592impl Spanned for HelpStatement {
2593 fn span(&self) -> Span {
2594 self.meta.span
2595 }
2596}
2597impl Spanned for BinlogStatement {
2598 fn span(&self) -> Span {
2599 self.meta.span
2600 }
2601}
2602impl Spanned for PragmaStatement {
2603 fn span(&self) -> Span {
2604 self.meta.span
2605 }
2606}
2607impl<X: Extension> Spanned for AttachStatement<X> {
2608 fn span(&self) -> Span {
2609 self.meta.span
2610 }
2611}
2612impl Spanned for DetachStatement {
2613 fn span(&self) -> Span {
2614 self.meta.span
2615 }
2616}
2617impl Spanned for CheckpointStatement {
2618 fn span(&self) -> Span {
2619 self.meta.span
2620 }
2621}
2622impl Spanned for LoadStatement {
2623 fn span(&self) -> Span {
2624 self.meta.span
2625 }
2626}
2627impl Spanned for LoadTarget {
2628 fn span(&self) -> Span {
2629 match self {
2630 LoadTarget::Name { meta, .. } => meta.span,
2631 LoadTarget::Path { meta, .. } => meta.span,
2632 }
2633 }
2634}
2635impl Spanned for UpdateExtensionsStatement {
2636 fn span(&self) -> Span {
2637 self.meta.span
2638 }
2639}
2640impl<X: Extension> Spanned for VacuumStatement<X> {
2641 fn span(&self) -> Span {
2642 self.meta.span
2643 }
2644}
2645impl Spanned for ReindexStatement {
2646 fn span(&self) -> Span {
2647 self.meta.span
2648 }
2649}
2650impl Spanned for AnalyzeStatement {
2651 fn span(&self) -> Span {
2652 self.meta.span
2653 }
2654}
2655impl Spanned for TableMaintenanceStatement {
2656 fn span(&self) -> Span {
2657 self.meta.span
2658 }
2659}
2660impl Spanned for TableMaintenanceKind {
2661 fn span(&self) -> Span {
2662 match self {
2663 TableMaintenanceKind::Analyze { meta, .. } => meta.span,
2664 TableMaintenanceKind::Check { meta, .. } => meta.span,
2665 TableMaintenanceKind::Checksum { meta, .. } => meta.span,
2666 TableMaintenanceKind::Optimize { meta, .. } => meta.span,
2667 TableMaintenanceKind::Repair { meta, .. } => meta.span,
2668 }
2669 }
2670}
2671impl Spanned for AnalyzeHistogram {
2672 fn span(&self) -> Span {
2673 match self {
2674 AnalyzeHistogram::Update { meta, .. } => meta.span,
2675 AnalyzeHistogram::Drop { meta, .. } => meta.span,
2676 }
2677 }
2678}
2679impl Spanned for CacheIndexStatement {
2680 fn span(&self) -> Span {
2681 self.meta.span
2682 }
2683}
2684impl Spanned for CacheIndexTargets {
2685 fn span(&self) -> Span {
2686 match self {
2687 CacheIndexTargets::Tables { meta, .. } => meta.span,
2688 CacheIndexTargets::Partition { meta, .. } => meta.span,
2689 }
2690 }
2691}
2692impl Spanned for CacheIndexTable {
2693 fn span(&self) -> Span {
2694 self.meta.span
2695 }
2696}
2697impl Spanned for LoadIndexStatement {
2698 fn span(&self) -> Span {
2699 self.meta.span
2700 }
2701}
2702impl Spanned for LoadIndexTargets {
2703 fn span(&self) -> Span {
2704 match self {
2705 LoadIndexTargets::Tables { meta, .. } => meta.span,
2706 LoadIndexTargets::Partition { meta, .. } => meta.span,
2707 }
2708 }
2709}
2710impl Spanned for LoadIndexTable {
2711 fn span(&self) -> Span {
2712 self.meta.span
2713 }
2714}
2715impl Spanned for CacheIndexKeyList {
2716 fn span(&self) -> Span {
2717 self.meta.span
2718 }
2719}
2720impl Spanned for KeyCacheName {
2721 fn span(&self) -> Span {
2722 match self {
2723 KeyCacheName::Named { meta, .. } => meta.span,
2724 KeyCacheName::Default { meta, .. } => meta.span,
2725 }
2726 }
2727}
2728impl Spanned for PartitionSelection {
2729 fn span(&self) -> Span {
2730 match self {
2731 PartitionSelection::All { meta, .. } => meta.span,
2732 PartitionSelection::Names { meta, .. } => meta.span,
2733 }
2734 }
2735}
2736impl Spanned for RenameStatement {
2737 fn span(&self) -> Span {
2738 match self {
2739 RenameStatement::Table { meta, .. } => meta.span,
2740 RenameStatement::User { meta, .. } => meta.span,
2741 }
2742 }
2743}
2744impl Spanned for TableRename {
2745 fn span(&self) -> Span {
2746 self.meta.span
2747 }
2748}
2749impl Spanned for UserRename {
2750 fn span(&self) -> Span {
2751 self.meta.span
2752 }
2753}
2754impl Spanned for AccountName {
2755 fn span(&self) -> Span {
2756 match self {
2757 AccountName::Account { meta, .. } => meta.span,
2758 AccountName::CurrentUser { meta, .. } => meta.span,
2759 }
2760 }
2761}
2762impl Spanned for FlushStatement {
2763 fn span(&self) -> Span {
2764 self.meta.span
2765 }
2766}
2767impl Spanned for FlushTarget {
2768 fn span(&self) -> Span {
2769 match self {
2770 FlushTarget::Tables { meta, .. } => meta.span,
2771 FlushTarget::Options { meta, .. } => meta.span,
2772 }
2773 }
2774}
2775impl Spanned for FlushOption {
2776 fn span(&self) -> Span {
2777 match self {
2778 FlushOption::Privileges { meta, .. } => meta.span,
2779 FlushOption::Logs { meta, .. } => meta.span,
2780 FlushOption::BinaryLogs { meta, .. } => meta.span,
2781 FlushOption::EngineLogs { meta, .. } => meta.span,
2782 FlushOption::ErrorLogs { meta, .. } => meta.span,
2783 FlushOption::GeneralLogs { meta, .. } => meta.span,
2784 FlushOption::SlowLogs { meta, .. } => meta.span,
2785 FlushOption::RelayLogs { meta, .. } => meta.span,
2786 FlushOption::Status { meta, .. } => meta.span,
2787 FlushOption::UserResources { meta, .. } => meta.span,
2788 FlushOption::OptimizerCosts { meta, .. } => meta.span,
2789 }
2790 }
2791}
2792impl<X: Extension> Spanned for PurgeStatement<X> {
2793 fn span(&self) -> Span {
2794 self.meta.span
2795 }
2796}
2797impl<X: Extension> Spanned for PurgeTarget<X> {
2798 fn span(&self) -> Span {
2799 match self {
2800 PurgeTarget::To { meta, .. } => meta.span,
2801 PurgeTarget::Before { meta, .. } => meta.span,
2802 }
2803 }
2804}
2805impl Spanned for UseStatement {
2806 fn span(&self) -> Span {
2807 self.meta.span
2808 }
2809}
2810impl<X: Extension> Spanned for PrepareStatement<X> {
2811 fn span(&self) -> Span {
2812 self.meta.span
2813 }
2814}
2815impl Spanned for PrepareFromStatement {
2816 fn span(&self) -> Span {
2817 self.meta.span
2818 }
2819}
2820impl Spanned for PrepareSource {
2821 fn span(&self) -> Span {
2822 match self {
2823 PrepareSource::Text { meta, .. } => meta.span,
2824 PrepareSource::Variable { meta, .. } => meta.span,
2825 }
2826 }
2827}
2828impl<X: Extension> Spanned for ExecuteStatement<X> {
2829 fn span(&self) -> Span {
2830 self.meta.span
2831 }
2832}
2833impl Spanned for ExecuteUsingStatement {
2834 fn span(&self) -> Span {
2835 self.meta.span
2836 }
2837}
2838impl<X: Extension> Spanned for CallStatement<X> {
2839 fn span(&self) -> Span {
2840 self.meta.span
2841 }
2842}
2843impl Spanned for DeallocateStatement {
2844 fn span(&self) -> Span {
2845 self.meta.span
2846 }
2847}
2848impl Spanned for DoStatement {
2849 fn span(&self) -> Span {
2850 self.meta.span
2851 }
2852}
2853impl Spanned for DoArg {
2854 fn span(&self) -> Span {
2855 match self {
2856 DoArg::Body { meta, .. } => meta.span,
2857 DoArg::Language { meta, .. } => meta.span,
2858 }
2859 }
2860}
2861impl Spanned for LanguageName {
2862 fn span(&self) -> Span {
2863 match self {
2864 LanguageName::Word { meta, .. } => meta.span,
2865 LanguageName::String { meta, .. } => meta.span,
2866 }
2867 }
2868}
2869impl<X: Extension> Spanned for DoExpressionsStatement<X> {
2870 fn span(&self) -> Span {
2871 self.meta.span
2872 }
2873}
2874impl Spanned for LockTablesStatement {
2875 fn span(&self) -> Span {
2876 self.meta.span
2877 }
2878}
2879impl Spanned for TableLock {
2880 fn span(&self) -> Span {
2881 self.meta.span
2882 }
2883}
2884impl Spanned for UnlockTablesStatement {
2885 fn span(&self) -> Span {
2886 self.meta.span
2887 }
2888}
2889impl Spanned for InstanceLockStatement {
2890 fn span(&self) -> Span {
2891 self.meta.span
2892 }
2893}
2894impl<X: Extension> Spanned for LoadDataStatement<X> {
2895 fn span(&self) -> Span {
2896 self.meta.span
2897 }
2898}
2899impl Spanned for LoadDataFields {
2900 fn span(&self) -> Span {
2901 self.meta.span
2902 }
2903}
2904impl Spanned for LoadDataEnclosed {
2905 fn span(&self) -> Span {
2906 self.meta.span
2907 }
2908}
2909impl Spanned for LoadDataLines {
2910 fn span(&self) -> Span {
2911 self.meta.span
2912 }
2913}
2914impl Spanned for LoadDataIgnoreRows {
2915 fn span(&self) -> Span {
2916 self.meta.span
2917 }
2918}
2919impl Spanned for LoadDataFieldOrVar {
2920 fn span(&self) -> Span {
2921 match self {
2922 LoadDataFieldOrVar::Column { meta, .. } => meta.span,
2923 LoadDataFieldOrVar::Variable { meta, .. } => meta.span,
2924 }
2925 }
2926}
2927impl<X: Extension> Spanned for ShowStatement<X> {
2928 fn span(&self) -> Span {
2929 self.meta.span
2930 }
2931}
2932impl<X: Extension> Spanned for ShowTarget<X> {
2933 fn span(&self) -> Span {
2934 match self {
2935 ShowTarget::Tables { meta, .. } => meta.span,
2936 ShowTarget::Columns { meta, .. } => meta.span,
2937 ShowTarget::Create { meta, .. } => meta.span,
2938 ShowTarget::Functions { meta, .. } => meta.span,
2939 ShowTarget::RoutineStatus { meta, .. } => meta.span,
2940 ShowTarget::Listing { meta, .. } => meta.span,
2941 ShowTarget::Bare { meta, .. } => meta.span,
2942 ShowTarget::Grants { meta, .. } => meta.span,
2943 ShowTarget::CreateUser { meta, .. } => meta.span,
2944 ShowTarget::Profile { meta, .. } => meta.span,
2945 ShowTarget::LogEvents { meta, .. } => meta.span,
2946 ShowTarget::Index { meta, .. } => meta.span,
2947 ShowTarget::Engine { meta, .. } => meta.span,
2948 ShowTarget::ReplicaStatus { meta, .. } => meta.span,
2949 ShowTarget::Diagnostics { meta, .. } => meta.span,
2950 ShowTarget::RoutineCode { meta, .. } => meta.span,
2951 }
2952 }
2953}
2954impl Spanned for ShowFunctionsFilter {
2955 fn span(&self) -> Span {
2956 match self {
2957 ShowFunctionsFilter::Name { meta, .. } => meta.span,
2958 ShowFunctionsFilter::Regex { meta, .. } => meta.span,
2959 }
2960 }
2961}
2962impl Spanned for ShowFrom {
2963 fn span(&self) -> Span {
2964 self.meta.span
2965 }
2966}
2967impl<X: Extension> Spanned for ShowFilter<X> {
2968 fn span(&self) -> Span {
2969 match self {
2970 ShowFilter::Like { meta, .. } => meta.span,
2971 ShowFilter::Where { meta, .. } => meta.span,
2972 }
2973 }
2974}
2975impl Spanned for ShowLimit {
2976 fn span(&self) -> Span {
2977 self.meta.span
2978 }
2979}
2980impl<X: Extension> Spanned for WindowSpec<X> {
2981 fn span(&self) -> Span {
2982 match self {
2983 WindowSpec::Named { meta, .. } => meta.span,
2984 WindowSpec::Inline { meta, .. } => meta.span,
2985 }
2986 }
2987}
2988impl<X: Extension> Spanned for WindowDefinition<X> {
2989 fn span(&self) -> Span {
2990 self.meta.span
2991 }
2992}
2993impl<X: Extension> Spanned for WindowFrame<X> {
2994 fn span(&self) -> Span {
2995 self.meta.span
2996 }
2997}
2998impl<X: Extension> Spanned for WindowFrameBound<X> {
2999 fn span(&self) -> Span {
3000 match self {
3001 WindowFrameBound::CurrentRow { meta, .. } => meta.span,
3002 WindowFrameBound::UnboundedPreceding { meta, .. } => meta.span,
3003 WindowFrameBound::UnboundedFollowing { meta, .. } => meta.span,
3004 WindowFrameBound::Preceding { meta, .. } => meta.span,
3005 WindowFrameBound::Following { meta, .. } => meta.span,
3006 }
3007 }
3008}
3009impl<X: Extension> Spanned for NamedWindow<X> {
3010 fn span(&self) -> Span {
3011 self.meta.span
3012 }
3013}