Re: ON DELETE CASCADE with multiple paths

From: Max Khon <mkhon(at)swsoft(dot)com>
To: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: ON DELETE CASCADE with multiple paths
Date: 2007-05-18 08:39:18
Message-ID: 464D6636.3000809@swsoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi!

Stephan Szabo wrote:

>>> "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.

Just for the record: it works on Oracle 8i (and I assume it works on
later versions) and SQL Server 2005.

--
Max Khon
PEM Platform Team Leader
SWsoft, Inc.
E-mail: mkhon(at)swsoft(dot)com
Web Site: http://swsoft.com/

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Heikki Linnakangas 2007-05-18 12:34:01 Re: BUG #3277: error occurs between different versions
Previous Message Christian Kratzer 2007-05-18 07:23:14 Re: strange problem with ip6