mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
Further work on connecting the free space map (which is still just a
stub) into the rest of the system. Adopt a cleaner approach to preventing deadlock in concurrent heap_updates: allow RelationGetBufferForTuple to select any page of the rel, and put the onus on it to lock both buffers in a consistent order. Remove no-longer-needed isExtend hack from API of ReleaseAndReadBuffer.
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/freespace/freespace.c,v 1.1 2001/06/27 23:31:39 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/freespace/freespace.c,v 1.2 2001/06/29 21:08:24 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -161,10 +161,42 @@ FreeSpaceShmemSize(void)
|
||||
return size;
|
||||
}
|
||||
|
||||
BlockNumber
|
||||
GetPageWithFreeSpace(RelFileNode *rel, Size spaceNeeded)
|
||||
{
|
||||
return InvalidBlockNumber; /* stub */
|
||||
}
|
||||
|
||||
void
|
||||
RecordFreeSpace(RelFileNode *rel, BlockNumber page, Size spaceAvail)
|
||||
{
|
||||
/* stub */
|
||||
}
|
||||
|
||||
BlockNumber
|
||||
RecordAndGetPageWithFreeSpace(RelFileNode *rel,
|
||||
BlockNumber oldPage,
|
||||
Size oldSpaceAvail,
|
||||
Size spaceNeeded)
|
||||
{
|
||||
return InvalidBlockNumber; /* stub */
|
||||
}
|
||||
|
||||
void
|
||||
MultiRecordFreeSpace(RelFileNode *rel,
|
||||
BlockNumber minPage,
|
||||
BlockNumber maxPage,
|
||||
int nPages,
|
||||
BlockNumber *pages,
|
||||
Size *spaceAvail)
|
||||
{
|
||||
/* stub */
|
||||
}
|
||||
|
||||
void
|
||||
FreeSpaceMapForgetRel(RelFileNode *rel)
|
||||
{
|
||||
/* stub */
|
||||
}
|
||||
|
||||
|
||||
@@ -178,6 +210,7 @@ FreeSpaceMapForgetRel(RelFileNode *rel)
|
||||
void
|
||||
DumpFreeSpace(void)
|
||||
{
|
||||
/* stub */
|
||||
}
|
||||
|
||||
#endif /* FREESPACE_DEBUG */
|
||||
|
||||
Reference in New Issue
Block a user