pub enum FlushTarget {
Tables {
table_keyword: TableKeyword,
tables: ThinVec<ObjectName>,
lock: Option<FlushTablesLock>,
meta: Meta,
},
Options {
options: ThinVec<FlushOption>,
meta: Meta,
},
}Expand description
What a FlushStatement flushes — MySQL’s mutually-exclusive flush_options split.
The {TABLE | TABLES} form (Tables) and the comma-separated keyword
list (Options) are distinct grammar alternatives, not two shapes of one
list: TABLES cannot appear inside the option list and the list members cannot follow
TABLES (both ER_PARSE_ERROR on mysql:8.4.10), so they ride the axis as two variants
rather than one option-soup list.
Variants§
Tables
{TABLE | TABLES} [<tbl>[, ...]] [WITH READ LOCK | FOR EXPORT].
The table list may be empty (FLUSH TABLES, FLUSH TABLES WITH READ LOCK). FOR EXPORT requires a non-empty list — FLUSH TABLES FOR EXPORT is ER_PARSE_ERROR
(ER_NO_TABLES_USED) on mysql:8.4.10 — while WITH READ LOCK admits the empty list;
the parser enforces that boundary and never produces ForExport
with an empty tables. The TABLE/TABLES spelling reuses
the shared TableKeyword synonym tag.
Fields
table_keyword: TableKeywordWhether the keyword was written TABLE or its TABLES synonym.
tables: ThinVec<ObjectName>The comma-separated target table list (each schema-qualifiable); empty when no list was written.
lock: Option<FlushTablesLock>The optional trailing WITH READ LOCK | FOR EXPORT lock clause.
Options
A comma-separated list of keyword flush targets (FLUSH LOGS, FLUSH PRIVILEGES, STATUS); see FlushOption. Always non-empty — the grammar’s flush_options_list
carries at least one member.
Fields
options: ThinVec<FlushOption>The keyword targets in source order.
Trait Implementations§
Source§impl Clone for FlushTarget
impl Clone for FlushTarget
Source§fn clone(&self) -> FlushTarget
fn clone(&self) -> FlushTarget
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 FlushTarget
impl Debug for FlushTarget
Source§impl<'de> Deserialize<'de> for FlushTarget
impl<'de> Deserialize<'de> for FlushTarget
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 FlushTarget
Source§impl Hash for FlushTarget
impl Hash for FlushTarget
Source§impl PartialEq for FlushTarget
impl PartialEq for FlushTarget
Source§impl Render for FlushTarget
impl Render for FlushTarget
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 FlushTarget
impl Serialize for FlushTarget
impl StructuralPartialEq for FlushTarget
Auto Trait Implementations§
impl Freeze for FlushTarget
impl RefUnwindSafe for FlushTarget
impl Send for FlushTarget
impl Sync for FlushTarget
impl Unpin for FlushTarget
impl UnsafeUnpin for FlushTarget
impl UnwindSafe for FlushTarget
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.