From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | "Joshua b(dot) Jore" <josh(at)greentechnologist(dot)org> |
Cc: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Troubleshooting SPI_execp() failed in RI_FKey_cascade_del() |
Date: | 2002-06-13 00:17:31 |
Message-ID: | 20020612171131.Y96675-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Wed, 12 Jun 2002, Joshua b. Jore wrote:
> The following sql demonstrates the problem. What I'm getting at here is
> cases where the rows in "b" are being altered instead of being deleted
> consequently the delete to "a" shouldn't happen.
>
> create table a (id int4 primary key);
> create table b (id int4 references a on delete cascade);
> create rule b0 as on delete to b do instead nothing;
>
> insert into a values (1);
> insert into b values (1);
> delete from a;
When you do the delete from a, the constraint will no longer
be satisifed. It throws the error to prevent the delete
from working. Maybe throwing a standard constraint violation
would be enough, but I'd worry that there'd be some other
return case that we should know about.
In general on <x> rules with on <x> action foreign key constraints
are a bad idea. I'd almost want to disallow the above entirely.
From | Date | Subject | |
---|---|---|---|
Next Message | Ken Williams | 2002-06-13 00:17:35 | Re: automatic time zone conversion |
Previous Message | Joshua b. Jore | 2002-06-12 23:57:01 | Re: Troubleshooting SPI_execp() failed in RI_FKey_cascade_del() |