From 3fcc7e8e1884c966e1a292a3caeb39cce06f61aa Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 10 Mar 2008 02:04:10 +0000 Subject: Reduce memory consumption during VACUUM of large relations, by using FSMPageData (6 bytes) instead of PageFreeSpaceInfo (8 or 16 bytes) for the temporary array of page-free-space information. Itagaki Takahiro --- src/include/storage/freespace.h | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'src/include/storage/freespace.h') diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h index 0ef828ed54..86dd22647c 100644 --- a/src/include/storage/freespace.h +++ b/src/include/storage/freespace.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/storage/freespace.h,v 1.27 2008/01/01 19:45:59 momjian Exp $ + * $PostgreSQL: pgsql/src/include/storage/freespace.h,v 1.28 2008/03/10 02:04:10 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -18,16 +18,6 @@ #include "storage/itemptr.h" -/* - * exported types - */ -typedef struct PageFreeSpaceInfo -{ - BlockNumber blkno; /* which page in relation */ - Size avail; /* space available on this page */ -} PageFreeSpaceInfo; - - /* Initial value for average-request moving average */ #define INITIAL_AVERAGE ((Size) (BLCKSZ / 32)) @@ -144,7 +134,7 @@ extern Size GetAvgFSMRequestSize(RelFileNode *rel); extern void RecordRelationFreeSpace(RelFileNode *rel, BlockNumber interestingPages, int nPages, - PageFreeSpaceInfo *pageSpaces); + FSMPageData *pageSpaces); extern BlockNumber GetFreeIndexPage(RelFileNode *rel); extern void RecordIndexFreeSpace(RelFileNode *rel, -- cgit v1.2.1