MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
IndexNode 仅作为数据在内存或磁盘中的表示IndexNodeHandler 负责对IndexNode做各种操作。 作为一个类来说,虚函数会影响“结构体”真实的内存布局,所以将数据存储与操作分开 更多...
#include <bplus_tree.h>
Public 成员函数 | |
IndexNodeHandler (const IndexFileHeader &header, Frame *frame) | |
void | init_empty (bool leaf) |
bool | is_leaf () const |
int | key_size () const |
int | value_size () const |
int | item_size () const |
void | increase_size (int n) |
int | size () const |
int | max_size () const |
int | min_size () const |
void | set_parent_page_num (PageNum page_num) |
PageNum | parent_page_num () const |
PageNum | page_num () const |
bool | is_safe (BplusTreeOperationType op, bool is_root_node) |
bool | validate () const |
Protected 属性 | |
const IndexFileHeader & | header_ |
PageNum | page_num_ |
IndexNode * | node_ |
友元 | |
std::string | to_string (const IndexNodeHandler &handler) |
IndexNode 仅作为数据在内存或磁盘中的表示
IndexNodeHandler 负责对IndexNode做各种操作。 作为一个类来说,虚函数会影响“结构体”真实的内存布局,所以将数据存储与操作分开
bool IndexNodeHandler::is_safe | ( | BplusTreeOperationType | op, |
bool | is_root_node | ||
) |
检查一个节点经过插入或删除操作后是否需要分裂或合并操作