Re: FOR SHARE vs FOR UPDATE locks

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: FOR SHARE vs FOR UPDATE locks
Дата
Msg-id 45705E9C.2060003@enterprisedb.com
обсуждение исходный текст
Ответ на Re: FOR SHARE vs FOR UPDATE locks  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: FOR SHARE vs FOR UPDATE locks  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: FOR SHARE vs FOR UPDATE locks  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
>> 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.

That way, the lock won't be downgraded back to a shared lock on 
"rollback to savepoint", right? Though it's still better than throwing 
an error, I think.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Leandro Lucarella
Дата:
Сообщение: Re: Keep-alive support
Следующее
От: Tom Lane
Дата:
Сообщение: Re: FOR SHARE vs FOR UPDATE locks