diff options
Diffstat (limited to 'contrib/test_decoding')
-rw-r--r-- | contrib/test_decoding/expected/concurrent_ddl_dml.out | 676 | ||||
-rw-r--r-- | contrib/test_decoding/expected/concurrent_stream.out | 16 | ||||
-rw-r--r-- | contrib/test_decoding/expected/delayed_startup.out | 40 | ||||
-rw-r--r-- | contrib/test_decoding/expected/mxact.out | 80 | ||||
-rw-r--r-- | contrib/test_decoding/expected/oldest_xmin.out | 30 | ||||
-rw-r--r-- | contrib/test_decoding/expected/ondisk_startup.out | 60 | ||||
-rw-r--r-- | contrib/test_decoding/expected/snapshot_transfer.out | 48 | ||||
-rw-r--r-- | contrib/test_decoding/expected/subxact_without_top.out | 32 | ||||
-rw-r--r-- | contrib/test_decoding/expected/twophase_snapshot.out | 46 |
9 files changed, 643 insertions, 385 deletions
diff --git a/contrib/test_decoding/expected/concurrent_ddl_dml.out b/contrib/test_decoding/expected/concurrent_ddl_dml.out index 53578c8ed60..3742a2a2474 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 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,42 +41,54 @@ 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 +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_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 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 ...> @@ -76,21 +96,27 @@ 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 +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 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); @@ -98,21 +124,27 @@ 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 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 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); @@ -120,21 +152,27 @@ 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 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_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; @@ -143,21 +181,27 @@ 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 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_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; @@ -166,21 +210,27 @@ 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 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 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); @@ -188,21 +238,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 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); @@ -212,21 +268,27 @@ 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 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 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; @@ -234,21 +296,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 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; @@ -259,42 +327,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 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 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); @@ -304,45 +384,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 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 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); @@ -352,45 +444,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 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 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); @@ -400,24 +504,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 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); @@ -425,20 +535,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 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); @@ -448,24 +564,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 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); @@ -473,11 +595,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 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); @@ -486,29 +610,37 @@ 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 +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 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_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); @@ -519,25 +651,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 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); @@ -548,25 +686,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 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); @@ -576,24 +720,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 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); @@ -603,24 +753,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 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); @@ -628,12 +784,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 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/concurrent_stream.out b/contrib/test_decoding/expected/concurrent_stream.out index 6f8b2176db5..bf1e1326c61 100644 --- a/contrib/test_decoding/expected/concurrent_stream.out +++ b/contrib/test_decoding/expected/concurrent_stream.out @@ -9,12 +9,16 @@ step s1_toast_insert: INSERT INTO stream_test SELECT large_val(); step s2_ddl: CREATE TABLE stream_test2(data text); 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 - +data +---------------------------------------- opening a streamed block for transaction -streaming change for transaction +streaming change for transaction closing a streamed block for transaction -committing streamed transaction -?column? +committing streamed transaction +(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 02a091398fc..dd6053f9c1f 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 pg_current_xact_id() 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 586b03d75db..bc7ff071648 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 pg_current_xact_id() 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 pg_current_xact_id() 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 pg_current_xact_id() 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 c3a00009946..833f47874cb 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 pg_current_xact_id() 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 pg_current_xact_id() 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 diff --git a/contrib/test_decoding/expected/twophase_snapshot.out b/contrib/test_decoding/expected/twophase_snapshot.out index 0e8e1f50fe4..f555ffddf74 100644 --- a/contrib/test_decoding/expected/twophase_snapshot.out +++ b/contrib/test_decoding/expected/twophase_snapshot.out @@ -3,39 +3,51 @@ 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? +?column? +-------- +f +(1 row) -f step s1init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding', false, true); <waiting ...> step s3b: BEGIN; step s3txid: SELECT pg_current_xact_id() IS NULL; -?column? +?column? +-------- +f +(1 row) -f step s2c: COMMIT; step s2b: BEGIN; step s2insert: INSERT INTO do_write DEFAULT VALUES; step s2p: PREPARE TRANSACTION 'test1'; step s3c: COMMIT; step s1init: <... completed> -?column? +?column? +-------- +init +(1 row) -init step s1insert: INSERT INTO do_write DEFAULT VALUES; step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false', 'skip-empty-xacts', '1'); -data - -BEGIN +data +-------------------------------------------- +BEGIN table public.do_write: INSERT: id[integer]:2 -COMMIT +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 +data +-------------------------------------------- +BEGIN table public.do_write: INSERT: id[integer]:1 -PREPARE TRANSACTION 'test1' -COMMIT PREPARED 'test1' -?column? +PREPARE TRANSACTION 'test1' +COMMIT PREPARED 'test1' +(4 rows) + +?column? +-------- +stop +(1 row) -stop |