Re: Error message inconsistency
Fabrízio de Royes Mello <fabriziomello@gmail.com>
From: Fabrízio de Royes Mello <fabriziomello@gmail.com>
To: Simon Riggs <simon@2ndquadrant.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2019-03-22T23:03:20Z
Lists: pgsql-hackers
On Fri, Mar 22, 2019 at 2:25 PM Simon Riggs <simon@2ndquadrant.com> wrote: > > As noted by a PostgreSQL user to me, error messages for NOT NULL constraints are inconsistent - they do not mention the relation name in the message, as all other variants of this message do. e.g. > > postgres=# create table nn (id integer not null); > CREATE TABLE > postgres=# insert into nn values (NULL); > ERROR: null value in column "id" violates not-null constraint > DETAIL: Failing row contains (null). > > postgres=# create table nn2 (id integer check (id is not null)); > CREATE TABLE > postgres=# insert into nn2 values (NULL); > ERROR: new row for relation "nn2" violates check constraint "nn2_id_check" > DETAIL: Failing row contains (null). > > I propose the attached patch as a fix, changing the wording (of the first case) to > ERROR: null value in column "id" for relation "nn" violates not-null constraint > > It causes breakage in multiple tests, which is easy to fix once/if we agree to change. > I totally agree with that change because I already get some negative feedback from users about this message too. Regards, -- Fabrízio de Royes Mello Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
Commits
-
Added relation name in error messages for constraint checks.
- 05f18c6b6b6e 13.0 landed