Re: NOT ENFORCED constraint feature

From: Amul Sul <sulamul(at)gmail(dot)com>
To: Alexandra Wang <alexandra(dot)wang(dot)oss(at)gmail(dot)com>
Cc: Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, 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-03-10 09:42:33
Message-ID: CAAJ_b94r_y8nnaDYr3OtnXbMta2ybym6y5rrXee9j01yKwTx_w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Mar 6, 2025 at 9:37 PM Alexandra Wang
<alexandra(dot)wang(dot)oss(at)gmail(dot)com> wrote:
>
> Hi Amul,
>
> On Thu, Feb 27, 2025 at 12:57 AM Amul Sul <sulamul(at)gmail(dot)com> wrote:
>>
>> 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.
>
>
> Thanks for the patches!
>
> I reviewed and ran “make check” on each patch. I appreciate how the
> patches are organized; separating the refactors from the
> implementations made the review process very straightforward.

Thank you for the feedback and the review !

> Overall, LGTM, and I have minor comments below:
>
> 0008
> Since we are added "convalidated" in some of the constraints tests,
> should we also add a "convalidated" field in the "table_constraints"
> system view defined in src/backend/catalog/information_schema.sql? If
> we do that, we'd also need to update the documentation for this view.
>

I am not sure why we don't already have "convalidated" in the
table_constraints, but if we need it, we can add it separately.

> 0009
> Comment on top of the function ATExecAlterConstrEnforceability():
> s/ATExecAlterConstrRecurse/ATExecAlterConstraintInternal/g
>
> Typo in tablecmds.c: s/droping/dropping, s/ke/key
> /* We should be droping trigger related to foreign ke constraint */
>

Thanks, fixed in the attached version.

Regards,
Amul

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2025-03-10 09:46:32 Re: Changing the state of data checksums in a running cluster
Previous Message Jim Jones 2025-03-10 09:41:23 Re: [PoC] XMLCast (SQL/XML X025)