pub struct DropStatement {
pub object_kind: DropObjectKind,
pub if_exists: bool,
pub names: ThinVec<ObjectName>,
pub behavior: Option<DropBehavior>,
pub meta: Meta,
}Expand description
DROP {TABLE | VIEW | INDEX | SCHEMA} [IF EXISTS] <name> [, ...] [CASCADE | RESTRICT].
Non-generic: a drop names objects and a behaviour only — it carries no
expressions or extension nodes — so it parallels the other leaf statement
payloads (super::TransactionStatement, super::SessionStatement). The IF EXISTS prefix and the CASCADE/RESTRICT drop behaviour are each gated by
schema_change_syntax dialect data. Materialized-view and concurrent-index drop
surfaces are not modelled here.
Fields§
§object_kind: DropObjectKindWhich object kind is dropped (TABLE/VIEW/…); see DropObjectKind.
if_exists: boolWhether the if exists form was present in the source.
names: ThinVec<ObjectName>Names in source order.
behavior: Option<DropBehavior>Optional behavior for this syntax.
meta: MetaSource location and node identity.
Trait Implementations§
Source§impl Clone for DropStatement
impl Clone for DropStatement
Source§fn clone(&self) -> DropStatement
fn clone(&self) -> DropStatement
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DropStatement
impl Debug for DropStatement
Source§impl<'de> Deserialize<'de> for DropStatement
impl<'de> Deserialize<'de> for DropStatement
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for DropStatement
Source§impl Hash for DropStatement
impl Hash for DropStatement
Source§impl PartialEq for DropStatement
impl PartialEq for DropStatement
Source§impl Render for DropStatement
impl Render for DropStatement
Source§fn render(&self, ctx: &RenderCtx<'_>, f: &mut Formatter<'_>) -> Result
fn render(&self, ctx: &RenderCtx<'_>, f: &mut Formatter<'_>) -> Result
Return the render for this value.
Source§fn operand_binding_power(&self) -> Option<BindingPower>
fn operand_binding_power(&self) -> Option<BindingPower>
The binding power this node contributes when it appears as an operand, or
None (the default) for a self-delimiting node — an atom, call, or
constructor — that never needs parentheses. Read moreSource§impl Serialize for DropStatement
impl Serialize for DropStatement
impl StructuralPartialEq for DropStatement
Auto Trait Implementations§
impl Freeze for DropStatement
impl RefUnwindSafe for DropStatement
impl Send for DropStatement
impl Sync for DropStatement
impl Unpin for DropStatement
impl UnsafeUnpin for DropStatement
impl UnwindSafe for DropStatement
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
Mutably borrows from an owned value. Read more
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)
Erase to
&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 into a fresh box — the object-safe stand-in for
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
Structural equality against another erased node — the object-safe stand-in
for
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.