Apparent referential integrity bug in PL/pgSQL - Mailing list pgsql-sql

From Brian Blaha
Subject Apparent referential integrity bug in PL/pgSQL
Date
Msg-id 3DAFB514.7080002@umr.edu
Whole thread Raw
Responses Re: Apparent referential integrity bug in PL/pgSQL
List pgsql-sql
I have a function that operates on two tables A and B, such that B has a 
foreign key on A, as follows:
INSERT INTO A (...) several times
INSERT INTO B (...) several times, with foreign keys pointing to the new 
members of A
DELETE FROM A (...), possibly including some of the newly added members

Even though B's foreign key is defined ON DELETE CASCADE, I get a 
referential integrity
violation when I run this function. If instead, I comment out the DELETE 
statement, start a
transaction block, run the function, run the DELETE statement, and end 
the transaction, no
errors occur. To run those statements with one function call, I need to 
split the INSERTs and
DELETEs into separate functions, and call them separately from a third 
function. I am using
version 7.2.2. Has this been corrected in the beta versions or can 
someone confirm this for me?



pgsql-sql by date:

Previous
From: "Josh Berkus"
Date:
Subject: Re: Can I create working trigger on view
Next
From: Brian Blaha
Date:
Subject: UPDATE: Apparent referential integrity bug in PL/pgSQL