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