Thread: followup on view/rule/delete problem.
I wanted to thank Tom Lane and Andrew Snow for their help - definitely got me going in the right direction. Unfortunately, I'm still not quite there - I'm still experiencing DB hangs, and was able to duplicate it with the following simplified schema. Is this a 7.1-specific bug? Is it breaking 7.1.2 as well? Can anyone offer a workaround? Thanks everyone, --pete Running on FreeBSD-3.4, Postgres 7.1 drop view foobar; drop table foo; drop table bar; drop table log; drop sequence foo_id_seq; create sequence foo_id_seq; create table foo ( id integer default nextval('foo_id_seq') primary key, name varchar(20) ); create table bar ( id integer not null constraint foo_chk references foo on delete cascade, name varchar(20) ); create table log ( id integer, action varchar(20) ); create view foobar as select f.id, f.name, b.name as barname from foo f, bar b where f.id=b.id; create rule delete_foobar as on delete to foobar do instead ( insert into log (id, action) values (OLD.id, 'deleted'); delete from foo where id=OLD.id; ); insert into foo (name) values ('aa'); insert into foo (name) values ('bb'); insert into bar (id, name) values (1, 'bar-aa'); insert into bar (id, name) values (2, 'bar-bb'); delete from foobar where id=2;
As a followup - No, I haven't applied the patch Tom posted yesterday to 7.1.2 - I'm trying to get one of the admins here to take care of that - but I was curious as to whether the patch fixed the example below. thanks, --pete On Wed, 13 Jun 2001, Pete Leonard wrote: > > I wanted to thank Tom Lane and Andrew Snow for their help - definitely got > me going in the right direction. > > Unfortunately, I'm still not quite there - I'm still experiencing DB > hangs, and was able to duplicate it with the following simplified schema. > Is this a 7.1-specific bug? Is it breaking 7.1.2 as well? Can anyone > offer a workaround? > > Thanks everyone, > > --pete > > > Running on FreeBSD-3.4, Postgres 7.1 > > drop view foobar; > drop table foo; > drop table bar; > drop table log; > drop sequence foo_id_seq; > > create sequence foo_id_seq; > > create table foo ( > id integer default nextval('foo_id_seq') primary key, > name varchar(20) > ); > > > create table bar ( > id integer not null constraint foo_chk references foo on delete cascade, > name varchar(20) > ); > > > create table log ( > id integer, > action varchar(20) > ); > > > create view foobar as > select f.id, f.name, b.name as barname from foo f, bar b > where f.id=b.id; > > > create rule delete_foobar as on delete to foobar > do instead ( > insert into log (id, action) values (OLD.id, 'deleted'); > delete from foo where id=OLD.id; > ); > > insert into foo (name) values ('aa'); > insert into foo (name) values ('bb'); > insert into bar (id, name) values (1, 'bar-aa'); > insert into bar (id, name) values (2, 'bar-bb'); > > > delete from foobar where id=2; > > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly >
Pete Leonard <pete@hero.com> writes: > Unfortunately, I'm still not quite there - I'm still experiencing DB > hangs, and was able to duplicate it with the following simplified schema. > Is this a 7.1-specific bug? Is it breaking 7.1.2 as well? > ... > create rule delete_foobar as on delete to foobar > do instead ( > insert into log (id, action) values (OLD.id, 'deleted'); > delete from foo where id=OLD.id; > ); Almost anything involving a multi-action rule and references to views is probably vulnerable to the bug I found yesterday :-(. Please try it with 7.1.2 plus the patch I posted. regards, tom lane
Pete Leonard <pete@hero.com> writes: > No, I haven't applied the patch Tom posted yesterday to 7.1.2 - I'm trying > to get one of the admins here to take care of that - but I was curious as > to whether the patch fixed the example below. It worked for me ... regards, tom lane
I'v got the same problem with view/rule/delete in v. 7.1.2 (view/rule/insert and update - work) Could you tell me where is the patch ? U�ytkownik "Tom Lane" <tgl@sss.pgh.pa.us> napisa� w wiadomo�ci news:27340.992455816@sss.pgh.pa.us... > Pete Leonard <pete@hero.com> writes: > > Unfortunately, I'm still not quite there - I'm still experiencing DB > > hangs, and was able to duplicate it with the following simplified schema. > > Is this a 7.1-specific bug? Is it breaking 7.1.2 as well? > > ... > > create rule delete_foobar as on delete to foobar > > do instead ( > > insert into log (id, action) values (OLD.id, 'deleted'); > > delete from foo where id=OLD.id; > > ); > > Almost anything involving a multi-action rule and references to views > is probably vulnerable to the bug I found yesterday :-(. Please try > it with 7.1.2 plus the patch I posted. > > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly