psql - add SHOW_ALL_RESULTS option
Fabien COELHO <coelho@cri.ensmp.fr>
From: Fabien COELHO <coelho@cri.ensmp.fr>
To: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2019-04-13T20:37:37Z
Lists: pgsql-hackers
Attachments
- psql-show-all-results-1.patch (text/x-diff) patch
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.
Commits
-
psql: Show all query results by default
- 7844c9918a43 15.0 landed
- 3a5130672296 14.0 landed
-
psql: Refactor ProcessResult()
- 5519d5affdfa 15.0 landed
-
psql: Refactor SendQuery()
- 8910a25fef3d 15.0 landed
-
psql: Add test for psql behavior on server crash
- 8cd7627c7b19 15.0 landed
-
psql: Additional tests
- 9028cce426ba 15.0 landed
-
Improve some psql test code
- fbee60f6a4ff 15.0 landed
-
psql: Fix some scan-build warnings
- 390edeeb570c 15.0 landed
-
psql: Add test for handling of replication commands
- 67c069848a99 15.0 landed
-
psql: More tests
- c0280bc3edeb 15.0 landed
-
psql: Add various tests
- 14d755b00037 15.0 landed
-
psql: Add test for query canceling
- 5b3f471ff23a 15.0 landed
-
Revert "psql: Show all query results by default"
- fae65629cec8 14.0 landed
-
Extend a test case a little
- b3a9e9897ec7 14.0 landed