pub struct CacheIndexKeyList {
pub keyword: CacheIndexKeyword,
pub keys: ThinVec<Ident>,
pub meta: Meta,
}Expand description
The optional {INDEX | KEY} (<key>[, ...]) list shared by the key-cache statements
(MySQL’s opt_cache_key_list in its non-empty form).
INDEX and KEY are exact synonyms — the written spelling rides
keyword for round-trip. The parenthesized list may be empty
(INDEX ()); the parentheses are always written, so an empty keys is
distinct from the clause’s absence (the enclosing Option<CacheIndexKeyList> being
None). Each key is an index name, or the PRIMARY keyword naming the primary key —
admitted here unquoted (key_usage_element: ident | PRIMARY_SYM) and preserved as an
unquoted Ident (a backtick-quoted `PRIMARY` round-trips as a quoted name).
Fields§
§keyword: CacheIndexKeywordWhether the list was introduced with INDEX or its KEY synonym.
keys: ThinVec<Ident>The index names in source order; possibly empty (the INDEX () form).
meta: MetaSource location and node identity.
Trait Implementations§
Source§impl Clone for CacheIndexKeyList
impl Clone for CacheIndexKeyList
Source§fn clone(&self) -> CacheIndexKeyList
fn clone(&self) -> CacheIndexKeyList
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 CacheIndexKeyList
impl Debug for CacheIndexKeyList
Source§impl<'de> Deserialize<'de> for CacheIndexKeyList
impl<'de> Deserialize<'de> for CacheIndexKeyList
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 CacheIndexKeyList
Source§impl Hash for CacheIndexKeyList
impl Hash for CacheIndexKeyList
Source§impl PartialEq for CacheIndexKeyList
impl PartialEq for CacheIndexKeyList
Source§impl Render for CacheIndexKeyList
impl Render for CacheIndexKeyList
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 CacheIndexKeyList
impl Serialize for CacheIndexKeyList
Source§impl Spanned for CacheIndexKeyList
impl Spanned for CacheIndexKeyList
impl StructuralPartialEq for CacheIndexKeyList
Auto Trait Implementations§
impl Freeze for CacheIndexKeyList
impl RefUnwindSafe for CacheIndexKeyList
impl Send for CacheIndexKeyList
impl Sync for CacheIndexKeyList
impl Unpin for CacheIndexKeyList
impl UnsafeUnpin for CacheIndexKeyList
impl UnwindSafe for CacheIndexKeyList
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.