Re: SSI predicate locking on heap -- tuple or row? - Mailing list pgsql-hackers

From Dan Ports
Subject Re: SSI predicate locking on heap -- tuple or row?
Date
Msg-id 20110525002554.GC95874@csail.mit.edu
Whole thread Raw
In response to Re: SSI predicate locking on heap -- tuple or row?  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
List pgsql-hackers
On Tue, May 24, 2011 at 04:18:37AM -0500, Kevin Grittner wrote:
> These proofs show that
> there is no legitimate cycle which could cause an anomaly which the
> move from row-based to tuple-based logic will miss.  They don't prove
> that the change will generate all the same serialization failures;
> and in fact, some false positives are eliminated by the change. 

Yes, that's correct. That's related to the part in the proof where I
claimed T3 couldn't have a conflict out *to some transaction T0 that
precedes T1*.

I originally tried to show that T3 couldn't have any conflicts out that
T2 didn't have, which would mean we got the same set of serialization
failures, but that's not true. In fact, it's not too hard to come up
with an example where there would be a serialization failure with the
row version links, but not without. However, because the rw-conflict
can't be pointing to a transaction that precedes T1 in the serial
order, it won't create a cycle. In other words, there are serialization
failures that won't happen anymore, but they were false positives.

Dan

-- 
Dan R. K. Ports              MIT CSAIL                http://drkp.net/


pgsql-hackers by date:

Previous
From: Jaime Casanova
Date:
Subject: Re: adding a new column in IDENTIFY_SYSTEM
Next
From: Greg Smith
Date:
Subject: Re: 9.2 schedule