Re: psql - add special variable to reflect the last query status
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Fabien COELHO <coelho@cri.ensmp.fr>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Pavel Stehule <pavel.stehule@gmail.com>, PostgreSQL Developers <pgsql-hackers@postgresql.org>
Date: 2017-09-12T18:43:13Z
Lists: pgsql-hackers
On Tue, Sep 12, 2017 at 1:23 PM, Fabien COELHO <coelho@cri.ensmp.fr> wrote: > I added two error codes, which is debatable. One is used hardcoded by libpq > if no diagnostic is found, and the other by psql if libpq returned something > empty, which might happen if psql is linked with an older libpq, maybe. I do > not know how to trigger such errors anyway, so this is rather academic. I think this is a bad plan. Right now, libpq sets no SQLSTATE for internally generated errors; it is almost certain that there are applications testing for an empty SQLSTATE to notice when they're getting an error from libpq. EnterpriseDB had a support ticket quite recently where this precise behavior was at issue. Changing it will break stuff, so we shouldn't do it unless there's a really compelling benefit. Universally returning PQ000 is not a sufficient improvement over universally returning the empty string to justify the risk of application breakage. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Add psql variables to track success/failure of SQL queries.
- 69835bc89888 11.0 landed