File tree 2 files changed +4
-10
lines changed
2 files changed +4
-10
lines changed Original file line number Diff line number Diff line change 1
1
Parsed test spec with 3 sessions
2
2
3
- starting permutation: cachefill3 cir1 cic2 ddl3 read1
3
+ starting permutation: cachefill3 cir1 cic2 ddl3
4
4
step cachefill3: TABLE newly_indexed;
5
5
c
6
6
-
9
9
step cir1: BEGIN; CREATE INDEX i1 ON newly_indexed (c); ROLLBACK;
10
10
step cic2: CREATE INDEX i2 ON newly_indexed (c);
11
11
step ddl3: ALTER TABLE newly_indexed ADD extra int;
12
- step read1:
13
- SELECT relhasindex FROM pg_class WHERE oid = 'newly_indexed'::regclass;
14
-
15
- relhasindex
16
- -----------
17
- f
18
- (1 row)
19
-
20
12
21
13
starting permutation: cir1 cic2 ddl3 read1
22
14
step cir1: BEGIN; CREATE INDEX i1 ON newly_indexed (c); ROLLBACK;
Original file line number Diff line number Diff line change @@ -27,12 +27,14 @@ step cachefill3 { TABLE newly_indexed; }
27
27
step ddl3 { ALTER TABLE newly_indexed ADD extra int ; }
28
28
29
29
30
+ # XXX shows an extant bug. Adding step read1 at the end would usually print
31
+ # relhasindex=f (not wanted). This does not reach the unwanted behavior under
32
+ # -DCATCACHE_FORCE_RELEASE and friends.
30
33
permutation
31
34
cachefill3 # populates the pg_class row in the catcache
32
35
cir1 # sets relhasindex=true; rollback discards cache inval
33
36
cic2 # sees relhasindex=true, skips changing it (so no inval)
34
37
ddl3 # cached row as the oldtup of an update, losing relhasindex
35
- read1 # observe damage XXX is an extant bug
36
38
37
39
# without cachefill3, no bug
38
40
permutation cir1 cic2 ddl3 read1
You can’t perform that action at this time.
0 commit comments