[prev] 66 [next]

Buffer Pool Functions

Buffer manager interface:

Buffer ReadBuffer(Relation r, BlockNumber n)

  • ensures page n of file for relation r is loaded
  • increments reference (pin) count and usage count for buffer
  • returns index of loaded page in buffer pool (Buffer value)
BufferDesc *BufferAlloc(
                        Relation r, ForkNumber f,
                        BlockNumber n, bool *found)
  • used by ReadBuffer to find a buffer for (r,f,n)
  • if no available buffers, select buffer to be replaced