Lines Matching refs:iPage

25044   int iPage,
25050 return id->pMethods->xShmMap(id, iPage, pgsz, bExtend, pp);
63975 ** Obtain a pointer to the iPage'th page of the wal-index. The wal-index
63979 ** If the wal-index is currently smaller the iPage pages then the size
63988 ** (3) rc==SQLITE_OK and *ppPage==NULL // only if iPage==0
63990 ** Scenario (3) can only occur when pWal->writeLock is false and iPage==0
63994 int iPage, /* The page we seek */
64000 if( pWal->nWiData<=iPage ){
64001 sqlite3_int64 nByte = sizeof(u32*)*(iPage+1);
64009 sizeof(u32*)*(iPage+1-pWal->nWiData));
64011 pWal->nWiData = iPage+1;
64015 assert( pWal->apWiData[iPage]==0 );
64017 pWal->apWiData[iPage] = (u32 volatile *)sqlite3MallocZero(WALINDEX_PGSZ);
64018 if( !pWal->apWiData[iPage] ) rc = SQLITE_NOMEM_BKPT;
64020 rc = sqlite3OsShmMap(pWal->pDbFd, iPage, WALINDEX_PGSZ,
64021 pWal->writeLock, (void volatile **)&pWal->apWiData[iPage]
64023 assert( pWal->apWiData[iPage]!=0
64025 || (pWal->writeLock==0 && iPage==0) );
64026 testcase( pWal->apWiData[iPage]==0 && rc==SQLITE_OK );
64028 if( iPage>0 && sqlite3FaultSim(600) ) rc = SQLITE_NOMEM;
64037 *ppPage = pWal->apWiData[iPage];
64038 assert( iPage==0 || *ppPage || rc!=SQLITE_OK );
64043 int iPage, /* The page we seek */
64046 if( pWal->nWiData<=iPage || (*ppPage = pWal->apWiData[iPage])==0 ){
64047 return walIndexPageRealloc(pWal, iPage, ppPage);
64185 u32 iPage, /* Database page number for frame */
64193 sqlite3Put4byte(&aFrame[0], iPage);
64332 static int walHash(u32 iPage){
64333 assert( iPage>0 );
64335 return (iPage*HASHTABLE_HASH_1) & (HASHTABLE_NSLOT-1);
64494 static int walIndexAppend(Wal *pWal, u32 iFrame, u32 iPage){
64533 for(iKey=walHash(iPage); sLoc.aHash[iKey]; iKey=walNextHash(iKey)){
64536 sLoc.aPgno[idx-1] = iPage;
68110 i8 iPage; /* Index of current page in apPage */
68112 u16 ix; /* Current index for apPage[iPage] */
69262 if( pCur->iPage>=0 ){
69263 for(i=0; i<pCur->iPage; i++){
69267 pCur->iPage = -1;
69406 testcase( p->iPage>=0 );
70888 ** And if the fetch fails, this routine must decrement pCur->iPage.
70908 assert( pCur==0 || pCur->iPage>0 );
70941 pCur->iPage--;
70942 pCur->pPage = pCur->apPage[pCur->iPage];
73203 pCur->iPage = -1;
73787 assert( pCur->iPage>=0 && pCur->pPage );
73845 assert( pCur!=0 && pCur->iPage>=0 && pCur->pPage);
73896 assert( pCur->iPage<BTCURSOR_MAX_DEPTH );
73897 assert( pCur->iPage>=0 );
73898 if( pCur->iPage>=(BTCURSOR_MAX_DEPTH-1) ){
73903 pCur->aiIdx[pCur->iPage] = pCur->ix;
73904 pCur->apPage[pCur->iPage] = pCur->pPage;
73906 pCur->iPage++;
73945 assert( pCur->iPage>0 );
73948 pCur->apPage[pCur->iPage-1],
73949 pCur->aiIdx[pCur->iPage-1],
73952 testcase( pCur->aiIdx[pCur->iPage-1] > pCur->apPage[pCur->iPage-1]->nCell );
73955 pCur->ix = pCur->aiIdx[pCur->iPage-1];
73957 pCur->pPage = pCur->apPage[--pCur->iPage];
73990 assert( pCur->eState < CURSOR_REQUIRESEEK || pCur->iPage<0 );
73991 assert( pCur->pgnoRoot>0 || pCur->iPage<0 );
73993 if( pCur->iPage>=0 ){
73994 if( pCur->iPage ){
73996 while( --pCur->iPage ){
73997 releasePageNotNull(pCur->apPage[pCur->iPage]);
74006 assert( pCur->iPage==(-1) );
74020 pCur->iPage = 0;
74033 ** if pCur->iPage>=0). But this is not so if the database is corrupted
74150 for(ii=0; ii<pCur->iPage; ii++){
74265 assert( pCur->iPage==0 || pCur->apPage[0]->intKey==pCur->curIntKey );
74401 for(i=0; i<pCur->iPage; i++){
74482 if( pCur->iPage>0
74673 for(i=0; i<pCur->iPage; i++){
74733 if( pCur->iPage==0 ){
74822 if( pCur->iPage==0 ){
75056 Pgno iPage;
75063 iPage = get4byte(&aData[8+i*4]);
75064 if( iPage<=nearby ){
75084 iPage = get4byte(&aData[8+closest*4]);
75085 testcase( iPage==mxPage );
75086 if( iPage>mxPage || iPage<2 ){
75090 testcase( iPage==mxPage );
75092 || (iPage==nearby || (iPage<nearby && eMode==BTALLOC_LE))
75095 *pPgno = iPage;
75190 ** This function is used to add page iPage to the database file free-list.
75195 ** corresponding to page iPage handy, it may pass it as the second value.
75201 static int freePage2(BtShared *pBt, MemPage *pMemPage, Pgno iPage){
75210 assert( CORRUPT_DB || iPage>1 );
75211 assert( !pMemPage || pMemPage->pgno==iPage );
75213 if( iPage<2 || iPage>pBt->nPage ){
75220 pPage = btreePageLookup(pBt, iPage);
75233 if( (!pPage && ((rc = btreeGetPage(pBt, iPage, &pPage, 0))!=0) )
75245 ptrmapPut(pBt, iPage, PTRMAP_FREEPAGE, 0, &rc);
75298 put4byte(&pTrunk->aData[8+nLeaf*4], iPage);
75302 rc = btreeSetHasContent(pBt, iPage);
75315 if( pPage==0 && SQLITE_OK!=(rc = btreeGetPage(pBt, iPage, &pPage, 0)) ){
75324 put4byte(&pPage1->aData[32], iPage);
77381 int iPage;
77391 }else if( (iPage = pCur->iPage)==0 ){
77402 pCur->iPage = 1;
77418 MemPage * const pParent = pCur->apPage[iPage-1];
77419 int const iIdx = pCur->aiIdx[iPage-1];
77470 rc = balance_nonroot(pParent, iIdx, pSpace, iPage==1,
77491 pCur->iPage--;
77492 assert( pCur->iPage>=0 );
77493 pCur->pPage = pCur->apPage[pCur->iPage];
77661 if( loc && pCur->iPage<0 ){
77921 assert( pCur->iPage<0 || pCur->pPage->nOverflow==0 );
78085 iCellDepth = pCur->iPage;
78178 if( iCellDepth<pCur->iPage-1 ){
78221 if( rc==SQLITE_OK && pCur->iPage>iCellDepth ){
78223 pCur->iPage--;
78224 while( pCur->iPage>iCellDepth ){
78225 releasePage(pCur->apPage[pCur->iPage--]);
78227 pCur->pPage = pCur->apPage[pCur->iPage];
78233 assert( (pCur->iPage==iCellDepth || CORRUPT_DB) );
78745 ** pCur->aiIdx[pCur->iPage] value is set to the index of the parent cell
78754 if( pCur->iPage==0 ){
78838 ** Add 1 to the reference count for page iPage. If this is the second
78845 static int checkRef(IntegrityCk *pCheck, Pgno iPage){
78846 if( iPage>pCheck->nPage || iPage==0 ){
78847 checkAppendMsg(pCheck, "invalid page number %d", iPage);
78850 if( getPageReferenced(pCheck, iPage) ){
78851 checkAppendMsg(pCheck, "2nd reference to page %d", iPage);
78855 setPageReferenced(pCheck, iPage);
78897 Pgno iPage, /* Page number for first page in the list */
78903 while( iPage!=0 && pCheck->mxErr ){
78906 if( checkRef(pCheck, iPage) ) break;
78908 if( sqlite3PagerGet(pCheck->pPager, (Pgno)iPage, &pOvflPage, 0) ){
78909 checkAppendMsg(pCheck, "failed to get page %d", iPage);
78917 checkPtrmap(pCheck, iPage, PTRMAP_FREEPAGE, 0);
78922 "freelist leaf count too big on page %d", iPage);
78939 /* If this database supports auto-vacuum and iPage is not the last
78941 ** the following page matches iPage.
78945 checkPtrmap(pCheck, i, PTRMAP_OVERFLOW2, iPage);
78949 iPage = get4byte(pOvflData);
79029 Pgno iPage, /* Page number of the page to check */
79063 if( iPage==0 ) return 0;
79064 if( checkRef(pCheck, iPage) ) return 0;
79066 pCheck->v1 = iPage;
79067 if( (rc = btreeGetPage(pBt, iPage, &pPage, 0))!=0 ){
79113 checkPtrmap(pCheck, pgno, PTRMAP_BTREE, iPage);
79167 checkPtrmap(pCheck, pgnoOvfl, PTRMAP_OVERFLOW1, iPage);
79178 checkPtrmap(pCheck, pgno, PTRMAP_BTREE, iPage);
79253 "Multiple uses for byte %u of page %u", x>>16, iPage);
79269 nFrag, data[hdr+7], iPage);
80424 ** This function is called after the contents of page iPage of the
80425 ** source database have been modified. If page iPage has already been
80427 ** destination is now invalidated. The destination copy of iPage needs
80437 Pgno iPage,
80443 if( !isFatalError(p->rc) && iPage<p->iNext ){
80444 /* The backup process p has already copied page iPage. But now it
80451 rc = backupOnePage(p, iPage, aData, 1);
80460 SQLITE_PRIVATE void sqlite3BackupUpdate(sqlite3_backup *pBackup, Pgno iPage, const u8 *aData){
80461 if( pBackup ) backupUpdate(pBackup, iPage, aData);
214310 int iPage; /* Current entry in aPage[] */
214520 pCsr->iPage = 0;
214764 if( pCsr->iPage<0 ){
214783 pCsr->iPage = 0;
214791 StatPage *p = &pCsr->aPage[pCsr->iPage];
214827 pCsr->iPage--;
214828 if( pCsr->isAgg && pCsr->iPage<0 ){
214835 pCsr->iPage++;
214836 if( pCsr->iPage>=ArraySize(pCsr->aPage) ){
214840 assert( p==&pCsr->aPage[pCsr->iPage-1] );
214863 StatPage *p = &pCsr->aPage[pCsr->iPage];
214977 pCsr->iPage = -1;