提交 072a30bd 编写于 作者: H Hongze Cheng

refact

上级 628c989e
...@@ -19,7 +19,7 @@ struct SBTree { ...@@ -19,7 +19,7 @@ struct SBTree {
SPgno root; SPgno root;
int keyLen; int keyLen;
int valLen; int valLen;
SPFile * pFile; SPager * pFile;
FKeyComparator kcmpr; FKeyComparator kcmpr;
}; };
...@@ -52,7 +52,7 @@ static int tdbInitBtPage(SPage *pPage, SBtPage **ppBtPage); ...@@ -52,7 +52,7 @@ static int tdbInitBtPage(SPage *pPage, SBtPage **ppBtPage);
static int tdbCompareKeyAndCell(const void *pKey, int kLen, const void *pCell); static int tdbCompareKeyAndCell(const void *pKey, int kLen, const void *pCell);
static int tdbDefaultKeyCmprFn(const void *pKey1, int keyLen1, const void *pKey2, int keyLen2); static int tdbDefaultKeyCmprFn(const void *pKey1, int keyLen1, const void *pKey2, int keyLen2);
int tdbBtreeOpen(SPgno rtPgno, int keyLen, int valLen, SPFile *pFile, FKeyComparator kcmpr, SBTree **ppBt) { int tdbBtreeOpen(SPgno rtPgno, int keyLen, int valLen, SPager *pFile, FKeyComparator kcmpr, SBTree **ppBt) {
SBTree *pBt; SBTree *pBt;
*ppBt = NULL; *ppBt = NULL;
...@@ -93,7 +93,7 @@ int tdbBtreeCursor(SBtCursor *pCur, SBTree *pBt) { ...@@ -93,7 +93,7 @@ int tdbBtreeCursor(SBtCursor *pCur, SBTree *pBt) {
int tdbBtCursorInsert(SBtCursor *pCur, const void *pKey, int kLen, const void *pVal, int vLen) { int tdbBtCursorInsert(SBtCursor *pCur, const void *pKey, int kLen, const void *pVal, int vLen) {
int ret; int ret;
SPFile * pFile; SPager * pFile;
SBtPage *pPage; SBtPage *pPage;
ret = tdbBtCursorMoveTo(pCur, pKey, kLen); ret = tdbBtCursorMoveTo(pCur, pKey, kLen);
...@@ -199,7 +199,7 @@ static int tdbEncodeLength(u8 *pBuf, uint len) { ...@@ -199,7 +199,7 @@ static int tdbEncodeLength(u8 *pBuf, uint len) {
static int tdbBtCursorMoveToRoot(SBtCursor *pCur) { static int tdbBtCursorMoveToRoot(SBtCursor *pCur) {
SBTree * pBt; SBTree * pBt;
SPFile * pFile; SPager * pFile;
SPage * pPage; SPage * pPage;
SBtPage *pBtPage; SBtPage *pBtPage;
int ret; int ret;
...@@ -207,7 +207,7 @@ static int tdbBtCursorMoveToRoot(SBtCursor *pCur) { ...@@ -207,7 +207,7 @@ static int tdbBtCursorMoveToRoot(SBtCursor *pCur) {
pBt = pCur->pBt; pBt = pCur->pBt;
pFile = pBt->pFile; pFile = pBt->pFile;
pPage = tdbPFileGet(pFile, pBt->root); pPage = tdbPagerGet(pFile, pBt->root);
if (pPage == NULL) { if (pPage == NULL) {
// TODO: handle error // TODO: handle error
} }
......
...@@ -22,7 +22,7 @@ struct STDb { ...@@ -22,7 +22,7 @@ struct STDb {
int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprFn, STEnv *pEnv, STDb **ppDb) { int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprFn, STEnv *pEnv, STDb **ppDb) {
STDb * pDb; STDb * pDb;
SPFile *pFile; SPager *pFile;
int ret; int ret;
char fFullName[TDB_FILENAME_LEN]; char fFullName[TDB_FILENAME_LEN];
SPage * pPage; SPage * pPage;
...@@ -41,7 +41,7 @@ int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprF ...@@ -41,7 +41,7 @@ int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprF
pFile = tdbEnvGetPFile(pEnv, fname); pFile = tdbEnvGetPFile(pEnv, fname);
if (pFile == NULL) { if (pFile == NULL) {
snprintf(fFullName, TDB_FILENAME_LEN, "%s/%s", pEnv->rootDir, fname); snprintf(fFullName, TDB_FILENAME_LEN, "%s/%s", pEnv->rootDir, fname);
ret = tdbPFileOpen(pEnv->pCache, fFullName, &pFile); ret = tdbPagerOpen(pEnv->pCache, fFullName, &pFile);
if (ret < 0) { if (ret < 0) {
return -1; return -1;
} }
...@@ -49,7 +49,7 @@ int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprF ...@@ -49,7 +49,7 @@ int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprF
ASSERT(pFile != NULL); ASSERT(pFile != NULL);
ret = tdbPFileOpenDB(pFile, &pgno, true); ret = tdbPagerOpenDB(pFile, &pgno, true);
if (ret < 0) { if (ret < 0) {
return -1; return -1;
} }
......
...@@ -64,7 +64,7 @@ int tdbEnvClose(STEnv *pEnv) { ...@@ -64,7 +64,7 @@ int tdbEnvClose(STEnv *pEnv) {
return 0; return 0;
} }
SPFile *tdbEnvGetPFile(STEnv *pEnv, const char *fname) { SPager *tdbEnvGetPFile(STEnv *pEnv, const char *fname) {
// TODO // TODO
return NULL; return NULL;
} }
\ No newline at end of file
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include "tdbInt.h" #include "tdbInt.h"
struct SPFile { struct SPager {
char * dbFileName; char * dbFileName;
char * jFileName; char * jFileName;
int pageSize; int pageSize;
...@@ -41,11 +41,11 @@ typedef struct __attribute__((__packed__)) { ...@@ -41,11 +41,11 @@ typedef struct __attribute__((__packed__)) {
TDB_STATIC_ASSERT(sizeof(SFileHdr) == 128, "Size of file header is not correct"); TDB_STATIC_ASSERT(sizeof(SFileHdr) == 128, "Size of file header is not correct");
static int tdbPFileReadPage(SPFile *pFile, SPage *pPage); static int tdbPagerReadPage(SPager *pFile, SPage *pPage);
int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) { int tdbPagerOpen(SPCache *pCache, const char *fileName, SPager **ppFile) {
uint8_t *pPtr; uint8_t *pPtr;
SPFile * pFile; SPager * pFile;
int fsize; int fsize;
int zsize; int zsize;
int ret; int ret;
...@@ -53,7 +53,7 @@ int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) { ...@@ -53,7 +53,7 @@ int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) {
*ppFile = NULL; *ppFile = NULL;
fsize = strlen(fileName); fsize = strlen(fileName);
zsize = sizeof(*pFile) /* SPFile */ zsize = sizeof(*pFile) /* SPager */
+ fsize + 1 /* dbFileName */ + fsize + 1 /* dbFileName */
+ fsize + 8 + 1; /* jFileName */ + fsize + 8 + 1; /* jFileName */
pPtr = (uint8_t *)calloc(1, zsize); pPtr = (uint8_t *)calloc(1, zsize);
...@@ -61,7 +61,7 @@ int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) { ...@@ -61,7 +61,7 @@ int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) {
return -1; return -1;
} }
pFile = (SPFile *)pPtr; pFile = (SPager *)pPtr;
pPtr += sizeof(*pFile); pPtr += sizeof(*pFile);
// pFile->dbFileName // pFile->dbFileName
pFile->dbFileName = (char *)pPtr; pFile->dbFileName = (char *)pPtr;
...@@ -92,12 +92,12 @@ int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) { ...@@ -92,12 +92,12 @@ int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) {
return 0; return 0;
} }
int tdbPFileClose(SPFile *pFile) { int tdbPagerClose(SPager *pFile) {
// TODO // TODO
return 0; return 0;
} }
int tdbPFileOpenDB(SPFile *pFile, SPgno *ppgno, bool toCreate) { int tdbPagerOpenDB(SPager *pFile, SPgno *ppgno, bool toCreate) {
SPgno pgno; SPgno pgno;
SPage *pPage; SPage *pPage;
int ret; int ret;
...@@ -108,13 +108,13 @@ int tdbPFileOpenDB(SPFile *pFile, SPgno *ppgno, bool toCreate) { ...@@ -108,13 +108,13 @@ int tdbPFileOpenDB(SPFile *pFile, SPgno *ppgno, bool toCreate) {
} }
if (pgno == 0 && toCreate) { if (pgno == 0 && toCreate) {
ret = tdbPFileAllocPage(pFile, &pPage, &pgno); ret = tdbPagerAllocPage(pFile, &pPage, &pgno);
if (ret < 0) { if (ret < 0) {
return -1; return -1;
} }
// tdbPFileZeroPage(pPage); // tdbPFileZeroPage(pPage);
ret = tdbPFileWrite(pFile, pPage); ret = tdbPagerWrite(pFile, pPage);
if (ret < 0) { if (ret < 0) {
return -1; return -1;
} }
...@@ -124,7 +124,7 @@ int tdbPFileOpenDB(SPFile *pFile, SPgno *ppgno, bool toCreate) { ...@@ -124,7 +124,7 @@ int tdbPFileOpenDB(SPFile *pFile, SPgno *ppgno, bool toCreate) {
return 0; return 0;
} }
SPage *tdbPFileGet(SPFile *pFile, SPgno pgno) { SPage *tdbPagerGet(SPager *pFile, SPgno pgno) {
SPgid pgid; SPgid pgid;
SPage *pPage; SPage *pPage;
...@@ -142,7 +142,7 @@ SPage *tdbPFileGet(SPFile *pFile, SPgno pgno) { ...@@ -142,7 +142,7 @@ SPage *tdbPFileGet(SPFile *pFile, SPgno pgno) {
if (pgno > pFile->dbFileSize /*TODO*/) { if (pgno > pFile->dbFileSize /*TODO*/) {
memset(pPage->pData, 0, pFile->pageSize); memset(pPage->pData, 0, pFile->pageSize);
} else { } else {
if (tdbPFileReadPage(pFile, pPage) < 0) { if (tdbPagerReadPage(pFile, pPage) < 0) {
// TODO: handle error // TODO: handle error
return NULL; return NULL;
} }
...@@ -156,11 +156,11 @@ SPage *tdbPFileGet(SPFile *pFile, SPgno pgno) { ...@@ -156,11 +156,11 @@ SPage *tdbPFileGet(SPFile *pFile, SPgno pgno) {
return pPage; return pPage;
} }
int tdbPFileWrite(SPFile *pFile, SPage *pPage) { int tdbPagerWrite(SPager *pFile, SPage *pPage) {
int ret; int ret;
if (pFile->inTran == 0) { if (pFile->inTran == 0) {
ret = tdbPFileBegin(pFile); ret = tdbPagerBegin(pFile);
if (ret < 0) { if (ret < 0) {
return -1; return -1;
} }
...@@ -177,13 +177,13 @@ int tdbPFileWrite(SPFile *pFile, SPage *pPage) { ...@@ -177,13 +177,13 @@ int tdbPFileWrite(SPFile *pFile, SPage *pPage) {
return 0; return 0;
} }
int tdbPFileAllocPage(SPFile *pFile, SPage **ppPage, SPgno *ppgno) { int tdbPagerAllocPage(SPager *pFile, SPage **ppPage, SPgno *ppgno) {
SPage *pPage; SPage *pPage;
SPgno pgno; SPgno pgno;
if (1 /*TODO: no free page*/) { if (1 /*TODO: no free page*/) {
pgno = ++pFile->dbFileSize; pgno = ++pFile->dbFileSize;
pPage = tdbPFileGet(pFile, pgno); pPage = tdbPagerGet(pFile, pgno);
ASSERT(pPage != NULL); ASSERT(pPage != NULL);
} else { } else {
/* TODO: allocate from the free list */ /* TODO: allocate from the free list */
...@@ -195,7 +195,7 @@ int tdbPFileAllocPage(SPFile *pFile, SPage **ppPage, SPgno *ppgno) { ...@@ -195,7 +195,7 @@ int tdbPFileAllocPage(SPFile *pFile, SPage **ppPage, SPgno *ppgno) {
return 0; return 0;
} }
int tdbPFileBegin(SPFile *pFile) { int tdbPagerBegin(SPager *pFile) {
if (pFile->inTran) { if (pFile->inTran) {
return 0; return 0;
} }
...@@ -213,17 +213,12 @@ int tdbPFileBegin(SPFile *pFile) { ...@@ -213,17 +213,12 @@ int tdbPFileBegin(SPFile *pFile) {
return 0; return 0;
} }
int tdbPFileCommit(SPFile *pFile) { int tdbPagerCommit(SPager *pFile) {
// TODO // TODO
return 0; return 0;
} }
int tdbPFileRollback(SPFile *pFile) { static int tdbPagerReadPage(SPager *pFile, SPage *pPage) {
// TODO
return 0;
}
static int tdbPFileReadPage(SPFile *pFile, SPage *pPage) {
i64 offset; i64 offset;
int ret; int ret;
......
...@@ -34,7 +34,7 @@ struct SBtCursor { ...@@ -34,7 +34,7 @@ struct SBtCursor {
void * pBuf; void * pBuf;
}; };
int tdbBtreeOpen(SPgno rtPgno, int keyLen, int valLen, SPFile *pFile, FKeyComparator kcmpr, SBTree **ppBt); int tdbBtreeOpen(SPgno rtPgno, int keyLen, int valLen, SPager *pFile, FKeyComparator kcmpr, SBTree **ppBt);
int tdbBtreeClose(SBTree *pBt); int tdbBtreeClose(SBTree *pBt);
int tdbBtreeCursor(SBtCursor *pCur, SBTree *pBt); int tdbBtreeCursor(SBtCursor *pCur, SBTree *pBt);
int tdbBtCursorInsert(SBtCursor *pCur, const void *pKey, int kLen, const void *pVal, int vLen); int tdbBtCursorInsert(SBtCursor *pCur, const void *pKey, int kLen, const void *pVal, int vLen);
......
...@@ -30,7 +30,7 @@ typedef struct STEnv { ...@@ -30,7 +30,7 @@ typedef struct STEnv {
int tdbEnvOpen(const char *rootDir, int pageSize, int cacheSize, STEnv **ppEnv); int tdbEnvOpen(const char *rootDir, int pageSize, int cacheSize, STEnv **ppEnv);
int tdbEnvClose(STEnv *pEnv); int tdbEnvClose(STEnv *pEnv);
SPFile *tdbEnvGetPFile(STEnv *pEnv, const char *fname); SPager *tdbEnvGetPFile(STEnv *pEnv, const char *fname);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
...@@ -20,17 +20,16 @@ ...@@ -20,17 +20,16 @@
extern "C" { extern "C" {
#endif #endif
typedef struct SPFile SPFile; typedef struct SPager SPager;
int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile); int tdbPagerOpen(SPCache *pCache, const char *fileName, SPager **ppFile);
int tdbPFileClose(SPFile *pFile); int tdbPagerClose(SPager *pFile);
int tdbPFileOpenDB(SPFile *pFile, SPgno *ppgno, bool toCreate); int tdbPagerOpenDB(SPager *pFile, SPgno *ppgno, bool toCreate);
SPage *tdbPFileGet(SPFile *pFile, SPgno pgno); SPage *tdbPagerGet(SPager *pFile, SPgno pgno);
int tdbPFileWrite(SPFile *pFile, SPage *pPage); int tdbPagerWrite(SPager *pFile, SPage *pPage);
int tdbPFileAllocPage(SPFile *pFile, SPage **ppPage, SPgno *ppgno); int tdbPagerAllocPage(SPager *pFile, SPage **ppPage, SPgno *ppgno);
int tdbPFileBegin(SPFile *pFile); int tdbPagerBegin(SPager *pFile);
int tdbPFileCommit(SPFile *pFile); int tdbPagerCommit(SPager *pFile);
int tdbPFileRollback(SPFile *pFile);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册