pub struct TableConstraintSet {
pub dropped_attributes: Vec<DroppedAttribute>,
pub columns_declared: Option<bool>,
pub checks: Vec<TableCheck>,
pub foreign_keys: Vec<ForeignKey>,
pub key_constraints: Vec<TableKeyConstraint>,
pub persistence: RelationPersistence,
pub on_commit: OnCommitAction,
pub hierarchy: TableHierarchy,
pub catalog_oids: Option<RelationCatalogOids>,
pub row_type_array_name: Option<String>,
}Expand description
Durable table-level constraints that do not fit in ColumnDef.
serde(default) on the catalog field containing this structure keeps
databases written before constraint persistence backward compatible.
Fields§
§dropped_attributes: Vec<DroppedAttribute>Physical attribute metadata retained after a column is removed from the live schema.
columns_declared: Option<bool>Distinguish a declared zero-column SQL relation from a schema-free document table. Missing legacy metadata retains inference from existing columns.
checks: Vec<TableCheck>§foreign_keys: Vec<ForeignKey>§key_constraints: Vec<TableKeyConstraint>§persistence: RelationPersistenceStored alongside the table definition so reopen preserves pg_class.relpersistence for unlogged tables.
on_commit: OnCommitActionPermanent and unlogged tables always use the default. Temporary tables are session-local and therefore never write this field to disk.
hierarchy: TableHierarchyDurable relation hierarchy and partition-bound metadata.
catalog_oids: Option<RelationCatalogOids>The relation’s public OIDs, allocated when it was created. Tables created before OIDs were recorded derive them from their identity.
row_type_array_name: Option<String>The generated row-array type name, which can move independently when an explicit type takes its name.
Trait Implementations§
Source§impl Clone for TableConstraintSet
impl Clone for TableConstraintSet
Source§impl Debug for TableConstraintSet
impl Debug for TableConstraintSet
Source§impl Default for TableConstraintSet
impl Default for TableConstraintSet
Source§impl<'de> Deserialize<'de> for TableConstraintSet
impl<'de> Deserialize<'de> for TableConstraintSet
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>,
Auto Trait Implementations§
impl Freeze for TableConstraintSet
impl RefUnwindSafe for TableConstraintSet
impl Send for TableConstraintSet
impl Sync for TableConstraintSet
impl Unpin for TableConstraintSet
impl UnsafeUnpin for TableConstraintSet
impl UnwindSafe for TableConstraintSet
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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> ⓘ
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