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

整体日志回放类 更多...

#include <integrated_log_replayer.h>

类 IntegratedLogReplayer 继承关系图:
LogReplayer

Public 成员函数

 IntegratedLogReplayer (BufferPoolManager &bpm)
 构造函数 更多...
 
 IntegratedLogReplayer (BufferPoolManager &bpm, unique_ptr< LogReplayer > trx_log_replayer)
 构造函数 更多...
 
RC replay (const LogEntry &entry) override
 回放一条日志 更多...
 
RC on_done () override
 当所有日志回放完成时的回调函数 更多...
 
virtual RC replay (const LogEntry &entry)=0
 回放一条日志 更多...
 
virtual RC on_done ()
 当所有日志回放完成时的回调函数 更多...
 

Private 属性

BufferPoolLogReplayer buffer_pool_log_replayer_
 缓冲池日志回放器
 
RecordLogReplayer record_log_replayer_
 record manager 日志回放器
 
BplusTreeLogReplayer bplus_tree_log_replayer_
 bplus tree 日志回放器
 
unique_ptr< LogReplayertrx_log_replayer_
 trx 日志回放器
 

详细描述

整体日志回放类

负责回放所有日志,是其它各模块日志回放的分发器

构造及析构函数说明

◆ IntegratedLogReplayer() [1/2]

IntegratedLogReplayer::IntegratedLogReplayer ( BufferPoolManager bpm)

构造函数

在做恢复时,我们通常需要一个 BufferPoolManager 对象,因为恢复过程中需要读取磁盘页。 BufferPoolManager 在对应MySQL中,可以类比table space 的管理器。但是在这里,一个表可能会有多个table space(buffer pool)。 比如一个数据文件、多个索引文件。

◆ IntegratedLogReplayer() [2/2]

IntegratedLogReplayer::IntegratedLogReplayer ( BufferPoolManager bpm,
unique_ptr< LogReplayer trx_log_replayer 
)

构造函数

区别于另一个构造函数,这个构造函数可以指定不同的事务日志回放器。比如进程启动时可以指定选择使用VacuousTrx还是MvccTrx。

成员函数说明

◆ on_done()

RC IntegratedLogReplayer::on_done ( )
overridevirtual

当所有日志回放完成时的回调函数

重载 LogReplayer .

◆ replay()

RC IntegratedLogReplayer::replay ( const LogEntry entry)
overridevirtual

回放一条日志

参数
entry日志

实现了 LogReplayer.


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