diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/mxact.out C:/cirrus/build/testrun/test_decoding/isolation/results/mxact.out --- C:/cirrus/contrib/test_decoding/expected/mxact.out 2025-03-31 15:02:22.196089000 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/mxact.out 2025-03-31 15:08:24.114640400 +0000 @@ -1,90 +1,6 @@ Parsed test spec with 3 sessions starting permutation: s0init s0start s1begin s1sharepgclass s2begin s2sharepgclass s0w s0start s2commit s1commit -step s0init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false'); -data ----- -(0 rows) - -step s1begin: BEGIN; -step s1sharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR SHARE) s; -?column? --------- -t -(1 row) - -step s2begin: BEGIN; -step s2sharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR SHARE) s; -?column? --------- -t -(1 row) - -step s0w: INSERT INTO do_write DEFAULT VALUES; -step s0start: 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 -COMMIT -(3 rows) - -step s2commit: COMMIT; -step s1commit: COMMIT; -?column? --------- -stop -(1 row) - - -starting permutation: s0init s0start s1begin s1keysharepgclass s2begin s2keysharepgclass s0alter s0w s0start s2commit s1commit -step s0init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false'); -data ----- -(0 rows) - -step s1begin: BEGIN; -step s1keysharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR KEY SHARE) s; -?column? --------- -t -(1 row) - -step s2begin: BEGIN; -step s2keysharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR KEY SHARE) s; -?column? --------- -t -(1 row) - -step s0alter: ALTER TABLE do_write ADD column ts timestamptz; -step s0w: INSERT INTO do_write DEFAULT VALUES; -step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false'); -data ------------------------------------------------------------------------------- -BEGIN -COMMIT -BEGIN -table public.do_write: INSERT: id[integer]:1 ts[timestamp with time zone]:null -COMMIT -(5 rows) - -step s2commit: COMMIT; -step s1commit: COMMIT; -?column? --------- -stop -(1 row) - +setup failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/delayed_startup.out C:/cirrus/build/testrun/test_decoding/isolation/results/delayed_startup.out --- C:/cirrus/contrib/test_decoding/expected/delayed_startup.out 2025-03-31 15:02:22.194203300 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/delayed_startup.out 2025-03-31 15:08:24.276219800 +0000 @@ -1,50 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s1w s2init s1c s2start s1b s1w s1c s2start s1b s1w s2start s1c s2start -step s1b: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1w: INSERT INTO do_write DEFAULT VALUES; -step s2init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -step s1c: COMMIT; -step s2init: <... completed> -?column? --------- -init -(1 row) - -step s2start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false'); -data ----- -(0 rows) - -step s1b: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1w: INSERT INTO do_write DEFAULT VALUES; -step s1c: COMMIT; -step s2start: 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 -COMMIT -(3 rows) - -step s1b: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1w: INSERT INTO do_write DEFAULT VALUES; -step s2start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false'); -data ----- -(0 rows) - -step s1c: COMMIT; -step s2start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false'); -data --------------------------------------------- -BEGIN -table public.do_write: INSERT: id[integer]:3 -COMMIT -(3 rows) - -?column? --------- -stop -(1 row) - +Connection 0 failed: connection to server on socket "c:/cirrus//.s.PGSQL.40046" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/ondisk_startup.out C:/cirrus/build/testrun/test_decoding/isolation/results/ondisk_startup.out --- C:/cirrus/contrib/test_decoding/expected/ondisk_startup.out 2025-03-31 15:02:22.196185800 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/ondisk_startup.out 2025-03-31 15:08:25.800093900 +0000 @@ -1,66 +1,6 @@ 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'); -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) - +setup failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/catalog_change_snapshot.out C:/cirrus/build/testrun/test_decoding/isolation/results/catalog_change_snapshot.out --- C:/cirrus/contrib/test_decoding/expected/catalog_change_snapshot.out 2025-03-31 15:02:22.189818800 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/catalog_change_snapshot.out 2025-03-31 15:08:27.361615500 +0000 @@ -1,143 +1,6 @@ Parsed test spec with 3 sessions starting permutation: s0_init s0_begin s0_savepoint s0_truncate s1_checkpoint s1_get_changes s0_commit s0_begin s0_insert s1_checkpoint s1_get_changes s0_commit s1_get_changes -step s0_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s0_begin: BEGIN; -step s0_savepoint: SAVEPOINT sp1; -step s0_truncate: TRUNCATE tbl1; -step s1_checkpoint: CHECKPOINT; -step s1_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data ----- -(0 rows) - -step s0_commit: COMMIT; -step s0_begin: BEGIN; -step s0_insert: INSERT INTO tbl1 VALUES (1); -step s1_checkpoint: CHECKPOINT; -step s1_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data ---------------------------------------- -BEGIN -table public.tbl1: TRUNCATE: (no-flags) -COMMIT -(3 rows) - -step s0_commit: COMMIT; -step s1_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data -------------------------------------------------------------- -BEGIN -table public.tbl1: INSERT: val1[integer]:1 val2[integer]:null -COMMIT -(3 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s0_init s0_begin s0_truncate s2_begin s2_truncate s1_checkpoint s1_get_changes s0_commit s0_begin s0_insert s1_checkpoint s1_get_changes s2_commit s1_checkpoint s1_get_changes s0_commit s1_get_changes -step s0_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s0_begin: BEGIN; -step s0_truncate: TRUNCATE tbl1; -step s2_begin: BEGIN; -step s2_truncate: TRUNCATE tbl2; -step s1_checkpoint: CHECKPOINT; -step s1_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data ----- -(0 rows) - -step s0_commit: COMMIT; -step s0_begin: BEGIN; -step s0_insert: INSERT INTO tbl1 VALUES (1); -step s1_checkpoint: CHECKPOINT; -step s1_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data ---------------------------------------- -BEGIN -table public.tbl1: TRUNCATE: (no-flags) -COMMIT -(3 rows) - -step s2_commit: COMMIT; -step s1_checkpoint: CHECKPOINT; -step s1_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data ---------------------------------------- -BEGIN -table public.tbl2: TRUNCATE: (no-flags) -COMMIT -(3 rows) - -step s0_commit: COMMIT; -step s1_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data -------------------------------------------------------------- -BEGIN -table public.tbl1: INSERT: val1[integer]:1 val2[integer]:null -COMMIT -(3 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s0_init s0_begin s0_savepoint s0_insert s1_checkpoint s1_get_changes s0_insert2 s0_commit s0_begin s0_insert s1_checkpoint s1_get_changes s0_commit s1_get_changes -step s0_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s0_begin: BEGIN; -step s0_savepoint: SAVEPOINT sp1; -step s0_insert: INSERT INTO tbl1 VALUES (1); -step s1_checkpoint: CHECKPOINT; -step s1_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data ----- -(0 rows) - -step s0_insert2: INSERT INTO user_cat VALUES (1); -step s0_commit: COMMIT; -step s0_begin: BEGIN; -step s0_insert: INSERT INTO tbl1 VALUES (1); -step s1_checkpoint: CHECKPOINT; -step s1_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data -------------------------------------------------------------- -BEGIN -table public.tbl1: INSERT: val1[integer]:1 val2[integer]:null -table public.user_cat: INSERT: val1[integer]:1 -COMMIT -(4 rows) - -step s0_commit: COMMIT; -step s1_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data -------------------------------------------------------------- -BEGIN -table public.tbl1: INSERT: val1[integer]:1 val2[integer]:null -COMMIT -(3 rows) - -?column? --------- -stop -(1 row) - +setup failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/concurrent_ddl_dml.out C:/cirrus/build/testrun/test_decoding/isolation/results/concurrent_ddl_dml.out --- C:/cirrus/contrib/test_decoding/expected/concurrent_ddl_dml.out 2025-03-31 15:02:22.189818800 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/concurrent_ddl_dml.out 2025-03-31 15:08:27.527142800 +0000 @@ -1,799 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_float s1_insert_tbl2 s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_float: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE float; -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[double precision]:1 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl1_float s1_insert_tbl2 s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl1_float: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE float; -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s1_commit: COMMIT; -step s2_alter_tbl1_float: <... completed> -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_char s1_insert_tbl2 s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying; -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[character varying]:'1' -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl1_char s1_insert_tbl2 s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varying; -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s1_commit: COMMIT; -step s2_alter_tbl1_char: <... completed> -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s2_alter_tbl1_float s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s2_alter_tbl1_float: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE float; -step s1_commit: COMMIT; -step s2_alter_tbl1_float: <... completed> -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s2_alter_tbl1_char s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varying; -step s1_commit: COMMIT; -step s2_alter_tbl1_char: <... completed> -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_float s1_insert_tbl2 s2_alter_tbl1_float s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_float: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE float; -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s2_alter_tbl1_float: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE float; -step s1_commit: COMMIT; -step s2_alter_tbl1_float: <... completed> -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[double precision]:1 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_char s1_insert_tbl2 s2_alter_tbl1_char s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying; -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varying; -step s1_commit: COMMIT; -step s2_alter_tbl1_char: <... completed> -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[character varying]:'1' -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s2_alter_tbl2_char s1_begin s1_insert_tbl1 s2_alter_tbl2_text s1_insert_tbl2 s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying; -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_text: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE text; -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1' -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s2_alter_tbl2_char s1_begin s1_insert_tbl1 s2_alter_tbl2_text s1_insert_tbl2 s2_alter_tbl1_char s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying; -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_text: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE text; -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varying; -step s1_commit: COMMIT; -step s2_alter_tbl1_char: <... completed> -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1' -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_boolean s1_insert_tbl2 s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_boolean: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE boolean; -ERROR: column "val2" cannot be cast automatically to type boolean -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_boolean s1_insert_tbl2 s2_alter_tbl1_boolean s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_boolean: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE boolean; -ERROR: column "val2" cannot be cast automatically to type boolean -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s2_alter_tbl1_boolean: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE boolean; -step s1_commit: COMMIT; -step s2_alter_tbl1_boolean: <... completed> -ERROR: column "val2" cannot be cast automatically to type boolean -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_add_int s1_insert_tbl2_3col s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s1_commit s1_begin s2_alter_tbl2_add_int s1_insert_tbl2_3col s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s1_commit: COMMIT; -step s1_begin: BEGIN; -step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -BEGIN -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1 -COMMIT -(7 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_add_float s1_insert_tbl2_3col s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_add_float: ALTER TABLE tbl2 ADD COLUMN val3 FLOAT; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[double precision]:1 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s1_commit s1_begin s2_alter_tbl2_add_float s1_insert_tbl2_3col s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s1_commit: COMMIT; -step s1_begin: BEGIN; -step s2_alter_tbl2_add_float: ALTER TABLE tbl2 ADD COLUMN val3 FLOAT; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -BEGIN -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[double precision]:1 -COMMIT -(7 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_add_char s1_insert_tbl2_3col s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1' -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s1_commit s1_begin s2_alter_tbl2_add_char s1_insert_tbl2_3col s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s1_commit: COMMIT; -step s1_begin: BEGIN; -step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -BEGIN -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1' -COMMIT -(7 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s2_alter_tbl2_add_int s1_begin s1_insert_tbl2_3col s2_alter_tbl2_drop_3rd_col s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER; -step s1_begin: BEGIN; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3; -step s1_commit: COMMIT; -step s2_alter_tbl2_drop_3rd_col: <... completed> -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.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1 -COMMIT -(3 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s2_alter_tbl2_add_int s1_begin s1_insert_tbl2_3col s2_alter_tbl2_drop_3rd_col s1_insert_tbl2 s1_commit s1_insert_tbl2 s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER; -step s1_begin: BEGIN; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3; -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -step s1_commit: COMMIT; -step s2_alter_tbl2_drop_3rd_col: <... completed> -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -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.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:null -COMMIT -BEGIN -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -(7 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s2_alter_tbl2_add_int s1_begin s1_insert_tbl2_3col s2_alter_tbl2_drop_3rd_col s1_commit s2_get_changes s2_alter_tbl2_add_text s1_begin s1_insert_tbl2_3col s2_alter_tbl2_3rd_char s1_insert_tbl2_3col s1_commit s2_get_changes s2_alter_tbl2_3rd_int s1_insert_tbl2_3col s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER; -step s1_begin: BEGIN; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3; -step s1_commit: COMMIT; -step s2_alter_tbl2_drop_3rd_col: <... completed> -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.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1 -COMMIT -(3 rows) - -step s2_alter_tbl2_add_text: ALTER TABLE tbl2 ADD COLUMN val3 TEXT; -step s1_begin: BEGIN; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -step s2_alter_tbl2_3rd_char: ALTER TABLE tbl2 ALTER COLUMN val3 TYPE character varying; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -step s1_commit: COMMIT; -step s2_alter_tbl2_3rd_char: <... completed> -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.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1' -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1' -COMMIT -(4 rows) - -step s2_alter_tbl2_3rd_int: ALTER TABLE tbl2 ALTER COLUMN val3 TYPE int USING val3::integer; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -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.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1 -COMMIT -(3 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s2_alter_tbl2_add_char s1_begin s1_insert_tbl1 s1_insert_tbl2_3col s2_alter_tbl2_3rd_text s1_insert_tbl2_3col s1_commit s1_insert_tbl2_3col s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying; -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -step s2_alter_tbl2_3rd_text: ALTER TABLE tbl2 ALTER COLUMN val3 TYPE text; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -step s1_commit: COMMIT; -step s2_alter_tbl2_3rd_text: <... completed> -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1' -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1' -COMMIT -BEGIN -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1' -COMMIT -(8 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s2_alter_tbl2_add_text s1_begin s1_insert_tbl1 s1_insert_tbl2_3col s2_alter_tbl2_3rd_char s1_insert_tbl2_3col s1_commit s1_insert_tbl2_3col s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s2_alter_tbl2_add_text: ALTER TABLE tbl2 ADD COLUMN val3 TEXT; -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -step s2_alter_tbl2_3rd_char: ALTER TABLE tbl2 ALTER COLUMN val3 TYPE character varying; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -step s1_commit: COMMIT; -step s2_alter_tbl2_3rd_char: <... completed> -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1' -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1' -COMMIT -BEGIN -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1' -COMMIT -(8 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s2_alter_tbl2_add_char s1_begin s1_insert_tbl1 s2_alter_tbl2_3rd_text s1_insert_tbl2_3col s1_commit s2_alter_tbl2_drop_3rd_col s1_insert_tbl2 s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying; -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_3rd_text: ALTER TABLE tbl2 ALTER COLUMN val3 TYPE text; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -step s1_commit: COMMIT; -step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3; -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1' -COMMIT -BEGIN -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -(7 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s2_alter_tbl2_add_text s1_begin s1_insert_tbl1 s2_alter_tbl2_3rd_char s1_insert_tbl2_3col s1_commit s2_alter_tbl2_drop_3rd_col s1_insert_tbl2 s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s2_alter_tbl2_add_text: ALTER TABLE tbl2 ADD COLUMN val3 TEXT; -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_3rd_char: ALTER TABLE tbl2 ALTER COLUMN val3 TYPE character varying; -step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1); -step s1_commit: COMMIT; -step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3; -step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1' -COMMIT -BEGIN -table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -(7 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s1_init s2_alter_tbl2_add_char s1_begin s1_insert_tbl1 s2_alter_tbl2_drop_3rd_col s1_insert_tbl1 s1_commit s2_get_changes -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); -?column? --------- -init -(1 row) - -step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying; -step s1_begin: BEGIN; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3; -step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1); -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.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - +Connection 0 failed: connection to server on socket "c:/cirrus//.s.PGSQL.40046" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/oldest_xmin.out C:/cirrus/build/testrun/test_decoding/isolation/results/oldest_xmin.out --- C:/cirrus/contrib/test_decoding/expected/oldest_xmin.out 2025-03-31 15:02:22.196185800 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/oldest_xmin.out 2025-03-31 15:08:29.024791600 +0000 @@ -1,40 +1,6 @@ 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) - +setup failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/snapshot_transfer.out C:/cirrus/build/testrun/test_decoding/isolation/results/snapshot_transfer.out --- C:/cirrus/contrib/test_decoding/expected/snapshot_transfer.out 2025-03-31 15:02:22.199540700 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/snapshot_transfer.out 2025-03-31 15:08:29.262495900 +0000 @@ -1,61 +1,4 @@ Parsed test spec with 2 sessions starting permutation: s0_begin s0_begin_sub0 s0_log_assignment s0_sub_get_base_snap s1_produce_new_snap s0_insert s0_end_sub0 s0_commit s0_get_changes -step s0_begin: BEGIN; -step s0_begin_sub0: SAVEPOINT s0; -step s0_log_assignment: SELECT pg_current_xact_id() IS NULL; -?column? --------- -f -(1 row) - -step s0_sub_get_base_snap: INSERT INTO dummy VALUES (0); -step s1_produce_new_snap: ALTER TABLE harvest ADD COLUMN mangos int; -step s0_insert: INSERT INTO harvest VALUES (1, 2, 3); -step s0_end_sub0: RELEASE SAVEPOINT s0; -step s0_commit: COMMIT; -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.dummy: INSERT: i[integer]:0 -table public.harvest: INSERT: apples[integer]:1 pears[integer]:2 mangos[integer]:3 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - - -starting permutation: s0_begin s0_begin_sub0 s0_log_assignment s0_begin_sub1 s0_sub_get_base_snap s1_produce_new_snap s0_insert s0_end_sub1 s0_end_sub0 s0_commit s0_get_changes -step s0_begin: BEGIN; -step s0_begin_sub0: SAVEPOINT s0; -step s0_log_assignment: SELECT pg_current_xact_id() IS NULL; -?column? --------- -f -(1 row) - -step s0_begin_sub1: SAVEPOINT s1; -step s0_sub_get_base_snap: INSERT INTO dummy VALUES (0); -step s1_produce_new_snap: ALTER TABLE harvest ADD COLUMN mangos int; -step s0_insert: INSERT INTO harvest VALUES (1, 2, 3); -step s0_end_sub1: RELEASE SAVEPOINT s1; -step s0_end_sub0: RELEASE SAVEPOINT s0; -step s0_commit: COMMIT; -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.dummy: INSERT: i[integer]:0 -table public.harvest: INSERT: apples[integer]:1 pears[integer]:2 mangos[integer]:3 -COMMIT -(4 rows) - -?column? --------- -stop -(1 row) - +setup failed: ERROR: replication slot "isolation_slot" already exists diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/subxact_without_top.out C:/cirrus/build/testrun/test_decoding/isolation/results/subxact_without_top.out --- C:/cirrus/contrib/test_decoding/expected/subxact_without_top.out 2025-03-31 15:02:22.202491000 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/subxact_without_top.out 2025-03-31 15:08:29.476910000 +0000 @@ -1,49 +1,4 @@ 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) - +setup failed: ERROR: replication slot "isolation_slot" already exists diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/concurrent_stream.out C:/cirrus/build/testrun/test_decoding/isolation/results/concurrent_stream.out --- C:/cirrus/contrib/test_decoding/expected/concurrent_stream.out 2025-03-31 15:02:22.190758500 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/concurrent_stream.out 2025-03-31 15:08:29.664905000 +0000 @@ -1,24 +1,4 @@ Parsed test spec with 3 sessions starting permutation: s0_begin s0_ddl s1_ddl s1_begin s1_toast_insert s2_ddl s1_commit s1_get_stream_changes -step s0_begin: BEGIN; -step s0_ddl: CREATE TABLE stream_test1(data bytea); -step s1_ddl: CREATE TABLE stream_test(data bytea); -step s1_begin: BEGIN; -step s1_toast_insert: INSERT INTO stream_test SELECT large_val(); -step s2_ddl: CREATE TABLE stream_test2(data bytea); -step s1_commit: COMMIT; -step s1_get_stream_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL,NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'stream-changes', '1'); -data ----------------------------------------- -opening a streamed block for transaction -streaming change for transaction -closing a streamed block for transaction -committing streamed transaction -(4 rows) - -?column? --------- -stop -(1 row) - +setup failed: ERROR: replication slot "isolation_slot" already exists diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/twophase_snapshot.out C:/cirrus/build/testrun/test_decoding/isolation/results/twophase_snapshot.out --- C:/cirrus/contrib/test_decoding/expected/twophase_snapshot.out 2025-03-31 15:02:22.206869900 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/twophase_snapshot.out 2025-03-31 15:08:31.188852700 +0000 @@ -1,53 +1,6 @@ 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 -(1 row) - -step s1init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding', false, true); -step s3b: BEGIN; -step s3txid: SELECT pg_current_xact_id() IS NULL; -?column? --------- -f -(1 row) - -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 -(1 row) - -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'); -data --------------------------------------------- -BEGIN -table public.do_write: INSERT: id[integer]:2 -COMMIT -(3 rows) - -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'); -data --------------------------------------------- -BEGIN -table public.do_write: INSERT: id[integer]:1 -PREPARE TRANSACTION 'test1' -COMMIT PREPARED 'test1' -(4 rows) - -?column? --------- -stop -(1 row) - +setup failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/slot_creation_error.out C:/cirrus/build/testrun/test_decoding/isolation/results/slot_creation_error.out --- C:/cirrus/contrib/test_decoding/expected/slot_creation_error.out 2025-03-31 15:02:22.199540700 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/slot_creation_error.out 2025-03-31 15:08:32.726474500 +0000 @@ -11,104 +11,7 @@ step s2_init: SELECT 'init' FROM pg_create_logical_replication_slot('slot_creation_error', 'test_decoding'); -step s1_view_slot: - SELECT slot_name, slot_type, active FROM pg_replication_slots WHERE slot_name = 'slot_creation_error' - -slot_name |slot_type|active --------------------+---------+------ -slot_creation_error|logical |t -(1 row) - -step s1_cancel_s2: - SELECT pg_cancel_backend(pid) - FROM pg_stat_activity - WHERE application_name = 'isolation/slot_creation_error/s2'; - -step s2_init: <... completed> -ERROR: canceling statement due to user request -step s1_cancel_s2: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1_view_slot: - SELECT slot_name, slot_type, active FROM pg_replication_slots WHERE slot_name = 'slot_creation_error' - -slot_name|slot_type|active ----------+---------+------ -(0 rows) - -step s1_c: COMMIT; - -starting permutation: s1_b s1_xid s2_init s1_c s1_view_slot s1_drop_slot -step s1_b: BEGIN; -step s1_xid: SELECT 'xid' FROM txid_current(); -?column? --------- -xid -(1 row) - -step s2_init: - SELECT 'init' FROM pg_create_logical_replication_slot('slot_creation_error', 'test_decoding'); - -step s1_c: COMMIT; -step s2_init: <... completed> -?column? --------- -init -(1 row) - -step s1_view_slot: - SELECT slot_name, slot_type, active FROM pg_replication_slots WHERE slot_name = 'slot_creation_error' - -slot_name |slot_type|active --------------------+---------+------ -slot_creation_error|logical |f -(1 row) - -step s1_drop_slot: - SELECT pg_drop_replication_slot('slot_creation_error'); - -pg_drop_replication_slot ------------------------- - -(1 row) - - -starting permutation: s1_b s1_xid s2_init s1_terminate_s2 s1_c s1_view_slot -step s1_b: BEGIN; -step s1_xid: SELECT 'xid' FROM txid_current(); -?column? --------- -xid -(1 row) - -step s2_init: - SELECT 'init' FROM pg_create_logical_replication_slot('slot_creation_error', 'test_decoding'); - -step s1_terminate_s2: - SELECT pg_terminate_backend(pid) - FROM pg_stat_activity - WHERE application_name = 'isolation/slot_creation_error/s2'; - -step s2_init: <... completed> -FATAL: terminating connection due to administrator command -server closed the connection unexpectedly +PQconsumeInput failed: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. -step s1_terminate_s2: <... completed> -pg_terminate_backend --------------------- -t -(1 row) - -step s1_c: COMMIT; -step s1_view_slot: - SELECT slot_name, slot_type, active FROM pg_replication_slots WHERE slot_name = 'slot_creation_error' - -slot_name|slot_type|active ----------+---------+------ -(0 rows) - diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/skip_snapshot_restore.out C:/cirrus/build/testrun/test_decoding/isolation/results/skip_snapshot_restore.out --- C:/cirrus/contrib/test_decoding/expected/skip_snapshot_restore.out 2025-03-31 15:02:22.199540700 +0000 +++ C:/cirrus/build/testrun/test_decoding/isolation/results/skip_snapshot_restore.out 2025-03-31 15:08:34.297666800 +0000 @@ -1,45 +1,6 @@ Parsed test spec with 3 sessions starting permutation: s0_init s0_begin s0_insert1 s1_init s2_checkpoint s2_get_changes_slot0 s0_insert2 s0_commit s1_get_changes_slot0 s1_get_changes_slot1 -step s0_init: SELECT 'init' FROM pg_create_logical_replication_slot('slot0', 'test_decoding'); -?column? --------- -init -(1 row) - -step s0_begin: BEGIN; -step s0_insert1: INSERT INTO tbl VALUES (1); -step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('slot1', 'test_decoding'); -step s2_checkpoint: CHECKPOINT; -step s2_get_changes_slot0: SELECT data FROM pg_logical_slot_get_changes('slot0', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data ----- -(0 rows) - -step s0_insert2: INSERT INTO tbl VALUES (2); -step s0_commit: COMMIT; -step s1_init: <... completed> -?column? --------- -init -(1 row) - -step s1_get_changes_slot0: SELECT data FROM pg_logical_slot_get_changes('slot0', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data ------------------------------------------ -BEGIN -table public.tbl: INSERT: val1[integer]:1 -table public.tbl: INSERT: val1[integer]:2 -COMMIT -(4 rows) - -step s1_get_changes_slot1: SELECT data FROM pg_logical_slot_get_changes('slot1', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0'); -data ----- -(0 rows) - -?column? --------- -stop -(1 row) - +setup failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request.