Skip to main content

ForeignKeyConstraint

Struct ForeignKeyConstraint 

Source
pub struct ForeignKeyConstraint {
    pub name: Option<String>,
    pub local_columns: Vec<usize>,
    pub parent_table: String,
    pub parent_columns: Vec<usize>,
    pub on_delete: FkAction,
    pub on_update: FkAction,
    pub match_type: MatchType,
    pub deferrable: bool,
    pub initially_deferred: bool,
}
Expand description

v7.6.1 — Storage-layer mirror of spg_sql::ast::ForeignKeyConstraint. The engine’s CREATE TABLE path translates between the two; keeping them separate preserves the no-deps boundary between spg-storage and spg-sql.

Fields§

§name: Option<String>

Optional user-supplied constraint name (CONSTRAINT <name> prefix). Used by ALTER TABLE DROP CONSTRAINT <name> in v7.6.8; ignored by enforcement.

§local_columns: Vec<usize>

Positions of local columns in this table’s column list. Same arity as parent_columns.

§parent_table: String

Referenced parent table name.

§parent_columns: Vec<usize>

Positions of parent columns in the parent’s column list. Engine resolves these at CREATE TABLE time (after the parent schema is known) so enforcement paths can skip the name lookup on every row.

§on_delete: FkAction

Referential action when a parent row is deleted.

§on_update: FkAction

Referential action when a parent row’s referenced columns are updated.

§match_type: MatchType

v7.38 (read01, T29) — MATCH SIMPLE | FULL. Defaults to Simple.

§deferrable: bool

v7.39 (round 288) — [NOT] DEFERRABLE.

§initially_deferred: bool

INITIALLY DEFERRED: the check runs at COMMIT rather than at the statement, unless SET CONSTRAINTS … IMMEDIATE pulls it in.

Trait Implementations§

Source§

impl Clone for ForeignKeyConstraint

Source§

fn clone(&self) -> ForeignKeyConstraint

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ForeignKeyConstraint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for ForeignKeyConstraint

Source§

impl PartialEq for ForeignKeyConstraint

Source§

fn eq(&self, other: &ForeignKeyConstraint) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ForeignKeyConstraint

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.