Parsed test spec with 2 sessions 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 ---+----- 1| 1 (1 row) step s2u: UPDATE foo SET value = 2 WHERE key = 1; step s1l: SELECT * FROM foo FOR KEY SHARE; key|value ---+----- 1| 1 (1 row) step s2c: COMMIT; step s2d1: DELETE FROM foo WHERE key = 1; step s1c: COMMIT; step s2d1: <... completed> 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 ---+----- 1| 1 (1 row) step s2u: UPDATE foo SET value = 2 WHERE key = 1; step s1l: SELECT * FROM foo FOR KEY SHARE; key|value ---+----- 1| 1 (1 row) step s2c: COMMIT; step s2d2: UPDATE foo SET key = 3 WHERE key = 1; step s1c: COMMIT; step s2d2: <... completed> 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 ---+----- 1| 1 (1 row) step s2u: UPDATE foo SET value = 2 WHERE key = 1; step s1l: SELECT * FROM foo FOR KEY SHARE; key|value ---+----- 1| 1 (1 row) step s2c: COMMIT; step s2d3: UPDATE foo SET value = 3 WHERE key = 1; step s1c: COMMIT;