In SPGiST replay, do conflict resolution before modifying the page.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: dd6947aae8cd05809f03c9aae1908f5c70f0dd7d
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-08-03T19:23:30Z
Releases: 9.2.0
In SPGiST replay, do conflict resolution before modifying the page.

In yesterday's commit 962e0cc71e839c58fb9125fa85511b8bbb8bdbee, I added the
ResolveRecoveryConflictWithSnapshot call in the wrong place.  I correctly
put it before spgRedoVacuumRedirect itself would modify the index page ---
but not before RestoreBkpBlocks, so replay of a record with a full-page
image would modify the page before kicking off any conflicting HS
transactions.  Oops.

Files

PathChange+/−
src/backend/access/spgist/spgxlog.c modified +27 −13