#[non_exhaustive]pub enum TableConstraint {
AssumedPrimaryKey {
columns: Vec<String>,
},
AssumedUnique {
columns: Vec<String>,
},
}Expand description
A table-level constraint.
Hyper accepts only the assumed constraint forms on CREATE TABLE. Real
PRIMARY KEY, UNIQUE, and FOREIGN KEY clauses are rejected with
Index support is disabled, and CHECK with check constraints not implemented yet, so they can never appear on a Hyper table in the first
place. Assumed constraints are declarations the optimizer trusts but the
engine does not enforce — inserting a duplicate key succeeds.
Hyper also rejects CONSTRAINT <name> … (named constraints not implemented yet), so constraints carry no user-chosen name; the engine
derives one from the table and column names.
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.
AssumedPrimaryKey
ASSUMED PRIMARY KEY (cols…). Every listed column must be NOT NULL.
AssumedUnique
ASSUMED UNIQUE (cols…).
Implementations§
Trait Implementations§
Source§impl Clone for TableConstraint
impl Clone for TableConstraint
Source§fn clone(&self) -> TableConstraint
fn clone(&self) -> TableConstraint
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 TableConstraint
impl Debug for TableConstraint
impl Eq for TableConstraint
Source§impl PartialEq for TableConstraint
impl PartialEq for TableConstraint
impl StructuralPartialEq for TableConstraint
Auto Trait Implementations§
impl Freeze for TableConstraint
impl RefUnwindSafe for TableConstraint
impl Send for TableConstraint
impl Sync for TableConstraint
impl Unpin for TableConstraint
impl UnsafeUnpin for TableConstraint
impl UnwindSafe for TableConstraint
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§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> 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