From: | Amul Sul <sulamul(at)gmail(dot)com> |
---|---|
To: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
Cc: | jian he <jian(dot)universality(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Joel Jacobson <joel(at)compiler(dot)org> |
Subject: | Re: NOT ENFORCED constraint feature |
Date: | 2025-01-20 16:53:14 |
Message-ID: | CAAJ_b97TEvCGcj6QgyCWxasuOcYBUc8nMhHV+j08Bc20c9wyLA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Jan 17, 2025 at 6:20 PM Amul Sul <sulamul(at)gmail(dot)com> wrote:
>
> On Thu, Jan 16, 2025 at 6:55 PM Amul Sul <sulamul(at)gmail(dot)com> wrote:
> >
> > On Thu, Jan 16, 2025 at 6:07 PM Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
> > >
> > > On 11.01.25 18:26, Amul Sul wrote:
> > > > On Saturday, 11 January 2025, Peter Eisentraut <peter(at)eisentraut(dot)org
> > > > <mailto:peter(at)eisentraut(dot)org>> wrote:
> > > >
> > > > I have applied v8-0001, with some editing of the documentation and
> > > > in the tests. I'll continue reviewing the subsequent patches.
> > > >
> > > >
> > > > Thank you for the improvement and commit.
> > >
> > > I have also committed v8-0002, the refactor of ATExecAlterConstrRecurse().
> > >
> > > All the remaining patches go together, so w are now waiting on an
> > > updated patch set from you.
> > >
> >
> > Thanks!
> >
> > Yes, I'm working on it and will post it tomorrow.
> >
>
> Attached is a new set of patches. Please ignore patch 0001 here, which
> was posted separately [1] -- proposes allowing invalid foreign key
> constraints on partitioned tables. Patch 0002 refactors
> tryAttachPartitionForeignKey(), primarily needed by the new patch
> v9-0006 included in this set. This patch handles merging constraints
> with different enforceability. Without it, a new constraint would be
> created on the child. However, this patch introduces additional code
> that may appear somewhat messy or confusing. I've added plenty of
> comments to clarify the logic. While I’ve done some testing, it hasn’t
> been extensive. I plan to do more testing in the next week.
>
> Please let me know if we should continue with patch 0006 improvement,
> or if the feature up to patch 0005, which enforces matching
> enforceability before merging constraints, is sufficient.
>
> 1] https://postgr.es/m/CAAJ_b96Bp=-ZwihPPtuaNX=SrZ0U6ZsXD3+fgARO0JuKa8v2jQ@mail.gmail.com
>
I made minor updates to the attached version, particularly ensuring
that the order of relation opening and closing remains the same as
before in ATExecAlterConstrRecurse(). Additionally, I’ve added a
refactoring patch to make createForeignKeyActionTriggers() accept a
relation OID instead of a Relation, making this function consistent
with others like createForeignKeyCheckTriggers().
Regards,
Amul
Attachment | Content-Type | Size |
---|---|---|
v10-0001-POSTED_SEPARATLY-Allow_NOT_VALID_FK_on_Partition.patch | application/octet-stream | 19.7 KB |
v10-0002-refactor-Split-tryAttachPartitionForeignKey.patch | application/octet-stream | 14.3 KB |
v10-0003-refactor-Pass-Relid-instead-of-Relation-to-creat.patch | application/octet-stream | 3.3 KB |
v10-0004-refactor-Change-ATExecAlterConstrRecurse-argumen.patch | application/octet-stream | 5.0 KB |
v10-0005-Remove-hastriggers-flag-check-before-fetching-FK.patch | application/octet-stream | 10.8 KB |
v10-0006-Add-support-for-NOT-ENFORCED-in-foreign-key-cons.patch | application/octet-stream | 56.4 KB |
v10-0007-Merge-the-parent-and-child-constraints-with-diff.patch | application/octet-stream | 17.8 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Nathan Bossart | 2025-01-20 17:02:56 | Re: Purpose of wal_init_zero |
Previous Message | Robert Haas | 2025-01-20 16:28:17 | Re: Eager aggregation, take 3 |