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.