Subject: Re: Strange presentaion related to inheritance in \d+

From: Alvaro Herrera <[email-masked]>
Date: Tue, 29 Aug 2023 19:28:28 +0200

On 2023-Aug-29, Kyotaro Horiguchi wrote:

> Attached is the initial version of the patch. It prevents "CREATE
> TABLE" from executing if there is an inconsisntent not-null
> constraint.  Also I noticed that "ALTER TABLE t ADD NOT NULL c NO
> INHERIT" silently ignores the "NO INHERIT" part and fixed it.

Great, thank you.  I pushed it after modifying it a bit -- instead of
throwing the error in MergeAttributes, I did it in
AddRelationNotNullConstraints().  It seems cleaner this way, mostly
because we already have to match these two constraints there.  (I guess
you could argue that we waste catalog-insertion work before the error is
reported and the whole thing is aborted; but I don't think this is a
serious problem in practice.)

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"En las profundidades de nuestro inconsciente hay una obsesiva necesidad
de un universo lógico y coherente. Pero el universo real se halla siempre
un paso más allá de la lógica" (Irulan)

---

From: Kyotaro Horiguchi <[email-masked]>
Date: Wed, 30 Aug 2023 09:46:58 +0900 (JST)

At Tue, 29 Aug 2023 19:28:28 +0200, Alvaro Herrera <[email-masked]> wrote in 
> because we already have to match these two constraints there.  (I guess

I agree that it is cleaner.

> serious problem in practice.)

Given the rarity and the speed required, I agree that early-catching
is not that crucial here. Thanks for clearing that up.

regardes.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center