mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-31 02:47:26 +02:00
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
41 lines
1.3 KiB
Plaintext
41 lines
1.3 KiB
Plaintext
Parsed test spec with 2 sessions
|
|
|
|
starting permutation: s0_begin s0_getxid s1_begin s1_insert s0_alter s0_commit s0_checkpoint s0_get_changes s0_get_changes s1_commit s0_vacuum s0_get_changes
|
|
step s0_begin: BEGIN;
|
|
step s0_getxid: SELECT pg_current_xact_id() IS NULL;
|
|
?column?
|
|
--------
|
|
f
|
|
(1 row)
|
|
|
|
step s1_begin: BEGIN;
|
|
step s1_insert: INSERT INTO harvest VALUES ((1, 2, 3));
|
|
step s0_alter: ALTER TYPE basket DROP ATTRIBUTE mangos;
|
|
step s0_commit: COMMIT;
|
|
step s0_checkpoint: CHECKPOINT;
|
|
step s0_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
|
|
data
|
|
----
|
|
(0 rows)
|
|
|
|
step s0_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
|
|
data
|
|
----
|
|
(0 rows)
|
|
|
|
step s1_commit: COMMIT;
|
|
step s0_vacuum: VACUUM pg_attribute;
|
|
step s0_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
|
|
data
|
|
------------------------------------------------------
|
|
BEGIN
|
|
table public.harvest: INSERT: fruits[basket]:'(1,2,3)'
|
|
COMMIT
|
|
(3 rows)
|
|
|
|
?column?
|
|
--------
|
|
stop
|
|
(1 row)
|
|
|