Fix COPY FREEZE with CLOBBER_CACHE_ALWAYS
Tomas Vondra <tomas.vondra@postgresql.org>
Fix COPY FREEZE with CLOBBER_CACHE_ALWAYS This adds code omitted from commit 7db0cd2145 by accident, which had two consequences. Firstly, only rows inserted by heap_multi_insert were frozen as expected when running COPY FREEZE, while heap_insert left rows unfrozen. That however includes rows in TOAST tables, so a lot of data might have been left unfrozen. Secondly, page might have been left partially empty after relcache invalidation. This addresses both of those issues. Discussion: https://postgr.es/m/CABOikdN-ptGv0mZntrK2Q8OtfUuAjqaYMGmkdU1dCKFtUxVLrg@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/heap/heapam.c | modified | +77 −1 |
| src/backend/access/heap/hio.c | modified | +11 −11 |
Discussion
- COPY FREEZE and setting PD_ALL_VISIBLE/visibility map bits 71 messages · 2019-02-21 → 2021-01-24