13#include "common/types.h"
14#include "common/lang/functional.h"
15#include "storage/table/table_meta.h"
40 virtual RC insert_record(
Record &record) = 0;
41 virtual RC delete_record(
const Record &record) = 0;
42 virtual RC insert_record_with_trx(
Record &record,
Trx *trx) = 0;
43 virtual RC delete_record_with_trx(
const Record &record,
Trx *trx) = 0;
44 virtual RC update_record_with_trx(
const Record &old_record,
const Record &new_record,
Trx *trx) = 0;
45 virtual RC get_record(
const RID &rid,
Record &record) = 0;
47 virtual RC create_index(
Trx *trx,
const FieldMeta *field_meta,
const char *index_name) = 0;
48 virtual RC get_record_scanner(
RecordScanner *&scanner,
Trx *trx, ReadWriteMode mode) = 0;
50 virtual RC visit_record(
const RID &rid, function<
bool(
Record &)> visitor) = 0;
51 virtual RC sync() = 0;
52 virtual Index *find_index(
const char *index_name)
const = 0;
53 virtual Index *find_index_by_field(
const char *field_name)
const = 0;
54 virtual RC open() = 0;
56 virtual RC init() = 0;
遍历某个文件中所有记录,每次返回一个 Chunk
Definition: record_manager.h:425
Definition: condition_filter.h:31
一个DB实例负责管理一批表
Definition: db.h:46
Definition: condition_filter.h:44
BufferPool的实现
Definition: disk_buffer_pool.h:189
索引扫描器
Definition: index.h:104
索引基类
Definition: index.h:38
管理整个文件中记录的增删改查
Definition: record_manager.h:358
遍历某个表中所有记录
Definition: record_scanner.h:21
表示一个记录
Definition: record.h:101
table engine
Definition: table_engine.h:35
事务接口
Definition: trx.h:141
标识一个记录的位置 一个记录是放在某个文件的某个页面的某个槽位。这里不记录文件信息,记录页面和槽位信息
Definition: record.h:35