This commit is contained in:
Hongze Cheng 2022-03-04 02:46:25 +00:00
parent c908f17817
commit 4ac1fca01f
3 changed files with 13 additions and 13 deletions

View File

@ -294,10 +294,10 @@ static int tdbBtreeOpenImpl(SBTree *pBt) {
}
// Try to create a new database
ret = tdbPagerNewPage(pBt->pPager, &pgno, &pPage);
if (ret < 0) {
return -1;
}
// ret = tdbPagerNewPage(pBt->pPager, &pgno, &pPage);
// if (ret < 0) {
// return -1;
// }
ASSERT(pgno != 0);
pBt->root = pgno;

View File

@ -227,7 +227,7 @@ static int tdbPagerReadPage(SPager *pPager, SPage *pPage) {
int tdbPagerGetPageSize(SPager *pPager) { return pPager->pageSize; }
int tdbPagerFetchPage(SPager *pPager, SPgno pgno, SPage **ppPage) {
int tdbPagerFetchPage(SPager *pPager, SPgno pgno, SPage **ppPage, int (*initPage)(SPage *, void *), void *arg) {
SPage *pPage;
SPgid pgid;
int ret;
@ -251,10 +251,10 @@ int tdbPagerFetchPage(SPager *pPager, SPgno pgno, SPage **ppPage) {
return -1;
}
// ret = (*initPage)(pPage);
// if (ret < 0) {
// return -1;
// }
ret = (*initPage)(pPage, arg);
if (ret < 0) {
return -1;
}
pPage->pPager = pPager;
}
@ -268,7 +268,7 @@ int tdbPagerFetchPage(SPager *pPager, SPgno pgno, SPage **ppPage) {
return 0;
}
int tdbPagerNewPage(SPager *pPager, SPgno *ppgno, SPage **ppPage) {
int tdbPagerNewPage(SPager *pPager, SPgno *ppgno, SPage **ppPage, int (*initPage)(SPage *, void *), void *arg) {
int ret;
SPage *pPage;
SPgid pgid;
@ -296,7 +296,7 @@ int tdbPagerNewPage(SPager *pPager, SPgno *ppgno, SPage **ppPage) {
// tdbWLockPage(pPage);
// TODO: zero init the new page
// (*initNewPage)(pPage, arg);
(*initPage)(pPage, arg);
pPage->pPager = NULL;

View File

@ -28,8 +28,8 @@ int tdbPagerWrite(SPager *pPager, SPage *pPage);
int tdbPagerBegin(SPager *pPager);
int tdbPagerCommit(SPager *pPager);
int tdbPagerGetPageSize(SPager *pPager);
int tdbPagerFetchPage(SPager *pPager, SPgno pgno, SPage **ppPage);
int tdbPagerNewPage(SPager *pPager, SPgno *ppgno, SPage **ppPage);
int tdbPagerFetchPage(SPager *pPager, SPgno pgno, SPage **ppPage, int (*initPage)(SPage *, void *), void *arg);
int tdbPagerNewPage(SPager *pPager, SPgno *ppgno, SPage **ppPage, int (*initPage)(SPage *, void *), void *arg);
#ifdef __cplusplus
}