19#include <unordered_map>
23#include "sql/parser/parse_defs.h"
46 RC
init(
const char *name,
const char *dbpath);
48 RC create_table(
const char *table_name,
int attribute_count,
const AttrInfoSqlNode *attributes);
50 Table *find_table(
const char *table_name)
const;
51 Table *find_table(int32_t table_id)
const;
53 const char *name()
const;
55 void all_tables(std::vector<std::string> &table_names)
const;
69 std::unordered_map<std::string, Table *> opened_tables_;
70 std::unique_ptr<CLogManager> clog_manager_;
日志管理器
Definition: clog.h:357
一个DB实例负责管理一批表
Definition: db.h:34
RC init(const char *name, const char *dbpath)
初始化一个数据库实例
Definition: db.cpp:38
int32_t next_table_id_
给每个table都分配一个ID,用来记录日志。这里假设所有的DDL都不会并发操作,所以相关的数据都不上锁
Definition: db.h:73
描述一个属性
Definition: parse_defs.h:149