MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
对外提供服务的CLog模块 更多...
#include <log_handler.h>
Public 成员函数 | |
virtual RC | init (const char *path)=0 |
初始化日志模块 更多... | |
virtual RC | start ()=0 |
启动日志模块 更多... | |
virtual RC | stop ()=0 |
停止日志模块 更多... | |
virtual RC | await_termination ()=0 |
等待日志模块停止 更多... | |
virtual RC | replay (LogReplayer &replayer, LSN start_lsn)=0 |
回放日志 更多... | |
virtual RC | iterate (function< RC(LogEntry &)> consumer, LSN start_lsn)=0 |
迭代日志 更多... | |
virtual RC | append (LSN &lsn, LogModule::Id module, span< const char > data) |
写入一条日志 更多... | |
virtual RC | append (LSN &lsn, LogModule::Id module, vector< char > &&data) |
virtual RC | wait_lsn (LSN lsn)=0 |
等待某个LSN的日志被刷新到磁盘 更多... | |
virtual LSN | current_lsn () const =0 |
静态 Public 成员函数 | |
static RC | create (const char *name, LogHandler *&handler) |
Private 成员函数 | |
virtual RC | _append (LSN &lsn, LogModule module, vector< char > &&data)=0 |
写入一条日志 更多... | |
对外提供服务的CLog模块
该模块负责日志的写入、读取、回放等功能。 会在后台开启一个线程,一直尝试刷新内存中的日志到磁盘。 所有的CLog日志文件都存放在指定的目录下,每个日志文件按照日志条数来划分。
|
privatepure virtual |
|
virtual |
写入一条日志
lsn | 返回的LSN |
module | 日志模块 |
data | 日志数据 |
|
pure virtual |
等待日志模块停止
在 DiskLogHandler , 以及 VacuousLogHandler 内被实现.
|
pure virtual |
在 DiskLogHandler 内被实现.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
启动日志模块
在 DiskLogHandler , 以及 VacuousLogHandler 内被实现.
|
pure virtual |
停止日志模块
在 DiskLogHandler , 以及 VacuousLogHandler 内被实现.
|
pure virtual |