pub struct DropSecretStmt {
pub persistence: SecretPersistence,
pub if_exists: bool,
pub name: Ident,
pub storage: Option<Ident>,
pub meta: Meta,
}Expand description
A DuckDB DROP [PERSISTENT | TEMPORARY] SECRET [IF EXISTS] <name> [FROM <storage>]
secrets-management statement (DuckDB-specific; gated by
StatementDdlGates::create_secret —
the same whole-statement gate that admits CreateSecret, because DROP SECRET is the
same secrets behaviour surface and rides the one flag rather than a second gate).
The drop counterpart of CreateSecret. In DuckDB’s grammar drop_secret.y is the
only DROP with its own top-level stmt production (not a DropStatement object
kind), because it carries the opt_persist persistence modifier and a FROM <storage>
backend selector — neither of which the shared name-list DROP grammar has.
persistence records which of the three opt_persist spellings
preceded SECRET (absent → SecretPersistence::Default);
storage is the optional FROM <backend> secret-storage name. The
dropped secret is a single identifier (grammar ColId), never a qualified object name.
Non-generic: a secret drop names a secret, an optional storage backend, and two flags —
it carries no expressions or extension nodes — so it parallels the leaf
DropStatement/DropTransform payloads.
Fields§
§persistence: SecretPersistenceWhich opt_persist spelling preceded SECRET; see SecretPersistence.
if_exists: boolWhether the IF EXISTS existence guard was present in the source.
name: IdentName referenced by this syntax.
storage: Option<Ident>Optional FROM <storage> secret-storage backend selector.
meta: MetaSource location and node identity.
Trait Implementations§
Source§impl Clone for DropSecretStmt
impl Clone for DropSecretStmt
Source§fn clone(&self) -> DropSecretStmt
fn clone(&self) -> DropSecretStmt
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 DropSecretStmt
impl Debug for DropSecretStmt
Source§impl<'de> Deserialize<'de> for DropSecretStmt
impl<'de> Deserialize<'de> for DropSecretStmt
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 DropSecretStmt
Source§impl Hash for DropSecretStmt
impl Hash for DropSecretStmt
Source§impl PartialEq for DropSecretStmt
impl PartialEq for DropSecretStmt
Source§impl Render for DropSecretStmt
impl Render for DropSecretStmt
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 DropSecretStmt
impl Serialize for DropSecretStmt
impl StructuralPartialEq for DropSecretStmt
Auto Trait Implementations§
impl Freeze for DropSecretStmt
impl RefUnwindSafe for DropSecretStmt
impl Send for DropSecretStmt
impl Sync for DropSecretStmt
impl Unpin for DropSecretStmt
impl UnsafeUnpin for DropSecretStmt
impl UnwindSafe for DropSecretStmt
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.