Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit46d8954

Browse files
committed
Make some isolationtester specs more complete
Also, make sure they pass on all transaction isolation levels.
1 parent4f0777b commit46d8954

9 files changed

+692
-118
lines changed

‎src/test/isolation/expected/fk-deadlock2_1.out

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,31 @@ step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
1919
ERROR: current transaction is aborted, commands ignored until end of transaction block
2020
step s2c: COMMIT;
2121

22+
starting permutation: s1u1 s1u2 s2u1 s2u2 s1c s2c
23+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
24+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
25+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
26+
invalid permutation detected
27+
28+
starting permutation: s1u1 s1u2 s2u1 s2u2 s2c s1c
29+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
30+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
31+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
32+
invalid permutation detected
33+
34+
starting permutation: s1u1 s2u1 s1u2 s1c s2u2 s2c
35+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
36+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
37+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
38+
invalid permutation detected
39+
40+
starting permutation: s1u1 s2u1 s1u2 s2u2 s1c s2c
41+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
42+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
43+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
44+
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
45+
invalid permutation detected
46+
2247
starting permutation: s1u1 s2u1 s1u2 s2u2 s2c s1c
2348
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
2449
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
@@ -29,6 +54,13 @@ step s1u2: <... completed>
2954
error in steps s2c s1u2: ERROR: could not serialize access due to concurrent update
3055
step s1c: COMMIT;
3156

57+
starting permutation: s1u1 s2u1 s2u2 s1u2 s1c s2c
58+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
59+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
60+
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
61+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
62+
invalid permutation detected
63+
3264
starting permutation: s1u1 s2u1 s2u2 s1u2 s2c s1c
3365
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
3466
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
@@ -48,6 +80,19 @@ step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
4880
ERROR: could not serialize access due to read/write dependencies among transactions
4981
step s1c: COMMIT;
5082

83+
starting permutation: s2u1 s1u1 s1u2 s1c s2u2 s2c
84+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
85+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
86+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
87+
invalid permutation detected
88+
89+
starting permutation: s2u1 s1u1 s1u2 s2u2 s1c s2c
90+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
91+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
92+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
93+
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
94+
invalid permutation detected
95+
5196
starting permutation: s2u1 s1u1 s1u2 s2u2 s2c s1c
5297
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
5398
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
@@ -58,6 +103,13 @@ step s1u2: <... completed>
58103
error in steps s2c s1u2: ERROR: could not serialize access due to concurrent update
59104
step s1c: COMMIT;
60105

106+
starting permutation: s2u1 s1u1 s2u2 s1u2 s1c s2c
107+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
108+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
109+
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
110+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
111+
invalid permutation detected
112+
61113
starting permutation: s2u1 s1u1 s2u2 s1u2 s2c s1c
62114
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
63115
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
@@ -77,6 +129,13 @@ step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
77129
ERROR: could not serialize access due to read/write dependencies among transactions
78130
step s1c: COMMIT;
79131

132+
starting permutation: s2u1 s2u2 s1u1 s1u2 s1c s2c
133+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
134+
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
135+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
136+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
137+
invalid permutation detected
138+
80139
starting permutation: s2u1 s2u2 s1u1 s1u2 s2c s1c
81140
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
82141
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;

‎src/test/isolation/expected/fk-deadlock2_2.out

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,31 @@ step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
1919
ERROR: current transaction is aborted, commands ignored until end of transaction block
2020
step s2c: COMMIT;
2121

22+
starting permutation: s1u1 s1u2 s2u1 s2u2 s1c s2c
23+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
24+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
25+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
26+
invalid permutation detected
27+
28+
starting permutation: s1u1 s1u2 s2u1 s2u2 s2c s1c
29+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
30+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
31+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
32+
invalid permutation detected
33+
34+
starting permutation: s1u1 s2u1 s1u2 s1c s2u2 s2c
35+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
36+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
37+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
38+
invalid permutation detected
39+
40+
starting permutation: s1u1 s2u1 s1u2 s2u2 s1c s2c
41+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
42+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
43+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
44+
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
45+
invalid permutation detected
46+
2247
starting permutation: s1u1 s2u1 s1u2 s2u2 s2c s1c
2348
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
2449
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
@@ -29,6 +54,13 @@ step s1u2: <... completed>
2954
error in steps s2c s1u2: ERROR: could not serialize access due to concurrent update
3055
step s1c: COMMIT;
3156

57+
starting permutation: s1u1 s2u1 s2u2 s1u2 s1c s2c
58+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
59+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
60+
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
61+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
62+
invalid permutation detected
63+
3264
starting permutation: s1u1 s2u1 s2u2 s1u2 s2c s1c
3365
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
3466
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
@@ -48,6 +80,19 @@ step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
4880
ERROR: could not serialize access due to concurrent update
4981
step s1c: COMMIT;
5082

83+
starting permutation: s2u1 s1u1 s1u2 s1c s2u2 s2c
84+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
85+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
86+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
87+
invalid permutation detected
88+
89+
starting permutation: s2u1 s1u1 s1u2 s2u2 s1c s2c
90+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
91+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
92+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
93+
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
94+
invalid permutation detected
95+
5196
starting permutation: s2u1 s1u1 s1u2 s2u2 s2c s1c
5297
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
5398
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
@@ -58,6 +103,13 @@ step s1u2: <... completed>
58103
error in steps s2c s1u2: ERROR: could not serialize access due to concurrent update
59104
step s1c: COMMIT;
60105

106+
starting permutation: s2u1 s1u1 s2u2 s1u2 s1c s2c
107+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
108+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
109+
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
110+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
111+
invalid permutation detected
112+
61113
starting permutation: s2u1 s1u1 s2u2 s1u2 s2c s1c
62114
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
63115
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
@@ -77,6 +129,13 @@ step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
77129
ERROR: could not serialize access due to concurrent update
78130
step s1c: COMMIT;
79131

132+
starting permutation: s2u1 s2u2 s1u1 s1u2 s1c s2c
133+
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
134+
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
135+
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
136+
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
137+
invalid permutation detected
138+
80139
starting permutation: s2u1 s2u2 s1u1 s1u2 s2c s1c
81140
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
82141
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2;

‎src/test/isolation/expected/fk-deadlock_1.out

Lines changed: 108 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,33 @@ step s1u: UPDATE parent SET aux = 'bar';
1414
step s2i: INSERT INTO child VALUES (2, 1);
1515
step s1c: COMMIT;
1616
step s2u: UPDATE parent SET aux = 'baz';
17-
ERROR: could not serialize access due to read/write dependencies among transactions
17+
ERROR: could not serialize access due to concurrent update
18+
step s2c: COMMIT;
19+
20+
starting permutation: s1i s1u s2i s2u s1c s2c
21+
step s1i: INSERT INTO child VALUES (1, 1);
22+
step s1u: UPDATE parent SET aux = 'bar';
23+
step s2i: INSERT INTO child VALUES (2, 1);
24+
step s2u: UPDATE parent SET aux = 'baz'; <waiting ...>
25+
step s1c: COMMIT;
26+
step s2u: <... completed>
27+
error in steps s1c s2u: ERROR: could not serialize access due to concurrent update
28+
step s2c: COMMIT;
29+
30+
starting permutation: s1i s1u s2i s2u s2c s1c
31+
step s1i: INSERT INTO child VALUES (1, 1);
32+
step s1u: UPDATE parent SET aux = 'bar';
33+
step s2i: INSERT INTO child VALUES (2, 1);
34+
step s2u: UPDATE parent SET aux = 'baz'; <waiting ...>
35+
invalid permutation detected
36+
37+
starting permutation: s1i s2i s1u s1c s2u s2c
38+
step s1i: INSERT INTO child VALUES (1, 1);
39+
step s2i: INSERT INTO child VALUES (2, 1);
40+
step s1u: UPDATE parent SET aux = 'bar';
41+
step s1c: COMMIT;
42+
step s2u: UPDATE parent SET aux = 'baz';
43+
ERROR: could not serialize access due to concurrent update
1844
step s2c: COMMIT;
1945

2046
starting permutation: s1i s2i s1u s2u s1c s2c
@@ -27,6 +53,20 @@ step s2u: <... completed>
2753
error in steps s1c s2u: ERROR: could not serialize access due to concurrent update
2854
step s2c: COMMIT;
2955

56+
starting permutation: s1i s2i s1u s2u s2c s1c
57+
step s1i: INSERT INTO child VALUES (1, 1);
58+
step s2i: INSERT INTO child VALUES (2, 1);
59+
step s1u: UPDATE parent SET aux = 'bar';
60+
step s2u: UPDATE parent SET aux = 'baz'; <waiting ...>
61+
invalid permutation detected
62+
63+
starting permutation: s1i s2i s2u s1u s1c s2c
64+
step s1i: INSERT INTO child VALUES (1, 1);
65+
step s2i: INSERT INTO child VALUES (2, 1);
66+
step s2u: UPDATE parent SET aux = 'baz';
67+
step s1u: UPDATE parent SET aux = 'bar'; <waiting ...>
68+
invalid permutation detected
69+
3070
starting permutation: s1i s2i s2u s1u s2c s1c
3171
step s1i: INSERT INTO child VALUES (1, 1);
3272
step s2i: INSERT INTO child VALUES (2, 1);
@@ -37,6 +77,24 @@ step s1u: <... completed>
3777
error in steps s2c s1u: ERROR: could not serialize access due to concurrent update
3878
step s1c: COMMIT;
3979

80+
starting permutation: s1i s2i s2u s2c s1u s1c
81+
step s1i: INSERT INTO child VALUES (1, 1);
82+
step s2i: INSERT INTO child VALUES (2, 1);
83+
step s2u: UPDATE parent SET aux = 'baz';
84+
step s2c: COMMIT;
85+
step s1u: UPDATE parent SET aux = 'bar';
86+
ERROR: could not serialize access due to concurrent update
87+
step s1c: COMMIT;
88+
89+
starting permutation: s2i s1i s1u s1c s2u s2c
90+
step s2i: INSERT INTO child VALUES (2, 1);
91+
step s1i: INSERT INTO child VALUES (1, 1);
92+
step s1u: UPDATE parent SET aux = 'bar';
93+
step s1c: COMMIT;
94+
step s2u: UPDATE parent SET aux = 'baz';
95+
ERROR: could not serialize access due to concurrent update
96+
step s2c: COMMIT;
97+
4098
starting permutation: s2i s1i s1u s2u s1c s2c
4199
step s2i: INSERT INTO child VALUES (2, 1);
42100
step s1i: INSERT INTO child VALUES (1, 1);
@@ -47,6 +105,20 @@ step s2u: <... completed>
47105
error in steps s1c s2u: ERROR: could not serialize access due to concurrent update
48106
step s2c: COMMIT;
49107

108+
starting permutation: s2i s1i s1u s2u s2c s1c
109+
step s2i: INSERT INTO child VALUES (2, 1);
110+
step s1i: INSERT INTO child VALUES (1, 1);
111+
step s1u: UPDATE parent SET aux = 'bar';
112+
step s2u: UPDATE parent SET aux = 'baz'; <waiting ...>
113+
invalid permutation detected
114+
115+
starting permutation: s2i s1i s2u s1u s1c s2c
116+
step s2i: INSERT INTO child VALUES (2, 1);
117+
step s1i: INSERT INTO child VALUES (1, 1);
118+
step s2u: UPDATE parent SET aux = 'baz';
119+
step s1u: UPDATE parent SET aux = 'bar'; <waiting ...>
120+
invalid permutation detected
121+
50122
starting permutation: s2i s1i s2u s1u s2c s1c
51123
step s2i: INSERT INTO child VALUES (2, 1);
52124
step s1i: INSERT INTO child VALUES (1, 1);
@@ -57,11 +129,45 @@ step s1u: <... completed>
57129
error in steps s2c s1u: ERROR: could not serialize access due to concurrent update
58130
step s1c: COMMIT;
59131

132+
starting permutation: s2i s1i s2u s2c s1u s1c
133+
step s2i: INSERT INTO child VALUES (2, 1);
134+
step s1i: INSERT INTO child VALUES (1, 1);
135+
step s2u: UPDATE parent SET aux = 'baz';
136+
step s2c: COMMIT;
137+
step s1u: UPDATE parent SET aux = 'bar';
138+
ERROR: could not serialize access due to concurrent update
139+
step s1c: COMMIT;
140+
141+
starting permutation: s2i s2u s1i s1u s1c s2c
142+
step s2i: INSERT INTO child VALUES (2, 1);
143+
step s2u: UPDATE parent SET aux = 'baz';
144+
step s1i: INSERT INTO child VALUES (1, 1);
145+
step s1u: UPDATE parent SET aux = 'bar'; <waiting ...>
146+
invalid permutation detected
147+
148+
starting permutation: s2i s2u s1i s1u s2c s1c
149+
step s2i: INSERT INTO child VALUES (2, 1);
150+
step s2u: UPDATE parent SET aux = 'baz';
151+
step s1i: INSERT INTO child VALUES (1, 1);
152+
step s1u: UPDATE parent SET aux = 'bar'; <waiting ...>
153+
step s2c: COMMIT;
154+
step s1u: <... completed>
155+
error in steps s2c s1u: ERROR: could not serialize access due to concurrent update
156+
step s1c: COMMIT;
157+
60158
starting permutation: s2i s2u s1i s2c s1u s1c
61159
step s2i: INSERT INTO child VALUES (2, 1);
62160
step s2u: UPDATE parent SET aux = 'baz';
63161
step s1i: INSERT INTO child VALUES (1, 1);
64162
step s2c: COMMIT;
65163
step s1u: UPDATE parent SET aux = 'bar';
66-
ERROR: could not serialize access due to read/write dependencies among transactions
164+
ERROR: could not serialize access due to concurrent update
165+
step s1c: COMMIT;
166+
167+
starting permutation: s2i s2u s2c s1i s1u s1c
168+
step s2i: INSERT INTO child VALUES (2, 1);
169+
step s2u: UPDATE parent SET aux = 'baz';
170+
step s2c: COMMIT;
171+
step s1i: INSERT INTO child VALUES (1, 1);
172+
step s1u: UPDATE parent SET aux = 'bar';
67173
step s1c: COMMIT;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp