in src/ast/spans.rs [1057:1178]
fn span(&self) -> Span {
match self {
AlterTableOperation::AddConstraint(table_constraint) => table_constraint.span(),
AlterTableOperation::AddColumn {
column_keyword: _,
if_not_exists: _,
column_def,
column_position: _,
} => column_def.span(),
AlterTableOperation::AddProjection {
if_not_exists: _,
name,
select,
} => name.span.union(&select.span()),
AlterTableOperation::DropProjection { if_exists: _, name } => name.span,
AlterTableOperation::MaterializeProjection {
if_exists: _,
name,
partition,
} => name.span.union_opt(&partition.as_ref().map(|i| i.span)),
AlterTableOperation::ClearProjection {
if_exists: _,
name,
partition,
} => name.span.union_opt(&partition.as_ref().map(|i| i.span)),
AlterTableOperation::DisableRowLevelSecurity => Span::empty(),
AlterTableOperation::DisableRule { name } => name.span,
AlterTableOperation::DisableTrigger { name } => name.span,
AlterTableOperation::DropConstraint {
if_exists: _,
name,
drop_behavior: _,
} => name.span,
AlterTableOperation::DropColumn {
column_name,
if_exists: _,
drop_behavior: _,
} => column_name.span,
AlterTableOperation::AttachPartition { partition } => partition.span(),
AlterTableOperation::DetachPartition { partition } => partition.span(),
AlterTableOperation::FreezePartition {
partition,
with_name,
} => partition
.span()
.union_opt(&with_name.as_ref().map(|n| n.span)),
AlterTableOperation::UnfreezePartition {
partition,
with_name,
} => partition
.span()
.union_opt(&with_name.as_ref().map(|n| n.span)),
AlterTableOperation::DropPrimaryKey => Span::empty(),
AlterTableOperation::DropForeignKey { name } => name.span,
AlterTableOperation::EnableAlwaysRule { name } => name.span,
AlterTableOperation::EnableAlwaysTrigger { name } => name.span,
AlterTableOperation::EnableReplicaRule { name } => name.span,
AlterTableOperation::EnableReplicaTrigger { name } => name.span,
AlterTableOperation::EnableRowLevelSecurity => Span::empty(),
AlterTableOperation::EnableRule { name } => name.span,
AlterTableOperation::EnableTrigger { name } => name.span,
AlterTableOperation::RenamePartitions {
old_partitions,
new_partitions,
} => union_spans(
old_partitions
.iter()
.map(|i| i.span())
.chain(new_partitions.iter().map(|i| i.span())),
),
AlterTableOperation::AddPartitions {
if_not_exists: _,
new_partitions,
} => union_spans(new_partitions.iter().map(|i| i.span())),
AlterTableOperation::DropPartitions {
partitions,
if_exists: _,
} => union_spans(partitions.iter().map(|i| i.span())),
AlterTableOperation::RenameColumn {
old_column_name,
new_column_name,
} => old_column_name.span.union(&new_column_name.span),
AlterTableOperation::RenameTable { table_name } => table_name.span(),
AlterTableOperation::ChangeColumn {
old_name,
new_name,
data_type: _,
options,
column_position: _,
} => union_spans(
core::iter::once(old_name.span)
.chain(core::iter::once(new_name.span))
.chain(options.iter().map(|i| i.span())),
),
AlterTableOperation::ModifyColumn {
col_name,
data_type: _,
options,
column_position: _,
} => {
union_spans(core::iter::once(col_name.span).chain(options.iter().map(|i| i.span())))
}
AlterTableOperation::RenameConstraint { old_name, new_name } => {
old_name.span.union(&new_name.span)
}
AlterTableOperation::AlterColumn { column_name, op } => {
column_name.span.union(&op.span())
}
AlterTableOperation::SwapWith { table_name } => table_name.span(),
AlterTableOperation::SetTblProperties { table_properties } => {
union_spans(table_properties.iter().map(|i| i.span()))
}
AlterTableOperation::OwnerTo { .. } => Span::empty(),
AlterTableOperation::ClusterBy { exprs } => union_spans(exprs.iter().map(|e| e.span())),
AlterTableOperation::DropClusteringKey => Span::empty(),
AlterTableOperation::SuspendRecluster => Span::empty(),
AlterTableOperation::ResumeRecluster => Span::empty(),
AlterTableOperation::Algorithm { .. } => Span::empty(),
AlterTableOperation::AutoIncrement { value, .. } => value.span(),
AlterTableOperation::Lock { .. } => Span::empty(),
}
}