Re: Heads up: 7.3.3 this Wednesday

Поиск
Список
Период
Сортировка
От A.Bhuvaneswaran
Тема Re: Heads up: 7.3.3 this Wednesday
Дата
Msg-id Pine.LNX.4.44.0305200946240.1159-100000@Bhuvan.bksys.co.in
обсуждение исходный текст
Ответ на Heads up: 7.3.3 this Wednesday  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Heads up: 7.3.3 this Wednesday  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-hackers
> I doubt it'd get tested enough to notice, if it's not in the default
> build.
> 
> I actually think that both of these are pretty good candidates to put
> into 7.3.3.  I'm just trying to adopt an appropriately paranoid stance
> and ask hard questions about how much they've been tested.  Between
> Kevin and Sean it seems that the deferred-triggers change has gotten
> enough testing to warrant some trust, but I'm not hearing anything
> about the FK-deadlock one :-(.
> 
> BTW, if anyone is looking for that patch, it was at
> http://archives.postgresql.org/pgsql-hackers/2003-04/msg00260.php

7.3.2: I applied the above patch and did install and restarted postgresql,
but the 'deadlock detected' error on FK update still exist. The below is
the test case. Someone *advice* me, if it the above mentioned patch is not
intended to address the below case.

Test case:

test_pg=# CREATE TABLE prim_test (id int primary key);
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index 
'prim_test_pkey'
for table 'prim_test'
CREATE TABLE
test_pg=# CREATE TABLE for_test (id int references prim_test(id), name 
text);
NOTICE:  CREATE TABLE will create implicit trigger(s) for FOREIGN KEY 
check(s)
CREATE TABLE
test_pg=# INSERT INTO prim_test VALUES ('1');
INSERT 4383707 1
test_pg=# INSERT INTO prim_test VALUES ('2');
INSERT 4383708 1
test_pg=# INSERT INTO for_test VALUES (1, 'foo');
INSERT 4383710 1
test_pg=# INSERT INTO for_test VALUES (2, 'bar');
INSERT 4383711 1

t1:
test_pg=# BEGIN ;
BEGIN
test_pg=# UPDATE for_test set name ='FOO' where id = 1;
UPDATE 1
test_pg=# UPDATE for_test set name ='Bar' where id = 2;
UPDATE 1

t2:
test_pg=# BEGIN ;
BEGIN
test_pg=# UPDATE for_test set name = 'BAR' where id = 2;
UPDATE 1
test_pg=# UPDATE for_test set name = 'Foo' where id = 1;
ERROR:  deadlock detected

regards,
bhuvaneswaran






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

Предыдущее
От: Kaare Rasmussen
Дата:
Сообщение: Calling external program from trigger
Следующее
От: "Shridhar Daithankar"
Дата:
Сообщение: Re: pg_dump