Re: psql - add SHOW_ALL_RESULTS option
Peter Eisentraut <peter.eisentraut@enterprisedb.com>
From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Fabien COELHO <coelho@cri.ensmp.fr>
Cc: "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2022-03-22T14:52:21Z
Lists: pgsql-hackers
On 17.03.22 19:04, Fabien COELHO wrote: > > Hello Peter, > >>> See attached v16 which removes the libpq workaround. >> >> I suppose this depends on >> >> https://www.postgresql.org/message-id/flat/ab4288f8-be5c-57fb-2400-e3e857f53e46%40enterprisedb.com >> >> >> getting committed, because right now this makes the psql TAP tests >> fail because of the duplicate error message. >> >> How should we handle that? > > Ok, it seems I got the patch wrong. > > Attached v17 is another try. The point is to record the current status, > whatever it is, buggy or not, and to update the test when libpq fixes > things, whenever this is done. Your patch contains this test case: +# Test voluntary crash +my ($ret, $out, $err) = $node->psql( + 'postgres', + "SELECT 'before' AS running;\n" . + "SELECT pg_terminate_backend(pg_backend_pid());\n" . + "SELECT 'AFTER' AS not_running;\n"); + +is($ret, 2, "server stopped"); +like($out, qr/before/, "output before crash"); +ok($out !~ qr/AFTER/, "no output after crash"); +is($err, 'psql:<stdin>:2: FATAL: terminating connection due to administrator command +psql:<stdin>:2: FATAL: terminating connection due to administrator command +server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +psql:<stdin>:2: fatal: connection to server was lost', "expected error message"); The expected output (which passes) contains this line twice: psql:<stdin>:2: FATAL: terminating connection due to administrator command psql:<stdin>:2: FATAL: terminating connection due to administrator command If I paste this test case into current master without your patch, I only get this line once. So your patch is changing this output. The whole point of the libpq fixes was to not have this duplicate output. So I think something is still wrong somewhere.
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