Improve display of query results in isolation tests.
authorTom Lane <[email protected]>
Wed, 23 Jun 2021 15:12:32 +0000 (11:12 -0400)
committerTom Lane <[email protected]>
Wed, 23 Jun 2021 15:12:32 +0000 (11:12 -0400)
Previously, isolationtester displayed SQL query results using some
ad-hoc code that clearly hadn't had much effort expended on it.
Field values longer than 14 characters weren't separated from
the next field, and usually caused misalignment of the columns
too.  Also there was no visual separation of a query's result
from subsequent isolationtester output.  This made test result
files confusing and hard to read.

To improve matters, let's use libpq's PQprint() function.  Although
that's long since unused by psql, it's still plenty good enough
for the purpose here.

Like 741d7f104, back-patch to all supported branches, so that this
isn't a stumbling block for back-patching isolation test changes.

Discussion: https://postgr.es/m/582362.1623798221@sss.pgh.pa.us

76 files changed:
contrib/test_decoding/expected/concurrent_ddl_dml.out
contrib/test_decoding/expected/delayed_startup.out
contrib/test_decoding/expected/mxact.out
contrib/test_decoding/expected/oldest_xmin.out
contrib/test_decoding/expected/ondisk_startup.out
contrib/test_decoding/expected/snapshot_transfer.out
contrib/test_decoding/expected/subxact_without_top.out
src/test/isolation/expected/aborted-keyrevoke.out
src/test/isolation/expected/alter-table-1.out
src/test/isolation/expected/alter-table-2.out
src/test/isolation/expected/alter-table-3.out
src/test/isolation/expected/alter-table-4.out
src/test/isolation/expected/async-notify.out
src/test/isolation/expected/classroom-scheduling.out
src/test/isolation/expected/create-trigger.out
src/test/isolation/expected/delete-abort-savept-2.out
src/test/isolation/expected/delete-abort-savept.out
src/test/isolation/expected/drop-index-concurrently-1.out
src/test/isolation/expected/drop-index-concurrently-1_2.out
src/test/isolation/expected/eval-plan-qual-trigger.out
src/test/isolation/expected/eval-plan-qual.out
src/test/isolation/expected/freeze-the-dead.out
src/test/isolation/expected/inherit-temp.out
src/test/isolation/expected/insert-conflict-do-nothing-2.out
src/test/isolation/expected/insert-conflict-do-nothing.out
src/test/isolation/expected/insert-conflict-do-update-2.out
src/test/isolation/expected/insert-conflict-do-update-3.out
src/test/isolation/expected/insert-conflict-do-update.out
src/test/isolation/expected/insert-conflict-specconflict.out
src/test/isolation/expected/insert-conflict-toast.out
src/test/isolation/expected/lock-committed-keyupdate.out
src/test/isolation/expected/lock-committed-update.out
src/test/isolation/expected/lock-update-delete.out
src/test/isolation/expected/lock-update-delete_1.out
src/test/isolation/expected/lock-update-traversal.out
src/test/isolation/expected/multiple-cic.out
src/test/isolation/expected/multiple-row-versions.out
src/test/isolation/expected/multixact-no-deadlock.out
src/test/isolation/expected/multixact-no-forget.out
src/test/isolation/expected/multixact-no-forget_1.out
src/test/isolation/expected/nowait-2.out
src/test/isolation/expected/nowait-3.out
src/test/isolation/expected/nowait-4.out
src/test/isolation/expected/nowait-4_1.out
src/test/isolation/expected/nowait-5.out
src/test/isolation/expected/nowait.out
src/test/isolation/expected/partial-index.out
src/test/isolation/expected/predicate-lock-hot-tuple.out
src/test/isolation/expected/prepared-transactions-cic.out
src/test/isolation/expected/prepared-transactions.out
src/test/isolation/expected/project-manager.out
src/test/isolation/expected/read-write-unique-2.out
src/test/isolation/expected/read-write-unique-3.out
src/test/isolation/expected/read-write-unique-4.out
src/test/isolation/expected/read-write-unique.out
src/test/isolation/expected/receipt-report.out
src/test/isolation/expected/referential-integrity.out
src/test/isolation/expected/ri-trigger.out
src/test/isolation/expected/skip-locked-2.out
src/test/isolation/expected/skip-locked-3.out
src/test/isolation/expected/skip-locked-4.out
src/test/isolation/expected/skip-locked-4_1.out
src/test/isolation/expected/skip-locked.out
src/test/isolation/expected/temporal-range-integrity.out
src/test/isolation/expected/timeouts.out
src/test/isolation/expected/total-cash.out
src/test/isolation/expected/tuplelock-conflict.out
src/test/isolation/expected/tuplelock-update.out
src/test/isolation/expected/tuplelock-upgrade-no-deadlock.out
src/test/isolation/expected/two-ids.out
src/test/isolation/expected/update-conflict-out.out
src/test/isolation/expected/vacuum-reltuples.out
src/test/isolation/isolationtester.c
src/test/modules/brin/expected/summarization-and-inprogress-insertion.out
src/test/modules/snapshot_too_old/expected/sto_using_cursor.out
src/test/modules/snapshot_too_old/expected/sto_using_select.out

index 2e8a2eabd94054f5f7a2d93739bc758ee2a27cd2..e44fa7a5351e24e86a04fa1b75331908d5b67885 100644 (file)
@@ -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           
index db8c525ac408b5e7943800fabc432bb45a676d9b..d10de3658acc8b37acf970491bb599e53882deaa 100644 (file)
@@ -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           
index f0d96cc67d0b26a99af7bd4f7594a27464c1817d..03ad3df09996838408069b2aec53b66a8630b854 100644 (file)
@@ -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           
index d1b4f17e3aadd5880bd74255c40b797411bc76a0..018d406129c4dfadcf7e8c197f5e96ff9e8ff68a 100644 (file)
@@ -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           
index c7b1f45b46b53dc4e092de401f07614f5d48d755..fe05860da771a70fdb1cc269bcae6a4ed7084e88 100644 (file)
@@ -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           
index 87bed03f766c1dccc85aa848b23e93e3d0ef98e1..f51a8b932955ab23834f08ed0d1794582ac68bd1 100644 (file)
@@ -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           
index 99ce99882257044b0f8b829c441fa6ae32812398..4241b0015bd662ba5f700770277ad931e4f22a1c 100644 (file)
@@ -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           
index c93762394ffa4c2786f74c8f30b9b1666ceb0bb1..a03542636faa0fd7526e497ea336dfac4cd9f1ec 100644 (file)
@@ -5,14 +5,18 @@ step s1s: SAVEPOINT f;
 step s1u: UPDATE foo SET key = 2;
 step s1r: ROLLBACK TO f;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 step s2l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 
 starting permutation: s1s s1u s1r s1l s2l s1c s2c
@@ -20,13 +24,17 @@ step s1s: SAVEPOINT f;
 step s1u: UPDATE foo SET key = 2;
 step s1r: ROLLBACK TO f;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 step s2c: COMMIT;
 
@@ -35,13 +43,17 @@ step s1s: SAVEPOINT f;
 step s1u: UPDATE foo SET key = 2;
 step s1r: ROLLBACK TO f;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 step s1c: COMMIT;
 
@@ -50,13 +62,17 @@ step s1s: SAVEPOINT f;
 step s1u: UPDATE foo SET key = 2;
 step s1r: ROLLBACK TO f;
 step s2l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 step s2c: COMMIT;
 
@@ -65,13 +81,17 @@ step s1s: SAVEPOINT f;
 step s1u: UPDATE foo SET key = 2;
 step s1r: ROLLBACK TO f;
 step s2l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 step s1c: COMMIT;
 
@@ -80,14 +100,18 @@ step s1s: SAVEPOINT f;
 step s1u: UPDATE foo SET key = 2;
 step s1r: ROLLBACK TO f;
 step s2l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 
 starting permutation: s1s s1u s2l s1r s1l s1c s2c
@@ -96,13 +120,17 @@ step s1u: UPDATE foo SET key = 2;
 step s2l: SELECT * FROM foo FOR KEY SHARE; <waiting ...>
 step s1r: ROLLBACK TO f;
 step s2l: <... completed>
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 step s2c: COMMIT;
 
@@ -112,13 +140,17 @@ step s1u: UPDATE foo SET key = 2;
 step s2l: SELECT * FROM foo FOR KEY SHARE; <waiting ...>
 step s1r: ROLLBACK TO f;
 step s2l: <... completed>
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 step s1c: COMMIT;
 
@@ -128,89 +160,113 @@ step s1u: UPDATE foo SET key = 2;
 step s2l: SELECT * FROM foo FOR KEY SHARE; <waiting ...>
 step s1r: ROLLBACK TO f;
 step s2l: <... completed>
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 
 starting permutation: s1s s2l s1u s2c s1r s1l s1c
 step s1s: SAVEPOINT f;
 step s2l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1u: UPDATE foo SET key = 2; <waiting ...>
 step s2c: COMMIT;
 step s1u: <... completed>
 step s1r: ROLLBACK TO f;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 
 starting permutation: s1s s2l s2c s1u s1r s1l s1c
 step s1s: SAVEPOINT f;
 step s2l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 step s1u: UPDATE foo SET key = 2;
 step s1r: ROLLBACK TO f;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 
 starting permutation: s2l s1s s1u s2c s1r s1l s1c
 step s2l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1s: SAVEPOINT f;
 step s1u: UPDATE foo SET key = 2; <waiting ...>
 step s2c: COMMIT;
 step s1u: <... completed>
 step s1r: ROLLBACK TO f;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 
 starting permutation: s2l s1s s2c s1u s1r s1l s1c
 step s2l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1s: SAVEPOINT f;
 step s2c: COMMIT;
 step s1u: UPDATE foo SET key = 2;
 step s1r: ROLLBACK TO f;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 
 starting permutation: s2l s2c s1s s1u s1r s1l s1c
 step s2l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 step s1s: SAVEPOINT f;
 step s1u: UPDATE foo SET key = 2;
 step s1r: ROLLBACK TO f;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
index dd5d8b11b6153233b7fce8adfb6bf6633620e2d6..5e88174be4ff638edf9b3ae7b3e6fc157a19f89b 100644 (file)
@@ -8,16 +8,20 @@ step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 sc1 s2 at2 rx1 sc2 wx rx3 c2
@@ -27,17 +31,21 @@ step sc1: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc2: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 sc1 s2 at2 rx1 wx sc2 rx3 c2
@@ -47,17 +55,21 @@ step sc1: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 sc1 s2 at2 rx1 wx rx3 sc2 c2
@@ -67,16 +79,20 @@ step sc1: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
@@ -87,16 +103,20 @@ step sc1: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
@@ -106,18 +126,22 @@ step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step sc1: COMMIT;
 step s2: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 sc1 s2 rx1 at2 wx sc2 rx3 c2
@@ -126,18 +150,22 @@ step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step sc1: COMMIT;
 step s2: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 sc1 s2 rx1 at2 wx rx3 sc2 c2
@@ -146,17 +174,21 @@ step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step sc1: COMMIT;
 step s2: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
@@ -166,17 +198,21 @@ step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step sc1: COMMIT;
 step s2: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
@@ -186,18 +222,22 @@ step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step sc1: COMMIT;
 step s2: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 sc1 s2 rx1 wx at2 rx3 sc2 c2
@@ -206,17 +246,21 @@ step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step sc1: COMMIT;
 step s2: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
@@ -226,17 +270,21 @@ step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step sc1: COMMIT;
 step s2: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
@@ -246,16 +294,20 @@ step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step sc1: COMMIT;
 step s2: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
@@ -266,16 +318,20 @@ step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step sc1: COMMIT;
 step s2: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
@@ -286,16 +342,20 @@ step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step sc1: COMMIT;
 step s2: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -305,19 +365,23 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 sc1 rx1 s2 at2 wx sc2 rx3 c2
@@ -325,19 +389,23 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 sc1 rx1 s2 at2 wx rx3 sc2 c2
@@ -345,18 +413,22 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
@@ -365,18 +437,22 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
@@ -385,19 +461,23 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 sc1 rx1 s2 wx at2 rx3 sc2 c2
@@ -405,18 +485,22 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
@@ -425,18 +509,22 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
@@ -445,17 +533,21 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
@@ -465,17 +557,21 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
@@ -485,17 +581,21 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -505,19 +605,23 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 sc1 rx1 wx s2 at2 rx3 sc2 c2
@@ -525,18 +629,22 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
@@ -545,18 +653,22 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
@@ -565,17 +677,21 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
@@ -585,17 +701,21 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
@@ -605,17 +725,21 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -625,16 +749,20 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -645,16 +773,20 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
@@ -665,16 +797,20 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -685,16 +821,20 @@ step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -704,59 +844,71 @@ starting permutation: s1 at1 rx1 sc1 s2 at2 sc2 wx rx3 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 rx1 sc1 s2 at2 wx sc2 rx3 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 rx1 sc1 s2 at2 wx rx3 sc2 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
@@ -764,19 +916,23 @@ starting permutation: s1 at1 rx1 sc1 s2 at2 wx rx3 c2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
@@ -784,39 +940,47 @@ starting permutation: s1 at1 rx1 sc1 s2 wx at2 sc2 rx3 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 rx1 sc1 s2 wx at2 rx3 sc2 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
@@ -824,19 +988,23 @@ starting permutation: s1 at1 rx1 sc1 s2 wx at2 rx3 c2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
@@ -844,18 +1012,22 @@ starting permutation: s1 at1 rx1 sc1 s2 wx rx3 at2 sc2 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
@@ -864,18 +1036,22 @@ starting permutation: s1 at1 rx1 sc1 s2 wx rx3 at2 c2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
@@ -884,18 +1060,22 @@ starting permutation: s1 at1 rx1 sc1 s2 wx rx3 c2 at2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -904,39 +1084,47 @@ starting permutation: s1 at1 rx1 sc1 wx s2 at2 sc2 rx3 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 rx1 sc1 wx s2 at2 rx3 sc2 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
@@ -944,19 +1132,23 @@ starting permutation: s1 at1 rx1 sc1 wx s2 at2 rx3 c2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
@@ -964,18 +1156,22 @@ starting permutation: s1 at1 rx1 sc1 wx s2 rx3 at2 sc2 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
@@ -984,18 +1180,22 @@ starting permutation: s1 at1 rx1 sc1 wx s2 rx3 at2 c2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
@@ -1004,18 +1204,22 @@ starting permutation: s1 at1 rx1 sc1 wx s2 rx3 c2 at2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -1024,17 +1228,21 @@ starting permutation: s1 at1 rx1 sc1 wx rx3 s2 at2 sc2 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -1044,17 +1252,21 @@ starting permutation: s1 at1 rx1 sc1 wx rx3 s2 at2 c2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
@@ -1064,17 +1276,21 @@ starting permutation: s1 at1 rx1 sc1 wx rx3 s2 c2 at2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -1084,17 +1300,21 @@ starting permutation: s1 at1 rx1 sc1 wx rx3 c2 s2 at2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -1104,9 +1324,11 @@ starting permutation: s1 at1 rx1 wx sc1 s2 at2 sc2 rx3 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
@@ -1114,31 +1336,37 @@ step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 at1 rx1 wx sc1 s2 at2 rx3 sc2 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
@@ -1146,20 +1374,24 @@ starting permutation: s1 at1 rx1 wx sc1 s2 at2 rx3 c2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
@@ -1167,19 +1399,23 @@ starting permutation: s1 at1 rx1 wx sc1 s2 rx3 at2 sc2 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
@@ -1188,19 +1424,23 @@ starting permutation: s1 at1 rx1 wx sc1 s2 rx3 at2 c2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
@@ -1209,19 +1449,23 @@ starting permutation: s1 at1 rx1 wx sc1 s2 rx3 c2 at2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -1230,18 +1474,22 @@ starting permutation: s1 at1 rx1 wx sc1 rx3 s2 at2 sc2 c2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -1251,18 +1499,22 @@ starting permutation: s1 at1 rx1 wx sc1 rx3 s2 at2 c2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
@@ -1272,18 +1524,22 @@ starting permutation: s1 at1 rx1 wx sc1 rx3 s2 c2 at2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -1293,18 +1549,22 @@ starting permutation: s1 at1 rx1 wx sc1 rx3 c2 s2 at2 sc2
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -1313,9 +1573,11 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 sc1 s2 at2 sc2 wx rx3 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
@@ -1323,19 +1585,23 @@ step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 rx1 at1 sc1 s2 at2 wx sc2 rx3 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
@@ -1343,59 +1609,71 @@ step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 rx1 at1 sc1 s2 at2 wx rx3 sc2 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
 starting permutation: s1 rx1 at1 sc1 s2 at2 wx rx3 c2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
 starting permutation: s1 rx1 at1 sc1 s2 wx at2 sc2 rx3 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
@@ -1403,69 +1681,83 @@ step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 rx1 at1 sc1 s2 wx at2 rx3 sc2 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
 starting permutation: s1 rx1 at1 sc1 s2 wx at2 rx3 c2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
 starting permutation: s1 rx1 at1 sc1 s2 wx rx3 at2 sc2 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
@@ -1473,19 +1765,23 @@ step c2: COMMIT;
 starting permutation: s1 rx1 at1 sc1 s2 wx rx3 at2 c2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
@@ -1493,19 +1789,23 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 sc1 s2 wx rx3 c2 at2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -1513,9 +1813,11 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 sc1 wx s2 at2 sc2 rx3 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
@@ -1523,69 +1825,83 @@ step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 rx1 at1 sc1 wx s2 at2 rx3 sc2 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
 starting permutation: s1 rx1 at1 sc1 wx s2 at2 rx3 c2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
 starting permutation: s1 rx1 at1 sc1 wx s2 rx3 at2 sc2 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
@@ -1593,19 +1909,23 @@ step c2: COMMIT;
 starting permutation: s1 rx1 at1 sc1 wx s2 rx3 at2 c2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
@@ -1613,19 +1933,23 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 sc1 wx s2 rx3 c2 at2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -1633,18 +1957,22 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 sc1 wx rx3 s2 at2 sc2 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -1653,18 +1981,22 @@ step c2: COMMIT;
 starting permutation: s1 rx1 at1 sc1 wx rx3 s2 at2 c2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
@@ -1673,18 +2005,22 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 sc1 wx rx3 s2 c2 at2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -1693,18 +2029,22 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 sc1 wx rx3 c2 s2 at2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -1713,9 +2053,11 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 wx sc1 s2 at2 sc2 rx3 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
@@ -1724,19 +2066,23 @@ step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: s1 rx1 at1 wx sc1 s2 at2 rx3 sc2 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
@@ -1744,20 +2090,24 @@ step wx: <... completed>
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
 starting permutation: s1 rx1 at1 wx sc1 s2 at2 rx3 c2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
@@ -1765,31 +2115,37 @@ step wx: <... completed>
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
 starting permutation: s1 rx1 at1 wx sc1 s2 rx3 at2 sc2 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
@@ -1797,20 +2153,24 @@ step c2: COMMIT;
 starting permutation: s1 rx1 at1 wx sc1 s2 rx3 at2 c2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
@@ -1818,20 +2178,24 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 wx sc1 s2 rx3 c2 at2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -1839,19 +2203,23 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 wx sc1 rx3 s2 at2 sc2 c2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -1860,19 +2228,23 @@ step c2: COMMIT;
 starting permutation: s1 rx1 at1 wx sc1 rx3 s2 at2 c2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
@@ -1881,19 +2253,23 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 wx sc1 rx3 s2 c2 at2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -1902,19 +2278,23 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 at1 wx sc1 rx3 c2 s2 at2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -1923,17 +2303,21 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 wx at1 rx3 c2 sc1 s2 at2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at1: <... completed>
 step sc1: COMMIT;
@@ -1944,16 +2328,20 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 wx rx3 at1 c2 sc1 s2 at2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
 step c2: COMMIT;
 step at1: <... completed>
@@ -1965,16 +2353,20 @@ step sc2: COMMIT;
 starting permutation: s1 rx1 wx rx3 c2 at1 sc1 s2 at2 sc2
 step s1: BEGIN;
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -1984,9 +2376,11 @@ step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 s2 at2 sc2 wx rx3 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -1995,18 +2389,22 @@ step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 s2 at2 wx sc2 rx3 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -2015,18 +2413,22 @@ step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 s2 at2 wx rx3 sc2 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -2034,19 +2436,23 @@ step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 s2 at2 wx rx3 c2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -2054,19 +2460,23 @@ step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 s2 wx at2 sc2 rx3 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -2075,18 +2485,22 @@ step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 s2 wx at2 rx3 sc2 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -2094,19 +2508,23 @@ step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 s2 wx at2 rx3 c2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -2114,79 +2532,95 @@ step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 s2 wx rx3 at2 sc2 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 s2 wx rx3 at2 c2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 s2 wx rx3 c2 at2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step s2: BEGIN;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 wx s2 at2 sc2 rx3 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -2195,18 +2629,22 @@ step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 wx s2 at2 rx3 sc2 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -2214,19 +2652,23 @@ step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 wx s2 at2 rx3 c2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -2234,89 +2676,107 @@ step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 wx s2 rx3 at2 sc2 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 wx s2 rx3 at2 c2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 wx s2 rx3 c2 at2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 wx rx3 s2 at2 sc2 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -2324,19 +2784,23 @@ step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 wx rx3 s2 at2 c2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
@@ -2344,19 +2808,23 @@ step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 wx rx3 s2 c2 at2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -2364,19 +2832,23 @@ step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 sc1 wx rx3 c2 s2 at2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
 step wx: INSERT INTO b VALUES (0);
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
@@ -2384,9 +2856,11 @@ step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 wx sc1 s2 at2 sc2 rx3 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
@@ -2396,18 +2870,22 @@ step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 wx sc1 s2 at2 rx3 sc2 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
@@ -2416,19 +2894,23 @@ step wx: <... completed>
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step sc2: COMMIT;
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 wx sc1 s2 at2 rx3 c2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
@@ -2437,19 +2919,23 @@ step wx: <... completed>
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 wx sc1 s2 rx3 at2 sc2 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
@@ -2457,20 +2943,24 @@ step sc1: COMMIT;
 step wx: <... completed>
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 wx sc1 s2 rx3 at2 c2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
@@ -2478,20 +2968,24 @@ step sc1: COMMIT;
 step wx: <... completed>
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
 step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 wx sc1 s2 rx3 c2 at2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
@@ -2499,31 +2993,37 @@ step sc1: COMMIT;
 step wx: <... completed>
 step s2: BEGIN;
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step c2: COMMIT;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 wx sc1 rx3 s2 at2 sc2 c2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step sc2: COMMIT;
@@ -2531,20 +3031,24 @@ step c2: COMMIT;
 
 starting permutation: rx1 s1 at1 wx sc1 rx3 s2 at2 c2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step wx: INSERT INTO b VALUES (0); <waiting ...>
 step sc1: COMMIT;
 step wx: <... completed>
 step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id           
+a_id
+----
+   3
+   3
+   3
+(3 rows)
 
-3              
-3              
-3              
 step s2: BEGIN;
 step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
 step c2: COMMIT;
@@ -2552,20 +3056,24 @@ step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 wx sc1 rx3 s2 c2 at2 sc2
 step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id           
+a_id
+----
+   1
+(1 row)
 
-1              
 step s1: BEGIN;