diff options
Diffstat (limited to 'src/include/storage/freespace.h')
| -rw-r--r-- | src/include/storage/freespace.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h index 428898bdac..05cf77d761 100644 --- a/src/include/storage/freespace.h +++ b/src/include/storage/freespace.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: freespace.h,v 1.8 2002/09/20 19:56:01 tgl Exp $ + * $Id: freespace.h,v 1.9 2003/03/04 21:51:22 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -28,6 +28,7 @@ typedef struct PageFreeSpaceInfo } PageFreeSpaceInfo; +/* GUC variables */ extern int MaxFSMRelations; extern int MaxFSMPages; @@ -39,19 +40,26 @@ extern void InitFreeSpaceMap(void); extern int FreeSpaceShmemSize(void); extern BlockNumber GetPageWithFreeSpace(RelFileNode *rel, Size spaceNeeded); -extern void RecordFreeSpace(RelFileNode *rel, BlockNumber page, - Size spaceAvail); extern BlockNumber RecordAndGetPageWithFreeSpace(RelFileNode *rel, BlockNumber oldPage, Size oldSpaceAvail, Size spaceNeeded); -extern void MultiRecordFreeSpace(RelFileNode *rel, - BlockNumber minPage, - int nPages, - PageFreeSpaceInfo *pageSpaces); +extern Size GetAvgFSMRequestSize(RelFileNode *rel); +extern void RecordRelationFreeSpace(RelFileNode *rel, + int nPages, + PageFreeSpaceInfo *pageSpaces); + +extern BlockNumber GetFreeIndexPage(RelFileNode *rel); +extern void RecordIndexFreeSpace(RelFileNode *rel, + int nPages, + BlockNumber *pages); + +extern void FreeSpaceMapTruncateRel(RelFileNode *rel, BlockNumber nblocks); extern void FreeSpaceMapForgetRel(RelFileNode *rel); extern void FreeSpaceMapForgetDatabase(Oid dbid); +extern void PrintFreeSpaceMapStatistics(int elevel); + #ifdef FREESPACE_DEBUG extern void DumpFreeSpace(void); #endif |
