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