pub enum CreateDefinition<'a> {
ColumnDefinition {
identifier: Identifier<'a>,
data_type: DataType<'a>,
},
IndexDefinition {
constraint_span: Option<Span>,
constraint_symbol: Option<Identifier<'a>>,
index_type: IndexType,
index_name: Option<Identifier<'a>>,
cols: Vec<IndexCol<'a>>,
index_options: Vec<IndexOption<'a>>,
},
ForeignKeyDefinition {
constraint_span: Option<Span>,
constraint_symbol: Option<Identifier<'a>>,
foreign_key_span: Span,
index_name: Option<Identifier<'a>>,
cols: Vec<IndexCol<'a>>,
references_span: Span,
references_table: Identifier<'a>,
references_cols: Vec<Identifier<'a>>,
match_type: Option<ForeignKeyMatch>,
ons: Vec<ForeignKeyOn>,
},
CheckConstraintDefinition {
constraint_span: Option<Span>,
constraint_symbol: Option<Identifier<'a>>,
check_span: Span,
expression: Expression<'a>,
enforced: Option<(bool, Span)>,
},
}Expand description
Definition in create table
Variants§
ColumnDefinition
Fields
§
identifier: Identifier<'a>Name of column
IndexDefinition
Index definition (PRIMARY KEY, UNIQUE, INDEX, KEY, FULLTEXT, SPATIAL)
Fields
§
constraint_symbol: Option<Identifier<'a>>Optional constraint symbol
§
index_name: Option<Identifier<'a>>Optional index name
§
index_options: Vec<IndexOption<'a>>Index options
ForeignKeyDefinition
Foreign key definition
Fields
§
constraint_symbol: Option<Identifier<'a>>Optional constraint symbol
§
index_name: Option<Identifier<'a>>Optional index name
§
references_table: Identifier<'a>Referenced table name
§
references_cols: Vec<Identifier<'a>>Referenced columns
§
match_type: Option<ForeignKeyMatch>Optional MATCH FULL / MATCH SIMPLE / MATCH PARTIAL
§
ons: Vec<ForeignKeyOn>ON UPDATE/DELETE actions
CheckConstraintDefinition
Check constraint definition
Trait Implementations§
Source§impl<'a> Clone for CreateDefinition<'a>
impl<'a> Clone for CreateDefinition<'a>
Source§fn clone(&self) -> CreateDefinition<'a>
fn clone(&self) -> CreateDefinition<'a>
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<'a> Debug for CreateDefinition<'a>
impl<'a> Debug for CreateDefinition<'a>
Auto Trait Implementations§
impl<'a> Freeze for CreateDefinition<'a>
impl<'a> RefUnwindSafe for CreateDefinition<'a>
impl<'a> Send for CreateDefinition<'a>
impl<'a> Sync for CreateDefinition<'a>
impl<'a> Unpin for CreateDefinition<'a>
impl<'a> UnsafeUnpin for CreateDefinition<'a>
impl<'a> UnwindSafe for CreateDefinition<'a>
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