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.
>> Is it sufficient to execute ON DELETE CASCADE and ON DELETE SET
>> NULL/DEFAULT triggers before other triggers?
> 
> Hmm, I'm not sure. I'm not sure if that's sufficient and that it doesn't
> add any holes, but we can check that. 

> At least I think on set default
> triggers we'd need to do something with the check performed from inside
> the trigger.

What's wrong with this check? Can you please elaborate?

btw does postgresql project have bugzilla or something like that? I
can't find it on http://postgresql.org/

-- 
Max Khon
PEM Platform Team Leader
SWsoft, Inc.
E-mail: [EMAIL PROTECTED]
Web Site: http://swsoft.com/

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

                http://www.postgresql.org/about/donate

Reply via email to