|
|
|
@ -1339,7 +1339,7 @@ DETAIL: Key (f1)=(1) is still referenced from table "defc". |
|
|
|
|
-- Test the difference between NO ACTION and RESTRICT |
|
|
|
|
-- |
|
|
|
|
create temp table pp (f1 int primary key); |
|
|
|
|
create temp table cc (f1 int references pp on update no action); |
|
|
|
|
create temp table cc (f1 int references pp on update no action on delete no action); |
|
|
|
|
insert into pp values(12); |
|
|
|
|
insert into pp values(11); |
|
|
|
|
update pp set f1=f1+1; |
|
|
|
@ -1348,9 +1348,12 @@ update pp set f1=f1+1; |
|
|
|
|
update pp set f1=f1+1; -- fail |
|
|
|
|
ERROR: update or delete on table "pp" violates foreign key constraint "cc_f1_fkey" on table "cc" |
|
|
|
|
DETAIL: Key (f1)=(13) is still referenced from table "cc". |
|
|
|
|
delete from pp where f1 = 13; -- fail |
|
|
|
|
ERROR: update or delete on table "pp" violates foreign key constraint "cc_f1_fkey" on table "cc" |
|
|
|
|
DETAIL: Key (f1)=(13) is still referenced from table "cc". |
|
|
|
|
drop table pp, cc; |
|
|
|
|
create temp table pp (f1 int primary key); |
|
|
|
|
create temp table cc (f1 int references pp on update restrict); |
|
|
|
|
create temp table cc (f1 int references pp on update restrict on delete restrict); |
|
|
|
|
insert into pp values(12); |
|
|
|
|
insert into pp values(11); |
|
|
|
|
update pp set f1=f1+1; |
|
|
|
@ -1358,6 +1361,9 @@ insert into cc values(13); |
|
|
|
|
update pp set f1=f1+1; -- fail |
|
|
|
|
ERROR: update or delete on table "pp" violates foreign key constraint "cc_f1_fkey" on table "cc" |
|
|
|
|
DETAIL: Key (f1)=(13) is still referenced from table "cc". |
|
|
|
|
delete from pp where f1 = 13; -- fail |
|
|
|
|
ERROR: update or delete on table "pp" violates foreign key constraint "cc_f1_fkey" on table "cc" |
|
|
|
|
DETAIL: Key (f1)=(13) is still referenced from table "cc". |
|
|
|
|
drop table pp, cc; |
|
|
|
|
-- |
|
|
|
|
-- Test interaction of foreign-key optimization with rules (bug #14219) |
|
|
|
|