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...
...Robert