MiniOB
1
MiniOB is one mini database, helping developers to learn how database works.
载入中...
搜索中...
未找到
src
observer
storage
clog
integrated_log_replayer.h
1
/* Copyright (c) 2021-2022 OceanBase and/or its affiliates. All rights reserved.
2
miniob is licensed under Mulan PSL v2.
3
You can use this software according to the terms and conditions of the Mulan PSL v2.
4
You may obtain a copy of Mulan PSL v2 at:
5
http://license.coscl.org.cn/MulanPSL2
6
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
7
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
8
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
9
See the Mulan PSL v2 for more details. */
10
11
//
12
// Created by wangyunlai on 2024/02/04
13
//
14
15
#pragma once
16
17
#include "storage/clog/log_replayer.h"
18
#include "storage/buffer/buffer_pool_log.h"
19
#include "storage/record/record_log.h"
20
#include "storage/index/bplus_tree_log.h"
21
#include "storage/trx/mvcc_trx_log.h"
22
23
class
BufferPoolManager
;
24
30
class
IntegratedLogReplayer
:
public
LogReplayer
31
{
32
public
:
39
IntegratedLogReplayer
(
BufferPoolManager
&bpm);
40
46
IntegratedLogReplayer
(
BufferPoolManager
&bpm, unique_ptr<LogReplayer> trx_log_replayer);
47
virtual
~IntegratedLogReplayer
() =
default
;
48
50
RC
replay
(
const
LogEntry
&entry)
override
;
51
53
RC
on_done
()
override
;
54
55
private
:
56
BufferPoolLogReplayer
buffer_pool_log_replayer_
;
57
RecordLogReplayer
record_log_replayer_
;
58
BplusTreeLogReplayer
bplus_tree_log_replayer_
;
59
unique_ptr<LogReplayer>
trx_log_replayer_
;
60
};
BplusTreeLogReplayer
B+树日志重做器
Definition:
bplus_tree_log.h:198
BufferPoolLogReplayer
BufferPool 的日志重放器
Definition:
buffer_pool_log.h:119
BufferPoolManager
BufferPool的管理类
Definition:
disk_buffer_pool.h:322
IntegratedLogReplayer
整体日志回放类
Definition:
integrated_log_replayer.h:31
IntegratedLogReplayer::trx_log_replayer_
unique_ptr< LogReplayer > trx_log_replayer_
trx 日志回放器
Definition:
integrated_log_replayer.h:59
IntegratedLogReplayer::on_done
RC on_done() override
当所有日志回放完成时的回调函数
Definition:
integrated_log_replayer.cpp:43
IntegratedLogReplayer::replay
RC replay(const LogEntry &entry) override
回放一条日志
Definition:
integrated_log_replayer.cpp:32
IntegratedLogReplayer::record_log_replayer_
RecordLogReplayer record_log_replayer_
record manager 日志回放器
Definition:
integrated_log_replayer.h:57
IntegratedLogReplayer::bplus_tree_log_replayer_
BplusTreeLogReplayer bplus_tree_log_replayer_
bplus tree 日志回放器
Definition:
integrated_log_replayer.h:58
IntegratedLogReplayer::buffer_pool_log_replayer_
BufferPoolLogReplayer buffer_pool_log_replayer_
缓冲池日志回放器
Definition:
integrated_log_replayer.h:56
LogEntry
描述一条日志
Definition:
log_entry.h:44
LogReplayer
日志回放接口类
Definition:
log_replayer.h:26
RecordLogReplayer
记录相关的日志重放器
Definition:
record_log.h:140
制作者
1.9.5