Re: Catalog domain not-null constraints

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: jian he <jian.universality@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>, vignesh C <vignesh21@gmail.com>, Aleksander Alekseev <aleksander@timescale.com>
Date: 2024-02-11T21:10:10Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix ALTER DOMAIN NOT NULL syntax

  2. Catalog domain not-null constraints

  3. Add tests for domain-related information schema views

On 08.02.24 13:17, jian he wrote:
> I think I found a bug.
> connotnull already set to not null.
> every execution of  `alter domain connotnull add not null value ;`
> would concatenate 'NOT NULL VALUE' for the "Check" column,

I would have expected that.  Each invocation adds a new constraint.

But I see that table constraints do not work that way.  A command like 
ALTER TABLE t1 ADD NOT NULL c1 does nothing if the column already has a 
NOT NULL constraint.  I'm not sure this is correct.  At least it's not 
documented.  We should probably make the domains feature work the same 
way, but I would like to understand why it works that way first.