MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
整体日志回放类 更多...
#include <integrated_log_replayer.h>
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< LogReplayer > | trx_log_replayer_ |
trx 日志回放器 | |
整体日志回放类
负责回放所有日志,是其它各模块日志回放的分发器
IntegratedLogReplayer::IntegratedLogReplayer | ( | BufferPoolManager & | bpm | ) |
构造函数
在做恢复时,我们通常需要一个 BufferPoolManager 对象,因为恢复过程中需要读取磁盘页。 BufferPoolManager 在对应MySQL中,可以类比table space 的管理器。但是在这里,一个表可能会有多个table space(buffer pool)。 比如一个数据文件、多个索引文件。
IntegratedLogReplayer::IntegratedLogReplayer | ( | BufferPoolManager & | bpm, |
unique_ptr< LogReplayer > | trx_log_replayer | ||
) |
构造函数
区别于另一个构造函数,这个构造函数可以指定不同的事务日志回放器。比如进程启动时可以指定选择使用VacuousTrx还是MvccTrx。
|
overridevirtual |
当所有日志回放完成时的回调函数
重载 LogReplayer .
|
overridevirtual |