From: | Amit Langote <amitlangote09(at)gmail(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Corey Huinker <corey(dot)huinker(at)gmail(dot)com>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, Zhihong Yu <zyu(at)yugabyte(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: simplifying foreign key/RI checks |
Date: | 2021-04-04 08:19:48 |
Message-ID: | CA+HiwqEUw2Xt3fY2vHzSYv84RZG+5-=nNbkKe1kT6q6rPHNChw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi Alvaro,
On Sat, Apr 3, 2021 at 12:01 AM Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
> On 2021-Apr-02, Amit Langote wrote:
>
> > On Sat, Mar 20, 2021 at 10:21 PM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> > > Updated patches attached. Sorry about the delay.
> >
> > Rebased over the recent DETACH PARTITION CONCURRENTLY work.
> > Apparently, ri_ReferencedKeyExists() was using the wrong snapshot.
>
> Hmm, I wonder if that stuff should be using a PartitionDirectory? (I
> didn't actually understand what your code is doing, so please forgive if
> this is a silly question.)
No problem, I wondered about that too when rebasing.
My instinct *was* that maybe there's no need for it, because
find_leaf_pk_rel()'s use of a PartitionDesc is pretty limited in
duration and scope of the kind of things it calls that there's no need
to worry about it getting invalidated while in use. But I may be
wrong about that, because get_partition_for_tuple() can call arbitrary
user-defined functions, which may result in invalidation messages
being processed and an unguarded PartitionDesc getting wiped out under
us.
So, I've added PartitionDirectory protection in find_leaf_pk_rel() in
the attached updated version.
--
Amit Langote
EDB: http://www.enterprisedb.com
Attachment | Content-Type | Size |
---|---|---|
v8-0001-Export-get_partition_for_tuple.patch | application/octet-stream | 2.8 KB |
v8-0002-Avoid-using-SPI-for-some-RI-checks.patch | application/octet-stream | 33.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2021-04-04 08:20:55 | Re: simplifying foreign key/RI checks |
Previous Message | Joel Jacobson | 2021-04-04 07:25:31 | Re: [PATCH] Implement motd for PostgreSQL |