Re: Add schema-qualified relnames in constraint error messages.

From: Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Petr Korobeinikov <pkorobeinikov(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Add schema-qualified relnames in constraint error messages.
Date: 2016-01-06 04:06:17
Message-ID: 568C92B9.7040300@BlueTreble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 1/5/16 9:16 PM, Tom Lane wrote:
> Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com> writes:
>> FWIW, I suspect very few people know about the verbosity setting (I
>> didn't until a few months ago...) Maybe psql should hint about it the
>> first time an error is reported in a session.
>
> Actually, what'd be really handy IMO is something to regurgitate the
> most recent error in verbose mode, without making a permanent session
> state change. Something like
>
> regression=# insert into bar values(1);
> ERROR: insert or update on table "bar" violates foreign key constraint "bar_f1_fkey"
> DETAIL: Key (f1)=(1) is not present in table "foo".
> regression=# \saywhat
> ERROR: 23503: insert or update on table "bar" violates foreign key constraint "bar_f1_fkey"
> DETAIL: Key (f1)=(1) is not present in table "foo".
> SCHEMA NAME: public
> TABLE NAME: bar
> CONSTRAINT NAME: bar_f1_fkey
> LOCATION: ri_ReportViolation, ri_triggers.c:3326
> regression=#
>
> Not sure how hard that would be to do within psql's current structure.

At first glance, it looks like it just means changing AcceptResult() to
use PQresultErrorField in addition to PQresultErrorMessage, and stuffing
the results somewhere. And of course adding \saywhat to the psql parser,
but maybe someone more versed in psql code can verify that.

If it is that simple, looks like another good beginner hacker task. :)
--
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Haribabu Kommi 2016-01-06 04:07:01 Re: Multi-tenancy with RLS
Previous Message Tom Lane 2016-01-06 03:16:58 Re: Add schema-qualified relnames in constraint error messages.