Only throw recovery conflicts when InHotStandby. Bug fix to recent

patch to allow Index Only Scans on Hot Standby.

Bug report from Jaime Casanova
This commit is contained in:
Simon Riggs 2012-05-31 13:11:47 +01:00
parent c8105e62bb
commit a2b516dab9
1 changed files with 2 additions and 1 deletions

View File

@ -4725,7 +4725,8 @@ heap_xlog_visible(XLogRecPtr lsn, XLogRecord *record)
* forces any index-only scan that is in flight to perform heap fetches,
* rather than killing the transaction outright.
*/
ResolveRecoveryConflictWithSnapshot(xlrec->cutoff_xid, xlrec->node);
if (InHotStandby)
ResolveRecoveryConflictWithSnapshot(xlrec->cutoff_xid, xlrec->node);
LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE);