pub struct CreateTable {
pub name: String,
pub qualifier: String,
pub columns: Vec<ColumnDef>,
pub if_not_exists: 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,
}Fields§
§name: String§qualifier: StringLocal SQL relation identifier used while binding expressions declared inside the table definition.
columns: Vec<ColumnDef>§if_not_exists: boolCREATE TABLE IF NOT EXISTS - silently ignore the statement
when a table with this name already exists.
checks: Vec<TableCheck>Table-level CHECK (...) constraints. Each entry is an
expression that must evaluate truthy against every row.
foreign_keys: Vec<ForeignKey>Table-level FOREIGN KEY (col, ...) REFERENCES parent(col, ...).
key_constraints: Vec<TableKeyConstraint>Every declared PRIMARY KEY / UNIQUE constraint, including
column-level declarations. Keeping the typed key (rather than only
setting per-column flags) preserves composite-key and NULLS NOT DISTINCT semantics through planning and catalog persistence.
persistence: RelationPersistencePostgreSQL relation persistence selected by TEMPORARY or UNLOGGED.
on_commit: OnCommitActionTransaction-end behavior for temporary tables.
hierarchy: TableHierarchyDirect inheritance and declarative-partitioning metadata. The engine resolves parent names and merges their row types atomically at create time, then persists the canonical hierarchy with the table schema.
Trait Implementations§
Source§impl Clone for CreateTable
impl Clone for CreateTable
Source§fn clone(&self) -> CreateTable
fn clone(&self) -> CreateTable
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CreateTable
impl Debug for CreateTable
Source§impl<'de> Deserialize<'de> for CreateTable
impl<'de> Deserialize<'de> for CreateTable
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 CreateTable
impl RefUnwindSafe for CreateTable
impl Send for CreateTable
impl Sync for CreateTable
impl Unpin for CreateTable
impl UnsafeUnpin for CreateTable
impl UnwindSafe for CreateTable
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