Lines Matching refs:pPage

556       PgHdr1 *pPage;  in pcache1ResizeHash()  local
558 while( (pPage = pNext)!=0 ){ in pcache1ResizeHash()
559 unsigned int h = pPage->iKey % nNew; in pcache1ResizeHash()
560 pNext = pPage->pNext; in pcache1ResizeHash()
561 pPage->pNext = apNew[h]; in pcache1ResizeHash()
562 apNew[h] = pPage; in pcache1ResizeHash()
578 static PgHdr1 *pcache1PinPage(PgHdr1 *pPage){ in pcache1PinPage() argument
579 assert( pPage!=0 ); in pcache1PinPage()
580 assert( PAGE_IS_UNPINNED(pPage) ); in pcache1PinPage()
581 assert( pPage->pLruNext ); in pcache1PinPage()
582 assert( pPage->pLruPrev ); in pcache1PinPage()
583 assert( sqlite3_mutex_held(pPage->pCache->pGroup->mutex) ); in pcache1PinPage()
584 pPage->pLruPrev->pLruNext = pPage->pLruNext; in pcache1PinPage()
585 pPage->pLruNext->pLruPrev = pPage->pLruPrev; in pcache1PinPage()
586 pPage->pLruNext = 0; in pcache1PinPage()
589 assert( pPage->isAnchor==0 ); in pcache1PinPage()
590 assert( pPage->pCache->pGroup->lru.isAnchor==1 ); in pcache1PinPage()
591 pPage->pCache->nRecyclable--; in pcache1PinPage()
592 return pPage; in pcache1PinPage()
603 static void pcache1RemoveFromHash(PgHdr1 *pPage, int freeFlag){ in pcache1RemoveFromHash() argument
605 PCache1 *pCache = pPage->pCache; in pcache1RemoveFromHash()
609 h = pPage->iKey % pCache->nHash; in pcache1RemoveFromHash()
610 for(pp=&pCache->apHash[h]; (*pp)!=pPage; pp=&(*pp)->pNext); in pcache1RemoveFromHash()
614 if( freeFlag ) pcache1FreePage(pPage); in pcache1RemoveFromHash()
671 PgHdr1 *pPage; in pcache1TruncateUnsafe() local
674 while( (pPage = *pp)!=0 ){ in pcache1TruncateUnsafe()
675 if( pPage->iKey>=iLimit ){ in pcache1TruncateUnsafe()
677 *pp = pPage->pNext; in pcache1TruncateUnsafe()
678 if( PAGE_IS_UNPINNED(pPage) ) pcache1PinPage(pPage); in pcache1TruncateUnsafe()
679 pcache1FreePage(pPage); in pcache1TruncateUnsafe()
681 pp = &pPage->pNext; in pcache1TruncateUnsafe()
720 pcache1.separateCache = sqlite3GlobalConfig.pPage==0 in pcache1Init()
723 pcache1.separateCache = sqlite3GlobalConfig.pPage==0; in pcache1Init()
734 && sqlite3GlobalConfig.pPage==0 in pcache1Init()
881 PgHdr1 *pPage = 0; in pcache1FetchStage2() local
905 pPage = pGroup->lru.pLruPrev; in pcache1FetchStage2()
906 assert( PAGE_IS_UNPINNED(pPage) ); in pcache1FetchStage2()
907 pcache1RemoveFromHash(pPage, 0); in pcache1FetchStage2()
908 pcache1PinPage(pPage); in pcache1FetchStage2()
909 pOther = pPage->pCache; in pcache1FetchStage2()
911 pcache1FreePage(pPage); in pcache1FetchStage2()
912 pPage = 0; in pcache1FetchStage2()
921 if( !pPage ){ in pcache1FetchStage2()
922 pPage = pcache1AllocPage(pCache, createFlag==1); in pcache1FetchStage2()
925 if( pPage ){ in pcache1FetchStage2()
928 pPage->iKey = iKey; in pcache1FetchStage2()
929 pPage->pNext = pCache->apHash[h]; in pcache1FetchStage2()
930 pPage->pCache = pCache; in pcache1FetchStage2()
931 pPage->pLruNext = 0; in pcache1FetchStage2()
934 *(void **)pPage->page.pExtra = 0; in pcache1FetchStage2()
935 pCache->apHash[h] = pPage; in pcache1FetchStage2()
940 return pPage; in pcache1FetchStage2()
1008 PgHdr1 *pPage = 0; in pcache1FetchNoMutex() local
1011 pPage = pCache->apHash[iKey % pCache->nHash]; in pcache1FetchNoMutex()
1012 while( pPage && pPage->iKey!=iKey ){ pPage = pPage->pNext; } in pcache1FetchNoMutex()
1018 if( pPage ){ in pcache1FetchNoMutex()
1019 if( PAGE_IS_UNPINNED(pPage) ){ in pcache1FetchNoMutex()
1020 return pcache1PinPage(pPage); in pcache1FetchNoMutex()
1022 return pPage; in pcache1FetchNoMutex()
1038 PgHdr1 *pPage; in pcache1FetchWithMutex() local
1041 pPage = pcache1FetchNoMutex(p, iKey, createFlag); in pcache1FetchWithMutex()
1042 assert( pPage==0 || pCache->iMaxKey>=iKey ); in pcache1FetchWithMutex()
1044 return pPage; in pcache1FetchWithMutex()
1084 PgHdr1 *pPage = (PgHdr1 *)pPg; in pcache1Unpin() local
1087 assert( pPage->pCache==pCache ); in pcache1Unpin()
1093 assert( pPage->pLruNext==0 ); in pcache1Unpin()
1094 assert( PAGE_IS_PINNED(pPage) ); in pcache1Unpin()
1097 pcache1RemoveFromHash(pPage, 1); in pcache1Unpin()
1101 pPage->pLruPrev = &pGroup->lru; in pcache1Unpin()
1102 (pPage->pLruNext = *ppFirst)->pLruPrev = pPage; in pcache1Unpin()
1103 *ppFirst = pPage; in pcache1Unpin()
1120 PgHdr1 *pPage = (PgHdr1 *)pPg; in pcache1Rekey() local
1123 assert( pPage->iKey==iOld ); in pcache1Rekey()
1124 assert( pPage->pCache==pCache ); in pcache1Rekey()
1129 assert( pcache1FetchNoMutex(p, iOld, 0)==pPage ); /* pPg really is iOld */ in pcache1Rekey()
1132 while( (*pp)!=pPage ){ in pcache1Rekey()
1135 *pp = pPage->pNext; in pcache1Rekey()
1139 pPage->iKey = iNew; in pcache1Rekey()
1140 pPage->pNext = pCache->apHash[hNew]; in pcache1Rekey()
1141 pCache->apHash[hNew] = pPage; in pcache1Rekey()
1240 if( sqlite3GlobalConfig.pPage==0 ){ in sqlite3PcacheReleaseMemory()