followup on view/rule/delete problem. - Mailing list pgsql-general

From Pete Leonard
Subject followup on view/rule/delete problem.
Date
Msg-id Pine.LNX.4.10.10106130913280.30699-100000@hero.com
Whole thread Raw
Responses Re: followup on view/rule/delete problem.  (Pete Leonard <pete@hero.com>)
Re: followup on view/rule/delete problem.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
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;





pgsql-general by date:

Previous
From: "Brent R. Matzelle"
Date:
Subject: SQL Load Balancer for PostgreSQL
Next
From: Bruce Momjian
Date:
Subject: Re: 7.1.2 temporary file area