*** a/src/test/isolation/expected/fk-deadlock2_1.out --- b/src/test/isolation/expected/fk-deadlock2_1.out *************** *** 1,110 **** Parsed test spec with 2 sessions starting permutation: s1u1 s1u2 s1c s2u1 s2u2 s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1c: COMMIT; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2c: COMMIT; starting permutation: s1u1 s1u2 s2u1 s1c s2u2 s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1c: COMMIT; step s2u1: <... completed> ERROR: could not serialize access due to concurrent update ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: current transaction is aborted, commands ignored until end of transaction block ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s1u2 s2u2 s1c s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s1u2 s2u2 s2c s1c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s1u1 s2u1 s2u2 s1u2 s1c s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s2u2 s1u2 s2c s1c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s1u1 s1u2 s2u2 s1c s2c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s2u1 s1u1 s1u2 s2u2 s2c s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s1u1 s2u2 s1u2 s1c s2c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s2u1 s1u1 s2u2 s1u2 s2c s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s2u2 s1u1 s2c s1u2 s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2c: COMMIT; step s1u1: <... completed> ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: could not serialize access due to read/write dependencies among transactions ! step s1c: COMMIT; --- 1,110 ---- Parsed test spec with 2 sessions starting permutation: s1u1 s1u2 s1c s2u1 s2u2 s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1c: COMMIT; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2c: COMMIT; starting permutation: s1u1 s1u2 s2u1 s1c s2u2 s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1c: COMMIT; step s2u1: <... completed> ERROR: could not serialize access due to concurrent update ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: current transaction is aborted, commands ignored until end of transaction block ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s1u2 s2u2 s1c s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s1u2 s2u2 s2c s1c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s1u1 s2u1 s2u2 s1u2 s1c s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s2u2 s1u2 s2c s1c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s1u1 s1u2 s2u2 s1c s2c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s2u1 s1u1 s1u2 s2u2 s2c s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s1u1 s2u2 s1u2 s1c s2c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s2u1 s1u1 s2u2 s1u2 s2c s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s2u2 s1u1 s2c s1u2 s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2c: COMMIT; step s1u1: <... completed> ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: could not serialize access due to read/write dependencies among transactions ! step s1c: COMMIT; *** a/src/test/isolation/expected/fk-deadlock2_2.out --- b/src/test/isolation/expected/fk-deadlock2_2.out *************** *** 1,110 **** Parsed test spec with 2 sessions starting permutation: s1u1 s1u2 s1c s2u1 s2u2 s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1c: COMMIT; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2c: COMMIT; starting permutation: s1u1 s1u2 s2u1 s1c s2u2 s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1c: COMMIT; step s2u1: <... completed> ERROR: could not serialize access due to concurrent update ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: current transaction is aborted, commands ignored until end of transaction block ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s1u2 s2u2 s1c s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s1u2 s2u2 s2c s1c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s1u1 s2u1 s2u2 s1u2 s1c s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s2u2 s1u2 s2c s1c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s1u1 s1u2 s2u2 s1c s2c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s2u1 s1u1 s1u2 s2u2 s2c s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s1u1 s2u2 s1u2 s1c s2c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s2u1 s1u1 s2u2 s1u2 s2c s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s2u2 s1u1 s2c s1u2 s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2c: COMMIT; step s1u1: <... completed> ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: could not serialize access due to concurrent update ! step s1c: COMMIT; --- 1,110 ---- Parsed test spec with 2 sessions starting permutation: s1u1 s1u2 s1c s2u1 s2u2 s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1c: COMMIT; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2c: COMMIT; starting permutation: s1u1 s1u2 s2u1 s1c s2u2 s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1c: COMMIT; step s2u1: <... completed> ERROR: could not serialize access due to concurrent update ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: current transaction is aborted, commands ignored until end of transaction block ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s1u2 s2u2 s1c s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s1u2 s2u2 s2c s1c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s1u1 s2u1 s2u2 s1u2 s1c s2c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s1u1 s2u1 s2u2 s1u2 s2c s1c ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s1u1 s1u2 s2u2 s1c s2c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s2u1 s1u1 s1u2 s2u2 s2c s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; step s1u2: <... completed> ERROR: deadlock detected ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s1u1 s2u2 s1u2 s1c s2c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s2u1 s1u1 s2u2 s1u2 s2c s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: deadlock detected step s2u2: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2u1 s2u2 s1u1 s2c s1u2 s1c ! step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ! step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; ! step s2c: COMMIT; step s1u1: <... completed> ! step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; ERROR: could not serialize access due to concurrent update ! step s1c: COMMIT; *** a/src/test/isolation/expected/fk-deadlock_1.out --- b/src/test/isolation/expected/fk-deadlock_1.out *************** *** 1,71 **** Parsed test spec with 2 sessions starting permutation: s1i s1u s1c s2i s2u s2c ! step s1i: INSERT INTO child VALUES (1, 1); ! step s1u: UPDATE parent SET aux = 'bar'; ! step s1c: COMMIT; ! step s2i: INSERT INTO child VALUES (2, 1); ! step s2u: UPDATE parent SET aux = 'baz'; ! step s2c: COMMIT; starting permutation: s1i s1u s2i s1c s2u s2c ! step s1i: INSERT INTO child VALUES (1, 1); ! step s1u: UPDATE parent SET aux = 'bar'; ! step s2i: INSERT INTO child VALUES (2, 1); ! step s1c: COMMIT; step s2i: <... completed> ERROR: could not serialize access due to concurrent update ! step s2u: UPDATE parent SET aux = 'baz'; ERROR: current transaction is aborted, commands ignored until end of transaction block ! step s2c: COMMIT; starting permutation: s1i s2i s1u s2u s1c s2c ! step s1i: INSERT INTO child VALUES (1, 1); ! step s2i: INSERT INTO child VALUES (2, 1); ! step s1u: UPDATE parent SET aux = 'bar'; ! step s2u: UPDATE parent SET aux = 'baz'; step s1u: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s1i s2i s2u s1u s2c s1c ! step s1i: INSERT INTO child VALUES (1, 1); ! step s2i: INSERT INTO child VALUES (2, 1); ! step s2u: UPDATE parent SET aux = 'baz'; ! step s1u: UPDATE parent SET aux = 'bar'; ERROR: deadlock detected step s2u: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2i s1i s1u s2u s1c s2c ! step s2i: INSERT INTO child VALUES (2, 1); ! step s1i: INSERT INTO child VALUES (1, 1); ! step s1u: UPDATE parent SET aux = 'bar'; ! step s2u: UPDATE parent SET aux = 'baz'; step s1u: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s2i s1i s2u s1u s2c s1c ! step s2i: INSERT INTO child VALUES (2, 1); ! step s1i: INSERT INTO child VALUES (1, 1); ! step s2u: UPDATE parent SET aux = 'baz'; ! step s1u: UPDATE parent SET aux = 'bar'; ERROR: deadlock detected step s2u: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2i s2u s1i s2c s1u s1c ! step s2i: INSERT INTO child VALUES (2, 1); ! step s2u: UPDATE parent SET aux = 'baz'; ! step s1i: INSERT INTO child VALUES (1, 1); ! step s2c: COMMIT; step s1i: <... completed> ERROR: could not serialize access due to concurrent update ! step s1u: UPDATE parent SET aux = 'bar'; ERROR: current transaction is aborted, commands ignored until end of transaction block ! step s1c: COMMIT; --- 1,71 ---- Parsed test spec with 2 sessions starting permutation: s1i s1u s1c s2i s2u s2c ! step s1i: INSERT INTO child VALUES (1, 1); ! step s1u: UPDATE parent SET aux = 'bar'; ! step s1c: COMMIT; ! step s2i: INSERT INTO child VALUES (2, 1); ! step s2u: UPDATE parent SET aux = 'baz'; ! step s2c: COMMIT; starting permutation: s1i s1u s2i s1c s2u s2c ! step s1i: INSERT INTO child VALUES (1, 1); ! step s1u: UPDATE parent SET aux = 'bar'; ! step s2i: INSERT INTO child VALUES (2, 1); ! step s1c: COMMIT; step s2i: <... completed> ERROR: could not serialize access due to concurrent update ! step s2u: UPDATE parent SET aux = 'baz'; ERROR: current transaction is aborted, commands ignored until end of transaction block ! step s2c: COMMIT; starting permutation: s1i s2i s1u s2u s1c s2c ! step s1i: INSERT INTO child VALUES (1, 1); ! step s2i: INSERT INTO child VALUES (2, 1); ! step s1u: UPDATE parent SET aux = 'bar'; ! step s2u: UPDATE parent SET aux = 'baz'; step s1u: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s1i s2i s2u s1u s2c s1c ! step s1i: INSERT INTO child VALUES (1, 1); ! step s2i: INSERT INTO child VALUES (2, 1); ! step s2u: UPDATE parent SET aux = 'baz'; ! step s1u: UPDATE parent SET aux = 'bar'; ERROR: deadlock detected step s2u: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2i s1i s1u s2u s1c s2c ! step s2i: INSERT INTO child VALUES (2, 1); ! step s1i: INSERT INTO child VALUES (1, 1); ! step s1u: UPDATE parent SET aux = 'bar'; ! step s2u: UPDATE parent SET aux = 'baz'; step s1u: <... completed> ERROR: deadlock detected ! step s1c: COMMIT; ! step s2c: COMMIT; starting permutation: s2i s1i s2u s1u s2c s1c ! step s2i: INSERT INTO child VALUES (2, 1); ! step s1i: INSERT INTO child VALUES (1, 1); ! step s2u: UPDATE parent SET aux = 'baz'; ! step s1u: UPDATE parent SET aux = 'bar'; ERROR: deadlock detected step s2u: <... completed> ! step s2c: COMMIT; ! step s1c: COMMIT; starting permutation: s2i s2u s1i s2c s1u s1c ! step s2i: INSERT INTO child VALUES (2, 1); ! step s2u: UPDATE parent SET aux = 'baz'; ! step s1i: INSERT INTO child VALUES (1, 1); ! step s2c: COMMIT; step s1i: <... completed> ERROR: could not serialize access due to concurrent update ! step s1u: UPDATE parent SET aux = 'bar'; ERROR: current transaction is aborted, commands ignored until end of transaction block ! step s1c: COMMIT;