1Parsed test spec with 2 sessions 2 3starting permutation: s2b s1l s2u s2_blocker1 s2_unlock s2c 4pg_advisory_lock 5---------------- 6 7(1 row) 8 9step s2b: BEGIN; 10step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 11step s2u: UPDATE foo SET value = 2 WHERE key = 1; 12step s2_blocker1: DELETE FROM foo; 13step s2_unlock: SELECT pg_advisory_unlock(0); 14pg_advisory_unlock 15------------------ 16t 17(1 row) 18 19step s2c: COMMIT; 20step s1l: <... completed> 21key|value 22---+----- 23(0 rows) 24 25 26starting permutation: s2b s1l s2u s2_blocker2 s2_unlock s2c 27pg_advisory_lock 28---------------- 29 30(1 row) 31 32step s2b: BEGIN; 33step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 34step s2u: UPDATE foo SET value = 2 WHERE key = 1; 35step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; 36step s2_unlock: SELECT pg_advisory_unlock(0); 37pg_advisory_unlock 38------------------ 39t 40(1 row) 41 42step s2c: COMMIT; 43step s1l: <... completed> 44key|value 45---+----- 46(0 rows) 47 48 49starting permutation: s2b s1l s2u s2_blocker3 s2_unlock s2c 50pg_advisory_lock 51---------------- 52 53(1 row) 54 55step s2b: BEGIN; 56step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 57step s2u: UPDATE foo SET value = 2 WHERE key = 1; 58step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; 59step s2_unlock: SELECT pg_advisory_unlock(0); 60pg_advisory_unlock 61------------------ 62t 63(1 row) 64 65step s1l: <... completed> 66key|value 67---+----- 68 1| 1 69(1 row) 70 71step s2c: COMMIT; 72 73starting permutation: s2b s1l s2u s2_blocker1 s2_unlock s2r 74pg_advisory_lock 75---------------- 76 77(1 row) 78 79step s2b: BEGIN; 80step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 81step s2u: UPDATE foo SET value = 2 WHERE key = 1; 82step s2_blocker1: DELETE FROM foo; 83step s2_unlock: SELECT pg_advisory_unlock(0); 84pg_advisory_unlock 85------------------ 86t 87(1 row) 88 89step s2r: ROLLBACK; 90step s1l: <... completed> 91key|value 92---+----- 93 1| 1 94(1 row) 95 96 97starting permutation: s2b s1l s2u s2_blocker2 s2_unlock s2r 98pg_advisory_lock 99---------------- 100 101(1 row) 102 103step s2b: BEGIN; 104step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 105step s2u: UPDATE foo SET value = 2 WHERE key = 1; 106step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; 107step s2_unlock: SELECT pg_advisory_unlock(0); 108pg_advisory_unlock 109------------------ 110t 111(1 row) 112 113step s2r: ROLLBACK; 114step s1l: <... completed> 115key|value 116---+----- 117 1| 1 118(1 row) 119 120 121starting permutation: s2b s1l s2u s2_blocker3 s2_unlock s2r 122pg_advisory_lock 123---------------- 124 125(1 row) 126 127step s2b: BEGIN; 128step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 129step s2u: UPDATE foo SET value = 2 WHERE key = 1; 130step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; 131step s2_unlock: SELECT pg_advisory_unlock(0); 132pg_advisory_unlock 133------------------ 134t 135(1 row) 136 137step s1l: <... completed> 138key|value 139---+----- 140 1| 1 141(1 row) 142 143step s2r: ROLLBACK; 144 145starting permutation: s2b s1l s2u s2_blocker1 s2c s2_unlock 146pg_advisory_lock 147---------------- 148 149(1 row) 150 151step s2b: BEGIN; 152step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 153step s2u: UPDATE foo SET value = 2 WHERE key = 1; 154step s2_blocker1: DELETE FROM foo; 155step s2c: COMMIT; 156step s2_unlock: SELECT pg_advisory_unlock(0); 157pg_advisory_unlock 158------------------ 159t 160(1 row) 161 162step s1l: <... completed> 163key|value 164---+----- 165(0 rows) 166 167 168starting permutation: s2b s1l s2u s2_blocker2 s2c s2_unlock 169pg_advisory_lock 170---------------- 171 172(1 row) 173 174step s2b: BEGIN; 175step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 176step s2u: UPDATE foo SET value = 2 WHERE key = 1; 177step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; 178step s2c: COMMIT; 179step s2_unlock: SELECT pg_advisory_unlock(0); 180pg_advisory_unlock 181------------------ 182t 183(1 row) 184 185step s1l: <... completed> 186key|value 187---+----- 188(0 rows) 189 190 191starting permutation: s2b s1l s2u s2_blocker3 s2c s2_unlock 192pg_advisory_lock 193---------------- 194 195(1 row) 196 197step s2b: BEGIN; 198step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 199step s2u: UPDATE foo SET value = 2 WHERE key = 1; 200step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; 201step s2c: COMMIT; 202step s2_unlock: SELECT pg_advisory_unlock(0); 203pg_advisory_unlock 204------------------ 205t 206(1 row) 207 208step s1l: <... completed> 209key|value 210---+----- 211 1| 1 212(1 row) 213 214 215starting permutation: s2b s1l s2u s2_blocker1 s2r s2_unlock 216pg_advisory_lock 217---------------- 218 219(1 row) 220 221step s2b: BEGIN; 222step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 223step s2u: UPDATE foo SET value = 2 WHERE key = 1; 224step s2_blocker1: DELETE FROM foo; 225step s2r: ROLLBACK; 226step s2_unlock: SELECT pg_advisory_unlock(0); 227pg_advisory_unlock 228------------------ 229t 230(1 row) 231 232step s1l: <... completed> 233key|value 234---+----- 235 1| 1 236(1 row) 237 238 239starting permutation: s2b s1l s2u s2_blocker2 s2r s2_unlock 240pg_advisory_lock 241---------------- 242 243(1 row) 244 245step s2b: BEGIN; 246step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 247step s2u: UPDATE foo SET value = 2 WHERE key = 1; 248step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; 249step s2r: ROLLBACK; 250step s2_unlock: SELECT pg_advisory_unlock(0); 251pg_advisory_unlock 252------------------ 253t 254(1 row) 255 256step s1l: <... completed> 257key|value 258---+----- 259 1| 1 260(1 row) 261 262 263starting permutation: s2b s1l s2u s2_blocker3 s2r s2_unlock 264pg_advisory_lock 265---------------- 266 267(1 row) 268 269step s2b: BEGIN; 270step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; <waiting ...> 271step s2u: UPDATE foo SET value = 2 WHERE key = 1; 272step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; 273step s2r: ROLLBACK; 274step s2_unlock: SELECT pg_advisory_unlock(0); 275pg_advisory_unlock 276------------------ 277t 278(1 row) 279 280step s1l: <... completed> 281key|value 282---+----- 283 1| 1 284(1 row) 285 286