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

Public 成员函数

RC init (const char *base_dir)
 
void destroy ()
 
RC create_db (const char *dbname)
 
RC drop_db (const char *dbname)
 
RC open_db (const char *dbname)
 
RC close_db (const char *dbname)
 
RC execute (const char *sql)
 
RC create_table (const char *dbname, const char *relation_name, int attribute_count, const AttrInfoSqlNode *attributes)
 
RC drop_table (const char *dbname, const char *relation_name)
 
Dbfind_db (const char *dbname) const
 
Tablefind_table (const char *dbname, const char *table_name) const
 
RC sync ()
 

静态 Public 成员函数

static void set_default (DefaultHandler *handler)
 
static DefaultHandlerget_default ()
 

Private 属性

std::string base_dir_
 
std::string db_dir_
 
std::map< std::string, Db * > opened_dbs_
 

成员函数说明

◆ close_db()

RC DefaultHandler::close_db ( const char *  dbname)

关闭当前数据库。 该操作将关闭当前数据库中打开的所有文件,关闭文件操作将自动使所有相关的缓冲区页面更新到磁盘

返回

◆ create_db()

RC DefaultHandler::create_db ( const char *  dbname)

在路径dbPath下创建一个名为dbName的空库,生成相应的系统文件。 接口要求:一个数据库对应一个文件夹, dbName即为文件夹名, 文件夹中创建两个系统文件SYSTABLES和SYSCOLUMNS,文件名不能带后缀。 dbPath为创建数据库的路径名,该路径名的最后不要含“\”

参数
dbname
返回

◆ create_table()

RC DefaultHandler::create_table ( const char *  dbname,
const char *  relation_name,
int  attribute_count,
const AttrInfoSqlNode attributes 
)

创建一个名为relName的表。 参数attrCount表示关系中属性的数量(取值为1到MAXATTRS之间)。 参数attributes是一个长度为attrCount的数组。 对于新关系中第i个属性,attributes数组中的第i个元素包含名称、 类型和属性的长度(见AttrInfo结构定义)

参数
relName
attrCount
attributes
返回

◆ drop_db()

RC DefaultHandler::drop_db ( const char *  dbname)

删除一个数据库,dbName为要删除的数据库对应文件夹的路径名。 接口要求:参数dbName等于CreateDB函数中两个参数的拼接,即dbPath+”\”+dbName

参数
dbname
返回

◆ drop_table()

RC DefaultHandler::drop_table ( const char *  dbname,
const char *  relation_name 
)

销毁名为relName的表以及在该表上建立的所有索引

参数
relName
返回

◆ execute()

RC DefaultHandler::execute ( const char *  sql)

执行一条除SELECT之外的SQL语句,如果执行成功,返回SUCCESS,否则返回错误码。 注意:此函数是提供给测试程序专用的接口

参数
sql
返回

◆ open_db()

RC DefaultHandler::open_db ( const char *  dbname)

改变系统的当前数据库为dbName对应的文件夹中的数据库。接口要求同dropDB

参数
dbname
返回

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