summaryrefslogtreecommitdiff
path: root/src/include/storage/freespace.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-03-10 02:04:10 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-03-10 02:04:10 +0000
commit3fcc7e8e1884c966e1a292a3caeb39cce06f61aa (patch)
tree7728e9e3dabc64793e2450beb3b5e40f9a190a9c /src/include/storage/freespace.h
parent9537739f7fcd3bafa2471b199297ec7ad7c935e7 (diff)
downloadpostgresql-3fcc7e8e1884c966e1a292a3caeb39cce06f61aa.tar.gz
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
Diffstat (limited to 'src/include/storage/freespace.h')
-rw-r--r--src/include/storage/freespace.h14
1 files changed, 2 insertions, 12 deletions
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,