pub struct CheckConstraint {
pub name: Option<String>,
pub expr: String,
pub validated: bool,
}Expand description
v7.9.19 — composite UNIQUE / PRIMARY KEY constraint persisted
on the table schema. The leading column always has a BTree
index (created at CREATE TABLE time); INSERT enforcement
scans that index for collisions on the full column tuple.
v7.39 (read01 round 48) — a CHECK constraint: the SQL name the user
gave it (via ADD CONSTRAINT <name> CHECK (...) or the inline
CONSTRAINT <name> CHECK (...) form) plus the predicate source. None
name = unnamed, in which case pg_constraint synthesises PG’s
<table>_<col>_check form. Names are persisted in the constraint-name
appendix (FILE_VERSION 60+); older catalogs deserialise with None.
Fields§
§name: Option<String>§expr: StringThe AST Expr’s Display form, re-parsed on every INSERT/UPDATE.
validated: boolv7.39 (round 652) — false for a constraint added NOT VALID: the
rows already in the table were never scanned against it, and
pg_constraint.convalidated says so. It does NOT weaken the check on
new rows — INSERT and UPDATE enforce it either way, as in PG.
VALIDATE CONSTRAINT does the deferred scan and flips it. Persisted
by the FILE_VERSION 87 appendix; older catalogs deserialise as true,
which is what every constraint they could hold actually was.
Trait Implementations§
Source§impl Clone for CheckConstraint
impl Clone for CheckConstraint
Source§fn clone(&self) -> CheckConstraint
fn clone(&self) -> CheckConstraint
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more