Re: foreign key locks, 2nd attempt - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: foreign key locks, 2nd attempt
Date
Msg-id 201111102119.pAALJxM27424@momjian.us
Whole thread Raw
In response to Re: foreign key locks, 2nd attempt  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: foreign key locks, 2nd attempt
List pgsql-hackers
Alvaro Herrera wrote:
> 
> Excerpts from Bruce Momjian's message of jue nov 10 16:59:20 -0300 2011:
> > Alvaro Herrera wrote:
> > > Hello,
> > > 
> > > After some rather extensive rewriting, I submit the patch to improve
> > > foreign key locks.
> > > 
> > > To recap, the point of this patch is to introduce a new lock tuple mode,
> > > that lets the RI code obtain a lighter lock on tuples, which doesn't
> > > conflict with updates that do not modify the key columns.
> > 
> > What kind of operations benefit from a non-key lock like this?
> 
> I'm not sure I understand the question.
> 
> With this patch, a RI check does "SELECT FOR KEY SHARE".  This means the
> tuple is locked with that mode until the transaction finishes.  An
> UPDATE that modifies the referenced row will not conflict with that lock.
> 
> An UPDATE that modifies the key columns will be blocked, just as now.
> Same with a DELETE.

OK, so it prevents non-key data modifications from spilling to the
referred rows --- nice.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +


pgsql-hackers by date:

Previous
From: Dimitri Fontaine
Date:
Subject: Re: Syntax for partitioning
Next
From: Robert Haas
Date:
Subject: LOCK_DEBUG is busted