/* Local functions */
static int heap_prune_chain(Relation relation, Buffer buffer,
+ BlockNumber blockno,
OffsetNumber rootoffnum,
TransactionId OldestXmin,
PruneState *prstate);
OffsetNumber offnum,
maxoff;
PruneState prstate;
+ BlockNumber blockno = BufferGetBlockNumber(buffer);
/*
* Our strategy is to scan the page and make lists of items to change,
continue;
/* Process this item or chain of items */
- ndeleted += heap_prune_chain(relation, buffer, offnum,
+ ndeleted += heap_prune_chain(relation, buffer,
+ blockno, offnum,
OldestXmin,
&prstate);
}
* Returns the number of tuples (to be) deleted from the page.
*/
static int
-heap_prune_chain(Relation relation, Buffer buffer, OffsetNumber rootoffnum,
+heap_prune_chain(Relation relation, Buffer buffer,
+ BlockNumber blockno,
+ OffsetNumber rootoffnum,
TransactionId OldestXmin,
PruneState *prstate)
{
tup.t_data = htup;
tup.t_len = ItemIdGetLength(rootlp);
- ItemPointerSet(&(tup.t_self), BufferGetBlockNumber(buffer), rootoffnum);
+ ItemPointerSet(&(tup.t_self), blockno, rootoffnum);
if (HeapTupleHeaderIsHeapOnly(htup))
{