Improve display of query results in isolation tests.
authorTom Lane <[email protected]>
Wed, 23 Jun 2021 15:12:31 +0000 (11:12 -0400)
committerTom Lane <[email protected]>
Wed, 23 Jun 2021 15:12:31 +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

95 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/fk-partitioned-2.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/partition-concurrent-attach.out
src/test/isolation/expected/partition-key-update-2.out
src/test/isolation/expected/partition-key-update-3.out
src/test/isolation/expected/partition-key-update-4.out
src/test/isolation/expected/plpgsql-toast.out
src/test/isolation/expected/predicate-gin.out
src/test/isolation/expected/predicate-gist.out
src/test/isolation/expected/predicate-hash.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-only-anomaly-2.out
src/test/isolation/expected/read-only-anomaly-3.out
src/test/isolation/expected/read-only-anomaly.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/reindex-concurrently.out
src/test/isolation/expected/ri-trigger.out
src/test/isolation/expected/sequence-ddl.out
src/test/isolation/expected/serializable-parallel-2.out
src/test/isolation/expected/serializable-parallel.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/truncate-conflict.out
src/test/isolation/expected/tuplelock-conflict.out
src/test/isolation/expected/tuplelock-partition.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_hash_index.out
src/test/modules/snapshot_too_old/expected/sto_using_select.out

index 53578c8ed60fb74d30f50e21ec65dc409cd63e05..3742a2a2474ff42e44bd96b1f9590962789c95c8 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 data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data                                                               
+-------------------------------------------------------------------
+BEGIN                                                              
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1         
 table public.tbl2: INSERT: val1[integer]:1 val2[double precision]:1
-COMMIT         
-?column?       
+COMMIT                                                             
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl1_float s1_insert_tbl2 s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s2_alter_tbl1_float: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE float; <waiting ...>
@@ -33,42 +41,54 @@ step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
 step s1_commit: COMMIT;
 step s2_alter_tbl1_float: <... completed>
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                      
+----------------------------------------------------------
+BEGIN                                                     
 table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                    
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_char s1_insert_tbl2 s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying;
 step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
 step s1_commit: COMMIT;
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data                                                                  
+----------------------------------------------------------------------
+BEGIN                                                                 
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1            
 table public.tbl2: INSERT: val1[integer]:1 val2[character varying]:'1'
-COMMIT         
-?column?       
+COMMIT                                                                
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl1_char s1_insert_tbl2 s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varying; <waiting ...>
@@ -76,21 +96,27 @@ step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
 step s1_commit: COMMIT;
 step s2_alter_tbl1_char: <... completed>
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                      
+----------------------------------------------------------
+BEGIN                                                     
 table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                    
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s2_alter_tbl1_float s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
@@ -98,21 +124,27 @@ step s2_alter_tbl1_float: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE float; <waitin
 step s1_commit: COMMIT;
 step s2_alter_tbl1_float: <... completed>
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                      
+----------------------------------------------------------
+BEGIN                                                     
 table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                    
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s2_alter_tbl1_char s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
@@ -120,21 +152,27 @@ step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varyi
 step s1_commit: COMMIT;
 step s2_alter_tbl1_char: <... completed>
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                      
+----------------------------------------------------------
+BEGIN                                                     
 table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                    
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_float s1_insert_tbl2 s2_alter_tbl1_float s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s2_alter_tbl2_float: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE float;
@@ -143,21 +181,27 @@ step s2_alter_tbl1_float: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE float; <waitin
 step s1_commit: COMMIT;
 step s2_alter_tbl1_float: <... completed>
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data                                                               
+-------------------------------------------------------------------
+BEGIN                                                              
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1         
 table public.tbl2: INSERT: val1[integer]:1 val2[double precision]:1
-COMMIT         
-?column?       
+COMMIT                                                             
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_char s1_insert_tbl2 s2_alter_tbl1_char s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying;
@@ -166,21 +210,27 @@ step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varyi
 step s1_commit: COMMIT;
 step s2_alter_tbl1_char: <... completed>
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data                                                                  
+----------------------------------------------------------------------
+BEGIN                                                                 
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1            
 table public.tbl2: INSERT: val1[integer]:1 val2[character varying]:'1'
-COMMIT         
-?column?       
+COMMIT                                                                
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s2_alter_tbl2_char s1_begin s1_insert_tbl1 s2_alter_tbl2_text s1_insert_tbl2 s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying;
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
@@ -188,21 +238,27 @@ step s2_alter_tbl2_text: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE text;
 step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
 step s1_commit: COMMIT;
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                      
+----------------------------------------------------------
+BEGIN                                                     
 table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1'
-COMMIT         
-?column?       
+table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1' 
+COMMIT                                                    
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s2_alter_tbl2_char s1_begin s1_insert_tbl1 s2_alter_tbl2_text s1_insert_tbl2 s2_alter_tbl1_char s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying;
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
@@ -212,21 +268,27 @@ step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varyi
 step s1_commit: COMMIT;
 step s2_alter_tbl1_char: <... completed>
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                      
+----------------------------------------------------------
+BEGIN                                                     
 table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1'
-COMMIT         
-?column?       
+table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1' 
+COMMIT                                                    
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_boolean s1_insert_tbl2 s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s2_alter_tbl2_boolean: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE boolean;
@@ -234,21 +296,27 @@ ERROR:  column "val2" cannot be cast automatically to type boolean
 step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
 step s1_commit: COMMIT;
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                      
+----------------------------------------------------------
+BEGIN                                                     
 table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                    
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_boolean s1_insert_tbl2 s2_alter_tbl1_boolean s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s2_alter_tbl2_boolean: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE boolean;
@@ -259,42 +327,54 @@ step s1_commit: COMMIT;
 step s2_alter_tbl1_boolean: <... completed>
 ERROR:  column "val2" cannot be cast automatically to type boolean
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                      
+----------------------------------------------------------
+BEGIN                                                     
 table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                    
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_add_int s1_insert_tbl2_3col s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER;
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
 step s1_commit: COMMIT;
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data                                                                      
+--------------------------------------------------------------------------
+BEGIN                                                                     
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1                
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                                    
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s1_commit s1_begin s2_alter_tbl2_add_int s1_insert_tbl2_3col s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
@@ -304,45 +384,57 @@ step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER;
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
 step s1_commit: COMMIT;
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-BEGIN          
+data                                                                      
+--------------------------------------------------------------------------
+BEGIN                                                                     
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1                
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1                
+COMMIT                                                                    
+BEGIN                                                                     
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                                    
+(7 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_add_float s1_insert_tbl2_3col s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s2_alter_tbl2_add_float: ALTER TABLE tbl2 ADD COLUMN val3 FLOAT;
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
 step s1_commit: COMMIT;
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data                                                                               
+-----------------------------------------------------------------------------------
+BEGIN                                                                              
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1                         
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[double precision]:1
-COMMIT         
-?column?       
+COMMIT                                                                             
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s1_commit s1_begin s2_alter_tbl2_add_float s1_insert_tbl2_3col s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
@@ -352,45 +444,57 @@ step s2_alter_tbl2_add_float: ALTER TABLE tbl2 ADD COLUMN val3 FLOAT;
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
 step s1_commit: COMMIT;
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-BEGIN          
+data                                                                               
+-----------------------------------------------------------------------------------
+BEGIN                                                                              
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1                         
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1                         
+COMMIT                                                                             
+BEGIN                                                                              
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[double precision]:1
-COMMIT         
-?column?       
+COMMIT                                                                             
+(7 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_add_char s1_insert_tbl2_3col s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying;
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
 step s1_commit: COMMIT;
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data                                                                                  
+--------------------------------------------------------------------------------------
+BEGIN                                                                                 
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1                            
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
-COMMIT         
-?column?       
+COMMIT                                                                                
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s1_commit s1_begin s2_alter_tbl2_add_char s1_insert_tbl2_3col s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
@@ -400,24 +504,30 @@ step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying;
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
 step s1_commit: COMMIT;
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-BEGIN          
+data                                                                                  
+--------------------------------------------------------------------------------------
+BEGIN                                                                                 
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1                            
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1                            
+COMMIT                                                                                
+BEGIN                                                                                 
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
-COMMIT         
-?column?       
+COMMIT                                                                                
+(7 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s2_alter_tbl2_add_int s1_begin s1_insert_tbl2_3col s2_alter_tbl2_drop_3rd_col s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER;
 step s1_begin: BEGIN;
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
@@ -425,20 +535,26 @@ step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3; <waiting ...
 step s1_commit: COMMIT;
 step s2_alter_tbl2_drop_3rd_col: <... completed>
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                                      
+--------------------------------------------------------------------------
+BEGIN                                                                     
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                                    
+(3 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s2_alter_tbl2_add_int s1_begin s1_insert_tbl2_3col s2_alter_tbl2_drop_3rd_col s1_insert_tbl2 s1_commit s1_insert_tbl2 s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER;
 step s1_begin: BEGIN;
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
@@ -448,24 +564,30 @@ step s1_commit: COMMIT;
 step s2_alter_tbl2_drop_3rd_col: <... completed>
 step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
+data                                                                         
+-----------------------------------------------------------------------------
+BEGIN                                                                        
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1   
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:null
-COMMIT         
-BEGIN          
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                                       
+BEGIN                                                                        
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1                   
+COMMIT                                                                       
+(7 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s2_alter_tbl2_add_int s1_begin s1_insert_tbl2_3col s2_alter_tbl2_drop_3rd_col s1_commit s2_get_changes s2_alter_tbl2_add_text s1_begin s1_insert_tbl2_3col s2_alter_tbl2_3rd_char s1_insert_tbl2_3col s1_commit s2_get_changes s2_alter_tbl2_3rd_int s1_insert_tbl2_3col s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER;
 step s1_begin: BEGIN;
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
@@ -473,11 +595,13 @@ step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3; <waiting ...
 step s1_commit: COMMIT;
 step s2_alter_tbl2_drop_3rd_col: <... completed>
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                                      
+--------------------------------------------------------------------------
+BEGIN                                                                     
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT         
+COMMIT                                                                    
+(3 rows)
+
 step s2_alter_tbl2_add_text: ALTER TABLE tbl2 ADD COLUMN val3 TEXT;
 step s1_begin: BEGIN;
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
@@ -486,29 +610,37 @@ step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
 step s1_commit: COMMIT;
 step s2_alter_tbl2_3rd_char: <... completed>
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                                     
+-------------------------------------------------------------------------
+BEGIN                                                                    
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
-COMMIT         
+COMMIT                                                                   
+(4 rows)
+
 step s2_alter_tbl2_3rd_int: ALTER TABLE tbl2 ALTER COLUMN val3 TYPE int USING val3::integer;
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                                      
+--------------------------------------------------------------------------
+BEGIN                                                                     
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                                    
+(3 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s2_alter_tbl2_add_char s1_begin s1_insert_tbl1 s1_insert_tbl2_3col s2_alter_tbl2_3rd_text s1_insert_tbl2_3col s1_commit s1_insert_tbl2_3col s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying;
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
@@ -519,25 +651,31 @@ step s1_commit: COMMIT;
 step s2_alter_tbl2_3rd_text: <... completed>
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data                                                                                  
+--------------------------------------------------------------------------------------
+BEGIN                                                                                 
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1                            
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
-COMMIT         
-BEGIN          
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
-COMMIT         
-?column?       
+COMMIT                                                                                
+BEGIN                                                                                 
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'             
+COMMIT                                                                                
+(8 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s2_alter_tbl2_add_text s1_begin s1_insert_tbl1 s1_insert_tbl2_3col s2_alter_tbl2_3rd_char s1_insert_tbl2_3col s1_commit s1_insert_tbl2_3col s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s2_alter_tbl2_add_text: ALTER TABLE tbl2 ADD COLUMN val3 TEXT;
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
@@ -548,25 +686,31 @@ step s1_commit: COMMIT;
 step s2_alter_tbl2_3rd_char: <... completed>
 step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
-COMMIT         
-BEGIN          
+data                                                                                  
+--------------------------------------------------------------------------------------
+BEGIN                                                                                 
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1                            
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'             
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'             
+COMMIT                                                                                
+BEGIN                                                                                 
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
-COMMIT         
-?column?       
+COMMIT                                                                                
+(8 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s2_alter_tbl2_add_char s1_begin s1_insert_tbl1 s2_alter_tbl2_3rd_text s1_insert_tbl2_3col s1_commit s2_alter_tbl2_drop_3rd_col s1_insert_tbl2 s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying;
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
@@ -576,24 +720,30 @@ step s1_commit: COMMIT;
 step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3;
 step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data                                                                     
+-------------------------------------------------------------------------
+BEGIN                                                                    
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1               
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
-COMMIT         
-BEGIN          
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                                   
+BEGIN                                                                    
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1               
+COMMIT                                                                   
+(7 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s2_alter_tbl2_add_text s1_begin s1_insert_tbl1 s2_alter_tbl2_3rd_char s1_insert_tbl2_3col s1_commit s2_alter_tbl2_drop_3rd_col s1_insert_tbl2 s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s2_alter_tbl2_add_text: ALTER TABLE tbl2 ADD COLUMN val3 TEXT;
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
@@ -603,24 +753,30 @@ step s1_commit: COMMIT;
 step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3;
 step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data                                                                                  
+--------------------------------------------------------------------------------------
+BEGIN                                                                                 
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1                            
 table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
-COMMIT         
-BEGIN          
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                                                
+BEGIN                                                                                 
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1                            
+COMMIT                                                                                
+(7 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
 
 starting permutation: s1_init s2_alter_tbl2_add_char s1_begin s1_insert_tbl1 s2_alter_tbl2_drop_3rd_col s1_insert_tbl1 s1_commit s2_get_changes
 step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?       
+?column?
+--------
+init    
+(1 row)
 
-init           
 step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying;
 step s1_begin: BEGIN;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
@@ -628,12 +784,16 @@ step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3;
 step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
 step s1_commit: COMMIT;
 step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data           
-
-BEGIN          
+data                                                      
+----------------------------------------------------------
+BEGIN                                                     
 table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
 table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT         
-?column?       
+COMMIT                                                    
+(4 rows)
+
+?column?
+--------
+stop    
+(1 row)
 
-stop           
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;
 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;
@@ -2573,20 +3081,24 @@ step sc2: COMMIT;
 
 starting permutation: rx1 s1 at1 wx sc1 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 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;
@@ -2594,18 +3106,22 @@ step sc2: COMMIT;
 
 starting permutation: rx1 s1 wx at1 rx3 c2 sc1 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 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;
@@ -2615,17 +3131,21 @@ step sc2: COMMIT;
 
 starting permutation: rx1 s1 wx rx3 at1 c2 sc1 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 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>
@@ -2636,17 +3156,21 @@ step sc2: COMMIT;
 
 starting permutation: rx1 s1 wx rx3 c2 at1 sc1 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 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;
@@ -2656,18 +3180,22 @@ step sc2: COMMIT;
 
 starting permutation: rx1 wx s1 at1 rx3 c2 sc1 s2 at2 sc2
 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 s1: BEGIN;
 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;
@@ -2677,17 +3205,21 @@ step sc2: COMMIT;
 
 starting permutation: rx1 wx s1 rx3 at1 c2 sc1 s2 at2 sc2
 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 s1: 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 at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
 step c2: COMMIT;
 step at1: <... completed>
@@ -2698,17 +3230,21 @@ step sc2: COMMIT;
 
 starting permutation: rx1 wx s1 rx3 c2 at1 sc1 s2 at2 sc2
 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 s1: 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 at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step sc1: COMMIT;
@@ -2718,16 +3254,20 @@ step sc2: COMMIT;
 
 starting permutation: rx1 wx rx3 s1 at1 c2 sc1 s2 at2 sc2
 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 s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
 step c2: COMMIT;
@@ -2739,16 +3279,20 @@ step sc2: COMMIT;
 
 starting permutation: rx1 wx rx3 s1 c2 at1 sc1 s2 at2 sc2
 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 s1: BEGIN;
 step c2: COMMIT;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
@@ -2759,16 +3303,20 @@ step sc2: COMMIT;
 
 starting permutation: rx1 wx rx3 c2 s1 at1 sc1 s2 at2 sc2
 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 s1: BEGIN;
 step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
index 33ea4421138ca6b2f60032812b4c439816e07b66..819bc332e52d9eb3ec9ab858520b7a6dffe74463 100644 (file)
@@ -6,13 +6,17 @@ step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step s1c: COMMIT;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -23,13 +27,17 @@ step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) N
 step s2a: BEGIN;
 step s1c: COMMIT;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -39,14 +47,18 @@ step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: COMMIT;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -56,13 +68,17 @@ step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1c: COMMIT;
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
@@ -73,13 +89,17 @@ step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0); <waiting ...>
 step s1c: COMMIT;
 step s2d: <... completed>
@@ -92,13 +112,17 @@ step s2a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s1c: COMMIT;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -108,14 +132,18 @@ step s1a: BEGIN;
 step s2a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: COMMIT;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -125,13 +153,17 @@ step s1a: BEGIN;
 step s2a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1c: COMMIT;
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
@@ -142,13 +174,17 @@ step s1a: BEGIN;
 step s2a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0); <waiting ...>
 step s1c: COMMIT;
 step s2d: <... completed>
@@ -159,15 +195,19 @@ starting permutation: s1a s2a s2b s1b s1c s2c s2d s2e s2f
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s1c: COMMIT;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -176,14 +216,18 @@ starting permutation: s1a s2a s2b s1b s2c s1c s2d s2e s2f
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1c: COMMIT;
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
@@ -193,14 +237,18 @@ starting permutation: s1a s2a s2b s1b s2c s2d s1c s2e s2f
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0); <waiting ...>
 step s1c: COMMIT;
 step s2d: <... completed>
@@ -211,13 +259,17 @@ starting permutation: s1a s2a s2b s2c s1b s1c s2d s2e s2f
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s1c: COMMIT;
 step s2d: INSERT INTO b VALUES (0);
@@ -228,13 +280,17 @@ starting permutation: s1a s2a s2b s2c s1b s2d s1c s2e s2f
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2d: INSERT INTO b VALUES (0); <waiting ...>
 step s1c: COMMIT;
@@ -246,13 +302,17 @@ starting permutation: s1a s2a s2b s2c s2d s1b s2e s2f s1c
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
 step s2e: INSERT INTO a VALUES (4);
@@ -264,13 +324,17 @@ starting permutation: s1a s2a s2b s2c s2d s2e s1b s2f s1c
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
@@ -282,13 +346,17 @@ starting permutation: s1a s2a s2b s2c s2d s2e s2f s1b s1c
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -301,13 +369,17 @@ step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s1c: COMMIT;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -317,14 +389,18 @@ step s2a: BEGIN;
 step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: COMMIT;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -334,13 +410,17 @@ step s2a: BEGIN;
 step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1c: COMMIT;
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
@@ -351,13 +431,17 @@ step s2a: BEGIN;
 step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0); <waiting ...>
 step s1c: COMMIT;
 step s2d: <... completed>
@@ -368,15 +452,19 @@ starting permutation: s2a s1a s2b s1b s1c s2c s2d s2e s2f
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s1c: COMMIT;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -385,14 +473,18 @@ starting permutation: s2a s1a s2b s1b s2c s1c s2d s2e s2f
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1c: COMMIT;
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
@@ -402,14 +494,18 @@ starting permutation: s2a s1a s2b s1b s2c s2d s1c s2e s2f
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0); <waiting ...>
 step s1c: COMMIT;
 step s2d: <... completed>
@@ -420,13 +516,17 @@ starting permutation: s2a s1a s2b s2c s1b s1c s2d s2e s2f
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s1c: COMMIT;
 step s2d: INSERT INTO b VALUES (0);
@@ -437,13 +537,17 @@ starting permutation: s2a s1a s2b s2c s1b s2d s1c s2e s2f
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2d: INSERT INTO b VALUES (0); <waiting ...>
 step s1c: COMMIT;
@@ -455,13 +559,17 @@ starting permutation: s2a s1a s2b s2c s2d s1b s2e s2f s1c
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
 step s2e: INSERT INTO a VALUES (4);
@@ -473,13 +581,17 @@ starting permutation: s2a s1a s2b s2c s2d s2e s1b s2f s1c
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
@@ -491,13 +603,17 @@ starting permutation: s2a s1a s2b s2c s2d s2e s2f s1b s1c
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -507,16 +623,20 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s1a s1b s1c s2c s2d s2e s2f
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s1c: COMMIT;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -524,15 +644,19 @@ step s2f: COMMIT;
 starting permutation: s2a s2b s1a s1b s2c s1c s2d s2e s2f
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1c: COMMIT;
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
@@ -541,15 +665,19 @@ step s2f: COMMIT;
 starting permutation: s2a s2b s1a s1b s2c s2d s1c s2e s2f
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0); <waiting ...>
 step s1c: COMMIT;
 step s2d: <... completed>
@@ -559,14 +687,18 @@ step s2f: COMMIT;
 starting permutation: s2a s2b s1a s2c s1b s1c s2d s2e s2f
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s1c: COMMIT;
 step s2d: INSERT INTO b VALUES (0);
@@ -576,14 +708,18 @@ step s2f: COMMIT;
 starting permutation: s2a s2b s1a s2c s1b s2d s1c s2e s2f
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2d: INSERT INTO b VALUES (0); <waiting ...>
 step s1c: COMMIT;
@@ -594,14 +730,18 @@ step s2f: COMMIT;
 starting permutation: s2a s2b s1a s2c s2d s1b s2e s2f s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
 step s2e: INSERT INTO a VALUES (4);
@@ -612,14 +752,18 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s1a s2c s2d s2e s1b s2f s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
@@ -630,14 +774,18 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s1a s2c s2d s2e s2f s1b s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
@@ -647,13 +795,17 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s1a s1b s1c s2d s2e s2f
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s1c: COMMIT;
@@ -664,13 +816,17 @@ step s2f: COMMIT;
 starting permutation: s2a s2b s2c s1a s1b s2d s1c s2e s2f
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
 step s2d: INSERT INTO b VALUES (0); <waiting ...>
@@ -682,13 +838,17 @@ step s2f: COMMIT;
 starting permutation: s2a s2b s2c s1a s2d s1b s2e s2f s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1a: BEGIN;
 step s2d: INSERT INTO b VALUES (0);
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
@@ -700,13 +860,17 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s1a s2d s2e s1b s2f s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1a: BEGIN;
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
@@ -718,13 +882,17 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s1a s2d s2e s2f s1b s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s1a: BEGIN;
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
@@ -735,13 +903,17 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s2d s1a s1b s2e s2f s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s1a: BEGIN;
 step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
@@ -753,13 +925,17 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s2d s1a s2e s1b s2f s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s1a: BEGIN;
 step s2e: INSERT INTO a VALUES (4);
@@ -771,13 +947,17 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s2d s1a s2e s2f s1b s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s1a: BEGIN;
 step s2e: INSERT INTO a VALUES (4);
@@ -788,13 +968,17 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s2d s2e s1a s1b s2f s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s1a: BEGIN;
@@ -806,13 +990,17 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s2d s2e s1a s2f s1b s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s1a: BEGIN;
@@ -823,13 +1011,17 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s2d s2e s2f s1a s1b s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id           
+a_id
+----
+   3
+(1 row)
 
-3              
 step s2d: INSERT INTO b VALUES (0);
 step s2e: INSERT INTO a VALUES (4);
 step s2f: COMMIT;
index aad837206977f63be09f68953a460ff8fd4f373f..427364ee89e5412d339e8de620425e629db5691f 100644 (file)
@@ -7,9 +7,11 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s2d: COMMIT;
@@ -21,9 +23,11 @@ step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2a: BEGIN;
 step s1d: COMMIT;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s2d: COMMIT;
@@ -34,9 +38,11 @@ step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1d: COMMIT;
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
@@ -48,9 +54,11 @@ step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1d: COMMIT;
 step s2c: <... completed>
@@ -64,9 +72,11 @@ step s2a: BEGIN;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s2d: COMMIT;
@@ -77,9 +87,11 @@ step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2a: BEGIN;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1d: COMMIT;
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
@@ -91,9 +103,11 @@ step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2a: BEGIN;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1d: COMMIT;
 step s2c: <... completed>
@@ -105,9 +119,11 @@ step s1a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
 step s2c: INSERT INTO a VALUES (0);
@@ -119,9 +135,11 @@ step s1a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1d: COMMIT;
@@ -134,9 +152,11 @@ step s1a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
@@ -151,9 +171,11 @@ step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s2d: COMMIT;
@@ -164,9 +186,11 @@ step s2a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1d: COMMIT;
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
@@ -178,9 +202,11 @@ step s2a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1d: COMMIT;
 step s2c: <... completed>
@@ -192,9 +218,11 @@ step s1a: BEGIN;
 step s2a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
 step s2c: INSERT INTO a VALUES (0);
@@ -206,9 +234,11 @@ step s1a: BEGIN;
 step s2a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1d: COMMIT;
@@ -221,9 +251,11 @@ step s1a: BEGIN;
 step s2a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
@@ -235,9 +267,11 @@ starting permutation: s1a s2a s2b s1b s1c s1d s2c s2d
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
@@ -249,9 +283,11 @@ starting permutation: s1a s2a s2b s1b s1c s2c s1d s2d
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
@@ -264,9 +300,11 @@ starting permutation: s1a s2a s2b s1b s2c s1c s1d s2d
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
@@ -279,9 +317,11 @@ starting permutation: s1a s2a s2b s2c s1b s1c s1d s2d
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
@@ -293,9 +333,11 @@ starting permutation: s1a s2a s2b s2c s1b s1c s2d s1d
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
@@ -307,9 +349,11 @@ starting permutation: s1a s2a s2b s2c s1b s2d s1c s1d
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
@@ -321,9 +365,11 @@ starting permutation: s1a s2a s2b s2c s2d s1b s1c s1d
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s2d: COMMIT;
@@ -338,9 +384,11 @@ step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s2d: COMMIT;
@@ -351,9 +399,11 @@ step s1a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1d: COMMIT;
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
@@ -365,9 +415,11 @@ step s1a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1d: COMMIT;
 step s2c: <... completed>
@@ -379,9 +431,11 @@ step s2a: BEGIN;
 step s1a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
 step s2c: INSERT INTO a VALUES (0);
@@ -393,9 +447,11 @@ step s2a: BEGIN;
 step s1a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1d: COMMIT;
@@ -408,9 +464,11 @@ step s2a: BEGIN;
 step s1a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
@@ -422,9 +480,11 @@ starting permutation: s2a s1a s2b s1b s1c s1d s2c s2d
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s1d: COMMIT;
@@ -436,9 +496,11 @@ starting permutation: s2a s1a s2b s1b s1c s2c s1d s2d
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
@@ -451,9 +513,11 @@ starting permutation: s2a s1a s2b s1b s2c s1c s1d s2d
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
@@ -466,9 +530,11 @@ starting permutation: s2a s1a s2b s2c s1b s1c s1d s2d
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
@@ -480,9 +546,11 @@ starting permutation: s2a s1a s2b s2c s1b s1c s2d s1d
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
@@ -494,9 +562,11 @@ starting permutation: s2a s1a s2b s2c s1b s2d s1c s1d
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
@@ -508,9 +578,11 @@ starting permutation: s2a s1a s2b s2c s2d s1b s1c s1d
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s2d: COMMIT;
@@ -521,9 +593,11 @@ step s1d: COMMIT;
 starting permutation: s2a s2b s1a s1b s1c s1d s2c s2d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
@@ -535,9 +609,11 @@ step s2d: COMMIT;
 starting permutation: s2a s2b s1a s1b s1c s2c s1d s2d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s1c: ALTER TABLE a ENABLE TRIGGER t;
@@ -550,9 +626,11 @@ step s2d: COMMIT;
 starting permutation: s2a s2b s1a s1b s2c s1c s1d s2d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s1b: ALTER TABLE a DISABLE TRIGGER t;
 step s2c: INSERT INTO a VALUES (0); <waiting ...>
@@ -565,9 +643,11 @@ step s2d: COMMIT;
 starting permutation: s2a s2b s1a s2c s1b s1c s1d s2d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
@@ -579,9 +659,11 @@ step s2d: COMMIT;
 starting permutation: s2a s2b s1a s2c s1b s1c s2d s1d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
@@ -593,9 +675,11 @@ step s1d: COMMIT;
 starting permutation: s2a s2b s1a s2c s1b s2d s1c s1d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
@@ -607,9 +691,11 @@ step s1d: COMMIT;
 starting permutation: s2a s2b s1a s2c s2d s1b s1c s1d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
@@ -621,9 +707,11 @@ step s1d: COMMIT;
 starting permutation: s2a s2b s2c s1a s1b s1c s1d s2d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s1a: BEGIN;
@@ -635,9 +723,11 @@ step s2d: COMMIT;
 starting permutation: s2a s2b s2c s1a s1b s1c s2d s1d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s1a: BEGIN;
@@ -649,9 +739,11 @@ step s1d: COMMIT;
 starting permutation: s2a s2b s2c s1a s1b s2d s1c s1d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s1a: BEGIN;
@@ -663,9 +755,11 @@ step s1d: COMMIT;
 starting permutation: s2a s2b s2c s1a s2d s1b s1c s1d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s1a: BEGIN;
@@ -677,9 +771,11 @@ step s1d: COMMIT;
 starting permutation: s2a s2b s2c s2d s1a s1b s1c s1d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: INSERT INTO a VALUES (0);
 ERROR:  duplicate key value violates unique constraint "a_pkey"
 step s2d: COMMIT;
index 1009844f06f3d0fcff95b2cc578a059368035b20..fc579101c54a495aa73ae5be0f8beea9e84546b2 100644 (file)
@@ -6,13 +6,17 @@ step s1delc1: ALTER TABLE c1 NO INHERIT p;
 step s2sel: SELECT SUM(a) FROM p; <waiting ...>
 step s1c: COMMIT;
 step s2sel: <... completed>
-sum            
+sum
+---
+ 11
+(1 row)
 
-11             
 step s2sel: SELECT SUM(a) FROM p;
-sum            
+sum
+---
+  1
+(1 row)
 
-1              
 
 starting permutation: s1b s1delc1 s1addc2 s2sel s1c s2sel
 step s1b: BEGIN;
@@ -21,13 +25,17 @@ step s1addc2: ALTER TABLE c2 INHERIT p;
 step s2sel: SELECT SUM(a) FROM p; <waiting ...>
 step s1c: COMMIT;
 step s2sel: <... completed>
-sum            
+sum
+---
+ 11
+(1 row)
 
-11             
 step s2sel: SELECT SUM(a) FROM p;
-sum            
+sum
+---
+101
+(1 row)
 
-101            
 
 starting permutation: s1b s1dropc1 s2sel s1c s2sel
 step s1b: BEGIN;
@@ -35,13 +43,17 @@ step s1dropc1: DROP TABLE c1;
 step s2sel: SELECT SUM(a) FROM p; <waiting ...>
 step s1c: COMMIT;
 step s2sel: <... completed>
-sum            
+sum
+---
+  1
+(1 row)
 
-1              
 step s2sel: SELECT SUM(a) FROM p;
-sum            
+sum
+---
+  1
+(1 row)
 
-1              
 
 starting permutation: s1b s1delc1 s1modc1a s2sel s1c s2sel
 step s1b: BEGIN;
@@ -52,6 +64,8 @@ step s1c: COMMIT;
 step s2sel: <... completed>
 ERROR:  attribute "a" of relation "c1" does not match parent's type
 step s2sel: SELECT SUM(a) FROM p;
-sum            
+sum
+---
+  1
+(1 row)
 
-1              
index 3a9bf3c310723adae72659c654b1e5b86a0962dc..fb08518d9a4daa8f773afd9201c923144156be32 100644 (file)
@@ -8,9 +8,11 @@ step notify2: NOTIFY c2, 'payload';
 notifier: NOTIFY "c2" with payload "payload" from notifier
 step notify3: NOTIFY c3, 'payload3';
 step notifyf: SELECT pg_notify('c2', NULL);
-pg_notify      
+pg_notify
+---------
+         
+(1 row)
 
-               
 notifier: NOTIFY "c2" with payload "" from notifier
 
 starting permutation: listenc notifyd1 notifyd2 notifys1
@@ -53,13 +55,17 @@ step notify1: NOTIFY c1;
 step notify2: NOTIFY c2, 'payload';
 step notify3: NOTIFY c3, 'payload3';
 step notifyf: SELECT pg_notify('c2', NULL);
-pg_notify      
+pg_notify
+---------
+         
+(1 row)
 
-               
 step lcheck: SELECT 1 AS x;
-x              
+x
+-
+1
+(1 row)
 
-1              
 listener: NOTIFY "c1" with payload "" from notifier
 listener: NOTIFY "c2" with payload "payload" from notifier
 listener: NOTIFY "c2" with payload "" from notifier
@@ -73,14 +79,18 @@ step notify2: NOTIFY c2, 'payload';
 notifier: NOTIFY "c2" with payload "payload" from notifier
 step notify3: NOTIFY c3, 'payload3';
 step notifyf: SELECT pg_notify('c2', NULL);
-pg_notify      
+pg_notify
+---------
+         
+(1 row)
 
-               
 notifier: NOTIFY "c2" with payload "" from notifier
 step lcheck: SELECT 1 AS x;
-x              
+x
+-
+1
+(1 row)
 
-1              
 listener: NOTIFY "c1" with payload "" from notifier
 listener: NOTIFY "c2" with payload "payload" from notifier
 listener: NOTIFY "c2" with payload "" from notifier
@@ -100,14 +110,20 @@ starting permutation: llisten lbegin usage bignotify usage
 step llisten: LISTEN c1; LISTEN c2;
 step lbegin: BEGIN;
 step usage: SELECT pg_notification_queue_usage() > 0 AS nonzero;
-nonzero        
+nonzero
+-------
+f      
+(1 row)
 
-f              
 step bignotify: SELECT count(pg_notify('c1', s::text)) FROM generate_series(1, 1000) s;
-count          
+count
+-----
+ 1000
+(1 row)
 
-1000           
 step usage: SELECT pg_notification_queue_usage() > 0 AS nonzero;
-nonzero        
+nonzero
+-------
+t      
+(1 row)
 
-t              
index f02638c0b55c5f7e230af5ea912041a35f24f74c..1d7c885bc060b026a10e4c899166768e55e1e91f 100644 (file)
@@ -2,28 +2,36 @@ Parsed test spec with 2 sessions
 
 starting permutation: rx1 wy1 c1 ry2 wx2 c2
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step c1: COMMIT;
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    1
+(1 row)
 
-1              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step c2: COMMIT;
 
 starting permutation: rx1 wy1 ry2 c1 wx2 c2
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step c1: COMMIT;
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -31,14 +39,18 @@ step c2: COMMIT;
 
 starting permutation: rx1 wy1 ry2 wx2 c1 c2
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step c1: COMMIT;
 step c2: COMMIT;
@@ -46,14 +58,18 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: rx1 wy1 ry2 wx2 c2 c1
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step c2: COMMIT;
 step c1: COMMIT;
@@ -61,13 +77,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: rx1 ry2 wy1 c1 wx2 c2
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step c1: COMMIT;
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
@@ -76,13 +96,17 @@ step c2: COMMIT;
 
 starting permutation: rx1 ry2 wy1 wx2 c1 c2
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step c1: COMMIT;
@@ -91,13 +115,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: rx1 ry2 wy1 wx2 c2 c1
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step c2: COMMIT;
@@ -106,13 +134,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: rx1 ry2 wx2 wy1 c1 c2
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step c1: COMMIT;
@@ -121,13 +153,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: rx1 ry2 wx2 wy1 c2 c1
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step c2: COMMIT;
@@ -136,13 +172,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: rx1 ry2 wx2 c2 wy1 c1
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step c2: COMMIT;
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
@@ -151,13 +191,17 @@ step c1: COMMIT;
 
 starting permutation: ry2 rx1 wy1 c1 wx2 c2
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step c1: COMMIT;
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
@@ -166,13 +210,17 @@ step c2: COMMIT;
 
 starting permutation: ry2 rx1 wy1 wx2 c1 c2
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step c1: COMMIT;
@@ -181,13 +229,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: ry2 rx1 wy1 wx2 c2 c1
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step c2: COMMIT;
@@ -196,13 +248,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: ry2 rx1 wx2 wy1 c1 c2
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step c1: COMMIT;
@@ -211,13 +267,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: ry2 rx1 wx2 wy1 c2 c1
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step c2: COMMIT;
@@ -226,13 +286,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: ry2 rx1 wx2 c2 wy1 c1
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step c2: COMMIT;
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
@@ -241,14 +305,18 @@ step c1: COMMIT;
 
 starting permutation: ry2 wx2 rx1 wy1 c1 c2
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step c1: COMMIT;
 step c2: COMMIT;
@@ -256,14 +324,18 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: ry2 wx2 rx1 wy1 c2 c1
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step c2: COMMIT;
 step c1: COMMIT;
@@ -271,14 +343,18 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 
 starting permutation: ry2 wx2 rx1 c2 wy1 c1
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step c2: COMMIT;
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -286,14 +362,18 @@ step c1: COMMIT;
 
 starting permutation: ry2 wx2 c2 rx1 wy1 c1
 step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count          
+count
+-----
+    0
+(1 row)
 
-0              
 step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
 step c2: COMMIT;
 step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count          
+count
+-----
+    1
+(1 row)
 
-1              
 step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
 step c1: COMMIT;
index 8deb64a8c0c382bf87df3fd29abaa7f2ca69fa16..7f9867804d1a5aacfc0559bdf9aff7d75ba65812 100644 (file)
@@ -6,9 +6,11 @@ step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s1c: COMMIT;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s2d: COMMIT;
 
@@ -18,9 +20,11 @@ step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s2a: BEGIN;
 step s1c: COMMIT;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s2d: COMMIT;
 
@@ -29,9 +33,11 @@ step s1a: BEGIN;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: COMMIT;
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s2d: COMMIT;
@@ -41,9 +47,11 @@ step s1a: BEGIN;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
 step s1c: COMMIT;
 step s2c: <... completed>
@@ -55,9 +63,11 @@ step s2a: BEGIN;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s1c: COMMIT;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s2d: COMMIT;
 
@@ -66,9 +76,11 @@ step s1a: BEGIN;
 step s2a: BEGIN;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: COMMIT;
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s2d: COMMIT;
@@ -78,9 +90,11 @@ step s1a: BEGIN;
 step s2a: BEGIN;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
 step s1c: COMMIT;
 step s2c: <... completed>
@@ -90,9 +104,11 @@ starting permutation: s1a s2a s2b s1b s1c s2c s2d
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s1c: COMMIT;
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
@@ -102,9 +118,11 @@ starting permutation: s1a s2a s2b s1b s2c s1c s2d
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s2c: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
 step s1c: COMMIT;
@@ -115,9 +133,11 @@ starting permutation: s1a s2a s2b s2c s1b s2d s1c
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); <waiting ...>
 step s2d: COMMIT;
@@ -128,9 +148,11 @@ starting permutation: s1a s2a s2b s2c s2d s1b s1c
 step s1a: BEGIN;
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s2d: COMMIT;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
@@ -142,9 +164,11 @@ step s1a: BEGIN;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s1c: COMMIT;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s2d: COMMIT;
 
@@ -153,9 +177,11 @@ step s2a: BEGIN;
 step s1a: BEGIN;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1c: COMMIT;
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s2d: COMMIT;
@@ -165,9 +191,11 @@ step s2a: BEGIN;
 step s1a: BEGIN;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
 step s1c: COMMIT;
 step s2c: <... completed>
@@ -177,9 +205,11 @@ starting permutation: s2a s1a s2b s1b s1c s2c s2d
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s1c: COMMIT;
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
@@ -189,9 +219,11 @@ starting permutation: s2a s1a s2b s1b s2c s1c s2d
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s2c: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
 step s1c: COMMIT;
@@ -202,9 +234,11 @@ starting permutation: s2a s1a s2b s2c s1b s2d s1c
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); <waiting ...>
 step s2d: COMMIT;
@@ -215,9 +249,11 @@ starting permutation: s2a s1a s2b s2c s2d s1b s1c
 step s2a: BEGIN;
 step s1a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s2d: COMMIT;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
@@ -226,9 +262,11 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s1a s1b s1c s2c s2d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s1c: COMMIT;
@@ -238,9 +276,11 @@ step s2d: COMMIT;
 starting permutation: s2a s2b s1a s1b s2c s1c s2d
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
 step s2c: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
@@ -251,9 +291,11 @@ step s2d: COMMIT;
 starting permutation: s2a s2b s1a s2c s1b s2d s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); <waiting ...>
@@ -264,9 +306,11 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s1a s2c s2d s1b s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s1a: BEGIN;
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s2d: COMMIT;
@@ -276,9 +320,11 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s1a s1b s2d s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s1a: BEGIN;
 step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); <waiting ...>
@@ -289,9 +335,11 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s1a s2d s1b s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s1a: BEGIN;
 step s2d: COMMIT;
@@ -301,9 +349,11 @@ step s1c: COMMIT;
 starting permutation: s2a s2b s2c s2d s1a s1b s1c
 step s2a: BEGIN;
 step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i              
+i
+-
+1
+(1 row)
 
-1              
 step s2c: UPDATE a SET i = 4 WHERE i = 3;
 step s2d: COMMIT;
 step s1a: BEGIN;
index f66a90c6f0fbfc55da99d3eca2a09ca24ea7d126..6fc991ae0096e4ff09fc5f98e5e8fa525aadefa2 100644 (file)
@@ -2,75 +2,99 @@ Parsed test spec with 2 sessions
 
 starting permutation: s1l s1svp s1d s1r s2l s1c s2c
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1svp: SAVEPOINT f;
 step s1d: SELECT * FROM foo FOR NO KEY UPDATE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1r: ROLLBACK TO f;
 step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
 step s1c: COMMIT;
 step s2l: <... completed>
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 
 starting permutation: s1l s1svp s1d s2l s1r s1c s2c
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1svp: SAVEPOINT f;
 step s1d: SELECT * FROM foo FOR NO KEY UPDATE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
 step s1r: ROLLBACK TO f;
 step s1c: COMMIT;
 step s2l: <... completed>
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 
 starting permutation: s1l s1svp s1d s1r s2l2 s1c s2c
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1svp: SAVEPOINT f;
 step s1d: SELECT * FROM foo FOR NO KEY UPDATE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1r: ROLLBACK TO f;
 step s2l2: SELECT * FROM foo FOR NO KEY UPDATE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 step s2c: COMMIT;
 
 starting permutation: s1l s1svp s1d s2l2 s1r s1c s2c
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1svp: SAVEPOINT f;
 step s1d: SELECT * FROM foo FOR NO KEY UPDATE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2l2: SELECT * FROM foo FOR NO KEY UPDATE; <waiting ...>
 step s1r: ROLLBACK TO f;
 step s2l2: <... completed>
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1c: COMMIT;
 step s2c: COMMIT;
index 284aa89d3534e1d77c0e4bc6e024acf1b35b6c88..8f70bab45d40ab66f1554fa53aa0334d81a7269f 100644 (file)
@@ -2,94 +2,118 @@ Parsed test spec with 2 sessions
 
 starting permutation: s1l s1svp s1d s1r s1c s2l s2c
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1svp: SAVEPOINT f;
 step s1d: DELETE FROM foo;
 step s1r: ROLLBACK TO f;
 step s1c: COMMIT;
 step s2l: SELECT * FROM foo FOR UPDATE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 
 starting permutation: s1l s1svp s1d s1r s2l s1c s2c
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1svp: SAVEPOINT f;
 step s1d: DELETE FROM foo;
 step s1r: ROLLBACK TO f;
 step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
 step s1c: COMMIT;
 step s2l: <... completed>
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 
 starting permutation: s1l s1svp s1d s2l s1r s1c s2c
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1svp: SAVEPOINT f;
 step s1d: DELETE FROM foo;
 step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
 step s1r: ROLLBACK TO f;
 step s1c: COMMIT;
 step s2l: <... completed>
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 
 starting permutation: s1l s1svp s2l s1d s1r s1c s2c
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1svp: SAVEPOINT f;
 step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
 step s1d: DELETE FROM foo;
 step s1r: ROLLBACK TO f;
 step s1c: COMMIT;
 step s2l: <... completed>
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 
 starting permutation: s1l s2l s1svp s1d s1r s1c s2c
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
 step s1svp: SAVEPOINT f;
 step s1d: DELETE FROM foo;
 step s1r: ROLLBACK TO f;
 step s1c: COMMIT;
 step s2l: <... completed>
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s2c: COMMIT;
 
 starting permutation: s2l s1l s2c s1svp s1d s1r s1c
 step s2l: SELECT * FROM foo FOR UPDATE;
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1l: SELECT * FROM foo FOR KEY SHARE; <waiting ...>
 step s2c: COMMIT;
 step s1l: <... completed>
-key            value          
+key|value
+---+-----
+  1|    1
+(1 row)
 
-1              1              
 step s1svp: SAVEPOINT f;
 step s1d: DELETE FROM foo;
 step s1r: ROLLBACK TO f;
@@ -97,14 +121,18 @@ step s1c: COMMIT;
 
 starting permutation: s2l s2c s1l s1svp s1d s1r s1c
 step s2l: SELECT * FROM foo FOR UPDATE;
-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 s1svp: SAVEPOINT f;
 step s1d: DELETE FROM foo;
 step s1r: ROLLBACK TO f;
index 75dff56bc46d40aa8eb012543044b7c10d516b7e..3b6be6b187cee7197f9ebb14a7fc91819566dffa 100644 (file)
@@ -4,41 +4,53 @@ starting permutation: noseq chkiso prepi preps begin explaini explains select2 d
 step noseq: SET enable_seqscan = false;
 step chkiso: SELECT (setting in ('read committed','read uncommitted')) AS is_read_committed FROM pg_settings WHERE name = 'default_transaction_isolation';
 is_read_committed
+-----------------
+t                
+(1 row)
 
-t              
 step prepi: PREPARE getrow_idx AS SELECT * FROM test_dc WHERE data=34 ORDER BY id,data;
 step preps: PREPARE getrow_seq AS SELECT * FROM test_dc WHERE data::text=34::text ORDER BY id,data;
 step begin: BEGIN;
 step explaini: EXPLAIN (COSTS OFF) EXECUTE getrow_idx;
-QUERY PLAN     
-
-Sort           
-  Sort Key: id 
+QUERY PLAN                                    
+----------------------------------------------
+Sort                                          
+  Sort Key: id                                
   ->  Index Scan using test_dc_data on test_dc
-        Index Cond: (data = 34)
-step explains: EXPLAIN (COSTS OFF) EXECUTE getrow_seq;
-QUERY PLAN     
+        Index Cond: (data = 34)               
+(4 rows)
 
-Sort           
-  Sort Key: id, data
-  ->  Seq Scan on test_dc
+step explains: EXPLAIN (COSTS OFF) EXECUTE getrow_seq;
+QUERY PLAN                                 
+-------------------------------------------
+Sort                                       
+  Sort Key: id, data                       
+  ->  Seq Scan on test_dc                  
         Filter: ((data)::text = '34'::text)
+(4 rows)
+
 step select2: SELECT * FROM test_dc WHERE data=34 ORDER BY id,data;
-id             data           
+id|data
+--+----
+34|  34
+(1 row)
 
-34             34             
 step drop: DROP INDEX CONCURRENTLY test_dc_data; <waiting ...>
 step insert2: INSERT INTO test_dc(data) SELECT * FROM generate_series(1, 100);
 step end2: COMMIT;
 step selecti: EXECUTE getrow_idx;
-id             data           
+ id|data
+---+----
+ 34|  34
+134|  34
+(2 rows)
 
-34             34             
-134            34             
 step selects: EXECUTE getrow_seq;
-id             data           
+ id|data
+---+----
+ 34|  34
+134|  34
+(2 rows)
 
-34             34             
-134            34             
 step end: COMMIT;
 step drop: <... completed>
index e540bbe1d7f8884941376d284dc0d85f42cddff4..481cba57c82fb2baa3546f05b62d5fd0973dd492 100644 (file)
@@ -4,39 +4,51 @@ starting permutation: noseq chkiso prepi preps begin explaini explains select2 d
 step noseq: SET enable_seqscan = false;
 step chkiso: SELECT (setting in ('read committed','read uncommitted')) AS is_read_committed FROM pg_settings WHERE name = 'default_transaction_isolation';
 is_read_committed
+-----------------
+f                
+(1 row)
 
-f              
 step prepi: PREPARE getrow_idx AS SELECT * FROM test_dc WHERE data=34 ORDER BY id,data;
 step preps: PREPARE getrow_seq AS SELECT * FROM test_dc WHERE data::text=34::text ORDER BY id,data;
 step begin: BEGIN;
 step explaini: EXPLAIN (COSTS OFF) EXECUTE getrow_idx;
-QUERY PLAN     
-
-Sort           
-  Sort Key: id 
+QUERY PLAN                                    
+----------------------------------------------
+Sort                                          
+  Sort Key: id                                
   ->  Index Scan using test_dc_data on test_dc
-        Index Cond: (data = 34)
-step explains: EXPLAIN (COSTS OFF) EXECUTE getrow_seq;
-QUERY PLAN     
+        Index Cond: (data = 34)               
+(4 rows)
 
-Sort           
-  Sort Key: id, data
-  ->  Seq Scan on test_dc
+step explains: EXPLAIN (COSTS OFF) EXECUTE getrow_seq;
+QUERY PLAN                                 
+-------------------------------------------
+Sort                                       
+  Sort Key: id, data                       
+  ->  Seq Scan on test_dc                  
         Filter: ((data)::text = '34'::text)
+(4 rows)
+
 step select2: SELECT * FROM test_dc WHERE data=34 ORDER BY id,data;
-id             data           
+id|data
+--+----
+34|  34
+(1 row)
 
-34             34             
 step drop: DROP INDEX CONCURRENTLY test_dc_data; <waiting ...>
 step insert2: INSERT INTO test_dc(data) SELECT * FROM generate_series(1, 100);
 step end2: COMMIT;
 step selecti: EXECUTE getrow_idx;
-id             data           
+id|data
+--+----
+34|  34
+(1 row)
 
-34             34             
 step selects: EXECUTE getrow_seq;
-id             data           
+id|data
+--+----
+34|  34
+(1 row)
 
-34             34             
 step end: COMMIT;
 step drop: <... completed>
index 6986f3b95348105a491302a91f1717155b8ac95b..5919c9aa7b1626ca611e4a4b551b365cd089a644 100644 (file)
@@ -4,21 +4,29 @@ starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc
 step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -31,9 +39,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 step s1_c: COMMIT;
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  upd: text key-a = text key-a: t
@@ -47,35 +57,47 @@ step s2_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data              
+-----+------------------
+key-a|val-a-s1-ups1-ups2
+(1 row)
 
-key-a          val-a-s1-ups1-ups2
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data              
+-----+------------------
+key-a|val-a-s1-ups1-ups2
+key-b|val-b-s1          
+(2 rows)
 
-key-a          val-a-s1-ups1-ups2
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s1_r s2_upd_a_data s2_c s0_rep
 step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -88,9 +110,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 step s1_r: ROLLBACK;
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
@@ -104,15 +128,19 @@ step s2_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+(1 row)
 
-key-a          val-a-s1-ups2  
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+key-b|val-b-s1     
+(2 rows)
 
-key-a          val-a-s1-ups2  
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s1_c s2_del_a s2_c s0_rep
 step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -120,21 +148,29 @@ step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -147,9 +183,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 step s1_c: COMMIT;
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  upd: text key-a = text key-a: t
@@ -163,14 +201,18 @@ step s2_del_a:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s1_r s2_del_a s2_c s0_rep
 step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -178,21 +220,29 @@ step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -205,9 +255,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 step s1_r: ROLLBACK;
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
@@ -221,34 +273,46 @@ step s2_del_a:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *
 
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_c s2_c s0_rep
 step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -261,9 +325,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -280,35 +346,47 @@ s2: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (k
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2)
 step s2_upd_a_data: <... completed>
-key            data           
+key  |data              
+-----+------------------
+key-a|val-a-s1-ups1-ups2
+(1 row)
 
-key-a          val-a-s1-ups1-ups2
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data              
+-----+------------------
+key-a|val-a-s1-ups1-ups2
+key-b|val-b-s1          
+(2 rows)
 
-key-a          val-a-s1-ups1-ups2
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_r s2_c s0_rep
 step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -321,9 +399,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -338,15 +418,19 @@ s2: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (k
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2)
 step s2_upd_a_data: <... completed>
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+(1 row)
 
-key-a          val-a-s1-ups2  
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+key-b|val-b-s1     
+(2 rows)
 
-key-a          val-a-s1-ups2  
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_c s2_c s0_rep
 step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -354,21 +438,29 @@ step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -381,9 +473,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -400,15 +494,19 @@ s2: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (k
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2)
 step s2_upd_a_data: <... completed>
-key            data           
+key  |data              
+-----+------------------
+key-a|val-a-s1-ups1-ups2
+(1 row)
 
-key-a          val-a-s1-ups1-ups2
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data              
+-----+------------------
+key-a|val-a-s1-ups1-ups2
+key-b|val-b-s1          
+(2 rows)
 
-key-a          val-a-s1-ups1-ups2
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_r s2_c s0_rep
 step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -416,21 +514,29 @@ step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -443,9 +549,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -460,15 +568,19 @@ s2: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (k
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2)
 step s2_upd_a_data: <... completed>
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+(1 row)
 
-key-a          val-a-s1-ups2  
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+key-b|val-b-s1     
+(2 rows)
 
-key-a          val-a-s1-ups2  
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_c s2_c s0_rep
 step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -476,21 +588,29 @@ step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: <NULL>
@@ -503,9 +623,11 @@ step s1_del_a:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *
 
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -518,13 +640,17 @@ step s2_upd_a_data:
 step s1_c: COMMIT;
 s2: NOTICE:  upd: text key-b = text key-a: f
 step s2_upd_a_data: <... completed>
-key            data           
+key|data
+---+----
+(0 rows)
 
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_r s2_c s0_rep
 step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -532,21 +658,29 @@ step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: <NULL>
@@ -559,9 +693,11 @@ step s1_del_a:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *
 
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -576,15 +712,19 @@ s2: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (k
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2)
 step s2_upd_a_data: <... completed>
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+(1 row)
 
-key-a          val-a-s1-ups2  
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+key-b|val-b-s1     
+(2 rows)
 
-key-a          val-a-s1-ups2  
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_a_i s1_trig_rep_a_d s1_b_rc s2_b_rc s1_ins_a s2_ins_a s1_c s2_c s0_rep
 step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -592,19 +732,25 @@ step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH
 step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 s1: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s2: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s2)
 step s2_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s2') RETURNING *; <waiting ...>
 step s1_c: COMMIT;
@@ -612,9 +758,11 @@ step s2_ins_a: <... completed>
 ERROR:  duplicate key value violates unique constraint "trigtest_pkey"
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 
 starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_a_i s1_trig_rep_a_d s1_b_rc s2_b_rc s1_ins_a s2_ins_a s1_r s2_c s0_rep
 step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -622,32 +770,42 @@ step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH
 step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 s1: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s2: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s2)
 step s2_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s2') RETURNING *; <waiting ...>
 step s1_r: ROLLBACK;
 s2: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s2)
 step s2_ins_a: <... completed>
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s2
+(1 row)
 
-key-a          val-a-s2       
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s2
+(1 row)
 
-key-a          val-a-s2       
 
 starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upsert_a_data s1_c s2_c s0_rep
 step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -659,23 +817,31 @@ step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH R
 s1: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 s1: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s1: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-b,val-b-s1)
 s1: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-b,val-b-s1)
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -688,9 +854,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-upss2)
 step s2_upsert_a_data: 
     INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2')
@@ -707,15 +875,19 @@ s2: NOTICE:  upk: text val-a-s1-ups1 <> text mismatch: t
 s2: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2)
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2)
 step s2_upsert_a_data: <... completed>
-key            data           
+key  |data                  
+-----+----------------------
+key-a|val-a-s1-ups1-upserts2
+(1 row)
 
-key-a          val-a-s1-ups1-upserts2
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data                  
+-----+----------------------
+key-a|val-a-s1-ups1-upserts2
+key-b|val-b-s1              
+(2 rows)
 
-key-a          val-a-s1-ups1-upserts2
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upsert_a_data s1_c s2_c s0_rep
 step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -727,23 +899,31 @@ step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH R
 s1: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 s1: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s1: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-b,val-b-s1)
 s1: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-b,val-b-s1)
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -756,9 +936,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-upss2)
 step s2_upsert_a_data: 
     INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2')
@@ -775,15 +957,19 @@ s2: NOTICE:  upk: text val-a-s1-ups1 <> text mismatch: t
 s2: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2)
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2)
 step s2_upsert_a_data: <... completed>
-key            data           
+key  |data                  
+-----+----------------------
+key-a|val-a-s1-ups1-upserts2
+(1 row)
 
-key-a          val-a-s1-ups1-upserts2
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data                  
+-----+----------------------
+key-a|val-a-s1-ups1-upserts2
+key-b|val-b-s1              
+(2 rows)
 
-key-a          val-a-s1-ups1-upserts2
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_b_rc s2_b_rc s1_ins_a s2_upsert_a_data s1_c s2_c s0_rep
 step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -793,19 +979,25 @@ step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH R
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 s1: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s2: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-upss2)
 step s2_upsert_a_data: 
     INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2')
@@ -822,14 +1014,18 @@ s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s2: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-upserts2)
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-upserts2)
 step s2_upsert_a_data: <... completed>
-key            data           
+key  |data             
+-----+-----------------
+key-a|val-a-s1-upserts2
+(1 row)
 
-key-a          val-a-s1-upserts2
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data             
+-----+-----------------
+key-a|val-a-s1-upserts2
+(1 row)
 
-key-a          val-a-s1-upserts2
 
 starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_b_rc s2_b_rc s1_ins_a s2_upsert_a_data s1_r s2_c s0_rep
 step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -839,19 +1035,25 @@ step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH R
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 s1: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s2: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-upss2)
 step s2_upsert_a_data: 
     INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2')
@@ -865,14 +1067,18 @@ step s2_upsert_a_data:
 step s1_r: ROLLBACK;
 s2: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-upss2)
 step s2_upsert_a_data: <... completed>
-key            data           
+key  |data       
+-----+-----------
+key-a|val-a-upss2
+(1 row)
 
-key-a          val-a-upss2    
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data       
+-----+-----------
+key-a|val-a-upss2
+(1 row)
 
-key-a          val-a-upss2    
 
 starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_b_rc s2_b_rc s1_ins_a s1_upd_a_data s2_upsert_a_data s1_c s2_c s0_rep
 step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -882,19 +1088,25 @@ step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH R
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 s1: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -906,9 +1118,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-upss2)
 step s2_upsert_a_data: 
     INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2')
@@ -925,14 +1139,18 @@ s2: NOTICE:  upk: text val-a-s1-ups1 <> text mismatch: t
 s2: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2)
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2)
 step s2_upsert_a_data: <... completed>
-key            data           
+key  |data                  
+-----+----------------------
+key-a|val-a-s1-ups1-upserts2
+(1 row)
 
-key-a          val-a-s1-ups1-upserts2
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data                  
+-----+----------------------
+key-a|val-a-s1-ups1-upserts2
+(1 row)
 
-key-a          val-a-s1-ups1-upserts2
 
 starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_b_rc s2_b_rc s1_ins_a s1_upd_a_data s2_upsert_a_data s1_r s2_c s0_rep
 step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -942,19 +1160,25 @@ step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH R
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 s1: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-s1)
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1)
@@ -966,9 +1190,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-upss2)
 step s2_upsert_a_data: 
     INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2')
@@ -982,33 +1208,45 @@ step s2_upsert_a_data:
 step s1_r: ROLLBACK;
 s2: NOTICE:  trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: <NULL> new: (key-a,val-a-upss2)
 step s2_upsert_a_data: <... completed>
-key            data           
+key  |data       
+-----+-----------
+key-a|val-a-upss2
+(1 row)
 
-key-a          val-a-upss2    
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data       
+-----+-----------
+key-a|val-a-upss2
+(1 row)
 
-key-a          val-a-upss2    
 
 starting permutation: s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_c s2_c s0_rep
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  upd: text key-b = text key-a: f
@@ -1020,9 +1258,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -1038,34 +1278,46 @@ s2: NOTICE:  upk: text val-a-s1-ups1 <> text mismatch: t
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2)
 step s2_upd_a_data: <... completed>
-key            data           
+key  |data              
+-----+------------------
+key-a|val-a-s1-ups1-ups2
+(1 row)
 
-key-a          val-a-s1-ups1-ups2
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data              
+-----+------------------
+key-a|val-a-s1-ups1-ups2
+key-b|val-b-s1          
+(2 rows)
 
-key-a          val-a-s1-ups1-ups2
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_r s2_c s0_rep
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  upd: text key-b = text key-a: f
@@ -1077,9 +1329,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -1093,35 +1347,47 @@ step s1_r: ROLLBACK;
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2)
 step s2_upd_a_data: <... completed>
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+(1 row)
 
-key-a          val-a-s1-ups2  
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+key-b|val-b-s1     
+(2 rows)
 
-key-a          val-a-s1-ups2  
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_del_a s1_c s2_c s0_rep
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  upd: text key-b = text key-a: f
@@ -1133,9 +1399,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_del_a: 
@@ -1151,34 +1419,46 @@ s2: NOTICE:  upk: text val-a-s1-ups1 <> text mismatch: t
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1-ups1) new: <NULL>
 step s2_del_a: <... completed>
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_del_a s1_r s2_c s0_rep
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  upd: text key-b = text key-a: f
@@ -1190,9 +1470,11 @@ step s1_upd_a_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups1
+(1 row)
 
-key-a          val-a-s1-ups1  
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_del_a: 
@@ -1206,34 +1488,46 @@ step s1_r: ROLLBACK;
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: <NULL>
 step s2_del_a: <... completed>
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_c s2_c s0_rep
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  upd: text key-b = text key-a: f
@@ -1245,9 +1539,11 @@ step s1_del_a:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *
 
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -1260,33 +1556,45 @@ step s2_upd_a_data:
 step s1_c: COMMIT;
 s2: NOTICE:  upd: text key-b = text key-a: f
 step s2_upd_a_data: <... completed>
-key            data           
+key|data
+---+----
+(0 rows)
 
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_r s2_c s0_rep
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  upd: text key-b = text key-a: f
@@ -1298,9 +1606,11 @@ step s1_del_a:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *
 
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -1314,34 +1624,46 @@ step s1_r: ROLLBACK;
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2)
 step s2_upd_a_data: <... completed>
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+(1 row)
 
-key-a          val-a-s1-ups2  
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+key-b|val-b-s1     
+(2 rows)
 
-key-a          val-a-s1-ups2  
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_a_d s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_del_a s1_c s2_c s0_rep
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  upd: text key-b = text key-a: f
@@ -1353,9 +1675,11 @@ step s1_del_a:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *
 
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_del_a: 
@@ -1368,32 +1692,44 @@ step s2_del_a:
 step s1_c: COMMIT;
 s2: NOTICE:  upd: text key-b = text key-a: f
 step s2_del_a: <... completed>
-key            data           
+key|data
+---+----
+(0 rows)
 
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_a_d s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_del_a s1_r s2_c s0_rep
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  upd: text key-b = text key-a: f
@@ -1405,9 +1741,11 @@ step s1_del_a:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *
 
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_del_a: 
@@ -1421,34 +1759,46 @@ step s1_r: ROLLBACK;
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: <NULL>
 step s2_del_a: <... completed>
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data    
+-----+--------
+key-b|val-b-s1
+(1 row)
 
-key-b          val-b-s1       
 
 starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_upd_a_tob s2_upd_a_data s1_c s2_c s0_rep
 step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-c|val-c-s1
+(1 row)
 
-key-c          val-c-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upk: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1)
@@ -1461,9 +1811,11 @@ step s1_upd_a_tob:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data          
+-----+--------------
+key-b|val-a-s1-tobs1
+(1 row)
 
-key-b          val-a-s1-tobs1 
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -1477,34 +1829,46 @@ step s1_c: COMMIT;
 s2: NOTICE:  upd: text key-b = text key-a: f
 s2: NOTICE:  upd: text key-c = text key-a: f
 step s2_upd_a_data: <... completed>
-key            data           
+key|data
+---+----
+(0 rows)
 
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data          
+-----+--------------
+key-b|val-a-s1-tobs1
+key-c|val-c-s1      
+(2 rows)
 
-key-b          val-a-s1-tobs1 
-key-c          val-c-s1       
 
 starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_upd_a_tob s2_upd_a_data s1_r s2_c s0_rep
 step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-c|val-c-s1
+(1 row)
 
-key-c          val-c-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upk: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1)
@@ -1517,9 +1881,11 @@ step s1_upd_a_tob:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data          
+-----+--------------
+key-b|val-a-s1-tobs1
+(1 row)
 
-key-b          val-a-s1-tobs1 
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -1534,35 +1900,47 @@ s2: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (k
 s2: NOTICE:  upd: text key-c = text key-a: f
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2)
 step s2_upd_a_data: <... completed>
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+(1 row)
 
-key-a          val-a-s1-ups2  
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data         
+-----+-------------
+key-a|val-a-s1-ups2
+key-c|val-c-s1     
+(2 rows)
 
-key-a          val-a-s1-ups2  
-key-c          val-c-s1       
 
 starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_upd_a_tob s2_upd_b_data s1_c s2_c s0_rep
 step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-c|val-c-s1
+(1 row)
 
-key-c          val-c-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upk: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1)
@@ -1575,9 +1953,11 @@ step s1_upd_a_tob:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data          
+-----+--------------
+key-b|val-a-s1-tobs1
+(1 row)
 
-key-b          val-a-s1-tobs1 
 s2: NOTICE:  upd: text key-a = text key-b: f
 s2: NOTICE:  upd: text key-c = text key-b: f
 step s2_upd_b_data: 
@@ -1587,35 +1967,47 @@ step s2_upd_b_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key|data
+---+----
+(0 rows)
 
 step s1_c: COMMIT;
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data          
+-----+--------------
+key-b|val-a-s1-tobs1
+key-c|val-c-s1      
+(2 rows)
 
-key-b          val-a-s1-tobs1 
-key-c          val-c-s1       
 
 starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_upd_a_tob s2_upd_all_data s1_c s2_c s0_rep
 step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-c|val-c-s1
+(1 row)
 
-key-c          val-c-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upk: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1)
@@ -1628,9 +2020,11 @@ step s1_upd_a_tob:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;
 
-key            data           
+key  |data          
+-----+--------------
+key-b|val-a-s1-tobs1
+(1 row)
 
-key-b          val-a-s1-tobs1 
 s2: NOTICE:  upd: text key-a <> text mismatch: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_all_data: 
@@ -1650,16 +2044,20 @@ s2: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (k
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-b,val-a-s1-tobs1) new: (key-b,val-a-s1-tobs1-ups2)
 s2: NOTICE:  trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-c,val-c-s1) new: (key-c,val-c-s1-ups2)
 step s2_upd_all_data: <... completed>
-key            data           
+key  |data               
+-----+-------------------
+key-b|val-a-s1-tobs1-ups2
+key-c|val-c-s1-ups2      
+(2 rows)
 
-key-b          val-a-s1-tobs1-ups2
-key-c          val-c-s1-ups2  
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data               
+-----+-------------------
+key-b|val-a-s1-tobs1-ups2
+key-c|val-c-s1-ups2      
+(2 rows)
 
-key-b          val-a-s1-tobs1-ups2
-key-c          val-c-s1-ups2  
 
 starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_c s2_c s0_rep
 step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -1667,21 +2065,29 @@ step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH
 step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
 step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *;
-key            data           
+key  |data    
+-----+--------
+key-c|val-c-s1
+(1 row)
 
-key-c          val-c-s1       
 step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1;
-?column?       
+?column?
+--------
+       1
+(1 row)
 
-1              
 s1: NOTICE:  upd: text key-a = text key-a: t
 s1: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: <NULL>
@@ -1694,9 +2100,11 @@ step s1_del_a:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *
 
-key            data           
+key  |data    
+-----+--------
+key-a|val-a-s1
+(1 row)
 
-key-a          val-a-s1       
 s2: NOTICE:  upd: text key-a = text key-a: t
 s2: NOTICE:  upk: text val-a-s1 <> text mismatch: t
 step s2_upd_a_data: 
@@ -1709,13 +2117,17 @@ step s2_upd_a_data:
 step s1_c: COMMIT;
 s2: NOTICE:  upd: text key-c = text key-a: f
 step s2_upd_a_data: <... completed>
-key            data           
+key|data
+---+----
+(0 rows)
 
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data           
+key  |data    
+-----+--------
+key-c|val-c-s1
+(1 row)
 
-key-c          val-c-s1       
 
 starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_r s2_c s0_rep
 step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report();
@@ -1723,21 +2135,29 @@ step