Re: Unclear error message

Laurenz Albe <laurenz.albe@cybertec.at>

From: Laurenz Albe <laurenz.albe@cybertec.at>
To: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-hackers@postgresql.org
Date: 2018-10-06T21:16:09Z
Lists: pgsql-hackers

Attachments

Michael Paquier wrote:
> On Thu, Sep 20, 2018 at 09:45:09PM +0200, Laurenz Albe wrote:
> > That message is wrong, because "rel" and not "pkrel" is the partitioned table.
> > I think it should be
> > 
> >         ereport(ERROR,
> >                 (errcode(ERRCODE_WRONG_OBJECT_TYPE),
> >                  errmsg("foreign key cannot be defined on ONLY \"%s\" for a partitioned table",
> >                         Relatio
> > nGetRelationName(rel))));
> 
> Hmm...  There are no test cases for this error message, nor for the one
> below "cannot add NOT VALID foreign key to relation foo", which is a bad
> idea.
> 
> The referenced relation has to be RELKIND_RELATION.  Here is another
> idea of error message:
> cannot use ONLY on partitioned table "foo" with foreign key

True; how about the attached?

I think this should go in before v11.

Yours,
Laurenz Albe

Commits

  1. Improve two error messages related to foreign keys on partitioned tables