Lines Matching refs:pPage

376   MemPage *pPage;           /* Page that contains the entry */  member
428 static void defragmentPage(Btree *pBt, MemPage *pPage){ in defragmentPage() argument
433 assert( sqlitepager_iswriteable(pPage) ); in defragmentPage()
434 assert( pPage->isInit ); in defragmentPage()
436 pPage->u.hdr.firstCell = SWAB16(pBt, pc); in defragmentPage()
437 memcpy(newPage, pPage->u.aDisk, pc); in defragmentPage()
438 for(i=0; i<pPage->nCell; i++){ in defragmentPage()
439 Cell *pCell = pPage->apCell[i]; in defragmentPage()
443 assert( Addr(pCell) > Addr(pPage) ); in defragmentPage()
444 assert( Addr(pCell) < Addr(pPage) + SQLITE_USABLE_SIZE ); in defragmentPage()
449 pPage->apCell[i] = (Cell*)&pPage->u.aDisk[pc]; in defragmentPage()
452 assert( pPage->nFree==SQLITE_USABLE_SIZE-pc ); in defragmentPage()
453 memcpy(pPage->u.aDisk, newPage, pc); in defragmentPage()
454 if( pPage->nCell>0 ){ in defragmentPage()
455 pPage->apCell[pPage->nCell-1]->h.iNext = 0; in defragmentPage()
457 pFBlk = (FreeBlk*)&pPage->u.aDisk[pc]; in defragmentPage()
460 pPage->u.hdr.firstFree = SWAB16(pBt, pc); in defragmentPage()
477 static int allocateSpace(Btree *pBt, MemPage *pPage, int nByte){ in allocateSpace() argument
486 assert( sqlitepager_iswriteable(pPage) ); in allocateSpace()
488 assert( pPage->isInit ); in allocateSpace()
489 if( pPage->nFree<nByte || pPage->isOverfull ) return 0; in allocateSpace()
490 pIdx = &pPage->u.hdr.firstFree; in allocateSpace()
491 p = (FreeBlk*)&pPage->u.aDisk[SWAB16(pBt, *pIdx)]; in allocateSpace()
495 defragmentPage(pBt, pPage); in allocateSpace()
496 pIdx = &pPage->u.hdr.firstFree; in allocateSpace()
500 p = (FreeBlk*)&pPage->u.aDisk[SWAB16(pBt, *pIdx)]; in allocateSpace()
508 pNew = (FreeBlk*)&pPage->u.aDisk[start + nByte]; in allocateSpace()
513 pPage->nFree -= nByte; in allocateSpace()
526 static void freeSpace(Btree *pBt, MemPage *pPage, int start, int size){ in freeSpace() argument
534 assert( sqlitepager_iswriteable(pPage) ); in freeSpace()
537 assert( pPage->isInit ); in freeSpace()
538 pIdx = &pPage->u.hdr.firstFree; in freeSpace()
541 pFBlk = (FreeBlk*)&pPage->u.aDisk[idx]; in freeSpace()
546 pNext = (FreeBlk*)&pPage->u.aDisk[idx + iSize + size]; in freeSpace()
554 pPage->nFree += size; in freeSpace()
560 pNew = (FreeBlk*)&pPage->u.aDisk[start]; in freeSpace()
565 pNext = (FreeBlk*)&pPage->u.aDisk[idx]; in freeSpace()
570 pPage->nFree += size; in freeSpace()
587 static int initPage(Bt *pBt, MemPage *pPage, Pgno pgnoThis, MemPage *pParent){ in initPage() argument
594 if( pPage->pParent ){ in initPage()
595 assert( pPage->pParent==pParent ); in initPage()
599 pPage->pParent = pParent; in initPage()
602 if( pPage->isInit ) return SQLITE_OK; in initPage()
603 pPage->isInit = 1; in initPage()
604 pPage->nCell = 0; in initPage()
606 idx = SWAB16(pBt, pPage->u.hdr.firstCell); in initPage()
611 pCell = (Cell*)&pPage->u.aDisk[idx]; in initPage()
615 pPage->apCell[pPage->nCell++] = pCell; in initPage()
618 pPage->nFree = 0; in initPage()
619 idx = SWAB16(pBt, pPage->u.hdr.firstFree); in initPage()
624 pFBlk = (FreeBlk*)&pPage->u.aDisk[idx]; in initPage()
625 pPage->nFree += SWAB16(pBt, pFBlk->iSize); in initPage()
630 if( pPage->nCell==0 && pPage->nFree==0 ){ in initPage()
635 if( pPage->nFree!=freeSpace ) goto page_format_error; in initPage()
646 static void zeroPage(Btree *pBt, MemPage *pPage){ in zeroPage() argument
649 assert( sqlitepager_iswriteable(pPage) ); in zeroPage()
650 memset(pPage, 0, SQLITE_USABLE_SIZE); in zeroPage()
651 pHdr = &pPage->u.hdr; in zeroPage()
656 pPage->nFree = SQLITE_USABLE_SIZE - sizeof(*pHdr); in zeroPage()
657 pFBlk->iSize = SWAB16(pBt, pPage->nFree); in zeroPage()
658 pPage->nCell = 0; in zeroPage()
659 pPage->isOverfull = 0; in zeroPage()
668 MemPage *pPage = (MemPage*)pData; in pageDestructor() local
669 if( pPage->pParent ){ in pageDestructor()
670 MemPage *pParent = pPage->pParent; in pageDestructor()
671 pPage->pParent = 0; in pageDestructor()
937 if( pCur->pPage && pCur->pPage->isInit==0 ){ in fileBtreeRollback()
938 sqlitepager_unref(pCur->pPage); in fileBtreeRollback()
939 pCur->pPage = 0; in fileBtreeRollback()
996 if( pCur->pPage && pCur->pPage->isInit==0 ){ in fileBtreeRollbackCkpt()
997 sqlitepager_unref(pCur->pPage); in fileBtreeRollbackCkpt()
998 pCur->pPage = 0; in fileBtreeRollbackCkpt()
1063 rc = sqlitepager_get(pBt->pPager, pCur->pgnoRoot, (void**)&pCur->pPage); in fileBtreeCursor()
1067 rc = initPage(pBt, pCur->pPage, pCur->pgnoRoot, 0); in fileBtreeCursor()
1096 if( pCur->pPage ) sqlitepager_unref(pCur->pPage); in fileBtreeCursor()
1117 if( pCur->pPage ){ in fileBtreeCloseCursor()
1118 sqlitepager_unref(pCur->pPage); in fileBtreeCloseCursor()
1138 if( pTempCur->pPage ){ in getTempCursor()
1139 sqlitepager_ref(pTempCur->pPage); in getTempCursor()
1148 if( pCur->pPage ){ in releaseTempCursor()
1149 sqlitepager_unref(pCur->pPage); in releaseTempCursor()
1162 MemPage *pPage; in fileBtreeKeySize() local
1164 pPage = pCur->pPage; in fileBtreeKeySize()
1165 assert( pPage!=0 ); in fileBtreeKeySize()
1166 if( pCur->idx >= pPage->nCell ){ in fileBtreeKeySize()
1169 pCell = pPage->apCell[pCur->idx]; in fileBtreeKeySize()
1188 assert( pCur!=0 && pCur->pPage!=0 ); in getPayload()
1189 assert( pCur->idx>=0 && pCur->idx<pCur->pPage->nCell ); in getPayload()
1190 aPayload = pCur->pPage->apCell[pCur->idx]->aPayload; in getPayload()
1207 nextPage = SWAB32(pBt, pCur->pPage->apCell[pCur->idx]->ovfl); in getPayload()
1250 MemPage *pPage; in fileBtreeKey() local
1254 assert( pCur->pPage!=0 ); in fileBtreeKey()
1255 pPage = pCur->pPage; in fileBtreeKey()
1256 if( pCur->idx >= pPage->nCell ){ in fileBtreeKey()
1259 assert( amt+offset <= NKEY(pCur->pBt, pPage->apCell[pCur->idx]->h) ); in fileBtreeKey()
1273 MemPage *pPage; in fileBtreeDataSize() local
1275 pPage = pCur->pPage; in fileBtreeDataSize()
1276 assert( pPage!=0 ); in fileBtreeDataSize()
1277 if( pCur->idx >= pPage->nCell ){ in fileBtreeDataSize()
1280 pCell = pPage->apCell[pCur->idx]; in fileBtreeDataSize()
1296 MemPage *pPage; in fileBtreeData() local
1300 assert( pCur->pPage!=0 ); in fileBtreeData()
1301 pPage = pCur->pPage; in fileBtreeData()
1302 if( pCur->idx >= pPage->nCell ){ in fileBtreeData()
1305 pCell = pPage->apCell[pCur->idx]; in fileBtreeData()
1345 assert( pCur->pPage ); in fileBtreeKeyCompare()
1346 assert( pCur->idx>=0 && pCur->idx<pCur->pPage->nCell ); in fileBtreeKeyCompare()
1347 pCell = pCur->pPage->apCell[pCur->idx]; in fileBtreeKeyCompare()
1406 rc = initPage(pBt, pNewPage, newPgno, pCur->pPage); in moveToChild()
1408 assert( pCur->idx>=pCur->pPage->nCell in moveToChild()
1409 || pCur->pPage->apCell[pCur->idx]->h.leftChild==SWAB32(pBt,newPgno) ); in moveToChild()
1410 assert( pCur->idx<pCur->pPage->nCell in moveToChild()
1411 || pCur->pPage->u.hdr.rightChild==SWAB32(pBt,newPgno) ); in moveToChild()
1413 pCur->pPage->idxShift = 0; in moveToChild()
1414 sqlitepager_unref(pCur->pPage); in moveToChild()
1415 pCur->pPage = pNewPage; in moveToChild()
1434 MemPage *pPage; in moveToParent() local
1436 pPage = pCur->pPage; in moveToParent()
1437 assert( pPage!=0 ); in moveToParent()
1438 pParent = pPage->pParent; in moveToParent()
1440 idxParent = pPage->idxParent; in moveToParent()
1442 sqlitepager_unref(pPage); in moveToParent()
1443 pCur->pPage = pParent; in moveToParent()
1451 oldPgno = SWAB32(pCur->pBt, sqlitepager_pagenumber(pPage)); in moveToParent()
1466 oldPgno = SWAB32(pCur->pBt, sqlitepager_pagenumber(pPage)); in moveToParent()
1488 sqlitepager_unref(pCur->pPage); in moveToRoot()
1489 pCur->pPage = pNew; in moveToRoot()
1502 while( (pgno = pCur->pPage->apCell[pCur->idx]->h.leftChild)!=0 ){ in moveToLeftmost()
1520 while( (pgno = pCur->pPage->u.hdr.rightChild)!=0 ){ in moveToRightmost()
1521 pCur->idx = pCur->pPage->nCell; in moveToRightmost()
1525 pCur->idx = pCur->pPage->nCell - 1; in moveToRightmost()
1535 if( pCur->pPage==0 ) return SQLITE_ABORT; in fileBtreeFirst()
1538 if( pCur->pPage->nCell==0 ){ in fileBtreeFirst()
1554 if( pCur->pPage==0 ) return SQLITE_ABORT; in fileBtreeLast()
1557 assert( pCur->pPage->isInit ); in fileBtreeLast()
1558 if( pCur->pPage->nCell==0 ){ in fileBtreeLast()
1594 if( pCur->pPage==0 ) return SQLITE_ABORT; in fileBtreeMoveto()
1601 MemPage *pPage = pCur->pPage; in fileBtreeMoveto() local
1604 upr = pPage->nCell-1; in fileBtreeMoveto()
1621 assert( pPage->isInit ); in fileBtreeMoveto()
1622 if( lwr>=pPage->nCell ){ in fileBtreeMoveto()
1623 chldPg = pPage->u.hdr.rightChild; in fileBtreeMoveto()
1625 chldPg = pPage->apCell[lwr]->h.leftChild; in fileBtreeMoveto()
1647 MemPage *pPage = pCur->pPage; in fileBtreeNext() local
1649 if( pPage==0 ){ in fileBtreeNext()
1653 assert( pPage->isInit ); in fileBtreeNext()
1655 if( pPage->nCell==0 ){ in fileBtreeNext()
1659 assert( pCur->idx<pPage->nCell ); in fileBtreeNext()
1667 if( pCur->idx>=pPage->nCell ){ in fileBtreeNext()
1668 if( pPage->u.hdr.rightChild ){ in fileBtreeNext()
1669 rc = moveToChild(pCur, pPage->u.hdr.rightChild); in fileBtreeNext()
1676 if( pPage->pParent==0 ){ in fileBtreeNext()
1681 pPage = pCur->pPage; in fileBtreeNext()
1682 }while( pCur->idx>=pPage->nCell ); in fileBtreeNext()
1687 if( pPage->u.hdr.rightChild==0 ){ in fileBtreeNext()
1703 MemPage *pPage; in fileBtreePrevious() local
1704 pPage = pCur->pPage; in fileBtreePrevious()
1705 if( pPage==0 ){ in fileBtreePrevious()
1709 assert( pPage->isInit ); in fileBtreePrevious()
1711 if( pPage->nCell==0 ){ in fileBtreePrevious()
1722 if( (pgno = pPage->apCell[pCur->idx]->h.leftChild)!=0 ){ in fileBtreePrevious()
1728 if( pPage->pParent==0 ){ in fileBtreePrevious()
1733 pPage = pCur->pPage; in fileBtreePrevious()
1823 static int freePage(Btree *pBt, void *pPage, Pgno pgno){ in freePage() argument
1825 OverflowPage *pOvfl = (OverflowPage*)pPage; in freePage()
1836 pMemPage = (MemPage*)pPage; in freePage()
2015 static void reparentChildPages(Btree *pBt, MemPage *pPage){ in reparentChildPages() argument
2018 for(i=0; i<pPage->nCell; i++){ in reparentChildPages()
2019 reparentPage(pPager, SWAB32(pBt, pPage->apCell[i]->h.leftChild), pPage, i); in reparentChildPages()
2021 reparentPage(pPager, SWAB32(pBt, pPage->u.hdr.rightChild), pPage, i); in reparentChildPages()
2022 pPage->idxShift = 0; in reparentChildPages()
2038 static void dropCell(Btree *pBt, MemPage *pPage, int idx, int sz){ in dropCell() argument
2040 assert( idx>=0 && idx<pPage->nCell ); in dropCell()
2041 assert( sz==cellSize(pBt, pPage->apCell[idx]) ); in dropCell()
2042 assert( sqlitepager_iswriteable(pPage) ); in dropCell()
2043 freeSpace(pBt, pPage, Addr(pPage->apCell[idx]) - Addr(pPage), sz); in dropCell()
2044 for(j=idx; j<pPage->nCell-1; j++){ in dropCell()
2045 pPage->apCell[j] = pPage->apCell[j+1]; in dropCell()
2047 pPage->nCell--; in dropCell()
2048 pPage->idxShift = 1; in dropCell()
2064 static void insertCell(Btree *pBt, MemPage *pPage, int i, Cell *pCell, int sz){ in insertCell() argument
2066 assert( i>=0 && i<=pPage->nCell ); in insertCell()
2068 assert( sqlitepager_iswriteable(pPage) ); in insertCell()
2069 idx = allocateSpace(pBt, pPage, sz); in insertCell()
2070 for(j=pPage->nCell; j>i; j--){ in insertCell()
2071 pPage->apCell[j] = pPage->apCell[j-1]; in insertCell()
2073 pPage->nCell++; in insertCell()
2075 pPage->isOverfull = 1; in insertCell()
2076 pPage->apCell[i] = pCell; in insertCell()
2078 memcpy(&pPage->u.aDisk[idx], pCell, sz); in insertCell()
2079 pPage->apCell[i] = (Cell*)&pPage->u.aDisk[idx]; in insertCell()
2081 pPage->idxShift = 1; in insertCell()
2090 static void relinkCellList(Btree *pBt, MemPage *pPage){ in relinkCellList() argument
2093 assert( sqlitepager_iswriteable(pPage) ); in relinkCellList()
2094 pIdx = &pPage->u.hdr.firstCell; in relinkCellList()
2095 for(i=0; i<pPage->nCell; i++){ in relinkCellList()
2096 int idx = Addr(pPage->apCell[i]) - Addr(pPage); in relinkCellList()
2099 pIdx = &pPage->apCell[i]->h.iNext; in relinkCellList()
2186 static int balance(Btree *pBt, MemPage *pPage, BtCursor *pCur){ in balance() argument
2217 assert( sqlitepager_iswriteable(pPage) ); in balance()
2218 if( !pPage->isOverfull && pPage->nFree<SQLITE_USABLE_SIZE/2 in balance()
2219 && pPage->nCell>=2){ in balance()
2220 relinkCellList(pBt, pPage); in balance()
2229 pParent = pPage->pParent; in balance()
2233 assert( pPage->isInit ); in balance()
2234 if( pPage->nCell==0 ){ in balance()
2235 if( pPage->u.hdr.rightChild ){ in balance()
2241 pgnoChild = SWAB32(pBt, pPage->u.hdr.rightChild); in balance()
2244 memcpy(pPage, pChild, SQLITE_USABLE_SIZE); in balance()
2245 pPage->isInit = 0; in balance()
2246 rc = initPage(pBt, pPage, sqlitepager_pagenumber(pPage), 0); in balance()
2248 reparentChildPages(pBt, pPage); in balance()
2249 if( pCur && pCur->pPage==pChild ){ in balance()
2251 pCur->pPage = pPage; in balance()
2252 sqlitepager_ref(pPage); in balance()
2257 relinkCellList(pBt, pPage); in balance()
2261 if( !pPage->isOverfull ){ in balance()
2264 relinkCellList(pBt, pPage); in balance()
2275 rc = sqlitepager_write(pPage); in balance()
2277 rc = allocatePage(pBt, &pChild, &pgnoChild, sqlitepager_pagenumber(pPage)); in balance()
2280 copyPage(pChild, pPage); in balance()
2281 pChild->pParent = pPage; in balance()
2283 sqlitepager_ref(pPage); in balance()
2285 if( pCur && pCur->pPage==pPage ){ in balance()
2286 sqlitepager_unref(pPage); in balance()
2287 pCur->pPage = pChild; in balance()
2291 zeroPage(pBt, pPage); in balance()
2292 pPage->u.hdr.rightChild = SWAB32(pBt, pgnoChild); in balance()
2293 pParent = pPage; in balance()
2294 pPage = pChild; in balance()
2307 pgno = sqlitepager_pagenumber(pPage); in balance()
2316 idx = pPage->idxParent; in balance()
2371 if( pCur->pPage==apOld[i] ){ in balance()
2376 if( i<nOld-1 && pCur->pPage==pParent && pCur->idx==idxDiv[i] ){ in balance()
2381 pOldCurPage = pCur->pPage; in balance()
2523 if( pCur && iCur==j ){ pCur->pPage = pNew; pCur->idx = pNew->nCell; } in balance()
2533 if( pCur && iCur==j ){ pCur->pPage = pParent; pCur->idx = nxDiv; } in balance()
2547 if( j<=iCur && pCur->pPage==pParent && pCur->idx>idxDiv[nOld-1] ){ in balance()
2548 assert( pCur->pPage==pOldCurPage ); in balance()
2552 sqlitepager_ref(pCur->pPage); in balance()
2583 if( pCur && pCur->pPage==0 ){ in balance()
2584 pCur->pPage = pParent; in balance()
2614 if( sqlitepager_pagenumber(p->pPage)!=p->pgnoRoot ){ in checkReadLocks()
2636 MemPage *pPage; in fileBtreeInsert() local
2639 if( pCur->pPage==0 ){ in fileBtreeInsert()
2655 pPage = pCur->pPage; in fileBtreeInsert()
2656 assert( pPage->isInit ); in fileBtreeInsert()
2657 rc = sqlitepager_write(pPage); in fileBtreeInsert()
2663 newCell.h.leftChild = pPage->apCell[pCur->idx]->h.leftChild; in fileBtreeInsert()
2664 rc = clearCell(pBt, pPage->apCell[pCur->idx]); in fileBtreeInsert()
2666 dropCell(pBt, pPage, pCur->idx, cellSize(pBt, pPage->apCell[pCur->idx])); in fileBtreeInsert()
2667 }else if( loc<0 && pPage->nCell>0 ){ in fileBtreeInsert()
2668 assert( pPage->u.hdr.rightChild==0 ); /* Must be a leaf page */ in fileBtreeInsert()
2671 assert( pPage->u.hdr.rightChild==0 ); /* Must be a leaf page */ in fileBtreeInsert()
2673 insertCell(pBt, pPage, pCur->idx, &newCell, szNew); in fileBtreeInsert()
2674 rc = balance(pCur->pBt, pPage, pCur); in fileBtreeInsert()
2696 MemPage *pPage = pCur->pPage; in fileBtreeDelete() local
2702 assert( pPage->isInit ); in fileBtreeDelete()
2703 if( pCur->pPage==0 ){ in fileBtreeDelete()
2711 if( pCur->idx >= pPage->nCell ){ in fileBtreeDelete()
2720 rc = sqlitepager_write(pPage); in fileBtreeDelete()
2722 pCell = pPage->apCell[pCur->idx]; in fileBtreeDelete()
2744 rc = sqlitepager_write(leafCur.pPage); in fileBtreeDelete()
2746 dropCell(pBt, pPage, pCur->idx, cellSize(pBt, pCell)); in fileBtreeDelete()
2747 pNext = leafCur.pPage->apCell[leafCur.idx]; in fileBtreeDelete()
2750 insertCell(pBt, pPage, pCur->idx, pNext, szNext); in fileBtreeDelete()
2751 rc = balance(pBt, pPage, pCur); in fileBtreeDelete()
2754 dropCell(pBt, leafCur.pPage, leafCur.idx, szNext); in fileBtreeDelete()
2755 rc = balance(pBt, leafCur.pPage, pCur); in fileBtreeDelete()
2758 dropCell(pBt, pPage, pCur->idx, cellSize(pBt, pCell)); in fileBtreeDelete()
2759 if( pCur->idx>=pPage->nCell ){ in fileBtreeDelete()
2760 pCur->idx = pPage->nCell-1; in fileBtreeDelete()
2770 rc = balance(pBt, pPage, pCur); in fileBtreeDelete()
2810 MemPage *pPage; in clearDatabasePage() local
2815 rc = sqlitepager_get(pBt->pPager, pgno, (void**)&pPage); in clearDatabasePage()
2817 rc = sqlitepager_write(pPage); in clearDatabasePage()
2819 rc = initPage(pBt, pPage, pgno, 0); in clearDatabasePage()
2821 idx = SWAB16(pBt, pPage->u.hdr.firstCell); in clearDatabasePage()
2823 pCell = (Cell*)&pPage->u.aDisk[idx]; in clearDatabasePage()
2832 if( pPage->u.hdr.rightChild ){ in clearDatabasePage()
2833 rc = clearDatabasePage(pBt, SWAB32(pBt, pPage->u.hdr.rightChild), 1); in clearDatabasePage()
2837 rc = freePage(pBt, pPage, pgno); in clearDatabasePage()
2839 zeroPage(pBt, pPage); in clearDatabasePage()
2841 sqlitepager_unref(pPage); in clearDatabasePage()
2874 MemPage *pPage; in fileBtreeDropTable() local
2884 rc = sqlitepager_get(pBt->pPager, (Pgno)iTable, (void**)&pPage); in fileBtreeDropTable()
2889 rc = freePage(pBt, pPage, iTable); in fileBtreeDropTable()
2891 zeroPage(pBt, pPage); in fileBtreeDropTable()
2893 sqlitepager_unref(pPage); in fileBtreeDropTable()
2955 MemPage *pPageFrom, *pPage;
2963 rc = allocatePage(pBt, &pPage, pTo, 0);
2965 rc = sqlitepager_write(pPage);
2968 memcpy(pPage, pPageFrom, SQLITE_USABLE_SIZE);
2969 idx = SWAB16(pBt, pPage->u.hdr.firstCell);
2971 pCell = (Cell*)&pPage->u.aDisk[idx];
2983 if( pPage->u.hdr.rightChild ){
2985 rc = copyDatabasePage(pBtFrom, SWAB32(pBtFrom, pPage->u.hdr.rightChild),
2988 pPage->u.hdr.rightChild = SWAB32(pBtTo, newChild);
2991 sqlitepager_unref(pPage);
3045 MemPage *pPage; in fileBtreePageDump() local
3051 rc = sqlitepager_get(pBt->pPager, (Pgno)pgno, (void**)&pPage); in fileBtreePageDump()
3057 idx = SWAB16(pBt, pPage->u.hdr.firstCell); in fileBtreePageDump()
3059 Cell *pCell = (Cell*)&pPage->u.aDisk[idx]; in fileBtreePageDump()
3075 if( pPage->isInit && pPage->apCell[i]!=pCell ){ in fileBtreePageDump()
3084 printf("right_child: %d\n", SWAB32(pBt, pPage->u.hdr.rightChild)); in fileBtreePageDump()
3087 idx = SWAB16(pBt, pPage->u.hdr.firstFree); in fileBtreePageDump()
3089 FreeBlk *p = (FreeBlk*)&pPage->u.aDisk[idx]; in fileBtreePageDump()
3100 if( recursive && pPage->u.hdr.rightChild!=0 ){ in fileBtreePageDump()
3101 idx = SWAB16(pBt, pPage->u.hdr.firstCell); in fileBtreePageDump()
3103 Cell *pCell = (Cell*)&pPage->u.aDisk[idx]; in fileBtreePageDump()
3107 fileBtreePageDump(pBt, SWAB32(pBt, pPage->u.hdr.rightChild), 1); in fileBtreePageDump()
3109 sqlitepager_unref(pPage); in fileBtreePageDump()
3132 MemPage *pPage = pCur->pPage; in fileBtreeCursorDump() local
3134 aResult[0] = sqlitepager_pagenumber(pPage); in fileBtreeCursorDump()
3136 aResult[2] = pPage->nCell; in fileBtreeCursorDump()
3137 if( pCur->idx>=0 && pCur->idx<pPage->nCell ){ in fileBtreeCursorDump()
3138 aResult[3] = cellSize(pBt, pPage->apCell[pCur->idx]); in fileBtreeCursorDump()
3139 aResult[6] = SWAB32(pBt, pPage->apCell[pCur->idx]->h.leftChild); in fileBtreeCursorDump()
3144 aResult[4] = pPage->nFree; in fileBtreeCursorDump()
3146 idx = SWAB16(pBt, pPage->u.hdr.firstFree); in fileBtreeCursorDump()
3149 idx = SWAB16(pBt, ((FreeBlk*)&pPage->u.aDisk[idx])->iNext); in fileBtreeCursorDump()
3152 aResult[7] = SWAB32(pBt, pPage->u.hdr.rightChild); in fileBtreeCursorDump()
3301 MemPage *pPage; in checkTreePage() local
3317 if( (rc = sqlitepager_get(pCheck->pPager, (Pgno)iPage, (void**)&pPage))!=0 ){ in checkTreePage()
3322 if( (rc = initPage(pBt, pPage, (Pgno)iPage, pParent))!=0 ){ in checkTreePage()
3325 sqlitepager_unref(pPage); in checkTreePage()
3340 cur.pPage = pPage; in checkTreePage()
3341 for(i=0; i<pPage->nCell; i++){ in checkTreePage()
3342 Cell *pCell = pPage->apCell[i]; in checkTreePage()
3367 d2 = checkTreePage(pCheck, pgno, pPage, zContext, zKey1,nKey1,zKey2,nKey2); in checkTreePage()
3376 pgno = SWAB32(pBt, pPage->u.hdr.rightChild); in checkTreePage()
3378 checkTreePage(pCheck, pgno, pPage, zContext, zKey1,nKey1,zUpperBound,nUpper); in checkTreePage()
3385 for(i=SWAB16(pBt, pPage->u.hdr.firstCell); i>0 && i<SQLITE_USABLE_SIZE; ){ in checkTreePage()
3386 Cell *pCell = (Cell*)&pPage->u.aDisk[i]; in checkTreePage()
3391 for(i=SWAB16(pBt,pPage->u.hdr.firstFree); i>0 && i<SQLITE_USABLE_SIZE; ){ in checkTreePage()
3392 FreeBlk *pFBlk = (FreeBlk*)&pPage->u.aDisk[i]; in checkTreePage()
3412 if( pParent && pParent->nCell>2 && pPage->nFree>3*SQLITE_USABLE_SIZE/4 ){ in checkTreePage()
3413 sprintf(zMsg, "free space (%d) greater than max (%d)", pPage->nFree, in checkTreePage()
3419 sqlitepager_unref(pPage); in checkTreePage()
3521 void *pPage; in fileBtreeCopyFile() local
3522 rc = sqlitepager_get(pBtFrom->pPager, i, &pPage); in fileBtreeCopyFile()
3524 rc = sqlitepager_overwrite(pBtTo->pPager, i, pPage); in fileBtreeCopyFile()
3526 sqlitepager_unref(pPage); in fileBtreeCopyFile()
3529 void *pPage; in fileBtreeCopyFile() local
3530 rc = sqlitepager_get(pBtTo->pPager, i, &pPage); in fileBtreeCopyFile()
3532 rc = sqlitepager_write(pPage); in fileBtreeCopyFile()
3533 sqlitepager_unref(pPage); in fileBtreeCopyFile()