standby-bt-reuse.patch

text/plain

Filename: standby-bt-reuse.patch
Type: text/plain
Part: 1
Message: Re: On-the-fly index tuple deletion vs. hot_standby

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: context
File+
src/backend/access/nbtree/nbtpage.c 3 0
*** a/src/backend/access/nbtree/nbtpage.c
--- b/src/backend/access/nbtree/nbtpage.c
***************
*** 678,683 **** bool
--- 678,684 ----
  _bt_page_recyclable(Page page)
  {
  	BTPageOpaque opaque;
+ 	TransactionId xmin;
  
  	/*
  	 * It's possible to find an all-zeroes page in an index --- for example, a
***************
*** 693,700 **** _bt_page_recyclable(Page page)
  	 * interested in it.
  	 */
  	opaque = (BTPageOpaque) PageGetSpecialPointer(page);
  	if (P_ISDELETED(opaque) &&
! 		TransactionIdPrecedesOrEquals(opaque->btpo.xact, RecentXmin))
  		return true;
  	return false;
  }
--- 694,702 ----
  	 * interested in it.
  	 */
  	opaque = (BTPageOpaque) PageGetSpecialPointer(page);
+ 	xmin = XLogStandbyInfoActive() ? RecentGlobalXmin : RecentXmin;
  	if (P_ISDELETED(opaque) &&
! 		TransactionIdPrecedesOrEquals(opaque->btpo.xact, xmin))
  		return true;
  	return false;
  }