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
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? |