| From: | Gaetano Mendola <mendola(at)bigfoot(dot)com> |
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | NT + deadlock intended behaviour ? |
| Date: | 2004-07-16 21:58:26 |
| Message-ID: | cd9j2b$38h$1@floppy.pyrenet.fr |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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;
<DEAD LOCK 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;
<DEAD LOCK DETECTED>
abort;
<STILL BLOCKED>
Why that commit unblock the SESSION 1?
Regards
Gaetano Mendola
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Simon Riggs | 2004-07-16 22:01:06 | Re: Point in Time Recovery |
| Previous Message | Alvaro Herrera | 2004-07-16 21:46:43 | Re: Nested Savepoints in Db2 Stinger |