deadlock

Поиск
Список
Период
Сортировка
От Alexey Nalbat
Тема deadlock
Дата
Msg-id 200704091324.05033.nalbat@price.ru
обсуждение исходный текст
Ответы Re: deadlock
Re: deadlock
Список pgsql-general
Hello.

I've encountered deadlock on postgresql 8.1. Here is the simple example.

create table t1 (
 id1 integer primary key,
 val1 integer
);
create table t2 (
 id2 integer primary key,
 id1 integer references t1 on delete cascade,
 val1 integer,
 val2 integer,
 val3 integer
);
insert into t1 select
 generate_series(1,10) as id1;
insert into t2 select
 generate_series(1,100) as id2,
 generate_series(1,10) as id1;

Then three concurrent transaction start.

/*1*/ begin;
/*1*/ update t2 set val1=1 where id2=50;
/*1*/ update t2 set val2=2 where id2=50;
        /*2*/ begin;
        /*2*/ update t2 set val1=1 where id2=40;
        /*2*/ update t2 set val2=2 where id2=40;
        /*2*/ commit;
                /*3*/ begin;
                /*3*/ update t1 set val1=1 where id1=10;
/*1*/ update t2 set val3=3 where id2=50;

Here we have deadlock for transactions 1 and 3.

Is it bug? And if so, will it be fixed?

Or is it not a bug? What should I do then?

Thank you. Sorry for bad english.

--
Alexey A. Nalbat

Price Express
http://www.price.ru/
http://www.tyndex.ru/

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

Предыдущее
От: "Avdhoot Kishore Saple"
Дата:
Сообщение: local selectivity estimation - computing frequency of predicates
Следующее
От: ptjm@interlog.com (Patrick TJ McPhee)
Дата:
Сообщение: Re: The rule question before, request official documentation on the problem