Referencing Problem/bug? - Mailing list pgsql-general

From J A Stride
Subject Referencing Problem/bug?
Date
Msg-id 200303282246.51341.j.a.stride@ncl.ac.uk
Whole thread Raw
Responses Re: Referencing Problem/bug?  (Dennis Gearon <gearond@cvc.net>)
Re: Referencing Problem/bug?  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Re: Referencing Problem/bug?  (James Gregory <james@anchor.net.au>)
List pgsql-general
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I have a problem with referencing keys. I have several tables:

Resource table with a unique serial:

create table resource (id bigserial not null unique, type int, units int not
null, stdrate int not null default 0, projectid bigint references project(id)
on update cascade on delete cascade not null, notes varchar, primary key
(id));

A person resource that inherits from the resource:

create table personresource (personid bigint references person(id) on update
cascade on delete cascade not null,primary key (projectid,personid)) inherits
(resource);

A resource group:

create table resourcegroup (id bigserial not null unique, projectid bigint
references project(id) on update cascade on delete cascade not null, personid
bigint references person(id) on update cascade on delete cascade not null,
name varchar not null, primary key(projectid, name));

A cross reference table that contains all the resources in the resource group:

create table resourcegroupxref (resourcegroupid bigint references
resourcegroup(id) on update cascade on delete cascade not null, resourceid
bigint references resource(id) on update cascade on delete cascade not null,
primary key(resourcegroupid,resourceid));

However if I do an insert into the person resource (which means that there is
a value in the resource table) and the resource group I cannot put the id's
from the insert's into the cross reference table as it fails with:

ERROR:  <unnamed> referential integrity violation - key referenced from
resourcegroupxref not found in resource

Is there a reason that I am missing as to why I cannot reference a value in a
table that is inherited from?

Thanks

Jake
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE+hNDZIxynSpxMjtERAnhKAKCx5xwbZ9wnBBVLz4Sqmn+C6ribPQCgvMDD
Sgn0u97/rlK1DMxSx5JqCY0=
=AfQ7
-----END PGP SIGNATURE-----


pgsql-general by date:

Previous
From: Flower Sun
Date:
Subject: Re: About OIDs
Next
From: "Chris Smith"
Date:
Subject: Re: Please help with this error message