Fwd: [HACKERS] RI_FKey_check: foreign key constraint blocks parallel

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Fwd: [HACKERS] RI_FKey_check: foreign key constraint blocks parallel
Date: 2002-11-15 23:40:34
Message-ID: 20021115153919.U13816-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers


(Just noticed that this was sent to hackers, but -general would probably
get to more of the people who might want to see it)

On Fri, 15 Nov 2002, Stephan Szabo wrote:

> On Fri, 15 Nov 2002, Manfred Koizar wrote:
>
> > On Wed, 13 Nov 2002 14:22:51 -0800 (PST), Stephan Szabo
> > <sszabo(at)megazone23(dot)bigpanda(dot)com> wrote:
> > >Right now, I know that it has a hole that lets through invalid data
> >
> > Stephan, your patch has been posted to -general (Subject: Re:
> > [GENERAL] Help..Help...). Is this version still valid?
>
> I have a newer version of it on my machine, but I was still sending out
> that version of the patch. :( Thanks for letting me know before even more
> people got a version that was broken. :)
>
> For anyone working with the patch, you need to fix the lines below as
> noted by Manfred. This is mostly unrelated to the hole mentioned in the
> quoted message above (it's a bug that with the bug you actually partially
> fill the hole but instead deadlock). I wonder if there were any other
> stupdities in there.
>
> > > void
> > > heap_mark4fk_lock_acquire(Relation relation, HeapTuple tuple) {
> > > [...]
> > > /* try to find the list for the table in question */
> > This part of the patch works, if the list
> > (a) is initially empty or
> > (b) already contains relid or
> > (c) starts with a table > relid.
> >
> > > while (ptr!=NULL) {
> > > if (relid>ptr->table) {
> > > ptr=ptr->next;
> > > oldptr=ptr;
> > // AFAICT above two lines should be swapped ...
> > > }
> > > else
> > > break;
> > > }
> >
> > ... otherwise
> > (d) if the new relid is to be inserted between two existing entries,
> > we get two items pointing to each other
> > (e) if the new relid is > the last table in the list, we lose the
> > whole list.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Ed Yu 2002-11-16 00:52:09 Re: Solved, and a bug found! Re: JDBC question: Creating new
Previous Message Stephan Szabo 2002-11-15 23:38:46 Re: RI_FKey_check: foreign key constraint blocks parallel

Browse pgsql-hackers by date

  From Date Subject
Next Message Mikheev, Vadim 2002-11-16 01:39:11 Re: RI_FKey_check: foreign key constraint blocks parall
Previous Message Stephan Szabo 2002-11-15 23:38:46 Re: RI_FKey_check: foreign key constraint blocks parallel