1
0
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:
Tom Lane
2001-06-29 21:08:25 +00:00
parent 0eab92c0e6
commit af5ced9cfd
12 changed files with 381 additions and 233 deletions

View File

@@ -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 */