@@ -186,17 +186,17 @@ NOTICE: should see this only if -100 fits in smallint
186186--
187187-- test foreign key error trapping
188188--
189- create temp table master (f1 int primary key);
190- create temp table slave (f1 int references master deferrable);
191- insert into master values(1);
192- insert into slave values(1);
193- insert into slave values(2); -- fails
194- ERROR: insert or update on table "slave " violates foreign key constraint "slave_f1_fkey "
195- DETAIL: Key (f1)=(2) is not present in table "master ".
189+ create temp table root (f1 int primary key);
190+ create temp table leaf (f1 int references root deferrable);
191+ insert into root values(1);
192+ insert into leaf values(1);
193+ insert into leaf values(2); -- fails
194+ ERROR: insert or update on table "leaf " violates foreign key constraint "leaf_f1_fkey "
195+ DETAIL: Key (f1)=(2) is not present in table "root ".
196196create function trap_foreign_key(int) returns int as $$
197197begin
198198 begin -- start a subtransaction
199- insert into slave values($1);
199+ insert into leaf values($1);
200200 exception
201201 when foreign_key_violation then
202202 raise notice 'caught foreign_key_violation';
@@ -238,8 +238,8 @@ begin;
238238
239239 savepoint x;
240240 set constraints all immediate; -- fails
241- ERROR: insert or update on table "slave " violates foreign key constraint "slave_f1_fkey "
242- DETAIL: Key (f1)=(2) is not present in table "master ".
241+ ERROR: insert or update on table "leaf " violates foreign key constraint "leaf_f1_fkey "
242+ DETAIL: Key (f1)=(2) is not present in table "root ".
243243 rollback to x;
244244 select trap_foreign_key_2(); -- detects FK violation
245245NOTICE: caught foreign_key_violation
@@ -249,7 +249,7 @@ NOTICE: caught foreign_key_violation
249249(1 row)
250250
251251commit; -- still fails
252- ERROR: insert or update on table "slave " violates foreign key constraint "slave_f1_fkey "
253- DETAIL: Key (f1)=(2) is not present in table "master ".
252+ ERROR: insert or update on table "leaf " violates foreign key constraint "leaf_f1_fkey "
253+ DETAIL: Key (f1)=(2) is not present in table "root ".
254254drop function trap_foreign_key(int);
255255drop function trap_foreign_key_2();
0 commit comments