public inbox for [email protected]
help / color / mirror / Atom feedFrom: Peter Eisentraut <[email protected]>
To: Alvaro Herrera <[email protected]>
To: jian he <[email protected]>
Cc: Robert Haas <[email protected]>
Cc: Rushabh Lathia <[email protected]>
Cc: Ashutosh Bapat <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Support NOT VALID / VALIDATE constraint options for named NOT NULL constraints
Date: Thu, 3 Apr 2025 10:01:15 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
It occurred to me that we will also want to have NOT NULL NOT ENFORCED
constraints eventually. As we have discussed elsewhere, the NOT
ENFORCED state is closely related to the NOT VALID state. So that
should probably be considered in the design here.
Reading up on this again now, I'm confused about putting the NOT VALID
state for not-null constraints into pg_attribute. We have catalogued
not-null constraints now, so we can put metadata for them into
pg_constraint! And we have NOT VALID and NOT ENFORCED flags in
pg_constraint already.
So what is the purpose of the attnotnullvalid field? In the latest
posted patch, I don't see this column used in the executor for the
actual constraint checking. So is this all merely for clients to
understand the constraint metadata? If we add more metadata for
not-null constraints, do we need to add a new pg_attribute flag for each
one? That doesn't seem right.
view thread (43+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: Support NOT VALID / VALIDATE constraint options for named NOT NULL constraints
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox