|
MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
Public 成员函数 | |
| RC | init (LogHandler &log_handler, int32_t buffer_pool_id, int32_t record_size, StorageFormat storage_format) |
| RC | init_new_page (Frame *frame, PageNum page_num, span< const char > data) |
| 初始化一个新的页面 更多... | |
| RC | insert_record (Frame *frame, const RID &rid, const char *record) |
| 插入一条记录 更多... | |
| RC | delete_record (Frame *frame, const RID &rid) |
| 删除一条记录 更多... | |
| RC | update_record (Frame *frame, const RID &rid, const char *record) |
| 更新一条记录 更多... | |
Private 属性 | |
| LogHandler * | log_handler_ = nullptr |
| int32_t | buffer_pool_id_ = -1 |
| int32_t | record_size_ = -1 |
| StorageFormat | storage_format_ = StorageFormat::ROW_FORMAT |
| RC RecordLogHandler::init_new_page | ( | Frame * | frame, |
| PageNum | page_num, | ||
| span< const char > | data | ||
| ) |
初始化一个新的页面
记录一个初始化新页面的日志。
| frame | 页帧 |
| page_num | 页面编号 |
| data | 页面数据目前主要是 column index |
插入一条记录
| frame | 页帧 |
| rid | 记录的位置 |
| record | 记录的内容 |
更新一条记录
| frame | 页帧 |
| rid | 记录的位置 |
| record | 更新后的记录。不需要做回滚,所以不用记录原先的数据 |
更新数据时,通常只更新其中几个字段,这里记录所有数据,是可以优化的。