pub struct CreateTableStatement {
pub name: String,
pub columns: Vec<ColumnDef>,
pub if_not_exists: bool,
pub foreign_keys: Vec<ForeignKeyConstraint>,
pub table_constraints: Vec<TableConstraint>,
pub partition_by: Option<PartitionBySpec>,
pub partition_of: Option<PartitionOfSpec>,
}Fields§
§name: String§columns: Vec<ColumnDef>§if_not_exists: boolIF NOT EXISTS — engine returns CommandOk no-op when the
table name already exists, instead of raising DuplicateTable.
foreign_keys: Vec<ForeignKeyConstraint>v7.6.0 — table-level FOREIGN KEY (...) REFERENCES ...
constraints. Column-level REFERENCES (single-column inline
form) is normalised into this vec at parse time so the engine
sees one uniform list.
table_constraints: Vec<TableConstraint>v7.9.18 — table-level constraints: PRIMARY KEY (a, b) and
UNIQUE (a, b, ...). mailrs migration follow-up G1 + G6.
Engine resolves each into a BTree index named after the
constraint’s leading column at CREATE TABLE time; INSERT
path enforces composite uniqueness via row scan on the
leading column index.
partition_by: Option<PartitionBySpec>v7.37.6-B(sentori Epic 2 P0)— PARTITION BY <strategy> (key_col) declarative partition-parent suffix. Some ⇒
the engine creates a parent table whose own rows stay
empty and routes INSERT/SELECT through children. Mutually
exclusive with partition_of (parser enforces).
partition_of: Option<PartitionOfSpec>v7.37.6-B — PARTITION OF <parent> { FOR VALUES FROM (a) TO (b) | DEFAULT } child-table declaration. Some ⇒
the table inherits its column list from parent (the
parser rejects an explicit column list when this is set);
engine routes child rows back to the parent at INSERT.
Trait Implementations§
Source§impl Clone for CreateTableStatement
impl Clone for CreateTableStatement
Source§fn clone(&self) -> CreateTableStatement
fn clone(&self) -> CreateTableStatement
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 CreateTableStatement
impl Debug for CreateTableStatement
Source§impl Display for CreateTableStatement
impl Display for CreateTableStatement
Source§impl PartialEq for CreateTableStatement
impl PartialEq for CreateTableStatement
Source§fn eq(&self, other: &CreateTableStatement) -> bool
fn eq(&self, other: &CreateTableStatement) -> bool
self and other values to be equal, and is used by ==.