BadgerDB
Classes | Typedefs | Functions
badgerdb Namespace Reference

Classes

class  BufDesc
 Class for maintaining information about buffer pool frames. More...
struct  BufStats
 Class to maintain statistics of buffer usage. More...
class  BufMgr
 The central class which manages the buffer pool including frame allocation and deallocation to pages in the file. More...
struct  hashBucket
 Declarations for buffer pool hash table. More...
class  BufHashTbl
 Hash table class to keep track of pages in the buffer pool. More...
class  BadBufferException
 An exception that is thrown when a buffer is found whose valid is false but other variables in BufDesc are assigned valid values. More...
class  BadgerDbException
 Base class for all BadgerDB-specific exceptions. More...
class  BufferExceededException
 An exception that is thrown when buffer capacity is exceeded. More...
class  FileExistsException
 An exception that is thrown when a file creation is requested for a filename that already exists. More...
class  FileNotFoundException
 An exception that is thrown when a file operation is requested for a filename that doesn't exist. More...
class  FileOpenException
 An exception that is thrown when a file deletion is requested for a filename that's currently open. More...
class  HashAlreadyPresentException
 An exception that is thrown when a new entry to be inserted in the hash table is already present in it. More...
class  HashNotFoundException
 An exception that is thrown when an entry being looked up in the hash table is not present in it. More...
class  HashTableException
 An exception that is thrown when some unexpected error occurs in the hash table. More...
class  InsufficientSpaceException
 An exception that is thrown when a record is attempted to be inserted into a page that doesn't have space for it. More...
class  InvalidPageException
 An exception that is thrown when an attempt is made to access an invalid page in a file. More...
class  InvalidRecordException
 An exception that is thrown when a record is requested from a page that has a bad record ID. More...
class  InvalidSlotException
 An exception that is thrown when a slot that doesn't have data is requested from a page. More...
class  PageNotPinnedException
 An exception that is thrown when a page which is expected to be pinned in the buffer pool is found to be not pinned. More...
class  PagePinnedException
 An exception that is thrown when a page which is not expected to be pinned in the buffer pool is found to be pinned. More...
class  SlotInUseException
 An exception that is thrown when a record is attempted to be inserted into a slot that is already in use. More...
struct  FileHeader
 Header metadata for files on disk which contain pages. More...
class  File
 Class which represents a file in the filesystem containing database pages. More...
class  FileIterator
 Iterator for iterating over the pages in a file. More...
struct  PageHeader
 Header metadata in a page. More...
struct  PageSlot
 Slot metadata that tracks where a record is in the data space. More...
class  Page
 Class which represents a fixed-size database page containing records. More...
class  PageIterator
 Iterator for iterating over the records in a page. More...
struct  RecordId
 Identifier for a record in a page. More...

Typedefs

typedef std::uint32_t PageId
 Identifier for a page in a file.
typedef std::uint16_t SlotId
 Identifier for a slot in a page.
typedef std::uint32_t FrameId
 Identifier for a frame in buffer pool.

Functions

 static_assert (Page::SIZE > sizeof(PageHeader),"Page size must be large enough to hold header and data.")
 static_assert (Page::DATA_SIZE > 0,"Page must have some space to hold data.")

Detailed Description

Author:
See Contributors.txt for code contributors and overview of BadgerDB.

LICENSE

Copyright (c) 2012 Database Group, Computer Sciences Department, University of Wisconsin-Madison.


Typedef Documentation

typedef std::uint32_t badgerdb::FrameId

Identifier for a frame in buffer pool.

Definition at line 25 of file types.h.

typedef std::uint32_t badgerdb::PageId

Identifier for a page in a file.

Definition at line 15 of file types.h.

typedef std::uint16_t badgerdb::SlotId

Identifier for a slot in a page.

Definition at line 20 of file types.h.

 All Classes Namespaces Functions Variables Typedefs Friends