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

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

Commit: c1793f2e0ce4ee5c713f27d0bdacc7d99b9103ac
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-08-03T19:23:14Z
Releases: 9.3.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