FK column doesn't exist error message could use more detail - Mailing list pgsql-hackers

From decibel
Subject FK column doesn't exist error message could use more detail
Date
Msg-id B72A2FB7-C13A-4990-A612-F94E552EAABD@decibel.org
Whole thread Raw
Responses Re: FK column doesn't exist error message could use more detail  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
create table a(a_id serial primary key, a int);
create table b(b_id serial primary key, a_id int not null references a 
(id), b int, c_id int not null references c(id));
NOTICE:  CREATE TABLE will create implicit sequence "b_id_seq" for  
serial column "b.b_id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index  
"b_pkey" for table "b"
ERROR:  column "id" referenced in foreign key constraint does not exist

How can I tell which FK constraint that's for? Could we have backend/ 
tablecmds.c:transformColumnNameList() report the constraint name?  
Though, that wouldn't be quite enough if you did:

CREATE TABLE a(a_id ...)
CREATE TABLE b(.., a_id int not null, foreign key(id) references a(id))

Handling that would require passing something into  
transformColumnNameList() to tell it if it was checking fk_attrs vs  
pk_attrs. Perhaps that's overkill... Thoughts?
-- 
Decibel!, aka Jim C. Nasby, Database Architect  decibel@decibel.org
Give your computer some brain candy! www.distributed.net Team #1828




pgsql-hackers by date:

Previous
From: Joshua Brindle
Date:
Subject: Re: 8SEPostgres WAS: .4 release planning
Next
From: Ron Mayer
Date:
Subject: Re: 8.4 release planning