From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Dean Rasheed <dean.a.rasheed@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: cataloguing NOT NULL constraints
Date: Wed, 9 Aug 2023 13:10:29 +0200
Message-ID: <20230809111029.dlztbsuu5yyapi7x@alvherre.pgsql> (raw)
In-Reply-To: <5a281a92-eb80-2346-3e23-e23044122408@eisentraut.org>
On 2023-Aug-09, Peter Eisentraut wrote:
> I wonder whether the root of these problems is that we mix together primary
> key constraints and not-null constraints. I understand that right now, with
> the proposed patch, when a table inherits from a parent table with a primary
> key constraint, we generate not-null constraints on the child, in order to
> enforce the not-nullness. What if we did something like this instead: In
> the child table, we don't generate a not-null constraint, but instead a
> primary key constraint entry. But we mark the primary key constraint
> somehow to say, this is just for the purpose of inheritance, don't enforce
> uniqueness, but enforce not-nullness. Would that work?
Hmm. One table can have many parents, and many of them can have primary
keys. If we tried to model it the way you suggest, the child table
would need to have several primary keys. I don't think this would work.
But I think I just need to stare at the dependency graph a little while
longer. Maybe I just need to add some extra edges to make it work
correctly.
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
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: pgsql-hackers@postgresql.org
Cc: alvherre@alvh.no-ip.org, peter@eisentraut.org, dean.a.rasheed@gmail.com, pgsql-hackers@lists.postgresql.org
Subject: Re: cataloguing NOT NULL constraints
In-Reply-To: <20230809111029.dlztbsuu5yyapi7x@alvherre.pgsql>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox