Commit 7db0cd2
committed
Set PD_ALL_VISIBLE and visibility map bits in COPY FREEZE
Make sure COPY FREEZE marks the pages as PD_ALL_VISIBLE and updates the
visibility map. Until now we only marked individual tuples as frozen,
but page-level flags were not updated, so the first VACUUM after the
COPY FREEZE had to rewrite the whole table.
This is a fairly old patch, and multiple people worked on it. The first
version was written by Jeff Janes, and then reworked by Pavan Deolasee
and Anastasia Lubennikova.
Author: Anastasia Lubennikova, Pavan Deolasee, Jeff Janes
Reviewed-by: Kuntal Ghosh, Jeff Janes, Tomas Vondra, Masahiko Sawada,
Andres Freund, Ibrar Ahmed, Robert Haas, Tatsuro Ishii,
Darafei Praliaskouski
Discussion: https://postgr.es/m/CABOikdN-ptGv0mZntrK2Q8OtfUuAjqaYMGmkdU1dCKFtUxVLrg@mail.gmail.com
Discussion: https://postgr.es/m/CAMkU%3D1w3osJJ2FneELhhNRLxfZitDgp9FPHee08NT2FQFmz_pQ%40mail.gmail.com1 parent 0c7d3bb commit 7db0cd2
File tree
5 files changed
+230
-8
lines changed- contrib/pg_visibility
- expected
- sql
- src
- backend/access/heap
- include/access
5 files changed
+230
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
182 | 245 | | |
183 | 246 | | |
184 | 247 | | |
| |||
188 | 251 | | |
189 | 252 | | |
190 | 253 | | |
| 254 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
97 | 173 | | |
98 | 174 | | |
99 | 175 | | |
| |||
103 | 179 | | |
104 | 180 | | |
105 | 181 | | |
| 182 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2121 | 2121 | | |
2122 | 2122 | | |
2123 | 2123 | | |
| 2124 | + | |
2124 | 2125 | | |
2125 | 2126 | | |
2126 | 2127 | | |
| |||
2175 | 2176 | | |
2176 | 2177 | | |
2177 | 2178 | | |
2178 | | - | |
| 2179 | + | |
2179 | 2180 | | |
| 2181 | + | |
2180 | 2182 | | |
2181 | 2183 | | |
2182 | 2184 | | |
2183 | 2185 | | |
2184 | 2186 | | |
2185 | 2187 | | |
2186 | 2188 | | |
| 2189 | + | |
| 2190 | + | |
| 2191 | + | |
2187 | 2192 | | |
2188 | 2193 | | |
2189 | 2194 | | |
2190 | 2195 | | |
2191 | 2196 | | |
2192 | 2197 | | |
| 2198 | + | |
| 2199 | + | |
| 2200 | + | |
| 2201 | + | |
| 2202 | + | |
2193 | 2203 | | |
2194 | 2204 | | |
2195 | 2205 | | |
| |||
2223 | 2233 | | |
2224 | 2234 | | |
2225 | 2235 | | |
2226 | | - | |
| 2236 | + | |
| 2237 | + | |
| 2238 | + | |
| 2239 | + | |
| 2240 | + | |
| 2241 | + | |
| 2242 | + | |
| 2243 | + | |
2227 | 2244 | | |
2228 | 2245 | | |
2229 | 2246 | | |
2230 | 2247 | | |
2231 | 2248 | | |
2232 | 2249 | | |
2233 | 2250 | | |
| 2251 | + | |
| 2252 | + | |
2234 | 2253 | | |
2235 | 2254 | | |
2236 | 2255 | | |
| |||
2254 | 2273 | | |
2255 | 2274 | | |
2256 | 2275 | | |
2257 | | - | |
2258 | | - | |
| 2276 | + | |
2259 | 2277 | | |
2260 | 2278 | | |
2261 | 2279 | | |
| |||
2273 | 2291 | | |
2274 | 2292 | | |
2275 | 2293 | | |
2276 | | - | |
| 2294 | + | |
| 2295 | + | |
| 2296 | + | |
| 2297 | + | |
| 2298 | + | |
| 2299 | + | |
| 2300 | + | |
| 2301 | + | |
| 2302 | + | |
2277 | 2303 | | |
2278 | 2304 | | |
2279 | 2305 | | |
| |||
2347 | 2373 | | |
2348 | 2374 | | |
2349 | 2375 | | |
2350 | | - | |
2351 | | - | |
2352 | | - | |
| 2376 | + | |
| 2377 | + | |
| 2378 | + | |
| 2379 | + | |
| 2380 | + | |
| 2381 | + | |
| 2382 | + | |
| 2383 | + | |
2353 | 2384 | | |
| 2385 | + | |
| 2386 | + | |
| 2387 | + | |
| 2388 | + | |
| 2389 | + | |
| 2390 | + | |
| 2391 | + | |
| 2392 | + | |
| 2393 | + | |
| 2394 | + | |
| 2395 | + | |
| 2396 | + | |
2354 | 2397 | | |
| 2398 | + | |
| 2399 | + | |
| 2400 | + | |
| 2401 | + | |
| 2402 | + | |
| 2403 | + | |
2355 | 2404 | | |
2356 | 2405 | | |
| 2406 | + | |
| 2407 | + | |
| 2408 | + | |
| 2409 | + | |
2357 | 2410 | | |
2358 | 2411 | | |
2359 | 2412 | | |
| |||
8725 | 8778 | | |
8726 | 8779 | | |
8727 | 8780 | | |
| 8781 | + | |
| 8782 | + | |
| 8783 | + | |
| 8784 | + | |
8728 | 8785 | | |
8729 | 8786 | | |
8730 | 8787 | | |
| |||
8775 | 8832 | | |
8776 | 8833 | | |
8777 | 8834 | | |
| 8835 | + | |
| 8836 | + | |
| 8837 | + | |
| 8838 | + | |
8778 | 8839 | | |
8779 | 8840 | | |
8780 | 8841 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
433 | 433 | | |
434 | 434 | | |
435 | 435 | | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
436 | 444 | | |
437 | 445 | | |
438 | 446 | | |
| |||
619 | 627 | | |
620 | 628 | | |
621 | 629 | | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
622 | 639 | | |
623 | 640 | | |
624 | 641 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
72 | 75 | | |
73 | 76 | | |
74 | 77 | | |
| |||
0 commit comments