Lines Matching refs:iPage

14058   int iPage,
14063 return id->pMethods->xShmMap(id, iPage, pgsz, bExtend, pp);
43776 ** Obtain a pointer to the iPage'th page of the wal-index. The wal-index
43784 static int walIndexPage(Wal *pWal, int iPage, volatile u32 **ppPage){
43788 if( pWal->nWiData<=iPage ){
43789 int nByte = sizeof(u32*)*(iPage+1);
43797 sizeof(u32*)*(iPage+1-pWal->nWiData));
43799 pWal->nWiData = iPage+1;
43803 if( pWal->apWiData[iPage]==0 ){
43805 pWal->apWiData[iPage] = (u32 volatile *)sqlite3MallocZero(WALINDEX_PGSZ);
43806 if( !pWal->apWiData[iPage] ) rc = SQLITE_NOMEM;
43808 rc = sqlite3OsShmMap(pWal->pDbFd, iPage, WALINDEX_PGSZ,
43809 pWal->writeLock, (void volatile **)&pWal->apWiData[iPage]
43814 *ppPage = pWal->apWiData[iPage];
43815 assert( iPage==0 || *ppPage || rc!=SQLITE_OK );
43933 u32 iPage, /* Database page number for frame */
43941 sqlite3Put4byte(&aFrame[0], iPage);
44076 static int walHash(u32 iPage){
44077 assert( iPage>0 );
44079 return (iPage*HASHTABLE_HASH_1) & (HASHTABLE_NSLOT-1);
44233 static int walIndexAppend(Wal *pWal, u32 iFrame, u32 iPage){
44273 for(iKey=walHash(iPage); aHash[iKey]; iKey=walNextHash(iKey)){
44276 aPgno[idx] = iPage;
46705 i16 iPage; /* Index of current page in apPage */
47720 for(i=0; i<=pCur->iPage; i++){
47724 pCur->iPage = -1;
50383 for(i=0; i<=p->iPage; i++){
50588 pCur->iPage = -1;
50637 memset(p, 0, offsetof(BtCursor, iPage));
50689 for(i=0; i<=pCur->iPage; i++){
50718 int iPage = pCur->iPage;
50720 btreeParseCell(pCur->apPage[iPage], pCur->aiIdx[iPage], &info);
50730 int iPage = pCur->iPage;
50731 btreeParseCell(pCur->apPage[iPage],pCur->aiIdx[iPage],&pCur->info);
50741 int iPage = pCur->iPage; \
50742 btreeParseCell(pCur->apPage[iPage],pCur->aiIdx[iPage],&pCur->info); \
50951 MemPage *pPage = pCur->apPage[pCur->iPage]; /* Btree page of current entry */
50956 assert( pCur->aiIdx[pCur->iPage]<pPage->nCell );
51087 assert( pCur->iPage>=0 && pCur->apPage[pCur->iPage] );
51088 assert( pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell );
51114 assert( pCur->iPage>=0 && pCur->apPage[pCur->iPage] );
51115 assert( pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell );
51150 assert( pCur!=0 && pCur->iPage>=0 && pCur->apPage[pCur->iPage]);
51153 pPage = pCur->apPage[pCur->iPage];
51154 assert( pCur->aiIdx[pCur->iPage]<pPage->nCell );
51156 btreeParseCell(pCur->apPage[pCur->iPage], pCur->aiIdx[pCur->iPage],
51223 int i = pCur->iPage;
51229 assert( pCur->iPage<BTCURSOR_MAX_DEPTH );
51230 if( pCur->iPage>=(BTCURSOR_MAX_DEPTH-1) ){
51237 pCur->iPage++;
51278 assert( pCur->iPage>0 );
51279 assert( pCur->apPage[pCur->iPage] );
51281 pCur->apPage[pCur->iPage-1],
51282 pCur->aiIdx[pCur->iPage-1],
51283 pCur->apPage[pCur->iPage]->pgno
51285 releasePage(pCur->apPage[pCur->iPage]);
51286 pCur->iPage--;
51330 if( pCur->iPage>=0 ){
51332 for(i=1; i<=pCur->iPage; i++){
51335 pCur->iPage = 0;
51342 pCur->iPage = 0;
51395 while( rc==SQLITE_OK && !(pPage = pCur->apPage[pCur->iPage])->leaf ){
51396 assert( pCur->aiIdx[pCur->iPage]<pPage->nCell );
51397 pgno = get4byte(findCell(pPage, pCur->aiIdx[pCur->iPage]));
51420 while( rc==SQLITE_OK && !(pPage = pCur->apPage[pCur->iPage])->leaf ){
51422 pCur->aiIdx[pCur->iPage] = pPage->nCell;
51426 pCur->aiIdx[pCur->iPage] = pPage->nCell-1;
51445 assert( pCur->apPage[pCur->iPage]->nCell==0 );
51448 assert( pCur->apPage[pCur->iPage]->nCell>0 );
51472 for(ii=0; ii<pCur->iPage; ii++){
51475 assert( pCur->aiIdx[pCur->iPage]==pCur->apPage[pCur->iPage]->nCell-1 );
51476 assert( pCur->apPage[pCur->iPage]->leaf );
51484 assert( pCur->apPage[pCur->iPage]->nCell==0 );
51557 assert( pCur->apPage[pCur->iPage] );
51558 assert( pCur->apPage[pCur->iPage]->isInit );
51559 assert( pCur->apPage[pCur->iPage]->nCell>0 || pCur->eState==CURSOR_INVALID );
51562 assert( pCur->apPage[pCur->iPage]->nCell==0 );
51569 MemPage *pPage = pCur->apPage[pCur->iPage];
51583 pCur->aiIdx[pCur->iPage] = (u16)upr;
51585 pCur->aiIdx[pCur->iPage] = (u16)((upr+lwr)/2);
51588 int idx = pCur->aiIdx[pCur->iPage]; /* Index of current cell in pPage */
51673 pCur->aiIdx[pCur->iPage] = (u16)((lwr+upr)/2);
51685 assert( pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell );
51690 pCur->aiIdx[pCur->iPage] = (u16)lwr;
51744 pPage = pCur->apPage[pCur->iPage];
51745 idx = ++pCur->aiIdx[pCur->iPage];
51760 if( pCur->iPage==0 ){
51766 pPage = pCur->apPage[pCur->iPage];
51767 }while( pCur->aiIdx[pCur->iPage]>=pPage->nCell );
51812 pPage = pCur->apPage[pCur->iPage];
51815 int idx = pCur->aiIdx[pCur->iPage];
51822 while( pCur->aiIdx[pCur->iPage]==0 ){
51823 if( pCur->iPage==0 ){
51833 pCur->aiIdx[pCur->iPage]--;
51834 pPage = pCur->apPage[pCur->iPage];
52024 Pgno iPage;
52042 iPage = get4byte(&aData[8+closest*4]);
52043 testcase( iPage==mxPage );
52044 if( iPage>mxPage ){
52048 testcase( iPage==mxPage );
52049 if( !searchList || iPage==nearby ){
52051 *pPgno = iPage;
52134 ** This function is used to add page iPage to the database file free-list.
52139 ** corresponding to page iPage handy, it may pass it as the second value.
52145 static int freePage2(BtShared *pBt, MemPage *pMemPage, Pgno iPage){
52154 assert( iPage>1 );
52155 assert( !pMemPage || pMemPage->pgno==iPage );
52161 pPage = btreePageLookup(pBt, iPage);
52174 if( (!pPage && ((rc = btreeGetPage(pBt, iPage, &pPage, 0))!=0) )
52186 ptrmapPut(pBt, iPage, PTRMAP_FREEPAGE, 0, &rc);
52230 put4byte(&pTrunk->aData[8+nLeaf*4], iPage);
52234 rc = btreeSetHasContent(pBt, iPage);
52247 if( pPage==0 && SQLITE_OK!=(rc = btreeGetPage(pBt, iPage, &pPage, 0)) ){
52256 put4byte(&pPage1->aData[32], iPage);
53634 int iPage = pCur->iPage;
53635 MemPage *pPage = pCur->apPage[iPage];
53637 if( iPage==0 ){
53647 pCur->iPage = 1;
53658 MemPage * const pParent = pCur->apPage[iPage-1];
53659 int const iIdx = pCur->aiIdx[iPage-1];
53706 rc = balance_nonroot(pParent, iIdx, pSpace, iPage==1);
53726 pCur->iPage--;
53819 pPage = pCur->apPage[pCur->iPage];
53834 idx = pCur->aiIdx[pCur->iPage];
53852 idx = ++pCur->aiIdx[pCur->iPage];
53888 pCur->apPage[pCur->iPage]->nOverflow = 0;
53891 assert( pCur->apPage[pCur->iPage]->nOverflow==0 );
53917 if( NEVER(pCur->aiIdx[pCur->iPage]>=pCur->apPage[pCur->iPage]->nCell)
53929 iCellDepth = pCur->iPage;
53966 MemPage *pLeaf = pCur->apPage[pCur->iPage];
54000 if( rc==SQLITE_OK && pCur->iPage>iCellDepth ){
54001 while( pCur->iPage>iCellDepth ){
54002 releasePage(pCur->apPage[pCur->iPage--]);
54466 pPage = pCur->apPage[pCur->iPage];
54474 ** pCur->aiIdx[pCur->iPage] value is set to the index of the parent cell
54483 if( pCur->iPage==0 ){
54489 }while ( pCur->aiIdx[pCur->iPage]>=pCur->apPage[pCur->iPage]->nCell );
54491 pCur->aiIdx[pCur->iPage]++;
54492 pPage = pCur->apPage[pCur->iPage];
54498 iIdx = pCur->aiIdx[pCur->iPage];
54550 ** Add 1 to the reference count for page iPage. If this is the second
54557 static int checkRef(IntegrityCk *pCheck, Pgno iPage, char *zContext){
54558 if( iPage==0 ) return 1;
54559 if( iPage>pCheck->nPage ){
54560 checkAppendMsg(pCheck, zContext, "invalid page number %d", iPage);
54563 if( pCheck->anRef[iPage]==1 ){
54564 checkAppendMsg(pCheck, zContext, "2nd reference to page %d", iPage);
54567 return (pCheck->anRef[iPage]++)>1;
54609 int iPage, /* Page number for first page in the list */
54615 int iFirst = iPage;
54619 if( iPage<1 ){
54625 if( checkRef(pCheck, iPage, zContext) ) break;
54626 if( sqlite3PagerGet(pCheck->pPager, (Pgno)iPage, &pOvflPage) ){
54627 checkAppendMsg(pCheck, zContext, "failed to get page %d", iPage);
54635 checkPtrmap(pCheck, iPage, PTRMAP_FREEPAGE, 0, zContext);
54640 "freelist leaf count too big on page %d", iPage);
54657 /* If this database supports auto-vacuum and iPage is not the last
54659 ** the following page matches iPage.
54663 checkPtrmap(pCheck, i, PTRMAP_OVERFLOW2, iPage, zContext);
54667 iPage = get4byte(pOvflData);
54694 int iPage, /* Page number of the page to check */
54711 sqlite3_snprintf(sizeof(zContext), zContext, "Page %d: ", iPage);
54717 if( iPage==0 ) return 0;
54718 if( checkRef(pCheck, iPage, zParentContext) ) return 0;
54719 if( (rc = btreeGetPage(pBt, (Pgno)iPage, &pPage, 0))!=0 ){
54747 "On tree page %d cell %d: ", iPage, i);
54770 checkPtrmap(pCheck, pgnoOvfl, PTRMAP_OVERFLOW1, iPage, zContext);
54782 checkPtrmap(pCheck, pgno, PTRMAP_BTREE, iPage, zContext);
54796 "On page %d at right child: ", iPage);
54799 checkPtrmap(pCheck, pgno, PTRMAP_BTREE, iPage, zContext);
54864 "Corruption detected in cell %d on page %d",i,iPage);
54886 "Multiple uses for byte %d of page %d", i, iPage);
54893 cnt, data[hdr+7], iPage);
55205 assert( pCsr->apPage[pCsr->iPage]->intKey );
55868 ** This function is called after the contents of page iPage of the
55869 ** source database have been modified. If page iPage has already been
55871 ** destination is now invalidated. The destination copy of iPage needs
55879 SQLITE_PRIVATE void sqlite3BackupUpdate(sqlite3_backup *pBackup, Pgno iPage, const u8 *aData){
55883 if( !isFatalError(p->rc) && iPage<p->iNext ){
55884 /* The backup process p has already copied page iPage. But now it
55891 rc = backupOnePage(p, iPage, aData);
110969 /* Internal helper. Used to detect if iPage would cause a loop. */
110971 unsigned iPage){
110973 while( pCursor && pCursor->pPage->pgno!=iPage ){
111004 const unsigned iPage = interiorCursorChildPage(pCursor);
111006 if( interiorCursorPageInUse(pCursor, iPage) ){
111007 fprintf(stderr, "Loop detected at %d\n", iPage);
111009 int rc = sqlite3PagerAcquire(pCursor->pPage->pPager, iPage, ppPage, 0);
111082 /* Internal helper. Used to detect if iPage would cause a loop. */
111083 static int overflowPageInUse(RecoverOverflow *pOverflow, unsigned iPage){
111084 while( pOverflow && pOverflow->pPage->pgno!=iPage ){