MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
载入中...
搜索中...
未找到
Public 成员函数 | Private 成员函数 | Private 属性 | 友元 | 所有成员列表
HeapTableEngine类 参考

table engine 更多...

#include <heap_table_engine.h>

类 HeapTableEngine 继承关系图:
TableEngine

Public 成员函数

 HeapTableEngine (TableMeta *table_meta, Db *db, Table *table)
 
RC insert_record (Record &record) override
 
RC delete_record (const Record &record) override
 
RC get_record (const RID &rid, Record &record) override
 
RC create_index (Trx *trx, const FieldMeta *field_meta, const char *index_name) override
 
RC get_record_scanner (RecordScanner *&scanner, Trx *trx, ReadWriteMode mode) override
 
RC get_chunk_scanner (ChunkFileScanner &scanner, Trx *trx, ReadWriteMode mode) override
 
RC visit_record (const RID &rid, function< bool(Record &)> visitor) override
 
RC sync () override
 
Indexfind_index (const char *index_name) const override
 
Indexfind_index_by_field (const char *field_name) const override
 
RC open () override
 
RC init () override
 
- Public 成员函数 继承自 TableEngine
 TableEngine (TableMeta *table_meta)
 
virtual RC insert_record (Record &record)=0
 
virtual RC delete_record (const Record &record)=0
 
virtual RC get_record (const RID &rid, Record &record)=0
 
virtual RC create_index (Trx *trx, const FieldMeta *field_meta, const char *index_name)=0
 
virtual RC get_record_scanner (RecordScanner *&scanner, Trx *trx, ReadWriteMode mode)=0
 
virtual RC get_chunk_scanner (ChunkFileScanner &scanner, Trx *trx, ReadWriteMode mode)=0
 
virtual RC visit_record (const RID &rid, function< bool(Record &)> visitor)=0
 
virtual RC sync ()=0
 
virtual Indexfind_index (const char *index_name) const =0
 
virtual Indexfind_index_by_field (const char *field_name) const =0
 
virtual RC open ()=0
 
virtual RC init ()=0
 

Private 成员函数

RC insert_entry_of_indexes (const char *record, const RID &rid)
 
RC delete_entry_of_indexes (const char *record, const RID &rid, bool error_on_not_exists)
 

Private 属性

DiskBufferPooldata_buffer_pool_ = nullptr
 
RecordFileHandlerrecord_handler_ = nullptr
 数据文件关联的buffer pool
 
vector< Index * > indexes_
 记录操作
 
Dbdb_
 
Tabletable_
 

友元

class Table
 

额外继承的成员函数

- Protected 属性 继承自 TableEngine
TableMetatable_meta_ = nullptr
 

详细描述

table engine

成员函数说明

◆ create_index()

RC HeapTableEngine::create_index ( Trx trx,
const FieldMeta field_meta,
const char *  index_name 
)
overridevirtual

接下来将这个索引放到表的元数据中

内存中有一份元数据,磁盘文件也有一份元数据。修改磁盘文件时,先创建一个临时文件,写入完成后再rename为正式文件 这样可以防止文件内容不完整

实现了 TableEngine.

◆ delete_record()

RC HeapTableEngine::delete_record ( const Record record)
overridevirtual

实现了 TableEngine.

◆ find_index()

Index * HeapTableEngine::find_index ( const char *  index_name) const
overridevirtual

实现了 TableEngine.

◆ find_index_by_field()

Index * HeapTableEngine::find_index_by_field ( const char *  field_name) const
overridevirtual

实现了 TableEngine.

◆ get_chunk_scanner()

RC HeapTableEngine::get_chunk_scanner ( ChunkFileScanner scanner,
Trx trx,
ReadWriteMode  mode 
)
overridevirtual

实现了 TableEngine.

◆ get_record()

RC HeapTableEngine::get_record ( const RID rid,
Record record 
)
overridevirtual

实现了 TableEngine.

◆ get_record_scanner()

RC HeapTableEngine::get_record_scanner ( RecordScanner *&  scanner,
Trx trx,
ReadWriteMode  mode 
)
overridevirtual

实现了 TableEngine.

◆ init()

RC HeapTableEngine::init ( )
overridevirtual

实现了 TableEngine.

◆ insert_record()

RC HeapTableEngine::insert_record ( Record record)
overridevirtual

实现了 TableEngine.

◆ open()

RC HeapTableEngine::open ( )
overridevirtual

实现了 TableEngine.

◆ sync()

RC HeapTableEngine::sync ( )
overridevirtual

实现了 TableEngine.

◆ visit_record()

RC HeapTableEngine::visit_record ( const RID rid,
function< bool(Record &)>  visitor 
)
overridevirtual

实现了 TableEngine.


该类的文档由以下文件生成: