more TDB
This commit is contained in:
parent
2849a62ced
commit
0a372a7359
|
@ -17,4 +17,35 @@
|
|||
|
||||
struct SBtCursor {
|
||||
// TODO
|
||||
};
|
||||
};
|
||||
|
||||
static int btreeCreate(SBTree **pBt);
|
||||
static int btreeDestroy(SBTree *pBt);
|
||||
|
||||
int btreeOpen(SBTree **ppBt, SPgFile *pPgFile) {
|
||||
SBTree *pBt;
|
||||
int ret;
|
||||
|
||||
ret = btreeCreate(&pBt);
|
||||
if (ret != 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
*ppBt = pBt;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int btreeClose(SBTree *pBt) {
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int btreeCreate(SBTree **pBt) {
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int btreeDestroy(SBTree *pBt) {
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
|
@ -16,7 +16,7 @@
|
|||
#include "tdbInt.h"
|
||||
|
||||
struct STDb {
|
||||
SBTree btree; // current access method
|
||||
SBTree * pBt; // current access method
|
||||
SPgFile *pPgFile; // backend page file this DB is using
|
||||
TENV * pEnv; // TENV containing the DB
|
||||
};
|
||||
|
@ -47,6 +47,7 @@ int tdbOpen(TDB **ppDb, const char *fname, const char *dbname, TENV *pEnv) {
|
|||
uint8_t fileid[TDB_FILE_ID_LEN];
|
||||
SPgFile * pPgFile;
|
||||
SPgCache *pPgCache;
|
||||
SBTree * pBt;
|
||||
|
||||
// Create DB if DB handle is not created yet
|
||||
if (ppDb == NULL) {
|
||||
|
@ -78,6 +79,7 @@ int tdbOpen(TDB **ppDb, const char *fname, const char *dbname, TENV *pEnv) {
|
|||
}
|
||||
|
||||
// Check if the SPgFile already opened
|
||||
tdbGnrtFileID(fname, fileid, false);
|
||||
pPgFile = tdbEnvGetPageFile(pEnv, fileid);
|
||||
if (pPgFile == NULL) {
|
||||
pPgCache = tdbEnvGetPgCache(pEnv);
|
||||
|
@ -89,6 +91,11 @@ int tdbOpen(TDB **ppDb, const char *fname, const char *dbname, TENV *pEnv) {
|
|||
pDb->pPgFile = pPgFile;
|
||||
|
||||
// open the access method (TODO)
|
||||
if (btreeOpen(&pBt, pPgFile) != 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
pDb->pBt = pBt;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ typedef struct SBTree SBTree;
|
|||
typedef struct SBtCursor SBtCursor;
|
||||
|
||||
// SBTree
|
||||
int btreeOpen(SBTree **ppBt);
|
||||
int btreeOpen(SBTree **ppBt, SPgFile *pPgFile);
|
||||
int btreeClose(SBTree *pBt);
|
||||
|
||||
// SBtCursor
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct SPgFile SPgFile;
|
||||
struct SPgFile {
|
||||
char * fname; // backend file name
|
||||
uint8_t fileid[TDB_FILE_ID_LEN]; // file id
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct SPgFile SPgFile;
|
||||
|
||||
// pgno_t
|
||||
typedef int32_t pgno_t;
|
||||
#define TDB_IVLD_PGNO ((pgno_t)-1)
|
||||
|
|
Loading…
Reference in New Issue