pgsql: Sanity-check that a page zeroed by redo routine is marked with W

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Sanity-check that a page zeroed by redo routine is marked with W
Date: 2015-07-20 19:46:35
Message-ID: E1ZHH1H-0005Dj-Le@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Sanity-check that a page zeroed by redo routine is marked with WILL_INIT.

There was already a sanity-check in the other direction: if a page was
marked with WILL_INIT, it had to be initialized by the redo routine. It's
not strictly necessary for correctness that a page is marked with WILL_INIT
if it's going to be initialized at redo, but it's a missed optimization if
nothing else.

Fix a few instances of this issue in SP-GiST, where a block in WAL record
was not marked with WILL_INIT, but was in fact always initialized at redo.
We were creating a full-page image of the page unnecessarily in those
cases.

Backpatch to 9.5, where the new WILL_INIT flag was added.

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/e015c3e51f76a05cc026c8323c51a373172adaa3

Modified Files
--------------
src/backend/access/spgist/spgdoinsert.c | 31 +++++++++++++++++++++++++------
src/backend/access/transam/xlogutils.c | 19 +++++++++++++------
2 files changed, 38 insertions(+), 12 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Emre Hasegeli 2015-07-21 09:59:50 Re: [COMMITTERS] pgsql: Improve BRIN documentation somewhat
Previous Message Alvaro Herrera 2015-07-20 16:47:49 pgsql: Don't handle PUBLIC/NONE separately