|
virtual RC | insert_record (const char *data, RID *rid) override |
| 插入一条记录 更多...
|
|
virtual RC | recover_insert_record (const char *data, const RID &rid) override |
| 数据库恢复时,在指定位置插入数据 更多...
|
|
virtual RC | delete_record (const RID *rid) override |
| 删除指定的记录 更多...
|
|
virtual RC | update_record (const RID &rid, const char *data) override |
|
virtual RC | get_record (const RID &rid, Record &record) override |
| 获取指定位置的记录数据 更多...
|
|
Public 成员函数 继承自 RecordPageHandler |
| RecordPageHandler (StorageFormat storage_format) |
|
RC | init (DiskBufferPool &buffer_pool, LogHandler &log_handler, PageNum page_num, ReadWriteMode mode) |
| 初始化 更多...
|
|
RC | recover_init (DiskBufferPool &buffer_pool, PageNum page_num) |
| 数据库恢复时,与普通的运行场景有所不同,不做任何并发操作,也不需要加锁 更多...
|
|
RC | init_empty_page (DiskBufferPool &buffer_pool, LogHandler &log_handler, PageNum page_num, int record_size, TableMeta *table_meta) |
| 对一个新的页面做初始化,初始化关于该页面记录信息的页头PageHeader 更多...
|
|
RC | init_empty_page (DiskBufferPool &buffer_pool, LogHandler &log_handler, PageNum page_num, int record_size, int col_num, const char *col_idx_data) |
| 对一个新的页面做初始化,初始化关于该页面记录信息的页头PageHeader,该函数用于日志回放时。 更多...
|
|
RC | cleanup () |
| 操作结束后做的清理工作,比如释放页面、解锁
|
|
virtual RC | insert_record (const char *data, RID *rid) |
| 插入一条记录 更多...
|
|
virtual RC | recover_insert_record (const char *data, const RID &rid) |
| 数据库恢复时,在指定位置插入数据 更多...
|
|
virtual RC | delete_record (const RID *rid) |
| 删除指定的记录 更多...
|
|
virtual RC | update_record (const RID &rid, const char *data) |
|
virtual RC | get_record (const RID &rid, Record &record) |
| 获取指定位置的记录数据 更多...
|
|
virtual RC | get_chunk (Chunk &chunk) |
| 获取整个页面中指定列的所有记录。 更多...
|
|
PageNum | get_page_num () const |
| 返回该记录页的页号
|
|
bool | is_full () const |
| 当前页面是否已经没有空闲位置插入新的记录
|
|
负责处理行存页面中各种操作
行存格式实现,当前定长记录模式下每个页面的组织大概是这样的:
|------------|------------------------|
| record1 | record2 | ..... | recordN |