|
MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
更新内部节点的key日志处理类 更多...
#include <bplus_tree_log_entry.h>
Public 成员函数 | |
| InternalUpdateKeyLogEntryHandler (Frame *frame, int index, span< const char > key, span< const char > old_key) | |
| RC | serialize_body (common::Serializer &buffer) const override |
| 序列化日志内容。所有子类应该实现这个函数 更多... | |
| RC | rollback (BplusTreeMiniTransaction &mtr, BplusTreeHandler &tree_handler) override |
| 回滚 更多... | |
| RC | redo (BplusTreeMiniTransaction &mtr, BplusTreeHandler &tree_handler) override |
| 重做 更多... | |
| string | to_string () const override |
| int | index () const |
| const char * | key () const |
| int32_t | key_bytes () const |
Public 成员函数 继承自 bplus_tree::NodeLogEntryHandler | |
| NodeLogEntryHandler (LogOperation operation, Frame *frame) | |
Public 成员函数 继承自 bplus_tree::LogEntryHandler | |
| LogEntryHandler (LogOperation operation, Frame *frame=nullptr) | |
| Frame * | frame () |
| 返回日志对应的frame 更多... | |
| const Frame * | frame () const |
| PageNum | page_num () const |
| void | set_page_num (PageNum page_num) |
| LogOperation | operation_type () const |
| 日志操作类型 | |
| RC | serialize (common::Serializer &buffer) const |
| 序列化日志 | |
| RC | serialize_header (common::Serializer &buffer) const |
| 序列化日志头 | |
| virtual RC | serialize_body (common::Serializer &buffer) const =0 |
| 序列化日志内容。所有子类应该实现这个函数 更多... | |
| virtual RC | rollback (BplusTreeMiniTransaction &mtr, BplusTreeHandler &tree_handler)=0 |
| 回滚 更多... | |
| virtual RC | redo (BplusTreeMiniTransaction &mtr, BplusTreeHandler &tree_handler)=0 |
| 重做 更多... | |
| virtual string | to_string () const |
静态 Public 成员函数 | |
| static RC | deserialize (Frame *frame, common::Deserializer &buffer, unique_ptr< LogEntryHandler > &handler) |
静态 Public 成员函数 继承自 bplus_tree::LogEntryHandler | |
| static RC | from_buffer (function< RC(PageNum, Frame *&)> frame_getter, common::Deserializer &buffer, unique_ptr< LogEntryHandler > &handler) |
| 从buffer中反序列化出一个LogEntryHandler 更多... | |
| static RC | from_buffer (DiskBufferPool &buffer_pool, common::Deserializer &buffer, unique_ptr< LogEntryHandler > &handler) |
| static RC | from_buffer (common::Deserializer &deserializer, unique_ptr< LogEntryHandler > &handler) |
Private 属性 | |
| int | index_ = -1 |
| vector< char > | key_ |
| vector< char > | old_key_ |
额外继承的成员函数 | |
Protected 属性 继承自 bplus_tree::LogEntryHandler | |
| LogOperation | operation_type_ |
| Frame * | frame_ = nullptr |
| PageNum | page_num_ = BP_INVALID_PAGE_NUM |
| page num本来存放在frame中。但是只有在运行时才能拿到frame,为了强制适配 解析文件buffer时不存在运行时的情况,直接记录page num | |
更新内部节点的key日志处理类
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
序列化日志内容。所有子类应该实现这个函数
|
overridevirtual |