On Thu, 17 May 2007, Tom Lane wrote: > Max Khon <[EMAIL PROTECTED]> writes: > > "delete from foo" fails: > > > ERROR: update or delete on table "bar" violates foreign key constraint > > "foobar_fk0" on table "foobar" > > SQL state: 23503 > > Detail: Key (bar_id)=(1) is still referenced from table "foobar". > > Context: SQL statement "DELETE FROM ONLY "public"."bar" WHERE "foo_id" = $1" > > I see no bug here. There is no guarantee about the order in which > constraints are applied.
Except that SQL92 at least does seem to say in 11.8 that "All rows that are marked for deletion are effectively deleted at the end of the SQL-statement, prior to the checking of any integrity constraints." I think that likely makes our behavior wrong, but I'm not really sure how to get there from what we have now. ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate