pub struct UserRoleList {
pub kind: UserRoleListKind,
pub if_guard: bool,
pub names: ThinVec<AccountName>,
pub meta: Meta,
}Expand description
A MySQL account/role-name-list DDL statement whose whole grammar is <verb> [<if-guard>] <name> [, …]: DROP USER, CREATE ROLE, or DROP ROLE.
The three share one spine — a verb, an existence guard, and a comma list of
AccountNames — so they ride one node with the verb carried as data (kind),
the same “sub-command identity as data” precedent the SHOW / table-maintenance families use.
The richer CREATE USER / ALTER USER statements keep their own nodes.
Fields§
§kind: UserRoleListKindWhich verb this is; also fixes the if_guard spelling
(IF EXISTS for the drops, IF NOT EXISTS for CREATE ROLE).
if_guard: boolWhether the existence guard was written (IF EXISTS / IF NOT EXISTS per kind).
names: ThinVec<AccountName>The account/role names, in source order (always non-empty).
meta: MetaSource location and node identity.
Trait Implementations§
Source§impl Clone for UserRoleList
impl Clone for UserRoleList
Source§fn clone(&self) -> UserRoleList
fn clone(&self) -> UserRoleList
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 UserRoleList
impl Debug for UserRoleList
Source§impl<'de> Deserialize<'de> for UserRoleList
impl<'de> Deserialize<'de> for UserRoleList
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 UserRoleList
Source§impl Hash for UserRoleList
impl Hash for UserRoleList
Source§impl PartialEq for UserRoleList
impl PartialEq for UserRoleList
Source§impl Render for UserRoleList
impl Render for UserRoleList
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 UserRoleList
impl Serialize for UserRoleList
impl StructuralPartialEq for UserRoleList
Auto Trait Implementations§
impl Freeze for UserRoleList
impl RefUnwindSafe for UserRoleList
impl Send for UserRoleList
impl Sync for UserRoleList
impl Unpin for UserRoleList
impl UnsafeUnpin for UserRoleList
impl UnwindSafe for UserRoleList
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.