Re: NOT ENFORCED constraint feature

From: Amul Sul <sulamul(at)gmail(dot)com>
To: Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Peter Eisentraut <peter(at)eisentraut(dot)org>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, jian he <jian(dot)universality(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Joel Jacobson <joel(at)compiler(dot)org>, Suraj Kharage <suraj(dot)kharage(at)enterprisedb(dot)com>
Subject: Re: NOT ENFORCED constraint feature
Date: 2025-02-27 06:56:33
Message-ID: CAAJ_b96Jit0hu0KYNDUM6L7wg2hYRjXu2VOGSBgZT8LGZOTcJA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Feb 18, 2025 at 2:13 PM Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
>
> On 2025-Feb-18, Amul Sul wrote:
>
> > The patch looks quite reasonable, but I’m concerned that renaming
> > ATExecAlterConstrRecurse() and ATExecAlterChildConstr() exclusively
> > for deferrability might require the enforceability patch to duplicate
> > these functions, even though some operations (e.g., pg_constraint
> > updates and recursion on child constraints) could have been reused.
>
> True. I'll give another look to your 0008 and Suraj's patch for
> inheritability change, to avoid repetitive boilerplate as much as
> possible.
>

Thanks, Álvaro, for committing the 0001 patch -- it really helps.

Attached is the rebased patch set against the latest master head,
which also includes a *new* refactoring patch (0001). In this patch,
I’ve re-added ATExecAlterChildConstr(), which is required for the main
feature patch (0008) to handle recursion from different places while
altering enforceability.

Regards,
Amul

Attachment Content-Type Size
v15-0001-refactor-re-add-ATExecAlterChildConstr.patch application/octet-stream 4.4 KB
v15-0002-refactor-Split-tryAttachPartitionForeignKey.patch application/octet-stream 13.5 KB
v15-0003-Move-the-RemoveInheritedConstraint-function-call.patch application/octet-stream 2.7 KB
v15-0004-refactor-Pass-Relid-instead-of-Relation-to-creat.patch application/octet-stream 3.3 KB
v15-0005-refactor-Change-ATExecAlterConstrRecurse-argumen.patch application/octet-stream 5.5 KB
v15-0006-Remove-hastriggers-flag-check-before-fetching-FK.patch application/octet-stream 10.8 KB
v15-0007-Ease-the-restriction-that-a-NOT-ENFORCED-constra.patch application/octet-stream 20.7 KB
v15-0008-Add-support-for-NOT-ENFORCED-in-foreign-key-cons.patch application/octet-stream 63.3 KB
v15-0009-Merge-the-parent-and-child-constraints-with-diff.patch application/octet-stream 28.0 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Guillaume Lelarge 2025-02-27 07:39:58 Re: Add a warning message when using unencrypted passwords
Previous Message Bertrand Drouvot 2025-02-27 06:50:41 Re: Log connection establishment timings