13#include "storage/table/table_engine.h"
14#include "storage/index/index.h"
15#include "storage/record/record_manager.h"
16#include "storage/db/db.h"
29 RC insert_record(
Record &record)
override;
30 RC delete_record(
const Record &record)
override;
31 RC insert_record_with_trx(
Record &record,
Trx *trx)
override {
return RC::UNSUPPORTED; }
32 RC delete_record_with_trx(
const Record &record,
Trx *trx)
override {
return RC::UNSUPPORTED; }
33 RC update_record_with_trx(
const Record &old_record,
const Record &new_record,
Trx *trx)
override
35 return RC::UNSUPPORTED;
37 RC get_record(
const RID &rid,
Record &record)
override;
40 RC get_record_scanner(
RecordScanner *&scanner,
Trx *trx, ReadWriteMode mode)
override;
42 RC visit_record(
const RID &rid, function<
bool(
Record &)> visitor)
override;
45 Index *find_index(
const char *index_name)
const override;
46 Index *find_index_by_field(
const char *field_name)
const override;
52 RC insert_entry_of_indexes(
const char *record,
const RID &rid);
53 RC delete_entry_of_indexes(
const char *record,
const RID &rid,
bool error_on_not_exists);
遍历某个文件中所有记录,每次返回一个 Chunk
Definition: record_manager.h:425
一个DB实例负责管理一批表
Definition: db.h:46
BufferPool的实现
Definition: disk_buffer_pool.h:189
table engine
Definition: heap_table_engine.h:23
RecordFileHandler * record_handler_
数据文件关联的buffer pool
Definition: heap_table_engine.h:57
RC create_index(Trx *trx, const FieldMeta *field_meta, const char *index_name) override
Definition: heap_table_engine.cpp:112
vector< Index * > indexes_
记录操作
Definition: heap_table_engine.h:58
索引基类
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