Re: Autonomous Transaction is back

Поиск
Список
Период
Сортировка
От Craig Ringer
Тема Re: Autonomous Transaction is back
Дата
Msg-id CAMsr+YF8+1GnRBksRoLASJGA6MaK8tuvyzVnFSVT2hDhUDPb4w@mail.gmail.com
обсуждение исходный текст
Ответ на Autonomous Transaction is back  (Rajeev rastogi <rajeev.rastogi@huawei.com>)
Ответы Re: Autonomous Transaction is back  (Rajeev rastogi <rajeev.rastogi@huawei.com>)
Re: Autonomous Transaction is back  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
On 23 July 2015 at 13:31, Rajeev rastogi <rajeev.rastogi@huawei.com> wrote:

> 1.            The autonomous transaction treated as a completely different
> transaction from the master transaction.

Personally I think that's a lot more useful than having the inner tx
able to see the outer tx's uncommitted changes.

> 2.            It should be allowed to deadlock with master transaction. We
> need to work-out a solution to avoid deadlock.

The deadlock case in autonomous tx's is a bit different.

Assuming you don't intend to allow interleaving, where you can switch
between transactions at will rather than just at begin/commit, the
only way a deadlock can happen is when the outer tx holds a lock that
the inner tx tries to acquire.

That should be practical to special-case by maintaining a list of
parent transaction (virtual?) transaction IDs. Attempts to wait on a
lock held by any of those should fail immediately. There's no point
waiting for the deadlock detector since the outer tx can never
progress and commit/rollback to release locks, and it might not be
able to see the parent/child relationship from outside the backend
doing the nested tx anyway.

There's no need to check the parent list until we actually try to wait
on a lock, though I don't know whether it's practical to delay until
then.

-- Craig Ringer                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services



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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: pg_rewind tap test unstable
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: proposal: multiple psql option -c