mirror of
https://github.com/postgres/postgres.git
synced 2025-08-27 07:42:10 +03:00
Clean up the use of some page-header-access macros: principally, use
SizeOfPageHeaderData instead of sizeof(PageHeaderData) in places where that makes the code clearer, and avoid casting between Page and PageHeader where possible. Zdenek Kotala, with some additional cleanup by Heikki Linnakangas. I did not apply the parts of the proposed patch that would have resulted in slightly changing the on-disk format of hash indexes; it seems to me that's not a win as long as there's any chance of having in-place upgrade for 8.4.
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/access/heap/pruneheap.c,v 1.15 2008/06/19 00:46:03 alvherre Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/access/heap/pruneheap.c,v 1.16 2008/07/13 20:45:47 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -72,7 +72,7 @@ static void heap_prune_record_unused(PruneState *prstate, OffsetNumber offnum);
|
||||
void
|
||||
heap_page_prune_opt(Relation relation, Buffer buffer, TransactionId OldestXmin)
|
||||
{
|
||||
PageHeader dp = (PageHeader) BufferGetPage(buffer);
|
||||
Page page = BufferGetPage(buffer);
|
||||
Size minfree;
|
||||
|
||||
/*
|
||||
@@ -81,7 +81,7 @@ heap_page_prune_opt(Relation relation, Buffer buffer, TransactionId OldestXmin)
|
||||
* Forget it if page is not hinted to contain something prunable that's
|
||||
* older than OldestXmin.
|
||||
*/
|
||||
if (!PageIsPrunable(dp, OldestXmin))
|
||||
if (!PageIsPrunable(page, OldestXmin))
|
||||
return;
|
||||
|
||||
/*
|
||||
@@ -100,7 +100,7 @@ heap_page_prune_opt(Relation relation, Buffer buffer, TransactionId OldestXmin)
|
||||
HEAP_DEFAULT_FILLFACTOR);
|
||||
minfree = Max(minfree, BLCKSZ / 10);
|
||||
|
||||
if (PageIsFull(dp) || PageGetHeapFreeSpace((Page) dp) < minfree)
|
||||
if (PageIsFull(page) || PageGetHeapFreeSpace(page) < minfree)
|
||||
{
|
||||
/* OK, try to get exclusive buffer lock */
|
||||
if (!ConditionalLockBufferForCleanup(buffer))
|
||||
@@ -112,7 +112,7 @@ heap_page_prune_opt(Relation relation, Buffer buffer, TransactionId OldestXmin)
|
||||
* prune. (We needn't recheck PageIsPrunable, since no one else could
|
||||
* have pruned while we hold pin.)
|
||||
*/
|
||||
if (PageIsFull(dp) || PageGetHeapFreeSpace((Page) dp) < minfree)
|
||||
if (PageIsFull(page) || PageGetHeapFreeSpace(page) < minfree)
|
||||
{
|
||||
/* OK to prune (though not to remove redirects) */
|
||||
(void) heap_page_prune(relation, buffer, OldestXmin, false, true);
|
||||
|
Reference in New Issue
Block a user