Bonjour Daniel,

IMHO this new setting should be on by default: few people know about \; so
it would not change anything for most, and I do not see why those who use
it would not be interested by the results of all the queries they asked for.
I agree with your opinion.

Ok. I did not yet change the default in the attached version, though.

I'd go further and suggest that there shouldn't be a variable
controlling this. All results that come in should be processed, period.
It's not just about \; If the ability of CALL to produce multiple
resultsets gets implemented (it was posted as a POC during v11
development), this will be needed too.

I do agree, but I'm afraid that if there is no opt-out it could be seen as a regression by some.

This attached version does:
 - ensure that warnings appear just before its
 - add the entry in psql's help
 - redefine the function boundary so that timing is cleaner
 - include somehow improved tests

\errverbose seems to no longer work with the patch:

test=> select 1/0;
psql: ERROR:  division by zero

test=> \errverbose
There is no previous error.

as opposed to this output with PG11:

test=> \errverbose
ERROR:  22012: division by zero
LOCATION:  int4div, int.c:820

Thanks for the catch. I'll investigate.

\errverbose has probably no regression tests because its output includes these ever-changing line numbers; hence `make check` cannot be used to find this regression.

What is not tested does not work:-( The TAP infrastructure for psql included in some patch (https://commitfest.postgresql.org/23/2100/ I guess) would help testing such slightly varying features which cannot be tested with a hardcoded reference text.

--
Fabien.


Reply via email to