pub enum Identity {
Unary(DynIden),
Binary(DynIden, DynIden),
Ternary(DynIden, DynIden, DynIden),
Many(Vec<DynIden>),
}Expand description
A one-or-many column identifier — the abstraction SeaORM uses to refer to either a single column or a composite (e.g. a composite primary key or foreign key).
Specialized variants exist for the common arities (1/2/3 columns) to
avoid heap allocation; longer composites fall back to Identity::Many.
Variants§
Unary(DynIden)
A single column.
Binary(DynIden, DynIden)
Two columns (composite).
Ternary(DynIden, DynIden, DynIden)
Three columns (composite).
Many(Vec<DynIden>)
Four or more columns (composite).
Implementations§
Source§impl Identity
impl Identity
Sourcepub fn iter(&self) -> BorrowedIdentityIter<'_> ⓘ
pub fn iter(&self) -> BorrowedIdentityIter<'_> ⓘ
Iterate over each column iden in order.
Sourcepub fn contains(&self, col: &DynIden) -> bool
pub fn contains(&self, col: &DynIden) -> bool
true if col is one of the columns making up this identifier.
Sourcepub fn fully_contains(&self, other: &Identity) -> bool
pub fn fully_contains(&self, other: &Identity) -> bool
true if every column of other also appears in self.
Trait Implementations§
impl Eq for Identity
Source§impl Iden for Identity
impl Iden for Identity
Source§impl IntoIdentity for Identity
impl IntoIdentity for Identity
Source§fn into_identity(self) -> Identity
fn into_identity(self) -> Identity
Build the
Identity.Source§impl IntoIterator for Identity
impl IntoIterator for Identity
impl StructuralPartialEq for Identity
Auto Trait Implementations§
impl Freeze for Identity
impl RefUnwindSafe for Identity
impl Send for Identity
impl Sync for Identity
impl Unpin for Identity
impl UnsafeUnpin for Identity
impl UnwindSafe for Identity
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> IntoColumnRef for T
impl<T> IntoColumnRef for T
fn into_column_ref(self) -> ColumnRef
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 more