forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commite4afd71
committed
Cope with inplace update making catcache stale during TOAST fetch.
This extendsad98fb1 to invals ofinplace updates. Trouble requires an inplace update of a catalog havinga TOAST table, so only pg_database was at risk. (The other catalog onwhich core code performs inplace updates, pg_class, has no TOAST table.)Trouble would require something like the inplace-inval.spec test.Consider GRANT ... ON DATABASE fetching a stale row from cache anddiscarding a datfrozenxid update that vac_truncate_clog() has alreadyrelied upon. Back-patch to v12 (all supported versions).Reviewed (in an earlier version) by Robert Haas.Discussion:https://postgr.es/m/20240114201411.d0@rfd.leadboat.comDiscussion:https://postgr.es/m/20240512232923.aa.nmisch@google.com1 parentfc8c258 commite4afd71
File tree
3 files changed
+64
-3
lines changed- src
- backend
- catalog
- utils/cache
- include/catalog
3 files changed
+64
-3
lines changedLines changed: 21 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
137 | 137 |
| |
138 | 138 |
| |
139 | 139 |
| |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
140 | 161 |
| |
141 | 162 |
| |
142 | 163 |
| |
|
Lines changed: 41 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
20 | 20 |
| |
21 | 21 |
| |
22 | 22 |
| |
| 23 | + | |
23 | 24 |
| |
24 | 25 |
| |
25 | 26 |
| |
| |||
1938 | 1939 |
| |
1939 | 1940 |
| |
1940 | 1941 |
| |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
1941 | 1959 |
| |
1942 | 1960 |
| |
1943 | 1961 |
| |
| |||
1988 | 2006 |
| |
1989 | 2007 |
| |
1990 | 2008 |
| |
| 2009 | + | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
1991 | 2015 |
| |
1992 | 2016 |
| |
1993 | 2017 |
| |
1994 | 2018 |
| |
1995 |
| - | |
1996 |
| - | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
| 2022 | + | |
| 2023 | + | |
| 2024 | + | |
| 2025 | + | |
| 2026 | + | |
| 2027 | + | |
| 2028 | + | |
| 2029 | + | |
1997 | 2030 |
| |
1998 |
| - | |
| 2031 | + | |
| 2032 | + | |
| 2033 | + | |
| 2034 | + | |
| 2035 | + | |
| 2036 | + | |
1999 | 2037 |
| |
2000 | 2038 |
| |
2001 | 2039 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
21 | 21 |
| |
22 | 22 |
| |
23 | 23 |
| |
| 24 | + | |
24 | 25 |
| |
25 | 26 |
| |
26 | 27 |
| |
27 | 28 |
| |
28 | 29 |
| |
| 30 | + | |
29 | 31 |
| |
30 | 32 |
| |
31 | 33 |
| |
|
0 commit comments
Comments
(0)