summaryrefslogtreecommitdiff
path: root/contrib/test_decoding/expected
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/test_decoding/expected')
-rw-r--r--contrib/test_decoding/expected/concurrent_ddl_dml.out736
-rw-r--r--contrib/test_decoding/expected/delayed_startup.out40
-rw-r--r--contrib/test_decoding/expected/mxact.out80
-rw-r--r--contrib/test_decoding/expected/oldest_xmin.out30
-rw-r--r--contrib/test_decoding/expected/ondisk_startup.out60
-rw-r--r--contrib/test_decoding/expected/snapshot_transfer.out48
-rw-r--r--contrib/test_decoding/expected/subxact_without_top.out32
7 files changed, 634 insertions, 392 deletions
diff --git a/contrib/test_decoding/expected/concurrent_ddl_dml.out b/contrib/test_decoding/expected/concurrent_ddl_dml.out
index 2e8a2eabd94..e44fa7a5351 100644
--- a/contrib/test_decoding/expected/concurrent_ddl_dml.out
+++ b/contrib/test_decoding/expected/concurrent_ddl_dml.out
@@ -2,30 +2,38 @@ 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?
+?column?
+--------
+init
+(1 row)
-init
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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+data
+-------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[double precision]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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; <waiting ...>
@@ -33,45 +41,57 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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.pg_temp: INSERT: val1[integer]:1 val2[double precision]:1
-COMMIT
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+data
+----------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[character varying]:'1'
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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; <waiting ...>
@@ -79,24 +99,30 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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.pg_temp: INSERT: val1[integer]:1 val2[character varying]:'1'
-COMMIT
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -104,24 +130,30 @@ step s2_alter_tbl1_float: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE float; <waitin
step s1_commit: COMMIT;
step s2_alter_tbl1_float: <... completed>
step s2_get_changes: SELECT regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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.pg_temp: INSERT: val1[integer]:1 val2[double precision]:1
-COMMIT
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -129,24 +161,30 @@ step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varyi
step s1_commit: COMMIT;
step s2_alter_tbl1_char: <... completed>
step s2_get_changes: SELECT regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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.pg_temp: INSERT: val1[integer]:1 val2[character varying]:'1'
-COMMIT
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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;
@@ -155,24 +193,30 @@ step s2_alter_tbl1_float: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE float; <waitin
step s1_commit: COMMIT;
step s2_alter_tbl1_float: <... completed>
step s2_get_changes: SELECT regexp_replace(data, 'temp_\d+', 'temp') AS 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
-BEGIN
+data
+----------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+table public.tbl2: INSERT: val1[integer]:1 val2[double precision]:1
+COMMIT
+BEGIN
table public.pg_temp: INSERT: val1[integer]:1 val2[double precision]:1
-COMMIT
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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;
@@ -181,24 +225,30 @@ step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varyi
step s1_commit: COMMIT;
step s2_alter_tbl1_char: <... completed>
step s2_get_changes: SELECT regexp_replace(data, 'temp_\d+', 'temp') AS 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
-BEGIN
+data
+-------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+table public.tbl2: INSERT: val1[integer]:1 val2[character varying]:'1'
+COMMIT
+BEGIN
table public.pg_temp: INSERT: val1[integer]:1 val2[character varying]:'1'
-COMMIT
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -206,21 +256,27 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1'
-COMMIT
-?column?
+table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1'
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -230,24 +286,30 @@ step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varyi
step s1_commit: COMMIT;
step s2_alter_tbl1_char: <... completed>
step s2_get_changes: SELECT regexp_replace(data, 'temp_\d+', 'temp') AS 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
-BEGIN
+data
+-------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1'
+COMMIT
+BEGIN
table public.pg_temp: INSERT: val1[integer]:1 val2[character varying]:'1'
-COMMIT
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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;
@@ -255,21 +317,27 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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;
@@ -280,42 +348,54 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -325,45 +405,57 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -373,45 +465,57 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -421,24 +525,30 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -446,20 +556,26 @@ step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3; <waiting ...
step s1_commit: COMMIT;
step s2_alter_tbl2_drop_3rd_col: <... completed>
step s2_get_changes: SELECT regexp_replace(data, 'temp_\d+', 'temp') AS data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+--------------------------------------------------------------------------
+BEGIN
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT
-?column?
+COMMIT
+(3 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -469,24 +585,30 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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
-?column?
+COMMIT
+BEGIN
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -494,11 +616,13 @@ step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3; <waiting ...
step s1_commit: COMMIT;
step s2_alter_tbl2_drop_3rd_col: <... completed>
step s2_get_changes: SELECT regexp_replace(data, 'temp_\d+', 'temp') AS data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+--------------------------------------------------------------------------
+BEGIN
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT
+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);
@@ -507,34 +631,42 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+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
+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 regexp_replace(data, 'temp_\d+', 'temp') AS data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+--------------------------------------------------------------------------------
+BEGIN
table public.pg_temp: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:null
-table public.pg_temp: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-table public.pg_temp: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT
-BEGIN
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT
-?column?
+table public.pg_temp: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
+table public.pg_temp: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
+COMMIT
+BEGIN
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
+COMMIT
+(8 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -545,25 +677,31 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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
-?column?
+COMMIT
+BEGIN
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
+COMMIT
+(8 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -574,25 +712,31 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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
-?column?
+COMMIT
+(8 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -602,24 +746,30 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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
-?column?
+COMMIT
+BEGIN
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -629,24 +779,30 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS 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
+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
-?column?
+COMMIT
+BEGIN
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
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);
@@ -654,12 +810,16 @@ 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 regexp_replace(data, 'temp_\d+', 'temp') AS data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
diff --git a/contrib/test_decoding/expected/delayed_startup.out b/contrib/test_decoding/expected/delayed_startup.out
index db8c525ac40..d10de3658ac 100644
--- a/contrib/test_decoding/expected/delayed_startup.out
+++ b/contrib/test_decoding/expected/delayed_startup.out
@@ -6,33 +6,45 @@ step s1w: INSERT INTO do_write DEFAULT VALUES;
step s2init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); <waiting ...>
step s1c: COMMIT;
step s2init: <... completed>
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
+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
+data
+--------------------------------------------
+BEGIN
table public.do_write: INSERT: id[integer]:2
-COMMIT
+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
+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
+data
+--------------------------------------------
+BEGIN
table public.do_write: INSERT: id[integer]:3
-COMMIT
-?column?
+COMMIT
+(3 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
diff --git a/contrib/test_decoding/expected/mxact.out b/contrib/test_decoding/expected/mxact.out
index f0d96cc67d0..03ad3df0999 100644
--- a/contrib/test_decoding/expected/mxact.out
+++ b/contrib/test_decoding/expected/mxact.out
@@ -2,65 +2,89 @@ 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?
+?column?
+--------
+init
+(1 row)
-init
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
+data
+----
+(0 rows)
step s1begin: BEGIN;
step s1sharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR SHARE) s;
-?column?
+?column?
+--------
+t
+(1 row)
-t
step s2begin: BEGIN;
step s2sharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR SHARE) s;
-?column?
+?column?
+--------
+t
+(1 row)
-t
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
+data
+--------------------------------------------
+BEGIN
table public.do_write: INSERT: id[integer]:1
-COMMIT
+COMMIT
+(3 rows)
+
step s2commit: COMMIT;
step s1commit: COMMIT;
-?column?
+?column?
+--------
+stop
+(1 row)
-stop
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?
+?column?
+--------
+init
+(1 row)
-init
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
+data
+----
+(0 rows)
step s1begin: BEGIN;
step s1keysharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR KEY SHARE) s;
-?column?
+?column?
+--------
+t
+(1 row)
-t
step s2begin: BEGIN;
step s2keysharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR KEY SHARE) s;
-?column?
+?column?
+--------
+t
+(1 row)
-t
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
+data
+------------------------------------------------------------------------------
+BEGIN
+COMMIT
+BEGIN
table public.do_write: INSERT: id[integer]:1 ts[timestamp with time zone]:null
-COMMIT
+COMMIT
+(5 rows)
+
step s2commit: COMMIT;
step s1commit: COMMIT;
-?column?
+?column?
+--------
+stop
+(1 row)
-stop
diff --git a/contrib/test_decoding/expected/oldest_xmin.out b/contrib/test_decoding/expected/oldest_xmin.out
index d1b4f17e3aa..018d406129c 100644
--- a/contrib/test_decoding/expected/oldest_xmin.out
+++ b/contrib/test_decoding/expected/oldest_xmin.out
@@ -3,28 +3,38 @@ 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 txid_current() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
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
+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
+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
+data
+------------------------------------------------------
+BEGIN
table public.harvest: INSERT: fruits[basket]:'(1,2,3)'
-COMMIT
-?column?
+COMMIT
+(3 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
diff --git a/contrib/test_decoding/expected/ondisk_startup.out b/contrib/test_decoding/expected/ondisk_startup.out
index c7b1f45b46b..fe05860da77 100644
--- a/contrib/test_decoding/expected/ondisk_startup.out
+++ b/contrib/test_decoding/expected/ondisk_startup.out
@@ -3,50 +3,64 @@ 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 txid_current() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s1init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); <waiting ...>
step s3b: BEGIN;
step s3txid: SELECT txid_current() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s2alter: ALTER TABLE do_write ADD COLUMN addedbys2 int;
step s2c: COMMIT;
step s2b: BEGIN;
step s2txid: SELECT txid_current() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s3c: COMMIT;
step s1init: <... completed>
-?column?
+?column?
+--------
+init
+(1 row)
-init
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
+data
+--------------------------------------------------------------------
+BEGIN
table public.do_write: INSERT: id[integer]:1 addedbys2[integer]:null
-COMMIT
+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
+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
-?column?
+COMMIT
+(8 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
diff --git a/contrib/test_decoding/expected/snapshot_transfer.out b/contrib/test_decoding/expected/snapshot_transfer.out
index 87bed03f766..f51a8b93295 100644
--- a/contrib/test_decoding/expected/snapshot_transfer.out
+++ b/contrib/test_decoding/expected/snapshot_transfer.out
@@ -4,32 +4,40 @@ starting permutation: s0_begin s0_begin_sub0 s0_log_assignment s0_sub_get_base_s
step s0_begin: BEGIN;
step s0_begin_sub0: SAVEPOINT s0;
step s0_log_assignment: SELECT txid_current() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
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
+data
+----------------------------------------------------------------------------------
+BEGIN
+table public.dummy: INSERT: i[integer]:0
table public.harvest: INSERT: apples[integer]:1 pears[integer]:2 mangos[integer]:3
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
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 txid_current() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
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;
@@ -38,12 +46,16 @@ 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
+data
+----------------------------------------------------------------------------------
+BEGIN
+table public.dummy: INSERT: i[integer]:0
table public.harvest: INSERT: apples[integer]:1 pears[integer]:2 mangos[integer]:3
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
diff --git a/contrib/test_decoding/expected/subxact_without_top.out b/contrib/test_decoding/expected/subxact_without_top.out
index 99ce9988225..4241b0015bd 100644
--- a/contrib/test_decoding/expected/subxact_without_top.out
+++ b/contrib/test_decoding/expected/subxact_without_top.out
@@ -15,25 +15,35 @@ step s2_checkpoint: CHECKPOINT;
step s1_begin: BEGIN;
step s1_dml: INSERT INTO harvest VALUES (43);
step s0_many_subxacts: select subxacts();
-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
+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
+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
+data
+------------------------------------------------
+BEGIN
table public.harvest: INSERT: apples[integer]:43
-COMMIT
-?column?
+COMMIT
+(3 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop