psql - add SHOW_ALL_RESULTS option

From: Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>
To: PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: psql - add SHOW_ALL_RESULTS option
Date: 2019-04-13 20:37:37
Message-ID: alpine.DEB.2.21.1904132231510.8961@lancre
Views: Raw Message | Whole Thread | Download mbox
Thread:
Lists: pgsql-hackers


Hello devs,

The attached patch implements a new SHOW_ALL_RESULTS option for psql,
which shows all results of a combined query (\;) instead of only the last
one.

This solves a frustration that intermediate results were hidden from view
for no good reason that I could think of.

For that, call PQsendQuery instead of (mostly not documented) PQexec, and
rework how results are processed afterwards.

Timing is moved to ProcessQueryResults to keep the last result handling
out of the measured time. I think it would not be a big deal to include
it, but this is the previous behavior.

In passing, refactor a little and add comments. Make function names about
results plural or singular consistently with the fact the it processes one
or several results. Change "PrintQueryResult" to "HandleQueryResult"
because it was not always printing something. Also add a HandleCopyResult
function, which makes the patch a little bigger by moving things around
but clarifies the code.

Code in "common.c" is actually a little shorter than the previous version.
From my point of view the code is clearer than before because there is
only one loop over results, not an implicit one within PQexec and another
one afterwards to handle copy.

Add a few tests for the new feature.

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.

--
Fabien.

Attachment Content-Type Size
psql-show-all-results-1.patch text/x-diff 18.7 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2019-04-13 20:42:52 Re: Should the docs have a warning about pg_stat_reset()?
Previous Message Tom Lane 2019-04-13 20:27:56 Re: Commit message / hash in commitfest page.