mirror of https://github.com/postgres/postgres
Also, make sure they pass on all transaction isolation levels.pull/6/head
parent
4f0777ba0f
commit
46d8954654
@ -1,67 +0,0 @@ |
||||
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 s2u: UPDATE parent SET aux = 'baz'; |
||||
ERROR: could not serialize access due to concurrent update |
||||
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'; <waiting ...> |
||||
step s1c: COMMIT; |
||||
step s2u: <... completed> |
||||
error in steps s1c s2u: ERROR: could not serialize access due to concurrent update |
||||
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'; <waiting ...> |
||||
step s2c: COMMIT; |
||||
step s1u: <... completed> |
||||
error in steps s2c s1u: ERROR: could not serialize access due to concurrent update |
||||
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'; <waiting ...> |
||||
step s1c: COMMIT; |
||||
step s2u: <... completed> |
||||
error in steps s1c s2u: ERROR: could not serialize access due to concurrent update |
||||
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'; <waiting ...> |
||||
step s2c: COMMIT; |
||||
step s1u: <... completed> |
||||
error in steps s2c s1u: ERROR: could not serialize access due to concurrent update |
||||
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 s1u: UPDATE parent SET aux = 'bar'; |
||||
ERROR: could not serialize access due to concurrent update |
||||
step s1c: COMMIT; |
||||
@ -0,0 +1,207 @@ |
||||
Parsed test spec with 2 sessions |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker1 s2_unlock s2c |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker1: DELETE FROM foo; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s2c: COMMIT; |
||||
step s1l: <... completed> |
||||
error in steps s2c s1l: ERROR: could not serialize access due to concurrent update |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker2 s2_unlock s2c |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s2c: COMMIT; |
||||
step s1l: <... completed> |
||||
error in steps s2c s1l: ERROR: could not serialize access due to concurrent update |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker3 s2_unlock s2c |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s1l: <... completed> |
||||
key value |
||||
|
||||
1 1 |
||||
step s2c: COMMIT; |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker1 s2_unlock s2r |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker1: DELETE FROM foo; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s2r: ROLLBACK; |
||||
step s1l: <... completed> |
||||
key value |
||||
|
||||
1 1 |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker2 s2_unlock s2r |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s2r: ROLLBACK; |
||||
step s1l: <... completed> |
||||
key value |
||||
|
||||
1 1 |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker3 s2_unlock s2r |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s1l: <... completed> |
||||
key value |
||||
|
||||
1 1 |
||||
step s2r: ROLLBACK; |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker1 s2c s2_unlock |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker1: DELETE FROM foo; |
||||
step s2c: COMMIT; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s1l: <... completed> |
||||
error in steps s2_unlock s1l: ERROR: could not serialize access due to concurrent update |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker2 s2c s2_unlock |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; |
||||
step s2c: COMMIT; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s1l: <... completed> |
||||
error in steps s2_unlock s1l: ERROR: could not serialize access due to concurrent update |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker3 s2c s2_unlock |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2c: COMMIT; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s1l: <... completed> |
||||
error in steps s2_unlock s1l: ERROR: could not serialize access due to concurrent update |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker1 s2r s2_unlock |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker1: DELETE FROM foo; |
||||
step s2r: ROLLBACK; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s1l: <... completed> |
||||
key value |
||||
|
||||
1 1 |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker2 s2r s2_unlock |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; |
||||
step s2r: ROLLBACK; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s1l: <... completed> |
||||
key value |
||||
|
||||
1 1 |
||||
|
||||
starting permutation: s2b s1l s2u s2_blocker3 s2r s2_unlock |
||||
pg_advisory_lock |
||||
|
||||
|
||||
step s2b: BEGIN; |
||||
step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> |
||||
step s2u: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; |
||||
step s2r: ROLLBACK; |
||||
step s2_unlock: SELECT pg_advisory_unlock(0); |
||||
pg_advisory_unlock |
||||
|
||||
t |
||||
step s1l: <... completed> |
||||
key value |
||||
|
||||
1 1 |
||||
Loading…
Reference in new issue