pub struct CacheIndexStatement {
pub targets: CacheIndexTargets,
pub cache: KeyCacheName,
pub meta: Meta,
}Expand description
A MySQL CACHE INDEX statement — assign a table’s indexes to a named key cache (gated by
UtilitySyntax::key_cache_statements).
The MyISAM-era key-cache management pair, with LoadIndexStatement. Two grammar arms
share the <table> [<key-list>] per-table shape but are mutually exclusive on the
partition axis (sql_yacc.yy keycache_stmt), so they ride the CacheIndexTargets
enum rather than an optional-partition field that could pair a partition with a table
list: CACHE INDEX <t> [<keys>][, <t> [<keys>] ...] IN <cache> (the multi-table
Tables arm, no partition) and CACHE INDEX <t> PARTITION (...) [<keys>] IN <cache> (the single-table Partition
arm). Measured on mysql:8.4.10: a table list with a PARTITION clause, and a PARTITION
written after the key list, both ER_PARSE_ERROR. Carries no Expr, so it is not
generic over X.
Fields§
§targets: CacheIndexTargetsThe table(s) whose indexes are assigned, and — in the partitioned arm — the selected
partitions; see CacheIndexTargets.
cache: KeyCacheNameThe destination key cache named by the trailing IN <cache>; see KeyCacheName.
meta: MetaSource location and node identity.
Trait Implementations§
Source§impl Clone for CacheIndexStatement
impl Clone for CacheIndexStatement
Source§fn clone(&self) -> CacheIndexStatement
fn clone(&self) -> CacheIndexStatement
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 CacheIndexStatement
impl Debug for CacheIndexStatement
Source§impl<'de> Deserialize<'de> for CacheIndexStatement
impl<'de> Deserialize<'de> for CacheIndexStatement
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 CacheIndexStatement
Source§impl Hash for CacheIndexStatement
impl Hash for CacheIndexStatement
Source§impl PartialEq for CacheIndexStatement
impl PartialEq for CacheIndexStatement
Source§impl Render for CacheIndexStatement
impl Render for CacheIndexStatement
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 CacheIndexStatement
impl Serialize for CacheIndexStatement
Source§impl Spanned for CacheIndexStatement
impl Spanned for CacheIndexStatement
impl StructuralPartialEq for CacheIndexStatement
Auto Trait Implementations§
impl Freeze for CacheIndexStatement
impl RefUnwindSafe for CacheIndexStatement
impl Send for CacheIndexStatement
impl Sync for CacheIndexStatement
impl Unpin for CacheIndexStatement
impl UnsafeUnpin for CacheIndexStatement
impl UnwindSafe for CacheIndexStatement
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.