mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-12 18:34:36 +08:00
4a054069a3
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
67 lines
2.5 KiB
Plaintext
67 lines
2.5 KiB
Plaintext
Parsed test spec with 3 sessions
|
|
|
|
starting permutation: s2b s2txid s1init s3b s3txid s2alter s2c s2b s2txid s3c s2c s1insert s1checkpoint s1start s1insert s1alter s1insert s1start
|
|
step s2b: BEGIN;
|
|
step s2txid: SELECT pg_current_xact_id() IS NULL;
|
|
?column?
|
|
--------
|
|
f
|
|
(1 row)
|
|
|
|
step s1init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); <waiting ...>
|
|
step s3b: BEGIN;
|
|
step s3txid: SELECT pg_current_xact_id() IS NULL;
|
|
?column?
|
|
--------
|
|
f
|
|
(1 row)
|
|
|
|
step s2alter: ALTER TABLE do_write ADD COLUMN addedbys2 int;
|
|
step s2c: COMMIT;
|
|
step s2b: BEGIN;
|
|
step s2txid: SELECT pg_current_xact_id() IS NULL;
|
|
?column?
|
|
--------
|
|
f
|
|
(1 row)
|
|
|
|
step s3c: COMMIT;
|
|
step s1init: <... completed>
|
|
?column?
|
|
--------
|
|
init
|
|
(1 row)
|
|
|
|
step s2c: COMMIT;
|
|
step s1insert: INSERT INTO do_write DEFAULT VALUES;
|
|
step s1checkpoint: CHECKPOINT;
|
|
step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
|
|
data
|
|
--------------------------------------------------------------------
|
|
BEGIN
|
|
table public.do_write: INSERT: id[integer]:1 addedbys2[integer]:null
|
|
COMMIT
|
|
(3 rows)
|
|
|
|
step s1insert: INSERT INTO do_write DEFAULT VALUES;
|
|
step s1alter: ALTER TABLE do_write ADD COLUMN addedbys1 int;
|
|
step s1insert: INSERT INTO do_write DEFAULT VALUES;
|
|
step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
|
|
data
|
|
--------------------------------------------------------------------------------------------
|
|
BEGIN
|
|
table public.do_write: INSERT: id[integer]:2 addedbys2[integer]:null
|
|
COMMIT
|
|
BEGIN
|
|
COMMIT
|
|
BEGIN
|
|
table public.do_write: INSERT: id[integer]:3 addedbys2[integer]:null addedbys1[integer]:null
|
|
COMMIT
|
|
(8 rows)
|
|
|
|
?column?
|
|
--------
|
|
stop
|
|
(1 row)
|
|
|