| 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 |
| (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 |
| (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 |
| (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; |
| step rxy2: select * from test_t where val2 = 1; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| 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 |
| (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 |
| (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 |
| (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 |
| (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 |
| (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; |
| step rxy2: select * from test_t where val2 = 1; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| 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 |
| (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 |
| (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 |
| (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 |
| (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 |
| (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 |
| (10 rows) |
| |
| step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10; |
| step c1: COMMIT; |
| step c2: COMMIT; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| 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 |
| (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 |
| (10 rows) |
| |
| step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10; |
| step c2: COMMIT; |
| step c1: COMMIT; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| 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 |
| (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 |
| (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 |
| 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 |
| (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; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| 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 |
| (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 |
| (10 rows) |
| |
| step c1: COMMIT; |
| step c2: COMMIT; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| 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 |
| (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 |
| (10 rows) |
| |
| step c2: COMMIT; |
| step c1: COMMIT; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| 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 |
| (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 |
| (10 rows) |
| |
| step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10; |
| step c1: COMMIT; |
| step c2: COMMIT; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| 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 |
| (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 |
| (10 rows) |
| |
| step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10; |
| step c2: COMMIT; |
| step c1: COMMIT; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| 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 |
| (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 |
| (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 |
| 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 |
| (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 |
| (11 rows) |
| |
| step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10; |
| step c1: COMMIT; |
| step c2: COMMIT; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| 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 |
| (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 |
| (11 rows) |
| |
| step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10; |
| step c2: COMMIT; |
| step c1: COMMIT; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| 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 |
| (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 |
| (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 |
| 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 |
| (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 |
| (10 rows) |
| |
| step wx1: update test_t set val2 = 2 where val2 = 1 and id = 10; |
| step c1: COMMIT; |