#[non_exhaustive]pub enum RawModuleDefV10Section {
Typespace(Typespace),
Types(Vec<RawTypeDefV10>),
Tables(Vec<RawTableDefV10>),
Reducers(Vec<RawReducerDefV10>),
Procedures(Vec<RawProcedureDefV10>),
Views(Vec<RawViewDefV10>),
Schedules(Vec<RawScheduleDefV10>),
LifeCycleReducers(Vec<RawLifeCycleReducerDefV10>),
RowLevelSecurity(Vec<RawRowLevelSecurityDefV10>),
}Expand description
A section of a V10 module definition.
New variants MUST be added to the END of this enum, to maintain ABI compatibility.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Typespace(Typespace)
The Typespace used by the module.
AlgebraicTypeRefs in other sections refer to this typespace.
See crate::db::raw_def::v9::RawModuleDefV9::typespace for validation requirements.
Types(Vec<RawTypeDefV10>)
Type definitions exported by the module.
Tables(Vec<RawTableDefV10>)
Table definitions.
Reducers(Vec<RawReducerDefV10>)
Reducer definitions.
Procedures(Vec<RawProcedureDefV10>)
Procedure definitions.
Views(Vec<RawViewDefV10>)
View definitions.
Schedules(Vec<RawScheduleDefV10>)
Schedule definitions.
Unlike V9 where schedules were embedded in table definitions, V10 stores them in a dedicated section.
LifeCycleReducers(Vec<RawLifeCycleReducerDefV10>)
Lifecycle reducer assignments.
Unlike V9 where lifecycle was a field on reducers, V10 stores lifecycle-to-reducer mappings separately.
RowLevelSecurity(Vec<RawRowLevelSecurityDefV10>)
Trait Implementations§
Source§impl Clone for RawModuleDefV10Section
impl Clone for RawModuleDefV10Section
Source§fn clone(&self) -> RawModuleDefV10Section
fn clone(&self) -> RawModuleDefV10Section
Returns a duplicate of the value. Read more
1.0.0 · 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 RawModuleDefV10Section
impl Debug for RawModuleDefV10Section
Source§impl<'de> Deserialize<'de> for RawModuleDefV10Section
impl<'de> Deserialize<'de> for RawModuleDefV10Section
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given
deserializer.Source§impl Serialize for RawModuleDefV10Section
impl Serialize for RawModuleDefV10Section
Source§impl SpacetimeType for RawModuleDefV10Section
impl SpacetimeType for RawModuleDefV10Section
Source§fn make_type<S: TypespaceBuilder>(__typespace: &mut S) -> AlgebraicType
fn make_type<S: TypespaceBuilder>(__typespace: &mut S) -> AlgebraicType
Returns an
AlgebraicType representing the type for Self in SATS
and in the typing context in typespace. This is used by the
automatic type registration system in Rust modules. Read moreAuto Trait Implementations§
impl Freeze for RawModuleDefV10Section
impl RefUnwindSafe for RawModuleDefV10Section
impl Send for RawModuleDefV10Section
impl Sync for RawModuleDefV10Section
impl Unpin for RawModuleDefV10Section
impl UnwindSafe for RawModuleDefV10Section
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,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Satn for T
impl<T> Satn for T
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the SATN data format into the formatter
f.Source§fn fmt_psql(
&self,
f: &mut Formatter<'_>,
ty: &PsqlType<'_>,
) -> Result<(), Error>
fn fmt_psql( &self, f: &mut Formatter<'_>, ty: &PsqlType<'_>, ) -> Result<(), Error>
Formats the value using the postgres SATN(PsqlFormatter { f }, /* PsqlType */) formatter
f.Source§fn to_satn(&self) -> String
fn to_satn(&self) -> String
Formats the value using the SATN data format into the returned
String.Source§fn to_satn_pretty(&self) -> String
fn to_satn_pretty(&self) -> String
Pretty prints the value using the SATN data format into the returned
String.