mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-04 01:26:49 +02:00
e33d004900
Commit 5a3574d7b3
added the test for decoding of two-phase transactions
during the build of a consistent snapshot. The test forgot to skip empty
xacts which can lead to decoding of extra empty transactions due to
background activity by autovacuum.
Per report by buildfarm.
Reported-by: Tom Lane
Discussion: https://postgr.es/m/363512.1610171267@sss.pgh.pa.us
42 lines
1.3 KiB
Plaintext
42 lines
1.3 KiB
Plaintext
Parsed test spec with 3 sessions
|
|
|
|
starting permutation: s2b s2txid s1init s3b s3txid s2c s2b s2insert s2p s3c s1insert s1start s2cp s1start
|
|
step s2b: BEGIN;
|
|
step s2txid: SELECT pg_current_xact_id() IS NULL;
|
|
?column?
|
|
|
|
f
|
|
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
|
|
step s2c: COMMIT;
|
|
step s2b: BEGIN;
|
|
step s2insert: INSERT INTO do_write DEFAULT VALUES;
|
|
step s2p: PREPARE TRANSACTION 'test1';
|
|
step s3c: COMMIT;
|
|
step s1init: <... completed>
|
|
?column?
|
|
|
|
init
|
|
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', 'skip-empty-xacts', '1', 'two-phase-commit', '1');
|
|
data
|
|
|
|
BEGIN
|
|
table public.do_write: INSERT: id[integer]:2
|
|
COMMIT
|
|
step s2cp: COMMIT PREPARED 'test1';
|
|
step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false', 'skip-empty-xacts', '1', 'two-phase-commit', '1');
|
|
data
|
|
|
|
BEGIN
|
|
table public.do_write: INSERT: id[integer]:1
|
|
PREPARE TRANSACTION 'test1'
|
|
COMMIT PREPARED 'test1'
|
|
?column?
|
|
|
|
stop
|