Re: Update on true serializable techniques in MVCC

From: "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: "Robert Haas *EXTERN*" <robertmhaas(at)gmail(dot)com>, "Boszormenyi Zoltan" <zb(at)cybertec(dot)at>
Cc: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Andres Freund" <andres(at)anarazel(dot)de>, <pgsql-hackers(at)postgresql(dot)org>, "Kevin Grittner *EXTERN*" <Kevin(dot)Grittner(at)wicourts(dot)gov>
Subject: Re: Update on true serializable techniques in MVCC
Date: 2009-12-17 09:57:18
Message-ID: D960CB61B694CF459DCFB4B0128514C2039380D7@exadv11.host.magwien.gv.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Robert Haas wrote:
> > A predicate can include columns from an index plus others.
> > Am I missing something?
>
> Hmm, interesting point. In that case you couldn't use the index to
> enforce predicate locking under MVCC without disabling HOT. But there
> will be other cases where that wouldn't help anyway - a predicate
> could also include unindexed columns exclusively. For those, the
> traditional approach (not the one discussed in this paper) probably
> requires locking against any heap insert, or checking each new heap
> insert against the constraint, or... something.

If I understand that correctly

> [...] by acquiring a shared lock on the next
>   row in order, as a scan is made to check whether rows match a predicate.
>   The scan might be through the data records or through an index

I would say that in the case of a table scan, the whole table will
be SILOCKed. I guess that's pretty much unavoidable if you want
serializability.

Yours,
Laurenz Albe

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Nicolas Barbier 2009-12-17 10:00:20 Re: Update on true serializable techniques in MVCC
Previous Message Fujii Masao 2009-12-17 09:50:58 How should the notice message from the primary be handled in the standby?