Expand description
Bind complete table declarations around their sequence and catalog publication boundaries.
Re-exports§
pub use crate::schema::table_creation::keys::InheritedDefinitions;
Structs§
Functions§
- bind_
create_ table_ partitioning - Bind the partition bound and key of the created relation, which
DefineRelationcomputes once the relation exists. - clone_
create_ table_ parent_ keys - The keys a partition clones from its parent, which
DefineRelationcreates once the table’s own partition key is stored and before its CHECK constraints: each is checked against that partition key and its index named, beside the CHECKs the table inherits. The namer then names the declared keys. - cloned_
constraint_ names - The names of the constraints a new table holds before its CHECKs besides the ones it inherits: the keys and foreign keys a partition clones from its parent.
- define_
create_ table_ constraints - Define every declared key before foreign-key binding so a foreign key can reference its own table’s keys.
- define_
create_ table_ defaults - The defaults and generation expressions of the new table’s columns, which
DefineRelationtransforms in column order before it binds the table’s partitioning, since a partition key may name a generated column; each stored expression takes itspg_attrdefOID asAddRelationNewConstraintsstores it. - define_
inherited_ expressions heap_create_with_catalogstores what the parents give with the relation, before the statement’s own expressions are analyzed: the inherited defaults and generation expressions in column order, then the inherited CHECK constraints in the orderMergeAttributescollected them.- prepare_
create_ table_ declaration - Describe the new table’s columns before its name is claimed: the parents’ columns merge ahead of the local ones as
MergeAttributesmerges them, the declared primary key’s columns take their NOT NULL constraints,BuildDescForRelationrequiresUSAGEon every column’s type, andCheckAttributeNamesTypesrejects system column names and pseudo-types. - transform_
create_ table - Examine the statement’s elements in written order as
transformCreateStmtdoes while it analyzes the statement, before the relation’s name is checked: each column’s type and then its clauses, and each NOT NULL table constraint; then validate the declared keys.