Re: Q about transactions

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Q about transactions
Дата
Msg-id 7488.1050329413@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Q about transactions  ("Ben-Nes Michael" <miki@canaan.co.il>)
Список pgsql-general
"Ben-Nes Michael" <miki@canaan.co.il> writes:
> When I want to insert a branch to the tree I need:
> 1. select lft, rgt from the table to find where to insert
> 2. using update I open a gap in the tree ( offset all the lft, rgt above the
> location by two )
> 3. using insert I add a new branch.

> so "select for updates" seem inappropriate as I select only one row as I
> understood it lock only this row.
> Read Committed is also bad as if the second transaction will use select
> before the first transaction ran the update the select will be useless.
> so it seems that Serializable isolation is the solution, or am I wrong ?

Yeah.  Use serializable mode, and be prepared to cope with "can't
serialize" errors (a retry loop around the whole transaction is the
standard answer to that).

            regards, tom lane


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

Предыдущее
От: Tony Grant
Дата:
Сообщение: Re: Anyone in Brisbane, Australia, and decent with Linux
Следующее
От: "scott.marlowe"
Дата:
Сообщение: Re: Index information and log disable...