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