forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit7a21306
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 parentb899cde commit7a21306
File tree
3 files changed
+64
-3
lines changed- src
- backend
- catalog
- utils/cache
- include/catalog
3 files changed
+64
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
133 | 154 | | |
134 | 155 | | |
135 | 156 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
1847 | 1848 | | |
1848 | 1849 | | |
1849 | 1850 | | |
| 1851 | + | |
| 1852 | + | |
| 1853 | + | |
| 1854 | + | |
| 1855 | + | |
| 1856 | + | |
| 1857 | + | |
| 1858 | + | |
| 1859 | + | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
| 1866 | + | |
| 1867 | + | |
1850 | 1868 | | |
1851 | 1869 | | |
1852 | 1870 | | |
| |||
1897 | 1915 | | |
1898 | 1916 | | |
1899 | 1917 | | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
| 1922 | + | |
| 1923 | + | |
1900 | 1924 | | |
1901 | 1925 | | |
1902 | 1926 | | |
1903 | 1927 | | |
1904 | | - | |
1905 | | - | |
| 1928 | + | |
| 1929 | + | |
| 1930 | + | |
| 1931 | + | |
| 1932 | + | |
| 1933 | + | |
| 1934 | + | |
| 1935 | + | |
| 1936 | + | |
| 1937 | + | |
| 1938 | + | |
1906 | 1939 | | |
1907 | | - | |
| 1940 | + | |
| 1941 | + | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
1908 | 1946 | | |
1909 | 1947 | | |
1910 | 1948 | | |
| |||
| 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)