NT + deadlock intended behaviour ?

Поиск
Список
Период
Сортировка
От Gaetano Mendola
Тема NT + deadlock intended behaviour ?
Дата
Msg-id cd9j2b$38h$1@floppy.pyrenet.fr
обсуждение исходный текст
Список pgsql-hackers
Hi all,
I'm doing some experiments with NT, I din't expect this behaviuor:


create table test ( a integer );
insert into test values (3);
insert into test values (4);
insert into test values (5);
insert into test values (6);



SESSION 1;                            SESSION 2;

begin;                              begin;
update test set a = 300 where a = 3;  update test set a = 40 where a = 4;                                      begin;
update test set a = 400 where a = 4;
<BLOCKED>                                      update test set a = 30 where a = 3;
<DEADLOCK DETECTED>                                      commit;
 
<UNBLOCKED>    <-- !?!?!                  <here I'm able to do another commit>

why SESSION 1 was unblocked ? If I repeat again but I do an abort:



SESSION 1;                            SESSION 2;

begin;                              begin;
update test set a = 300 where a = 3;  update test set a = 40 where a = 4;                                      begin;
update test set a = 400 where a = 4;
<BLOCKED>                                      update test set a = 30 where a = 3;
<DEADLOCK DETECTED>                                      abort;
 
<STILL BLOCKED>


Why that commit unblock the SESSION 1?


Regards
Gaetano Mendola










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

Предыдущее
От: Gaetano Mendola
Дата:
Сообщение: NT and aborted transaction
Следующее
От: Gaetano Mendola
Дата:
Сообщение: unused variable