mirror of
https://github.com/postgres/postgres.git
synced 2025-04-24 10:47:04 +03:00
Remove unnecessary BufferGetPage() calls in fsm_vacuum_page().
Just noticed that these were quite redundant, since we're holding the page address in a local variable anyway, and we have pin on the buffer throughout. Also improve a comment.
This commit is contained in:
parent
a063baaced
commit
2b1759e267
@ -866,7 +866,7 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
|
|||||||
if (fsm_get_avail(page, slot) != child_avail)
|
if (fsm_get_avail(page, slot) != child_avail)
|
||||||
{
|
{
|
||||||
LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);
|
LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);
|
||||||
fsm_set_avail(BufferGetPage(buf), slot, child_avail);
|
fsm_set_avail(page, slot, child_avail);
|
||||||
MarkBufferDirtyHint(buf, false);
|
MarkBufferDirtyHint(buf, false);
|
||||||
LockBuffer(buf, BUFFER_LOCK_UNLOCK);
|
LockBuffer(buf, BUFFER_LOCK_UNLOCK);
|
||||||
}
|
}
|
||||||
@ -874,12 +874,13 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Now get the maximum value on the page, to return to caller */
|
/* Now get the maximum value on the page, to return to caller */
|
||||||
max_avail = fsm_get_max_avail(BufferGetPage(buf));
|
max_avail = fsm_get_max_avail(page);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reset the next slot pointer. This encourages the use of low-numbered
|
* Reset the next slot pointer. This encourages the use of low-numbered
|
||||||
* pages, increasing the chances that a later vacuum can truncate the
|
* pages, increasing the chances that a later vacuum can truncate the
|
||||||
* relation.
|
* relation. We don't bother with a lock here, nor with marking the page
|
||||||
|
* dirty if it wasn't already, since this is just a hint.
|
||||||
*/
|
*/
|
||||||
((FSMPage) PageGetContents(page))->fp_next_slot = 0;
|
((FSMPage) PageGetContents(page))->fp_next_slot = 0;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user