diff --git a/src/test/isolation/expected/tuplelock-update.out b/src/test/isolation/expected/tuplelock-update.out index 43754e0715..ea63022e93 100644 --- a/src/test/isolation/expected/tuplelock-update.out +++ b/src/test/isolation/expected/tuplelock-update.out @@ -1,24 +1,36 @@ Parsed test spec with 4 sessions -starting permutation: s1_advlock s2_update s3_update s4_update s1_chain s1_begin s1_grablock s1_advunlock s1_commit -step s1_advlock: SELECT pg_advisory_lock(142857); -pg_advisory_lock +starting permutation: s1_advlock s2_update s3_update s4_update s1_chain s1_begin s1_grablock s1_advunlock1 s1_advunlock2 s1_advunlock3 s1_commit +step s1_advlock: + SELECT pg_advisory_lock(142857), + pg_advisory_lock(285714), + pg_advisory_lock(571428); - +pg_advisory_lockpg_advisory_lockpg_advisory_lock + + step s2_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; -step s3_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; -step s4_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; +step s3_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(285714) IS NOT NULL; +step s4_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(571428) IS NOT NULL; step s1_chain: UPDATE pktab SET data = DEFAULT; step s1_begin: BEGIN; step s1_grablock: SELECT * FROM pktab FOR KEY SHARE; id data 1 2 -step s1_advunlock: SELECT pg_advisory_unlock(142857); +step s1_advunlock1: SELECT pg_advisory_unlock(142857); pg_advisory_unlock t step s2_update: <... completed> +step s1_advunlock2: SELECT pg_sleep(5), pg_advisory_unlock(285714); +pg_sleep pg_advisory_unlock + + t step s3_update: <... completed> +step s1_advunlock3: SELECT pg_sleep(5), pg_advisory_unlock(571428); +pg_sleep pg_advisory_unlock + + t step s4_update: <... completed> step s1_commit: COMMIT; diff --git a/src/test/isolation/specs/tuplelock-update.spec b/src/test/isolation/specs/tuplelock-update.spec index d93e883ebb..8f5a1f7314 100644 --- a/src/test/isolation/specs/tuplelock-update.spec +++ b/src/test/isolation/specs/tuplelock-update.spec @@ -9,20 +9,26 @@ teardown { } session "s1" -step "s1_advlock" { SELECT pg_advisory_lock(142857); } +step "s1_advlock" { + SELECT pg_advisory_lock(142857), + pg_advisory_lock(285714), + pg_advisory_lock(571428); + } step "s1_chain" { UPDATE pktab SET data = DEFAULT; } step "s1_begin" { BEGIN; } step "s1_grablock" { SELECT * FROM pktab FOR KEY SHARE; } -step "s1_advunlock" { SELECT pg_advisory_unlock(142857); } +step "s1_advunlock1" { SELECT pg_advisory_unlock(142857); } +step "s1_advunlock2" { SELECT pg_sleep(5), pg_advisory_unlock(285714); } +step "s1_advunlock3" { SELECT pg_sleep(5), pg_advisory_unlock(571428); } step "s1_commit" { COMMIT; } session "s2" step "s2_update" { UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; } session "s3" -step "s3_update" { UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; } +step "s3_update" { UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(285714) IS NOT NULL; } session "s4" -step "s4_update" { UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; } +step "s4_update" { UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(571428) IS NOT NULL; } -permutation "s1_advlock" "s2_update" "s3_update" "s4_update" "s1_chain" "s1_begin" "s1_grablock" "s1_advunlock" "s1_commit" +permutation "s1_advlock" "s2_update" "s3_update" "s4_update" "s1_chain" "s1_begin" "s1_grablock" "s1_advunlock1" "s1_advunlock2" "s1_advunlock3" "s1_commit"