Flag index metapages as standard-format in xlog.c calls.
Tom Lane <tgl@sss.pgh.pa.us>
Flag index metapages as standard-format in xlog.c calls. btree, hash, and bloom indexes all set up their metapages in standard format (that is, with pd_lower and pd_upper correctly delimiting the unused area); but they mostly didn't inform the xlog routines of this. When calling log_newpage[_buffer], this is bad because it loses the opportunity to compress unused data out of the WAL record. When calling XLogRegisterBuffer, it's not such a performance problem because all of these call sites also use REGBUF_WILL_INIT, preventing an FPI image from being written. But it's still a good idea to provide the flag when relevant, because that aids WAL consistency checking. This completes the project of getting all the in-core index AMs to handle their metapage WAL operations similarly. Amit Kapila, reviewed by Michael Paquier Discussion: https://postgr.es/m/0d273805-0e9e-ec1a-cb84-d4da400b8f85@lab.ntt.co.jp
Files
| Path | Change | +/− |
|---|---|---|
| contrib/bloom/blinsert.c | modified | +1 −1 |
| src/backend/access/hash/hashpage.c | modified | +4 −3 |
| src/backend/access/nbtree/nbtinsert.c | modified | +2 −2 |
| src/backend/access/nbtree/nbtpage.c | modified | +5 −4 |
| src/backend/access/nbtree/nbtree.c | modified | +1 −1 |
| src/backend/access/nbtree/nbtxlog.c | modified | +3 −2 |
Discussion
- Setting pd_lower in GIN metapage 91 messages · 2017-06-19 → 2017-11-06