Re: FOR SHARE vs FOR UPDATE locks

Zeugswetter Andreas DCP SD <zeugswettera@spardat.at>

From: "Zeugswetter Andreas ADI SD" <ZeugswetterA@spardat.at>
To: "Tom Lane" <tgl@sss.pgh.pa.us>, "Alvaro Herrera" <alvherre@commandprompt.com>
Cc: "Simon Riggs" <simon@2ndquadrant.com>, <pgsql-hackers@postgreSQL.org>
Date: 2006-12-01T15:45:00Z
Lists: pgsql-hackers, pgsql-docs
> > I'm not sure we can use the simple "raise an ERROR" answer though,
> > because for users that would be a regression.
> 
> I've reconsidered the idea of upgrading the outer xact's shared lock
to
> exclusive: at first I thought that would be hard to implement
correctly,
> but now I realize it's easy.  Just re-use the XID that's in the
multixact
> as the one to store as the exclusive locker, instead of storing our
> current subxact XID.  In some cases this will be a subcommitted XID of
> the current subxact or a parent, but the locking semantics are the
same,
> and even though we think such an XID is finished everyone else will
see
> it as still live so the appearance of its XID in an XMAX field
shouldn't
> be an issue.

fwiw, I think that is good.

Andreas