13#include "storage/record/record_scanner.h"
14#include "storage/buffer/disk_buffer_pool.h"
15#include "storage/trx/trx.h"
30 log_handler_(&log_handler),
71 ReadWriteMode
rw_mode_ = ReadWriteMode::READ_WRITE;
用于遍历BufferPool中的所有页面
Definition: disk_buffer_pool.h:167
Definition: condition_filter.h:31
BufferPool的实现
Definition: disk_buffer_pool.h:189
遍历某个文件中所有记录
Definition: heap_record_scanner.h:23
RC fetch_next_record()
获取该文件中的下一条记录
Definition: heap_record_scanner.cpp:41
RC fetch_next_record_in_page()
获取一个页面内的下一条记录
Definition: heap_record_scanner.cpp:84
DiskBufferPool * disk_buffer_pool_
当前访问的文件
Definition: heap_record_scanner.h:68
RC close_scan() override
关闭一个文件扫描,释放相应的资源
Definition: heap_record_scanner.cpp:120
RecordPageHandler * record_page_handler_
处理文件某页面的记录
Definition: heap_record_scanner.h:75
ConditionFilter * condition_filter_
过滤record
Definition: heap_record_scanner.h:74
RC next(Record &record) override
获取下一条记录
Definition: heap_record_scanner.cpp:138
Record next_record_
获取的记录放在这里缓存起来
Definition: heap_record_scanner.h:77
Table * table_
当前遍历的是哪张表。这个字段仅供事务函数使用,如果设计合适,可以去掉
Definition: heap_record_scanner.h:66
ReadWriteMode rw_mode_
遍历出来的数据,是否可能对它做修改
Definition: heap_record_scanner.h:71
BufferPoolIterator bp_iterator_
遍历buffer pool的所有页面
Definition: heap_record_scanner.h:73
Trx * trx_
当前是哪个事务在遍历
Definition: heap_record_scanner.h:69
RecordPageIterator record_page_iterator_
遍历某个页面上的所有record
Definition: heap_record_scanner.h:76
RC open_scan() override
打开一个文件扫描。
Definition: heap_record_scanner.cpp:16
对外提供服务的CLog模块
Definition: log_handler.h:40
负责处理一个页面中各种操作,比如插入记录、删除记录或者查找记录
Definition: record_manager.h:126
遍历一个页面中每条记录的iterator
Definition: record_manager.h:84
遍历某个表中所有记录
Definition: record_scanner.h:21
表示一个记录
Definition: record.h:101
事务接口
Definition: trx.h:141