Thread: Fwd: Re: HELP! foreign eys & inheritance

Fwd: Re: HELP! foreign eys & inheritance

From
Horst Herb
Date:
Ooops, sorry, error in this example:
> The following example worked in previous versions (7.0.2 was the last I
> tested), but not in 7.1 any more:
>
> create table parent (
> global_id serial
> );
>
> create table child (
> anything text
> ) inherits (parent);
>
> create table foreign (
> fk_id int4 references child(global_id) on update cascade on delete no

action                                 ^^^^^ child, of course, not parent!

> ) inherits (parent);
>
> test.sql:83: ERROR:  UNIQUE constraint matching given keys for referenced
> table "child" not found
> WHY ???
>
> I would appreciate any help. Our database depends heavily on this.
>
> Horst

-------------------------------------------------------


Re: Fwd: Re: HELP! foreign eys & inheritance

From
Stephan Szabo
Date:
You'll need to make a unique index/unique constraint on the fields
of child you wish to constrain.  The unique constraint check wasn't
checked in 7.0, and also unique constraints are not inherited so
it has to be on the actual table you want to reference.

Stephan Szabo
sszabo@bigpanda.com

On Wed, 13 Dec 2000, Horst Herb wrote:

> Ooops, sorry, error in this example:
> > The following example worked in previous versions (7.0.2 was the last I
> > tested), but not in 7.1 any more:
> >
> > create table parent (
> > global_id serial
> > );
> >
> > create table child (
> > anything text
> > ) inherits (parent);
> >
> > create table foreign (
> > fk_id int4 references child(global_id) on update cascade on delete no
> 
> action
>                                   ^^^^^ child, of course, not parent!
> 
> > ) inherits (parent);
> >
> > test.sql:83: ERROR:  UNIQUE constraint matching given keys for referenced
> > table "child" not found
> > WHY ???
> >
> > I would appreciate any help. Our database depends heavily on this.
> >
> > Horst
> 
> -------------------------------------------------------
>