18#include "storage/table/table_meta.h"
50 RC
create(int32_t table_id,
62 RC
open(
const char *meta_file,
const char *base_dir);
79 RC delete_record(
const Record &record);
80 RC visit_record(
const RID &rid,
bool readonly, std::function<
void(
Record &)> visitor);
81 RC get_record(
const RID &rid,
Record &record);
83 RC recover_insert_record(
Record &record);
96 int32_t table_id()
const {
return table_meta_.table_id(); }
97 const char *name()
const;
104 RC insert_entry_of_indexes(
const char *record,
const RID &rid);
105 RC delete_entry_of_indexes(
const char *record,
const RID &rid,
bool error_on_not_exists);
108 RC init_record_handler(
const char *base_dir);
111 Index *find_index(
const char *index_name)
const;
112 Index *find_index_by_field(
const char *field_name)
const;
115 std::string base_dir_;
Definition: condition_filter.h:31
Definition: condition_filter.h:44
BufferPool的实现
Definition: disk_buffer_pool.h:193
索引扫描器
Definition: index.h:96
索引基类
Definition: index.h:38
管理整个文件中记录的增删改查
Definition: record_manager.h:245
遍历某个文件中所有记录
Definition: record_manager.h:326
表示一个记录 当前的记录都是连续存放的空间(内存或磁盘上)。 为了提高访问的效率,record通常直接记录指向页面上的内存,但是需要保证访问这种数据时,拿着锁资源。 为了方便,也提供了复制内存的方法。可...
Definition: record.h:92
std::vector< Index * > indexes_
记录操作
Definition: table.h:119
RC open(const char *meta_file, const char *base_dir)
Definition: table.cpp:129
RC create(int32_t table_id, const char *path, const char *name, const char *base_dir, int attribute_count, const AttrInfoSqlNode attributes[])
Definition: table.cpp:53
RC create_index(Trx *trx, const FieldMeta *field_meta, const char *index_name)
Definition: table.cpp:344
RC make_record(int value_num, const Value *values, Record &record)
根据给定的字段生成一个记录/行
Definition: table.cpp:271
RC insert_record(Record &record)
在当前的表中插入一条记录
Definition: table.cpp:185
RecordFileHandler * record_handler_
数据文件关联的buffer pool
Definition: table.h:118
事务接口
Definition: trx.h:142
属性的值
Definition: value.h:40
描述一个属性
Definition: parse_defs.h:149
标识一个记录的位置 一个记录是放在某个文件的某个页面的某个槽位。这里不记录文件信息,记录页面和槽位信息
Definition: record.h:35