]> granicus.if.org Git - postgresql/commit
Protect against torn pages when deleting GIN list pages.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 8 May 2014 11:43:04 +0000 (14:43 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 8 May 2014 11:43:58 +0000 (14:43 +0300)
commit686a7194ef1676e4735bbe1c0270dc25c6f33796
tree89a7ad2e308492a73f9c52836221db6795a7f82c
parent5c5bfc0ac3653acad439495c27c78f129668d114
Protect against torn pages when deleting GIN list pages.

To-be-deleted list pages contain no useful information, as they are being
deleted, but we must still protect the writes from being torn by a crash
after a partial write. To do that, re-initialize the pages on WAL replay.

Jeff Janes caught this with a test program to test partial writes.
Backpatch to all supported versions.
src/backend/access/gin/ginxlog.c