pub struct CreateSpatialReferenceSystem {
pub or_replace: bool,
pub if_not_exists: bool,
pub srid: Literal,
pub attributes: ThinVec<SrsAttribute>,
pub meta: Meta,
}Expand description
A MySQL CREATE [OR REPLACE] SPATIAL REFERENCE SYSTEM [IF NOT EXISTS] <srid> <attributes>
spatial-reference-system definition (sql_yacc.yy create_srs_stmt), gated by
StatementDdlGates::spatial_reference_system.
OR REPLACE and IF NOT EXISTS are mutually exclusive: the grammar has one branch for each
(CREATE OR REPLACE … and CREATE … IF NOT EXISTS …), so CREATE OR REPLACE … IF NOT EXISTS
is ER_PARSE_ERROR on mysql:8.4.10. The <srid> is a real_ulonglong_num unsigned integer
(decimal or 0x hex; a negative or fractional value is ER_PARSE_ERROR, an out-of-u64-range
value is the post-parse ER_DATA_OUT_OF_RANGE). Every attribute is optional and the list is
order-free at the grammar level — a missing NAME/DEFINITION is the post-parse semantic reject
ER_SRS_MISSING_MANDATORY_ATTRIBUTE, and a repeated attribute is
ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS, neither a syntax error — so attributes
keeps the source order and admits repeats, matching the recognized grammar rather than the
narrower semantic rule.
Fields§
§or_replace: boolWhether the OR REPLACE branch was written (mutually exclusive with
if_not_exists).
if_not_exists: boolWhether the IF NOT EXISTS guard was written (mutually exclusive with
or_replace).
srid: LiteralThe SRID — a real_ulonglong_num unsigned-integer literal (decimal or 0x hex).
attributes: ThinVec<SrsAttribute>The attribute list, in source order (order-free grammar; repeats admitted).
meta: MetaSource location and node identity.
Trait Implementations§
Source§impl Clone for CreateSpatialReferenceSystem
impl Clone for CreateSpatialReferenceSystem
Source§fn clone(&self) -> CreateSpatialReferenceSystem
fn clone(&self) -> CreateSpatialReferenceSystem
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 CreateSpatialReferenceSystem
impl Debug for CreateSpatialReferenceSystem
Source§impl<'de> Deserialize<'de> for CreateSpatialReferenceSystem
impl<'de> Deserialize<'de> for CreateSpatialReferenceSystem
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 CreateSpatialReferenceSystem
Source§impl Hash for CreateSpatialReferenceSystem
impl Hash for CreateSpatialReferenceSystem
Source§impl Render for CreateSpatialReferenceSystem
impl Render for CreateSpatialReferenceSystem
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 moreimpl StructuralPartialEq for CreateSpatialReferenceSystem
Auto Trait Implementations§
impl Freeze for CreateSpatialReferenceSystem
impl RefUnwindSafe for CreateSpatialReferenceSystem
impl Send for CreateSpatialReferenceSystem
impl Sync for CreateSpatialReferenceSystem
impl Unpin for CreateSpatialReferenceSystem
impl UnsafeUnpin for CreateSpatialReferenceSystem
impl UnwindSafe for CreateSpatialReferenceSystem
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.