standby-bt-reuse.patch
text/plain
Filename: standby-bt-reuse.patch
Type: text/plain
Part: 1
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;
}