13#include "storage/table/table_engine.h"
14#include "storage/index/index.h"
15#include "storage/record/record_manager.h"
16#include "storage/db/db.h"
17#include "oblsm/include/ob_lsm.h"
18using namespace oceanbase;
27 :
TableEngine(table_meta), db_(db), table_(table), lsm_(db->lsm())
31 RC insert_record(
Record &record)
override;
32 RC insert_chunk(
const Chunk &chunk)
override {
return RC::UNIMPLEMENTED; }
33 RC delete_record(
const Record &record)
override {
return RC::UNIMPLEMENTED; }
34 RC insert_record_with_trx(
Record &record,
Trx *trx)
override {
return RC::UNIMPLEMENTED; }
35 RC delete_record_with_trx(
const Record &record,
Trx *trx)
override {
return RC::UNIMPLEMENTED; }
36 RC update_record_with_trx(
const Record &old_record,
const Record &new_record,
Trx *trx)
override
38 return RC::UNIMPLEMENTED;
40 RC get_record(
const RID &rid,
Record &record)
override {
return RC::UNIMPLEMENTED; }
42 RC create_index(
Trx *trx,
const FieldMeta *field_meta,
const char *index_name)
override {
return RC::UNIMPLEMENTED; }
43 RC get_record_scanner(
RecordScanner *&scanner,
Trx *trx, ReadWriteMode mode)
override;
44 RC get_chunk_scanner(
ChunkFileScanner &scanner,
Trx *trx, ReadWriteMode mode)
override {
return RC::UNIMPLEMENTED; }
45 RC visit_record(
const RID &rid, function<
bool(
Record &)> visitor)
override {
return RC::UNIMPLEMENTED; }
47 RC sync()
override {
return RC::SUCCESS; }
48 Index *find_index(
const char *index_name)
const override {
return nullptr; }
49 Index *find_index_by_field(
const char *field_name)
const override {
return nullptr; }
51 RC init()
override {
return RC::UNIMPLEMENTED; }
57 atomic<uint64_t> inc_id_{0};
遍历某个文件中所有记录,每次返回一个 Chunk
Definition: record_manager.h:436
A Chunk represents a set of columns.
Definition: chunk.h:23
一个DB实例负责管理一批表
Definition: db.h:46
索引基类
Definition: index.h:38
lsm table engine
Definition: lsm_table_engine.h:24
遍历某个表中所有记录
Definition: record_scanner.h:21
表示一个记录
Definition: record.h:101
table engine
Definition: table_engine.h:36
事务接口
Definition: trx.h:141
ObLsm is a key-value storage engine for educational purpose. ObLsm learned a lot about design from le...
Definition: ob_lsm.h:29
标识一个记录的位置 一个记录是放在某个文件的某个页面的某个槽位。这里不记录文件信息,记录页面和槽位信息
Definition: record.h:35