Re: foreign key problem

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Laurette Cisneros <laurette(at)nextbus(dot)com>
Cc: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: foreign key problem
Date: 2002-10-08 00:21:31
Message-ID: 20021007171922.N82652-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


On Mon, 7 Oct 2002, Laurette Cisneros wrote:

>
> I have two tables:
>
> create table table1
> ( vers integer,
> table1_id text NOT NULL,
> desc text,
> PRIMARY KEY (rev, table1)id)
> );
>
> create table table2
> ( vers integer,
> othertble_id text NOT NULL,
> table1_id text,
> FOREIGN KEY (rev, othertable_id) REFERENCES othertable
> ON UPDATE CASCADE ON DELETE CASCADE,
> FOREIGN KEY (rev, table1_id) REFERENCES table1
> ON UPDATE CASCADE ON DELETE CASCADE,
> PRIMARY KEY (rev, othertable_id, table1_id)
> );
>
> As you can see, table2 has a foreign key reference to table1 and also
> includes on delete cascade (and on update cascade).
>
> There has been a lot of activity in this database on these tables in
> particular in the last several days and somehow we've ended up with rows in
> table2 that have table1_ids that do not exist in table1.
>
> How is this possible? I've tried to reproduce this, but haven't been able
> to yet. This has happened to use several times.

The only thing apart from bugs I can think of would be triggers or rules
that forced the implicit deletes to have another behavior. It'd be
helpful if you can get a representative sequence that reproduces it.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message gordoncl 2002-10-08 02:14:10 Probs "compiling" a function
Previous Message Laurette Cisneros 2002-10-08 00:03:44 foreign key problem