Hi,

I'm using PostgreSQL 8.1.4

The problem is very simple to reproduce:


create table test1 (
  pk1 text not null,
  df1 text,
  primary key(pk1)
);

create table test2 (
  pk1 text not null,
  pk2 text not null,
  df2 text,
  primary key(pk1,pk2)
);

alter table test2 add constraint c1 foreign key (pk1) references test1(pk1)
  on update cascade
  on delete cascade;

create or replace function f1() returns "trigger" as '
begin
  return null;
end;
' language "plpgsql";

create trigger trig1 before delete on test2 for each row execute procedure f1();

insert into test1 values('foo','foo');

insert into test2 values('foo','oof','foooof');

delete from test1;

select * from test2;
pk1 | pk2 |  df2
-----+-----+--------
foo | oof | foooof
(1 row)

select * from test1;
pk1 | df1
-----+-----
(0 rows)



---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

              http://archives.postgresql.org

Reply via email to