
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
50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
Parsed test spec with 3 sessions
|
|
|
|
starting permutation: s0_begin s0_first_subxact s2_checkpoint s1_begin s1_dml s0_many_subxacts s0_commit s2_checkpoint s2_get_changes_suppress_output s2_get_changes_suppress_output s1_commit s2_get_changes
|
|
step s0_begin: BEGIN;
|
|
step s0_first_subxact:
|
|
DO LANGUAGE plpgsql $$
|
|
BEGIN
|
|
BEGIN
|
|
INSERT INTO harvest VALUES (41);
|
|
EXCEPTION WHEN OTHERS THEN RAISE;
|
|
END;
|
|
END $$;
|
|
|
|
step s2_checkpoint: CHECKPOINT;
|
|
step s1_begin: BEGIN;
|
|
step s1_dml: INSERT INTO harvest VALUES (43);
|
|
step s0_many_subxacts: select subxacts();
|
|
subxacts
|
|
--------
|
|
|
|
(1 row)
|
|
|
|
step s0_commit: COMMIT;
|
|
step s2_checkpoint: CHECKPOINT;
|
|
step s2_get_changes_suppress_output: SELECT null n FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1') GROUP BY n;
|
|
n
|
|
-
|
|
|
|
(1 row)
|
|
|
|
step s2_get_changes_suppress_output: SELECT null n FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1') GROUP BY n;
|
|
n
|
|
-
|
|
(0 rows)
|
|
|
|
step s1_commit: COMMIT;
|
|
step s2_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: apples[integer]:43
|
|
COMMIT
|
|
(3 rows)
|
|
|
|
?column?
|
|
--------
|
|
stop
|
|
(1 row)
|
|
|