Error message for FK referencing deferrable unique/PK - Mailing list pgsql-hackers

From Dean Rasheed
Subject Error message for FK referencing deferrable unique/PK
Date
Msg-id 8e2dbb700908120220q348b64e0h780fac38f1206ed9@mail.gmail.com
Whole thread Raw
Responses Re: Error message for FK referencing deferrable unique/PK  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
While looking at this report

http://archives.postgresql.org/pgsql-bugs/2009-08/msg00083.php

I spotted another error message which could use improvement:

CREATE TABLE foo(a int PRIMARY KEY DEFERRABLE);
CREATE TABLE bar(a int REFERENCES foo(a));

ERROR:  there is no unique constraint matching given keys for
referenced table "foo"

Whereas if you define the FK slightly differently so that it goes
through transformFkeyGetPrimaryKey() instead, you get a much better
error message:

CREATE TABLE bar(a int REFERENCES foo);

ERROR:  cannot use a deferrable primary key for referenced table "foo"

The attached patch to transformFkeyCheckAttrs() makes the former case
generate a similar error to the latter.

 - Dean

Attachment

pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: [BUGS] BUG #4961: pg_standby.exe crashes with no args
Next
From: Greg Stark
Date:
Subject: Re: "Hot standby"?