- Notifications
You must be signed in to change notification settings - Fork5
Commit948d6ec
committed
Modify the relcache to record the temp status of both local and nonlocal
temp relations; this is no more expensive than before, now that we havepg_class.relistemp. Insert tests into bufmgr.c to prevent attemptingto fetch pages from nonlocal temp relations. This provides a low-leveldefense against bugs-of-omission allowing temp pages to be loaded into sharedbuffers, as in the contrib/pgstattuple problem reported by Stuart Bishop.While at it, tweak a bunch of places to use new relcache tests (instead ofexpensive probes into pg_namespace) to detect local or nonlocal temp tables.1 parent84a059a commit948d6ec
File tree
14 files changed
+92
-56
lines changed- src
- backend
- catalog
- commands
- optimizer/prep
- postmaster
- storage/buffer
- utils/cache
- include/utils
14 files changed
+92
-56
lines changedLines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
2264 | 2264 |
| |
2265 | 2265 |
| |
2266 | 2266 |
| |
2267 |
| - | |
| 2267 | + | |
2268 | 2268 |
| |
2269 | 2269 |
| |
2270 | 2270 |
| |
|
Lines changed: 4 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
16 |
| - | |
| 16 | + | |
17 | 17 |
| |
18 | 18 |
| |
19 | 19 |
| |
| |||
2389 | 2389 |
| |
2390 | 2390 |
| |
2391 | 2391 |
| |
| 2392 | + | |
| 2393 | + | |
| 2394 | + | |
2392 | 2395 |
| |
2393 | 2396 |
| |
2394 | 2397 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
179 | 179 |
| |
180 | 180 |
| |
181 | 181 |
| |
182 |
| - | |
| 182 | + | |
183 | 183 |
| |
184 | 184 |
| |
185 | 185 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
213 | 213 |
| |
214 | 214 |
| |
215 | 215 |
| |
216 |
| - | |
| 216 | + | |
217 | 217 |
| |
218 | 218 |
| |
219 | 219 |
| |
|
Lines changed: 4 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
14 |
| - | |
| 14 | + | |
15 | 15 |
| |
16 | 16 |
| |
17 | 17 |
| |
| |||
117 | 117 |
| |
118 | 118 |
| |
119 | 119 |
| |
120 |
| - | |
| 120 | + | |
121 | 121 |
| |
122 | 122 |
| |
123 | 123 |
| |
| |||
302 | 302 |
| |
303 | 303 |
| |
304 | 304 |
| |
305 |
| - | |
| 305 | + | |
306 | 306 |
| |
307 | 307 |
| |
308 | 308 |
| |
| |||
465 | 465 |
| |
466 | 466 |
| |
467 | 467 |
| |
468 |
| - | |
| 468 | + | |
469 | 469 |
| |
470 | 470 |
| |
471 | 471 |
| |
|
Lines changed: 2 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
1001 | 1001 |
| |
1002 | 1002 |
| |
1003 | 1003 |
| |
1004 |
| - | |
1005 |
| - | |
| 1004 | + | |
1006 | 1005 |
| |
1007 | 1006 |
| |
1008 | 1007 |
| |
|
Lines changed: 4 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
175 | 175 |
| |
176 | 176 |
| |
177 | 177 |
| |
178 |
| - | |
| 178 | + | |
179 | 179 |
| |
180 | 180 |
| |
181 | 181 |
| |
| |||
1404 | 1404 |
| |
1405 | 1405 |
| |
1406 | 1406 |
| |
1407 |
| - | |
| 1407 | + | |
| 1408 | + | |
1408 | 1409 |
| |
1409 | 1410 |
| |
1410 | 1411 |
| |
|
Lines changed: 9 additions & 10 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
1056 | 1056 |
| |
1057 | 1057 |
| |
1058 | 1058 |
| |
1059 |
| - | |
| 1059 | + | |
1060 | 1060 |
| |
1061 | 1061 |
| |
1062 | 1062 |
| |
| |||
1203 | 1203 |
| |
1204 | 1204 |
| |
1205 | 1205 |
| |
1206 |
| - | |
| 1206 | + | |
1207 | 1207 |
| |
1208 | 1208 |
| |
1209 | 1209 |
| |
| |||
2793 | 2793 |
| |
2794 | 2794 |
| |
2795 | 2795 |
| |
2796 |
| - | |
| 2796 | + | |
2797 | 2797 |
| |
2798 | 2798 |
| |
2799 | 2799 |
| |
| |||
4603 | 4603 |
| |
4604 | 4604 |
| |
4605 | 4605 |
| |
4606 |
| - | |
| 4606 | + | |
4607 | 4607 |
| |
4608 |
| - | |
| 4608 | + | |
4609 | 4609 |
| |
4610 | 4610 |
| |
4611 | 4611 |
| |
4612 | 4612 |
| |
4613 | 4613 |
| |
4614 | 4614 |
| |
4615 |
| - | |
| 4615 | + | |
4616 | 4616 |
| |
4617 | 4617 |
| |
4618 | 4618 |
| |
| |||
6690 | 6690 |
| |
6691 | 6691 |
| |
6692 | 6692 |
| |
6693 |
| - | |
| 6693 | + | |
6694 | 6694 |
| |
6695 | 6695 |
| |
6696 | 6696 |
| |
| |||
6901 | 6901 |
| |
6902 | 6902 |
| |
6903 | 6903 |
| |
6904 |
| - | |
6905 |
| - | |
| 6904 | + | |
6906 | 6905 |
| |
6907 | 6906 |
| |
6908 | 6907 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
16 |
| - | |
| 16 | + | |
17 | 17 |
| |
18 | 18 |
| |
19 | 19 |
| |
| |||
1147 | 1147 |
| |
1148 | 1148 |
| |
1149 | 1149 |
| |
1150 |
| - | |
| 1150 | + | |
1151 | 1151 |
| |
1152 | 1152 |
| |
1153 | 1153 |
| |
|
Lines changed: 11 additions & 9 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
22 | 22 |
| |
23 | 23 |
| |
24 | 24 |
| |
25 |
| - | |
| 25 | + | |
26 | 26 |
| |
27 | 27 |
| |
28 | 28 |
| |
| |||
1258 | 1258 |
| |
1259 | 1259 |
| |
1260 | 1260 |
| |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
1261 | 1267 |
| |
1262 | 1268 |
| |
1263 | 1269 |
| |
1264 | 1270 |
| |
1265 | 1271 |
| |
1266 | 1272 |
| |
1267 |
| - | |
1268 |
| - | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
1269 | 1276 |
| |
1270 |
| - | |
1271 |
| - | |
1272 |
| - | |
1273 |
| - | |
1274 |
| - | |
1275 |
| - | |
| 1277 | + | |
1276 | 1278 |
| |
1277 | 1279 |
| |
1278 | 1280 |
| |
|
Lines changed: 8 additions & 8 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
55 | 55 |
| |
56 | 56 |
| |
57 | 57 |
| |
58 |
| - | |
| 58 | + | |
59 | 59 |
| |
60 | 60 |
| |
61 | 61 |
| |
| |||
1942 | 1942 |
| |
1943 | 1943 |
| |
1944 | 1944 |
| |
1945 |
| - | |
1946 | 1945 |
| |
1947 | 1946 |
| |
1948 | 1947 |
| |
| |||
1959 | 1958 |
| |
1960 | 1959 |
| |
1961 | 1960 |
| |
1962 |
| - | |
1963 |
| - | |
1964 |
| - | |
| 1961 | + | |
1965 | 1962 |
| |
| 1963 | + | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
1966 | 1967 |
| |
1967 | 1968 |
| |
1968 | 1969 |
| |
| |||
2052 | 2053 |
| |
2053 | 2054 |
| |
2054 | 2055 |
| |
2055 |
| - | |
2056 |
| - | |
| 2056 | + | |
2057 | 2057 |
| |
2058 |
| - | |
| 2058 | + | |
2059 | 2059 |
| |
2060 | 2060 |
| |
2061 | 2061 |
| |
|
Lines changed: 19 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
122 | 122 |
| |
123 | 123 |
| |
124 | 124 |
| |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
125 | 131 |
| |
126 | 132 |
| |
127 | 133 |
| |
| |||
204 | 210 |
| |
205 | 211 |
| |
206 | 212 |
| |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
207 | 223 |
| |
208 | 224 |
| |
209 | 225 |
| |
| |||
220 | 236 |
| |
221 | 237 |
| |
222 | 238 |
| |
| 239 | + | |
| 240 | + | |
223 | 241 |
| |
224 | 242 |
| |
225 | 243 |
| |
|
0 commit comments
Comments
(0)