Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
freespace.h40 linesDownload Raw Back to storage
1/*-------------------------------------------------------------------------2 *3 * freespace.h4 *	  POSTGRES free space map for quickly finding free space in relations5 *6 *7 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group8 * Portions Copyright (c) 1994, Regents of the University of California9 *10 * src/include/storage/freespace.h11 *12 *-------------------------------------------------------------------------13 */14#ifndef FREESPACE_H_15#define FREESPACE_H_16 17#include "storage/block.h"18#include "storage/relfilelocator.h"19#include "utils/relcache.h"20 21/* prototypes for public functions in freespace.c */22extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);23extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);24extern BlockNumber RecordAndGetPageWithFreeSpace(Relation rel,25												 BlockNumber oldPage,26												 Size oldSpaceAvail,27												 Size spaceNeeded);28extern void RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,29									Size spaceAvail);30extern void XLogRecordPageWithFreeSpace(RelFileLocator rlocator, BlockNumber heapBlk,31										Size spaceAvail);32 33extern BlockNumber FreeSpaceMapPrepareTruncateRel(Relation rel,34												  BlockNumber nblocks);35extern void FreeSpaceMapVacuum(Relation rel);36extern void FreeSpaceMapVacuumRange(Relation rel, BlockNumber start,37									BlockNumber end);38 39#endif							/* FREESPACE_H_ */40 
codekingpro/portable-devtools · Team Ai