Re: Update on true serializable techniques in MVCC - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Update on true serializable techniques in MVCC
Date
Msg-id 603c8f070912161025x7643ce92jdb2492b8916871da@mail.gmail.com
Whole thread Raw
In response to Re: Update on true serializable techniques in MVCC  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: Update on true serializable techniques in MVCC  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On Wed, Dec 16, 2009 at 1:14 PM, Alvaro Herrera
<alvherre@commandprompt.com> wrote:
> Robert Haas escribió:
>> On Wed, Dec 16, 2009 at 10:29 AM, Andres Freund <andres@anarazel.de> wrote:
>> > On Wednesday 16 December 2009 16:24:42 Robert Haas wrote:
>> >> >   Inserts and deletes follow the same protocol, obtaining an exclusive
>> >> >   lock on the row after the one being inserted or deleted. The result
>> >> >   of this locking protocol is that a range scan prevents concurrent
>> >> >   inserts or delete within the range of the scan, and vice versa.
>> >> >
>> >> > That sounds like it should actually work.
>> >>
>> >> Only if you can guarantee that the database will access the rows using
>> >> some particular index.  If it gets to the data some other way it might
>> >> accidentally circumvent the lock.  That's kind of a killer in terms of
>> >> making this work for PostgreSQL.
>> > Isnt the whole topic only relevant for writing access? There you have to
>> > access the index anyway.
>>
>> Yeah, I guess you have to insert the new tuple.  I guess while you
>> were at it you might check whether the next tuple is locked...
>
> So you'd have to disable HOT updates when true serializability was
> active?

I thought about that, but I don't think so.   HOT only applies to
updates, and predicate locking only applies to inserts.  Unless I have
my head in the sand?

...Robert


pgsql-hackers by date:

Previous
From: Scott Bailey
Date:
Subject: Re: Range types
Next
From: Robert Haas
Date:
Subject: Re: Update on true serializable techniques in MVCC