mirror of
https://github.com/postgres/postgres.git
synced 2025-10-21 02:52:47 +03:00
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.com
This commit is contained in:
@@ -69,6 +69,9 @@
|
||||
#define XLH_INSERT_CONTAINS_NEW_TUPLE (1<<3)
|
||||
#define XLH_INSERT_ON_TOAST_RELATION (1<<4)
|
||||
|
||||
/* all_frozen_set always implies all_visible_set */
|
||||
#define XLH_INSERT_ALL_FROZEN_SET (1<<5)
|
||||
|
||||
/*
|
||||
* xl_heap_update flag values, 8 bits are available.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user