From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Flag index metapages as standard-format in xlog.c calls. |
Date: | 2017-11-03 20:31:37 |
Message-ID: | E1eAicr-0006wJ-Ku@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
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
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/4c11d2c559e76892156fd08d6a3cf5e1848a017f
Modified Files
--------------
contrib/bloom/blinsert.c | 2 +-
src/backend/access/hash/hashpage.c | 7 ++++---
src/backend/access/nbtree/nbtinsert.c | 4 ++--
src/backend/access/nbtree/nbtpage.c | 9 +++++----
src/backend/access/nbtree/nbtree.c | 2 +-
src/backend/access/nbtree/nbtxlog.c | 5 +++--
6 files changed, 16 insertions(+), 13 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2017-11-03 20:33:45 | Re: [HACKERS] pgsql: Fix freezing of a dead HOT-updated tuple |
Previous Message | Peter Geoghegan | 2017-11-03 20:21:23 | Re: [COMMITTERS] pgsql: Fix freezing of a dead HOT-updated tuple |