📄 db.h
字号:
#include <string>
using namespace std;
#include <fstream>
//#include "DBT.h"
class DB
{
public:
int pagesize;//数据库块大小,8KB
int pagecondition[11];
char buff[100];
char indexbuff[100];
int pageno;//数据库现有的页数,初始分配一页
int metapage; //数据库首页号
DBT my_key;//当前记录的key
DBT my_data;//当前记录的data
int mykeyblock;//当前记录的key的块号
int mykeyoffset;//当前记录的data的偏移
string dbname;//数据库名
string index_name;
string dbpath; //数据库存储路径
DB();
DB(string& db_name);
//~DB();
DBT db_fetch(DBT& key);
int db_store(DBT& key,DBT& data,int flag); // return the stored block NO.
int db_delete(DBT& key);
DBT db_firstkey();
DBT db_nextkey();
int db_print();
db_close();
int db_createindex(DBT& indexkey,int indexblock);
//IndexName是索引名,创建索引时已有记录应生成索引项,以后每当增删记录时索引即随之更新
int db_dropindex(DBT& indexName);
int db_indexscan( string& indexName, string& value); //打开IndexName指定的索引,查找与指定Value匹配的记录
int NestedLoopJoin( char* dbName1, char* dbName2); //根据dbName1和dbName2的Key值执行等值嵌套循环连接,直接输出结果
int IndexJoin( char* dbName1, char* dbName2, char* index);
//db_open(char* dbname, int flags)
//void db_close(DB* db)
//(5) int db_delete(DB* db, DBT key)
//(6) DBT db_firstkey(DBM* db)
//(7) DBT db_nextkey(DB* db)
//(8) int db_print(DB* db);
//void db_error(int error_no);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -