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 1 1 step s1svp: SAVEPOINT f; step s1d: SELECT * FROM foo FOR NO KEY UPDATE; key value 1 1 step s1r: ROLLBACK TO f; step s2l: SELECT * FROM foo FOR UPDATE; step s1c: COMMIT; step s2l: <... completed> key value 1 1 step s2c: COMMIT; starting permutation: s1l s1svp s1d s2l s1r s1c s2c step s1l: SELECT * FROM foo FOR KEY SHARE; key value 1 1 step s1svp: SAVEPOINT f; step s1d: SELECT * FROM foo FOR NO KEY UPDATE; key value 1 1 step s2l: SELECT * FROM foo FOR UPDATE; step s1r: ROLLBACK TO f; step s1c: COMMIT; step s2l: <... completed> key value 1 1 step s2c: COMMIT; starting permutation: s1l s1svp s1d s1r s2l2 s1c s2c step s1l: SELECT * FROM foo FOR KEY SHARE; key value 1 1 step s1svp: SAVEPOINT f; step s1d: SELECT * FROM foo FOR NO KEY UPDATE; key value 1 1 step s1r: ROLLBACK TO f; step s2l2: SELECT * FROM foo FOR NO KEY UPDATE; key value 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 1 1 step s1svp: SAVEPOINT f; step s1d: SELECT * FROM foo FOR NO KEY UPDATE; key value 1 1 step s2l2: SELECT * FROM foo FOR NO KEY UPDATE; step s1r: ROLLBACK TO f; step s2l2: <... completed> key value 1 1 step s1c: COMMIT; step s2c: COMMIT;