| Parsed test spec with 2 sessions |
| |
| starting permutation: beginrr1 beginrr2 donothing1 c1 donothing2 c2 show |
| step beginrr1: BEGIN ISOLATION LEVEL REPEATABLE READ; |
| step beginrr2: BEGIN ISOLATION LEVEL REPEATABLE READ; |
| step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; |
| 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 |
| ---+---------- |
| 1|donothing1 |
| (1 row) |
| |
| |
| starting permutation: beginrr1 beginrr2 donothing2 c2 donothing1 c1 show |
| step beginrr1: BEGIN ISOLATION LEVEL REPEATABLE READ; |
| step beginrr2: BEGIN ISOLATION LEVEL REPEATABLE READ; |
| step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; |
| 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 |
| ---+---------- |
| 1|donothing2 |
| (1 row) |
| |
| |
| starting permutation: beginrr1 beginrr2 donothing1 donothing2 c1 c2 show |
| step beginrr1: BEGIN ISOLATION LEVEL REPEATABLE READ; |
| step beginrr2: BEGIN ISOLATION LEVEL REPEATABLE READ; |
| step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; |
| step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; <waiting ...> |
| step c1: COMMIT; |
| step donothing2: <... completed> |
| ERROR: could not serialize access due to concurrent update |
| step c2: COMMIT; |
| step show: SELECT * FROM ints; |
| key|val |
| ---+---------- |
| 1|donothing1 |
| (1 row) |
| |
| |
| starting permutation: beginrr1 beginrr2 donothing2 donothing1 c2 c1 show |
| step beginrr1: BEGIN ISOLATION LEVEL REPEATABLE READ; |
| step beginrr2: BEGIN ISOLATION LEVEL REPEATABLE READ; |
| step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; |
| step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; <waiting ...> |
| step c2: COMMIT; |
| step donothing1: <... completed> |
| ERROR: could not serialize access due to concurrent update |
| step c1: COMMIT; |
| step show: SELECT * FROM ints; |
| key|val |
| ---+---------- |
| 1|donothing2 |
| (1 row) |
| |
| |
| starting permutation: begins1 begins2 donothing1 c1 donothing2 c2 show |
| step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE; |
| step begins2: BEGIN ISOLATION LEVEL SERIALIZABLE; |
| step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; |
| 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 |
| ---+---------- |
| 1|donothing1 |
| (1 row) |
| |
| |
| starting permutation: begins1 begins2 donothing2 c2 donothing1 c1 show |
| step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE; |
| step begins2: BEGIN ISOLATION LEVEL SERIALIZABLE; |
| step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; |
| 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 |
| ---+---------- |
| 1|donothing2 |
| (1 row) |
| |
| |
| starting permutation: begins1 begins2 donothing1 donothing2 c1 c2 show |
| step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE; |
| step begins2: BEGIN ISOLATION LEVEL SERIALIZABLE; |
| step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; |
| step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; <waiting ...> |
| step c1: COMMIT; |
| step donothing2: <... completed> |
| ERROR: could not serialize access due to concurrent update |
| step c2: COMMIT; |
| step show: SELECT * FROM ints; |
| key|val |
| ---+---------- |
| 1|donothing1 |
| (1 row) |
| |
| |
| starting permutation: begins1 begins2 donothing2 donothing1 c2 c1 show |
| step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE; |
| step begins2: BEGIN ISOLATION LEVEL SERIALIZABLE; |
| step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; |
| step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; <waiting ...> |
| step c2: COMMIT; |
| step donothing1: <... completed> |
| ERROR: could not serialize access due to concurrent update |
| step c1: COMMIT; |
| step show: SELECT * FROM ints; |
| key|val |
| ---+---------- |
| 1|donothing2 |
| (1 row) |
| |