pub struct TableDefinition {
pub name: String,
pub mode: TableMode,
pub fields: Vec<FieldDefinition>,
pub indexes: Vec<IndexDefinition>,
pub events: Vec<EventDefinition>,
pub permissions: Option<BTreeMap<String, String>>,
pub drop: bool,
}Expand description
Immutable table schema.
Fields§
§name: StringTable name.
mode: TableModeSchema mode.
fields: Vec<FieldDefinition>Field definitions.
indexes: Vec<IndexDefinition>Index definitions.
events: Vec<EventDefinition>Event definitions.
permissions: Option<BTreeMap<String, String>>Per-action permissions map.
drop: boolWhether this table is marked for deletion.
Implementations§
Source§impl TableDefinition
impl TableDefinition
Sourcepub fn new(name: impl Into<String>) -> Self
pub fn new(name: impl Into<String>) -> Self
Construct a new TableDefinition in SCHEMAFULL mode.
Sourcepub fn with_fields<I>(self, fields: I) -> Selfwhere
I: IntoIterator<Item = FieldDefinition>,
pub fn with_fields<I>(self, fields: I) -> Selfwhere
I: IntoIterator<Item = FieldDefinition>,
Append field definitions.
Sourcepub fn with_indexes<I>(self, indexes: I) -> Selfwhere
I: IntoIterator<Item = IndexDefinition>,
pub fn with_indexes<I>(self, indexes: I) -> Selfwhere
I: IntoIterator<Item = IndexDefinition>,
Append index definitions.
Sourcepub fn with_events<I>(self, events: I) -> Selfwhere
I: IntoIterator<Item = EventDefinition>,
pub fn with_events<I>(self, events: I) -> Selfwhere
I: IntoIterator<Item = EventDefinition>,
Append event definitions.
Sourcepub fn with_permissions<I, K, V>(self, permissions: I) -> Self
pub fn with_permissions<I, K, V>(self, permissions: I) -> Self
Replace per-action permissions.
Sourcepub fn to_surql_with_options(&self, if_not_exists: bool) -> String
pub fn to_surql_with_options(&self, if_not_exists: bool) -> String
Render the DEFINE TABLE statement with optional IF NOT EXISTS.
Sourcepub fn to_surql_all(&self) -> Vec<String>
pub fn to_surql_all(&self) -> Vec<String>
Render every statement required to create this table.
Returns the DEFINE TABLE line followed by each contained field,
index, event, and permission statement.
Sourcepub fn to_surql_all_with_options(&self, if_not_exists: bool) -> Vec<String>
pub fn to_surql_all_with_options(&self, if_not_exists: bool) -> Vec<String>
Render every statement with optional IF NOT EXISTS.
Trait Implementations§
Source§impl Clone for TableDefinition
impl Clone for TableDefinition
Source§fn clone(&self) -> TableDefinition
fn clone(&self) -> TableDefinition
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 TableDefinition
impl Debug for TableDefinition
Source§impl<'de> Deserialize<'de> for TableDefinition
impl<'de> Deserialize<'de> for TableDefinition
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for TableDefinition
impl PartialEq for TableDefinition
Source§impl Serialize for TableDefinition
impl Serialize for TableDefinition
impl Eq for TableDefinition
impl StructuralPartialEq for TableDefinition
Auto Trait Implementations§
impl Freeze for TableDefinition
impl RefUnwindSafe for TableDefinition
impl Send for TableDefinition
impl Sync for TableDefinition
impl Unpin for TableDefinition
impl UnsafeUnpin for TableDefinition
impl UnwindSafe for TableDefinition
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request