Lines Matching refs:iPage
14803 int iPage,
14809 return id->pMethods->xShmMap(id, iPage, pgsz, bExtend, pp);
45870 ** Obtain a pointer to the iPage'th page of the wal-index. The wal-index
45878 static int walIndexPage(Wal *pWal, int iPage, volatile u32 **ppPage){
45882 if( pWal->nWiData<=iPage ){
45883 int nByte = sizeof(u32*)*(iPage+1);
45891 sizeof(u32*)*(iPage+1-pWal->nWiData));
45893 pWal->nWiData = iPage+1;
45897 if( pWal->apWiData[iPage]==0 ){
45899 pWal->apWiData[iPage] = (u32 volatile *)sqlite3MallocZero(WALINDEX_PGSZ);
45900 if( !pWal->apWiData[iPage] ) rc = SQLITE_NOMEM;
45902 rc = sqlite3OsShmMap(pWal->pDbFd, iPage, WALINDEX_PGSZ,
45903 pWal->writeLock, (void volatile **)&pWal->apWiData[iPage]
45912 *ppPage = pWal->apWiData[iPage];
45913 assert( iPage==0 || *ppPage || rc!=SQLITE_OK );
46031 u32 iPage, /* Database page number for frame */
46039 sqlite3Put4byte(&aFrame[0], iPage);
46174 static int walHash(u32 iPage){
46175 assert( iPage>0 );
46177 return (iPage*HASHTABLE_HASH_1) & (HASHTABLE_NSLOT-1);
46331 static int walIndexAppend(Wal *pWal, u32 iFrame, u32 iPage){
46371 for(iKey=walHash(iPage); aHash[iKey]; iKey=walNextHash(iKey)){
46374 aPgno[idx] = iPage;
48978 i16 iPage; /* Index of current page in apPage */
49991 for(i=0; i<=pCur->iPage; i++){
49995 pCur->iPage = -1;
52681 for(i=0; i<=p->iPage; i++){
52884 pCur->iPage = -1;
52933 memset(p, 0, offsetof(BtCursor, iPage));
52985 for(i=0; i<=pCur->iPage; i++){
53014 int iPage = pCur->iPage;
53016 btreeParseCell(pCur->apPage[iPage], pCur->aiIdx[iPage], &info);
53026 int iPage = pCur->iPage;
53027 btreeParseCell(pCur->apPage[iPage],pCur->aiIdx[iPage],&pCur->info);
53037 int iPage = pCur->iPage; \
53038 btreeParseCell(pCur->apPage[iPage],pCur->aiIdx[iPage],&pCur->info); \
53247 MemPage *pPage = pCur->apPage[pCur->iPage]; /* Btree page of current entry */
53252 assert( pCur->aiIdx[pCur->iPage]<pPage->nCell );
53417 assert( pCur->iPage>=0 && pCur->apPage[pCur->iPage] );
53418 assert( pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell );
53444 assert( pCur->iPage>=0 && pCur->apPage[pCur->iPage] );
53445 assert( pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell );
53480 assert( pCur!=0 && pCur->iPage>=0 && pCur->apPage[pCur->iPage]);
53483 pPage = pCur->apPage[pCur->iPage];
53484 assert( pCur->aiIdx[pCur->iPage]<pPage->nCell );
53486 btreeParseCell(pCur->apPage[pCur->iPage], pCur->aiIdx[pCur->iPage],
53553 int i = pCur->iPage;
53559 assert( pCur->iPage<BTCURSOR_MAX_DEPTH );
53560 if( pCur->iPage>=(BTCURSOR_MAX_DEPTH-1) ){
53567 pCur->iPage++;
53608 assert( pCur->iPage>0 );
53609 assert( pCur->apPage[pCur->iPage] );
53618 pCur->apPage[pCur->iPage-1],
53619 pCur->aiIdx[pCur->iPage-1],
53620 pCur->apPage[pCur->iPage]->pgno
53623 testcase( pCur->aiIdx[pCur->iPage-1] > pCur->apPage[pCur->iPage-1]->nCell );
53625 releasePage(pCur->apPage[pCur->iPage]);
53626 pCur->iPage--;
53670 if( pCur->iPage>=0 ){
53672 for(i=1; i<=pCur->iPage; i++){
53675 pCur->iPage = 0;
53685 pCur->iPage = 0;
53738 while( rc==SQLITE_OK && !(pPage = pCur->apPage[pCur->iPage])->leaf ){
53739 assert( pCur->aiIdx[pCur->iPage]<pPage->nCell );
53740 pgno = get4byte(findCell(pPage, pCur->aiIdx[pCur->iPage]));
53763 while( rc==SQLITE_OK && !(pPage = pCur->apPage[pCur->iPage])->leaf ){
53765 pCur->aiIdx[pCur->iPage] = pPage->nCell;
53769 pCur->aiIdx[pCur->iPage] = pPage->nCell-1;
53788 assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->nCell==0 );
53791 assert( pCur->apPage[pCur->iPage]->nCell>0 );
53815 for(ii=0; ii<pCur->iPage; ii++){
53818 assert( pCur->aiIdx[pCur->iPage]==pCur->apPage[pCur->iPage]->nCell-1 );
53819 assert( pCur->apPage[pCur->iPage]->leaf );
53827 assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->nCell==0 );
53900 assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage] );
53901 assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->isInit );
53902 assert( pCur->eState==CURSOR_INVALID || pCur->apPage[pCur->iPage]->nCell>0 );
53905 assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->nCell==0 );
53912 MemPage *pPage = pCur->apPage[pCur->iPage];
53926 pCur->aiIdx[pCur->iPage] = (u16)(idx = upr);
53928 pCur->aiIdx[pCur->iPage] = (u16)(idx = (upr+lwr)/2);
53933 assert( idx==pCur->aiIdx[pCur->iPage] );
54020 pCur->aiIdx[pCur->iPage] = (u16)(idx = (lwr+upr)/2);
54032 assert( pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell );
54037 iPage] = (u16)lwr;
54091 pPage = pCur->apPage[pCur->iPage];
54092 idx = ++pCur->aiIdx[pCur->iPage];
54113 if( pCur->iPage==0 ){
54119 pPage = pCur->apPage[pCur->iPage];
54120 }while( pCur->aiIdx[pCur->iPage]>=pPage->nCell );
54165 pPage = pCur->apPage[pCur->iPage];
54168 int idx = pCur->aiIdx[pCur->iPage];
54175 while( pCur->aiIdx[pCur->iPage]==0 ){
54176 if( pCur->iPage==0 ){
54186 pCur->aiIdx[pCur->iPage]--;
54187 pPage = pCur->apPage[pCur->iPage];
54379 Pgno iPage;
54397 iPage = get4byte(&aData[8+closest*4]);
54398 testcase( iPage==mxPage );
54399 if( iPage>mxPage ){
54403 testcase( iPage==mxPage );
54404 if( !searchList || iPage==nearby ){
54406 *pPgno = iPage;
54489 ** This function is used to add page iPage to the database file free-list.
54494 ** corresponding to page iPage handy, it may pass it as the second value.
54500 static int freePage2(BtShared *pBt, MemPage *pMemPage, Pgno iPage){
54509 assert( iPage>1 );
54510 assert( !pMemPage || pMemPage->pgno==iPage );
54516 pPage = btreePageLookup(pBt, iPage);
54529 if( (!pPage && ((rc = btreeGetPage(pBt, iPage, &pPage, 0))!=0) )
54541 ptrmapPut(pBt, iPage, PTRMAP_FREEPAGE, 0, &rc);
54585 put4byte(&pTrunk->aData[8+nLeaf*4], iPage);
54589 rc = btreeSetHasContent(pBt, iPage);
54602 if( pPage==0 && SQLITE_OK!=(rc = btreeGetPage(pBt, iPage, &pPage, 0)) ){
54611 put4byte(&pPage1->aData[32], iPage);
56024 int iPage = pCur->iPage;
56025 MemPage *pPage = pCur->apPage[iPage];
56027 if( iPage==0 ){
56037 pCur->iPage = 1;
56048 MemPage * const pParent = pCur->apPage[iPage-1];
56049 int const iIdx = pCur->aiIdx[iPage-1];
56096 rc = balance_nonroot(pParent, iIdx, pSpace, iPage==1);
56116 pCur->iPage--;
56210 pPage = pCur->apPage[pCur->iPage];
56225 idx = pCur->aiIdx[pCur->iPage];
56243 idx = ++pCur->aiIdx[pCur->iPage];
56279 pCur->apPage[pCur->iPage]->nOverflow = 0;
56282 assert( pCur->apPage[pCur->iPage]->nOverflow==0 );
56308 if( NEVER(pCur->aiIdx[pCur->iPage]>=pCur->apPage[pCur->iPage]->nCell)
56320 iCellDepth = pCur->iPage;
56357 MemPage *pLeaf = pCur->apPage[pCur->iPage];
56391 if( rc==SQLITE_OK && pCur->iPage>iCellDepth ){
56392 while( pCur->iPage>iCellDepth ){
56393 releasePage(pCur->apPage[pCur->iPage--]);
56864 pPage = pCur->apPage[pCur->iPage];
56872 ** pCur->aiIdx[pCur->iPage] value is set to the index of the parent cell
56881 if( pCur->iPage==0 ){
56887 }while ( pCur->aiIdx[pCur->iPage]>=pCur->apPage[pCur->iPage]->nCell );
56889 pCur->aiIdx[pCur->iPage]++;
56890 pPage = pCur->apPage[pCur->iPage];
56896 iIdx = pCur->aiIdx[pCur->iPage];
56948 ** Add 1 to the reference count for page iPage. If this is the second
56955 static int checkRef(IntegrityCk *pCheck, Pgno iPage, char *zContext){
56956 if( iPage==0 ) return 1;
56957 if( iPage>pCheck->nPage ){
56958 checkAppendMsg(pCheck, zContext, "invalid page number %d", iPage);
56961 if( pCheck->anRef[iPage]==1 ){
56962 checkAppendMsg(pCheck, zContext, "2nd reference to page %d", iPage);
56965 return (pCheck->anRef[iPage]++)>1;
57007 int iPage, /* Page number for first page in the list */
57013 int iFirst = iPage;
57017 if( iPage<1 ){
57023 if( checkRef(pCheck, iPage, zContext) ) break;
57024 if( sqlite3PagerGet(pCheck->pPager, (Pgno)iPage, &pOvflPage) ){
57025 checkAppendMsg(pCheck, zContext, "failed to get page %d", iPage);
57033 checkPtrmap(pCheck, iPage, PTRMAP_FREEPAGE, 0, zContext);
57038 "freelist leaf count too big on page %d", iPage);
57055 /* If this database supports auto-vacuum and iPage is not the last
57057 ** the following page matches iPage.
57061 checkPtrmap(pCheck, i, PTRMAP_OVERFLOW2, iPage, zContext);
57065 iPage = get4byte(pOvflData);
57092 int iPage, /* Page number of the page to check */
57109 sqlite3_snprintf(sizeof(zContext), zContext, "Page %d: ", iPage);
57115 if( iPage==0 ) return 0;
57116 if( checkRef(pCheck, iPage, zParentContext) ) return 0;
57117 if( (rc = btreeGetPage(pBt, (Pgno)iPage, &pPage, 0))!=0 ){
57145 "On tree page %d cell %d: ", iPage, i);
57168 checkPtrmap(pCheck, pgnoOvfl, PTRMAP_OVERFLOW1, iPage, zContext);
57180 checkPtrmap(pCheck, pgno, PTRMAP_BTREE, iPage, zContext);
57194 "On page %d at right child: ", iPage);
57197 checkPtrmap(pCheck, pgno, PTRMAP_BTREE, iPage, zContext);
57262 "Corruption detected in cell %d on page %d",i,iPage);
57284 "Multiple uses for byte %d of page %d", i, iPage);
57291 cnt, data[hdr+7], iPage);
57604 assert( pCsr->apPage[pCsr->iPage]->intKey );
58271 ** This function is called after the contents of page iPage of the
58272 ** source database have been modified. If page iPage has already been
58274 ** destination is now invalidated. The destination copy of iPage needs
58282 SQLITE_PRIVATE void sqlite3BackupUpdate(sqlite3_backup *pBackup, Pgno iPage, const u8 *aData){
58286 if( !isFatalError(p->rc) && iPage<p->iNext ){
58287 /* The backup process p has already copied page iPage. But now it
58294 rc = backupOnePage(p, iPage, aData);