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 | 更新后的记录。不需要做回滚,所以不用记录原先的数据 |
更新数据时,通常只更新其中几个字段,这里记录所有数据,是可以优化的。