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

refact

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