This commit is contained in:
Hongze Cheng 2022-02-24 07:51:57 +00:00
parent 3c4237afd9
commit a015dd5238
3 changed files with 14 additions and 8 deletions

View File

@ -120,7 +120,10 @@ static SPgHdr *tdbPCacheFetchImpl(SPCache *pCache, const SPgid *pPgid, bool alcN
}
if (pPage || !alcNewPage) {
if (pPage) tdbPCachePinPage(pPage);
if (pPage) {
ASSERT(pPage->isLoad == 1);
tdbPCachePinPage(pPage);
}
return pPage;
}
@ -147,7 +150,7 @@ static SPgHdr *tdbPCacheFetchImpl(SPCache *pCache, const SPgid *pPgid, bool alcN
if (pPage) {
memcpy(&(pPage->pgid), pPgid, sizeof(*pPgid));
pPage->pLruNext = NULL;
// *(void **)pPage->page.pExtra = 0; (TODO)
pPage->isLoad = 0;
tdbPCacheAddPageToHash(pPage);
}

View File

@ -84,6 +84,7 @@ SPgHdr *tdbPFileGet(SPFile *pFile, SPgno pgno) {
}
tdbPCacheFetchFinish(pFile->pCache, pPage);
if (!(pPage->isLoad)) {
if (pgno > pFile->dbFileSize /*TODO*/) {
memset(pPage->pData, 0, pFile->pageSize);
} else {
@ -92,6 +93,7 @@ SPgHdr *tdbPFileGet(SPFile *pFile, SPgno pgno) {
return NULL;
}
}
}
return pPage;
}

View File

@ -29,6 +29,7 @@ struct SPgHdr {
SPgid pgid;
u8 isAnchor;
u8 isLocalPage;
u8 isLoad;
i32 nRef;
SPCache *pCache;
SPgHdr * pFreeNext;