MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
载入中...
搜索中...
未找到
Public 成员函数 | Protected 属性 | 友元 | 所有成员列表
IndexNodeHandler类 参考

IndexNode 仅作为数据在内存或磁盘中的表示IndexNodeHandler 负责对IndexNode做各种操作。 作为一个类来说,虚函数会影响“结构体”真实的内存布局,所以将数据存储与操作分开 更多...

#include <bplus_tree.h>

类 IndexNodeHandler 继承关系图:
InternalIndexNodeHandler LeafIndexNodeHandler

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 IndexFileHeaderheader_
 
PageNum page_num_
 
IndexNodenode_
 

友元

std::string to_string (const IndexNodeHandler &handler)
 

详细描述

IndexNode 仅作为数据在内存或磁盘中的表示

IndexNodeHandler 负责对IndexNode做各种操作。 作为一个类来说,虚函数会影响“结构体”真实的内存布局,所以将数据存储与操作分开

成员函数说明

◆ is_safe()

bool IndexNodeHandler::is_safe ( BplusTreeOperationType  op,
bool  is_root_node 
)

检查一个节点经过插入或删除操作后是否需要分裂或合并操作

返回
true 需要分裂或合并; false 不需要分裂或合并

该类的文档由以下文件生成: