Improve display of query results in isolation tests.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 23 Jun 2021 15:12:31 +0000 (11:12 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 23 Jun 2021 15:13:00 +0000 (11:13 -0400)
commit4a054069a36032a59afceb07f3b837f09ab1a2e9
treebd1b3af2b44313e68c8f1d4f59edc87ad8bd6c3e
parent24043c27b46f873211177e3460ab09dc011802a5
Improve display of query results in isolation tests.

Previously, isolationtester displayed SQL query results using some
ad-hoc code that clearly hadn't had much effort expended on it.
Field values longer than 14 characters weren't separated from
the next field, and usually caused misalignment of the columns
too.  Also there was no visual separation of a query's result
from subsequent isolationtester output.  This made test result
files confusing and hard to read.

To improve matters, let's use libpq's PQprint() function.  Although
that's long since unused by psql, it's still plenty good enough
for the purpose here.

Like 741d7f104, back-patch to all supported branches, so that this
isn't a stumbling block for back-patching isolation test changes.

Discussion: https://postgr.es/m/582362.1623798221@sss.pgh.pa.us
104 files changed:
contrib/test_decoding/expected/concurrent_ddl_dml.out
contrib/test_decoding/expected/concurrent_stream.out
contrib/test_decoding/expected/delayed_startup.out
contrib/test_decoding/expected/mxact.out
contrib/test_decoding/expected/oldest_xmin.out
contrib/test_decoding/expected/ondisk_startup.out
contrib/test_decoding/expected/snapshot_transfer.out
contrib/test_decoding/expected/subxact_without_top.out
contrib/test_decoding/expected/twophase_snapshot.out
src/test/isolation/expected/aborted-keyrevoke.out
src/test/isolation/expected/alter-table-1.out
src/test/isolation/expected/alter-table-2.out
src/test/isolation/expected/alter-table-3.out
src/test/isolation/expected/alter-table-4.out
src/test/isolation/expected/async-notify.out
src/test/isolation/expected/classroom-scheduling.out
src/test/isolation/expected/create-trigger.out
src/test/isolation/expected/deadlock-parallel.out
src/test/isolation/expected/delete-abort-savept-2.out
src/test/isolation/expected/delete-abort-savept.out
src/test/isolation/expected/detach-partition-concurrently-1.out
src/test/isolation/expected/detach-partition-concurrently-2.out
src/test/isolation/expected/detach-partition-concurrently-3.out
src/test/isolation/expected/detach-partition-concurrently-4.out
src/test/isolation/expected/drop-index-concurrently-1.out
src/test/isolation/expected/drop-index-concurrently-1_2.out
src/test/isolation/expected/eval-plan-qual-trigger.out
src/test/isolation/expected/eval-plan-qual.out
src/test/isolation/expected/fk-partitioned-2.out
src/test/isolation/expected/freeze-the-dead.out
src/test/isolation/expected/horizons.out
src/test/isolation/expected/inherit-temp.out
src/test/isolation/expected/insert-conflict-do-nothing-2.out
src/test/isolation/expected/insert-conflict-do-nothing.out
src/test/isolation/expected/insert-conflict-do-update-2.out
src/test/isolation/expected/insert-conflict-do-update-3.out
src/test/isolation/expected/insert-conflict-do-update.out
src/test/isolation/expected/insert-conflict-specconflict.out
src/test/isolation/expected/lock-committed-keyupdate.out
src/test/isolation/expected/lock-committed-update.out
src/test/isolation/expected/lock-update-delete.out
src/test/isolation/expected/lock-update-delete_1.out
src/test/isolation/expected/lock-update-traversal.out
src/test/isolation/expected/multiple-cic.out
src/test/isolation/expected/multiple-row-versions.out
src/test/isolation/expected/multixact-no-deadlock.out
src/test/isolation/expected/multixact-no-forget.out
src/test/isolation/expected/multixact-no-forget_1.out
src/test/isolation/expected/nowait-2.out
src/test/isolation/expected/nowait-3.out
src/test/isolation/expected/nowait-4.out
src/test/isolation/expected/nowait-4_1.out
src/test/isolation/expected/nowait-5.out
src/test/isolation/expected/nowait.out
src/test/isolation/expected/partial-index.out
src/test/isolation/expected/partition-concurrent-attach.out
src/test/isolation/expected/partition-key-update-2.out
src/test/isolation/expected/partition-key-update-3.out
src/test/isolation/expected/partition-key-update-4.out
src/test/isolation/expected/plpgsql-toast.out
src/test/isolation/expected/predicate-gin.out
src/test/isolation/expected/predicate-gist.out
src/test/isolation/expected/predicate-hash.out
src/test/isolation/expected/predicate-lock-hot-tuple.out
src/test/isolation/expected/prepared-transactions-cic.out
src/test/isolation/expected/prepared-transactions.out
src/test/isolation/expected/project-manager.out
src/test/isolation/expected/read-only-anomaly-2.out
src/test/isolation/expected/read-only-anomaly-3.out
src/test/isolation/expected/read-only-anomaly.out
src/test/isolation/expected/read-write-unique-2.out
src/test/isolation/expected/read-write-unique-3.out
src/test/isolation/expected/read-write-unique-4.out
src/test/isolation/expected/read-write-unique.out
src/test/isolation/expected/receipt-report.out
src/test/isolation/expected/referential-integrity.out
src/test/isolation/expected/reindex-concurrently.out
src/test/isolation/expected/ri-trigger.out
src/test/isolation/expected/sequence-ddl.out
src/test/isolation/expected/serializable-parallel-2.out
src/test/isolation/expected/serializable-parallel.out
src/test/isolation/expected/skip-locked-2.out
src/test/isolation/expected/skip-locked-3.out
src/test/isolation/expected/skip-locked-4.out
src/test/isolation/expected/skip-locked-4_1.out
src/test/isolation/expected/skip-locked.out
src/test/isolation/expected/temporal-range-integrity.out
src/test/isolation/expected/timeouts.out
src/test/isolation/expected/total-cash.out
src/test/isolation/expected/truncate-conflict.out
src/test/isolation/expected/tuplelock-conflict.out
src/test/isolation/expected/tuplelock-partition.out
src/test/isolation/expected/tuplelock-update.out
src/test/isolation/expected/tuplelock-upgrade-no-deadlock.out
src/test/isolation/expected/two-ids.out
src/test/isolation/expected/update-conflict-out.out
src/test/isolation/expected/vacuum-reltuples.out
src/test/isolation/isolationtester.c
src/test/modules/brin/expected/summarization-and-inprogress-insertion.out
src/test/modules/delay_execution/expected/partition-addition.out
src/test/modules/delay_execution/expected/partition-removal-1.out
src/test/modules/snapshot_too_old/expected/sto_using_cursor.out
src/test/modules/snapshot_too_old/expected/sto_using_hash_index.out
src/test/modules/snapshot_too_old/expected/sto_using_select.out