Re: 9.3 reference constraint regression - Mailing list pgsql-hackers

From Andres Freund
Subject Re: 9.3 reference constraint regression
Date
Msg-id 20131216205728.GF6019@awork2.anarazel.de
Whole thread Raw
In response to Re: 9.3 reference constraint regression  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: 9.3 reference constraint regression
List pgsql-hackers
On 2013-12-16 17:43:37 -0300, Alvaro Herrera wrote:
> Alvaro Herrera wrote:
> 
> > This POC patch changes the two places in HeapTupleSatisfiesUpdate that
> > need to be touched for this to work.  This is probably too simplistic,
> > in that I make the involved cases return HeapTupleBeingUpdated without
> > checking that there actually are remote lockers, which is the case of
> > concern.  I'm not yet sure if this is the final form of the fix, or
> > instead we should expand the Multi (in the cases where there is a multi)
> > and verify whether any lockers are transactions other than the current
> > one.  As is, nothing seems to break, but I think that's probably just
> > chance and should not be relied upon.
> 
> After playing with this, I think the reason this seems to work without
> fail is that all callers of HeapTupleSatisfiesUpdate are already
> prepared to deal with the case where HeapTupleBeingUpdated is returned
> but there is no actual transaction that would block the operation.
> So I think the proposed patch is okay, barring a few more comments.

Are you sure? the various wait/nowait cases don't seem to handle that
correctly.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: pgsql: Fix a couple of bugs in MultiXactId freezing
Next
From: Robert Haas
Date:
Subject: Re: planner missing a trick for foreign tables w/OR conditions