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

From Alvaro Herrera
Subject Re: 9.3 reference constraint regression
Date
Msg-id 20131216204337.GL12902@eldon.alvh.no-ip.org
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
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.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



pgsql-hackers by date:

Previous
From: Gregory Smith
Date:
Subject: Re: row security roadmap proposal
Next
From: Alvaro Herrera
Date:
Subject: Re: pgsql: Fix a couple of bugs in MultiXactId freezing