RI constraints do not follow inheritance trees at this time.
The constraint is looking for rows in objects (not objects*) for
the matching pk value. There really isn't a work around I can think
of at this time.
Stephan Szabo
sszabo@bigpanda.com
On Fri, 13 Oct 2000, Nico D wrote:
> Please let me know what I've missed about the referential
> integrity ?
> (using PG v.7.0.2)
>
>
> test=> create table objects (id serial);
> NOTICE: CREATE TABLE will create implicit sequence 'objects_id_seq' for SERIAL column 'objects.id'
> NOTICE: CREATE TABLE/UNIQUE will create implicit index 'objects_id_key' for table 'objects'
> CREATE
>
> test=> create table books (title name) inherits(objects);
> CREATE
>
> test=> create table opinions (idobject int4 REFERENCES objects(id) ON UPDATE CASCADE, comment text);
> NOTICE: CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
> NOTICE: _outNode: don't know how to print type 726
> CREATE
>
> test=> insert into books (title) values ('DataBases');
> INSERT 691707 1
> test=> select * from objects*;
> id
> ----
> 1
> (1 row)
>
> test=> select * from books;
> id | title
> ----+-----------
> 1 | DataBases
> (1 row)
>
> test=> insert into opinions (idobject, comment) values (1, 'Very Wise');
> ERROR: <unnamed> referential integrity violation - key referenced from opinions not found in objects
>
> test=>
>
>