13#include "storage/trx/trx.h"
14#include "storage/db/db.h"
15#include "oblsm/include/ob_lsm.h"
16#include "oblsm/include/ob_lsm_transaction.h"
18using namespace oceanbase;
29 const vector<FieldMeta> *trx_fields()
const override;
32 Trx *create_trx(
LogHandler &log_handler, int32_t trx_id)
override;
33 void all_trxes(vector<Trx *> &trxes)
override;
35 void destroy_trx(
Trx *trx)
override;
49 if (trx_ !=
nullptr) {
54 RC insert_record(
Table *table,
Record &record)
override;
55 RC delete_record(
Table *table,
Record &record)
override;
58 RC start_if_need()
override;
60 RC rollback()
override;
66 int32_t id()
const override {
return 0; }
一个DB实例负责管理一批表
Definition: db.h:46
描述一条日志
Definition: log_entry.h:44
对外提供服务的CLog模块
Definition: log_handler.h:40
日志回放接口类
Definition: log_replayer.h:26
lsm-tree 存储引擎对应的事务管理器
Definition: lsm_mvcc_trx.h:23
LogReplayer * create_log_replayer(Db &db, LogHandler &log_handler) override
Definition: lsm_mvcc_trx.cpp:26
Definition: lsm_mvcc_trx.h:74
RC replay(const LogEntry &) override
回放一条日志
Definition: lsm_mvcc_trx.h:79
Definition: lsm_mvcc_trx.h:44
RC visit_record(Table *table, Record &record, ReadWriteMode mode) override
Definition: lsm_mvcc_trx.cpp:47
RC redo(Db *db, const LogEntry &log_entry) override
Definition: lsm_mvcc_trx.cpp:74
表示一个记录
Definition: record.h:101
事务管理器
Definition: trx.h:99
事务接口
Definition: trx.h:141
A class representing a transaction in oblsm.
Definition: ob_lsm_transaction.h:36
ObLsm is a key-value storage engine for educational purpose. ObLsm learned a lot about design from le...
Definition: ob_lsm.h:29
@ LSM
支持LSM的事务管理器
Definition: trx.h:110