init
This commit is contained in:
39
db_include/storage/freespace.h
Executable file
39
db_include/storage/freespace.h
Executable file
@@ -0,0 +1,39 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* freespace.h
|
||||
* POSTGRES free space map for quickly finding free space in relations
|
||||
*
|
||||
*
|
||||
* Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* src/include/storage/freespace.h
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef FREESPACE_H_
|
||||
#define FREESPACE_H_
|
||||
|
||||
#include "storage/block.h"
|
||||
#include "storage/relfilenode.h"
|
||||
#include "utils/relcache.h"
|
||||
|
||||
/* prototypes for public functions in freespace.c */
|
||||
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
|
||||
extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
|
||||
extern BlockNumber RecordAndGetPageWithFreeSpace(Relation rel,
|
||||
BlockNumber oldPage,
|
||||
Size oldSpaceAvail,
|
||||
Size spaceNeeded);
|
||||
extern void RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
|
||||
Size spaceAvail);
|
||||
extern void XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
|
||||
Size spaceAvail);
|
||||
|
||||
extern BlockNumber FreeSpaceMapPrepareTruncateRel(Relation rel,
|
||||
BlockNumber nblocks);
|
||||
extern void FreeSpaceMapVacuum(Relation rel);
|
||||
extern void FreeSpaceMapVacuumRange(Relation rel, BlockNumber start,
|
||||
BlockNumber end);
|
||||
|
||||
#endif /* FREESPACE_H_ */
|
||||
Reference in New Issue
Block a user