MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
Public 成员函数 | |
LatchMemo (DiskBufferPool *buffer_pool) | |
当前遇到的场景都是针对单个BufferPool的,不过从概念上讲,不一定做这个限制 | |
RC | get_page (PageNum page_num, Frame *&frame) |
RC | allocate_page (Frame *&frame) |
void | dispose_page (PageNum page_num) |
void | latch (Frame *frame, LatchMemoType type) |
void | xlatch (Frame *frame) |
void | slatch (Frame *frame) |
bool | try_slatch (Frame *frame) |
void | xlatch (common::SharedMutex *lock) |
void | slatch (common::SharedMutex *lock) |
void | release () |
void | release_to (int point) |
int | memo_point () const |
Private 成员函数 | |
void | release_item (LatchMemoItem &item) |
Private 属性 | |
DiskBufferPool * | buffer_pool_ = nullptr |
std::deque< LatchMemoItem > | items_ |
std::vector< PageNum > | disposed_pages_ |