pub struct DropIndexOnTable {
pub name: Ident,
pub table: ObjectName,
pub options: ThinVec<IndexLockAlgorithmOption>,
pub meta: Meta,
}Expand description
DROP INDEX <name> ON <table> [ALGORITHM [=] {DEFAULT | INPLACE | INSTANT | COPY}] [LOCK [=] {DEFAULT | NONE | SHARED | EXCLUSIVE}] — MySQL’s index drop (drop_index_stmt,
sql_yacc.yy). Kept apart from the generic name-list Statement::Drop because it names
the owning table with a mandatory ON <table> (server-measured: DROP INDEX i with no
ON is ER_PARSE_ERROR on mysql:8) and carries the online-DDL ALGORITHM/LOCK
execution hints, neither of which the shared grammar has. The index name is a bare
identifier (ident; a dotted i.j is a syntax error) while the table is a possibly-dotted
ObjectName (db.t binds). Gated by
IndexAlterSyntax::index_drop_on_table.
Fields§
§name: IdentThe dropped index — a bare unqualified identifier.
table: ObjectNameThe table the index belongs to (ON <table>); may be schema-qualified (db.t).
options: ThinVec<IndexLockAlgorithmOption>The trailing ALGORITHM/LOCK execution hints in source order (opt_index_lock_and_algorithm).
The grammar admits at most one of each and both orderings (ALGORITHM … LOCK … or
LOCK … ALGORITHM …, server-measured: a repeated ALGORITHM/LOCK is ER_PARSE_ERROR),
so this holds zero, one, or two entries and preserves the written order for round-trip.
meta: MetaSource location and node identity.
Trait Implementations§
Source§impl Clone for DropIndexOnTable
impl Clone for DropIndexOnTable
Source§fn clone(&self) -> DropIndexOnTable
fn clone(&self) -> DropIndexOnTable
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DropIndexOnTable
impl Debug for DropIndexOnTable
Source§impl<'de> Deserialize<'de> for DropIndexOnTable
impl<'de> Deserialize<'de> for DropIndexOnTable
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for DropIndexOnTable
Source§impl Hash for DropIndexOnTable
impl Hash for DropIndexOnTable
Source§impl PartialEq for DropIndexOnTable
impl PartialEq for DropIndexOnTable
Source§impl Render for DropIndexOnTable
impl Render for DropIndexOnTable
Source§fn render(&self, ctx: &RenderCtx<'_>, f: &mut Formatter<'_>) -> Result
fn render(&self, ctx: &RenderCtx<'_>, f: &mut Formatter<'_>) -> Result
Source§fn operand_binding_power(&self) -> Option<BindingPower>
fn operand_binding_power(&self) -> Option<BindingPower>
None (the default) for a self-delimiting node — an atom, call, or
constructor — that never needs parentheses. Read moreSource§impl Serialize for DropIndexOnTable
impl Serialize for DropIndexOnTable
Source§impl Spanned for DropIndexOnTable
impl Spanned for DropIndexOnTable
impl StructuralPartialEq for DropIndexOnTable
Auto Trait Implementations§
impl Freeze for DropIndexOnTable
impl RefUnwindSafe for DropIndexOnTable
impl Send for DropIndexOnTable
impl Sync for DropIndexOnTable
impl Unpin for DropIndexOnTable
impl UnsafeUnpin for DropIndexOnTable
impl UnwindSafe for DropIndexOnTable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> DynAstExt for T
impl<T> DynAstExt for T
Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&dyn Any for downcasting a node back to its concrete type.Source§fn dyn_clone(&self) -> Box<dyn DynAstExt>
fn dyn_clone(&self) -> Box<dyn DynAstExt>
Clone (whose
Self-returning signature cannot go through a vtable).Source§fn dyn_eq(&self, other: &dyn DynAstExt) -> bool
fn dyn_eq(&self, other: &dyn DynAstExt) -> bool
PartialEq (whose &Self argument cannot go through a vtable). Equal
iff other holds the same concrete type and that type deems the values
equal; differently-typed nodes are never equal.