Re: Improving isolationtester's data output

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Improving isolationtester's data output
Дата
Msg-id 599909.1623811469@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Improving isolationtester's data output  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Список pgsql-hackers
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> On 2021-Jun-15, Tom Lane wrote:
>> If we wanted to buy into that, I'd think about discarding this
>> ad-hoc code altogether in favor of using one of libpq's fe-print.c
>> routines.  But I'm not really sure that the small legibility gains
>> that would result are worth massive changes in the output files.

> Shrug -- it's a one time change.  It wouldn't bother me, for one.

Here's a really quick-and-dirty patch to see what that would look
like.  I haven't bothered here to update the expected-files outside
the main src/test/isolation directory, nor to fix the variant files.

            regards, tom lane

diff --git a/src/test/isolation/expected/aborted-keyrevoke.out b/src/test/isolation/expected/aborted-keyrevoke.out
index c93762394f..a03542636f 100644
--- a/src/test/isolation/expected/aborted-keyrevoke.out
+++ b/src/test/isolation/expected/aborted-keyrevoke.out
@@ -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;
diff --git a/src/test/isolation/expected/alter-table-1.out b/src/test/isolation/expected/alter-table-1.out
index dd5d8b11b6..5e88174be4 100644
--- a/src/test/isolation/expected/alter-table-1.out
+++ b/src/test/isolation/expected/alter-table-1.out
@@ -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;
diff --git a/src/test/isolation/expected/alter-table-2.out b/src/test/isolation/expected/alter-table-2.out
index 33ea442113..819bc332e5 100644
--- a/src/test/isolation/expected/alter-table-2.out
+++ b/src/test/isolation/expected/alter-table-2.out
@@ -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;
diff --git a/src/test/isolation/expected/alter-table-3.out b/src/test/isolation/expected/alter-table-3.out
index b4f3b5a86d..25d2071be5 100644
--- a/src/test/isolation/expected/alter-table-3.out
+++ b/src/test/isolation/expected/alter-table-3.out
@@ -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;
diff --git a/src/test/isolation/expected/alter-table-4.out b/src/test/isolation/expected/alter-table-4.out
index d2dac0be09..6d70581293 100644
--- a/src/test/isolation/expected/alter-table-4.out
+++ b/src/test/isolation/expected/alter-table-4.out
@@ -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 in steps s1c s2sel: 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
diff --git a/src/test/isolation/expected/async-notify.out b/src/test/isolation/expected/async-notify.out
index 79427789b1..556e180589 100644
--- a/src/test/isolation/expected/async-notify.out
+++ b/src/test/isolation/expected/async-notify.out
@@ -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
@@ -51,13 +53,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
@@ -71,14 +77,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
@@ -98,14 +108,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
diff --git a/src/test/isolation/expected/classroom-scheduling.out
b/src/test/isolation/expected/classroom-scheduling.out
index f02638c0b5..1d7c885bc0 100644
--- a/src/test/isolation/expected/classroom-scheduling.out
+++ b/src/test/isolation/expected/classroom-scheduling.out
@@ -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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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-0114: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
WITHTIME 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-0114: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;
diff --git a/src/test/isolation/expected/create-trigger.out b/src/test/isolation/expected/create-trigger.out
index 8deb64a8c0..7f9867804d 100644
--- a/src/test/isolation/expected/create-trigger.out
+++ b/src/test/isolation/expected/create-trigger.out
@@ -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;
diff --git a/src/test/isolation/expected/deadlock-parallel.out b/src/test/isolation/expected/deadlock-parallel.out
index cf4d07e615..6fe5e24a02 100644
--- a/src/test/isolation/expected/deadlock-parallel.out
+++ b/src/test/isolation/expected/deadlock-parallel.out
@@ -2,13 +2,17 @@ Parsed test spec with 4 sessions

 starting permutation: d1a1 d2a2 e1l e2l d1a2 d2a1 d1c e1c d2c e2c
 step d1a1: SELECT lock_share(1,x), lock_excl(3,x) FROM bigt LIMIT 1;
-lock_share     lock_excl
+lock_share|lock_excl
+----------+---------
+         1|        1
+(1 row)

-1              1
 step d2a2: select lock_share(2,x) FROM bigt LIMIT 1;
-lock_share
+lock_share
+----------
+         1
+(1 row)

-1
 step e1l: SELECT lock_excl(1,x) FROM bigt LIMIT 1; <waiting ...>
 step e2l: SELECT lock_excl(2,x) FROM bigt LIMIT 1; <waiting ...>
 step d1a2: SET force_parallel_mode = on;
@@ -30,25 +34,35 @@ step d2a1: SET force_parallel_mode = on;
               RESET parallel_tuple_cost;
               SELECT lock_share(3,x) FROM bigt LIMIT 1; <waiting ...>
 step d1a2: <... completed>
-sum
+  sum
+-----
+10000
+(1 row)

-10000
 step d1c: COMMIT;
 step e1l: <... completed>
-lock_excl
+lock_excl
+---------
+        1
+(1 row)

-1
 step d2a1: <... completed>
-sum
+  sum
+-----
+10000
+(1 row)

-10000
-lock_share
+lock_share
+----------
+         1
+(1 row)

-1
 step e1c: COMMIT;
 step d2c: COMMIT;
 step e2l: <... completed>
-lock_excl
+lock_excl
+---------
+        1
+(1 row)

-1
 step e2c: COMMIT;
diff --git a/src/test/isolation/expected/delete-abort-savept-2.out
b/src/test/isolation/expected/delete-abort-savept-2.out
index f66a90c6f0..6fc991ae00 100644
--- a/src/test/isolation/expected/delete-abort-savept-2.out
+++ b/src/test/isolation/expected/delete-abort-savept-2.out
@@ -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;
diff --git a/src/test/isolation/expected/delete-abort-savept.out b/src/test/isolation/expected/delete-abort-savept.out
index 284aa89d35..8f70bab45d 100644
--- a/src/test/isolation/expected/delete-abort-savept.out
+++ b/src/test/isolation/expected/delete-abort-savept.out
@@ -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;
diff --git a/src/test/isolation/expected/detach-partition-concurrently-1.out
b/src/test/isolation/expected/detach-partition-concurrently-1.out
index 9b4526773e..bae53dd0b2 100644
--- a/src/test/isolation/expected/detach-partition-concurrently-1.out
+++ b/src/test/isolation/expected/detach-partition-concurrently-1.out
@@ -3,120 +3,154 @@ Parsed test spec with 3 sessions
 starting permutation: s1b s1s s2detach s1s s1c s1s
 step s1b: BEGIN;
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s1c: COMMIT;
 step s2detach: <... completed>
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1b s1s s2detach s1s s3s s3i s1c s3i s2drop s1s
 step s1b: BEGIN;
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s3s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s3i: SELECT relpartbound IS NULL FROM pg_class where relname = 'd_listp2';
-?column?
+?column?
+--------
+f
+(1 row)

-f
 step s1c: COMMIT;
 step s2detach: <... completed>
 step s3i: SELECT relpartbound IS NULL FROM pg_class where relname = 'd_listp2';
-?column?
+?column?
+--------
+t
+(1 row)

-t
 step s2drop: DROP TABLE d_listp2;
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1b s1s s2detach s1ins s1s s1c
 step s1b: BEGIN;
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1ins: INSERT INTO d_listp VALUES (1);
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+1
+(2 rows)

-1
-1
 step s1c: COMMIT;
 step s2detach: <... completed>

 starting permutation: s1b s1s s1ins2 s2detach s1ins s1s s1c
 step s1b: BEGIN;
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1ins2: INSERT INTO d_listp VALUES (2);
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1ins: INSERT INTO d_listp VALUES (1);
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+1
+(2 rows)

-1
-1
 step s1c: COMMIT;
 step s2detach: <... completed>

 starting permutation: s1brr s1s s2detach s1ins s1s s1c
 step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1ins: INSERT INTO d_listp VALUES (1);
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+1
+2
+(3 rows)

-1
-1
-2
 step s1c: COMMIT;
 step s2detach: <... completed>

 starting permutation: s1brr s1s s2detach s1s s1c
 step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1c: COMMIT;
 step s2detach: <... completed>

@@ -133,21 +167,27 @@ starting permutation: s1brr s1prep s1s s2detach s1s s1exec1 s3s s1dealloc s1c
 step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1prep: PREPARE f(int) AS INSERT INTO d_listp VALUES ($1);
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1exec1: EXECUTE f(1);
 step s3s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s1dealloc: DEALLOCATE f;
 step s1c: COMMIT;
 step s2detach: <... completed>
@@ -158,16 +198,20 @@ step s1prep: PREPARE f(int) AS INSERT INTO d_listp VALUES ($1);
 step s1exec2: EXECUTE f(2);
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+2
+(3 rows)

-1
-2
-2
 step s1exec2: EXECUTE f(2);
 step s3s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s1c: COMMIT;
 step s2detach: <... completed>
 step s1dealloc: DEALLOCATE f;
@@ -176,16 +220,20 @@ starting permutation: s1brr s1prep s1s s2detach s1s s1exec2 s1c s1dealloc
 step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1prep: PREPARE f(int) AS INSERT INTO d_listp VALUES ($1);
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1exec2: EXECUTE f(2);
 step s1c: COMMIT;
 step s2detach: <... completed>
@@ -196,10 +244,12 @@ step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1prep: PREPARE f(int) AS INSERT INTO d_listp VALUES ($1);
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1exec2: EXECUTE f(2);
 step s1c: COMMIT;
 step s2detach: <... completed>
@@ -210,10 +260,12 @@ step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1prep1: PREPARE f(int) AS INSERT INTO d_listp VALUES (1);
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1exec2: EXECUTE f(2);
 step s1c: COMMIT;
 step s2detach: <... completed>
@@ -224,10 +276,12 @@ step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1prep2: PREPARE f(int) AS INSERT INTO d_listp VALUES (2);
 step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
 step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1exec2: EXECUTE f(2);
 step s1c: COMMIT;
 step s2detach: <... completed>
diff --git a/src/test/isolation/expected/detach-partition-concurrently-2.out
b/src/test/isolation/expected/detach-partition-concurrently-2.out
index 85be707b40..6f025d81f5 100644
--- a/src/test/isolation/expected/detach-partition-concurrently-2.out
+++ b/src/test/isolation/expected/detach-partition-concurrently-2.out
@@ -3,10 +3,12 @@ Parsed test spec with 3 sessions
 starting permutation: s1b s1s s2d s3i1 s1c
 step s1b: BEGIN;
 step s1s: SELECT * FROM d_lp_fk;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; <waiting ...>
 step s3i1: INSERT INTO d_lp_fk_r VALUES (1);
 ERROR:  insert or update on table "d_lp_fk_r" violates foreign key constraint "d_lp_fk_r_a_fkey"
@@ -16,10 +18,12 @@ step s2d: <... completed>
 starting permutation: s1b s1s s2d s3i2 s3i2 s1c
 step s1b: BEGIN;
 step s1s: SELECT * FROM d_lp_fk;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; <waiting ...>
 step s3i2: INSERT INTO d_lp_fk_r VALUES (2);
 step s3i2: INSERT INTO d_lp_fk_r VALUES (2);
@@ -29,10 +33,12 @@ step s2d: <... completed>
 starting permutation: s1b s1s s3i1 s2d s1c
 step s1b: BEGIN;
 step s1s: SELECT * FROM d_lp_fk;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s3i1: INSERT INTO d_lp_fk_r VALUES (1);
 step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY;
 ERROR:  removing partition "d_lp_fk_1" violates foreign key constraint "d_lp_fk_r_a_fkey1"
@@ -41,10 +47,12 @@ step s1c: COMMIT;
 starting permutation: s1b s1s s3i2 s2d s1c
 step s1b: BEGIN;
 step s1s: SELECT * FROM d_lp_fk;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s3i2: INSERT INTO d_lp_fk_r VALUES (2);
 step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; <waiting ...>
 step s1c: COMMIT;
@@ -53,10 +61,12 @@ step s2d: <... completed>
 starting permutation: s1b s1s s3b s2d s3i1 s1c s3c
 step s1b: BEGIN;
 step s1s: SELECT * FROM d_lp_fk;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s3b: BEGIN;
 step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; <waiting ...>
 step s3i1: INSERT INTO d_lp_fk_r VALUES (1);
diff --git a/src/test/isolation/expected/detach-partition-concurrently-3.out
b/src/test/isolation/expected/detach-partition-concurrently-3.out
index 96ee090d53..fd44223487 100644
--- a/src/test/isolation/expected/detach-partition-concurrently-3.out
+++ b/src/test/isolation/expected/detach-partition-concurrently-3.out
@@ -4,25 +4,31 @@ starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s1describe s
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
 step s1c: COMMIT;
 step s1describe: SELECT 'd3_listp' AS root, * FROM pg_partition_tree('d3_listp')
                       UNION ALL SELECT 'd3_listp1', * FROM pg_partition_tree('d3_listp1');
-root           relid          parentrelid    isleaf         level
+root     |relid    |parentrelid|isleaf|level
+---------+---------+-----------+------+-----
+d3_listp |d3_listp |           |f     |    0
+d3_listp |d3_listp2|d3_listp   |t     |    1
+d3_listp1|d3_listp1|           |t     |    0
+(3 rows)

-d3_listp       d3_listp                      f              0
-d3_listp       d3_listp2      d3_listp       t              1
-d3_listp1      d3_listp1                     t              0
 step s1alter: ALTER TABLE d3_listp1 ALTER a DROP NOT NULL;
 ERROR:  cannot alter partition "d3_listp1" with an incomplete detach

@@ -30,14 +36,18 @@ starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1insert s1c
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -49,37 +59,47 @@ starting permutation: s2snitch s1brr s1s s2detach s1cancel s2noop s1insert s1c s
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
 step s1insert: INSERT INTO d3_listp VALUES (1);
 step s1c: COMMIT;
 step s1spart: SELECT * FROM d3_listp1;
-a
+a
+-
+1
+1
+(2 rows)

-1
-1

 starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s1insertpart
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -90,14 +110,18 @@ starting permutation: s2snitch s1b s1s s2detach2 s1cancel s2noop s1c s1brr s1ins
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach2: ALTER TABLE d3_listp DETACH PARTITION d3_listp2 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach2: <... completed>
 error in steps s1cancel s2detach2: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -105,10 +129,12 @@ step s1c: COMMIT;
 step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1insert: INSERT INTO d3_listp VALUES (1);
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+1
+(2 rows)

-1
-1
 step s1insert: INSERT INTO d3_listp VALUES (1);
 step s1c: COMMIT;

@@ -116,43 +142,55 @@ starting permutation: s2snitch s1b s1s s2detach2 s1cancel s2noop s1c s1brr s1s s
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach2: ALTER TABLE d3_listp DETACH PARTITION d3_listp2 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach2: <... completed>
 error in steps s1cancel s2detach2: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
 step s1c: COMMIT;
 step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s1insert: INSERT INTO d3_listp VALUES (1);
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+1
+(2 rows)

-1
-1
 step s1c: COMMIT;

 starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s1drop s1list
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -160,43 +198,55 @@ step s1c: COMMIT;
 step s1drop: DROP TABLE d3_listp;
 step s1list: SELECT relname FROM pg_catalog.pg_class
                       WHERE relname LIKE 'd3_listp%' ORDER BY 1;
-relname
+relname
+-------
+(0 rows)


 starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s1trunc s1spart
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
 step s1c: COMMIT;
 step s1trunc: TRUNCATE TABLE d3_listp;
 step s1spart: SELECT * FROM d3_listp1;
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s2detach2 s1c
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -208,14 +258,18 @@ starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s2detachfinal s1
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -228,14 +282,18 @@ starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s1droppart s
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -247,14 +305,18 @@ starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s2begin s2dr
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -264,30 +326,38 @@ step s2drop: DROP TABLE d3_listp1;
 step s1s: SELECT * FROM d3_listp; <waiting ...>
 step s2commit: COMMIT;
 step s1s: <... completed>
-a
+a
+-
+(0 rows)


 starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s1b s1spart s2detachfinal s1c
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
 step s1c: COMMIT;
 step s1b: BEGIN;
 step s1spart: SELECT * FROM d3_listp1;
-a
+a
+-
+1
+(1 row)

-1
 step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; <waiting ...>
 step s1c: COMMIT;
 step s2detachfinal: <... completed>
@@ -296,21 +366,27 @@ starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s1b s1s s2de
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
 step s1c: COMMIT;
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+(0 rows)

 step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE;
 step s1c: COMMIT;
@@ -319,23 +395,29 @@ starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s1b s1spart
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
 step s1c: COMMIT;
 step s1b: BEGIN;
 step s1spart: SELECT * FROM d3_listp1;
-a
+a
+-
+1
+(1 row)

-1
 step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; <waiting ...>
 step s1c: COMMIT;
 step s2detachfinal: <... completed>
@@ -344,14 +426,18 @@ starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s2begin s2de
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -364,14 +450,18 @@ starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s2begin s2de
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -381,22 +471,28 @@ step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE;
 step s1spart: SELECT * FROM d3_listp1; <waiting ...>
 step s2commit: COMMIT;
 step s1spart: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1c s2begin s2detachfinal s1insertpart s2commit
 step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
 step s1b: BEGIN;
 step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)

-1
 step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
 step s1cancel: SELECT pg_cancel_backend(pid), pg_sleep(0.1) FROM d3_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
diff --git a/src/test/isolation/expected/detach-partition-concurrently-4.out
b/src/test/isolation/expected/detach-partition-concurrently-4.out
index e5dc40d076..91d4ed0aed 100644
--- a/src/test/isolation/expected/detach-partition-concurrently-4.out
+++ b/src/test/isolation/expected/detach-partition-concurrently-4.out
@@ -4,15 +4,19 @@ starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s1insert s1c
 step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1b: begin;
 step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1cancel: select pg_cancel_backend(pid), pg_sleep(0.1) from d4_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -24,10 +28,12 @@ starting permutation: s2snitch s1b s1s s2detach s1insert s1c
 step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1b: begin;
 step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1insert: insert into d4_fk values (1);
 step s2detach: <... completed>
@@ -38,15 +44,19 @@ starting permutation: s2snitch s1brr s1s s2detach s1cancel s2noop s1insert s1c
 step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1brr: begin isolation level repeatable read;
 step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1cancel: select pg_cancel_backend(pid), pg_sleep(0.1) from d4_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -58,10 +68,12 @@ starting permutation: s2snitch s1brr s1s s2detach s1insert s1c
 step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1brr: begin isolation level repeatable read;
 step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1insert: insert into d4_fk values (1);
 step s2detach: <... completed>
@@ -74,17 +86,21 @@ step s1b: begin;
 step s1declare: declare f cursor for select * from d4_primary;
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1cancel: select pg_cancel_backend(pid), pg_sleep(0.1) from d4_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
 step s1fetchall: fetch all from f;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1insert: insert into d4_fk values (1);
 ERROR:  insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey"
 step s1c: commit;
@@ -95,10 +111,12 @@ step s1b: begin;
 step s1declare: declare f cursor for select * from d4_primary;
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1fetchall: fetch all from f;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1insert: insert into d4_fk values (1);
 step s2detach: <... completed>
 error in steps s1insert s2detach: ERROR:  insert or update on table "d4_fk" violates foreign key constraint
"d4_fk_a_fkey"
@@ -110,9 +128,11 @@ step s1b: begin;
 step s1declare: declare f cursor for select * from d4_primary;
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1cancel: select pg_cancel_backend(pid), pg_sleep(0.1) from d4_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -121,10 +141,12 @@ step s1insert: insert into d4_fk values (1);
 ERROR:  insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey"
 step s1rollback: rollback to f;
 step s1fetchall: fetch all from f;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1c: commit;

 starting permutation: s2snitch s1b s1declare s2detach s1svpt s1insert s1rollback s1fetchall s1c
@@ -137,10 +159,12 @@ step s1insert: insert into d4_fk values (1);
 ERROR:  insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey"
 step s1rollback: rollback to f;
 step s1fetchall: fetch all from f;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1c: commit;
 step s2detach: <... completed>

@@ -150,14 +174,18 @@ step s1b: begin;
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently;
 step s1declare: declare f cursor for select * from d4_primary;
 step s1cancel: select pg_cancel_backend(pid), pg_sleep(0.1) from d4_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2noop: UNLISTEN noop;
 step s1fetchall: fetch all from f;
-a
+a
+-
+2
+(1 row)

-2
 step s1insert: insert into d4_fk values (1);
 ERROR:  insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey"
 step s1c: commit;
@@ -168,9 +196,11 @@ step s1b: begin;
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently;
 step s1declare: declare f cursor for select * from d4_primary;
 step s1fetchall: fetch all from f;
-a
+a
+-
+2
+(1 row)

-2
 step s1insert: insert into d4_fk values (1);
 ERROR:  insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey"
 step s1c: commit;
@@ -181,18 +211,22 @@ step s1b: begin;
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently;
 step s1declare: declare f cursor for select * from d4_primary;
 step s1cancel: select pg_cancel_backend(pid), pg_sleep(0.1) from d4_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2noop: UNLISTEN noop;
 step s1svpt: savepoint f;
 step s1insert: insert into d4_fk values (1);
 ERROR:  insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey"
 step s1rollback: rollback to f;
 step s1fetchall: fetch all from f;
-a
+a
+-
+2
+(1 row)

-2
 step s1c: commit;

 starting permutation: s2snitch s1b s2detach s1declare s1svpt s1insert s1rollback s1fetchall s1c
@@ -205,9 +239,11 @@ step s1insert: insert into d4_fk values (1);
 ERROR:  insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey"
 step s1rollback: rollback to f;
 step s1fetchall: fetch all from f;
-a
+a
+-
+2
+(1 row)

-2
 step s1c: commit;

 starting permutation: s2snitch s1brr s1declare2 s1fetchone s2detach s1cancel s2noop s1updcur s1c
@@ -215,14 +251,18 @@ step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1brr: begin isolation level repeatable read;
 step s1declare2: declare f cursor for select * from d4_fk where a = 2;
 step s1fetchone: fetch 1 from f;
-a
+a
+-
+2
+(1 row)

-2
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1cancel: select pg_cancel_backend(pid), pg_sleep(0.1) from d4_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -235,9 +275,11 @@ step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1brr: begin isolation level repeatable read;
 step s1declare2: declare f cursor for select * from d4_fk where a = 2;
 step s1fetchone: fetch 1 from f;
-a
+a
+-
+2
+(1 row)

-2
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1updcur: update d4_fk set a = 1 where current of f;
 step s2detach: <... completed>
@@ -249,9 +291,11 @@ step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1brr: begin isolation level repeatable read;
 step s1declare2: declare f cursor for select * from d4_fk where a = 2;
 step s1fetchone: fetch 1 from f;
-a
+a
+-
+2
+(1 row)

-2
 step s1updcur: update d4_fk set a = 1 where current of f;
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1c: commit;
@@ -262,10 +306,12 @@ starting permutation: s2snitch s1b s1s s2detach s3insert s1c
 step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1b: begin;
 step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s3insert: insert into d4_fk values (1);
 ERROR:  insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey"
@@ -276,19 +322,23 @@ starting permutation: s2snitch s1b s1s s2detach s3brr s3insert s3commit s1cancel
 step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1b: begin;
 step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s3brr: begin isolation level repeatable read;
 step s3insert: insert into d4_fk values (1);
 ERROR:  insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey"
 step s3commit: commit;
 step s1cancel: select pg_cancel_backend(pid), pg_sleep(0.1) from d4_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
@@ -298,10 +348,12 @@ starting permutation: s2snitch s1b s1s s2detach s3brr s3insert s3commit s1c
 step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1b: begin;
 step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s3brr: begin isolation level repeatable read;
 step s3insert: insert into d4_fk values (1);
@@ -314,24 +366,30 @@ starting permutation: s2snitch s1brr s1s s2detach s1cancel s2noop s3vacfreeze s1
 step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1brr: begin isolation level repeatable read;
 step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1cancel: select pg_cancel_backend(pid), pg_sleep(0.1) from d4_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
 step s3vacfreeze: vacuum freeze pg_catalog.pg_inherits;
 step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s1insert: insert into d4_fk values (1);
 ERROR:  insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey"
 step s1c: commit;
@@ -340,23 +398,29 @@ starting permutation: s2snitch s1b s1s s2detach s1cancel s2noop s3vacfreeze s1s
 step s2snitch: insert into d4_pid select pg_backend_pid();
 step s1b: begin;
 step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)

-1
-2
 step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
 step s1cancel: select pg_cancel_backend(pid), pg_sleep(0.1) from d4_pid;
-pg_cancel_backendpg_sleep
+pg_cancel_backend|pg_sleep
+-----------------+--------
+t                |
+(1 row)

-t
 step s2detach: <... completed>
 error in steps s1cancel s2detach: ERROR:  canceling statement due to user request
 step s2noop: UNLISTEN noop;
 step s3vacfreeze: vacuum freeze pg_catalog.pg_inherits;
 step s1s: select * from d4_primary;
-a
+a
+-
+2
+(1 row)

-2
 step s1insert: insert into d4_fk values (1);
 ERROR:  insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey"
 step s1c: commit;
diff --git a/src/test/isolation/expected/drop-index-concurrently-1.out
b/src/test/isolation/expected/drop-index-concurrently-1.out
index 8e6adb66bb..97e1a6e779 100644
--- a/src/test/isolation/expected/drop-index-concurrently-1.out
+++ b/src/test/isolation/expected/drop-index-concurrently-1.out
@@ -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
+step explains: EXPLAIN (COSTS OFF) EXECUTE getrow_seq;
+QUERY PLAN
+----------------------------------------------
+Sort
+  Sort Key: id, data
   ->  Index Scan using test_dc_pkey on test_dc
-        Filter: ((data)::text = '34'::text)
+        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>
diff --git a/src/test/isolation/expected/eval-plan-qual-trigger.out
b/src/test/isolation/expected/eval-plan-qual-trigger.out
index f0d975ce0c..da36948cf1 100644
--- a/src/test/isolation/expected/eval-plan-qual-trigger.out
+++ b/src/test/isolation/expected/eval-plan-qual-trigger.out
@@ -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_datas2_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_rcs1_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_rcs1_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_cs2_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_rs2_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_rcs1_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_rcs1_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_rcs1_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_rcs1_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_as1_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 in steps s1_c s2_ins_a: 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_as1_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_as1_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_as1_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_rcs2_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_rcs2_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_rcs2_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_rcs2_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_cs0_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_cs0_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_cs0_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_cs0_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_cs2_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_rs2_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_cs2_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_cs2_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_rcs1_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_rcs1_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 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>
@@ -1750,9 +2170,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:
@@ -1767,35 +2189,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_d s1_trig_rep_a_d s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_del_a s2_del_a 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();
 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_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>
@@ -1808,9 +2242,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:
@@ -1823,33 +2259,45 @@ step s2_del_a:
 step s1_c: COMMIT;
 s2: NOTICE:  upd: text key-c = 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-c|val-c-s1
+(1 row)

-key-c          val-c-s1

 starting permutation: s1_trig_rep_b_d s1_trig_rep_a_d s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_del_a s2_del_a 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();
 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_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>
@@ -1862,9 +2310,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:
@@ -1879,14 +2329,18 @@ s2: NOTICE:  trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (k
 s2: NOTICE:  upd: text key-c = 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-c|val-c-s1
+(1 row)

-key-c          val-c-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_bs1_b_rc s2_b_rc s1_ins_a s1_upd_b_data s2_upd_b_data s1_del_b s1_upd_a_tob 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();
@@ -1898,23 +2352,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-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:  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-b = text key-b: t
 s1: NOTICE:  upk: text val-b-s1 <> text mismatch: t
 s1: NOTICE:  trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-b,val-b-s1) new:
(key-b,val-b-s1-ups1)
@@ -1927,9 +2389,11 @@ step s1_upd_b_data:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *;

-key            data
+key  |data
+-----+-------------
+key-b|val-b-s1-ups1
+(1 row)

-key-b          val-b-s1-ups1
 s2: NOTICE:  upd: text key-b = text key-b: t
 s2: NOTICE:  upk: text val-b-s1 <> text mismatch: t
 step s2_upd_b_data:
@@ -1951,9 +2415,11 @@ step s1_del_b:
         noisy_oper('upk', data, '<>', 'mismatch')
     RETURNING *

-key            data
+key  |data
+-----+-------------
+key-b|val-b-s1-ups1
+(1 row)

-key-b          val-b-s1-ups1
 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)
@@ -1965,38 +2431,52 @@ 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
 step s1_c: COMMIT;
 step s2_upd_b_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
+(1 row)

-key-b          val-a-s1-tobs1

 starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rr s2_b_rr s1_upd_a_data s2_upd_a_data
s1_cs2_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_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1;
-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step s2_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; 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)
@@ -2009,9 +2489,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:
@@ -2026,30 +2508,40 @@ step s2_upd_a_data: <... completed>
 error in steps s1_c s2_upd_a_data: ERROR:  could not serialize access due to concurrent update
 step s2_c: COMMIT;
 step s0_rep: SELECT * FROM trigtest ORDER BY key, data
-key            data
+key  |data
+-----+-------------
+key-a|val-a-s1-ups1
+key-b|val-b-s1
+(2 rows)

-key-a          val-a-s1-ups1
-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_rr s2_b_rr s1_upd_a_data s2_upd_a_data
s1_rs2_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_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1;
-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step s2_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; 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)
@@ -2062,9 +2554,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:
@@ -2079,15 +2573,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_rr
s2_b_rrs1_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();
@@ -2095,21 +2593,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_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1;
-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step s2_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; 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>
@@ -2122,9 +2628,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:
@@ -2139,9 +2647,11 @@ step s2_upd_a_data: <... completed>
 error in steps s1_c s2_upd_a_data: ERROR:  could not serialize access due to concurrent delete
 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_rr
s2_b_rrs1_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();
@@ -2149,21 +2659,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_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1;
-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step s2_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; 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>
@@ -2176,9 +2694,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:
@@ -2193,15 +2713,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
 unused step name: s2_r
 unused step name: s3_b_rc
 unused step name: s3_c
diff --git a/src/test/isolation/expected/eval-plan-qual.out b/src/test/isolation/expected/eval-plan-qual.out
index 3e55a55c63..77ddc58aa6 100644
--- a/src/test/isolation/expected/eval-plan-qual.out
+++ b/src/test/isolation/expected/eval-plan-qual.out
@@ -2,261 +2,353 @@ Parsed test spec with 3 sessions

 starting permutation: wx1 wx2 c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; <waiting ...>
 step c1: COMMIT;
 step wx2: <... completed>
-balance
+balance
+-------
+    850
+(1 row)

-850
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    850
+savings  |    600
+(2 rows)

-checking       850
-savings        600

 starting permutation: wy1 wy2 c1 c2 read
 step wy1: UPDATE accounts SET balance = balance + 500 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1100
+(1 row)

-1100
 step wy2: UPDATE accounts SET balance = balance + 1000 WHERE accountid = 'checking' AND balance < 1000  RETURNING
balance;<waiting ...> 
 step c1: COMMIT;
 step wy2: <... completed>
-balance
+balance
+-------
+(0 rows)

 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   1100
+savings  |    600
+(2 rows)

-checking       1100
-savings        600

 starting permutation: wx1 wx2 r1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; <waiting ...>
 step r1: ROLLBACK;
 step wx2: <... completed>
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   1050
+savings  |    600
+(2 rows)

-checking       1050
-savings        600

 starting permutation: wy1 wy2 r1 c2 read
 step wy1: UPDATE accounts SET balance = balance + 500 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1100
+(1 row)

-1100
 step wy2: UPDATE accounts SET balance = balance + 1000 WHERE accountid = 'checking' AND balance < 1000  RETURNING
balance;<waiting ...> 
 step r1: ROLLBACK;
 step wy2: <... completed>
-balance
+balance
+-------
+   1600
+(1 row)

-1600
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   1600
+savings  |    600
+(2 rows)

-checking       1600
-savings        600

 starting permutation: wx1 d1 wx2 c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; <waiting ...>
 step c1: COMMIT;
 step wx2: <... completed>
-balance
+balance
+-------
+(0 rows)

 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+savings  |    600
+(1 row)

-savings        600

 starting permutation: wx2 d1 c2 c1 read
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; <waiting ...>
 step c2: COMMIT;
 step d1: <... completed>
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step c1: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+savings  |    600
+(1 row)

-savings        600

 starting permutation: wx2 wx2 d1 c2 c1 read
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1500
+(1 row)

-1500
 step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; <waiting ...>
 step c2: COMMIT;
 step d1: <... completed>
-balance
+balance
+-------
+(0 rows)

 step c1: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   1500
+savings  |    600
+(2 rows)

-checking       1500
-savings        600

 starting permutation: wx2 d2 d1 c2 c1 read
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step d2: DELETE FROM accounts WHERE accountid = 'checking';
 step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; <waiting ...>
 step c2: COMMIT;
 step d1: <... completed>
-balance
+balance
+-------
+(0 rows)

 step c1: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+savings  |    600
+(1 row)

-savings        600

 starting permutation: wx1 d1 wx2 r1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; <waiting ...>
 step r1: ROLLBACK;
 step wx2: <... completed>
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   1050
+savings  |    600
+(2 rows)

-checking       1050
-savings        600

 starting permutation: wx2 d1 r2 c1 read
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; <waiting ...>
 step r2: ROLLBACK;
 step d1: <... completed>
-balance
+balance
+-------
+    600
+(1 row)

-600
 step c1: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+savings  |    600
+(1 row)

-savings        600

 starting permutation: wx2 wx2 d1 r2 c1 read
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1500
+(1 row)

-1500
 step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; <waiting ...>
 step r2: ROLLBACK;
 step d1: <... completed>
-balance
+balance
+-------
+    600
+(1 row)

-600
 step c1: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+savings  |    600
+(1 row)

-savings        600

 starting permutation: wx2 d2 d1 r2 c1 read
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step d2: DELETE FROM accounts WHERE accountid = 'checking';
 step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; <waiting ...>
 step r2: ROLLBACK;
 step d1: <... completed>
-balance
+balance
+-------
+    600
+(1 row)

-600
 step c1: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+savings  |    600
+(1 row)

-savings        600

 starting permutation: d1 wx2 c1 c2 read
 step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance;
-balance
+balance
+-------
+    600
+(1 row)

-600
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; <waiting ...>
 step c1: COMMIT;
 step wx2: <... completed>
-balance
+balance
+-------
+(0 rows)

 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+savings  |    600
+(1 row)

-savings        600

 starting permutation: d1 wx2 r1 c2 read
 step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance;
-balance
+balance
+-------
+    600
+(1 row)

-600
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; <waiting ...>
 step r1: ROLLBACK;
 step wx2: <... completed>
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   1050
+savings  |    600
+(2 rows)

-checking       1050
-savings        600

 starting permutation: wnested2 c1 c2 read
 s2: NOTICE:  upid: text checking = text checking: t
@@ -279,20 +371,26 @@ step wnested2:
 step c1: COMMIT;
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   -600
+savings  |    600
+(2 rows)

-checking       -600
-savings        600

 starting permutation: wx1 wxext1 wnested2 c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 s2: NOTICE:  upid: text checking = text checking: t
 s2: NOTICE:  up: numeric 600 > numeric 200.0: t
 s2: NOTICE:  lock_id: text checking = text checking: t
@@ -322,24 +420,32 @@ s2: NOTICE:  upid: text savings = text checking: f
 step wnested2: <... completed>
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   -800
+savings  |    600
+(2 rows)

-checking       -800
-savings        600

 starting permutation: wx1 wx1 wxext1 wnested2 c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    200
+(1 row)

-200
 step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 s2: NOTICE:  upid: text checking = text checking: t
 s2: NOTICE:  up: numeric 600 > numeric 200.0: t
 s2: NOTICE:  lock_id: text checking = text checking: t
@@ -365,28 +471,38 @@ s2: NOTICE:  upid: text savings = text checking: f
 step wnested2: <... completed>
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    200
+savings  |    600
+(2 rows)

-checking       200
-savings        600

 starting permutation: wx1 wx1 wxext1 wxext1 wnested2 c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    200
+(1 row)

-200
 step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    200
+(1 row)

-200
 s2: NOTICE:  upid: text checking = text checking: t
 s2: NOTICE:  up: numeric 600 > numeric 200.0: t
 s2: NOTICE:  lock_id: text checking = text checking: t
@@ -411,24 +527,32 @@ s2: NOTICE:  upid: text savings = text checking: f
 step wnested2: <... completed>
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    200
+savings  |    600
+(2 rows)

-checking       200
-savings        600

 starting permutation: wx1 wxext1 wxext1 wnested2 c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    200
+(1 row)

-200
 s2: NOTICE:  upid: text checking = text checking: t
 s2: NOTICE:  up: numeric 600 > numeric 200.0: t
 s2: NOTICE:  lock_id: text checking = text checking: t
@@ -453,16 +577,20 @@ s2: NOTICE:  upid: text savings = text checking: f
 step wnested2: <... completed>
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    400
+savings  |    600
+(2 rows)

-checking       400
-savings        600

 starting permutation: wx1 tocds1 wnested2 c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step tocds1: UPDATE accounts SET accountid = 'cds' WHERE accountid = 'checking';
 s2: NOTICE:  upid: text checking = text checking: t
 s2: NOTICE:  up: numeric 600 > numeric 200.0: t
@@ -486,16 +614,20 @@ s2: NOTICE:  upid: text savings = text checking: f
 step wnested2: <... completed>
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+cds      |    400
+savings  |    600
+(2 rows)

-cds            400
-savings        600

 starting permutation: wx1 tocdsext1 wnested2 c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step tocdsext1: UPDATE accounts_ext SET accountid = 'cds' WHERE accountid = 'checking';
 s2: NOTICE:  upid: text checking = text checking: t
 s2: NOTICE:  up: numeric 600 > numeric 200.0: t
@@ -520,77 +652,99 @@ s2: NOTICE:  upid: text savings = text checking: f
 step wnested2: <... completed>
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    400
+savings  |    600
+(2 rows)

-checking       400
-savings        600

 starting permutation: wx1 updwcte c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step updwcte: WITH doup AS (UPDATE accounts SET balance = balance + 1100 WHERE accountid = 'checking' RETURNING *)
UPDATEaccounts a SET balance = doup.balance + 100 FROM doup RETURNING *; <waiting ...> 
 step c1: COMMIT;
 step updwcte: <... completed>
-accountid      balance        accountid      balance
+accountid|balance|accountid|balance
+---------+-------+---------+-------
+savings  |   1600|checking |   1500
+(1 row)

-savings        1600           checking       1500
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   1500
+savings  |   1600
+(2 rows)

-checking       1500
-savings        1600

 starting permutation: wx1 updwctefail c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step updwctefail: WITH doup AS (UPDATE accounts SET balance = balance + 1100 WHERE accountid = 'checking' RETURNING *,
update_checking(999))UPDATE accounts a SET balance = doup.balance + 100 FROM doup RETURNING *; <waiting ...> 
 step c1: COMMIT;
 step updwctefail: <... completed>
 error in steps c1 updwctefail: ERROR:  tuple to be updated was already modified by an operation triggered by the
currentcommand 
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    400
+savings  |    600
+(2 rows)

-checking       400
-savings        600

 starting permutation: wx1 delwcte c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step delwcte: WITH doup AS (UPDATE accounts SET balance = balance + 1100 WHERE accountid = 'checking' RETURNING *)
DELETEFROM accounts a USING doup RETURNING *; <waiting ...> 
 step c1: COMMIT;
 step delwcte: <... completed>
-accountid      balance        accountid      balance
+accountid|balance|accountid|balance
+---------+-------+---------+-------
+savings  |    600|checking |   1500
+(1 row)

-savings        600            checking       1500
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   1500
+(1 row)

-checking       1500

 starting permutation: wx1 delwctefail c1 c2 read
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+    400
+(1 row)

-400
 step delwctefail: WITH doup AS (UPDATE accounts SET balance = balance + 1100 WHERE accountid = 'checking' RETURNING *,
update_checking(999))DELETE FROM accounts a USING doup RETURNING *; <waiting ...> 
 step c1: COMMIT;
 step delwctefail: <... completed>
 error in steps c1 delwctefail: ERROR:  tuple to be deleted was already modified by an operation triggered by the
currentcommand 
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    400
+savings  |    600
+(2 rows)

-checking       400
-savings        600

 starting permutation: upsert1 upsert2 c1 c2 read
 step upsert1:
@@ -613,32 +767,38 @@ step c1: COMMIT;
 step upsert2: <... completed>
 step c2: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    600
+savings  |   2334
+(2 rows)

-checking       600
-savings        2334

 starting permutation: readp1 writep1 readp2 c1 c2
 step readp1: SELECT tableoid::regclass, ctid, * FROM p WHERE b IN (0, 1) AND c = 0 FOR UPDATE;
-tableoid       ctid           a              b              c
-
-c1             (0,1)          0              0              0
-c1             (0,4)          0              1              0
-c2             (0,1)          1              0              0
-c2             (0,4)          1              1              0
-c3             (0,1)          2              0              0
-c3             (0,4)          2              1              0
+tableoid|ctid |a|b|c
+--------+-----+-+-+-
+c1      |(0,1)|0|0|0
+c1      |(0,4)|0|1|0
+c2      |(0,1)|1|0|0
+c2      |(0,4)|1|1|0
+c3      |(0,1)|2|0|0
+c3      |(0,4)|2|1|0
+(6 rows)
+
 step writep1: UPDATE p SET b = -1 WHERE a = 1 AND b = 1 AND c = 0;
 step readp2: SELECT tableoid::regclass, ctid, * FROM p WHERE b IN (0, 1) AND c = 0 FOR UPDATE; <waiting ...>
 step c1: COMMIT;
 step readp2: <... completed>
-tableoid       ctid           a              b              c
+tableoid|ctid |a|b|c
+--------+-----+-+-+-
+c1      |(0,1)|0|0|0
+c1      |(0,4)|0|1|0
+c2      |(0,1)|1|0|0
+c3      |(0,1)|2|0|0
+c3      |(0,4)|2|1|0
+(5 rows)

-c1             (0,1)          0              0              0
-c1             (0,4)          0              1              0
-c2             (0,1)          1              0              0
-c3             (0,1)          2              0              0
-c3             (0,4)          2              1              0
 step c2: COMMIT;

 starting permutation: writep2 returningp1 c1 c2
@@ -649,28 +809,30 @@ step returningp1:
  <waiting ...>
 step c1: COMMIT;
 step returningp1: <... completed>
-a              b              c
-
-1              0              0
-1              0              1
-1              0              2
-1              -1             0
-1              1              1
-1              1              2
-1              -2             0
-1              2              1
-1              2              2
-1              -3             0
-2              0              0
-2              0              1
-2              0              2
-2              1              0
-2              1              1
-2              1              2
-2              2              0
-2              2              1
-2              2              2
-2              3              0
+a| b|c
+-+--+-
+1| 0|0
+1| 0|1
+1| 0|2
+1|-1|0
+1| 1|1
+1| 1|2
+1|-2|0
+1| 2|1
+1| 2|2
+1|-3|0
+2| 0|0
+2| 0|1
+2| 0|2
+2| 1|0
+2| 1|1
+2| 1|2
+2| 2|0
+2| 2|1
+2| 2|2
+2| 3|0
+(20 rows)
+
 step c2: COMMIT;

 starting permutation: writep3a writep3b c1 c2
@@ -682,9 +844,11 @@ step c2: COMMIT;

 starting permutation: wx2 partiallock c2 c1 read
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step partiallock:
     SELECT * FROM accounts a1, accounts a2
       WHERE a1.accountid = a2.accountid
@@ -692,22 +856,28 @@ step partiallock:
  <waiting ...>
 step c2: COMMIT;
 step partiallock: <... completed>
-accountid      balance        accountid      balance
+accountid|balance|accountid|balance
+---------+-------+---------+-------
+checking |   1050|checking |    600
+savings  |    600|savings  |    600
+(2 rows)

-checking       1050           checking       600
-savings        600            savings        600
 step c1: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   1050
+savings  |    600
+(2 rows)

-checking       1050
-savings        600

 starting permutation: wx2 lockwithvalues c2 c1 read
 step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance;
-balance
+balance
+-------
+   1050
+(1 row)

-1050
 step lockwithvalues:
     -- Reference rowmark column that differs in type from targetlist at some attno.
     -- See CAHU7rYZo_C4ULsAx_LAj8az9zqgrD8WDd4hTegDTMM1LMqrBsg@mail.gmail.com
@@ -717,16 +887,20 @@ step lockwithvalues:
  <waiting ...>
 step c2: COMMIT;
 step lockwithvalues: <... completed>
-accountid      balance        id
+accountid|balance|id
+---------+-------+--------
+checking |   1050|checking
+savings  |    600|savings
+(2 rows)

-checking       1050           checking
-savings        600            savings
 step c1: COMMIT;
 step read: SELECT * FROM accounts ORDER BY accountid;
-accountid      balance
+accountid|balance
+---------+-------
+checking |   1050
+savings  |    600
+(2 rows)

-checking       1050
-savings        600

 starting permutation: wx2_ext partiallock_ext c2 c1 read_ext
 step wx2_ext: UPDATE accounts_ext SET balance = balance + 450;
@@ -737,16 +911,20 @@ step partiallock_ext:
  <waiting ...>
 step c2: COMMIT;
 step partiallock_ext: <... completed>
-accountid      balance        other          newcol         newcol2        accountid      balance        other
newcol         newcol2         
+accountid|balance|other|newcol|newcol2|accountid|balance|other|newcol|newcol2
+---------+-------+-----+------+-------+---------+-------+-----+------+-------
+checking |   1050|other|    42|       |checking |    600|other|    42|
+savings  |   1150|     |    42|       |savings  |    700|     |    42|
+(2 rows)

-checking       1050           other          42                            checking       600            other
42                             
-savings        1150                          42                            savings        700
42                             
 step c1: COMMIT;
 step read_ext: SELECT * FROM accounts_ext ORDER BY accountid;
-accountid      balance        other          newcol         newcol2
+accountid|balance|other|newcol|newcol2
+---------+-------+-----+------+-------
+checking |   1050|other|    42|
+savings  |   1150|     |    42|
+(2 rows)

-checking       1050           other          42
-savings        1150                          42

 starting permutation: updateforss readforss c1 c2
 step updateforss:
@@ -762,9 +940,11 @@ step readforss:
  <waiting ...>
 step c1: COMMIT;
 step readforss: <... completed>
-ta_id          ta_value       tb_row
+ta_id|ta_value      |tb_row
+-----+--------------+---------------
+    1|newTableAValue|(1,tableBValue)
+(1 row)

-1              newTableAValue (1,tableBValue)
 step c2: COMMIT;

 starting permutation: updateforcip updateforcip2 c1 c2 read_a
@@ -778,9 +958,11 @@ step c1: COMMIT;
 step updateforcip2: <... completed>
 step c2: COMMIT;
 step read_a: SELECT * FROM table_a ORDER BY id;
-id             value
+id|value
+--+--------
+ 1|newValue
+(1 row)

-1              newValue

 starting permutation: updateforcip updateforcip3 c1 c2 read_a
 step updateforcip:
@@ -794,9 +976,11 @@ step c1: COMMIT;
 step updateforcip3: <... completed>
 step c2: COMMIT;
 step read_a: SELECT * FROM table_a ORDER BY id;
-id             value
+id|value
+--+--------
+ 1|newValue
+(1 row)

-1              newValue

 starting permutation: wrtwcte readwcte c1 c2
 step wrtwcte: UPDATE table_a SET value = 'tableAValue2' WHERE id = 1;
@@ -815,9 +999,11 @@ step readwcte:
 step c1: COMMIT;
 step c2: COMMIT;
 step readwcte: <... completed>
-id             value
+id|value
+--+------------
+ 1|tableAValue2
+(1 row)

-1              tableAValue2

 starting permutation: wrjt selectjoinforupdate c2 c1
 step wrjt: UPDATE jointest SET data = 42 WHERE id = 7;
@@ -831,25 +1017,29 @@ step selectjoinforupdate:
  <waiting ...>
 step c2: COMMIT;
 step selectjoinforupdate: <... completed>
-QUERY PLAN
-
-LockRows
-  ->  Merge Join
-        Merge Cond: (a.id = b.id)
+QUERY PLAN
+----------------------------------------------------------
+LockRows
+  ->  Merge Join
+        Merge Cond: (a.id = b.id)
         ->  Index Scan using jointest_id_idx on jointest a
         ->  Index Scan using jointest_id_idx on jointest b
-id             data           id             data
+(5 rows)
+
+id|data|id|data
+--+----+--+----
+ 1|   0| 1|   0
+ 2|   0| 2|   0
+ 3|   0| 3|   0
+ 4|   0| 4|   0
+ 5|   0| 5|   0
+ 6|   0| 6|   0
+ 7|  42| 7|  42
+ 8|   0| 8|   0
+ 9|   0| 9|   0
+10|   0|10|   0
+(10 rows)

-1              0              1              0
-2              0              2              0
-3              0              3              0
-4              0              4              0
-5              0              5              0
-6              0              6              0
-7              42             7              42
-8              0              8              0
-9              0              9              0
-10             0              10             0
 step c1: COMMIT;

 starting permutation: wrjt selectresultforupdate c2 c1
@@ -868,27 +1058,33 @@ step selectresultforupdate:
  <waiting ...>
 step c2: COMMIT;
 step selectresultforupdate: <... completed>
-x              y              id             value          id             data
-
-1              7              1              tableAValue    7              0
-QUERY PLAN
-
-LockRows
-  Output: 1, 7, a.id, a.value, jt.id, jt.data, jt.ctid, a.ctid
-  ->  Nested Loop Left Join
+x|y|id|value      |id|data
+-+-+--+-----------+--+----
+1|7| 1|tableAValue| 7|   0
+(1 row)
+
+QUERY PLAN
+--------------------------------------------------------------------
+LockRows
+  Output: 1, 7, a.id, a.value, jt.id, jt.data, jt.ctid, a.ctid
+  ->  Nested Loop Left Join
         Output: 1, 7, a.id, a.value, jt.id, jt.data, jt.ctid, a.ctid
-        ->  Nested Loop
-              Output: jt.id, jt.data, jt.ctid
-              ->  Seq Scan on public.jointest jt
-                    Output: jt.id, jt.data, jt.ctid
-                    Filter: (jt.id = 7)
-              ->  Result
-        ->  Seq Scan on public.table_a a
-              Output: a.id, a.value, a.ctid
-              Filter: (a.id = 1)
-x              y              id             value          id             data
+        ->  Nested Loop
+              Output: jt.id, jt.data, jt.ctid
+              ->  Seq Scan on public.jointest jt
+                    Output: jt.id, jt.data, jt.ctid
+                    Filter: (jt.id = 7)
+              ->  Result
+        ->  Seq Scan on public.table_a a
+              Output: a.id, a.value, a.ctid
+              Filter: (a.id = 1)
+(13 rows)
+
+x|y|id|value      |id|data
+-+-+--+-----------+--+----
+1|7| 1|tableAValue| 7|  42
+(1 row)

-1              7              1              tableAValue    7              42
 step c1: COMMIT;

 starting permutation: wrtwcte multireadwcte c1 c2
@@ -902,9 +1098,11 @@ step multireadwcte:
 step c1: COMMIT;
 step c2: COMMIT;
 step multireadwcte: <... completed>
-subid          id
+subid|id
+-----+--
+    1| 1
+(1 row)

-1              1

 starting permutation: simplepartupdate complexpartupdate c1 c2
 step simplepartupdate:
@@ -922,9 +1120,11 @@ starting permutation: simplepartupdate_route1to2 complexpartupdate_route_err1 c1
 step simplepartupdate_route1to2:
     update parttbl set a = 2 where c = 1 returning *;

-a              b              c
+a|b|c
+-+-+-
+2|1|1
+(1 row)

-2              1              1
 step complexpartupdate_route_err1:
     with u as (update another_parttbl set a = 1 returning another_parttbl.*)
     update parttbl p set a = u.a from u where p.a = u.a and p.c = 1 returning p.*;
@@ -938,34 +1138,42 @@ starting permutation: simplepartupdate_noroute complexpartupdate_route c1 c2
 step simplepartupdate_noroute:
     update parttbl set b = 2 where c = 1 returning *;

-a              b              c
+a|b|c
+-+-+-
+1|2|1
+(1 row)

-1              2              1
 step complexpartupdate_route:
     with u as (update another_parttbl set a = 1 returning another_parttbl.*)
     update parttbl p set a = p.b from u where p.a = u.a and p.c = 1 returning p.*;
  <waiting ...>
 step c1: COMMIT;
 step complexpartupdate_route: <... completed>
-a              b              c
+a|b|c
+-+-+-
+2|2|1
+(1 row)

-2              2              1
 step c2: COMMIT;

 starting permutation: simplepartupdate_noroute complexpartupdate_doesnt_route c1 c2
 step simplepartupdate_noroute:
     update parttbl set b = 2 where c = 1 returning *;

-a              b              c
+a|b|c
+-+-+-
+1|2|1
+(1 row)

-1              2              1
 step complexpartupdate_doesnt_route:
     with u as (update another_parttbl set a = 1 returning another_parttbl.*)
     update parttbl p set a = 3 - p.b from u where p.a = u.a and p.c = 1 returning p.*;
  <waiting ...>
 step c1: COMMIT;
 step complexpartupdate_doesnt_route: <... completed>
-a              b              c
+a|b|c
+-+-+-
+1|2|1
+(1 row)

-1              2              1
 step c2: COMMIT;
diff --git a/src/test/isolation/expected/fk-partitioned-2.out b/src/test/isolation/expected/fk-partitioned-2.out
index 722b615c6e..99072a3f5e 100644
--- a/src/test/isolation/expected/fk-partitioned-2.out
+++ b/src/test/isolation/expected/fk-partitioned-2.out
@@ -14,9 +14,11 @@ starting permutation: s1b s1d s2bs s2i s1c s2c
 step s1b: begin;
 step s1d: delete from ppk where a = 1;
 step s2bs: begin isolation level serializable; select 1;
-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step s2i: insert into pfk values (1); <waiting ...>
 step s1c: commit;
 step s2i: <... completed>
@@ -36,9 +38,11 @@ step s2c: commit;
 starting permutation: s1b s2bs s1d s2i s1c s2c
 step s1b: begin;
 step s2bs: begin isolation level serializable; select 1;
-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step s1d: delete from ppk where a = 1;
 step s2i: insert into pfk values (1); <waiting ...>
 step s1c: commit;
@@ -59,9 +63,11 @@ step s1c: commit;
 starting permutation: s1b s2bs s2i s1d s2c s1c
 step s1b: begin;
 step s2bs: begin isolation level serializable; select 1;
-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step s2i: insert into pfk values (1);
 step s1d: delete from ppk where a = 1; <waiting ...>
 step s2c: commit;
diff --git a/src/test/isolation/expected/freeze-the-dead.out b/src/test/isolation/expected/freeze-the-dead.out
index 8e638f132f..88678bd045 100644
--- a/src/test/isolation/expected/freeze-the-dead.out
+++ b/src/test/isolation/expected/freeze-the-dead.out
@@ -6,13 +6,17 @@ step s2_begin: BEGIN;
 step s3_begin: BEGIN;
 step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3;
 step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE;
-id
+id
+--
+ 3
+(1 row)

-3
 step s3_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE;
-id
+id
+--
+ 3
+(1 row)

-3
 step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3;
 step s1_commit: COMMIT;
 step s2_commit: COMMIT;
@@ -24,13 +28,17 @@ step s1_selectone:
     SELECT * FROM tab_freeze WHERE id = 3;
     COMMIT;

-id             name           x
+id|name|x
+--+----+-
+ 3| 333|2
+(1 row)

-3              333            2
 step s3_commit: COMMIT;
 step s2_vacuum: VACUUM FREEZE tab_freeze;
 step s1_selectall: SELECT * FROM tab_freeze ORDER BY name, id;
-id             name           x
+id|name|x
+--+----+-
+ 1| 111|0
+ 3| 333|2
+(2 rows)

-1              111            0
-3              333            2
diff --git a/src/test/isolation/expected/horizons.out b/src/test/isolation/expected/horizons.out
index 07bbc9832c..4150b2dee6 100644
--- a/src/test/isolation/expected/horizons.out
+++ b/src/test/isolation/expected/horizons.out
@@ -9,31 +9,39 @@ step ll_start:
     BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
     SELECT 1;

-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step pruner_query_plan:
     EXPLAIN (COSTS OFF) SELECT * FROM horizons_tst ORDER BY data;

-QUERY PLAN
-
+QUERY PLAN
+-----------------------------------------------------------
 Index Only Scan using horizons_tst_data_key on horizons_tst
+(1 row)
+
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_delete:
     DELETE FROM horizons_tst;

@@ -42,17 +50,21 @@ step pruner_query:
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step ll_commit: COMMIT;
 step pruner_drop:
     DROP TABLE horizons_tst;
@@ -67,31 +79,39 @@ step ll_start:
     BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
     SELECT 1;

-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step pruner_query_plan:
     EXPLAIN (COSTS OFF) SELECT * FROM horizons_tst ORDER BY data;

-QUERY PLAN
-
+QUERY PLAN
+-----------------------------------------------------------
 Index Only Scan using horizons_tst_data_key on horizons_tst
+(1 row)
+
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_delete:
     DELETE FROM horizons_tst;

@@ -100,17 +120,21 @@ step pruner_query:
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       0
+(1 row)

-0
 step ll_commit: COMMIT;
 step pruner_drop:
     DROP TABLE horizons_tst;
@@ -125,25 +149,31 @@ step ll_start:
     BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
     SELECT 1;

-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_begin: BEGIN;
 step pruner_delete:
     DELETE FROM horizons_tst;
@@ -153,17 +183,21 @@ step pruner_query:
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step ll_commit: COMMIT;
 step pruner_commit: COMMIT;
 step pruner_drop:
@@ -179,25 +213,31 @@ step ll_start:
     BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
     SELECT 1;

-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_delete:
     DELETE FROM horizons_tst;

@@ -209,17 +249,21 @@ step pruner_query:
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step ll_commit: COMMIT;
 step pruner_drop:
     DROP TABLE horizons_tst;
@@ -234,25 +278,31 @@ step ll_start:
     BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
     SELECT 1;

-?column?
+?column?
+--------
+       1
+(1 row)

-1
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       2
+(1 row)

-2
 step pruner_delete:
     DELETE FROM horizons_tst;

@@ -264,17 +314,21 @@ step pruner_query:
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       0
+(1 row)

-0
 step pruner_query:
     SELECT explain_json($$
         EXPLAIN (FORMAT json, BUFFERS, ANALYZE)
       SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches';

-?column?
+?column?
+--------
+       0
+(1 row)

-0
 step ll_commit: COMMIT;
 step pruner_drop:
     DROP TABLE horizons_tst;
diff --git a/src/test/isolation/expected/inherit-temp.out b/src/test/isolation/expected/inherit-temp.out
index edfc8f906c..e6f0f220e8 100644
--- a/src/test/isolation/expected/inherit-temp.out
+++ b/src/test/isolation/expected/inherit-temp.out
@@ -5,29 +5,37 @@ step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2);
 step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4);
 step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6);
 step s1_select_p: SELECT a FROM inh_parent;
-a
+a
+-
+1
+2
+3
+4
+(4 rows)

-1
-2
-3
-4
 step s1_select_c: SELECT a FROM inh_temp_child_s1;
-a
+a
+-
+3
+4
+(2 rows)

-3
-4
 step s2_select_p: SELECT a FROM inh_parent;
-a
+a
+-
+1
+2
+5
+6
+(4 rows)

-1
-2
-5
-6
 step s2_select_c: SELECT a FROM inh_temp_child_s2;
-a
+a
+-
+5
+6
+(2 rows)

-5
-6

 starting permutation: s1_insert_p s1_insert_c s2_insert_c s1_update_p s1_update_c s1_select_p s1_select_c s2_select_p
s2_select_c
 step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2);
@@ -36,29 +44,37 @@ step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6);
 step s1_update_p: UPDATE inh_parent SET a = 11 WHERE a = 1;
 step s1_update_c: UPDATE inh_parent SET a = 13 WHERE a IN (3, 5);
 step s1_select_p: SELECT a FROM inh_parent;
-a
+ a
+--
+ 2
+11
+ 4
+13
+(4 rows)

-2
-11
-4
-13
 step s1_select_c: SELECT a FROM inh_temp_child_s1;
-a
+ a
+--
+ 4
+13
+(2 rows)

-4
-13
 step s2_select_p: SELECT a FROM inh_parent;
-a
+ a
+--
+ 2
+11
+ 5
+ 6
+(4 rows)

-2
-11
-5
-6
 step s2_select_c: SELECT a FROM inh_temp_child_s2;
-a
+a
+-
+5
+6
+(2 rows)

-5
-6

 starting permutation: s1_insert_p s1_insert_c s2_insert_c s2_update_c s1_select_p s1_select_c s2_select_p s2_select_c
 step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2);
@@ -66,29 +82,37 @@ step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4);
 step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6);
 step s2_update_c: UPDATE inh_parent SET a = 15 WHERE a IN (3, 5);
 step s1_select_p: SELECT a FROM inh_parent;
-a
+a
+-
+1
+2
+3
+4
+(4 rows)

-1
-2
-3
-4
 step s1_select_c: SELECT a FROM inh_temp_child_s1;
-a
+a
+-
+3
+4
+(2 rows)

-3
-4
 step s2_select_p: SELECT a FROM inh_parent;
-a
+ a
+--
+ 1
+ 2
+ 6
+15
+(4 rows)

-1
-2
-6
-15
 step s2_select_c: SELECT a FROM inh_temp_child_s2;
-a
+ a
+--
+ 6
+15
+(2 rows)

-6
-15

 starting permutation: s1_insert_p s1_insert_c s2_insert_c s1_delete_p s1_delete_c s1_select_p s1_select_c s2_select_p
s2_select_c
 step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2);
@@ -97,25 +121,33 @@ step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6);
 step s1_delete_p: DELETE FROM inh_parent WHERE a = 2;
 step s1_delete_c: DELETE FROM inh_parent WHERE a IN (4, 6);
 step s1_select_p: SELECT a FROM inh_parent;
-a
+a
+-
+1
+3
+(2 rows)

-1
-3
 step s1_select_c: SELECT a FROM inh_temp_child_s1;
-a
+a
+-
+3
+(1 row)

-3
 step s2_select_p: SELECT a FROM inh_parent;
-a
+a
+-
+1
+5
+6
+(3 rows)

-1
-5
-6
 step s2_select_c: SELECT a FROM inh_temp_child_s2;
-a
+a
+-
+5
+6
+(2 rows)

-5
-6

 starting permutation: s1_insert_p s1_insert_c s2_insert_c s2_delete_c s1_select_p s1_select_c s2_select_p s2_select_c
 step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2);
@@ -123,27 +155,35 @@ step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4);
 step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6);
 step s2_delete_c: DELETE FROM inh_parent WHERE a IN (4, 6);
 step s1_select_p: SELECT a FROM inh_parent;
-a
+a
+-
+1
+2
+3
+4
+(4 rows)

-1
-2
-3
-4
 step s1_select_c: SELECT a FROM inh_temp_child_s1;
-a
+a
+-
+3
+4
+(2 rows)

-3
-4
 step s2_select_p: SELECT a FROM inh_parent;
-a
+a
+-
+1
+2
+5
+(3 rows)

-1
-2
-5
 step s2_select_c: SELECT a FROM inh_temp_child_s2;
-a
+a
+-
+5
+(1 row)

-5

 starting permutation: s1_insert_p s1_insert_c s2_insert_c s1_truncate_p s1_select_p s1_select_c s2_select_p
s2_select_c
 step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2);
@@ -151,21 +191,29 @@ step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4);
 step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6);
 step s1_truncate_p: TRUNCATE inh_parent;
 step s1_select_p: SELECT a FROM inh_parent;
-a
+a
+-
+(0 rows)

 step s1_select_c: SELECT a FROM inh_temp_child_s1;
-a
+a
+-
+(0 rows)

 step s2_select_p: SELECT a FROM inh_parent;
-a
+a
+-
+5
+6
+(2 rows)

-5
-6
 step s2_select_c: SELECT a FROM inh_temp_child_s2;
-a
+a
+-
+5
+6
+(2 rows)

-5
-6

 starting permutation: s1_insert_p s1_insert_c s2_insert_c s2_truncate_p s1_select_p s1_select_c s2_select_p
s2_select_c
 step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2);
@@ -173,20 +221,28 @@ step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4);
 step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6);
 step s2_truncate_p: TRUNCATE inh_parent;
 step s1_select_p: SELECT a FROM inh_parent;
-a
+a
+-
+3
+4
+(2 rows)

-3
-4
 step s1_select_c: SELECT a FROM inh_temp_child_s1;
-a
+a
+-
+3
+4
+(2 rows)

-3
-4
 step s2_select_p: SELECT a FROM inh_parent;
-a
+a
+-
+(0 rows)

 step s2_select_c: SELECT a FROM inh_temp_child_s2;
-a
+a
+-
+(0 rows)


 starting permutation: s1_insert_p s1_insert_c s2_insert_c s1_begin s1_truncate_p s2_select_p s1_commit
@@ -198,10 +254,12 @@ step s1_truncate_p: TRUNCATE inh_parent;
 step s2_select_p: SELECT a FROM inh_parent; <waiting ...>
 step s1_commit: COMMIT;
 step s2_select_p: <... completed>
-a
+a
+-
+5
+6
+(2 rows)

-5
-6

 starting permutation: s1_insert_p s1_insert_c s2_insert_c s1_begin s1_truncate_p s2_select_c s1_commit
 step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2);
@@ -210,8 +268,10 @@ step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6);
 step s1_begin: BEGIN;
 step s1_truncate_p: TRUNCATE inh_parent;
 step s2_select_c: SELECT a FROM inh_temp_child_s2;
-a
+a
+-
+5
+6
+(2 rows)

-5
-6
 step s1_commit: COMMIT;
diff --git a/src/test/isolation/expected/insert-conflict-do-nothing-2.out
b/src/test/isolation/expected/insert-conflict-do-nothing-2.out
index 2332f96978..7d73c1b1d8 100644
--- a/src/test/isolation/expected/insert-conflict-do-nothing-2.out
+++ b/src/test/isolation/expected/insert-conflict-do-nothing-2.out
@@ -8,9 +8,11 @@ step c1: COMMIT;
 step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING;
 step c2: COMMIT;
 step show: SELECT * FROM ints;
-key            val
+key|val
+---+----------
+  1|donothing1
+(1 row)

-1              donothing1

 starting permutation: beginrr1 beginrr2 donothing2 c2 donothing1 c1 show
 step beginrr1: BEGIN ISOLATION LEVEL REPEATABLE READ;
@@ -20,9 +22,11 @@ step c2: COMMIT;
 step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING;
 step c1: COMMIT;
 step show: SELECT * FROM ints;
-key            val
+key|val
+---+----------
+  1|donothing2
+(1 row)

-1              donothing2

 starting permutation: beginrr1 beginrr2 donothing1 donothing2 c1 c2 show
 step beginrr1: BEGIN ISOLATION LEVEL REPEATABLE READ;
@@ -34,9 +38,11 @@ step donothing2: <... completed>
 error in steps c1 donothing2: ERROR:  could not serialize access due to concurrent update
 step c2: COMMIT;
 step show: SELECT * FROM ints;
-key            val
+key|val
+---+----------
+  1|donothing1
+(1 row)

-1              donothing1

 starting permutation: beginrr1 beginrr2 donothing2 donothing1 c2 c1 show
 step beginrr1: BEGIN ISOLATION LEVEL REPEATABLE READ;
@@ -48,9 +54,11 @@ step donothing1: <... completed>
 error in steps c2 donothing1: ERROR:  could not serialize access due to concurrent update
 step c1: COMMIT;
 step show: SELECT * FROM ints;
-key            val
+key|val
+---+----------
+  1|donothing2
+(1 row)

-1              donothing2

 starting permutation: begins1 begins2 donothing1 c1 donothing2 c2 show
 step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE;
@@ -60,9 +68,11 @@ step c1: COMMIT;
 step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING;
 step c2: COMMIT;
 step show: SELECT * FROM ints;
-key            val
+key|val
+---+----------
+  1|donothing1
+(1 row)

-1              donothing1

 starting permutation: begins1 begins2 donothing2 c2 donothing1 c1 show
 step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE;
@@ -72,9 +82,11 @@ step c2: COMMIT;
 step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING;
 step c1: COMMIT;
 step show: SELECT * FROM ints;
-key            val
+key|val
+---+----------
+  1|donothing2
+(1 row)

-1              donothing2

 starting permutation: begins1 begins2 donothing1 donothing2 c1 c2 show
 step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE;
@@ -86,9 +98,11 @@ step donothing2: <... completed>
 error in steps c1 donothing2: ERROR:  could not serialize access due to concurrent update
 step c2: COMMIT;
 step show: SELECT * FROM ints;
-key            val
+key|val
+---+----------
+  1|donothing1
+(1 row)

-1              donothing1

 starting permutation: begins1 begins2 donothing2 donothing1 c2 c1 show
 step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE;
@@ -100,6 +114,8 @@ step donothing1: <... completed>
 error in steps c2 donothing1: ERROR:  could not serialize access due to concurrent update
 step c1: COMMIT;
 step show: SELECT * FROM ints;
-key            val
+key|val
+---+----------
+  1|donothing2
+(1 row)

-1              donothing2
diff --git a/src/test/isolation/expected/insert-conflict-do-nothing.out
b/src/test/isolation/expected/insert-conflict-do-nothing.out
index 0a0958f034..cadf46d065 100644
--- a/src/test/isolation/expected/insert-conflict-do-nothing.out
+++ b/src/test/isolation/expected/insert-conflict-do-nothing.out
@@ -6,9 +6,11 @@ step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2') ON CONFLICT
 step c1: COMMIT;
 step donothing2: <... completed>
 step select2: SELECT * FROM ints;
-key            val
+key|val
+---+----------
+  1|donothing1
+(1 row)

-1              donothing1
 step c2: COMMIT;

 starting permutation: donothing1 donothing2 a1 select2 c2
@@ -17,7 +19,9 @@ step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2') ON CONFLICT
 step a1: ABORT;
 step donothing2: <... completed>
 step select2: SELECT * FROM ints;
-key            val
+key|val
+---+----------
+  1|donothing2
+(1 row)

-1              donothing2
 step c2: COMMIT;
diff --git a/src/test/isolation/expected/insert-conflict-do-update-2.out
b/src/test/isolation/expected/insert-conflict-do-update-2.out
index 05fb06f8d8..7acd1aef16 100644
--- a/src/test/isolation/expected/insert-conflict-do-update-2.out
+++ b/src/test/isolation/expected/insert-conflict-do-update-2.out
@@ -6,9 +6,11 @@ step insert2: INSERT INTO upsert(key, payload) VALUES('FOOFOO', 'insert2') ON CO
 step c1: COMMIT;
 step insert2: <... completed>
 step select2: SELECT * FROM upsert;
-key            payload
+key   |payload
+------+--------------------------
+FOOFOO|insert1 updated by insert2
+(1 row)

-FOOFOO         insert1 updated by insert2
 step c2: COMMIT;

 starting permutation: insert1 insert2 a1 select2 c2
@@ -17,7 +19,9 @@ step insert2: INSERT INTO upsert(key, payload) VALUES('FOOFOO', 'insert2') ON CO
 step a1: ABORT;
 step insert2: <... completed>
 step select2: SELECT * FROM upsert;
-key            payload
+key   |payload
+------+-------
+FOOFOO|insert2
+(1 row)

-FOOFOO         insert2
 step c2: COMMIT;
diff --git a/src/test/isolation/expected/insert-conflict-do-update-3.out
b/src/test/isolation/expected/insert-conflict-do-update-3.out
index 6600410618..2d7e0b8f18 100644
--- a/src/test/isolation/expected/insert-conflict-do-update-3.out
+++ b/src/test/isolation/expected/insert-conflict-do-update-3.out
@@ -12,15 +12,19 @@ step insert1:
     SELECT * FROM colors ORDER BY key; <waiting ...>
 step c2: COMMIT;
 step insert1: <... completed>
-key            color          is_active
+key|color|is_active
+---+-----+---------
+  1|Red  |f
+  2|Green|f
+  3|Blue |f
+(3 rows)

-1              Red            f
-2              Green          f
-3              Blue           f
 step select1surprise: SELECT * FROM colors ORDER BY key;
-key            color          is_active
+key|color|is_active
+---+-----+---------
+  1|Brown|t
+  2|Green|f
+  3|Blue |f
+(3 rows)

-1              Brown          t
-2              Green          f
-3              Blue           f
 step c1: COMMIT;
diff --git a/src/test/isolation/expected/insert-conflict-do-update.out
b/src/test/isolation/expected/insert-conflict-do-update.out
index a634918784..16c384c836 100644
--- a/src/test/isolation/expected/insert-conflict-do-update.out
+++ b/src/test/isolation/expected/insert-conflict-do-update.out
@@ -6,9 +6,11 @@ step insert2: INSERT INTO upsert(key, val) VALUES(1, 'insert2') ON CONFLICT (key
 step c1: COMMIT;
 step insert2: <... completed>
 step select2: SELECT * FROM upsert;
-key            val
+key|val
+---+--------------------------
+  1|insert1 updated by insert2
+(1 row)

-1              insert1 updated by insert2
 step c2: COMMIT;

 starting permutation: insert1 insert2 a1 select2 c2
@@ -17,7 +19,9 @@ step insert2: INSERT INTO upsert(key, val) VALUES(1, 'insert2') ON CONFLICT (key
 step a1: ABORT;
 step insert2: <... completed>
 step select2: SELECT * FROM upsert;
-key            val
+key|val
+---+-------
+  1|insert2
+(1 row)

-1              insert2
 step c2: COMMIT;
diff --git a/src/test/isolation/expected/insert-conflict-specconflict.out
b/src/test/isolation/expected/insert-conflict-specconflict.out
index ae361fbd03..2efa98e69b 100644
--- a/src/test/isolation/expected/insert-conflict-specconflict.out
+++ b/src/test/isolation/expected/insert-conflict-specconflict.out
@@ -2,16 +2,20 @@ Parsed test spec with 3 sessions

 starting permutation: controller_locks controller_show s1_upsert s2_upsert controller_show controller_unlock_1_1
controller_unlock_2_1controller_unlock_1_3 controller_unlock_2_3 controller_show controller_unlock_2_2 controller_show
controller_unlock_1_2controller_show 
 step controller_locks: SELECT pg_advisory_lock(sess, lock), sess, lock FROM generate_series(1, 2) a(sess),
generate_series(1,3)b(lock); 
-pg_advisory_locksess           lock
-
-               1              1
-               1              2
-               1              3
-               2              1
-               2              2
-               2              3
+pg_advisory_lock|sess|lock
+----------------+----+----
+                |   1|   1
+                |   1|   2
+                |   1|   3
+                |   2|   1
+                |   2|   2
+                |   2|   3
+(6 rows)
+
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
 s1: NOTICE:  acquiring advisory lock on 3
@@ -20,66 +24,90 @@ s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 3
 step s2_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s2') ON CONFLICT (blurt_and_lock_123(key)) DO
UPDATESET data = upserttest.data || ' with conflict update s2'; <waiting ...> 
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_unlock_1_1: SELECT pg_advisory_unlock(1, 1);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step controller_unlock_2_1: SELECT pg_advisory_unlock(2, 1);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step controller_unlock_1_3: SELECT pg_advisory_unlock(1, 3);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
 s1: NOTICE:  acquiring advisory lock on 2
 step controller_unlock_2_3: SELECT pg_advisory_unlock(2, 3);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_unlock_2_2: SELECT pg_advisory_unlock(2, 2);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2_upsert: <... completed>
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+-----------
+k1 |inserted s2
+(1 row)

-k1             inserted s2
 step controller_unlock_1_2: SELECT pg_advisory_unlock(1, 2);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
 s1: NOTICE:  acquiring advisory lock on 2
 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
 s1: NOTICE:  acquiring advisory lock on 2
 step s1_upsert: <... completed>
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+-----------------------------------
+k1 |inserted s2 with conflict update s1
+(1 row)

-k1             inserted s2 with conflict update s1

 starting permutation: controller_locks controller_show s1_upsert s2_upsert controller_show controller_unlock_1_1
controller_unlock_2_1controller_unlock_1_3 controller_unlock_2_3 controller_show controller_unlock_1_2 controller_show
controller_unlock_2_2controller_show 
 step controller_locks: SELECT pg_advisory_lock(sess, lock), sess, lock FROM generate_series(1, 2) a(sess),
generate_series(1,3)b(lock); 
-pg_advisory_locksess           lock
-
-               1              1
-               1              2
-               1              3
-               2              1
-               2              2
-               2              3
+pg_advisory_lock|sess|lock
+----------------+----+----
+                |   1|   1
+                |   1|   2
+                |   1|   3
+                |   2|   1
+                |   2|   2
+                |   2|   3
+(6 rows)
+
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
 s1: NOTICE:  acquiring advisory lock on 3
@@ -88,66 +116,90 @@ s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 3
 step s2_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s2') ON CONFLICT (blurt_and_lock_123(key)) DO
UPDATESET data = upserttest.data || ' with conflict update s2'; <waiting ...> 
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_unlock_1_1: SELECT pg_advisory_unlock(1, 1);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step controller_unlock_2_1: SELECT pg_advisory_unlock(2, 1);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step controller_unlock_1_3: SELECT pg_advisory_unlock(1, 3);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
 s1: NOTICE:  acquiring advisory lock on 2
 step controller_unlock_2_3: SELECT pg_advisory_unlock(2, 3);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_unlock_1_2: SELECT pg_advisory_unlock(1, 2);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1_upsert: <... completed>
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+-----------
+k1 |inserted s1
+(1 row)

-k1             inserted s1
 step controller_unlock_2_2: SELECT pg_advisory_unlock(2, 2);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 step s2_upsert: <... completed>
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+-----------------------------------
+k1 |inserted s1 with conflict update s2
+(1 row)

-k1             inserted s1 with conflict update s2

 starting permutation: controller_locks controller_show s1_insert_toast s2_insert_toast controller_show
controller_unlock_1_1controller_unlock_2_1 controller_unlock_1_3 controller_unlock_2_3 controller_show
controller_unlock_1_2controller_show_count controller_unlock_2_2 controller_show_count 
 step controller_locks: SELECT pg_advisory_lock(sess, lock), sess, lock FROM generate_series(1, 2) a(sess),
generate_series(1,3)b(lock); 
-pg_advisory_locksess           lock
-
-               1              1
-               1              2
-               1              3
-               2              1
-               2              2
-               2              3
+pg_advisory_lock|sess|lock
+----------------+----+----
+                |   1|   1
+                |   1|   2
+                |   1|   3
+                |   2|   1
+                |   2|   2
+                |   2|   3
+(6 rows)
+
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 s1: NOTICE:  blurt_and_lock_123() called for k2 in session 1
 s1: NOTICE:  acquiring advisory lock on 3
@@ -156,66 +208,90 @@ s2: NOTICE:  blurt_and_lock_123() called for k2 in session 2
 s2: NOTICE:  acquiring advisory lock on 3
 step s2_insert_toast: INSERT INTO upserttest VALUES('k2', ctoast_large_val()) ON CONFLICT DO NOTHING; <waiting ...>
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_unlock_1_1: SELECT pg_advisory_unlock(1, 1);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step controller_unlock_2_1: SELECT pg_advisory_unlock(2, 1);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step controller_unlock_1_3: SELECT pg_advisory_unlock(1, 3);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  blurt_and_lock_123() called for k2 in session 1
 s1: NOTICE:  acquiring advisory lock on 2
 step controller_unlock_2_3: SELECT pg_advisory_unlock(2, 3);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s2: NOTICE:  blurt_and_lock_123() called for k2 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_unlock_1_2: SELECT pg_advisory_unlock(1, 2);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1_insert_toast: <... completed>
 step controller_show_count: SELECT COUNT(*) FROM upserttest;
-count
+count
+-----
+    1
+(1 row)

-1
 step controller_unlock_2_2: SELECT pg_advisory_unlock(2, 2);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s2: NOTICE:  blurt_and_lock_123() called for k2 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 s2: NOTICE:  blurt_and_lock_123() called for k2 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 step s2_insert_toast: <... completed>
 step controller_show_count: SELECT COUNT(*) FROM upserttest;
-count
+count
+-----
+    1
+(1 row)

-1

 starting permutation: controller_locks controller_show s1_begin s2_begin s1_upsert s2_upsert controller_show
controller_unlock_1_1controller_unlock_2_1 controller_unlock_1_3 controller_unlock_2_3 controller_show
controller_unlock_1_2controller_show controller_unlock_2_2 controller_show s1_commit controller_show s2_commit
controller_show
 step controller_locks: SELECT pg_advisory_lock(sess, lock), sess, lock FROM generate_series(1, 2) a(sess),
generate_series(1,3)b(lock); 
-pg_advisory_locksess           lock
-
-               1              1
-               1              2
-               1              3
-               2              1
-               2              2
-               2              3
+pg_advisory_lock|sess|lock
+----------------+----+----
+                |   1|   1
+                |   1|   2
+                |   1|   3
+                |   2|   1
+                |   2|   2
+                |   2|   3
+(6 rows)
+
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step s1_begin: BEGIN;
 step s2_begin: BEGIN;
@@ -226,81 +302,111 @@ s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 3
 step s2_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s2') ON CONFLICT (blurt_and_lock_123(key)) DO
UPDATESET data = upserttest.data || ' with conflict update s2'; <waiting ...> 
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_unlock_1_1: SELECT pg_advisory_unlock(1, 1);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step controller_unlock_2_1: SELECT pg_advisory_unlock(2, 1);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step controller_unlock_1_3: SELECT pg_advisory_unlock(1, 3);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
 s1: NOTICE:  acquiring advisory lock on 2
 step controller_unlock_2_3: SELECT pg_advisory_unlock(2, 3);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_unlock_1_2: SELECT pg_advisory_unlock(1, 2);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1_upsert: <... completed>
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_unlock_2_2: SELECT pg_advisory_unlock(2, 2);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step s1_commit: COMMIT;
 s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 step s2_upsert: <... completed>
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+-----------
+k1 |inserted s1
+(1 row)

-k1             inserted s1
 step s2_commit: COMMIT;
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+-----------------------------------
+k1 |inserted s1 with conflict update s2
+(1 row)

-k1             inserted s1 with conflict update s2

 starting permutation: s1_create_non_unique_index s1_confirm_index_order controller_locks controller_show s2_begin
s1_upserts2_upsert controller_show controller_unlock_1_1 controller_unlock_2_1 controller_unlock_1_3
controller_unlock_2_3controller_show controller_lock_2_4 controller_unlock_2_2 controller_show controller_unlock_1_2
controller_print_speculative_lockscontroller_unlock_2_4 controller_print_speculative_locks s2_commit controller_show
controller_print_speculative_locks
 step s1_create_non_unique_index: CREATE INDEX upserttest_key_idx ON upserttest((blurt_and_lock_4(key)));
 step s1_confirm_index_order: SELECT 'upserttest_key_uniq_idx'::regclass::int8 < 'upserttest_key_idx'::regclass::int8;
-?column?
+?column?
+--------
+t
+(1 row)

-t
 step controller_locks: SELECT pg_advisory_lock(sess, lock), sess, lock FROM generate_series(1, 2) a(sess),
generate_series(1,3)b(lock); 
-pg_advisory_locksess           lock
-
-               1              1
-               1              2
-               1              3
-               2              1
-               2              2
-               2              3
+pg_advisory_lock|sess|lock
+----------------+----+----
+                |   1|   1
+                |   1|   2
+                |   1|   3
+                |   2|   1
+                |   2|   2
+                |   2|   3
+(6 rows)
+
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step s2_begin: BEGIN;
 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
@@ -310,48 +416,68 @@ s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 3
 step s2_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s2') ON CONFLICT (blurt_and_lock_123(key)) DO
UPDATESET data = upserttest.data || ' with conflict update s2'; <waiting ...> 
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_unlock_1_1: SELECT pg_advisory_unlock(1, 1);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step controller_unlock_2_1: SELECT pg_advisory_unlock(2, 1);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step controller_unlock_1_3: SELECT pg_advisory_unlock(1, 3);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
 s1: NOTICE:  acquiring advisory lock on 2
 step controller_unlock_2_3: SELECT pg_advisory_unlock(2, 3);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s2: NOTICE:  blurt_and_lock_123() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 2
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_lock_2_4: SELECT pg_advisory_lock(2, 4);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step controller_unlock_2_2: SELECT pg_advisory_unlock(2, 2);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s2: NOTICE:  blurt_and_lock_4() called for k1 in session 2
 s2: NOTICE:  acquiring advisory lock on 4
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+----
+(0 rows)

 step controller_unlock_1_2: SELECT pg_advisory_unlock(1, 2);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  blurt_and_lock_4() called for k1 in session 1
 s1: NOTICE:  acquiring advisory lock on 4
 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
@@ -367,16 +493,20 @@ step controller_print_speculative_locks:
         AND pa.application_name LIKE 'isolation/insert-conflict-specconflict-s%'
     ORDER BY 1, 2, 3, 4;

-application_namelocktype       mode           granted
+application_name                         |locktype     |mode         |granted
+-----------------------------------------+-------------+-------------+-------
+isolation/insert-conflict-specconflict-s1|spectoken    |ShareLock    |f
+isolation/insert-conflict-specconflict-s1|transactionid|ExclusiveLock|t
+isolation/insert-conflict-specconflict-s2|spectoken    |ExclusiveLock|t
+isolation/insert-conflict-specconflict-s2|transactionid|ExclusiveLock|t
+(4 rows)

-isolation/insert-conflict-specconflict-s1spectoken      ShareLock      f
-isolation/insert-conflict-specconflict-s1transactionid  ExclusiveLock  t
-isolation/insert-conflict-specconflict-s2spectoken      ExclusiveLock  t
-isolation/insert-conflict-specconflict-s2transactionid  ExclusiveLock  t
 step controller_unlock_2_4: SELECT pg_advisory_unlock(2, 4);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
 s1: NOTICE:  acquiring advisory lock on 2
 step s2_upsert: <... completed>
@@ -389,19 +519,23 @@ step controller_print_speculative_locks:
         AND pa.application_name LIKE 'isolation/insert-conflict-specconflict-s%'
     ORDER BY 1, 2, 3, 4;

-application_namelocktype       mode           granted
+application_name                         |locktype     |mode         |granted
+-----------------------------------------+-------------+-------------+-------
+isolation/insert-conflict-specconflict-s1|transactionid|ExclusiveLock|t
+isolation/insert-conflict-specconflict-s1|transactionid|ShareLock    |f
+isolation/insert-conflict-specconflict-s2|transactionid|ExclusiveLock|t
+(3 rows)

-isolation/insert-conflict-specconflict-s1transactionid  ExclusiveLock  t
-isolation/insert-conflict-specconflict-s1transactionid  ShareLock      f
-isolation/insert-conflict-specconflict-s2transactionid  ExclusiveLock  t
 step s2_commit: COMMIT;
 s1: NOTICE:  blurt_and_lock_123() called for k1 in session 1
 s1: NOTICE:  acquiring advisory lock on 2
 step s1_upsert: <... completed>
 step controller_show: SELECT * FROM upserttest;
-key            data
+key|data
+---+-----------------------------------
+k1 |inserted s2 with conflict update s1
+(1 row)

-k1             inserted s2 with conflict update s1
 step controller_print_speculative_locks:
     SELECT pa.application_name, locktype, mode, granted
     FROM pg_locks pl JOIN pg_stat_activity pa USING (pid)
@@ -411,5 +545,7 @@ step controller_print_speculative_locks:
         AND pa.application_name LIKE 'isolation/insert-conflict-specconflict-s%'
     ORDER BY 1, 2, 3, 4;

-application_namelocktype       mode           granted
+application_name|locktype|mode|granted
+----------------+--------+----+-------
+(0 rows)

diff --git a/src/test/isolation/expected/lock-committed-keyupdate.out
b/src/test/isolation/expected/lock-committed-keyupdate.out
index 69cdbfba0a..6374e933b0 100644
--- a/src/test/isolation/expected/lock-committed-keyupdate.out
+++ b/src/test/isolation/expected/lock-committed-keyupdate.out
@@ -5,492 +5,666 @@ step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s1u s2l s1c s1ul s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s1u s1ul s2l s1c s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s2l s1u s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcku_table;
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s1u s2l s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcku_table;
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s1u s1ul s2l s1c s1hint s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s1hint: SELECT * FROM lcku_table;
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s2l s1u s1c s1ul s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
 error in steps s1ul s2l: ERROR:  could not serialize access due to concurrent update
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s1u s2l s1c s1ul s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
 error in steps s1ul s2l: ERROR:  could not serialize access due to concurrent update
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s1u s1ul s2l s1c s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s2l: <... completed>
 error in steps s1c s2l: ERROR:  could not serialize access due to concurrent update
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s2l s1u s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcku_table;
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
 error in steps s1ul s2l: ERROR:  could not serialize access due to concurrent update
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s1u s2l s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcku_table;
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
 error in steps s1ul s2l: ERROR:  could not serialize access due to concurrent update
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s1u s1ul s2l s1c s1hint s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s2l: <... completed>
 error in steps s1c s2l: ERROR:  could not serialize access due to concurrent update
 step s1hint: SELECT * FROM lcku_table;
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s2l s1u s1c s1ul s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
 error in steps s1ul s2l: ERROR:  could not serialize access due to concurrent update
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s1u s2l s1c s1ul s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
 error in steps s1ul s2l: ERROR:  could not serialize access due to concurrent update
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s1u s1ul s2l s1c s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s2l: <... completed>
 error in steps s1c s2l: ERROR:  could not serialize access due to concurrent update
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s2l s1u s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcku_table;
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
 error in steps s1ul s2l: ERROR:  could not serialize access due to concurrent update
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s1u s2l s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcku_table;
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
 error in steps s1ul s2l: ERROR:  could not serialize access due to concurrent update
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s1u s1ul s2l s1c s1hint s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(578902068);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3;
 step s1ul: SELECT pg_advisory_unlock(578902068);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s2l: <... completed>
 error in steps s1c s2l: ERROR:  could not serialize access due to concurrent update
 step s1hint: SELECT * FROM lcku_table;
-id             value
+id|value
+--+-----
+ 1|one
+ 2|two
+(2 rows)

-1              one
-2              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
diff --git a/src/test/isolation/expected/lock-committed-update.out
b/src/test/isolation/expected/lock-committed-update.out
index 88a6f23eab..84b9ce7509 100644
--- a/src/test/isolation/expected/lock-committed-update.out
+++ b/src/test/isolation/expected/lock-committed-update.out
@@ -5,663 +5,927 @@ step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s1u s2l s1c s1ul s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s2l s1ul s1u s1c s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s1u s1ul s2l s1c s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE;
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1c: COMMIT;
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s2l s1u s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s1u s2l s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s2l s1ul s1u s1c s1hint s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b1 s1l s1u s1ul s2l s1c s1hint s2c
 step s1b: BEGIN;
 step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE;
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s2l s1u s1c s1ul s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s1u s2l s1c s1ul s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s2l s1ul s1u s1c s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s1u s1ul s2l s1c s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE;
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1c: COMMIT;
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s2l s1u s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s1u s2l s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s2l s1ul s1u s1c s1hint s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b2 s1l s1u s1ul s2l s1c s1hint s2c
 step s1b: BEGIN;
 step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE;
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s2l s1u s1c s1ul s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s1u s2l s1c s1ul s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s2l s1ul s1u s1c s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s1u s1ul s2l s1c s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE;
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1c: COMMIT;
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s2l s1u s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s1u s2l s1c s1hint s1ul s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s2l s1ul s1u s1c s1hint s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; <waiting ...>
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: <... completed>
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-

 starting permutation: s1b s2b3 s1l s1u s1ul s2l s1c s1hint s2c
 step s1b: BEGIN;
 step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step s1l: SELECT pg_advisory_lock(380170116);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1;
 step s1ul: SELECT pg_advisory_unlock(380170116);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE;
-id             value
+id|value
+--+-----
+ 1|one
+(1 row)

-1              one
 step s1c: COMMIT;
 step s1hint: SELECT * FROM lcu_table;
-id             value
+id|value
+--+-----
+ 1|two
+(1 row)

-1              two
 step s2c: COMMIT;
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
diff --git a/src/test/isolation/expected/lock-update-delete.out b/src/test/isolation/expected/lock-update-delete.out
index 3aa12539e2..f75e25f74b 100644
--- a/src/test/isolation/expected/lock-update-delete.out
+++ b/src/test/isolation/expected/lock-update-delete.out
@@ -2,114 +2,152 @@ Parsed test spec with 2 sessions

 starting permutation: s2b s1l s2u s2_blocker1 s2_unlock s2c
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
 step s2_blocker1: DELETE FROM foo;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2c: COMMIT;
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+(0 rows)


 starting permutation: s2b s1l s2u s2_blocker2 s2_unlock s2c
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
 step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2c: COMMIT;
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+(0 rows)


 starting permutation: s2b s1l s2u s2_blocker3 s2_unlock s2c
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
 step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1
 step s2c: COMMIT;

 starting permutation: s2b s1l s2u s2_blocker1 s2_unlock s2r
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
 step s2_blocker1: DELETE FROM foo;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2r: ROLLBACK;
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1

 starting permutation: s2b s1l s2u s2_blocker2 s2_unlock s2r
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
 step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2r: ROLLBACK;
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1

 starting permutation: s2b s1l s2u s2_blocker3 s2_unlock s2r
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
 step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1
 step s2r: ROLLBACK;

 starting permutation: s2b s1l s2u s2_blocker1 s2c s2_unlock
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
@@ -117,16 +155,22 @@ step s2_blocker1: DELETE FROM foo;
 step s2c: COMMIT;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+(0 rows)


 starting permutation: s2b s1l s2u s2_blocker2 s2c s2_unlock
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
@@ -134,16 +178,22 @@ step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1;
 step s2c: COMMIT;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+(0 rows)


 starting permutation: s2b s1l s2u s2_blocker3 s2c s2_unlock
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
@@ -151,17 +201,23 @@ step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1;
 step s2c: COMMIT;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1

 starting permutation: s2b s1l s2u s2_blocker1 s2r s2_unlock
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
@@ -169,17 +225,23 @@ step s2_blocker1: DELETE FROM foo;
 step s2r: ROLLBACK;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1

 starting permutation: s2b s1l s2u s2_blocker2 s2r s2_unlock
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
@@ -187,17 +249,23 @@ step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1;
 step s2r: ROLLBACK;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1

 starting permutation: s2b s1l s2u s2_blocker3 s2r s2_unlock
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s2b: BEGIN;
 step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...>
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
@@ -205,9 +273,13 @@ step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1;
 step s2r: ROLLBACK;
 step s2_unlock: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1l: <... completed>
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1
diff --git a/src/test/isolation/expected/lock-update-traversal.out
b/src/test/isolation/expected/lock-update-traversal.out
index e4e6405757..6d6a97d46e 100644
--- a/src/test/isolation/expected/lock-update-traversal.out
+++ b/src/test/isolation/expected/lock-update-traversal.out
@@ -4,14 +4,18 @@ starting permutation: s1b s2b s1s s2u s1l s2c s2d1 s1c
 step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s2b: BEGIN;
 step s1s: SELECT * FROM foo;
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1
 step s2c: COMMIT;
 step s2d1: DELETE FROM foo WHERE key = 1; <waiting ...>
 step s1c: COMMIT;
@@ -21,14 +25,18 @@ starting permutation: s1b s2b s1s s2u s1l s2c s2d2 s1c
 step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s2b: BEGIN;
 step s1s: SELECT * FROM foo;
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1
 step s2c: COMMIT;
 step s2d2: UPDATE foo SET key = 3 WHERE key = 1; <waiting ...>
 step s1c: COMMIT;
@@ -38,14 +46,18 @@ starting permutation: s1b s2b s1s s2u s1l s2c s2d3 s1c
 step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ;
 step s2b: BEGIN;
 step s1s: SELECT * FROM foo;
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1
 step s2u: UPDATE foo SET value = 2 WHERE key = 1;
 step s1l: SELECT * FROM foo FOR KEY SHARE;
-key            value
+key|value
+---+-----
+  1|    1
+(1 row)

-1              1
 step s2c: COMMIT;
 step s2d3: UPDATE foo SET value = 3 WHERE key = 1;
 step s1c: COMMIT;
diff --git a/src/test/isolation/expected/multiple-cic.out b/src/test/isolation/expected/multiple-cic.out
index 2bf8fe365e..17ad0f4978 100644
--- a/src/test/isolation/expected/multiple-cic.out
+++ b/src/test/isolation/expected/multiple-cic.out
@@ -3,8 +3,10 @@ Parsed test spec with 2 sessions
 starting permutation: s2l s1i s2i
 step s2l: SELECT pg_advisory_lock(281457);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1i:
         CREATE INDEX CONCURRENTLY mcic_one_pkey ON mcic_one (id)
         WHERE lck_shr(281457);
@@ -14,6 +16,8 @@ step s2i:
         WHERE unlck();

 step s1i: <... completed>
-unlck
+unlck
+-----
+t
+(1 row)

-t
diff --git a/src/test/isolation/expected/multiple-row-versions.out
b/src/test/isolation/expected/multiple-row-versions.out
index d6a0c427fc..79f492ea42 100644
--- a/src/test/isolation/expected/multiple-row-versions.out
+++ b/src/test/isolation/expected/multiple-row-versions.out
@@ -2,21 +2,27 @@ Parsed test spec with 4 sessions

 starting permutation: rx1 wx2 c2 wx3 ry3 wy4 rz4 c4 c3 wz1 c1
 step rx1: SELECT * FROM t WHERE id = 1000000;
-id             txt
+     id|txt
+-------+---
+1000000|
+(1 row)

-1000000
 step wx2: UPDATE t SET txt = 'b' WHERE id = 1000000;
 step c2: COMMIT;
 step wx3: UPDATE t SET txt = 'c' WHERE id = 1000000;
 step ry3: SELECT * FROM t WHERE id = 500000;
-id             txt
+    id|txt
+------+---
+500000|
+(1 row)

-500000
 step wy4: UPDATE t SET txt = 'd' WHERE id = 500000;
 step rz4: SELECT * FROM t WHERE id = 1;
-id             txt
+id|txt
+--+---
+ 1|
+(1 row)

-1
 step c4: COMMIT;
 step c3: COMMIT;
 step wz1: UPDATE t SET txt = 'a' WHERE id = 1;
diff --git a/src/test/isolation/expected/multixact-no-deadlock.out
b/src/test/isolation/expected/multixact-no-deadlock.out
index 5ba2e7818e..4b9ce7bfc3 100644
--- a/src/test/isolation/expected/multixact-no-deadlock.out
+++ b/src/test/isolation/expected/multixact-no-deadlock.out
@@ -2,23 +2,31 @@ Parsed test spec with 3 sessions

 starting permutation: s1lock s2lock s1svpt s3lock s1lock2 s2c s1c s3c
 step s1lock: SELECT * FROM justthis FOR SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2lock: SELECT * FROM justthis FOR SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s1svpt: SAVEPOINT foo;
 step s3lock: SELECT * FROM justthis FOR UPDATE; <waiting ...>
 step s1lock2: SELECT * FROM justthis FOR SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2c: COMMIT;
 step s1c: COMMIT;
 step s3lock: <... completed>
-value
+value
+-----
+    1
+(1 row)

-1
 step s3c: COMMIT;
diff --git a/src/test/isolation/expected/multixact-no-forget.out b/src/test/isolation/expected/multixact-no-forget.out
index 38466bf837..ce06b38407 100644
--- a/src/test/isolation/expected/multixact-no-forget.out
+++ b/src/test/isolation/expected/multixact-no-forget.out
@@ -2,129 +2,167 @@ Parsed test spec with 3 sessions

 starting permutation: s1_show s1_commit s2_commit
 step s1_show: SELECT current_setting('default_transaction_isolation') <> 'read committed';
-?column?
+?column?
+--------
+f
+(1 row)

-f
 step s1_commit: COMMIT;
 step s2_commit: COMMIT;

 starting permutation: s1_lock s2_update s2_abort s3_forkeyshr s1_commit
 step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2_update: UPDATE dont_forget SET value = 2;
 step s2_abort: ROLLBACK;
 step s3_forkeyshr: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_lock s2_update s2_commit s3_forkeyshr s1_commit
 step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2_update: UPDATE dont_forget SET value = 2;
 step s2_commit: COMMIT;
 step s3_forkeyshr: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    2
+(1 row)

-2
 step s1_commit: COMMIT;

 starting permutation: s1_lock s2_update s1_commit s3_forkeyshr s2_commit
 step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2_update: UPDATE dont_forget SET value = 2;
 step s1_commit: COMMIT;
 step s3_forkeyshr: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2_commit: COMMIT;

 starting permutation: s1_lock s2_update s2_abort s3_fornokeyupd s1_commit
 step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2_update: UPDATE dont_forget SET value = 2;
 step s2_abort: ROLLBACK;
 step s3_fornokeyupd: SELECT * FROM dont_forget FOR NO KEY UPDATE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_lock s2_update s2_commit s3_fornokeyupd s1_commit
 step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2_update: UPDATE dont_forget SET value = 2;
 step s2_commit: COMMIT;
 step s3_fornokeyupd: SELECT * FROM dont_forget FOR NO KEY UPDATE;
-value
+value
+-----
+    2
+(1 row)

-2
 step s1_commit: COMMIT;

 starting permutation: s1_lock s2_update s1_commit s3_fornokeyupd s2_commit
 step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2_update: UPDATE dont_forget SET value = 2;
 step s1_commit: COMMIT;
 step s3_fornokeyupd: SELECT * FROM dont_forget FOR NO KEY UPDATE; <waiting ...>
 step s2_commit: COMMIT;
 step s3_fornokeyupd: <... completed>
-value
+value
+-----
+    2
+(1 row)

-2

 starting permutation: s1_lock s2_update s2_abort s3_forupd s1_commit
 step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2_update: UPDATE dont_forget SET value = 2;
 step s2_abort: ROLLBACK;
 step s3_forupd: SELECT * FROM dont_forget FOR UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s3_forupd: <... completed>
-value
+value
+-----
+    1
+(1 row)

-1

 starting permutation: s1_lock s2_update s2_commit s3_forupd s1_commit
 step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2_update: UPDATE dont_forget SET value = 2;
 step s2_commit: COMMIT;
 step s3_forupd: SELECT * FROM dont_forget FOR UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s3_forupd: <... completed>
-value
+value
+-----
+    2
+(1 row)

-2

 starting permutation: s1_lock s2_update s1_commit s3_forupd s2_commit
 step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE;
-value
+value
+-----
+    1
+(1 row)

-1
 step s2_update: UPDATE dont_forget SET value = 2;
 step s1_commit: COMMIT;
 step s3_forupd: SELECT * FROM dont_forget FOR UPDATE; <waiting ...>
 step s2_commit: COMMIT;
 step s3_forupd: <... completed>
-value
+value
+-----
+    2
+(1 row)

-2
diff --git a/src/test/isolation/expected/nowait-2.out b/src/test/isolation/expected/nowait-2.out
index 6e24bbbf26..ba18fa77d4 100644
--- a/src/test/isolation/expected/nowait-2.out
+++ b/src/test/isolation/expected/nowait-2.out
@@ -2,13 +2,17 @@ Parsed test spec with 2 sessions

 starting permutation: s1a s2a s2b s1b s2c
 step s1a: SELECT * FROM foo FOR SHARE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s2a: SELECT * FROM foo FOR SHARE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s2b: SELECT * FROM foo FOR UPDATE NOWAIT;
 ERROR:  could not obtain lock on row in relation "foo"
 step s1b: COMMIT;
@@ -16,13 +20,17 @@ step s2c: COMMIT;

 starting permutation: s2a s1a s2b s1b s2c
 step s2a: SELECT * FROM foo FOR SHARE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s1a: SELECT * FROM foo FOR SHARE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s2b: SELECT * FROM foo FOR UPDATE NOWAIT;
 ERROR:  could not obtain lock on row in relation "foo"
 step s1b: COMMIT;
@@ -30,13 +38,17 @@ step s2c: COMMIT;

 starting permutation: s2a s2b s1a s1b s2c
 step s2a: SELECT * FROM foo FOR SHARE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s2b: SELECT * FROM foo FOR UPDATE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s1a: SELECT * FROM foo FOR SHARE NOWAIT;
 ERROR:  could not obtain lock on row in relation "foo"
 step s1b: COMMIT;
diff --git a/src/test/isolation/expected/nowait-3.out b/src/test/isolation/expected/nowait-3.out
index 844464654a..19a5b680bc 100644
--- a/src/test/isolation/expected/nowait-3.out
+++ b/src/test/isolation/expected/nowait-3.out
@@ -2,16 +2,20 @@ Parsed test spec with 3 sessions

 starting permutation: s1a s2a s3a s1b s2b s3b
 step s1a: SELECT * FROM foo FOR UPDATE;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s2a: SELECT * FROM foo FOR UPDATE; <waiting ...>
 step s3a: SELECT * FROM foo FOR UPDATE NOWAIT;
 ERROR:  could not obtain lock on row in relation "foo"
 step s1b: COMMIT;
 step s2a: <... completed>
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s2b: COMMIT;
 step s3b: COMMIT;
diff --git a/src/test/isolation/expected/nowait-4.out b/src/test/isolation/expected/nowait-4.out
index 26f59bef94..87558ad613 100644
--- a/src/test/isolation/expected/nowait-4.out
+++ b/src/test/isolation/expected/nowait-4.out
@@ -3,16 +3,20 @@ Parsed test spec with 2 sessions
 starting permutation: s2a s1a s2b s2c s2d s2e s1b s2f
 step s2a: SELECT pg_advisory_lock(0);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1a: SELECT * FROM foo WHERE pg_advisory_lock(0) IS NOT NULL FOR UPDATE NOWAIT; <waiting ...>
 step s2b: UPDATE foo SET data = data;
 step s2c: BEGIN;
 step s2d: UPDATE foo SET data = data;
 step s2e: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1a: <... completed>
 error in steps s2e s1a: ERROR:  could not obtain lock on row in relation "foo"
 step s1b: COMMIT;
diff --git a/src/test/isolation/expected/nowait-5.out b/src/test/isolation/expected/nowait-5.out
index c88aae5ef6..3849d7a8d2 100644
--- a/src/test/isolation/expected/nowait-5.out
+++ b/src/test/isolation/expected/nowait-5.out
@@ -8,8 +8,10 @@ step upd_getlock:
     SELECT pg_advisory_lock(0);

 pg_advisory_lock
+----------------
+
+(1 row)

-
 step sl1_exec:
     BEGIN ISOLATION LEVEL READ COMMITTED;
     EXECUTE sl1_run;
@@ -24,14 +26,18 @@ step lk1_doforshare:
     BEGIN ISOLATION LEVEL READ COMMITTED;
     SELECT id FROM test_nowait WHERE id % 2 = 0 FOR SHARE;

-id
+id
+--
+ 2
+(1 row)

-2
 step upd_releaselock:
     SELECT pg_advisory_unlock(0);

 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step sl1_exec: <... completed>
 error in steps upd_releaselock sl1_exec: ERROR:  could not obtain lock on row in relation "test_nowait"
diff --git a/src/test/isolation/expected/nowait.out b/src/test/isolation/expected/nowait.out
index a6343b4afa..ea1cdf012a 100644
--- a/src/test/isolation/expected/nowait.out
+++ b/src/test/isolation/expected/nowait.out
@@ -2,21 +2,27 @@ Parsed test spec with 2 sessions

 starting permutation: s1a s1b s2a s2b
 step s1a: SELECT * FROM foo FOR UPDATE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s1b: COMMIT;
 step s2a: SELECT * FROM foo FOR UPDATE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s2b: COMMIT;

 starting permutation: s1a s2a s1b s2b
 step s1a: SELECT * FROM foo FOR UPDATE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s2a: SELECT * FROM foo FOR UPDATE NOWAIT;
 ERROR:  could not obtain lock on row in relation "foo"
 step s1b: COMMIT;
@@ -24,9 +30,11 @@ step s2b: COMMIT;

 starting permutation: s1a s2a s2b s1b
 step s1a: SELECT * FROM foo FOR UPDATE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s2a: SELECT * FROM foo FOR UPDATE NOWAIT;
 ERROR:  could not obtain lock on row in relation "foo"
 step s2b: COMMIT;
@@ -34,9 +42,11 @@ step s1b: COMMIT;

 starting permutation: s2a s1a s1b s2b
 step s2a: SELECT * FROM foo FOR UPDATE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s1a: SELECT * FROM foo FOR UPDATE NOWAIT;
 ERROR:  could not obtain lock on row in relation "foo"
 step s1b: COMMIT;
@@ -44,9 +54,11 @@ step s2b: COMMIT;

 starting permutation: s2a s1a s2b s1b
 step s2a: SELECT * FROM foo FOR UPDATE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s1a: SELECT * FROM foo FOR UPDATE NOWAIT;
 ERROR:  could not obtain lock on row in relation "foo"
 step s2b: COMMIT;
@@ -54,12 +66,16 @@ step s1b: COMMIT;

 starting permutation: s2a s2b s1a s1b
 step s2a: SELECT * FROM foo FOR UPDATE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s2b: COMMIT;
 step s1a: SELECT * FROM foo FOR UPDATE NOWAIT;
-id             data
+id|data
+--+----
+ 1|x
+(1 row)

-1              x
 step s1b: COMMIT;
diff --git a/src/test/isolation/expected/partial-index.out b/src/test/isolation/expected/partial-index.out
index d1f00c9b3c..d6cae902a9 100644
--- a/src/test/isolation/expected/partial-index.out
+++ b/src/test/isolation/expected/partial-index.out
@@ -2,51 +2,57 @@ Parsed test spec with 2 sessions

 starting permutation: rxy1 wx1 c1 wy2 rxy2 c2
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step c1: COMMIT;
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+(9 rows)
+
 step c2: COMMIT;

 starting permutation: rxy1 wx1 wy2 c1 rxy2 c2
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step c1: COMMIT;
@@ -56,87 +62,97 @@ step c2: COMMIT;

 starting permutation: rxy1 wx1 wy2 rxy2 c1 c2
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step c1: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions

 starting permutation: rxy1 wx1 wy2 rxy2 c2 c1
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step c2: COMMIT;
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions

 starting permutation: rxy1 wy2 wx1 c1 rxy2 c2
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step c1: COMMIT;
@@ -146,101 +162,113 @@ step c2: COMMIT;

 starting permutation: rxy1 wy2 wx1 rxy2 c1 c2
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step c1: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions

 starting permutation: rxy1 wy2 wx1 rxy2 c2 c1
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step c2: COMMIT;
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions

 starting permutation: rxy1 wy2 rxy2 wx1 c1 c2
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step c1: COMMIT;
 step c2: COMMIT;
@@ -248,33 +276,37 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 wy2 rxy2 wx1 c2 c1
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step c2: COMMIT;
 step c1: COMMIT;
@@ -282,33 +314,37 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 wy2 rxy2 c2 wx1 c1
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step c2: COMMIT;
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -317,19 +353,21 @@ step c1: COMMIT;
 starting permutation: wy2 rxy1 wx1 c1 rxy2 c2
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step c1: COMMIT;
 step rxy2: select * from test_t where val2 = 1;
@@ -339,33 +377,37 @@ step c2: COMMIT;
 starting permutation: wy2 rxy1 wx1 rxy2 c1 c2
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step c1: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -373,33 +415,37 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: wy2 rxy1 wx1 rxy2 c2 c1
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step c2: COMMIT;
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -407,32 +453,36 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: wy2 rxy1 rxy2 wx1 c1 c2
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step c1: COMMIT;
 step c2: COMMIT;
@@ -441,32 +491,36 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: wy2 rxy1 rxy2 wx1 c2 c1
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step c2: COMMIT;
 step c1: COMMIT;
@@ -475,32 +529,36 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: wy2 rxy1 rxy2 c2 wx1 c1
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step c2: COMMIT;
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -509,32 +567,36 @@ step c1: COMMIT;
 starting permutation: wy2 rxy2 rxy1 wx1 c1 c2
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step c1: COMMIT;
 step c2: COMMIT;
@@ -543,32 +605,36 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: wy2 rxy2 rxy1 wx1 c2 c1
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step c2: COMMIT;
 step c1: COMMIT;
@@ -577,32 +643,36 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: wy2 rxy2 rxy1 c2 wx1 c1
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-9              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+ 9|a   |   1
+10|a   |   1
+(11 rows)
+
 step c2: COMMIT;
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -611,31 +681,35 @@ step c1: COMMIT;
 starting permutation: wy2 rxy2 c2 rxy1 wx1 c1
 step wy2: update test_t set val2 = 2 where val2 = 1 and id = 9;
 step rxy2: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step c2: COMMIT;
 step rxy1: select * from test_t where val2 = 1;
-id             val1           val2
-
-0              a              1
-1              a              1
-2              a              1
-3              a              1
-4              a              1
-5              a              1
-6              a              1
-7              a              1
-8              a              1
-10             a              1
+id|val1|val2
+--+----+----
+ 0|a   |   1
+ 1|a   |   1
+ 2|a   |   1
+ 3|a   |   1
+ 4|a   |   1
+ 5|a   |   1
+ 6|a   |   1
+ 7|a   |   1
+ 8|a   |   1
+10|a   |   1
+(10 rows)
+
 step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10;
 step c1: COMMIT;
diff --git a/src/test/isolation/expected/partition-concurrent-attach.out
b/src/test/isolation/expected/partition-concurrent-attach.out
index 17fac39989..55830bd873 100644
--- a/src/test/isolation/expected/partition-concurrent-attach.out
+++ b/src/test/isolation/expected/partition-concurrent-attach.out
@@ -10,11 +10,13 @@ step s2i: <... completed>
 error in steps s1c s2i: ERROR:  new row for relation "tpart_default" violates partition constraint
 step s2c: commit;
 step s2s: select tableoid::regclass, * from tpart;
-tableoid       i              j
+tableoid|  i|j
+--------+---+---
+tpart_2 |110|xxx
+tpart_2 |120|yyy
+tpart_2 |150|zzz
+(3 rows)

-tpart_2        110            xxx
-tpart_2        120            yyy
-tpart_2        150            zzz

 starting permutation: s1b s1a s2b s2i2 s1c s2c s2s
 step s1b: begin;
@@ -26,11 +28,13 @@ step s2i2: <... completed>
 error in steps s1c s2i2: ERROR:  new row for relation "tpart_default" violates partition constraint
 step s2c: commit;
 step s2s: select tableoid::regclass, * from tpart;
-tableoid       i              j
+tableoid|  i|j
+--------+---+---
+tpart_2 |110|xxx
+tpart_2 |120|yyy
+tpart_2 |150|zzz
+(3 rows)

-tpart_2        110            xxx
-tpart_2        120            yyy
-tpart_2        150            zzz

 starting permutation: s1b s2b s2i s1a s2c s1c s2s
 step s1b: begin;
@@ -42,8 +46,10 @@ step s1a: <... completed>
 error in steps s2c s1a: ERROR:  updated partition constraint for default partition "tpart_default_default" would be
violatedby some row 
 step s1c: commit;
 step s2s: select tableoid::regclass, * from tpart;
-tableoid       i              j
+tableoid             |  i|j
+---------------------+---+---
+tpart_default_default|110|xxx
+tpart_default_default|120|yyy
+tpart_default_default|150|zzz
+(3 rows)

-tpart_default_default110            xxx
-tpart_default_default120            yyy
-tpart_default_default150            zzz
diff --git a/src/test/isolation/expected/partition-key-update-2.out
b/src/test/isolation/expected/partition-key-update-2.out
index 363de0d69c..f054de5ed9 100644
--- a/src/test/isolation/expected/partition-key-update-2.out
+++ b/src/test/isolation/expected/partition-key-update-2.out
@@ -9,10 +9,12 @@ step s2donothing: <... completed>
 step s3donothing: <... completed>
 step s2c: COMMIT;
 step s3select: SELECT * FROM foo ORDER BY a;
-a              b
+a|b
+-+-----------------------------------
+1|session-2 donothing
+2|initial tuple -> moved by session-1
+(2 rows)

-1              session-2 donothing
-2              initial tuple -> moved by session-1
 step s3c: COMMIT;

 starting permutation: s2donothing s1u s3donothing s1c s2c s3select s3c
@@ -23,7 +25,9 @@ step s1c: COMMIT;
 step s3donothing: <... completed>
 step s2c: COMMIT;
 step s3select: SELECT * FROM foo ORDER BY a;
-a              b
+a|b
+-+-----------------------------------
+2|initial tuple -> moved by session-1
+(1 row)

-2              initial tuple -> moved by session-1
 step s3c: COMMIT;
diff --git a/src/test/isolation/expected/partition-key-update-3.out
b/src/test/isolation/expected/partition-key-update-3.out
index 42dfe64ad3..ef696e52cb 100644
--- a/src/test/isolation/expected/partition-key-update-3.out
+++ b/src/test/isolation/expected/partition-key-update-3.out
@@ -11,10 +11,12 @@ step s2c: COMMIT;
 step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session-3 donothing2') ON CONFLICT DO
NOTHING;
 step s3c: COMMIT;
 step s2select: SELECT * FROM foo ORDER BY a;
-a              b
+a|b
+-+-----------------------------------
+1|session-2 donothing
+2|initial tuple -> moved by session-1
+(2 rows)

-1              session-2 donothing
-2              initial tuple -> moved by session-1

 starting permutation: s2beginrr s3beginrr s1u s3donothing s1c s3c s2donothing s2c s2select
 step s2beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ;
@@ -28,10 +30,12 @@ step s3c: COMMIT;
 step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING;
 step s2c: COMMIT;
 step s2select: SELECT * FROM foo ORDER BY a;
-a              b
+a|b
+-+-----------------------------------
+1|session-2 donothing
+2|initial tuple -> moved by session-1
+(2 rows)

-1              session-2 donothing
-2              initial tuple -> moved by session-1

 starting permutation: s2beginrr s3beginrr s1u s2donothing s3donothing s1c s2c s3c s2select
 step s2beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ;
@@ -46,10 +50,12 @@ error in steps s1c s2donothing s3donothing: ERROR:  could not serialize access d
 step s2c: COMMIT;
 step s3c: COMMIT;
 step s2select: SELECT * FROM foo ORDER BY a;
-a              b
+a|b
+-+-----------------------------------
+1|session-2 donothing
+2|initial tuple -> moved by session-1
+(2 rows)

-1              session-2 donothing
-2              initial tuple -> moved by session-1

 starting permutation: s2beginrr s3beginrr s1u s3donothing s2donothing s1c s3c s2c s2select
 step s2beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ;
@@ -64,10 +70,12 @@ error in steps s1c s3donothing s2donothing: ERROR:  could not serialize access d
 step s3c: COMMIT;
 step s2c: COMMIT;
 step s2select: SELECT * FROM foo ORDER BY a;
-a              b
+a|b
+-+-----------------------------------
+1|session-2 donothing
+2|initial tuple -> moved by session-1
+(2 rows)

-1              session-2 donothing
-2              initial tuple -> moved by session-1

 starting permutation: s2begins s3begins s1u s2donothing s1c s2c s3donothing s3c s2select
 step s2begins: BEGIN ISOLATION LEVEL SERIALIZABLE;
@@ -80,10 +88,12 @@ step s2c: COMMIT;
 step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session-3 donothing2') ON CONFLICT DO
NOTHING;
 step s3c: COMMIT;
 step s2select: SELECT * FROM foo ORDER BY a;
-a              b
+a|b
+-+-----------------------------------
+1|session-2 donothing
+2|initial tuple -> moved by session-1
+(2 rows)

-1              session-2 donothing
-2              initial tuple -> moved by session-1

 starting permutation: s2begins s3begins s1u s3donothing s1c s3c s2donothing s2c s2select
 step s2begins: BEGIN ISOLATION LEVEL SERIALIZABLE;
@@ -97,10 +107,12 @@ step s3c: COMMIT;
 step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING;
 step s2c: COMMIT;
 step s2select: SELECT * FROM foo ORDER BY a;
-a              b
+a|b
+-+-----------------------------------
+1|session-2 donothing
+2|initial tuple -> moved by session-1
+(2 rows)

-1              session-2 donothing
-2              initial tuple -> moved by session-1

 starting permutation: s2begins s3begins s1u s2donothing s3donothing s1c s2c s3c s2select
 step s2begins: BEGIN ISOLATION LEVEL SERIALIZABLE;
@@ -115,10 +127,12 @@ error in steps s1c s2donothing s3donothing: ERROR:  could not serialize access d
 step s2c: COMMIT;
 step s3c: COMMIT;
 step s2select: SELECT * FROM foo ORDER BY a;
-a              b
+a|b
+-+-----------------------------------
+1|session-2 donothing
+2|initial tuple -> moved by session-1
+(2 rows)

-1              session-2 donothing
-2              initial tuple -> moved by session-1

 starting permutation: s2begins s3begins s1u s3donothing s2donothing s1c s3c s2c s2select
 step s2begins: BEGIN ISOLATION LEVEL SERIALIZABLE;
@@ -133,7 +147,9 @@ error in steps s1c s3donothing s2donothing: ERROR:  could not serialize access d
 step s3c: COMMIT;
 step s2c: COMMIT;
 step s2select: SELECT * FROM foo ORDER BY a;
-a              b
+a|b
+-+-----------------------------------
+1|session-2 donothing
+2|initial tuple -> moved by session-1
+(2 rows)

-1              session-2 donothing
-2              initial tuple -> moved by session-1
diff --git a/src/test/isolation/expected/partition-key-update-4.out
b/src/test/isolation/expected/partition-key-update-4.out
index 774a7faf6c..91fa0417fd 100644
--- a/src/test/isolation/expected/partition-key-update-4.out
+++ b/src/test/isolation/expected/partition-key-update-4.out
@@ -9,9 +9,11 @@ step s2c: COMMIT;
 step s1u: <... completed>
 step s1c: COMMIT;
 step s1s: SELECT tableoid::regclass, * FROM foo ORDER BY a;
-tableoid       a              b
+tableoid|a|b
+--------+-+-------------------
+foo2    |2|ABC update2 update1
+(1 row)

-foo2           2              ABC update2 update1

 starting permutation: s1b s2b s2ut1 s1ut s2c s1c s1st s1stl
 step s1b: BEGIN ISOLATION LEVEL READ COMMITTED;
@@ -22,13 +24,17 @@ step s2c: COMMIT;
 step s1ut: <... completed>
 step s1c: COMMIT;
 step s1st: SELECT tableoid::regclass, * FROM footrg ORDER BY a;
-tableoid       a              b
+tableoid|a|b
+--------+-+-------------------
+footrg2 |2|ABC update2 update1
+(1 row)

-footrg2        2              ABC update2 update1
 step s1stl: SELECT * FROM triglog ORDER BY a;
-a              b
+a|b
+-+-------------------
+1|ABC update2 trigger
+(1 row)

-1              ABC update2 trigger

 starting permutation: s1b s2b s2u2 s1u s2c s1c s1s
 step s1b: BEGIN ISOLATION LEVEL READ COMMITTED;
@@ -39,9 +45,11 @@ step s2c: COMMIT;
 step s1u: <... completed>
 step s1c: COMMIT;
 step s1s: SELECT tableoid::regclass, * FROM foo ORDER BY a;
-tableoid       a              b
+tableoid|a|b
+--------+-+---
+foo1    |1|EFG
+(1 row)

-foo1           1              EFG

 starting permutation: s1b s2b s2ut2 s1ut s2c s1c s1st s1stl
 step s1b: BEGIN ISOLATION LEVEL READ COMMITTED;
@@ -52,9 +60,13 @@ step s2c: COMMIT;
 step s1ut: <... completed>
 step s1c: COMMIT;
 step s1st: SELECT tableoid::regclass, * FROM footrg ORDER BY a;
-tableoid       a              b
+tableoid|a|b
+--------+-+---
+footrg1 |1|EFG
+(1 row)

-footrg1        1              EFG
 step s1stl: SELECT * FROM triglog ORDER BY a;
-a              b
+a|b
+-+-
+(0 rows)

diff --git a/src/test/isolation/expected/plpgsql-toast.out b/src/test/isolation/expected/plpgsql-toast.out
index 213bddad4f..0fee7953ac 100644
--- a/src/test/isolation/expected/plpgsql-toast.out
+++ b/src/test/isolation/expected/plpgsql-toast.out
@@ -2,17 +2,23 @@ Parsed test spec with 2 sessions

 starting permutation: lock assign1 vacuum unlock
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 step lock:
     SELECT pg_advisory_lock(1);

 pg_advisory_lock
+----------------
+
+(1 row)

-
 step assign1:
 do $$
   declare
@@ -33,24 +39,32 @@ step unlock:
     SELECT pg_advisory_unlock(1);

 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  length(x) = 6000
 step assign1: <... completed>

 starting permutation: lock assign2 vacuum unlock
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 step lock:
     SELECT pg_advisory_lock(1);

 pg_advisory_lock
+----------------
+
+(1 row)

-
 step assign2:
 do $$
   declare
@@ -71,24 +85,32 @@ step unlock:
     SELECT pg_advisory_unlock(1);

 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  length(x) = 6000
 step assign2: <... completed>

 starting permutation: lock assign3 vacuum unlock
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 step lock:
     SELECT pg_advisory_lock(1);

 pg_advisory_lock
+----------------
+
+(1 row)

-
 step assign3:
 do $$
   declare
@@ -110,24 +132,32 @@ step unlock:
     SELECT pg_advisory_unlock(1);

 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  length(r) = 6004
 step assign3: <... completed>

 starting permutation: lock assign4 vacuum unlock
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 step lock:
     SELECT pg_advisory_lock(1);

 pg_advisory_lock
+----------------
+
+(1 row)

-
 step assign4:
 do $$
   declare
@@ -148,24 +178,32 @@ step unlock:
     SELECT pg_advisory_unlock(1);

 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  length(r) = 6004
 step assign4: <... completed>

 starting permutation: lock assign5 vacuum unlock
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 step lock:
     SELECT pg_advisory_lock(1);

 pg_advisory_lock
+----------------
+
+(1 row)

-
 step assign5:
 do $$
   declare
@@ -188,24 +226,32 @@ step unlock:
     SELECT pg_advisory_unlock(1);

 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  length(r) = 6002
 step assign5: <... completed>

 starting permutation: lock assign6 vacuum unlock
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 step lock:
     SELECT pg_advisory_lock(1);

 pg_advisory_lock
+----------------
+
+(1 row)

-
 step assign6:
 do $$
   declare
@@ -229,8 +275,10 @@ step unlock:
     SELECT pg_advisory_unlock(1);

 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 s1: NOTICE:  length(r) = 6002
 s1: NOTICE:  length(r) = 9002
 s1: NOTICE:  length(r) = 12002
@@ -238,11 +286,15 @@ step assign6: <... completed>

 starting permutation: fetch-after-commit
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 pg_advisory_unlock_all
+----------------------
+
+(1 row)

-
 s1: NOTICE:  length(t) = 6000
 s1: NOTICE:  length(t) = 9000
 s1: NOTICE:  length(t) = 12000
diff --git a/src/test/isolation/expected/predicate-gin.out b/src/test/isolation/expected/predicate-gin.out
index 77eb5aaff7..c032804804 100644
--- a/src/test/isolation/expected/predicate-gin.out
+++ b/src/test/isolation/expected/predicate-gin.out
@@ -2,13 +2,17 @@ Parsed test spec with 3 sessions

 starting permutation: ra1 ro2 wo1 c1 wa2 c2
 step ra1: select * from gin_tbl where p @> array[1] limit 1;
-p
+p
+---
+{1}
+(1 row)

-{1}
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wa2: insert into gin_tbl values (array[1]);
@@ -17,13 +21,17 @@ step c2: commit;

 starting permutation: ro2 ra1 wo1 c1 wa2 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step ra1: select * from gin_tbl where p @> array[1] limit 1;
-p
+p
+---
+{1}
+(1 row)

-{1}
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wa2: insert into gin_tbl values (array[1]);
@@ -32,13 +40,17 @@ step c2: commit;

 starting permutation: ro2 ra1 wo1 wa2 c1 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step ra1: select * from gin_tbl where p @> array[1] limit 1;
-p
+p
+---
+{1}
+(1 row)

-{1}
 step wo1: insert into other_tbl values (1);
 step wa2: insert into gin_tbl values (array[1]);
 step c1: commit;
@@ -47,13 +59,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: ra1 ro2 wa2 wo1 c1 c2
 step ra1: select * from gin_tbl where p @> array[1] limit 1;
-p
+p
+---
+{1}
+(1 row)

-{1}
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wa2: insert into gin_tbl values (array[1]);
 step wo1: insert into other_tbl values (1);
 step c1: commit;
@@ -62,13 +78,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rb1 ro2 wo1 c1 wb2 c2
 step rb1: select count(*) from gin_tbl where p @> array[2];
-count
+count
+-----
+    1
+(1 row)

-1
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wb2: insert into gin_tbl values (array[2]);
@@ -77,13 +97,17 @@ step c2: commit;

 starting permutation: ro2 rb1 wo1 c1 wb2 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step rb1: select count(*) from gin_tbl where p @> array[2];
-count
+count
+-----
+    1
+(1 row)

-1
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wb2: insert into gin_tbl values (array[2]);
@@ -92,13 +116,17 @@ step c2: commit;

 starting permutation: ro2 rb1 wo1 wb2 c1 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step rb1: select count(*) from gin_tbl where p @> array[2];
-count
+count
+-----
+    1
+(1 row)

-1
 step wo1: insert into other_tbl values (1);
 step wb2: insert into gin_tbl values (array[2]);
 step c1: commit;
@@ -107,13 +135,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rb1 ro2 wb2 wo1 c1 c2
 step rb1: select count(*) from gin_tbl where p @> array[2];
-count
+count
+-----
+    1
+(1 row)

-1
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wb2: insert into gin_tbl values (array[2]);
 step wo1: insert into other_tbl values (1);
 step c1: commit;
@@ -122,13 +154,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rc1 ro2 wo1 c1 wc2 c2
 step rc1: select count(*) from gin_tbl where p @> array[800];
-count
+count
+-----
+    1
+(1 row)

-1
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wc2: insert into gin_tbl values (array[800]);
@@ -137,13 +173,17 @@ step c2: commit;

 starting permutation: ro2 rc1 wo1 c1 wc2 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step rc1: select count(*) from gin_tbl where p @> array[800];
-count
+count
+-----
+    1
+(1 row)

-1
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wc2: insert into gin_tbl values (array[800]);
@@ -152,13 +192,17 @@ step c2: commit;

 starting permutation: ro2 rc1 wo1 wc2 c1 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step rc1: select count(*) from gin_tbl where p @> array[800];
-count
+count
+-----
+    1
+(1 row)

-1
 step wo1: insert into other_tbl values (1);
 step wc2: insert into gin_tbl values (array[800]);
 step c1: commit;
@@ -167,13 +211,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rc1 ro2 wc2 wo1 c1 c2
 step rc1: select count(*) from gin_tbl where p @> array[800];
-count
+count
+-----
+    1
+(1 row)

-1
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wc2: insert into gin_tbl values (array[800]);
 step wo1: insert into other_tbl values (1);
 step c1: commit;
@@ -182,13 +230,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: ra1 ro2 wo1 c1 wb2 c2
 step ra1: select * from gin_tbl where p @> array[1] limit 1;
-p
+p
+---
+{1}
+(1 row)

-{1}
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wb2: insert into gin_tbl values (array[2]);
@@ -196,13 +248,17 @@ step c2: commit;

 starting permutation: ro2 ra1 wo1 c1 wc2 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step ra1: select * from gin_tbl where p @> array[1] limit 1;
-p
+p
+---
+{1}
+(1 row)

-{1}
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wc2: insert into gin_tbl values (array[800]);
@@ -210,13 +266,17 @@ step c2: commit;

 starting permutation: ro2 rb1 wo1 wa2 c1 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step rb1: select count(*) from gin_tbl where p @> array[2];
-count
+count
+-----
+    1
+(1 row)

-1
 step wo1: insert into other_tbl values (1);
 step wa2: insert into gin_tbl values (array[1]);
 step c1: commit;
@@ -224,13 +284,17 @@ step c2: commit;

 starting permutation: rc1 ro2 wa2 wo1 c1 c2
 step rc1: select count(*) from gin_tbl where p @> array[800];
-count
+count
+-----
+    1
+(1 row)

-1
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wa2: insert into gin_tbl values (array[1]);
 step wo1: insert into other_tbl values (1);
 step c1: commit;
@@ -238,13 +302,17 @@ step c2: commit;

 starting permutation: rb1 ro2 wo1 c1 wa2 c2
 step rb1: select count(*) from gin_tbl where p @> array[2];
-count
+count
+-----
+    1
+(1 row)

-1
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wa2: insert into gin_tbl values (array[1]);
@@ -252,13 +320,17 @@ step c2: commit;

 starting permutation: ro2 rb1 wo1 c1 wc2 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step rb1: select count(*) from gin_tbl where p @> array[2];
-count
+count
+-----
+    1
+(1 row)

-1
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wc2: insert into gin_tbl values (array[800]);
@@ -266,13 +338,17 @@ step c2: commit;

 starting permutation: ro2 ra1 wo1 wb2 c1 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step ra1: select * from gin_tbl where p @> array[1] limit 1;
-p
+p
+---
+{1}
+(1 row)

-{1}
 step wo1: insert into other_tbl values (1);
 step wb2: insert into gin_tbl values (array[2]);
 step c1: commit;
@@ -280,13 +356,17 @@ step c2: commit;

 starting permutation: rc1 ro2 wb2 wo1 c1 c2
 step rc1: select count(*) from gin_tbl where p @> array[800];
-count
+count
+-----
+    1
+(1 row)

-1
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wb2: insert into gin_tbl values (array[2]);
 step wo1: insert into other_tbl values (1);
 step c1: commit;
@@ -294,13 +374,17 @@ step c2: commit;

 starting permutation: rc1 ro2 wo1 c1 wa2 c2
 step rc1: select count(*) from gin_tbl where p @> array[800];
-count
+count
+-----
+    1
+(1 row)

-1
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wa2: insert into gin_tbl values (array[1]);
@@ -308,13 +392,17 @@ step c2: commit;

 starting permutation: ro2 rc1 wo1 c1 wb2 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step rc1: select count(*) from gin_tbl where p @> array[800];
-count
+count
+-----
+    1
+(1 row)

-1
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wb2: insert into gin_tbl values (array[2]);
@@ -322,13 +410,17 @@ step c2: commit;

 starting permutation: ro2 ra1 wo1 wc2 c1 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step ra1: select * from gin_tbl where p @> array[1] limit 1;
-p
+p
+---
+{1}
+(1 row)

-{1}
 step wo1: insert into other_tbl values (1);
 step wc2: insert into gin_tbl values (array[800]);
 step c1: commit;
@@ -336,13 +428,17 @@ step c2: commit;

 starting permutation: rb1 ro2 wc2 wo1 c1 c2
 step rb1: select count(*) from gin_tbl where p @> array[2];
-count
+count
+-----
+    1
+(1 row)

-1
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wc2: insert into gin_tbl values (array[800]);
 step wo1: insert into other_tbl values (1);
 step c1: commit;
@@ -351,13 +447,17 @@ step c2: commit;
 starting permutation: fu ra1 ro2 wo1 c1 wa2 c2
 step fu: alter index ginidx set (fastupdate = on);
 step ra1: select * from gin_tbl where p @> array[1] limit 1;
-p
+p
+---
+{1}
+(1 row)

-{1}
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wa2: insert into gin_tbl values (array[1]);
@@ -367,13 +467,17 @@ step c2: commit;
 starting permutation: fu ra1 ro2 wo1 c1 wb2 c2
 step fu: alter index ginidx set (fastupdate = on);
 step ra1: select * from gin_tbl where p @> array[1] limit 1;
-p
+p
+---
+{1}
+(1 row)

-{1}
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wb2: insert into gin_tbl values (array[2]);
@@ -382,13 +486,17 @@ step c2: commit;

 starting permutation: ra1 ro2 wo1 c1 fu wa2 c2
 step ra1: select * from gin_tbl where p @> array[1] limit 1;
-p
+p
+---
+{1}
+(1 row)

-{1}
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step fu: alter index ginidx set (fastupdate = on);
@@ -398,13 +506,17 @@ step c2: commit;

 starting permutation: rd1 ro2 wo1 c1 wd2 c2
 step rd1: select count(*) from gin_tbl where p @> array[2000];
-count
+count
+-----
+    0
+(1 row)

-0
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wd2: insert into gin_tbl values (array[2000]);
@@ -413,13 +525,17 @@ step c2: commit;

 starting permutation: ro2 rd1 wo1 c1 wd2 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step rd1: select count(*) from gin_tbl where p @> array[2000];
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step c1: commit;
 step wd2: insert into gin_tbl values (array[2000]);
@@ -428,13 +544,17 @@ step c2: commit;

 starting permutation: ro2 rd1 wo1 wd2 c1 c2
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step rd1: select count(*) from gin_tbl where p @> array[2000];
-count
+count
+-----
+    0
+(1 row)

-0
 step wo1: insert into other_tbl values (1);
 step wd2: insert into gin_tbl values (array[2000]);
 step c1: commit;
@@ -443,13 +563,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rd1 ro2 wd2 wo1 c1 c2
 step rd1: select count(*) from gin_tbl where p @> array[2000];
-count
+count
+-----
+    0
+(1 row)

-0
 step ro2: select count(*) from other_tbl;
-count
+count
+-----
+    0
+(1 row)

-0
 step wd2: insert into gin_tbl values (array[2000]);
 step wo1: insert into other_tbl values (1);
 step c1: commit;
diff --git a/src/test/isolation/expected/predicate-gist.out b/src/test/isolation/expected/predicate-gist.out
index 77a27958af..ef5d38630d 100644
--- a/src/test/isolation/expected/predicate-gist.out
+++ b/src/test/isolation/expected/predicate-gist.out
@@ -2,79 +2,99 @@ Parsed test spec with 2 sessions

 starting permutation: rxy1 wx1 c1 rxy2 wy2 c2
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step c1: commit;
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2233750
+(1 row)

-2233750
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step c2: commit;

 starting permutation: rxy2 wy2 c2 rxy1 wx1 c1
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step c2: commit;
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+316250
+(1 row)

-316250
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step c1: commit;

 starting permutation: rxy3 wx3 c1 rxy4 wy4 c2
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step c1: commit;
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step c2: commit;

 starting permutation: rxy4 wy4 c2 rxy3 wx3 c1
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step c2: commit;
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step c1: commit;

 starting permutation: rxy1 wx1 rxy2 c1 wy2 c2
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step c1: commit;
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
@@ -83,15 +103,19 @@ step c2: commit;

 starting permutation: rxy1 wx1 rxy2 wy2 c1 c2
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step c1: commit;
@@ -100,15 +124,19 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 wx1 rxy2 wy2 c2 c1
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step c2: commit;
@@ -117,13 +145,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 rxy2 wx1 c1 wy2 c2
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step c1: commit;
@@ -134,13 +166,17 @@ step c2: commit;

 starting permutation: rxy1 rxy2 wx1 wy2 c1 c2
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step wy2: insert into gist_point_tbl (id, p)
@@ -151,13 +187,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 rxy2 wx1 wy2 c2 c1
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step wy2: insert into gist_point_tbl (id, p)
@@ -168,13 +208,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 rxy2 wy2 wx1 c1 c2
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step wx1: insert into gist_point_tbl (id, p)
@@ -185,13 +229,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 rxy2 wy2 wx1 c2 c1
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step wx1: insert into gist_point_tbl (id, p)
@@ -202,13 +250,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 rxy2 wy2 c2 wx1 c1
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step c2: commit;
@@ -219,13 +271,17 @@ step c1: commit;

 starting permutation: rxy2 rxy1 wx1 c1 wy2 c2
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step c1: commit;
@@ -236,13 +292,17 @@ step c2: commit;

 starting permutation: rxy2 rxy1 wx1 wy2 c1 c2
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step wy2: insert into gist_point_tbl (id, p)
@@ -253,13 +313,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 rxy1 wx1 wy2 c2 c1
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step wy2: insert into gist_point_tbl (id, p)
@@ -270,13 +334,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 rxy1 wy2 wx1 c1 c2
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step wx1: insert into gist_point_tbl (id, p)
@@ -287,13 +355,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 rxy1 wy2 wx1 c2 c1
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step wx1: insert into gist_point_tbl (id, p)
@@ -304,13 +376,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 rxy1 wy2 c2 wx1 c1
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step c2: commit;
@@ -321,15 +397,19 @@ step c1: commit;

 starting permutation: rxy2 wy2 rxy1 wx1 c1 c2
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step c1: commit;
@@ -338,15 +418,19 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 wy2 rxy1 wx1 c2 c1
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
 step c2: commit;
@@ -355,15 +439,19 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 wy2 rxy1 c2 wx1 c1
 step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500);
-sum
+    sum
+-------
+2188750
+(1 row)

-2188750
 step wy2: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(1, 5) g;
 step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500);
-sum
+   sum
+------
+311250
+(1 row)

-311250
 step c2: commit;
 step wx1: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(15, 20) g;
@@ -372,15 +460,19 @@ step c1: commit;

 starting permutation: rxy3 wx3 rxy4 c1 wy4 c2
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step c1: commit;
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
@@ -388,15 +480,19 @@ step c2: commit;

 starting permutation: rxy3 wx3 rxy4 wy4 c1 c2
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step c1: commit;
@@ -404,15 +500,19 @@ step c2: commit;

 starting permutation: rxy3 wx3 rxy4 wy4 c2 c1
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step c2: commit;
@@ -420,13 +520,17 @@ step c1: commit;

 starting permutation: rxy3 rxy4 wx3 c1 wy4 c2
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step c1: commit;
@@ -436,13 +540,17 @@ step c2: commit;

 starting permutation: rxy3 rxy4 wx3 wy4 c1 c2
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step wy4: insert into gist_point_tbl (id, p)
@@ -452,13 +560,17 @@ step c2: commit;

 starting permutation: rxy3 rxy4 wx3 wy4 c2 c1
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step wy4: insert into gist_point_tbl (id, p)
@@ -468,13 +580,17 @@ step c1: commit;

 starting permutation: rxy3 rxy4 wy4 wx3 c1 c2
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step wx3: insert into gist_point_tbl (id, p)
@@ -484,13 +600,17 @@ step c2: commit;

 starting permutation: rxy3 rxy4 wy4 wx3 c2 c1
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step wx3: insert into gist_point_tbl (id, p)
@@ -500,13 +620,17 @@ step c1: commit;

 starting permutation: rxy3 rxy4 wy4 c2 wx3 c1
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step c2: commit;
@@ -516,13 +640,17 @@ step c1: commit;

 starting permutation: rxy4 rxy3 wx3 c1 wy4 c2
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step c1: commit;
@@ -532,13 +660,17 @@ step c2: commit;

 starting permutation: rxy4 rxy3 wx3 wy4 c1 c2
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step wy4: insert into gist_point_tbl (id, p)
@@ -548,13 +680,17 @@ step c2: commit;

 starting permutation: rxy4 rxy3 wx3 wy4 c2 c1
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step wy4: insert into gist_point_tbl (id, p)
@@ -564,13 +700,17 @@ step c1: commit;

 starting permutation: rxy4 rxy3 wy4 wx3 c1 c2
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step wx3: insert into gist_point_tbl (id, p)
@@ -580,13 +720,17 @@ step c2: commit;

 starting permutation: rxy4 rxy3 wy4 wx3 c2 c1
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step wx3: insert into gist_point_tbl (id, p)
@@ -596,13 +740,17 @@ step c1: commit;

 starting permutation: rxy4 rxy3 wy4 c2 wx3 c1
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step c2: commit;
@@ -612,15 +760,19 @@ step c1: commit;

 starting permutation: rxy4 wy4 rxy3 wx3 c1 c2
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step c1: commit;
@@ -628,15 +780,19 @@ step c2: commit;

 starting permutation: rxy4 wy4 rxy3 wx3 c2 c1
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
 step c2: commit;
@@ -644,15 +800,19 @@ step c1: commit;

 starting permutation: rxy4 wy4 rxy3 c2 wx3 c1
 step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000);
-sum
+  sum
+-----
+49500
+(1 row)

-49500
 step wy4: insert into gist_point_tbl (id, p)
               select g, point(g*50, g*50) from generate_series(1, 20) g;
 step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000);
-sum
+    sum
+-------
+3202000
+(1 row)

-3202000
 step c2: commit;
 step wx3: insert into gist_point_tbl (id, p)
               select g, point(g*500, g*500) from generate_series(12, 18) g;
diff --git a/src/test/isolation/expected/predicate-hash.out b/src/test/isolation/expected/predicate-hash.out
index 53e500fd26..2009252dca 100644
--- a/src/test/isolation/expected/predicate-hash.out
+++ b/src/test/isolation/expected/predicate-hash.out
@@ -2,79 +2,99 @@ Parsed test spec with 2 sessions

 starting permutation: rxy1 wx1 c1 rxy2 wy2 c2
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step c1: commit;
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+600
+(1 row)

-600
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step c2: commit;

 starting permutation: rxy2 wy2 c2 rxy1 wx1 c1
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step c2: commit;
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+400
+(1 row)

-400
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step c1: commit;

 starting permutation: rxy3 wx3 c1 rxy4 wy4 c2
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step c1: commit;
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step c2: commit;

 starting permutation: rxy4 wy4 c2 rxy3 wx3 c1
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step c2: commit;
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step c1: commit;

 starting permutation: rxy1 wx1 rxy2 c1 wy2 c2
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step c1: commit;
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
@@ -83,15 +103,19 @@ step c2: commit;

 starting permutation: rxy1 wx1 rxy2 wy2 c1 c2
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step c1: commit;
@@ -100,15 +124,19 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 wx1 rxy2 wy2 c2 c1
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step c2: commit;
@@ -117,13 +145,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 rxy2 wx1 c1 wy2 c2
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step c1: commit;
@@ -134,13 +166,17 @@ step c2: commit;

 starting permutation: rxy1 rxy2 wx1 wy2 c1 c2
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step wy2: insert into hash_tbl (id, p)
@@ -151,13 +187,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 rxy2 wx1 wy2 c2 c1
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step wy2: insert into hash_tbl (id, p)
@@ -168,13 +208,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 rxy2 wy2 wx1 c1 c2
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step wx1: insert into hash_tbl (id, p)
@@ -185,13 +229,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 rxy2 wy2 wx1 c2 c1
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step wx1: insert into hash_tbl (id, p)
@@ -202,13 +250,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy1 rxy2 wy2 c2 wx1 c1
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step c2: commit;
@@ -219,13 +271,17 @@ step c1: commit;

 starting permutation: rxy2 rxy1 wx1 c1 wy2 c2
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step c1: commit;
@@ -236,13 +292,17 @@ step c2: commit;

 starting permutation: rxy2 rxy1 wx1 wy2 c1 c2
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step wy2: insert into hash_tbl (id, p)
@@ -253,13 +313,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 rxy1 wx1 wy2 c2 c1
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step wy2: insert into hash_tbl (id, p)
@@ -270,13 +334,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 rxy1 wy2 wx1 c1 c2
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step wx1: insert into hash_tbl (id, p)
@@ -287,13 +355,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 rxy1 wy2 wx1 c2 c1
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step wx1: insert into hash_tbl (id, p)
@@ -304,13 +376,17 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 rxy1 wy2 c2 wx1 c1
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step c2: commit;
@@ -321,15 +397,19 @@ step c1: commit;

 starting permutation: rxy2 wy2 rxy1 wx1 c1 c2
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step c1: commit;
@@ -338,15 +418,19 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 wy2 rxy1 wx1 c2 c1
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
 step c2: commit;
@@ -355,15 +439,19 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rxy2 wy2 rxy1 c2 wx1 c1
 step rxy2: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy2: insert into hash_tbl (id, p)
               select g, 20 from generate_series(51, 60) g;
 step rxy1: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step c2: commit;
 step wx1: insert into hash_tbl (id, p)
               select g, 30 from generate_series(41, 50) g;
@@ -372,15 +460,19 @@ step c1: commit;

 starting permutation: rxy3 wx3 rxy4 c1 wy4 c2
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step c1: commit;
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
@@ -388,15 +480,19 @@ step c2: commit;

 starting permutation: rxy3 wx3 rxy4 wy4 c1 c2
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step c1: commit;
@@ -404,15 +500,19 @@ step c2: commit;

 starting permutation: rxy3 wx3 rxy4 wy4 c2 c1
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step c2: commit;
@@ -420,13 +520,17 @@ step c1: commit;

 starting permutation: rxy3 rxy4 wx3 c1 wy4 c2
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step c1: commit;
@@ -436,13 +540,17 @@ step c2: commit;

 starting permutation: rxy3 rxy4 wx3 wy4 c1 c2
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step wy4: insert into hash_tbl (id, p)
@@ -452,13 +560,17 @@ step c2: commit;

 starting permutation: rxy3 rxy4 wx3 wy4 c2 c1
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step wy4: insert into hash_tbl (id, p)
@@ -468,13 +580,17 @@ step c1: commit;

 starting permutation: rxy3 rxy4 wy4 wx3 c1 c2
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step wx3: insert into hash_tbl (id, p)
@@ -484,13 +600,17 @@ step c2: commit;

 starting permutation: rxy3 rxy4 wy4 wx3 c2 c1
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step wx3: insert into hash_tbl (id, p)
@@ -500,13 +620,17 @@ step c1: commit;

 starting permutation: rxy3 rxy4 wy4 c2 wx3 c1
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step c2: commit;
@@ -516,13 +640,17 @@ step c1: commit;

 starting permutation: rxy4 rxy3 wx3 c1 wy4 c2
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step c1: commit;
@@ -532,13 +660,17 @@ step c2: commit;

 starting permutation: rxy4 rxy3 wx3 wy4 c1 c2
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step wy4: insert into hash_tbl (id, p)
@@ -548,13 +680,17 @@ step c2: commit;

 starting permutation: rxy4 rxy3 wx3 wy4 c2 c1
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step wy4: insert into hash_tbl (id, p)
@@ -564,13 +700,17 @@ step c1: commit;

 starting permutation: rxy4 rxy3 wy4 wx3 c1 c2
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step wx3: insert into hash_tbl (id, p)
@@ -580,13 +720,17 @@ step c2: commit;

 starting permutation: rxy4 rxy3 wy4 wx3 c2 c1
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step wx3: insert into hash_tbl (id, p)
@@ -596,13 +740,17 @@ step c1: commit;

 starting permutation: rxy4 rxy3 wy4 c2 wx3 c1
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step c2: commit;
@@ -612,15 +760,19 @@ step c1: commit;

 starting permutation: rxy4 wy4 rxy3 wx3 c1 c2
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step c1: commit;
@@ -628,15 +780,19 @@ step c2: commit;

 starting permutation: rxy4 wy4 rxy3 wx3 c2 c1
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
 step c2: commit;
@@ -644,15 +800,19 @@ step c1: commit;

 starting permutation: rxy4 wy4 rxy3 c2 wx3 c1
 step rxy4: select sum(p) from hash_tbl where p=30;
-sum
+sum
+---
+300
+(1 row)

-300
 step wy4: insert into hash_tbl (id, p)
               select g, 60 from generate_series(51, 60) g;
 step rxy3: select sum(p) from hash_tbl where p=20;
-sum
+sum
+---
+200
+(1 row)

-200
 step c2: commit;
 step wx3: insert into hash_tbl (id, p)
               select g, 50 from generate_series(41, 50) g;
diff --git a/src/test/isolation/expected/predicate-lock-hot-tuple.out
b/src/test/isolation/expected/predicate-lock-hot-tuple.out
index d1c69bbbd0..d316edbdaa 100644
--- a/src/test/isolation/expected/predicate-lock-hot-tuple.out
+++ b/src/test/isolation/expected/predicate-lock-hot-tuple.out
@@ -4,15 +4,19 @@ starting permutation: b1 b2 r1 r2 w1 w2 c1 c2
 step b1: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step b2: BEGIN ISOLATION LEVEL SERIALIZABLE;
 step r1: SELECT * FROM test WHERE i IN (5, 7)
-i              t
+i|t
+-+----------------
+5|apple
+7|pear_hot_updated
+(2 rows)

-5              apple
-7              pear_hot_updated
 step r2: SELECT * FROM test WHERE i IN (5, 7)
-i              t
+i|t
+-+----------------
+5|apple
+7|pear_hot_updated
+(2 rows)

-5              apple
-7              pear_hot_updated
 step w1: UPDATE test SET t = 'pear_xact1' WHERE i = 7
 step w2: UPDATE test SET t = 'apple_xact2' WHERE i = 5
 step c1: COMMIT;
diff --git a/src/test/isolation/expected/project-manager.out b/src/test/isolation/expected/project-manager.out
index f85f5136ec..902d188b70 100644
--- a/src/test/isolation/expected/project-manager.out
+++ b/src/test/isolation/expected/project-manager.out
@@ -2,28 +2,36 @@ Parsed test spec with 2 sessions

 starting permutation: rx1 wy1 c1 ry2 wx2 c2
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 step c1: COMMIT;
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    1
+(1 row)

-1
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 step c2: COMMIT;

 starting permutation: rx1 wy1 ry2 c1 wx2 c2
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step c1: COMMIT;
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 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 person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 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 person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 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 person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 step c1: COMMIT;
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
@@ -76,13 +96,17 @@ step c2: COMMIT;

 starting permutation: rx1 ry2 wy1 wx2 c1 c2
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 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 person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 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 person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 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 person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 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 person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 step c2: COMMIT;
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
@@ -151,13 +191,17 @@ step c1: COMMIT;

 starting permutation: ry2 rx1 wy1 c1 wx2 c2
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 step c1: COMMIT;
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
@@ -166,13 +210,17 @@ step c2: COMMIT;

 starting permutation: ry2 rx1 wy1 wx2 c1 c2
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 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 project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 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 project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 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 project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 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 project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 step c2: COMMIT;
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
@@ -241,14 +305,18 @@ step c1: COMMIT;

 starting permutation: ry2 wx2 rx1 wy1 c1 c2
 step ry2: SELECT count(*) FROM project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 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 project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 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 project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    1
+(1 row)

-1
 step c2: COMMIT;
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 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 project WHERE project_manager = 1;
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: UPDATE person SET is_project_manager = false WHERE person_id = 1;
 step c2: COMMIT;
 step rx1: SELECT count(*) FROM person WHERE person_id = 1 AND is_project_manager;
-count
+count
+-----
+    0
+(1 row)

-0
 step wy1: INSERT INTO project VALUES (101, 'Build Great Wall', 1);
 step c1: COMMIT;
diff --git a/src/test/isolation/expected/read-only-anomaly-2.out b/src/test/isolation/expected/read-only-anomaly-2.out
index f43aa6a299..543ae89747 100644
--- a/src/test/isolation/expected/read-only-anomaly-2.out
+++ b/src/test/isolation/expected/read-only-anomaly-2.out
@@ -2,17 +2,23 @@ Parsed test spec with 3 sessions

 starting permutation: s2rx s2ry s1ry s1wy s1c s2wx s2c s3c
 step s2rx: SELECT balance FROM bank_account WHERE id = 'X';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s2ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1wy: UPDATE bank_account SET balance = 20 WHERE id = 'Y';
 step s1c: COMMIT;
 step s2wx: UPDATE bank_account SET balance = -11 WHERE id = 'X';
@@ -21,24 +27,32 @@ step s3c: COMMIT;

 starting permutation: s2rx s2ry s1ry s1wy s1c s3r s3c s2wx
 step s2rx: SELECT balance FROM bank_account WHERE id = 'X';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s2ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1wy: UPDATE bank_account SET balance = 20 WHERE id = 'Y';
 step s1c: COMMIT;
 step s3r: SELECT id, balance FROM bank_account WHERE id IN ('X', 'Y') ORDER BY id;
-id             balance
+id|balance
+--+-------
+X |      0
+Y |     20
+(2 rows)

-X              0
-Y              20
 step s3c: COMMIT;
 step s2wx: UPDATE bank_account SET balance = -11 WHERE id = 'X';
 ERROR:  could not serialize access due to read/write dependencies among transactions
diff --git a/src/test/isolation/expected/read-only-anomaly-3.out b/src/test/isolation/expected/read-only-anomaly-3.out
index 1c10ad7ebf..4f7d3f863d 100644
--- a/src/test/isolation/expected/read-only-anomaly-3.out
+++ b/src/test/isolation/expected/read-only-anomaly-3.out
@@ -2,25 +2,33 @@ Parsed test spec with 3 sessions

 starting permutation: s2rx s2ry s1ry s1wy s1c s3r s2wx s2c s3c
 step s2rx: SELECT balance FROM bank_account WHERE id = 'X';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s2ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1wy: UPDATE bank_account SET balance = 20 WHERE id = 'Y';
 step s1c: COMMIT;
 step s3r: SELECT id, balance FROM bank_account WHERE id IN ('X', 'Y') ORDER BY id; <waiting ...>
 step s2wx: UPDATE bank_account SET balance = -11 WHERE id = 'X';
 step s2c: COMMIT;
 step s3r: <... completed>
-id             balance
+id|balance
+--+-------
+X |    -11
+Y |     20
+(2 rows)

-X              -11
-Y              20
 step s3c: COMMIT;
diff --git a/src/test/isolation/expected/read-only-anomaly.out b/src/test/isolation/expected/read-only-anomaly.out
index d40425df28..96df5e2db5 100644
--- a/src/test/isolation/expected/read-only-anomaly.out
+++ b/src/test/isolation/expected/read-only-anomaly.out
@@ -2,24 +2,32 @@ Parsed test spec with 3 sessions

 starting permutation: s2rx s2ry s1ry s1wy s1c s3r s2wx s2c s3c
 step s2rx: SELECT balance FROM bank_account WHERE id = 'X';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s2ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1wy: UPDATE bank_account SET balance = 20 WHERE id = 'Y';
 step s1c: COMMIT;
 step s3r: SELECT id, balance FROM bank_account WHERE id IN ('X', 'Y') ORDER BY id;
-id             balance
+id|balance
+--+-------
+X |      0
+Y |     20
+(2 rows)

-X              0
-Y              20
 step s2wx: UPDATE bank_account SET balance = -11 WHERE id = 'X';
 step s2c: COMMIT;
 step s3c: COMMIT;
diff --git a/src/test/isolation/expected/read-write-unique-2.out b/src/test/isolation/expected/read-write-unique-2.out
index 5e27f0adfd..664e6e803b 100644
--- a/src/test/isolation/expected/read-write-unique-2.out
+++ b/src/test/isolation/expected/read-write-unique-2.out
@@ -2,10 +2,14 @@ Parsed test spec with 2 sessions

 starting permutation: r1 r2 w1 w2 c1 c2
 step r1: SELECT * FROM test WHERE i = 42;
-i
+i
+-
+(0 rows)

 step r2: SELECT * FROM test WHERE i = 42;
-i
+i
+-
+(0 rows)

 step w1: INSERT INTO test VALUES (42);
 step w2: INSERT INTO test VALUES (42); <waiting ...>
@@ -16,14 +20,18 @@ step c2: COMMIT;

 starting permutation: r1 w1 c1 r2 w2 c2
 step r1: SELECT * FROM test WHERE i = 42;
-i
+i
+-
+(0 rows)

 step w1: INSERT INTO test VALUES (42);
 step c1: COMMIT;
 step r2: SELECT * FROM test WHERE i = 42;
-i
+ i
+--
+42
+(1 row)

-42
 step w2: INSERT INTO test VALUES (42);
 ERROR:  duplicate key value violates unique constraint "test_pkey"
 step c2: COMMIT;
diff --git a/src/test/isolation/expected/read-write-unique-3.out b/src/test/isolation/expected/read-write-unique-3.out
index edd3558930..ec47fa13fe 100644
--- a/src/test/isolation/expected/read-write-unique-3.out
+++ b/src/test/isolation/expected/read-write-unique-3.out
@@ -2,9 +2,11 @@ Parsed test spec with 2 sessions

 starting permutation: rw1 rw2 c1 c2
 step rw1: SELECT insert_unique(1, '1');
-insert_unique
+insert_unique
+-------------
+
+(1 row)

-
 step rw2: SELECT insert_unique(1, '2'); <waiting ...>
 step c1: COMMIT;
 step rw2: <... completed>
diff --git a/src/test/isolation/expected/read-write-unique-4.out b/src/test/isolation/expected/read-write-unique-4.out
index 64ff157513..4c37c3d4d9 100644
--- a/src/test/isolation/expected/read-write-unique-4.out
+++ b/src/test/isolation/expected/read-write-unique-4.out
@@ -2,13 +2,17 @@ Parsed test spec with 2 sessions

 starting permutation: r1 r2 w1 w2 c1 c2
 step r1: SELECT COALESCE(MAX(invoice_number) + 1, 1) FROM invoice WHERE year = 2016;
-coalesce
+coalesce
+--------
+       3
+(1 row)

-3
 step r2: SELECT COALESCE(MAX(invoice_number) + 1, 1) FROM invoice WHERE year = 2016;
-coalesce
+coalesce
+--------
+       3
+(1 row)

-3
 step w1: INSERT INTO invoice VALUES (2016, 3);
 step w2: INSERT INTO invoice VALUES (2016, 3); <waiting ...>
 step c1: COMMIT;
@@ -18,9 +22,11 @@ step c2: COMMIT;

 starting permutation: r1 w1 w2 c1 c2
 step r1: SELECT COALESCE(MAX(invoice_number) + 1, 1) FROM invoice WHERE year = 2016;
-coalesce
+coalesce
+--------
+       3
+(1 row)

-3
 step w1: INSERT INTO invoice VALUES (2016, 3);
 step w2: INSERT INTO invoice VALUES (2016, 3); <waiting ...>
 step c1: COMMIT;
@@ -30,9 +36,11 @@ step c2: COMMIT;

 starting permutation: r2 w1 w2 c1 c2
 step r2: SELECT COALESCE(MAX(invoice_number) + 1, 1) FROM invoice WHERE year = 2016;
-coalesce
+coalesce
+--------
+       3
+(1 row)

-3
 step w1: INSERT INTO invoice VALUES (2016, 3);
 step w2: INSERT INTO invoice VALUES (2016, 3); <waiting ...>
 step c1: COMMIT;
diff --git a/src/test/isolation/expected/read-write-unique.out b/src/test/isolation/expected/read-write-unique.out
index fb32ec3261..e77fb9e2cf 100644
--- a/src/test/isolation/expected/read-write-unique.out
+++ b/src/test/isolation/expected/read-write-unique.out
@@ -2,10 +2,14 @@ Parsed test spec with 2 sessions

 starting permutation: r1 r2 w1 w2 c1 c2
 step r1: SELECT * FROM test;
-i
+i
+-
+(0 rows)

 step r2: SELECT * FROM test;
-i
+i
+-
+(0 rows)

 step w1: INSERT INTO test VALUES (42);
 step w2: INSERT INTO test VALUES (42); <waiting ...>
@@ -16,14 +20,18 @@ step c2: COMMIT;

 starting permutation: r1 w1 c1 r2 w2 c2
 step r1: SELECT * FROM test;
-i
+i
+-
+(0 rows)

 step w1: INSERT INTO test VALUES (42);
 step c1: COMMIT;
 step r2: SELECT * FROM test;
-i
+ i
+--
+42
+(1 row)

-42
 step w2: INSERT INTO test VALUES (42);
 ERROR:  duplicate key value violates unique constraint "test_pkey"
 step c2: COMMIT;
diff --git a/src/test/isolation/expected/receipt-report.out b/src/test/isolation/expected/receipt-report.out
index bc68d676a0..1f2501815f 100644
--- a/src/test/isolation/expected/receipt-report.out
+++ b/src/test/isolation/expected/receipt-report.out
@@ -6,15 +6,19 @@ step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;

 starting permutation: rxwy1 c1 wx2 rx3 c2 ry3 c3
@@ -22,16 +26,20 @@ step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;

 starting permutation: rxwy1 c1 wx2 rx3 ry3 c2 c3
@@ -39,15 +47,19 @@ step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c2: COMMIT;
 step c3: COMMIT;

@@ -56,15 +68,19 @@ step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;
 step c2: COMMIT;

@@ -72,33 +88,41 @@ starting permutation: rxwy1 c1 rx3 wx2 c2 ry3 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;

 starting permutation: rxwy1 c1 rx3 wx2 ry3 c2 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c2: COMMIT;
 step c3: COMMIT;

@@ -106,16 +130,20 @@ starting permutation: rxwy1 c1 rx3 wx2 ry3 c3 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;
 step c2: COMMIT;

@@ -123,15 +151,19 @@ starting permutation: rxwy1 c1 rx3 ry3 wx2 c2 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step c3: COMMIT;
@@ -140,15 +172,19 @@ starting permutation: rxwy1 c1 rx3 ry3 wx2 c3 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
 step c2: COMMIT;
@@ -157,15 +193,19 @@ starting permutation: rxwy1 c1 rx3 ry3 c3 wx2 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
@@ -176,15 +216,19 @@ step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;

 starting permutation: rxwy1 wx2 c1 rx3 c2 ry3 c3
@@ -192,16 +236,20 @@ step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;

 starting permutation: rxwy1 wx2 c1 rx3 ry3 c2 c3
@@ -209,15 +257,19 @@ step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c2: COMMIT;
 step c3: COMMIT;

@@ -226,15 +278,19 @@ step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;
 step c2: COMMIT;

@@ -244,15 +300,19 @@ step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;

 starting permutation: rxwy1 wx2 c2 rx3 c1 ry3 c3
@@ -260,9 +320,11 @@ step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -273,14 +335,18 @@ step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
 step c3: COMMIT;
@@ -290,14 +356,18 @@ step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -306,31 +376,39 @@ starting permutation: rxwy1 wx2 rx3 c1 c2 ry3 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: rxwy1 wx2 rx3 c1 ry3 c2 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;

@@ -338,15 +416,19 @@ starting permutation: rxwy1 wx2 rx3 c1 ry3 c3 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;

@@ -354,31 +436,39 @@ starting permutation: rxwy1 wx2 rx3 c2 c1 ry3 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: rxwy1 wx2 rx3 c2 ry3 c1 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;

@@ -386,15 +476,19 @@ starting permutation: rxwy1 wx2 rx3 c2 ry3 c3 c1
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;

@@ -402,14 +496,18 @@ starting permutation: rxwy1 wx2 rx3 ry3 c1 c2 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c2: COMMIT;
 step c3: COMMIT;
@@ -418,14 +516,18 @@ starting permutation: rxwy1 wx2 rx3 ry3 c1 c3 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;
 step c2: COMMIT;
@@ -434,14 +536,18 @@ starting permutation: rxwy1 wx2 rx3 ry3 c2 c1 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c1: COMMIT;
 step c3: COMMIT;
@@ -450,14 +556,18 @@ starting permutation: rxwy1 wx2 rx3 ry3 c2 c3 c1
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;
 step c1: COMMIT;
@@ -466,14 +576,18 @@ starting permutation: rxwy1 wx2 rx3 ry3 c3 c1 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;
 step c2: COMMIT;
@@ -482,14 +596,18 @@ starting permutation: rxwy1 wx2 rx3 ry3 c3 c2 c1
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;
 step c1: COMMIT;
@@ -497,63 +615,79 @@ step c1: COMMIT;
 starting permutation: rxwy1 rx3 c1 wx2 c2 ry3 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: rxwy1 rx3 c1 wx2 ry3 c2 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;

 starting permutation: rxwy1 rx3 c1 wx2 ry3 c3 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;

 starting permutation: rxwy1 rx3 c1 ry3 wx2 c2 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step c3: COMMIT;
@@ -561,15 +695,19 @@ step c3: COMMIT;
 starting permutation: rxwy1 rx3 c1 ry3 wx2 c3 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
 step c2: COMMIT;
@@ -577,15 +715,19 @@ step c2: COMMIT;
 starting permutation: rxwy1 rx3 c1 ry3 c3 wx2 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
@@ -593,111 +735,139 @@ step c2: COMMIT;
 starting permutation: rxwy1 rx3 wx2 c1 c2 ry3 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: rxwy1 rx3 wx2 c1 ry3 c2 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;

 starting permutation: rxwy1 rx3 wx2 c1 ry3 c3 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;

 starting permutation: rxwy1 rx3 wx2 c2 c1 ry3 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: rxwy1 rx3 wx2 c2 ry3 c1 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;

 starting permutation: rxwy1 rx3 wx2 c2 ry3 c3 c1
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;

 starting permutation: rxwy1 rx3 wx2 ry3 c1 c2 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c2: COMMIT;
 step c3: COMMIT;
@@ -705,15 +875,19 @@ step c3: COMMIT;
 starting permutation: rxwy1 rx3 wx2 ry3 c1 c3 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;
 step c2: COMMIT;
@@ -721,15 +895,19 @@ step c2: COMMIT;
 starting permutation: rxwy1 rx3 wx2 ry3 c2 c1 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c1: COMMIT;
 step c3: COMMIT;
@@ -737,15 +915,19 @@ step c3: COMMIT;
 starting permutation: rxwy1 rx3 wx2 ry3 c2 c3 c1
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;
 step c1: COMMIT;
@@ -753,15 +935,19 @@ step c1: COMMIT;
 starting permutation: rxwy1 rx3 wx2 ry3 c3 c1 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;
 step c2: COMMIT;
@@ -769,15 +955,19 @@ step c2: COMMIT;
 starting permutation: rxwy1 rx3 wx2 ry3 c3 c2 c1
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;
 step c1: COMMIT;
@@ -785,14 +975,18 @@ step c1: COMMIT;
 starting permutation: rxwy1 rx3 ry3 c1 wx2 c2 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
@@ -801,14 +995,18 @@ step c3: COMMIT;
 starting permutation: rxwy1 rx3 ry3 c1 wx2 c3 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
@@ -817,14 +1015,18 @@ step c2: COMMIT;
 starting permutation: rxwy1 rx3 ry3 c1 c3 wx2 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
@@ -833,14 +1035,18 @@ step c2: COMMIT;
 starting permutation: rxwy1 rx3 ry3 wx2 c1 c2 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step c2: COMMIT;
@@ -849,14 +1055,18 @@ step c3: COMMIT;
 starting permutation: rxwy1 rx3 ry3 wx2 c1 c3 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step c3: COMMIT;
@@ -865,14 +1075,18 @@ step c2: COMMIT;
 starting permutation: rxwy1 rx3 ry3 wx2 c2 c1 c3
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step c1: COMMIT;
@@ -881,14 +1095,18 @@ step c3: COMMIT;
 starting permutation: rxwy1 rx3 ry3 wx2 c2 c3 c1
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step c3: COMMIT;
@@ -897,14 +1115,18 @@ step c1: COMMIT;
 starting permutation: rxwy1 rx3 ry3 wx2 c3 c1 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
 step c1: COMMIT;
@@ -913,14 +1135,18 @@ step c2: COMMIT;
 starting permutation: rxwy1 rx3 ry3 wx2 c3 c2 c1
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
 step c2: COMMIT;
@@ -929,14 +1155,18 @@ step c1: COMMIT;
 starting permutation: rxwy1 rx3 ry3 c3 c1 wx2 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
@@ -945,14 +1175,18 @@ step c2: COMMIT;
 starting permutation: rxwy1 rx3 ry3 c3 wx2 c1 c2
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
@@ -961,14 +1195,18 @@ step c2: COMMIT;
 starting permutation: rxwy1 rx3 ry3 c3 wx2 c2 c1
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
@@ -980,15 +1218,19 @@ step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k
 step c1: COMMIT;
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;

 starting permutation: wx2 rxwy1 c1 rx3 c2 ry3 c3
@@ -996,16 +1238,20 @@ step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;

 starting permutation: wx2 rxwy1 c1 rx3 ry3 c2 c3
@@ -1013,15 +1259,19 @@ step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c2: COMMIT;
 step c3: COMMIT;

@@ -1030,15 +1280,19 @@ step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;
 step c2: COMMIT;

@@ -1048,15 +1302,19 @@ step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k
 step c2: COMMIT;
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+         3|  12-22-2008|  4.00
+(3 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
-3              12-22-2008     4.00
 step c3: COMMIT;

 starting permutation: wx2 rxwy1 c2 rx3 c1 ry3 c3
@@ -1064,9 +1322,11 @@ step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -1077,14 +1337,18 @@ step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
 step c3: COMMIT;
@@ -1094,14 +1358,18 @@ step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -1110,31 +1378,39 @@ starting permutation: wx2 rxwy1 rx3 c1 c2 ry3 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: wx2 rxwy1 rx3 c1 ry3 c2 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;

@@ -1142,15 +1418,19 @@ starting permutation: wx2 rxwy1 rx3 c1 ry3 c3 c2
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;

@@ -1158,31 +1438,39 @@ starting permutation: wx2 rxwy1 rx3 c2 c1 ry3 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: wx2 rxwy1 rx3 c2 ry3 c1 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;

@@ -1190,15 +1478,19 @@ starting permutation: wx2 rxwy1 rx3 c2 ry3 c3 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;

@@ -1206,14 +1498,18 @@ starting permutation: wx2 rxwy1 rx3 ry3 c1 c2 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c2: COMMIT;
 step c3: COMMIT;
@@ -1222,14 +1518,18 @@ starting permutation: wx2 rxwy1 rx3 ry3 c1 c3 c2
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;
 step c2: COMMIT;
@@ -1238,14 +1538,18 @@ starting permutation: wx2 rxwy1 rx3 ry3 c2 c1 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c1: COMMIT;
 step c3: COMMIT;
@@ -1254,14 +1558,18 @@ starting permutation: wx2 rxwy1 rx3 ry3 c2 c3 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;
 step c1: COMMIT;
@@ -1270,14 +1578,18 @@ starting permutation: wx2 rxwy1 rx3 ry3 c3 c1 c2
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;
 step c2: COMMIT;
@@ -1286,14 +1598,18 @@ starting permutation: wx2 rxwy1 rx3 ry3 c3 c2 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;
 step c1: COMMIT;
@@ -1304,14 +1620,18 @@ step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: wx2 c2 rxwy1 rx3 c1 ry3 c3
@@ -1319,15 +1639,19 @@ step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: wx2 c2 rxwy1 rx3 ry3 c1 c3
@@ -1335,14 +1659,18 @@ step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;

@@ -1351,14 +1679,18 @@ step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;

@@ -1366,31 +1698,39 @@ starting permutation: wx2 c2 rx3 rxwy1 c1 ry3 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: wx2 c2 rx3 rxwy1 ry3 c1 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;

@@ -1398,15 +1738,19 @@ starting permutation: wx2 c2 rx3 rxwy1 ry3 c3 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;

@@ -1414,14 +1758,18 @@ starting permutation: wx2 c2 rx3 ry3 rxwy1 c1 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step c3: COMMIT;
@@ -1430,14 +1778,18 @@ starting permutation: wx2 c2 rx3 ry3 rxwy1 c3 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
 step c1: COMMIT;
@@ -1446,14 +1798,18 @@ starting permutation: wx2 c2 rx3 ry3 c3 rxwy1 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-23-2008
+(1 row)

-receipt        12-23-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
@@ -1461,111 +1817,139 @@ step c1: COMMIT;
 starting permutation: wx2 rx3 rxwy1 c1 c2 ry3 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: wx2 rx3 rxwy1 c1 ry3 c2 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;

 starting permutation: wx2 rx3 rxwy1 c1 ry3 c3 c2
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;

 starting permutation: wx2 rx3 rxwy1 c2 c1 ry3 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: wx2 rx3 rxwy1 c2 ry3 c1 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;

 starting permutation: wx2 rx3 rxwy1 c2 ry3 c3 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;

 starting permutation: wx2 rx3 rxwy1 ry3 c1 c2 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c2: COMMIT;
 step c3: COMMIT;
@@ -1573,15 +1957,19 @@ step c3: COMMIT;
 starting permutation: wx2 rx3 rxwy1 ry3 c1 c3 c2
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;
 step c2: COMMIT;
@@ -1589,15 +1977,19 @@ step c2: COMMIT;
 starting permutation: wx2 rx3 rxwy1 ry3 c2 c1 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c1: COMMIT;
 step c3: COMMIT;
@@ -1605,15 +1997,19 @@ step c3: COMMIT;
 starting permutation: wx2 rx3 rxwy1 ry3 c2 c3 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;
 step c1: COMMIT;
@@ -1621,15 +2017,19 @@ step c1: COMMIT;
 starting permutation: wx2 rx3 rxwy1 ry3 c3 c1 c2
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;
 step c2: COMMIT;
@@ -1637,15 +2037,19 @@ step c2: COMMIT;
 starting permutation: wx2 rx3 rxwy1 ry3 c3 c2 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;
 step c1: COMMIT;
@@ -1653,63 +2057,79 @@ step c1: COMMIT;
 starting permutation: wx2 rx3 c2 rxwy1 c1 ry3 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: wx2 rx3 c2 rxwy1 ry3 c1 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;

 starting permutation: wx2 rx3 c2 rxwy1 ry3 c3 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;

 starting permutation: wx2 rx3 c2 ry3 rxwy1 c1 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step c3: COMMIT;
@@ -1717,15 +2137,19 @@ step c3: COMMIT;
 starting permutation: wx2 rx3 c2 ry3 rxwy1 c3 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
 step c1: COMMIT;
@@ -1733,15 +2157,19 @@ step c1: COMMIT;
 starting permutation: wx2 rx3 c2 ry3 c3 rxwy1 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
@@ -1749,14 +2177,18 @@ step c1: COMMIT;
 starting permutation: wx2 rx3 ry3 rxwy1 c1 c2 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step c2: COMMIT;
@@ -1765,14 +2197,18 @@ step c3: COMMIT;
 starting permutation: wx2 rx3 ry3 rxwy1 c1 c3 c2
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step c3: COMMIT;
@@ -1781,14 +2217,18 @@ step c2: COMMIT;
 starting permutation: wx2 rx3 ry3 rxwy1 c2 c1 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step c1: COMMIT;
@@ -1797,14 +2237,18 @@ step c3: COMMIT;
 starting permutation: wx2 rx3 ry3 rxwy1 c2 c3 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step c3: COMMIT;
@@ -1813,14 +2257,18 @@ step c1: COMMIT;
 starting permutation: wx2 rx3 ry3 rxwy1 c3 c1 c2
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
 step c1: COMMIT;
@@ -1829,14 +2277,18 @@ step c2: COMMIT;
 starting permutation: wx2 rx3 ry3 rxwy1 c3 c2 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
 step c2: COMMIT;
@@ -1845,14 +2297,18 @@ step c1: COMMIT;
 starting permutation: wx2 rx3 ry3 c2 rxwy1 c1 c3
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
@@ -1861,14 +2317,18 @@ step c3: COMMIT;
 starting permutation: wx2 rx3 ry3 c2 rxwy1 c3 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
@@ -1877,14 +2337,18 @@ step c1: COMMIT;
 starting permutation: wx2 rx3 ry3 c2 c3 rxwy1 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
@@ -1893,14 +2357,18 @@ step c1: COMMIT;
 starting permutation: wx2 rx3 ry3 c3 rxwy1 c1 c2
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
@@ -1909,14 +2377,18 @@ step c2: COMMIT;
 starting permutation: wx2 rx3 ry3 c3 rxwy1 c2 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
@@ -1925,14 +2397,18 @@ step c1: COMMIT;
 starting permutation: wx2 rx3 ry3 c3 c2 rxwy1 c1
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
@@ -1940,303 +2416,379 @@ step c1: COMMIT;

 starting permutation: rx3 rxwy1 c1 wx2 c2 ry3 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: rx3 rxwy1 c1 wx2 ry3 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 rxwy1 c1 wx2 ry3 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;

 starting permutation: rx3 rxwy1 c1 ry3 wx2 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 rxwy1 c1 ry3 wx2 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
 step c2: COMMIT;

 starting permutation: rx3 rxwy1 c1 ry3 c3 wx2 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;

 starting permutation: rx3 rxwy1 wx2 c1 c2 ry3 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: rx3 rxwy1 wx2 c1 ry3 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 rxwy1 wx2 c1 ry3 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;

 starting permutation: rx3 rxwy1 wx2 c2 c1 ry3 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: rx3 rxwy1 wx2 c2 ry3 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 rxwy1 wx2 c2 ry3 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;

 starting permutation: rx3 rxwy1 wx2 ry3 c1 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c2: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 rxwy1 wx2 ry3 c1 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;
 step c2: COMMIT;

 starting permutation: rx3 rxwy1 wx2 ry3 c2 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c1: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 rxwy1 wx2 ry3 c2 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;
 step c1: COMMIT;

 starting permutation: rx3 rxwy1 wx2 ry3 c3 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;
 step c2: COMMIT;

 starting permutation: rx3 rxwy1 wx2 ry3 c3 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;
 step c1: COMMIT;

 starting permutation: rx3 rxwy1 ry3 c1 wx2 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
@@ -2244,15 +2796,19 @@ step c3: COMMIT;

 starting permutation: rx3 rxwy1 ry3 c1 wx2 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
@@ -2260,15 +2816,19 @@ step c2: COMMIT;

 starting permutation: rx3 rxwy1 ry3 c1 c3 wx2 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
@@ -2276,15 +2836,19 @@ step c2: COMMIT;

 starting permutation: rx3 rxwy1 ry3 wx2 c1 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step c2: COMMIT;
@@ -2292,15 +2856,19 @@ step c3: COMMIT;

 starting permutation: rx3 rxwy1 ry3 wx2 c1 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
 step c3: COMMIT;
@@ -2308,15 +2876,19 @@ step c2: COMMIT;

 starting permutation: rx3 rxwy1 ry3 wx2 c2 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step c1: COMMIT;
@@ -2324,15 +2896,19 @@ step c3: COMMIT;

 starting permutation: rx3 rxwy1 ry3 wx2 c2 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step c3: COMMIT;
@@ -2340,15 +2916,19 @@ step c1: COMMIT;

 starting permutation: rx3 rxwy1 ry3 wx2 c3 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
 step c1: COMMIT;
@@ -2356,15 +2936,19 @@ step c2: COMMIT;

 starting permutation: rx3 rxwy1 ry3 wx2 c3 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
 step c2: COMMIT;
@@ -2372,15 +2956,19 @@ step c1: COMMIT;

 starting permutation: rx3 rxwy1 ry3 c3 c1 wx2 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
@@ -2388,15 +2976,19 @@ step c2: COMMIT;

 starting permutation: rx3 rxwy1 ry3 c3 wx2 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
@@ -2404,15 +2996,19 @@ step c2: COMMIT;

 starting permutation: rx3 rxwy1 ry3 c3 wx2 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
@@ -2420,303 +3016,379 @@ step c1: COMMIT;

 starting permutation: rx3 wx2 rxwy1 c1 c2 ry3 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: rx3 wx2 rxwy1 c1 ry3 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 wx2 rxwy1 c1 ry3 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;

 starting permutation: rx3 wx2 rxwy1 c2 c1 ry3 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: rx3 wx2 rxwy1 c2 ry3 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 wx2 rxwy1 c2 ry3 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;

 starting permutation: rx3 wx2 rxwy1 ry3 c1 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c2: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 wx2 rxwy1 ry3 c1 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;
 step c2: COMMIT;

 starting permutation: rx3 wx2 rxwy1 ry3 c2 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c1: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 wx2 rxwy1 ry3 c2 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;
 step c1: COMMIT;

 starting permutation: rx3 wx2 rxwy1 ry3 c3 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;
 step c2: COMMIT;

 starting permutation: rx3 wx2 rxwy1 ry3 c3 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;
 step c1: COMMIT;

 starting permutation: rx3 wx2 c2 rxwy1 c1 ry3 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;

 starting permutation: rx3 wx2 c2 rxwy1 ry3 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c1: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 wx2 c2 rxwy1 ry3 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c1: COMMIT;

 starting permutation: rx3 wx2 c2 ry3 rxwy1 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step c3: COMMIT;

 starting permutation: rx3 wx2 c2 ry3 rxwy1 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
 step c1: COMMIT;

 starting permutation: rx3 wx2 c2 ry3 c3 rxwy1 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;

 starting permutation: rx3 wx2 ry3 rxwy1 c1 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step c2: COMMIT;
@@ -2724,15 +3396,19 @@ step c3: COMMIT;

 starting permutation: rx3 wx2 ry3 rxwy1 c1 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step c3: COMMIT;
@@ -2740,15 +3416,19 @@ step c2: COMMIT;

 starting permutation: rx3 wx2 ry3 rxwy1 c2 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step c1: COMMIT;
@@ -2756,15 +3436,19 @@ step c3: COMMIT;

 starting permutation: rx3 wx2 ry3 rxwy1 c2 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
 step c3: COMMIT;
@@ -2772,15 +3456,19 @@ step c1: COMMIT;

 starting permutation: rx3 wx2 ry3 rxwy1 c3 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
 step c1: COMMIT;
@@ -2788,15 +3476,19 @@ step c2: COMMIT;

 starting permutation: rx3 wx2 ry3 rxwy1 c3 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
 step c2: COMMIT;
@@ -2804,15 +3496,19 @@ step c1: COMMIT;

 starting permutation: rx3 wx2 ry3 c2 rxwy1 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
@@ -2820,15 +3516,19 @@ step c3: COMMIT;

 starting permutation: rx3 wx2 ry3 c2 rxwy1 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
@@ -2836,15 +3536,19 @@ step c1: COMMIT;

 starting permutation: rx3 wx2 ry3 c2 c3 rxwy1 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c2: COMMIT;
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
@@ -2852,15 +3556,19 @@ step c1: COMMIT;

 starting permutation: rx3 wx2 ry3 c3 rxwy1 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
@@ -2868,15 +3576,19 @@ step c2: COMMIT;

 starting permutation: rx3 wx2 ry3 c3 rxwy1 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
@@ -2884,15 +3596,19 @@ step c1: COMMIT;

 starting permutation: rx3 wx2 ry3 c3 c2 rxwy1 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
@@ -2900,14 +3616,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 rxwy1 c1 wx2 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
@@ -2916,14 +3636,18 @@ step c3: COMMIT;

 starting permutation: rx3 ry3 rxwy1 c1 wx2 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
@@ -2932,14 +3656,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 rxwy1 c1 c3 wx2 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
 step c3: COMMIT;
@@ -2948,14 +3676,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 rxwy1 wx2 c1 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
@@ -2964,14 +3696,18 @@ step c3: COMMIT;

 starting permutation: rx3 ry3 rxwy1 wx2 c1 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c1: COMMIT;
@@ -2980,14 +3716,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 rxwy1 wx2 c2 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
@@ -2996,14 +3736,18 @@ step c3: COMMIT;

 starting permutation: rx3 ry3 rxwy1 wx2 c2 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
@@ -3012,14 +3756,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 rxwy1 wx2 c3 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
@@ -3028,14 +3776,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 rxwy1 wx2 c3 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
@@ -3044,14 +3796,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 rxwy1 c3 c1 wx2 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
 step c1: COMMIT;
@@ -3060,14 +3816,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 rxwy1 c3 wx2 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
@@ -3076,14 +3836,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 rxwy1 c3 wx2 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
@@ -3092,14 +3856,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 wx2 rxwy1 c1 c2 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
@@ -3108,14 +3876,18 @@ step c3: COMMIT;

 starting permutation: rx3 ry3 wx2 rxwy1 c1 c3 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
@@ -3124,14 +3896,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 wx2 rxwy1 c2 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
@@ -3140,14 +3916,18 @@ step c3: COMMIT;

 starting permutation: rx3 ry3 wx2 rxwy1 c2 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c2: COMMIT;
@@ -3156,14 +3936,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 wx2 rxwy1 c3 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
@@ -3172,14 +3956,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 wx2 rxwy1 c3 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c3: COMMIT;
@@ -3188,14 +3976,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 wx2 c2 rxwy1 c1 c3
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
@@ -3204,14 +3996,18 @@ step c3: COMMIT;

 starting permutation: rx3 ry3 wx2 c2 rxwy1 c3 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
@@ -3220,14 +4016,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 wx2 c2 c3 rxwy1 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
 step c3: COMMIT;
@@ -3236,14 +4036,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 wx2 c3 rxwy1 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
@@ -3252,14 +4056,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 wx2 c3 rxwy1 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
@@ -3268,14 +4076,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 wx2 c3 c2 rxwy1 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c3: COMMIT;
 step c2: COMMIT;
@@ -3284,14 +4096,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 c3 rxwy1 c1 wx2 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step c1: COMMIT;
@@ -3300,14 +4116,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 c3 rxwy1 wx2 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
@@ -3316,14 +4136,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 c3 rxwy1 wx2 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
@@ -3332,14 +4156,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 c3 wx2 rxwy1 c1 c2
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
@@ -3348,14 +4176,18 @@ step c2: COMMIT;

 starting permutation: rx3 ry3 c3 wx2 rxwy1 c2 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step rxwy1: INSERT INTO receipt VALUES (3, (SELECT deposit_date FROM ctl WHERE k = 'receipt'), 4.00);
@@ -3364,14 +4196,18 @@ step c1: COMMIT;

 starting permutation: rx3 ry3 c3 wx2 c2 rxwy1 c1
 step rx3: SELECT * FROM ctl WHERE k = 'receipt';
-k              deposit_date
+k      |deposit_date
+-------+------------
+receipt|  12-22-2008
+(1 row)

-receipt        12-22-2008
 step ry3: SELECT * FROM receipt WHERE deposit_date = DATE '2008-12-22';
-receipt_no     deposit_date   amount
+receipt_no|deposit_date|amount
+----------+------------+------
+         1|  12-22-2008|  1.00
+         2|  12-22-2008|  2.00
+(2 rows)

-1              12-22-2008     1.00
-2              12-22-2008     2.00
 step c3: COMMIT;
 step wx2: UPDATE ctl SET deposit_date = DATE '2008-12-23' WHERE k = 'receipt';
 step c2: COMMIT;
diff --git a/src/test/isolation/expected/referential-integrity.out
b/src/test/isolation/expected/referential-integrity.out
index ba42efa39b..7679397eb2 100644
--- a/src/test/isolation/expected/referential-integrity.out
+++ b/src/test/isolation/expected/referential-integrity.out
@@ -2,35 +2,47 @@ Parsed test spec with 2 sessions

 starting permutation: rx1 wy1 c1 rx2 ry2 wx2 c2
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step c1: COMMIT;
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+   1
+(1 row)

-1
 step wx2: DELETE FROM a WHERE i = 1;
 step c2: COMMIT;

 starting permutation: rx1 wy1 rx2 c1 ry2 wx2 c2
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step c1: COMMIT;
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -38,16 +50,22 @@ step c2: COMMIT;

 starting permutation: rx1 wy1 rx2 ry2 c1 wx2 c2
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step c1: COMMIT;
 step wx2: DELETE FROM a WHERE i = 1;
@@ -56,16 +74,22 @@ step c2: COMMIT;

 starting permutation: rx1 wy1 rx2 ry2 wx2 c1 c2
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step c1: COMMIT;
@@ -74,16 +98,22 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx1 wy1 rx2 ry2 wx2 c2 c1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step c2: COMMIT;
@@ -92,17 +122,23 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx1 rx2 wy1 c1 ry2 wx2 c2
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step c1: COMMIT;
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -110,16 +146,22 @@ step c2: COMMIT;

 starting permutation: rx1 rx2 wy1 ry2 c1 wx2 c2
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step c1: COMMIT;
 step wx2: DELETE FROM a WHERE i = 1;
@@ -128,16 +170,22 @@ step c2: COMMIT;

 starting permutation: rx1 rx2 wy1 ry2 wx2 c1 c2
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step c1: COMMIT;
@@ -146,16 +194,22 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx1 rx2 wy1 ry2 wx2 c2 c1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step c2: COMMIT;
@@ -164,15 +218,21 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx1 rx2 ry2 wy1 c1 wx2 c2
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wy1: INSERT INTO b VALUES (1);
 step c1: COMMIT;
@@ -182,15 +242,21 @@ step c2: COMMIT;

 starting permutation: rx1 rx2 ry2 wy1 wx2 c1 c2
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wy1: INSERT INTO b VALUES (1);
 step wx2: DELETE FROM a WHERE i = 1;
@@ -200,15 +266,21 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx1 rx2 ry2 wy1 wx2 c2 c1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wy1: INSERT INTO b VALUES (1);
 step wx2: DELETE FROM a WHERE i = 1;
@@ -218,15 +290,21 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx1 rx2 ry2 wx2 wy1 c1 c2
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step wy1: INSERT INTO b VALUES (1);
@@ -236,15 +314,21 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx1 rx2 ry2 wx2 wy1 c2 c1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step wy1: INSERT INTO b VALUES (1);
@@ -254,15 +338,21 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx1 rx2 ry2 wx2 c2 wy1 c1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step c2: COMMIT;
@@ -272,17 +362,23 @@ step c1: COMMIT;

 starting permutation: rx2 rx1 wy1 c1 ry2 wx2 c2
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step c1: COMMIT;
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -290,16 +386,22 @@ step c2: COMMIT;

 starting permutation: rx2 rx1 wy1 ry2 c1 wx2 c2
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step c1: COMMIT;
 step wx2: DELETE FROM a WHERE i = 1;
@@ -308,16 +410,22 @@ step c2: COMMIT;

 starting permutation: rx2 rx1 wy1 ry2 wx2 c1 c2
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step c1: COMMIT;
@@ -326,16 +434,22 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 rx1 wy1 ry2 wx2 c2 c1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step c2: COMMIT;
@@ -344,15 +458,21 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 rx1 ry2 wy1 c1 wx2 c2
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wy1: INSERT INTO b VALUES (1);
 step c1: COMMIT;
@@ -362,15 +482,21 @@ step c2: COMMIT;

 starting permutation: rx2 rx1 ry2 wy1 wx2 c1 c2
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wy1: INSERT INTO b VALUES (1);
 step wx2: DELETE FROM a WHERE i = 1;
@@ -380,15 +506,21 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 rx1 ry2 wy1 wx2 c2 c1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wy1: INSERT INTO b VALUES (1);
 step wx2: DELETE FROM a WHERE i = 1;
@@ -398,15 +530,21 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 rx1 ry2 wx2 wy1 c1 c2
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step wy1: INSERT INTO b VALUES (1);
@@ -416,15 +554,21 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 rx1 ry2 wx2 wy1 c2 c1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step wy1: INSERT INTO b VALUES (1);
@@ -434,15 +578,21 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 rx1 ry2 wx2 c2 wy1 c1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step c2: COMMIT;
@@ -452,16 +602,22 @@ step c1: COMMIT;

 starting permutation: rx2 ry2 rx1 wy1 c1 wx2 c2
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step c1: COMMIT;
 step wx2: DELETE FROM a WHERE i = 1;
@@ -470,16 +626,22 @@ step c2: COMMIT;

 starting permutation: rx2 ry2 rx1 wy1 wx2 c1 c2
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step wx2: DELETE FROM a WHERE i = 1;
 step c1: COMMIT;
@@ -488,16 +650,22 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 ry2 rx1 wy1 wx2 c2 c1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step wx2: DELETE FROM a WHERE i = 1;
 step c2: COMMIT;
@@ -506,16 +674,22 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 ry2 rx1 wx2 wy1 c1 c2
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wx2: DELETE FROM a WHERE i = 1;
 step wy1: INSERT INTO b VALUES (1);
 step c1: COMMIT;
@@ -524,16 +698,22 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 ry2 rx1 wx2 wy1 c2 c1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wx2: DELETE FROM a WHERE i = 1;
 step wy1: INSERT INTO b VALUES (1);
 step c2: COMMIT;
@@ -542,16 +722,22 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 ry2 rx1 wx2 c2 wy1 c1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wx2: DELETE FROM a WHERE i = 1;
 step c2: COMMIT;
 step wy1: INSERT INTO b VALUES (1);
@@ -560,17 +746,23 @@ step c1: COMMIT;

 starting permutation: rx2 ry2 wx2 rx1 wy1 c1 c2
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step c1: COMMIT;
 step c2: COMMIT;
@@ -578,17 +770,23 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 ry2 wx2 rx1 wy1 c2 c1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step wy1: INSERT INTO b VALUES (1);
 step c2: COMMIT;
 step c1: COMMIT;
@@ -596,17 +794,23 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: rx2 ry2 wx2 rx1 c2 wy1 c1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step c2: COMMIT;
 step wy1: INSERT INTO b VALUES (1);
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -614,16 +818,22 @@ step c1: COMMIT;

 starting permutation: rx2 ry2 wx2 c2 rx1 wy1 c1
 step rx2: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+1
+(1 row)

-1
 step ry2: SELECT a_id FROM b WHERE a_id = 1;
-a_id
+a_id
+----
+(0 rows)

 step wx2: DELETE FROM a WHERE i = 1;
 step c2: COMMIT;
 step rx1: SELECT i FROM a WHERE i = 1;
-i
+i
+-
+(0 rows)

 step wy1: INSERT INTO b VALUES (1);
 step c1: COMMIT;
diff --git a/src/test/isolation/expected/reindex-concurrently.out
b/src/test/isolation/expected/reindex-concurrently.out
index 9e04169b2f..eea5b2b93c 100644
--- a/src/test/isolation/expected/reindex-concurrently.out
+++ b/src/test/isolation/expected/reindex-concurrently.out
@@ -3,9 +3,11 @@ Parsed test spec with 3 sessions
 starting permutation: reindex sel1 upd2 ins2 del2 end1 end2
 step reindex: REINDEX TABLE CONCURRENTLY reind_con_tab;
 step sel1: SELECT data FROM reind_con_tab WHERE id = 3;
-data
+data
+----
+aaaa
+(1 row)

-aaaa
 step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3;
 step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc');
 step del2: DELETE FROM reind_con_tab WHERE data = 'cccc';
@@ -14,9 +16,11 @@ step end2: COMMIT;

 starting permutation: sel1 reindex upd2 ins2 del2 end1 end2
 step sel1: SELECT data FROM reind_con_tab WHERE id = 3;
-data
+data
+----
+aaaa
+(1 row)

-aaaa
 step reindex: REINDEX TABLE CONCURRENTLY reind_con_tab; <waiting ...>
 step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3;
 step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc');
@@ -27,9 +31,11 @@ step reindex: <... completed>

 starting permutation: sel1 upd2 reindex ins2 del2 end1 end2
 step sel1: SELECT data FROM reind_con_tab WHERE id = 3;
-data
+data
+----
+aaaa
+(1 row)

-aaaa
 step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3;
 step reindex: REINDEX TABLE CONCURRENTLY reind_con_tab; <waiting ...>
 step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc');
@@ -40,9 +46,11 @@ step reindex: <... completed>

 starting permutation: sel1 upd2 ins2 reindex del2 end1 end2
 step sel1: SELECT data FROM reind_con_tab WHERE id = 3;
-data
+data
+----
+aaaa
+(1 row)

-aaaa
 step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3;
 step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc');
 step reindex: REINDEX TABLE CONCURRENTLY reind_con_tab; <waiting ...>
@@ -53,9 +61,11 @@ step reindex: <... completed>

 starting permutation: sel1 upd2 ins2 del2 reindex end1 end2
 step sel1: SELECT data FROM reind_con_tab WHERE id = 3;
-data
+data
+----
+aaaa
+(1 row)

-aaaa
 step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3;
 step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc');
 step del2: DELETE FROM reind_con_tab WHERE data = 'cccc';
@@ -66,9 +76,11 @@ step reindex: <... completed>

 starting permutation: sel1 upd2 ins2 del2 end1 reindex end2
 step sel1: SELECT data FROM reind_con_tab WHERE id = 3;
-data
+data
+----
+aaaa
+(1 row)

-aaaa
 step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3;
 step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc');
 step del2: DELETE FROM reind_con_tab WHERE data = 'cccc';
diff --git a/src/test/isolation/expected/ri-trigger.out b/src/test/isolation/expected/ri-trigger.out
index 88943287aa..842df80a90 100644
--- a/src/test/isolation/expected/ri-trigger.out
+++ b/src/test/isolation/expected/ri-trigger.out
@@ -4,9 +4,11 @@ starting permutation: wxry1 c1 r2 wyrx2 c2
 step wxry1: INSERT INTO child (parent_id) VALUES (0);
 step c1: COMMIT;
 step r2: SELECT TRUE;
-bool
+bool
+----
+t
+(1 row)

-t
 step wyrx2: DELETE FROM parent WHERE parent_id = 0;
 ERROR:  child row exists
 step c2: COMMIT;
@@ -14,9 +16,11 @@ step c2: COMMIT;
 starting permutation: wxry1 r2 c1 wyrx2 c2
 step wxry1: INSERT INTO child (parent_id) VALUES (0);
 step r2: SELECT TRUE;
-bool
+bool
+----
+t
+(1 row)

-t
 step c1: COMMIT;
 step wyrx2: DELETE FROM parent WHERE parent_id = 0;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -25,9 +29,11 @@ step c2: COMMIT;
 starting permutation: wxry1 r2 wyrx2 c1 c2
 step wxry1: INSERT INTO child (parent_id) VALUES (0);
 step r2: SELECT TRUE;
-bool
+bool
+----
+t
+(1 row)

-t
 step wyrx2: DELETE FROM parent WHERE parent_id = 0;
 step c1: COMMIT;
 step c2: COMMIT;
@@ -36,9 +42,11 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: wxry1 r2 wyrx2 c2 c1
 step wxry1: INSERT INTO child (parent_id) VALUES (0);
 step r2: SELECT TRUE;
-bool
+bool
+----
+t
+(1 row)

-t
 step wyrx2: DELETE FROM parent WHERE parent_id = 0;
 step c2: COMMIT;
 step c1: COMMIT;
@@ -46,9 +54,11 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: r2 wxry1 c1 wyrx2 c2
 step r2: SELECT TRUE;
-bool
+bool
+----
+t
+(1 row)

-t
 step wxry1: INSERT INTO child (parent_id) VALUES (0);
 step c1: COMMIT;
 step wyrx2: DELETE FROM parent WHERE parent_id = 0;
@@ -57,9 +67,11 @@ step c2: COMMIT;

 starting permutation: r2 wxry1 wyrx2 c1 c2
 step r2: SELECT TRUE;
-bool
+bool
+----
+t
+(1 row)

-t
 step wxry1: INSERT INTO child (parent_id) VALUES (0);
 step wyrx2: DELETE FROM parent WHERE parent_id = 0;
 step c1: COMMIT;
@@ -68,9 +80,11 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: r2 wxry1 wyrx2 c2 c1
 step r2: SELECT TRUE;
-bool
+bool
+----
+t
+(1 row)

-t
 step wxry1: INSERT INTO child (parent_id) VALUES (0);
 step wyrx2: DELETE FROM parent WHERE parent_id = 0;
 step c2: COMMIT;
@@ -79,9 +93,11 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: r2 wyrx2 wxry1 c1 c2
 step r2: SELECT TRUE;
-bool
+bool
+----
+t
+(1 row)

-t
 step wyrx2: DELETE FROM parent WHERE parent_id = 0;
 step wxry1: INSERT INTO child (parent_id) VALUES (0);
 step c1: COMMIT;
@@ -90,9 +106,11 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: r2 wyrx2 wxry1 c2 c1
 step r2: SELECT TRUE;
-bool
+bool
+----
+t
+(1 row)

-t
 step wyrx2: DELETE FROM parent WHERE parent_id = 0;
 step wxry1: INSERT INTO child (parent_id) VALUES (0);
 step c2: COMMIT;
@@ -101,9 +119,11 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: r2 wyrx2 c2 wxry1 c1
 step r2: SELECT TRUE;
-bool
+bool
+----
+t
+(1 row)

-t
 step wyrx2: DELETE FROM parent WHERE parent_id = 0;
 step c2: COMMIT;
 step wxry1: INSERT INTO child (parent_id) VALUES (0);
diff --git a/src/test/isolation/expected/sequence-ddl.out b/src/test/isolation/expected/sequence-ddl.out
index 6766c0aff6..274b70fb65 100644
--- a/src/test/isolation/expected/sequence-ddl.out
+++ b/src/test/isolation/expected/sequence-ddl.out
@@ -18,67 +18,73 @@ step s1restart: ALTER SEQUENCE seq1 RESTART WITH 5;
 step s2nv: SELECT nextval('seq1') FROM generate_series(1, 15); <waiting ...>
 step s1commit: COMMIT;
 step s2nv: <... completed>
-nextval
+nextval
+-------
+      5
+      6
+      7
+      8
+      9
+     10
+     11
+     12
+     13
+     14
+     15
+     16
+     17
+     18
+     19
+(15 rows)

-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19

 starting permutation: s1restart s2nv s1commit
 step s1restart: ALTER SEQUENCE seq1 RESTART WITH 5;
 step s2nv: SELECT nextval('seq1') FROM generate_series(1, 15); <waiting ...>
 step s1commit: COMMIT;
 step s2nv: <... completed>
-nextval
+nextval
+-------
+      5
+      6
+      7
+      8
+      9
+     10
+     11
+     12
+     13
+     14
+     15
+     16
+     17
+     18
+     19
+(15 rows)

-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19

 starting permutation: s2begin s2nv s1alter2 s2commit s1commit
 step s2begin: BEGIN;
 step s2nv: SELECT nextval('seq1') FROM generate_series(1, 15);
-nextval
+nextval
+-------
+      1
+      2
+      3
+      4
+      5
+      6
+      7
+      8
+      9
+     10
+     11
+     12
+     13
+     14
+     15
+(15 rows)

-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
 step s1alter2: ALTER SEQUENCE seq1 MAXVALUE 20; <waiting ...>
 step s2commit: COMMIT;
 step s1alter2: <... completed>
diff --git a/src/test/isolation/expected/serializable-parallel-2.out
b/src/test/isolation/expected/serializable-parallel-2.out
index 9a693c4dc6..92753ccf39 100644
--- a/src/test/isolation/expected/serializable-parallel-2.out
+++ b/src/test/isolation/expected/serializable-parallel-2.out
@@ -2,43 +2,49 @@ Parsed test spec with 2 sessions

 starting permutation: s1r s2r1 s1c s2r2 s2c
 step s1r: SELECT * FROM foo;
-a
+ a
+--
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+(10 rows)

-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
 step s2r1: SELECT * FROM foo;
-a
+ a
+--
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+(10 rows)

-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
 step s1c: COMMIT;
 step s2r2: SELECT * FROM foo;
-a
+ a
+--
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+(10 rows)

-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
 step s2c: COMMIT;
diff --git a/src/test/isolation/expected/serializable-parallel.out
b/src/test/isolation/expected/serializable-parallel.out
index f43aa6a299..543ae89747 100644
--- a/src/test/isolation/expected/serializable-parallel.out
+++ b/src/test/isolation/expected/serializable-parallel.out
@@ -2,17 +2,23 @@ Parsed test spec with 3 sessions

 starting permutation: s2rx s2ry s1ry s1wy s1c s2wx s2c s3c
 step s2rx: SELECT balance FROM bank_account WHERE id = 'X';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s2ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1wy: UPDATE bank_account SET balance = 20 WHERE id = 'Y';
 step s1c: COMMIT;
 step s2wx: UPDATE bank_account SET balance = -11 WHERE id = 'X';
@@ -21,24 +27,32 @@ step s3c: COMMIT;

 starting permutation: s2rx s2ry s1ry s1wy s1c s3r s3c s2wx
 step s2rx: SELECT balance FROM bank_account WHERE id = 'X';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s2ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1ry: SELECT balance FROM bank_account WHERE id = 'Y';
-balance
+balance
+-------
+      0
+(1 row)

-0
 step s1wy: UPDATE bank_account SET balance = 20 WHERE id = 'Y';
 step s1c: COMMIT;
 step s3r: SELECT id, balance FROM bank_account WHERE id IN ('X', 'Y') ORDER BY id;
-id             balance
+id|balance
+--+-------
+X |      0
+Y |     20
+(2 rows)

-X              0
-Y              20
 step s3c: COMMIT;
 step s2wx: UPDATE bank_account SET balance = -11 WHERE id = 'X';
 ERROR:  could not serialize access due to read/write dependencies among transactions
diff --git a/src/test/isolation/expected/skip-locked-2.out b/src/test/isolation/expected/skip-locked-2.out
index 9240543f3f..3302d2e987 100644
--- a/src/test/isolation/expected/skip-locked-2.out
+++ b/src/test/isolation/expected/skip-locked-2.out
@@ -2,48 +2,66 @@ Parsed test spec with 2 sessions

 starting permutation: s1a s2a s2b s1b s2c
 step s1a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: COMMIT;
 step s2c: COMMIT;

 starting permutation: s2a s1a s2b s1b s2c
 step s2a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: COMMIT;
 step s2c: COMMIT;

 starting permutation: s2a s2b s1a s1b s2c
 step s2a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: COMMIT;
 step s2c: COMMIT;
diff --git a/src/test/isolation/expected/skip-locked-3.out b/src/test/isolation/expected/skip-locked-3.out
index fa8fe87d8a..be1f84d51c 100644
--- a/src/test/isolation/expected/skip-locked-3.out
+++ b/src/test/isolation/expected/skip-locked-3.out
@@ -2,18 +2,24 @@ Parsed test spec with 3 sessions

 starting permutation: s1a s2a s3a s1b s2b s3b
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE LIMIT 1; <waiting ...>
 step s3a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: COMMIT;
 step s2a: <... completed>
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2b: COMMIT;
 step s3b: COMMIT;
diff --git a/src/test/isolation/expected/skip-locked-4.out b/src/test/isolation/expected/skip-locked-4.out
index 2c9cfe895e..cfa9ae1e1e 100644
--- a/src/test/isolation/expected/skip-locked-4.out
+++ b/src/test/isolation/expected/skip-locked-4.out
@@ -3,19 +3,25 @@ Parsed test spec with 2 sessions
 starting permutation: s2a s1a s2b s2c s2d s2e s1b s2f
 step s2a: SELECT pg_advisory_lock(0);
 pg_advisory_lock
+----------------
+
+(1 row)

-
 step s1a: SELECT * FROM foo WHERE pg_advisory_lock(0) IS NOT NULL ORDER BY id LIMIT 1 FOR UPDATE SKIP LOCKED; <waiting
...>
 step s2b: UPDATE foo SET data = data WHERE id = 1;
 step s2c: BEGIN;
 step s2d: UPDATE foo SET data = data WHERE id = 1;
 step s2e: SELECT pg_advisory_unlock(0);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s1a: <... completed>
-id             data
+id|data
+--+----
+ 2|x
+(1 row)

-2              x
 step s1b: COMMIT;
 step s2f: COMMIT;
diff --git a/src/test/isolation/expected/skip-locked.out b/src/test/isolation/expected/skip-locked.out
index f9b9cf28be..3dc5768384 100644
--- a/src/test/isolation/expected/skip-locked.out
+++ b/src/test/isolation/expected/skip-locked.out
@@ -2,400 +2,560 @@ Parsed test spec with 2 sessions

 starting permutation: s1a s1b s1c s2a s2b s2c
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1c: COMMIT;
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2c: COMMIT;

 starting permutation: s1a s1b s2a s1c s2b s2c
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1c: COMMIT;
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2c: COMMIT;

 starting permutation: s1a s1b s2a s2b s1c s2c
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1c: COMMIT;
 step s2c: COMMIT;

 starting permutation: s1a s1b s2a s2b s2c s1c
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2c: COMMIT;
 step s1c: COMMIT;

 starting permutation: s1a s2a s1b s1c s2b s2c
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1c: COMMIT;
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2c: COMMIT;

 starting permutation: s1a s2a s1b s2b s1c s2c
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1c: COMMIT;
 step s2c: COMMIT;

 starting permutation: s1a s2a s1b s2b s2c s1c
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2c: COMMIT;
 step s1c: COMMIT;

 starting permutation: s1a s2a s2b s1b s1c s2c
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1c: COMMIT;
 step s2c: COMMIT;

 starting permutation: s1a s2a s2b s1b s2c s1c
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2c: COMMIT;
 step s1c: COMMIT;

 starting permutation: s1a s2a s2b s2c s1b s1c
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2c: COMMIT;
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1c: COMMIT;

 starting permutation: s2a s1a s1b s1c s2b s2c
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1c: COMMIT;
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2c: COMMIT;

 starting permutation: s2a s1a s1b s2b s1c s2c
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1c: COMMIT;
 step s2c: COMMIT;

 starting permutation: s2a s1a s1b s2b s2c s1c
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2c: COMMIT;
 step s1c: COMMIT;

 starting permutation: s2a s1a s2b s1b s1c s2c
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1c: COMMIT;
 step s2c: COMMIT;

 starting permutation: s2a s1a s2b s1b s2c s1c
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2c: COMMIT;
 step s1c: COMMIT;

 starting permutation: s2a s1a s2b s2c s1b s1c
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2c: COMMIT;
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1c: COMMIT;

 starting permutation: s2a s2b s1a s1b s1c s2c
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1c: COMMIT;
 step s2c: COMMIT;

 starting permutation: s2a s2b s1a s1b s2c s1c
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2c: COMMIT;
 step s1c: COMMIT;

 starting permutation: s2a s2b s1a s2c s1b s1c
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 2|bar |NEW
+(1 row)

-2              bar            NEW
 step s2c: COMMIT;
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1c: COMMIT;

 starting permutation: s2a s2b s2c s1a s1b s1c
 step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s2c: COMMIT;
 step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1;
-id             data           status
+id|data|status
+--+----+------
+ 1|foo |NEW
+(1 row)

-1              foo            NEW
 step s1c: COMMIT;
diff --git a/src/test/isolation/expected/temporal-range-integrity.out
b/src/test/isolation/expected/temporal-range-integrity.out
index f1b24023a2..039193e4d2 100644
--- a/src/test/isolation/expected/temporal-range-integrity.out
+++ b/src/test/isolation/expected/temporal-range-integrity.out
@@ -2,28 +2,36 @@ Parsed test spec with 2 sessions

 starting permutation: rx1 wy1 c1 ry2 wx2 c2
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 step c1: COMMIT;
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    1
+(1 row)

-1
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 step c2: COMMIT;

 starting permutation: rx1 wy1 ry2 c1 wx2 c2
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step c1: COMMIT;
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 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 statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 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 statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 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 statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 step c1: COMMIT;
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
@@ -76,13 +96,17 @@ step c2: COMMIT;

 starting permutation: rx1 ry2 wy1 wx2 c1 c2
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 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 statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 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 statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 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 statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 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 statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 step c2: COMMIT;
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
@@ -151,13 +191,17 @@ step c1: COMMIT;

 starting permutation: ry2 rx1 wy1 c1 wx2 c2
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 step c1: COMMIT;
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
@@ -166,13 +210,17 @@ step c2: COMMIT;

 starting permutation: ry2 rx1 wy1 wx2 c1 c2
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 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 offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 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 offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 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 offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 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 offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 step c2: COMMIT;
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
@@ -241,14 +305,18 @@ step c1: COMMIT;

 starting permutation: ry2 wx2 rx1 wy1 c1 c2
 step ry2: SELECT count(*) FROM offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 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 offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 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 offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    1
+(1 row)

-1
 step c2: COMMIT;
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 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 offense WHERE statute_cite = '123.45(1)a' AND offense_date >= DATE '2008-01-01';
-count
+count
+-----
+    0
+(1 row)

-0
 step wx2: DELETE FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date = DATE '2008-01-01';
 step c2: COMMIT;
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND
(exp_dateIS NULL OR exp_date > DATE '2009-05-15'); 
-count
+count
+-----
+    0
+(1 row)

-0
 step wy1: INSERT INTO offense VALUES (1, '123.45(1)a', DATE '2009-05-15');
 step c1: COMMIT;
diff --git a/src/test/isolation/expected/timeouts.out b/src/test/isolation/expected/timeouts.out
index ff646279ec..899fd429c1 100644
--- a/src/test/isolation/expected/timeouts.out
+++ b/src/test/isolation/expected/timeouts.out
@@ -2,10 +2,12 @@ Parsed test spec with 2 sessions

 starting permutation: rdtbl sto locktbl
 step rdtbl: SELECT * FROM accounts;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    600
+savings  |    600
+(2 rows)

-checking       600
-savings        600
 step sto: SET statement_timeout = 5000;
 step locktbl: LOCK TABLE accounts; <waiting ...>
 step locktbl: <... completed>
@@ -13,10 +15,12 @@ ERROR:  canceling statement due to statement timeout

 starting permutation: rdtbl lto locktbl
 step rdtbl: SELECT * FROM accounts;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    600
+savings  |    600
+(2 rows)

-checking       600
-savings        600
 step lto: SET lock_timeout = 5000;
 step locktbl: LOCK TABLE accounts; <waiting ...>
 step locktbl: <... completed>
@@ -24,10 +28,12 @@ ERROR:  canceling statement due to lock timeout

 starting permutation: rdtbl lsto locktbl
 step rdtbl: SELECT * FROM accounts;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    600
+savings  |    600
+(2 rows)

-checking       600
-savings        600
 step lsto: SET lock_timeout = 5000; SET statement_timeout = 6000;
 step locktbl: LOCK TABLE accounts; <waiting ...>
 step locktbl: <... completed>
@@ -35,10 +41,12 @@ ERROR:  canceling statement due to lock timeout

 starting permutation: rdtbl slto locktbl
 step rdtbl: SELECT * FROM accounts;
-accountid      balance
+accountid|balance
+---------+-------
+checking |    600
+savings  |    600
+(2 rows)

-checking       600
-savings        600
 step slto: SET lock_timeout = 6000; SET statement_timeout = 5000;
 step locktbl: LOCK TABLE accounts; <waiting ...>
 step locktbl: <... completed>
diff --git a/src/test/isolation/expected/total-cash.out b/src/test/isolation/expected/total-cash.out
index 5121edc710..7b00e0d169 100644
--- a/src/test/isolation/expected/total-cash.out
+++ b/src/test/isolation/expected/total-cash.out
@@ -3,23 +3,29 @@ Parsed test spec with 2 sessions
 starting permutation: wx1 rxy1 c1 wy2 rxy2 c2
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c1: COMMIT;
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+sum
+---
+800
+(1 row)

-800
 step c2: COMMIT;

 starting permutation: wx1 rxy1 wy2 c1 rxy2 c2
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step c1: COMMIT;
 step rxy2: SELECT SUM(balance) FROM accounts;
@@ -29,14 +35,18 @@ step c2: COMMIT;
 starting permutation: wx1 rxy1 wy2 rxy2 c1 c2
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c1: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -44,14 +54,18 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: wx1 rxy1 wy2 rxy2 c2 c1
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c2: COMMIT;
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -60,9 +74,11 @@ starting permutation: wx1 wy2 rxy1 c1 rxy2 c2
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c1: COMMIT;
 step rxy2: SELECT SUM(balance) FROM accounts;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -72,13 +88,17 @@ starting permutation: wx1 wy2 rxy1 rxy2 c1 c2
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c1: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -87,13 +107,17 @@ starting permutation: wx1 wy2 rxy1 rxy2 c2 c1
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c2: COMMIT;
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -102,13 +126,17 @@ starting permutation: wx1 wy2 rxy2 rxy1 c1 c2
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c1: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -117,13 +145,17 @@ starting permutation: wx1 wy2 rxy2 rxy1 c2 c1
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c2: COMMIT;
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -132,9 +164,11 @@ starting permutation: wx1 wy2 rxy2 c2 rxy1 c1
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c2: COMMIT;
 step rxy1: SELECT SUM(balance) FROM accounts;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -144,9 +178,11 @@ starting permutation: wy2 wx1 rxy1 c1 rxy2 c2
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c1: COMMIT;
 step rxy2: SELECT SUM(balance) FROM accounts;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -156,13 +192,17 @@ starting permutation: wy2 wx1 rxy1 rxy2 c1 c2
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c1: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -171,13 +211,17 @@ starting permutation: wy2 wx1 rxy1 rxy2 c2 c1
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c2: COMMIT;
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -186,13 +230,17 @@ starting permutation: wy2 wx1 rxy2 rxy1 c1 c2
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c1: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -201,13 +249,17 @@ starting permutation: wy2 wx1 rxy2 rxy1 c2 c1
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c2: COMMIT;
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -216,9 +268,11 @@ starting permutation: wy2 wx1 rxy2 c2 rxy1 c1
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c2: COMMIT;
 step rxy1: SELECT SUM(balance) FROM accounts;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -227,14 +281,18 @@ step c1: COMMIT;
 starting permutation: wy2 rxy2 wx1 rxy1 c1 c2
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c1: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -242,14 +300,18 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: wy2 rxy2 wx1 rxy1 c2 c1
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c2: COMMIT;
 step c1: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -257,9 +319,11 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: wy2 rxy2 wx1 c2 rxy1 c1
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step c2: COMMIT;
 step rxy1: SELECT SUM(balance) FROM accounts;
@@ -269,13 +333,17 @@ step c1: COMMIT;
 starting permutation: wy2 rxy2 c2 wx1 rxy1 c1
 step wy2: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'savings';
 step rxy2: SELECT SUM(balance) FROM accounts;
-sum
+ sum
+----
+1000
+(1 row)

-1000
 step c2: COMMIT;
 step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking';
 step rxy1: SELECT SUM(balance) FROM accounts;
-sum
+sum
+---
+800
+(1 row)

-800
 step c1: COMMIT;
diff --git a/src/test/isolation/expected/truncate-conflict.out b/src/test/isolation/expected/truncate-conflict.out
index 2c10f8d40d..0eede3f3ba 100644
--- a/src/test/isolation/expected/truncate-conflict.out
+++ b/src/test/isolation/expected/truncate-conflict.out
@@ -1,99 +1,4 @@
 Parsed test spec with 2 sessions

 starting permutation: s1_begin s1_tab_lookup s2_auth s2_truncate s1_commit s2_reset
-step s1_begin: BEGIN;
-step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab;
-?column?
-
-t
-step s2_auth: SET ROLE regress_truncate_conflict;
-step s2_truncate: TRUNCATE truncate_tab;
-ERROR:  permission denied for table truncate_tab
-step s1_commit: COMMIT;
-step s2_reset: RESET ROLE;
-
-starting permutation: s1_begin s2_auth s2_truncate s1_tab_lookup s1_commit s2_reset
-step s1_begin: BEGIN;
-step s2_auth: SET ROLE regress_truncate_conflict;
-step s2_truncate: TRUNCATE truncate_tab;
-ERROR:  permission denied for table truncate_tab
-step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab;
-?column?
-
-t
-step s1_commit: COMMIT;
-step s2_reset: RESET ROLE;
-
-starting permutation: s1_begin s2_auth s1_tab_lookup s2_truncate s1_commit s2_reset
-step s1_begin: BEGIN;
-step s2_auth: SET ROLE regress_truncate_conflict;
-step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab;
-?column?
-
-t
-step s2_truncate: TRUNCATE truncate_tab;
-ERROR:  permission denied for table truncate_tab
-step s1_commit: COMMIT;
-step s2_reset: RESET ROLE;
-
-starting permutation: s2_auth s2_truncate s1_begin s1_tab_lookup s1_commit s2_reset
-step s2_auth: SET ROLE regress_truncate_conflict;
-step s2_truncate: TRUNCATE truncate_tab;
-ERROR:  permission denied for table truncate_tab
-step s1_begin: BEGIN;
-step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab;
-?column?
-
-t
-step s1_commit: COMMIT;
-step s2_reset: RESET ROLE;
-
-starting permutation: s1_begin s1_tab_lookup s2_grant s2_auth s2_truncate s1_commit s2_reset
-step s1_begin: BEGIN;
-step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab;
-?column?
-
-t
-step s2_grant: GRANT TRUNCATE ON truncate_tab TO regress_truncate_conflict;
-step s2_auth: SET ROLE regress_truncate_conflict;
-step s2_truncate: TRUNCATE truncate_tab; <waiting ...>
-step s1_commit: COMMIT;
-step s2_truncate: <... completed>
-step s2_reset: RESET ROLE;
-
-starting permutation: s1_begin s2_grant s2_auth s2_truncate s1_tab_lookup s1_commit s2_reset
-step s1_begin: BEGIN;
-step s2_grant: GRANT TRUNCATE ON truncate_tab TO regress_truncate_conflict;
-step s2_auth: SET ROLE regress_truncate_conflict;
-step s2_truncate: TRUNCATE truncate_tab;
-step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab;
-?column?
-
-t
-step s1_commit: COMMIT;
-step s2_reset: RESET ROLE;
-
-starting permutation: s1_begin s2_grant s2_auth s1_tab_lookup s2_truncate s1_commit s2_reset
-step s1_begin: BEGIN;
-step s2_grant: GRANT TRUNCATE ON truncate_tab TO regress_truncate_conflict;
-step s2_auth: SET ROLE regress_truncate_conflict;
-step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab;
-?column?
-
-t
-step s2_truncate: TRUNCATE truncate_tab; <waiting ...>
-step s1_commit: COMMIT;
-step s2_truncate: <... completed>
-step s2_reset: RESET ROLE;
-
-starting permutation: s2_grant s2_auth s2_truncate s1_begin s1_tab_lookup s1_commit s2_reset
-step s2_grant: GRANT TRUNCATE ON truncate_tab TO regress_truncate_conflict;
-step s2_auth: SET ROLE regress_truncate_conflict;
-step s2_truncate: TRUNCATE truncate_tab;
-step s1_begin: BEGIN;
-step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab;
-?column?
-
-t
-step s1_commit: COMMIT;
-step s2_reset: RESET ROLE;
+setup failed: ERROR:  role "regress_truncate_conflict" already exists
diff --git a/src/test/isolation/expected/tuplelock-conflict.out b/src/test/isolation/expected/tuplelock-conflict.out
index 1f5c142aee..d629314cc8 100644
--- a/src/test/isolation/expected/tuplelock-conflict.out
+++ b/src/test/isolation/expected/tuplelock-conflict.out
@@ -3,467 +3,627 @@ Parsed test spec with 2 sessions
 starting permutation: s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock1 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock2 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock3 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock4 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock4: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock1 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock2 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock3 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock3: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock4 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock4: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock1 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock2 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock2: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock3 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock3: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock4 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock4: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock1 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock1: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock2 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock2: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock3 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock3: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock4 s1_commit
 step s1_begin: BEGIN;
 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo;
-a
+a
+-
+1
+(1 row)

-1
 step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock4: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_tuplock1 s2_tuplock1 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_tuplock1 s2_tuplock2 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_tuplock1 s2_tuplock3 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_tuplock1 s2_tuplock4 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock4: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_tuplock2 s2_tuplock1 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_tuplock2 s2_tuplock2 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_tuplock2 s2_tuplock3 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock3: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_tuplock2 s2_tuplock4 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock4: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_tuplock3 s2_tuplock1 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
-a
+a
+-
+1
+(1 row)

-1
 step s1_commit: COMMIT;

 starting permutation: s1_begin s1_tuplock3 s2_tuplock2 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock2: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_tuplock3 s2_tuplock3 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock3: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_tuplock3 s2_tuplock4 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock4: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_tuplock4 s2_tuplock1 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock1: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_tuplock4 s2_tuplock2 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock2: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_tuplock4 s2_tuplock3 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock3: <... completed>
-a
+a
+-
+1
+(1 row)

-1

 starting permutation: s1_begin s1_tuplock4 s2_tuplock4 s1_commit
 step s1_begin: BEGIN;
 step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE;
-a
+a
+-
+1
+(1 row)

-1
 step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; <waiting ...>
 step s1_commit: COMMIT;
 step s2_tuplock4: <... completed>
-a
+a
+-
+1
+(1 row)

-1
diff --git a/src/test/isolation/expected/tuplelock-partition.out b/src/test/isolation/expected/tuplelock-partition.out
index dd6d37c577..369ddf9c4e 100644
--- a/src/test/isolation/expected/tuplelock-partition.out
+++ b/src/test/isolation/expected/tuplelock-partition.out
@@ -4,9 +4,11 @@ starting permutation: s1b s1update_nokey s2locktuple s1c
 step s1b: BEGIN;
 step s1update_nokey: INSERT INTO parttab (key, col1, col2) VALUES (1, 'a', 'b') ON CONFLICT (key) DO UPDATE SET col1 =
'x',col2 = 'y'; 
 step s2locktuple: SELECT * FROM parttab FOR KEY SHARE;
-col1           key            col2
+col1|key|col2
+----+---+----
+a   |  1|b
+(1 row)

-a              1              b
 step s1c: COMMIT;

 starting permutation: s1b s1update_key s2locktuple s1c
@@ -15,6 +17,8 @@ step s1update_key: INSERT INTO parttab (key, col1, col2) VALUES (1, 'a', 'b') ON
 step s2locktuple: SELECT * FROM parttab FOR KEY SHARE; <waiting ...>
 step s1c: COMMIT;
 step s2locktuple: <... completed>
-col1           key            col2
+col1|key|col2
+----+---+----
+a   |  1|b
+(1 row)

-a              1              b
diff --git a/src/test/isolation/expected/tuplelock-update.out b/src/test/isolation/expected/tuplelock-update.out
index ea63022e93..0ee35a72a4 100644
--- a/src/test/isolation/expected/tuplelock-update.out
+++ b/src/test/isolation/expected/tuplelock-update.out
@@ -6,31 +6,41 @@ step s1_advlock:
         pg_advisory_lock(285714),
         pg_advisory_lock(571428);

-pg_advisory_lockpg_advisory_lockpg_advisory_lock
+pg_advisory_lock|pg_advisory_lock|pg_advisory_lock
+----------------+----------------+----------------
+                |                |
+(1 row)

-
 step s2_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; <waiting ...>
 step s3_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(285714) IS NOT NULL; <waiting ...>
 step s4_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(571428) IS NOT NULL; <waiting ...>
 step s1_chain: UPDATE pktab SET data = DEFAULT;
 step s1_begin: BEGIN;
 step s1_grablock: SELECT * FROM pktab FOR KEY SHARE;
-id             data
+id|data
+--+----
+ 1|   2
+(1 row)

-1              2
 step s1_advunlock1: SELECT pg_advisory_unlock(142857);
 pg_advisory_unlock
+------------------
+t
+(1 row)

-t
 step s2_update: <... completed>
 step s1_advunlock2: SELECT pg_sleep(5), pg_advisory_unlock(285714);
-pg_sleep       pg_advisory_unlock
+pg_sleep|pg_advisory_unlock
+--------+------------------
+        |t
+(1 row)

-               t
 step s3_update: <... completed>
 step s1_advunlock3: SELECT pg_sleep(5), pg_advisory_unlock(571428);
-pg_sleep       pg_advisory_unlock
+pg_sleep|pg_advisory_unlock
+--------+------------------
+        |t
+(1 row)

-               t
 step s4_update: <... completed>
 step s1_commit: COMMIT;
diff --git a/src/test/isolation/expected/tuplelock-upgrade-no-deadlock.out
b/src/test/isolation/expected/tuplelock-upgrade-no-deadlock.out
index 8e04a54394..2159092e96 100644
--- a/src/test/isolation/expected/tuplelock-upgrade-no-deadlock.out
+++ b/src/test/isolation/expected/tuplelock-upgrade-no-deadlock.out
@@ -2,132 +2,172 @@ Parsed test spec with 4 sessions

 starting permutation: s1_share s2_for_update s3_share s3_for_update s1_rollback s3_rollback s2_rollback
 step s1_share: select id from tlu_job where id = 1 for share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...>
 step s3_share: select id from tlu_job where id = 1 for share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s3_for_update: select id from tlu_job where id = 1 for update; <waiting ...>
 step s1_rollback: rollback;
 step s3_for_update: <... completed>
-id
+id
+--
+ 1
+(1 row)

-1
 step s3_rollback: rollback;
 step s2_for_update: <... completed>
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_rollback: rollback;

 starting permutation: s1_keyshare s2_for_update s3_keyshare s1_update s3_update s1_rollback s3_rollback s2_rollback
 step s1_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...>
 step s3_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s1_update: update tlu_job set name = 'b' where id = 1;
 step s3_update: update tlu_job set name = 'c' where id = 1; <waiting ...>
 step s1_rollback: rollback;
 step s3_update: <... completed>
 step s3_rollback: rollback;
 step s2_for_update: <... completed>
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_rollback: rollback;

 starting permutation: s1_keyshare s2_for_update s3_keyshare s1_update s3_update s1_commit s3_rollback s2_rollback
 step s1_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...>
 step s3_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s1_update: update tlu_job set name = 'b' where id = 1;
 step s3_update: update tlu_job set name = 'c' where id = 1; <waiting ...>
 step s1_commit: commit;
 step s3_update: <... completed>
 step s3_rollback: rollback;
 step s2_for_update: <... completed>
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_rollback: rollback;

 starting permutation: s1_keyshare s2_for_update s3_keyshare s3_delete s1_rollback s3_rollback s2_rollback
 step s1_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...>
 step s3_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s3_delete: delete from tlu_job where id = 1; <waiting ...>
 step s1_rollback: rollback;
 step s3_delete: <... completed>
 step s3_rollback: rollback;
 step s2_for_update: <... completed>
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_rollback: rollback;

 starting permutation: s1_keyshare s2_for_update s3_keyshare s3_delete s1_rollback s3_commit s2_rollback
 step s1_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...>
 step s3_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s3_delete: delete from tlu_job where id = 1; <waiting ...>
 step s1_rollback: rollback;
 step s3_delete: <... completed>
 step s3_commit: commit;
 step s2_for_update: <... completed>
-id
+id
+--
+(0 rows)

 step s2_rollback: rollback;

 starting permutation: s1_share s2_for_update s3_for_update s1_rollback s2_rollback s3_rollback
 step s1_share: select id from tlu_job where id = 1 for share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...>
 step s3_for_update: select id from tlu_job where id = 1 for update; <waiting ...>
 step s1_rollback: rollback;
 step s2_for_update: <... completed>
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_rollback: rollback;
 step s3_for_update: <... completed>
-id
+id
+--
+ 1
+(1 row)

-1
 step s3_rollback: rollback;

 starting permutation: s1_share s2_update s3_update s1_rollback s2_rollback s3_rollback
 step s1_share: select id from tlu_job where id = 1 for share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_update: update tlu_job set name = 'b' where id = 1; <waiting ...>
 step s3_update: update tlu_job set name = 'c' where id = 1; <waiting ...>
 step s1_rollback: rollback;
@@ -138,9 +178,11 @@ step s3_rollback: rollback;

 starting permutation: s1_share s2_delete s3_delete s1_rollback s2_rollback s3_rollback
 step s1_share: select id from tlu_job where id = 1 for share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_delete: delete from tlu_job where id = 1; <waiting ...>
 step s3_delete: delete from tlu_job where id = 1; <waiting ...>
 step s1_rollback: rollback;
@@ -151,45 +193,61 @@ step s3_rollback: rollback;

 starting permutation: s1_keyshare s3_for_update s2_for_keyshare s1_savept_e s1_share s1_savept_f s1_fornokeyupd
s2_fornokeyupds0_begin s0_keyshare s1_rollback_f s0_keyshare s1_rollback_e s1_rollback s2_rollback s0_rollback
s3_rollback
 step s1_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s3_for_update: select id from tlu_job where id = 1 for update; <waiting ...>
 step s2_for_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s1_savept_e: savepoint s1_e;
 step s1_share: select id from tlu_job where id = 1 for share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s1_savept_f: savepoint s1_f;
 step s1_fornokeyupd: select id from tlu_job where id = 1 for no key update;
-id
+id
+--
+ 1
+(1 row)

-1
 step s2_fornokeyupd: select id from tlu_job where id = 1 for no key update; <waiting ...>
 step s0_begin: begin;
 step s0_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s1_rollback_f: rollback to s1_f;
 step s0_keyshare: select id from tlu_job where id = 1 for key share;
-id
+id
+--
+ 1
+(1 row)

-1
 step s1_rollback_e: rollback to s1_e;
 step s2_fornokeyupd: <... completed>
-id
+id
+--
+ 1
+(1 row)

-1
 step s1_rollback: rollback;
 step s2_rollback: rollback;
 step s0_rollback: rollback;
 step s3_for_update: <... completed>
-id
+id
+--
+ 1
+(1 row)

-1
 step s3_rollback: rollback;
diff --git a/src/test/isolation/expected/two-ids.out b/src/test/isolation/expected/two-ids.out
index 2fbba1e219..2ebd73feda 100644
--- a/src/test/isolation/expected/two-ids.out
+++ b/src/test/isolation/expected/two-ids.out
@@ -6,9 +6,11 @@ step c1: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 3
+(1 row)

-3
 step c3: COMMIT;

 starting permutation: wx1 c1 rxwy2 ry3 c2 c3
@@ -16,9 +18,11 @@ step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c2: COMMIT;
 step c3: COMMIT;

@@ -27,9 +31,11 @@ step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step c2: COMMIT;

@@ -37,9 +43,11 @@ starting permutation: wx1 c1 ry3 rxwy2 c2 c3
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step c3: COMMIT;
@@ -48,9 +56,11 @@ starting permutation: wx1 c1 ry3 rxwy2 c3 c2
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c3: COMMIT;
 step c2: COMMIT;
@@ -59,9 +69,11 @@ starting permutation: wx1 c1 ry3 c3 rxwy2 c2
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
@@ -72,9 +84,11 @@ step rxwy2: update D2 set id = (select id+1 from D1);
 step c1: COMMIT;
 step c2: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c3: COMMIT;

 starting permutation: wx1 rxwy2 c1 ry3 c2 c3
@@ -82,9 +96,11 @@ step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c1: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
 step c3: COMMIT;
@@ -94,9 +110,11 @@ step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c1: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -107,9 +125,11 @@ step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step c1: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c3: COMMIT;

 starting permutation: wx1 rxwy2 c2 ry3 c1 c3
@@ -117,9 +137,11 @@ step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c1: COMMIT;
 step c3: COMMIT;

@@ -128,9 +150,11 @@ step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c3: COMMIT;
 step c1: COMMIT;

@@ -138,9 +162,11 @@ starting permutation: wx1 rxwy2 ry3 c1 c2 c3
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c1: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -150,9 +176,11 @@ starting permutation: wx1 rxwy2 ry3 c1 c3 c2
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c1: COMMIT;
 step c3: COMMIT;
 step c2: COMMIT;
@@ -162,9 +190,11 @@ starting permutation: wx1 rxwy2 ry3 c2 c1 c3
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c2: COMMIT;
 step c1: COMMIT;
 step c3: COMMIT;
@@ -173,9 +203,11 @@ starting permutation: wx1 rxwy2 ry3 c2 c3 c1
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c2: COMMIT;
 step c3: COMMIT;
 step c1: COMMIT;
@@ -184,9 +216,11 @@ starting permutation: wx1 rxwy2 ry3 c3 c1 c2
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step c1: COMMIT;
 step c2: COMMIT;
@@ -195,9 +229,11 @@ starting permutation: wx1 rxwy2 ry3 c3 c2 c1
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step c2: COMMIT;
 step c1: COMMIT;
@@ -205,9 +241,11 @@ step c1: COMMIT;
 starting permutation: wx1 ry3 c1 rxwy2 c2 c3
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c1: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
@@ -216,9 +254,11 @@ step c3: COMMIT;
 starting permutation: wx1 ry3 c1 rxwy2 c3 c2
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c1: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c3: COMMIT;
@@ -227,9 +267,11 @@ step c2: COMMIT;
 starting permutation: wx1 ry3 c1 c3 rxwy2 c2
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c1: COMMIT;
 step c3: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
@@ -238,9 +280,11 @@ step c2: COMMIT;
 starting permutation: wx1 ry3 rxwy2 c1 c2 c3
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c1: COMMIT;
 step c2: COMMIT;
@@ -250,9 +294,11 @@ step c3: COMMIT;
 starting permutation: wx1 ry3 rxwy2 c1 c3 c2
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c1: COMMIT;
 step c3: COMMIT;
@@ -262,9 +308,11 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: wx1 ry3 rxwy2 c2 c1 c3
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step c1: COMMIT;
@@ -273,9 +321,11 @@ step c3: COMMIT;
 starting permutation: wx1 ry3 rxwy2 c2 c3 c1
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step c3: COMMIT;
@@ -284,9 +334,11 @@ step c1: COMMIT;
 starting permutation: wx1 ry3 rxwy2 c3 c1 c2
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c3: COMMIT;
 step c1: COMMIT;
@@ -295,9 +347,11 @@ step c2: COMMIT;
 starting permutation: wx1 ry3 rxwy2 c3 c2 c1
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c3: COMMIT;
 step c2: COMMIT;
@@ -306,9 +360,11 @@ step c1: COMMIT;
 starting permutation: wx1 ry3 c3 c1 rxwy2 c2
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step c1: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
@@ -317,9 +373,11 @@ step c2: COMMIT;
 starting permutation: wx1 ry3 c3 rxwy2 c1 c2
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c1: COMMIT;
@@ -328,9 +386,11 @@ step c2: COMMIT;
 starting permutation: wx1 ry3 c3 rxwy2 c2 c1
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
@@ -342,9 +402,11 @@ step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step c2: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c3: COMMIT;

 starting permutation: rxwy2 wx1 c1 ry3 c2 c3
@@ -352,9 +414,11 @@ step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
 step c3: COMMIT;
@@ -364,9 +428,11 @@ step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -377,9 +443,11 @@ step wx1: update D1 set id = id + 1;
 step c2: COMMIT;
 step c1: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c3: COMMIT;

 starting permutation: rxwy2 wx1 c2 ry3 c1 c3
@@ -387,9 +455,11 @@ step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step c2: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c1: COMMIT;
 step c3: COMMIT;

@@ -398,9 +468,11 @@ step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step c2: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c3: COMMIT;
 step c1: COMMIT;

@@ -408,9 +480,11 @@ starting permutation: rxwy2 wx1 ry3 c1 c2 c3
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c1: COMMIT;
 step c2: COMMIT;
 ERROR:  could not serialize access due to read/write dependencies among transactions
@@ -420,9 +494,11 @@ starting permutation: rxwy2 wx1 ry3 c1 c3 c2
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c1: COMMIT;
 step c3: COMMIT;
 step c2: COMMIT;
@@ -432,9 +508,11 @@ starting permutation: rxwy2 wx1 ry3 c2 c1 c3
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c2: COMMIT;
 step c1: COMMIT;
 step c3: COMMIT;
@@ -443,9 +521,11 @@ starting permutation: rxwy2 wx1 ry3 c2 c3 c1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c2: COMMIT;
 step c3: COMMIT;
 step c1: COMMIT;
@@ -454,9 +534,11 @@ starting permutation: rxwy2 wx1 ry3 c3 c1 c2
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step c1: COMMIT;
 step c2: COMMIT;
@@ -465,9 +547,11 @@ starting permutation: rxwy2 wx1 ry3 c3 c2 c1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step c2: COMMIT;
 step c1: COMMIT;
@@ -478,9 +562,11 @@ step c2: COMMIT;
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c3: COMMIT;

 starting permutation: rxwy2 c2 wx1 ry3 c1 c3
@@ -488,9 +574,11 @@ step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c1: COMMIT;
 step c3: COMMIT;

@@ -499,9 +587,11 @@ step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step wx1: update D1 set id = id + 1;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c3: COMMIT;
 step c1: COMMIT;

@@ -509,9 +599,11 @@ starting permutation: rxwy2 c2 ry3 wx1 c1 c3
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step c3: COMMIT;
@@ -520,9 +612,11 @@ starting permutation: rxwy2 c2 ry3 wx1 c3 c1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step wx1: update D1 set id = id + 1;
 step c3: COMMIT;
 step c1: COMMIT;
@@ -531,9 +625,11 @@ starting permutation: rxwy2 c2 ry3 c3 wx1 c1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step ry3: select id from D2;
-id
+id
+--
+ 2
+(1 row)

-2
 step c3: COMMIT;
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
@@ -541,9 +637,11 @@ step c1: COMMIT;
 starting permutation: rxwy2 ry3 wx1 c1 c2 c3
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step c2: COMMIT;
@@ -553,9 +651,11 @@ step c3: COMMIT;
 starting permutation: rxwy2 ry3 wx1 c1 c3 c2
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step c3: COMMIT;
@@ -565,9 +665,11 @@ ERROR:  could not serialize access due to read/write dependencies among transact
 starting permutation: rxwy2 ry3 wx1 c2 c1 c3
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c2: COMMIT;
 step c1: COMMIT;
@@ -576,9 +678,11 @@ step c3: COMMIT;
 starting permutation: rxwy2 ry3 wx1 c2 c3 c1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c2: COMMIT;
 step c3: COMMIT;
@@ -587,9 +691,11 @@ step c1: COMMIT;
 starting permutation: rxwy2 ry3 wx1 c3 c1 c2
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c3: COMMIT;
 step c1: COMMIT;
@@ -598,9 +704,11 @@ step c2: COMMIT;
 starting permutation: rxwy2 ry3 wx1 c3 c2 c1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c3: COMMIT;
 step c2: COMMIT;
@@ -609,9 +717,11 @@ step c1: COMMIT;
 starting permutation: rxwy2 ry3 c2 wx1 c1 c3
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c2: COMMIT;
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
@@ -620,9 +730,11 @@ step c3: COMMIT;
 starting permutation: rxwy2 ry3 c2 wx1 c3 c1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c2: COMMIT;
 step wx1: update D1 set id = id + 1;
 step c3: COMMIT;
@@ -631,9 +743,11 @@ step c1: COMMIT;
 starting permutation: rxwy2 ry3 c2 c3 wx1 c1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c2: COMMIT;
 step c3: COMMIT;
 step wx1: update D1 set id = id + 1;
@@ -642,9 +756,11 @@ step c1: COMMIT;
 starting permutation: rxwy2 ry3 c3 wx1 c1 c2
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
@@ -653,9 +769,11 @@ step c2: COMMIT;
 starting permutation: rxwy2 ry3 c3 wx1 c2 c1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step wx1: update D1 set id = id + 1;
 step c2: COMMIT;
@@ -664,9 +782,11 @@ step c1: COMMIT;
 starting permutation: rxwy2 ry3 c3 c2 wx1 c1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step c2: COMMIT;
 step wx1: update D1 set id = id + 1;
@@ -674,9 +794,11 @@ step c1: COMMIT;

 starting permutation: ry3 wx1 c1 rxwy2 c2 c3
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
@@ -685,9 +807,11 @@ step c3: COMMIT;

 starting permutation: ry3 wx1 c1 rxwy2 c3 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
@@ -696,9 +820,11 @@ step c2: COMMIT;

 starting permutation: ry3 wx1 c1 c3 rxwy2 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
 step c3: COMMIT;
@@ -707,9 +833,11 @@ step c2: COMMIT;

 starting permutation: ry3 wx1 rxwy2 c1 c2 c3
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c1: COMMIT;
@@ -719,9 +847,11 @@ step c3: COMMIT;

 starting permutation: ry3 wx1 rxwy2 c1 c3 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c1: COMMIT;
@@ -731,9 +861,11 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: ry3 wx1 rxwy2 c2 c1 c3
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
@@ -742,9 +874,11 @@ step c3: COMMIT;

 starting permutation: ry3 wx1 rxwy2 c2 c3 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
@@ -753,9 +887,11 @@ step c1: COMMIT;

 starting permutation: ry3 wx1 rxwy2 c3 c1 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c3: COMMIT;
@@ -764,9 +900,11 @@ step c2: COMMIT;

 starting permutation: ry3 wx1 rxwy2 c3 c2 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c3: COMMIT;
@@ -775,9 +913,11 @@ step c1: COMMIT;

 starting permutation: ry3 wx1 c3 c1 rxwy2 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c3: COMMIT;
 step c1: COMMIT;
@@ -786,9 +926,11 @@ step c2: COMMIT;

 starting permutation: ry3 wx1 c3 rxwy2 c1 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c3: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
@@ -797,9 +939,11 @@ step c2: COMMIT;

 starting permutation: ry3 wx1 c3 rxwy2 c2 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step wx1: update D1 set id = id + 1;
 step c3: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
@@ -808,9 +952,11 @@ step c1: COMMIT;

 starting permutation: ry3 rxwy2 wx1 c1 c2 c3
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
@@ -820,9 +966,11 @@ step c3: COMMIT;

 starting permutation: ry3 rxwy2 wx1 c1 c3 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
@@ -832,9 +980,11 @@ ERROR:  could not serialize access due to read/write dependencies among transact

 starting permutation: ry3 rxwy2 wx1 c2 c1 c3
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step c2: COMMIT;
@@ -843,9 +993,11 @@ step c3: COMMIT;

 starting permutation: ry3 rxwy2 wx1 c2 c3 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step c2: COMMIT;
@@ -854,9 +1006,11 @@ step c1: COMMIT;

 starting permutation: ry3 rxwy2 wx1 c3 c1 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step c3: COMMIT;
@@ -865,9 +1019,11 @@ step c2: COMMIT;

 starting permutation: ry3 rxwy2 wx1 c3 c2 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
 step c3: COMMIT;
@@ -876,9 +1032,11 @@ step c1: COMMIT;

 starting permutation: ry3 rxwy2 c2 wx1 c1 c3
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step wx1: update D1 set id = id + 1;
@@ -887,9 +1045,11 @@ step c3: COMMIT;

 starting permutation: ry3 rxwy2 c2 wx1 c3 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step wx1: update D1 set id = id + 1;
@@ -898,9 +1058,11 @@ step c1: COMMIT;

 starting permutation: ry3 rxwy2 c2 c3 wx1 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
 step c3: COMMIT;
@@ -909,9 +1071,11 @@ step c1: COMMIT;

 starting permutation: ry3 rxwy2 c3 wx1 c1 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c3: COMMIT;
 step wx1: update D1 set id = id + 1;
@@ -920,9 +1084,11 @@ step c2: COMMIT;

 starting permutation: ry3 rxwy2 c3 wx1 c2 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c3: COMMIT;
 step wx1: update D1 set id = id + 1;
@@ -931,9 +1097,11 @@ step c1: COMMIT;

 starting permutation: ry3 rxwy2 c3 c2 wx1 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c3: COMMIT;
 step c2: COMMIT;
@@ -942,9 +1110,11 @@ step c1: COMMIT;

 starting permutation: ry3 c3 wx1 c1 rxwy2 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step wx1: update D1 set id = id + 1;
 step c1: COMMIT;
@@ -953,9 +1123,11 @@ step c2: COMMIT;

 starting permutation: ry3 c3 wx1 rxwy2 c1 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
@@ -964,9 +1136,11 @@ step c2: COMMIT;

 starting permutation: ry3 c3 wx1 rxwy2 c2 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step wx1: update D1 set id = id + 1;
 step rxwy2: update D2 set id = (select id+1 from D1);
@@ -975,9 +1149,11 @@ step c1: COMMIT;

 starting permutation: ry3 c3 rxwy2 wx1 c1 c2
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
@@ -986,9 +1162,11 @@ step c2: COMMIT;

 starting permutation: ry3 c3 rxwy2 wx1 c2 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step wx1: update D1 set id = id + 1;
@@ -997,9 +1175,11 @@ step c1: COMMIT;

 starting permutation: ry3 c3 rxwy2 c2 wx1 c1
 step ry3: select id from D2;
-id
+id
+--
+ 1
+(1 row)

-1
 step c3: COMMIT;
 step rxwy2: update D2 set id = (select id+1 from D1);
 step c2: COMMIT;
diff --git a/src/test/isolation/expected/update-conflict-out.out b/src/test/isolation/expected/update-conflict-out.out
index 32be3269b3..1e82bd4de0 100644
--- a/src/test/isolation/expected/update-conflict-out.out
+++ b/src/test/isolation/expected/update-conflict-out.out
@@ -2,7 +2,9 @@ Parsed test spec with 3 sessions

 starting permutation: foo_select bar_insert foo_insert foo_commit trouble_update bar_select bar_commit trouble_abort
 step foo_select: SELECT * FROM txn0 WHERE id = 42;
-id             val
+id|val
+--+---
+(0 rows)

 step bar_insert: INSERT INTO txn0 SELECT 42, 'bar_insert';
 step foo_insert: INSERT INTO txn1 SELECT 7, 'foo_insert';
@@ -15,7 +17,9 @@ step trouble_abort: ABORT;

 starting permutation: foo_select bar_insert foo_insert foo_commit trouble_delete bar_select bar_commit trouble_abort
 step foo_select: SELECT * FROM txn0 WHERE id = 42;
-id             val
+id|val
+--+---
+(0 rows)

 step bar_insert: INSERT INTO txn0 SELECT 42, 'bar_insert';
 step foo_insert: INSERT INTO txn1 SELECT 7, 'foo_insert';
diff --git a/src/test/isolation/expected/vacuum-reltuples.out b/src/test/isolation/expected/vacuum-reltuples.out
index 337b7ab252..cdbe7f3a60 100644
--- a/src/test/isolation/expected/vacuum-reltuples.out
+++ b/src/test/isolation/expected/vacuum-reltuples.out
@@ -11,9 +11,11 @@ step stats:
     select relpages, reltuples from pg_class
      where oid='smalltbl'::regclass;

-relpages       reltuples
+relpages|reltuples
+--------+---------
+       1|       21
+(1 row)

-1              21

 starting permutation: modify open fetch1 vac close stats
 step modify:
@@ -26,9 +28,11 @@ step open:
 step fetch1:
     fetch next from c1;

-dummy
+dummy
+-----
+    1
+(1 row)

-1
 step vac:
     vacuum smalltbl;

@@ -39,9 +43,11 @@ step stats:
     select relpages, reltuples from pg_class
      where oid='smalltbl'::regclass;

-relpages       reltuples
+relpages|reltuples
+--------+---------
+       1|       20
+(1 row)

-1              20

 starting permutation: modify vac stats
 step modify:
@@ -54,6 +60,8 @@ step stats:
     select relpages, reltuples from pg_class
      where oid='smalltbl'::regclass;

-relpages       reltuples
+relpages|reltuples
+--------+---------
+       1|       21
+(1 row)

-1              21
diff --git a/src/test/isolation/isolationtester.c b/src/test/isolation/isolationtester.c
index 0a73d38dae..1198a70f6c 100644
--- a/src/test/isolation/isolationtester.c
+++ b/src/test/isolation/isolationtester.c
@@ -913,23 +913,13 @@ try_complete_step(TestSpec *testspec, Step *step, int flags)
 static void
 printResultSet(PGresult *res)
 {
-    int            nFields;
-    int            i,
-                j;
-
-    /* first, print out the attribute names */
-    nFields = PQnfields(res);
-    for (i = 0; i < nFields; i++)
-        printf("%-15s", PQfname(res, i));
-    printf("\n\n");
+    PQprintOpt    popt;

-    /* next, print out the rows */
-    for (i = 0; i < PQntuples(res); i++)
-    {
-        for (j = 0; j < nFields; j++)
-            printf("%-15s", PQgetvalue(res, i, j));
-        printf("\n");
-    }
+    memset(&popt, 0, sizeof(popt));
+    popt.header = true;
+    popt.align = true;
+    popt.fieldSep = "|";
+    PQprint(stdout, res, &popt);
 }

 /* notice processor, prefixes each message with the session name */

В списке pgsql-hackers по дате отправления:

Предыдущее
От:
Дата:
Сообщение: RE: [PATCH] expand the units that pg_size_pretty supports on output
Следующее
От: David Christensen
Дата:
Сообщение: Re: [PATCH] expand the units that pg_size_pretty supports on output