pBt 9552 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeSetVersion(Btree *pBt, int iVersion); pBt 9557 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeIsReadonly(Btree *pBt); pBt 10865 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt; /* The B*Tree structure for this database file */ pBt 14566 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt; /* Separate file holding temporary table */ pBt 15203 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[i].pBt; pBt 15204 ext/sqlite3/libsqlite/sqlite3.c if( pBt ){ pBt 15205 ext/sqlite3/libsqlite/sqlite3.c Pager *pPager = sqlite3BtreePager(pBt); pBt 15294 ext/sqlite3/libsqlite/sqlite3.c if( db->aDb[i].pBt ){ pBt 15295 ext/sqlite3/libsqlite/sqlite3.c Pager *pPager = sqlite3BtreePager(db->aDb[i].pBt); pBt 17552 ext/sqlite3/libsqlite/sqlite3.c void **pBt; pBt 17566 ext/sqlite3/libsqlite/sqlite3.c pBt = (void**)&z[mem.nTitle]; pBt 17567 ext/sqlite3/libsqlite/sqlite3.c pHdr = (struct MemBlockHdr*)&pBt[mem.nBacktrace]; pBt 17583 ext/sqlite3/libsqlite/sqlite3.c memcpy(pBt, &aAddr[1], pHdr->nBacktrace*sizeof(void*)); pBt 17584 ext/sqlite3/libsqlite/sqlite3.c assert(pBt[0]); pBt 17611 ext/sqlite3/libsqlite/sqlite3.c void **pBt; pBt 17616 ext/sqlite3/libsqlite/sqlite3.c pBt = (void**)pHdr; pBt 17617 ext/sqlite3/libsqlite/sqlite3.c pBt -= pHdr->nBacktraceSlots; pBt 17633 ext/sqlite3/libsqlite/sqlite3.c z = (char*)pBt; pBt 17774 ext/sqlite3/libsqlite/sqlite3.c void **pBt = (void**)pHdr; pBt 17775 ext/sqlite3/libsqlite/sqlite3.c pBt -= pHdr->nBacktraceSlots; pBt 17776 ext/sqlite3/libsqlite/sqlite3.c mem.xBacktrace((int)pHdr->iSize, pHdr->nBacktrace-1, &pBt[1]); pBt 17787 ext/sqlite3/libsqlite/sqlite3.c void **pBt; pBt 17802 ext/sqlite3/libsqlite/sqlite3.c pBt = (void**)pHdr; pBt 17803 ext/sqlite3/libsqlite/sqlite3.c pBt -= pHdr->nBacktraceSlots; pBt 17804 ext/sqlite3/libsqlite/sqlite3.c backtrace_symbols_fd(pBt, pHdr->nBacktrace, fileno(out)); pBt 52303 ext/sqlite3/libsqlite/sqlite3.c #define MX_CELL_SIZE(pBt) ((int)(pBt->pageSize-8)) pBt 52310 ext/sqlite3/libsqlite/sqlite3.c #define MX_CELL(pBt) ((pBt->pageSize-8)/6) pBt 52374 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt; /* Pointer to BtShared that this page is part of */ pBt 52430 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt; /* Sharable content of this btree */ pBt 52586 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt; /* The BtShared this cursor points to */ pBt 52653 ext/sqlite3/libsqlite/sqlite3.c # define PENDING_BYTE_PAGE(pBt) PAGER_MJ_PGNO(pBt) pBt 52670 ext/sqlite3/libsqlite/sqlite3.c #define PTRMAP_PAGENO(pBt, pgno) ptrmapPageno(pBt, pgno) pBt 52672 ext/sqlite3/libsqlite/sqlite3.c #define PTRMAP_ISPAGE(pBt, pgno) (PTRMAP_PAGENO((pBt),(pgno))==(pgno)) pBt 52715 ext/sqlite3/libsqlite/sqlite3.c assert( p->pBt->inTransaction!=TRANS_NONE || p->pBt->nTransaction==0 ); \ pBt 52716 ext/sqlite3/libsqlite/sqlite3.c assert( p->pBt->inTransaction>=p->inTrans ); pBt 52727 ext/sqlite3/libsqlite/sqlite3.c #define ISAUTOVACUUM (pBt->autoVacuum) pBt 52745 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt; /* The tree being checked out */ pBt 52777 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_notheld(p->pBt->mutex) ); pBt 52780 ext/sqlite3/libsqlite/sqlite3.c sqlite3_mutex_enter(p->pBt->mutex); pBt 52781 ext/sqlite3/libsqlite/sqlite3.c p->pBt->db = p->db; pBt 52790 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 52792 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 52794 ext/sqlite3/libsqlite/sqlite3.c assert( p->db==pBt->db ); pBt 52796 ext/sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(pBt->mutex); pBt 52824 ext/sqlite3/libsqlite/sqlite3.c assert( p->pNext==0 || p->pNext->pBt>p->pBt ); pBt 52825 ext/sqlite3/libsqlite/sqlite3.c assert( p->pPrev==0 || p->pPrev->pBt<p->pBt ); pBt 52839 ext/sqlite3/libsqlite/sqlite3.c assert( (p->locked==0 && p->sharable) || p->pBt->db==p->db ); pBt 52860 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3_mutex_try(p->pBt->mutex)==SQLITE_OK ){ pBt 52861 ext/sqlite3/libsqlite/sqlite3.c p->pBt->db = p->db; pBt 52873 ext/sqlite3/libsqlite/sqlite3.c assert( pLater->pNext==0 || pLater->pNext->pBt>pLater->pBt ); pBt 52911 ext/sqlite3/libsqlite/sqlite3.c assert( p->sharable==0 || p->locked==0 || p->db==p->pBt->db ); pBt 52912 ext/sqlite3/libsqlite/sqlite3.c assert( p->sharable==0 || p->locked==0 || sqlite3_mutex_held(p->pBt->mutex) ); pBt 52954 ext/sqlite3/libsqlite/sqlite3.c p = db->aDb[i].pBt; pBt 52963 ext/sqlite3/libsqlite/sqlite3.c p = db->aDb[i].pBt; pBt 52990 ext/sqlite3/libsqlite/sqlite3.c p = db->aDb[i].pBt; pBt 52992 ext/sqlite3/libsqlite/sqlite3.c (p->wantToLock==0 || !sqlite3_mutex_held(p->pBt->mutex)) ){ pBt 53019 ext/sqlite3/libsqlite/sqlite3.c p = db->aDb[iDb].pBt; pBt 53037 ext/sqlite3/libsqlite/sqlite3.c p->pBt->db = p->db; pBt 53042 ext/sqlite3/libsqlite/sqlite3.c Btree *p = db->aDb[i].pBt; pBt 53044 ext/sqlite3/libsqlite/sqlite3.c p->pBt->db = p->db; pBt 53197 ext/sqlite3/libsqlite/sqlite3.c Schema *pSchema = (Schema *)pBtree->pBt->pSchema; pBt 53245 ext/sqlite3/libsqlite/sqlite3.c for(pLock=pBtree->pBt->pLock; pLock; pLock=pLock->pNext){ pBt 53280 ext/sqlite3/libsqlite/sqlite3.c for(p=pBtree->pBt->pCursor; p; p=p->pNext){ pBt 53299 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 53311 ext/sqlite3/libsqlite/sqlite3.c assert( eLock==READ_LOCK || (p==pBt->pWriter && p->inTrans==TRANS_WRITE) ); pBt 53312 ext/sqlite3/libsqlite/sqlite3.c assert( eLock==READ_LOCK || pBt->inTransaction==TRANS_WRITE ); pBt 53322 ext/sqlite3/libsqlite/sqlite3.c if( pBt->pWriter!=p && (pBt->btsFlags & BTS_EXCLUSIVE)!=0 ){ pBt 53323 ext/sqlite3/libsqlite/sqlite3.c sqlite3ConnectionBlocked(p->db, pBt->pWriter->db); pBt 53327 ext/sqlite3/libsqlite/sqlite3.c for(pIter=pBt->pLock; pIter; pIter=pIter->pNext){ pBt 53342 ext/sqlite3/libsqlite/sqlite3.c assert( p==pBt->pWriter ); pBt 53343 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags |= BTS_PENDING; pBt 53371 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 53391 ext/sqlite3/libsqlite/sqlite3.c for(pIter=pBt->pLock; pIter; pIter=pIter->pNext){ pBt 53408 ext/sqlite3/libsqlite/sqlite3.c pLock->pNext = pBt->pLock; pBt 53409 ext/sqlite3/libsqlite/sqlite3.c pBt->pLock = pLock; pBt 53435 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 53436 ext/sqlite3/libsqlite/sqlite3.c BtLock **ppIter = &pBt->pLock; pBt 53444 ext/sqlite3/libsqlite/sqlite3.c assert( (pBt->btsFlags & BTS_EXCLUSIVE)==0 || pBt->pWriter==pLock->pBtree ); pBt 53457 ext/sqlite3/libsqlite/sqlite3.c assert( (pBt->btsFlags & BTS_PENDING)==0 || pBt->pWriter ); pBt 53458 ext/sqlite3/libsqlite/sqlite3.c if( pBt->pWriter==p ){ pBt 53459 ext/sqlite3/libsqlite/sqlite3.c pBt->pWriter = 0; pBt 53460 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags &= ~(BTS_EXCLUSIVE|BTS_PENDING); pBt 53461 ext/sqlite3/libsqlite/sqlite3.c }else if( pBt->nTransaction==2 ){ pBt 53471 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags &= ~BTS_PENDING; pBt 53479 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 53480 ext/sqlite3/libsqlite/sqlite3.c if( pBt->pWriter==p ){ pBt 53482 ext/sqlite3/libsqlite/sqlite3.c pBt->pWriter = 0; pBt 53483 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags &= ~(BTS_EXCLUSIVE|BTS_PENDING); pBt 53484 ext/sqlite3/libsqlite/sqlite3.c for(pLock=pBt->pLock; pLock; pLock=pLock->pNext){ pBt 53502 ext/sqlite3/libsqlite/sqlite3.c return sqlite3_mutex_held(p->pBt->mutex); pBt 53516 ext/sqlite3/libsqlite/sqlite3.c static void invalidateAllOverflowCache(BtShared *pBt){ pBt 53518 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 53519 ext/sqlite3/libsqlite/sqlite3.c for(p=pBt->pCursor; p; p=p->pNext){ pBt 53544 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pBtree->pBt; pBt 53546 ext/sqlite3/libsqlite/sqlite3.c for(p=pBt->pCursor; p; p=p->pNext){ pBt 53595 ext/sqlite3/libsqlite/sqlite3.c static int btreeSetHasContent(BtShared *pBt, Pgno pgno){ pBt 53597 ext/sqlite3/libsqlite/sqlite3.c if( !pBt->pHasContent ){ pBt 53598 ext/sqlite3/libsqlite/sqlite3.c assert( pgno<=pBt->nPage ); pBt 53599 ext/sqlite3/libsqlite/sqlite3.c pBt->pHasContent = sqlite3BitvecCreate(pBt->nPage); pBt 53600 ext/sqlite3/libsqlite/sqlite3.c if( !pBt->pHasContent ){ pBt 53604 ext/sqlite3/libsqlite/sqlite3.c if( rc==SQLITE_OK && pgno<=sqlite3BitvecSize(pBt->pHasContent) ){ pBt 53605 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BitvecSet(pBt->pHasContent, pgno); pBt 53617 ext/sqlite3/libsqlite/sqlite3.c static int btreeGetHasContent(BtShared *pBt, Pgno pgno){ pBt 53618 ext/sqlite3/libsqlite/sqlite3.c Bitvec *p = pBt->pHasContent; pBt 53626 ext/sqlite3/libsqlite/sqlite3.c static void btreeClearHasContent(BtShared *pBt){ pBt 53627 ext/sqlite3/libsqlite/sqlite3.c sqlite3BitvecDestroy(pBt->pHasContent); pBt 53628 ext/sqlite3/libsqlite/sqlite3.c pBt->pHasContent = 0; pBt 53711 ext/sqlite3/libsqlite/sqlite3.c static int saveAllCursors(BtShared *pBt, Pgno iRoot, BtCursor *pExcept){ pBt 53713 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 53714 ext/sqlite3/libsqlite/sqlite3.c assert( pExcept==0 || pExcept->pBt==pBt ); pBt 53715 ext/sqlite3/libsqlite/sqlite3.c for(p=pBt->pCursor; p; p=p->pNext){ pBt 53888 ext/sqlite3/libsqlite/sqlite3.c static Pgno ptrmapPageno(BtShared *pBt, Pgno pgno){ pBt 53891 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 53893 ext/sqlite3/libsqlite/sqlite3.c nPagesPerMapPage = (pBt->usableSize/5)+1; pBt 53896 ext/sqlite3/libsqlite/sqlite3.c if( ret==PENDING_BYTE_PAGE(pBt) ){ pBt 53912 ext/sqlite3/libsqlite/sqlite3.c static void ptrmapPut(BtShared *pBt, Pgno key, u8 eType, Pgno parent, int *pRC){ pBt 53921 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 53923 ext/sqlite3/libsqlite/sqlite3.c assert( 0==PTRMAP_ISPAGE(pBt, PENDING_BYTE_PAGE(pBt)) ); pBt 53925 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->autoVacuum ); pBt 53930 ext/sqlite3/libsqlite/sqlite3.c iPtrmap = PTRMAP_PAGENO(pBt, key); pBt 53931 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerGet(pBt->pPager, iPtrmap, &pDbPage); pBt 53941 ext/sqlite3/libsqlite/sqlite3.c assert( offset <= (int)pBt->usableSize-5 ); pBt 53964 ext/sqlite3/libsqlite/sqlite3.c static int ptrmapGet(BtShared *pBt, Pgno key, u8 *pEType, Pgno *pPgno){ pBt 53971 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 53973 ext/sqlite3/libsqlite/sqlite3.c iPtrmap = PTRMAP_PAGENO(pBt, key); pBt 53974 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerGet(pBt->pPager, iPtrmap, &pDbPage); pBt 53985 ext/sqlite3/libsqlite/sqlite3.c assert( offset <= (int)pBt->usableSize-5 ); pBt 54019 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 54047 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 54094 ext/sqlite3/libsqlite/sqlite3.c surplus = minLocal + (nPayload - minLocal)%(pPage->pBt->usableSize - 4); pBt 54163 ext/sqlite3/libsqlite/sqlite3.c nSize = minLocal + (nSize - minLocal) % (pPage->pBt->usableSize - 4); pBt 54196 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pPage->pBt, ovfl, PTRMAP_OVERFLOW1, pPage->pgno, pRC); pBt 54230 ext/sqlite3/libsqlite/sqlite3.c assert( pPage->pBt!=0 ); pBt 54231 ext/sqlite3/libsqlite/sqlite3.c assert( pPage->pBt->usableSize <= SQLITE_MAX_PAGE_SIZE ); pBt 54233 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 54240 ext/sqlite3/libsqlite/sqlite3.c usableSize = pPage->pBt->usableSize; pBt 54277 ext/sqlite3/libsqlite/sqlite3.c temp = sqlite3PagerTempSpace(pPage->pBt->pPager); pBt 54316 ext/sqlite3/libsqlite/sqlite3.c int usableSize = pPg->pBt->usableSize; pBt 54381 ext/sqlite3/libsqlite/sqlite3.c assert( pPage->pBt ); pBt 54382 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 54386 ext/sqlite3/libsqlite/sqlite3.c assert( nByte < (int)(pPage->pBt->usableSize-8) ); pBt 54440 ext/sqlite3/libsqlite/sqlite3.c assert( top+nByte <= (int)pPage->pBt->usableSize ); pBt 54464 ext/sqlite3/libsqlite/sqlite3.c u32 iLast = pPage->pBt->usableSize-4; /* Largest possible freeblock offset */ pBt 54468 ext/sqlite3/libsqlite/sqlite3.c assert( pPage->pBt!=0 ); pBt 54471 ext/sqlite3/libsqlite/sqlite3.c assert( CORRUPT_DB || iEnd <= pPage->pBt->usableSize ); pBt 54472 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 54478 ext/sqlite3/libsqlite/sqlite3.c if( pPage->pBt->btsFlags & BTS_SECURE_DELETE ){ pBt 54557 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt; /* A copy of pPage->pBt */ pBt 54560 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 54564 ext/sqlite3/libsqlite/sqlite3.c pBt = pPage->pBt; pBt 54575 ext/sqlite3/libsqlite/sqlite3.c pPage->maxLocal = pBt->maxLeaf; pBt 54576 ext/sqlite3/libsqlite/sqlite3.c pPage->minLocal = pBt->minLeaf; pBt 54587 ext/sqlite3/libsqlite/sqlite3.c pPage->maxLocal = pBt->maxLocal; pBt 54588 ext/sqlite3/libsqlite/sqlite3.c pPage->minLocal = pBt->minLocal; pBt 54594 ext/sqlite3/libsqlite/sqlite3.c pPage->max1bytePayload = pBt->max1bytePayload; pBt 54609 ext/sqlite3/libsqlite/sqlite3.c assert( pPage->pBt!=0 ); pBt 54610 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 54619 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt; /* The main btree structure */ pBt 54627 ext/sqlite3/libsqlite/sqlite3.c pBt = pPage->pBt; pBt 54634 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->pageSize>=512 && pBt->pageSize<=65536 ); pBt 54635 ext/sqlite3/libsqlite/sqlite3.c pPage->maskPage = (u16)(pBt->pageSize - 1); pBt 54637 ext/sqlite3/libsqlite/sqlite3.c usableSize = pBt->usableSize; pBt 54648 ext/sqlite3/libsqlite/sqlite3.c if( pPage->nCell>MX_CELL(pBt) ){ pBt 54652 ext/sqlite3/libsqlite/sqlite3.c testcase( pPage->nCell==MX_CELL(pBt) ); pBt 54740 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pPage->pBt; pBt 54748 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 54749 ext/sqlite3/libsqlite/sqlite3.c if( pBt->btsFlags & BTS_SECURE_DELETE ){ pBt 54750 ext/sqlite3/libsqlite/sqlite3.c memset(&data[hdr], 0, pBt->usableSize - hdr); pBt 54756 ext/sqlite3/libsqlite/sqlite3.c put2byte(&data[hdr+5], pBt->usableSize); pBt 54757 ext/sqlite3/libsqlite/sqlite3.c pPage->nFree = (u16)(pBt->usableSize - first); pBt 54760 ext/sqlite3/libsqlite/sqlite3.c pPage->aDataEnd = &data[pBt->usableSize]; pBt 54763 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->pageSize>=512 && pBt->pageSize<=65536 ); pBt 54764 ext/sqlite3/libsqlite/sqlite3.c pPage->maskPage = (u16)(pBt->pageSize - 1); pBt 54774 ext/sqlite3/libsqlite/sqlite3.c static MemPage *btreePageFromDbPage(DbPage *pDbPage, Pgno pgno, BtShared *pBt){ pBt 54778 ext/sqlite3/libsqlite/sqlite3.c pPage->pBt = pBt; pBt 54796 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt, /* The btree */ pBt 54805 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 54806 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerAcquire(pBt->pPager, pgno, (DbPage**)&pDbPage, flags); pBt 54808 ext/sqlite3/libsqlite/sqlite3.c *ppPage = btreePageFromDbPage(pDbPage, pgno, pBt); pBt 54817 ext/sqlite3/libsqlite/sqlite3.c static MemPage *btreePageLookup(BtShared *pBt, Pgno pgno){ pBt 54819 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 54820 ext/sqlite3/libsqlite/sqlite3.c pDbPage = sqlite3PagerLookup(pBt->pPager, pgno); pBt 54822 ext/sqlite3/libsqlite/sqlite3.c return btreePageFromDbPage(pDbPage, pgno, pBt); pBt 54831 ext/sqlite3/libsqlite/sqlite3.c static Pgno btreePagecount(BtShared *pBt){ pBt 54832 ext/sqlite3/libsqlite/sqlite3.c return pBt->nPage; pBt 54836 ext/sqlite3/libsqlite/sqlite3.c assert( ((p->pBt->nPage)&0x8000000)==0 ); pBt 54837 ext/sqlite3/libsqlite/sqlite3.c return btreePagecount(p->pBt); pBt 54849 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt, /* The database file */ pBt 54855 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 54858 ext/sqlite3/libsqlite/sqlite3.c if( pgno>btreePagecount(pBt) ){ pBt 54861 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, pgno, ppPage, bReadonly); pBt 54882 ext/sqlite3/libsqlite/sqlite3.c assert( pPage->pBt ); pBt 54886 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 54904 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 54922 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = (BtShared*)pArg; pBt 54923 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->db ); pBt 54924 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->db->mutex) ); pBt 54925 ext/sqlite3/libsqlite/sqlite3.c return sqlite3InvokeBusyHandler(&pBt->db->busyHandler); pBt 54957 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = 0; /* Shared part of btree structure */ pBt 55040 ext/sqlite3/libsqlite/sqlite3.c for(pBt=GLOBAL(BtShared*,sqlite3SharedCacheList); pBt; pBt=pBt->pNext){ pBt 55041 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->nRef>0 ); pBt 55042 ext/sqlite3/libsqlite/sqlite3.c if( 0==strcmp(zFullPathname, sqlite3PagerFilename(pBt->pPager, 0)) pBt 55043 ext/sqlite3/libsqlite/sqlite3.c && sqlite3PagerVfs(pBt->pPager)==pVfs ){ pBt 55046 ext/sqlite3/libsqlite/sqlite3.c Btree *pExisting = db->aDb[iDb].pBt; pBt 55047 ext/sqlite3/libsqlite/sqlite3.c if( pExisting && pExisting->pBt==pBt ){ pBt 55055 ext/sqlite3/libsqlite/sqlite3.c p->pBt = pBt; pBt 55056 ext/sqlite3/libsqlite/sqlite3.c pBt->nRef++; pBt 55075 ext/sqlite3/libsqlite/sqlite3.c if( pBt==0 ){ pBt 55087 ext/sqlite3/libsqlite/sqlite3.c pBt = sqlite3MallocZero( sizeof(*pBt) ); pBt 55088 ext/sqlite3/libsqlite/sqlite3.c if( pBt==0 ){ pBt 55092 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerOpen(pVfs, &pBt->pPager, zFilename, pBt 55095 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerSetMmapLimit(pBt->pPager, db->szMmap); pBt 55096 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerReadFileheader(pBt->pPager,sizeof(zDbHeader),zDbHeader); pBt 55101 ext/sqlite3/libsqlite/sqlite3.c pBt->openFlags = (u8)flags; pBt 55102 ext/sqlite3/libsqlite/sqlite3.c pBt->db = db; pBt 55103 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerSetBusyhandler(pBt->pPager, btreeInvokeBusyHandler, pBt); pBt 55104 ext/sqlite3/libsqlite/sqlite3.c p->pBt = pBt; pBt 55106 ext/sqlite3/libsqlite/sqlite3.c pBt->pCursor = 0; pBt 55107 ext/sqlite3/libsqlite/sqlite3.c pBt->pPage1 = 0; pBt 55108 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3PagerIsreadonly(pBt->pPager) ) pBt->btsFlags |= BTS_READ_ONLY; pBt 55110 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags |= BTS_SECURE_DELETE; pBt 55115 ext/sqlite3/libsqlite/sqlite3.c pBt->pageSize = (zDbHeader[16]<<8) | (zDbHeader[17]<<16); pBt 55116 ext/sqlite3/libsqlite/sqlite3.c if( pBt->pageSize<512 || pBt->pageSize>SQLITE_MAX_PAGE_SIZE pBt 55117 ext/sqlite3/libsqlite/sqlite3.c || ((pBt->pageSize-1)&pBt->pageSize)!=0 ){ pBt 55118 ext/sqlite3/libsqlite/sqlite3.c pBt->pageSize = 0; pBt 55127 ext/sqlite3/libsqlite/sqlite3.c pBt->autoVacuum = (SQLITE_DEFAULT_AUTOVACUUM ? 1 : 0); pBt 55128 ext/sqlite3/libsqlite/sqlite3.c pBt->incrVacuum = (SQLITE_DEFAULT_AUTOVACUUM==2 ? 1 : 0); pBt 55137 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags |= BTS_PAGESIZE_FIXED; pBt 55139 ext/sqlite3/libsqlite/sqlite3.c pBt->autoVacuum = (get4byte(&zDbHeader[36 + 4*4])?1:0); pBt 55140 ext/sqlite3/libsqlite/sqlite3.c pBt->incrVacuum = (get4byte(&zDbHeader[36 + 7*4])?1:0); pBt 55143 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize, nReserve); pBt 55145 ext/sqlite3/libsqlite/sqlite3.c pBt->usableSize = pBt->pageSize - nReserve; pBt 55146 ext/sqlite3/libsqlite/sqlite3.c assert( (pBt->pageSize & 7)==0 ); /* 8-byte alignment of pageSize */ pBt 55153 ext/sqlite3/libsqlite/sqlite3.c pBt->nRef = 1; pBt 55156 ext/sqlite3/libsqlite/sqlite3.c pBt->mutex = sqlite3MutexAlloc(SQLITE_MUTEX_FAST); pBt 55157 ext/sqlite3/libsqlite/sqlite3.c if( pBt->mutex==0 ){ pBt 55164 ext/sqlite3/libsqlite/sqlite3.c pBt->pNext = GLOBAL(BtShared*,sqlite3SharedCacheList); pBt 55165 ext/sqlite3/libsqlite/sqlite3.c GLOBAL(BtShared*,sqlite3SharedCacheList) = pBt; pBt 55180 ext/sqlite3/libsqlite/sqlite3.c if( (pSib = db->aDb[i].pBt)!=0 && pSib->sharable ){ pBt 55182 ext/sqlite3/libsqlite/sqlite3.c if( p->pBt<pSib->pBt ){ pBt 55187 ext/sqlite3/libsqlite/sqlite3.c while( pSib->pNext && pSib->pNext->pBt<p->pBt ){ pBt 55206 ext/sqlite3/libsqlite/sqlite3.c if( pBt && pBt->pPager ){ pBt 55207 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerClose(pBt->pPager); pBt 55209 ext/sqlite3/libsqlite/sqlite3.c sqlite3_free(pBt); pBt 55218 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerSetCachesize(p->pBt->pPager, SQLITE_DEFAULT_CACHE_SIZE); pBt 55234 ext/sqlite3/libsqlite/sqlite3.c static int removeFromSharingList(BtShared *pBt){ pBt 55240 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_notheld(pBt->mutex) ); pBt 55243 ext/sqlite3/libsqlite/sqlite3.c pBt->nRef--; pBt 55244 ext/sqlite3/libsqlite/sqlite3.c if( pBt->nRef<=0 ){ pBt 55245 ext/sqlite3/libsqlite/sqlite3.c if( GLOBAL(BtShared*,sqlite3SharedCacheList)==pBt ){ pBt 55246 ext/sqlite3/libsqlite/sqlite3.c GLOBAL(BtShared*,sqlite3SharedCacheList) = pBt->pNext; pBt 55249 ext/sqlite3/libsqlite/sqlite3.c while( ALWAYS(pList) && pList->pNext!=pBt ){ pBt 55253 ext/sqlite3/libsqlite/sqlite3.c pList->pNext = pBt->pNext; pBt 55257 ext/sqlite3/libsqlite/sqlite3.c sqlite3_mutex_free(pBt->mutex); pBt 55273 ext/sqlite3/libsqlite/sqlite3.c static void allocateTempSpace(BtShared *pBt){ pBt 55274 ext/sqlite3/libsqlite/sqlite3.c if( !pBt->pTmpSpace ){ pBt 55275 ext/sqlite3/libsqlite/sqlite3.c pBt->pTmpSpace = sqlite3PageMalloc( pBt->pageSize ); pBt 55292 ext/sqlite3/libsqlite/sqlite3.c if( pBt->pTmpSpace ){ pBt 55293 ext/sqlite3/libsqlite/sqlite3.c memset(pBt->pTmpSpace, 0, 8); pBt 55294 ext/sqlite3/libsqlite/sqlite3.c pBt->pTmpSpace += 4; pBt 55302 ext/sqlite3/libsqlite/sqlite3.c static void freeTempSpace(BtShared *pBt){ pBt 55303 ext/sqlite3/libsqlite/sqlite3.c if( pBt->pTmpSpace ){ pBt 55304 ext/sqlite3/libsqlite/sqlite3.c pBt->pTmpSpace -= 4; pBt 55305 ext/sqlite3/libsqlite/sqlite3.c sqlite3PageFree(pBt->pTmpSpace); pBt 55306 ext/sqlite3/libsqlite/sqlite3.c pBt->pTmpSpace = 0; pBt 55314 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 55320 ext/sqlite3/libsqlite/sqlite3.c pCur = pBt->pCursor; pBt 55341 ext/sqlite3/libsqlite/sqlite3.c if( !p->sharable || removeFromSharingList(pBt) ){ pBt 55347 ext/sqlite3/libsqlite/sqlite3.c assert( !pBt->pCursor ); pBt 55348 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerClose(pBt->pPager); pBt 55349 ext/sqlite3/libsqlite/sqlite3.c if( pBt->xFreeSchema && pBt->pSchema ){ pBt 55350 ext/sqlite3/libsqlite/sqlite3.c pBt->xFreeSchema(pBt->pSchema); pBt 55352 ext/sqlite3/libsqlite/sqlite3.c sqlite3DbFree(0, pBt->pSchema); pBt 55353 ext/sqlite3/libsqlite/sqlite3.c freeTempSpace(pBt); pBt 55354 ext/sqlite3/libsqlite/sqlite3.c sqlite3_free(pBt); pBt 55384 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 55387 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerSetCachesize(pBt->pPager, mxPage); pBt 55398 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 55401 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerSetMmapLimit(pBt->pPager, szMmap); pBt 55420 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 55423 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerSetFlags(pBt->pPager, pgFlags); pBt 55434 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 55438 ext/sqlite3/libsqlite/sqlite3.c assert( pBt && pBt->pPager ); pBt 55439 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerNosync(pBt->pPager); pBt 55466 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 55470 ext/sqlite3/libsqlite/sqlite3.c if( nReserve>pBt->optimalReserve ) pBt->optimalReserve = (u8)nReserve; pBt 55472 ext/sqlite3/libsqlite/sqlite3.c if( pBt->btsFlags & BTS_PAGESIZE_FIXED ){ pBt 55477 ext/sqlite3/libsqlite/sqlite3.c nReserve = pBt->pageSize - pBt->usableSize; pBt 55483 ext/sqlite3/libsqlite/sqlite3.c assert( !pBt->pCursor ); pBt 55484 ext/sqlite3/libsqlite/sqlite3.c pBt->pageSize = (u32)pageSize; pBt 55485 ext/sqlite3/libsqlite/sqlite3.c freeTempSpace(pBt); pBt 55487 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize, nReserve); pBt 55488 ext/sqlite3/libsqlite/sqlite3.c pBt->usableSize = pBt->pageSize - (u16)nReserve; pBt 55489 ext/sqlite3/libsqlite/sqlite3.c if( iFix ) pBt->btsFlags |= BTS_PAGESIZE_FIXED; pBt 55498 ext/sqlite3/libsqlite/sqlite3.c return p->pBt->pageSize; pBt 55514 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(p->pBt->mutex) ); pBt 55515 ext/sqlite3/libsqlite/sqlite3.c n = p->pBt->pageSize - p->pBt->usableSize; pBt 55533 ext/sqlite3/libsqlite/sqlite3.c if( n<p->pBt->optimalReserve ) n = p->pBt->optimalReserve; pBt 55548 ext/sqlite3/libsqlite/sqlite3.c n = sqlite3PagerMaxPageCount(p->pBt->pPager, mxPage); pBt 55563 ext/sqlite3/libsqlite/sqlite3.c p->pBt->btsFlags &= ~BTS_SECURE_DELETE; pBt 55564 ext/sqlite3/libsqlite/sqlite3.c if( newFlag ) p->pBt->btsFlags |= BTS_SECURE_DELETE; pBt 55566 ext/sqlite3/libsqlite/sqlite3.c b = (p->pBt->btsFlags & BTS_SECURE_DELETE)!=0; pBt 55581 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 55586 ext/sqlite3/libsqlite/sqlite3.c if( (pBt->btsFlags & BTS_PAGESIZE_FIXED)!=0 && (av ?1:0)!=pBt->autoVacuum ){ pBt 55589 ext/sqlite3/libsqlite/sqlite3.c pBt->autoVacuum = av ?1:0; pBt 55590 ext/sqlite3/libsqlite/sqlite3.c pBt->incrVacuum = av==2 ?1:0; pBt 55608 ext/sqlite3/libsqlite/sqlite3.c (!p->pBt->autoVacuum)?BTREE_AUTOVACUUM_NONE: pBt 55609 ext/sqlite3/libsqlite/sqlite3.c (!p->pBt->incrVacuum)?BTREE_AUTOVACUUM_FULL: pBt 55627 ext/sqlite3/libsqlite/sqlite3.c static int lockBtree(BtShared *pBt){ pBt 55634 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 55635 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->pPage1==0 ); pBt 55636 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerSharedLock(pBt->pPager); pBt 55638 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, 1, &pPage1, 0); pBt 55645 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerPagecount(pBt->pPager, &nPageFile); pBt 55663 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags |= BTS_READ_ONLY; pBt 55670 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags |= BTS_READ_ONLY; pBt 55684 ext/sqlite3/libsqlite/sqlite3.c if( page1[19]==2 && (pBt->btsFlags & BTS_NO_WAL)==0 ){ pBt 55686 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerOpenWal(pBt->pPager, &isOpen); pBt 55727 ext/sqlite3/libsqlite/sqlite3.c if( (u32)pageSize!=pBt->pageSize ){ pBt 55735 ext/sqlite3/libsqlite/sqlite3.c pBt->usableSize = usableSize; pBt 55736 ext/sqlite3/libsqlite/sqlite3.c pBt->pageSize = pageSize; pBt 55737 ext/sqlite3/libsqlite/sqlite3.c freeTempSpace(pBt); pBt 55738 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize, pBt 55742 ext/sqlite3/libsqlite/sqlite3.c if( (pBt->db->flags & SQLITE_RecoveryMode)==0 && nPage>nPageFile ){ pBt 55752 ext/sqlite3/libsqlite/sqlite3.c pBt->pageSize = pageSize; pBt 55753 ext/sqlite3/libsqlite/sqlite3.c pBt->usableSize = usableSize; pBt 55755 ext/sqlite3/libsqlite/sqlite3.c pBt->autoVacuum = (get4byte(&page1[36 + 4*4])?1:0); pBt 55756 ext/sqlite3/libsqlite/sqlite3.c pBt->incrVacuum = (get4byte(&page1[36 + 7*4])?1:0); pBt 55773 ext/sqlite3/libsqlite/sqlite3.c pBt->maxLocal = (u16)((pBt->usableSize-12)*64/255 - 23); pBt 55774 ext/sqlite3/libsqlite/sqlite3.c pBt->minLocal = (u16)((pBt->usableSize-12)*32/255 - 23); pBt 55775 ext/sqlite3/libsqlite/sqlite3.c pBt->maxLeaf = (u16)(pBt->usableSize - 35); pBt 55776 ext/sqlite3/libsqlite/sqlite3.c pBt->minLeaf = (u16)((pBt->usableSize-12)*32/255 - 23); pBt 55777 ext/sqlite3/libsqlite/sqlite3.c if( pBt->maxLocal>127 ){ pBt 55778 ext/sqlite3/libsqlite/sqlite3.c pBt->max1bytePayload = 127; pBt 55780 ext/sqlite3/libsqlite/sqlite3.c pBt->max1bytePayload = (u8)pBt->maxLocal; pBt 55782 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->maxLeaf + 23 <= MX_CELL_SIZE(pBt) ); pBt 55783 ext/sqlite3/libsqlite/sqlite3.c pBt->pPage1 = pPage1; pBt 55784 ext/sqlite3/libsqlite/sqlite3.c pBt->nPage = nPage; pBt 55789 ext/sqlite3/libsqlite/sqlite3.c pBt->pPage1 = 0; pBt 55806 ext/sqlite3/libsqlite/sqlite3.c static int countValidCursors(BtShared *pBt, int wrOnly){ pBt 55809 ext/sqlite3/libsqlite/sqlite3.c for(pCur=pBt->pCursor; pCur; pCur=pCur->pNext){ pBt 55825 ext/sqlite3/libsqlite/sqlite3.c static void unlockBtreeIfUnused(BtShared *pBt){ pBt 55826 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 55827 ext/sqlite3/libsqlite/sqlite3.c assert( countValidCursors(pBt,0)==0 || pBt->inTransaction>TRANS_NONE ); pBt 55828 ext/sqlite3/libsqlite/sqlite3.c if( pBt->inTransaction==TRANS_NONE && pBt->pPage1!=0 ){ pBt 55829 ext/sqlite3/libsqlite/sqlite3.c MemPage *pPage1 = pBt->pPage1; pBt 55831 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3PagerRefcount(pBt->pPager)==1 ); pBt 55832 ext/sqlite3/libsqlite/sqlite3.c pBt->pPage1 = 0; pBt 55842 ext/sqlite3/libsqlite/sqlite3.c static int newDatabase(BtShared *pBt){ pBt 55847 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 55848 ext/sqlite3/libsqlite/sqlite3.c if( pBt->nPage>0 ){ pBt 55851 ext/sqlite3/libsqlite/sqlite3.c pP1 = pBt->pPage1; pBt 55858 ext/sqlite3/libsqlite/sqlite3.c data[16] = (u8)((pBt->pageSize>>8)&0xff); pBt 55859 ext/sqlite3/libsqlite/sqlite3.c data[17] = (u8)((pBt->pageSize>>16)&0xff); pBt 55862 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->usableSize<=pBt->pageSize && pBt->usableSize+255>=pBt->pageSize); pBt 55863 ext/sqlite3/libsqlite/sqlite3.c data[20] = (u8)(pBt->pageSize - pBt->usableSize); pBt 55869 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags |= BTS_PAGESIZE_FIXED; pBt 55871 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->autoVacuum==1 || pBt->autoVacuum==0 ); pBt 55872 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->incrVacuum==1 || pBt->incrVacuum==0 ); pBt 55873 ext/sqlite3/libsqlite/sqlite3.c put4byte(&data[36 + 4*4], pBt->autoVacuum); pBt 55874 ext/sqlite3/libsqlite/sqlite3.c put4byte(&data[36 + 7*4], pBt->incrVacuum); pBt 55876 ext/sqlite3/libsqlite/sqlite3.c pBt->nPage = 1; pBt 55889 ext/sqlite3/libsqlite/sqlite3.c p->pBt->nPage = 0; pBt 55890 ext/sqlite3/libsqlite/sqlite3.c rc = newDatabase(p->pBt); pBt 55932 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 55945 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->inTransaction==TRANS_WRITE || IfNotOmitAV(pBt->bDoTruncate)==0 ); pBt 55948 ext/sqlite3/libsqlite/sqlite3.c if( (pBt->btsFlags & BTS_READ_ONLY)!=0 && wrflag ){ pBt 55958 ext/sqlite3/libsqlite/sqlite3.c if( (wrflag && pBt->inTransaction==TRANS_WRITE) pBt 55959 ext/sqlite3/libsqlite/sqlite3.c || (pBt->btsFlags & BTS_PENDING)!=0 pBt 55961 ext/sqlite3/libsqlite/sqlite3.c pBlock = pBt->pWriter->db; pBt 55964 ext/sqlite3/libsqlite/sqlite3.c for(pIter=pBt->pLock; pIter; pIter=pIter->pNext){ pBt 55984 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags &= ~BTS_INITIALLY_EMPTY; pBt 55985 ext/sqlite3/libsqlite/sqlite3.c if( pBt->nPage==0 ) pBt->btsFlags |= BTS_INITIALLY_EMPTY; pBt 55994 ext/sqlite3/libsqlite/sqlite3.c while( pBt->pPage1==0 && SQLITE_OK==(rc = lockBtree(pBt)) ); pBt 55997 ext/sqlite3/libsqlite/sqlite3.c if( (pBt->btsFlags & BTS_READ_ONLY)!=0 ){ pBt 56000 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerBegin(pBt->pPager,wrflag>1,sqlite3TempInMemory(p->db)); pBt 56002 ext/sqlite3/libsqlite/sqlite3.c rc = newDatabase(pBt); pBt 56008 ext/sqlite3/libsqlite/sqlite3.c unlockBtreeIfUnused(pBt); pBt 56010 ext/sqlite3/libsqlite/sqlite3.c }while( (rc&0xFF)==SQLITE_BUSY && pBt->inTransaction==TRANS_NONE && pBt 56011 ext/sqlite3/libsqlite/sqlite3.c btreeInvokeBusyHandler(pBt) ); pBt 56015 ext/sqlite3/libsqlite/sqlite3.c pBt->nTransaction++; pBt 56020 ext/sqlite3/libsqlite/sqlite3.c p->lock.pNext = pBt->pLock; pBt 56021 ext/sqlite3/libsqlite/sqlite3.c pBt->pLock = &p->lock; pBt 56026 ext/sqlite3/libsqlite/sqlite3.c if( p->inTrans>pBt->inTransaction ){ pBt 56027 ext/sqlite3/libsqlite/sqlite3.c pBt->inTransaction = p->inTrans; pBt 56030 ext/sqlite3/libsqlite/sqlite3.c MemPage *pPage1 = pBt->pPage1; pBt 56032 ext/sqlite3/libsqlite/sqlite3.c assert( !pBt->pWriter ); pBt 56033 ext/sqlite3/libsqlite/sqlite3.c pBt->pWriter = p; pBt 56034 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags &= ~BTS_EXCLUSIVE; pBt 56035 ext/sqlite3/libsqlite/sqlite3.c if( wrflag>1 ) pBt->btsFlags |= BTS_EXCLUSIVE; pBt 56044 ext/sqlite3/libsqlite/sqlite3.c if( pBt->nPage!=get4byte(&pPage1->aData[28]) ){ pBt 56047 ext/sqlite3/libsqlite/sqlite3.c put4byte(&pPage1->aData[28], pBt->nPage); pBt 56060 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerOpenSavepoint(pBt->pPager, p->db->nSavepoint); pBt 56079 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pPage->pBt; pBt 56083 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 56097 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, childPgno, PTRMAP_BTREE, pgno, &rc); pBt 56103 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, childPgno, PTRMAP_BTREE, pgno, &rc); pBt 56126 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 56186 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt, /* Btree */ pBt 56195 ext/sqlite3/libsqlite/sqlite3.c Pager *pPager = pBt->pPager; pBt 56200 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 56201 ext/sqlite3/libsqlite/sqlite3.c assert( pDbPage->pBt==pBt ); pBt 56228 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, nextOvfl, PTRMAP_OVERFLOW2, iFreePage, &rc); pBt 56240 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, iPtrPage, &pPtrPage, 0); pBt 56252 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, iFreePage, eType, iPtrPage, &rc); pBt 56278 ext/sqlite3/libsqlite/sqlite3.c static int incrVacuumStep(BtShared *pBt, Pgno nFin, Pgno iLastPg, int bCommit){ pBt 56282 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 56285 ext/sqlite3/libsqlite/sqlite3.c if( !PTRMAP_ISPAGE(pBt, iLastPg) && iLastPg!=PENDING_BYTE_PAGE(pBt) ){ pBt 56289 ext/sqlite3/libsqlite/sqlite3.c nFreeList = get4byte(&pBt->pPage1->aData[36]); pBt 56294 ext/sqlite3/libsqlite/sqlite3.c rc = ptrmapGet(pBt, iLastPg, &eType, &iPtrPage); pBt 56311 ext/sqlite3/libsqlite/sqlite3.c rc = allocateBtreePage(pBt, &pFreePg, &iFreePg, iLastPg, BTALLOC_EXACT); pBt 56324 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, iLastPg, &pLastPg, 0); pBt 56342 ext/sqlite3/libsqlite/sqlite3.c rc = allocateBtreePage(pBt, &pFreePg, &iFreePg, iNear, eMode); pBt 56351 ext/sqlite3/libsqlite/sqlite3.c rc = relocatePage(pBt, pLastPg, eType, iPtrPage, iFreePg, bCommit); pBt 56362 ext/sqlite3/libsqlite/sqlite3.c }while( iLastPg==PENDING_BYTE_PAGE(pBt) || PTRMAP_ISPAGE(pBt, iLastPg) ); pBt 56363 ext/sqlite3/libsqlite/sqlite3.c pBt->bDoTruncate = 1; pBt 56364 ext/sqlite3/libsqlite/sqlite3.c pBt->nPage = iLastPg; pBt 56374 ext/sqlite3/libsqlite/sqlite3.c static Pgno finalDbSize(BtShared *pBt, Pgno nOrig, Pgno nFree){ pBt 56379 ext/sqlite3/libsqlite/sqlite3.c nEntry = pBt->usableSize/5; pBt 56380 ext/sqlite3/libsqlite/sqlite3.c nPtrmap = (nFree-nOrig+PTRMAP_PAGENO(pBt, nOrig)+nEntry)/nEntry; pBt 56382 ext/sqlite3/libsqlite/sqlite3.c if( nOrig>PENDING_BYTE_PAGE(pBt) && nFin<PENDING_BYTE_PAGE(pBt) ){ pBt 56385 ext/sqlite3/libsqlite/sqlite3.c while( PTRMAP_ISPAGE(pBt, nFin) || nFin==PENDING_BYTE_PAGE(pBt) ){ pBt 56402 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 56405 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->inTransaction==TRANS_WRITE && p->inTrans==TRANS_WRITE ); pBt 56406 ext/sqlite3/libsqlite/sqlite3.c if( !pBt->autoVacuum ){ pBt 56409 ext/sqlite3/libsqlite/sqlite3.c Pgno nOrig = btreePagecount(pBt); pBt 56410 ext/sqlite3/libsqlite/sqlite3.c Pgno nFree = get4byte(&pBt->pPage1->aData[36]); pBt 56411 ext/sqlite3/libsqlite/sqlite3.c Pgno nFin = finalDbSize(pBt, nOrig, nFree); pBt 56416 ext/sqlite3/libsqlite/sqlite3.c rc = saveAllCursors(pBt, 0, 0); pBt 56418 ext/sqlite3/libsqlite/sqlite3.c invalidateAllOverflowCache(pBt); pBt 56419 ext/sqlite3/libsqlite/sqlite3.c rc = incrVacuumStep(pBt, nFin, nOrig, 0); pBt 56422 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerWrite(pBt->pPage1->pDbPage); pBt 56423 ext/sqlite3/libsqlite/sqlite3.c put4byte(&pBt->pPage1->aData[28], pBt->nPage); pBt 56442 ext/sqlite3/libsqlite/sqlite3.c static int autoVacuumCommit(BtShared *pBt){ pBt 56444 ext/sqlite3/libsqlite/sqlite3.c Pager *pPager = pBt->pPager; pBt 56447 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 56448 ext/sqlite3/libsqlite/sqlite3.c invalidateAllOverflowCache(pBt); pBt 56449 ext/sqlite3/libsqlite/sqlite3.c assert(pBt->autoVacuum); pBt 56450 ext/sqlite3/libsqlite/sqlite3.c if( !pBt->incrVacuum ){ pBt 56456 ext/sqlite3/libsqlite/sqlite3.c nOrig = btreePagecount(pBt); pBt 56457 ext/sqlite3/libsqlite/sqlite3.c if( PTRMAP_ISPAGE(pBt, nOrig) || nOrig==PENDING_BYTE_PAGE(pBt) ){ pBt 56465 ext/sqlite3/libsqlite/sqlite3.c nFree = get4byte(&pBt->pPage1->aData[36]); pBt 56466 ext/sqlite3/libsqlite/sqlite3.c nFin = finalDbSize(pBt, nOrig, nFree); pBt 56469 ext/sqlite3/libsqlite/sqlite3.c rc = saveAllCursors(pBt, 0, 0); pBt 56472 ext/sqlite3/libsqlite/sqlite3.c rc = incrVacuumStep(pBt, nFin, iFree, 1); pBt 56475 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerWrite(pBt->pPage1->pDbPage); pBt 56476 ext/sqlite3/libsqlite/sqlite3.c put4byte(&pBt->pPage1->aData[32], 0); pBt 56477 ext/sqlite3/libsqlite/sqlite3.c put4byte(&pBt->pPage1->aData[36], 0); pBt 56478 ext/sqlite3/libsqlite/sqlite3.c put4byte(&pBt->pPage1->aData[28], nFin); pBt 56479 ext/sqlite3/libsqlite/sqlite3.c pBt->bDoTruncate = 1; pBt 56480 ext/sqlite3/libsqlite/sqlite3.c pBt->nPage = nFin; pBt 56524 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 56527 ext/sqlite3/libsqlite/sqlite3.c if( pBt->autoVacuum ){ pBt 56528 ext/sqlite3/libsqlite/sqlite3.c rc = autoVacuumCommit(pBt); pBt 56534 ext/sqlite3/libsqlite/sqlite3.c if( pBt->bDoTruncate ){ pBt 56535 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerTruncateImage(pBt->pPager, pBt->nPage); pBt 56538 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerCommitPhaseOne(pBt->pPager, zMaster, 0); pBt 56549 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 56554 ext/sqlite3/libsqlite/sqlite3.c pBt->bDoTruncate = 0; pBt 56569 ext/sqlite3/libsqlite/sqlite3.c pBt->nTransaction--; pBt 56570 ext/sqlite3/libsqlite/sqlite3.c if( 0==pBt->nTransaction ){ pBt 56571 ext/sqlite3/libsqlite/sqlite3.c pBt->inTransaction = TRANS_NONE; pBt 56578 ext/sqlite3/libsqlite/sqlite3.c unlockBtreeIfUnused(pBt); pBt 56621 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 56622 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->inTransaction==TRANS_WRITE ); pBt 56623 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->nTransaction>0 ); pBt 56624 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerCommitPhaseTwo(pBt->pPager); pBt 56630 ext/sqlite3/libsqlite/sqlite3.c pBt->inTransaction = TRANS_READ; pBt 56631 ext/sqlite3/libsqlite/sqlite3.c btreeClearHasContent(pBt); pBt 56686 ext/sqlite3/libsqlite/sqlite3.c for(p=pBtree->pBt->pCursor; p; p=p->pNext){ pBt 56724 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 56731 ext/sqlite3/libsqlite/sqlite3.c rc = tripCode = saveAllCursors(pBt, 0, 0); pBt 56746 ext/sqlite3/libsqlite/sqlite3.c assert( TRANS_WRITE==pBt->inTransaction ); pBt 56747 ext/sqlite3/libsqlite/sqlite3.c rc2 = sqlite3PagerRollback(pBt->pPager); pBt 56755 ext/sqlite3/libsqlite/sqlite3.c if( btreeGetPage(pBt, 1, &pPage1, 0)==SQLITE_OK ){ pBt 56758 ext/sqlite3/libsqlite/sqlite3.c if( nPage==0 ) sqlite3PagerPagecount(pBt->pPager, &nPage); pBt 56759 ext/sqlite3/libsqlite/sqlite3.c testcase( pBt->nPage!=nPage ); pBt 56760 ext/sqlite3/libsqlite/sqlite3.c pBt->nPage = nPage; pBt 56763 ext/sqlite3/libsqlite/sqlite3.c assert( countValidCursors(pBt, 1)==0 ); pBt 56764 ext/sqlite3/libsqlite/sqlite3.c pBt->inTransaction = TRANS_READ; pBt 56765 ext/sqlite3/libsqlite/sqlite3.c btreeClearHasContent(pBt); pBt 56793 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 56796 ext/sqlite3/libsqlite/sqlite3.c assert( (pBt->btsFlags & BTS_READ_ONLY)==0 ); pBt 56799 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->inTransaction==TRANS_WRITE ); pBt 56805 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerOpenSavepoint(pBt->pPager, iStatement); pBt 56825 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 56829 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerSavepoint(pBt->pPager, op, iSavepoint); pBt 56831 ext/sqlite3/libsqlite/sqlite3.c if( iSavepoint<0 && (pBt->btsFlags & BTS_INITIALLY_EMPTY)!=0 ){ pBt 56832 ext/sqlite3/libsqlite/sqlite3.c pBt->nPage = 0; pBt 56834 ext/sqlite3/libsqlite/sqlite3.c rc = newDatabase(pBt); pBt 56835 ext/sqlite3/libsqlite/sqlite3.c pBt->nPage = get4byte(28 + pBt->pPage1->aData); pBt 56840 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->nPage>0 ); pBt 56886 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; /* Shared b-tree handle */ pBt 56901 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->pPage1 && pBt->pPage1->aData ); pBt 56903 ext/sqlite3/libsqlite/sqlite3.c if( NEVER(wrFlag && (pBt->btsFlags & BTS_READ_ONLY)!=0) ){ pBt 56907 ext/sqlite3/libsqlite/sqlite3.c allocateTempSpace(pBt); pBt 56908 ext/sqlite3/libsqlite/sqlite3.c if( pBt->pTmpSpace==0 ) return SQLITE_NOMEM; pBt 56910 ext/sqlite3/libsqlite/sqlite3.c if( iTable==1 && btreePagecount(pBt)==0 ){ pBt 56921 ext/sqlite3/libsqlite/sqlite3.c pCur->pBt = pBt; pBt 56924 ext/sqlite3/libsqlite/sqlite3.c pCur->pNext = pBt->pCursor; pBt 56928 ext/sqlite3/libsqlite/sqlite3.c pBt->pCursor = pCur; pBt 56978 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pCur->pBt; pBt 56984 ext/sqlite3/libsqlite/sqlite3.c pBt->pCursor = pCur->pNext; pBt 56992 ext/sqlite3/libsqlite/sqlite3.c unlockBtreeIfUnused(pBt); pBt 57123 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt, /* The database file */ pBt 57132 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 57142 ext/sqlite3/libsqlite/sqlite3.c if( pBt->autoVacuum ){ pBt 57147 ext/sqlite3/libsqlite/sqlite3.c while( PTRMAP_ISPAGE(pBt, iGuess) || iGuess==PENDING_BYTE_PAGE(pBt) ){ pBt 57151 ext/sqlite3/libsqlite/sqlite3.c if( iGuess<=btreePagecount(pBt) ){ pBt 57152 ext/sqlite3/libsqlite/sqlite3.c rc = ptrmapGet(pBt, iGuess, &eType, &pgno); pBt 57163 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, ovfl, &pPage, (ppPage==0) ? PAGER_GET_READONLY : 0); pBt 57252 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pCur->pBt; /* Btree this cursor belongs to */ pBt 57271 ext/sqlite3/libsqlite/sqlite3.c if( &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ){ pBt 57292 ext/sqlite3/libsqlite/sqlite3.c const u32 ovflSize = pBt->usableSize - 4; /* Bytes content per ovfl page */ pBt 57356 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->pBtree->db==pBt->db ); pBt 57360 ext/sqlite3/libsqlite/sqlite3.c rc = getOverflowPage(pBt, nextPage, 0, &nextPage); pBt 57393 ext/sqlite3/libsqlite/sqlite3.c && pBt->inTransaction==TRANS_READ /* (4) */ pBt 57394 ext/sqlite3/libsqlite/sqlite3.c && (fd = sqlite3PagerFile(pBt->pPager))->pMethods /* (3) */ pBt 57395 ext/sqlite3/libsqlite/sqlite3.c && pBt->pPage1->aData[19]==0x01 /* (5) */ pBt 57402 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3OsRead(fd, aWrite, a+4, (i64)pBt->pageSize*(nextPage-1)); pBt 57410 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerAcquire(pBt->pPager, nextPage, &pDbPage, pBt 57556 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pCur->pBt; pBt 57565 ext/sqlite3/libsqlite/sqlite3.c rc = getAndInitPage(pBt, newPgno, &pNewPage, pBt 57671 ext/sqlite3/libsqlite/sqlite3.c rc = getAndInitPage(pCur->pBtree->pBt, pCur->pgnoRoot, &pCur->apPage[0], pBt 58312 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt, /* The btree */ pBt 58326 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 58327 ext/sqlite3/libsqlite/sqlite3.c assert( eMode==BTALLOC_ANY || (nearby>0 && IfNotOmitAV(pBt->autoVacuum)) ); pBt 58328 ext/sqlite3/libsqlite/sqlite3.c pPage1 = pBt->pPage1; pBt 58329 ext/sqlite3/libsqlite/sqlite3.c mxPage = btreePagecount(pBt); pBt 58351 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->autoVacuum ); pBt 58352 ext/sqlite3/libsqlite/sqlite3.c rc = ptrmapGet(pBt, nearby, &eType, 0); pBt 58392 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, iTrunk, &pTrunk, 0); pBt 58417 ext/sqlite3/libsqlite/sqlite3.c }else if( k>(u32)(pBt->usableSize/4 - 2) ){ pBt 58457 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, iNewTrunk, &pNewTrunk, 0); pBt 58536 ext/sqlite3/libsqlite/sqlite3.c noContent = !btreeGetHasContent(pBt, *pPgno)? PAGER_GET_NOCONTENT : 0; pBt 58537 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, *pPgno, ppPage, noContent); pBt 58569 ext/sqlite3/libsqlite/sqlite3.c int bNoContent = (0==IfNotOmitAV(pBt->bDoTruncate))? PAGER_GET_NOCONTENT:0; pBt 58571 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerWrite(pBt->pPage1->pDbPage); pBt 58573 ext/sqlite3/libsqlite/sqlite3.c pBt->nPage++; pBt 58574 ext/sqlite3/libsqlite/sqlite3.c if( pBt->nPage==PENDING_BYTE_PAGE(pBt) ) pBt->nPage++; pBt 58577 ext/sqlite3/libsqlite/sqlite3.c if( pBt->autoVacuum && PTRMAP_ISPAGE(pBt, pBt->nPage) ){ pBt 58583 ext/sqlite3/libsqlite/sqlite3.c TRACE(("ALLOCATE: %d from end of file (pointer-map page)\n", pBt->nPage)); pBt 58584 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->nPage!=PENDING_BYTE_PAGE(pBt) ); pBt 58585 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, pBt->nPage, &pPg, bNoContent); pBt 58591 ext/sqlite3/libsqlite/sqlite3.c pBt->nPage++; pBt 58592 ext/sqlite3/libsqlite/sqlite3.c if( pBt->nPage==PENDING_BYTE_PAGE(pBt) ){ pBt->nPage++; } pBt 58595 ext/sqlite3/libsqlite/sqlite3.c put4byte(28 + (u8*)pBt->pPage1->aData, pBt->nPage); pBt 58596 ext/sqlite3/libsqlite/sqlite3.c *pPgno = pBt->nPage; pBt 58598 ext/sqlite3/libsqlite/sqlite3.c assert( *pPgno!=PENDING_BYTE_PAGE(pBt) ); pBt 58599 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, *pPgno, ppPage, bNoContent); pBt 58608 ext/sqlite3/libsqlite/sqlite3.c assert( *pPgno!=PENDING_BYTE_PAGE(pBt) ); pBt 58639 ext/sqlite3/libsqlite/sqlite3.c static int freePage2(BtShared *pBt, MemPage *pMemPage, Pgno iPage){ pBt 58642 ext/sqlite3/libsqlite/sqlite3.c MemPage *pPage1 = pBt->pPage1; /* Local reference to page 1 */ pBt 58647 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 58655 ext/sqlite3/libsqlite/sqlite3.c pPage = btreePageLookup(pBt, iPage); pBt 58664 ext/sqlite3/libsqlite/sqlite3.c if( pBt->btsFlags & BTS_SECURE_DELETE ){ pBt 58668 ext/sqlite3/libsqlite/sqlite3.c if( (!pPage && ((rc = btreeGetPage(pBt, iPage, &pPage, 0))!=0) ) pBt 58673 ext/sqlite3/libsqlite/sqlite3.c memset(pPage->aData, 0, pPage->pBt->pageSize); pBt 58680 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, iPage, PTRMAP_FREEPAGE, 0, &rc); pBt 58695 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, iTrunk, &pTrunk, 0); pBt 58701 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->usableSize>32 ); pBt 58702 ext/sqlite3/libsqlite/sqlite3.c if( nLeaf > (u32)pBt->usableSize/4 - 2 ){ pBt 58706 ext/sqlite3/libsqlite/sqlite3.c if( nLeaf < (u32)pBt->usableSize/4 - 8 ){ pBt 58730 ext/sqlite3/libsqlite/sqlite3.c if( pPage && (pBt->btsFlags & BTS_SECURE_DELETE)==0 ){ pBt 58733 ext/sqlite3/libsqlite/sqlite3.c rc = btreeSetHasContent(pBt, iPage); pBt 58746 ext/sqlite3/libsqlite/sqlite3.c if( pPage==0 && SQLITE_OK!=(rc = btreeGetPage(pBt, iPage, &pPage, 0)) ){ pBt 58768 ext/sqlite3/libsqlite/sqlite3.c *pRC = freePage2(pPage->pBt, pPage, pPage->pgno); pBt 58782 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pPage->pBt; pBt 58789 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 58799 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->usableSize > 4 ); pBt 58800 ext/sqlite3/libsqlite/sqlite3.c ovflPageSize = pBt->usableSize - 4; pBt 58806 ext/sqlite3/libsqlite/sqlite3.c if( ovflPgno<2 || ovflPgno>btreePagecount(pBt) ){ pBt 58813 ext/sqlite3/libsqlite/sqlite3.c rc = getOverflowPage(pBt, ovflPgno, &pOvfl, &iNext); pBt 58817 ext/sqlite3/libsqlite/sqlite3.c if( ( pOvfl || ((pOvfl = btreePageLookup(pBt, ovflPgno))!=0) ) pBt 58832 ext/sqlite3/libsqlite/sqlite3.c rc = freePage2(pBt, pOvfl, ovflPgno); pBt 58872 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pPage->pBt; pBt 58876 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 58880 ext/sqlite3/libsqlite/sqlite3.c assert( pCell<pPage->aData || pCell>=&pPage->aData[pBt->pageSize] pBt 58917 ext/sqlite3/libsqlite/sqlite3.c n = mn + (nPayload - mn) % (pPage->pBt->usableSize - 4); pBt 58956 ext/sqlite3/libsqlite/sqlite3.c if( pBt->autoVacuum ){ pBt 58960 ext/sqlite3/libsqlite/sqlite3.c PTRMAP_ISPAGE(pBt, pgnoOvfl) || pgnoOvfl==PENDING_BYTE_PAGE(pBt) pBt 58964 ext/sqlite3/libsqlite/sqlite3.c rc = allocateBtreePage(pBt, &pOvfl, &pgnoOvfl, pgnoOvfl, 0); pBt 58976 ext/sqlite3/libsqlite/sqlite3.c if( pBt->autoVacuum && rc==SQLITE_OK ){ pBt 58978 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, pgnoOvfl, eType, pgnoPtrmap, &rc); pBt 58995 ext/sqlite3/libsqlite/sqlite3.c assert( pPrior<pPage->aData || pPrior>=&pPage->aData[pBt->pageSize] pBt 59004 ext/sqlite3/libsqlite/sqlite3.c spaceLeft = pBt->usableSize - 4; pBt 59015 ext/sqlite3/libsqlite/sqlite3.c assert( pPayload<pPage->aData || pPayload>=&pPage->aData[pBt->pageSize] pBt 59059 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 59065 ext/sqlite3/libsqlite/sqlite3.c testcase( pc+sz==pPage->pBt->usableSize ); pBt 59066 ext/sqlite3/libsqlite/sqlite3.c if( pc < (u32)get2byte(&data[hdr+5]) || pc+sz > pPage->pBt->usableSize ){ pBt 59079 ext/sqlite3/libsqlite/sqlite3.c put2byte(&data[hdr+5], pPage->pBt->usableSize); pBt 59080 ext/sqlite3/libsqlite/sqlite3.c pPage->nFree = pPage->pBt->usableSize - pPage->hdrOffset pBt 59120 ext/sqlite3/libsqlite/sqlite3.c assert( MX_CELL(pPage->pBt)<=10921 ); pBt 59121 ext/sqlite3/libsqlite/sqlite3.c assert( pPage->nCell<=MX_CELL(pPage->pBt) || CORRUPT_DB ); pBt 59124 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 59159 ext/sqlite3/libsqlite/sqlite3.c assert( idx+sz <= (int)pPage->pBt->usableSize ); pBt 59170 ext/sqlite3/libsqlite/sqlite3.c if( pPage->pBt->autoVacuum ){ pBt 59201 ext/sqlite3/libsqlite/sqlite3.c const int usableSize = pPg->pBt->usableSize; pBt 59205 ext/sqlite3/libsqlite/sqlite3.c u8 *pTmp = sqlite3PagerTempSpace(pPg->pBt->pPager); pBt 59306 ext/sqlite3/libsqlite/sqlite3.c u8 * const pEnd = &aData[pPg->pBt->usableSize]; pBt 59370 ext/sqlite3/libsqlite/sqlite3.c u8 *pTmp = sqlite3PagerTempSpace(pPg->pBt->pPager); pBt 59371 ext/sqlite3/libsqlite/sqlite3.c memcpy(pTmp, aData, pPg->pBt->usableSize); pBt 59435 ext/sqlite3/libsqlite/sqlite3.c if( pCell>=aData && pCell<&aData[pPg->pBt->usableSize] ){ pBt 59489 ext/sqlite3/libsqlite/sqlite3.c BtShared *const pBt = pPage->pBt; /* B-Tree Database */ pBt 59494 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pPage->pBt->mutex) ); pBt 59505 ext/sqlite3/libsqlite/sqlite3.c rc = allocateBtreePage(pBt, &pNew, &pgnoNew, 0, 0); pBt 59518 ext/sqlite3/libsqlite/sqlite3.c pNew->nFree = pBt->usableSize - pNew->cellOffset - 2 - szCell; pBt 59530 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, pgnoNew, PTRMAP_BTREE, pParent->pgno, &rc); pBt 59582 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pPage->pBt; pBt 59593 ext/sqlite3/libsqlite/sqlite3.c ptrmapGet(pBt, ovfl, &e, &n); pBt 59598 ext/sqlite3/libsqlite/sqlite3.c ptrmapGet(pBt, child, &e, &n); pBt 59604 ext/sqlite3/libsqlite/sqlite3.c ptrmapGet(pBt, child, &e, &n); pBt 59631 ext/sqlite3/libsqlite/sqlite3.c BtShared * const pBt = pFrom->pBt; pBt 59642 ext/sqlite3/libsqlite/sqlite3.c assert( get2byte(&aFrom[iFromHdr+5]) <= (int)pBt->usableSize ); pBt 59646 ext/sqlite3/libsqlite/sqlite3.c memcpy(&aTo[iData], &aFrom[iData], pBt->usableSize-iData); pBt 59720 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt; /* The whole database */ pBt 59753 ext/sqlite3/libsqlite/sqlite3.c pBt = pParent->pBt; pBt 59754 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 59806 ext/sqlite3/libsqlite/sqlite3.c rc = getAndInitPage(pBt, pgno, &apOld[i], 0); pBt 59836 ext/sqlite3/libsqlite/sqlite3.c if( pBt->btsFlags & BTS_SECURE_DELETE ){ pBt 59840 ext/sqlite3/libsqlite/sqlite3.c if( (iOff+szNew[i])>(int)pBt->usableSize ){ pBt 59863 ext/sqlite3/libsqlite/sqlite3.c + pBt->pageSize; /* aSpace1 */ pBt 59867 ext/sqlite3/libsqlite/sqlite3.c assert( szScratch<=6*(int)pBt->pageSize ); pBt 59926 ext/sqlite3/libsqlite/sqlite3.c assert( sz<=pBt->maxLocal+23 ); pBt 59927 ext/sqlite3/libsqlite/sqlite3.c assert( iSpace1 <= (int)pBt->pageSize ); pBt 59969 ext/sqlite3/libsqlite/sqlite3.c usableSpace = pBt->usableSize - 12 + leafCorrection; pBt 60052 ext/sqlite3/libsqlite/sqlite3.c rc = allocateBtreePage(pBt, &pNew, &pgno, (bBulk ? 1 : pgno), 0); pBt 60061 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, pNew->pgno, PTRMAP_BTREE, pParent->pgno, &rc); pBt 60107 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerRekey(apNew[iBest]->pDbPage, pBt->nPage+iBest+1, 0); pBt 60158 ext/sqlite3/libsqlite/sqlite3.c int usableSize = pBt->usableSize; pBt 60186 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, get4byte(pCell), PTRMAP_BTREE, pNew->pgno, &rc); pBt 60240 ext/sqlite3/libsqlite/sqlite3.c assert( sz<=pBt->maxLocal+23 ); pBt 60241 ext/sqlite3/libsqlite/sqlite3.c assert( iOvflSpace <= (int)pBt->pageSize ); pBt 60342 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, key, PTRMAP_BTREE, apNew[i]->pgno, &rc); pBt 60409 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pRoot->pBt; /* The BTree */ pBt 60412 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 60420 ext/sqlite3/libsqlite/sqlite3.c rc = allocateBtreePage(pBt,&pChild,&pgnoChild,pRoot->pgno,0); pBt 60423 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, pgnoChild, PTRMAP_BTREE, pRoot->pgno, &rc); pBt 60464 ext/sqlite3/libsqlite/sqlite3.c const int nMin = pCur->pBt->usableSize * 2 / 3; pBt 60543 ext/sqlite3/libsqlite/sqlite3.c u8 *pSpace = sqlite3PageMalloc(pCur->pBt->pageSize); pBt 60613 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 60624 ext/sqlite3/libsqlite/sqlite3.c && pBt->inTransaction==TRANS_WRITE pBt 60625 ext/sqlite3/libsqlite/sqlite3.c && (pBt->btsFlags & BTS_READ_ONLY)==0 ); pBt 60646 ext/sqlite3/libsqlite/sqlite3.c rc = saveAllCursors(pBt, pCur->pgnoRoot, pCur); pBt 60677 ext/sqlite3/libsqlite/sqlite3.c newCell = pBt->pTmpSpace; pBt 60682 ext/sqlite3/libsqlite/sqlite3.c assert( szNew <= MX_CELL_SIZE(pBt) ); pBt 60751 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 60760 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->inTransaction==TRANS_WRITE ); pBt 60761 ext/sqlite3/libsqlite/sqlite3.c assert( (pBt->btsFlags & BTS_READ_ONLY)==0 ); pBt 60795 ext/sqlite3/libsqlite/sqlite3.c rc = saveAllCursors(pBt, pCur->pgnoRoot, pCur); pBt 60823 ext/sqlite3/libsqlite/sqlite3.c assert( MX_CELL_SIZE(pBt) >= nCell ); pBt 60824 ext/sqlite3/libsqlite/sqlite3.c pTmp = pBt->pTmpSpace; pBt 60873 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 60880 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->inTransaction==TRANS_WRITE ); pBt 60881 ext/sqlite3/libsqlite/sqlite3.c assert( (pBt->btsFlags & BTS_READ_ONLY)==0 ); pBt 60884 ext/sqlite3/libsqlite/sqlite3.c rc = allocateBtreePage(pBt, &pRoot, &pgnoRoot, 1, 0); pBt 60889 ext/sqlite3/libsqlite/sqlite3.c if( pBt->autoVacuum ){ pBt 60898 ext/sqlite3/libsqlite/sqlite3.c invalidateAllOverflowCache(pBt); pBt 60910 ext/sqlite3/libsqlite/sqlite3.c while( pgnoRoot==PTRMAP_PAGENO(pBt, pgnoRoot) || pBt 60911 ext/sqlite3/libsqlite/sqlite3.c pgnoRoot==PENDING_BYTE_PAGE(pBt) ){ pBt 60920 ext/sqlite3/libsqlite/sqlite3.c rc = allocateBtreePage(pBt, &pPageMove, &pgnoMove, pgnoRoot, BTALLOC_EXACT); pBt 60938 ext/sqlite3/libsqlite/sqlite3.c rc = saveAllCursors(pBt, 0, 0); pBt 60945 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, pgnoRoot, &pRoot, 0); pBt 60949 ext/sqlite3/libsqlite/sqlite3.c rc = ptrmapGet(pBt, pgnoRoot, &eType, &iPtrPage); pBt 60959 ext/sqlite3/libsqlite/sqlite3.c rc = relocatePage(pBt, pRoot, eType, iPtrPage, pgnoMove, 0); pBt 60966 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, pgnoRoot, &pRoot, 0); pBt 60980 ext/sqlite3/libsqlite/sqlite3.c ptrmapPut(pBt, pgnoRoot, PTRMAP_ROOTPAGE, 0, &rc); pBt 60990 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3PagerIswriteable(pBt->pPage1->pDbPage) ); pBt 60998 ext/sqlite3/libsqlite/sqlite3.c rc = allocateBtreePage(pBt, &pRoot, &pgnoRoot, 1, 0); pBt 61010 ext/sqlite3/libsqlite/sqlite3.c assert( (pBt->openFlags & BTREE_SINGLE)==0 || pgnoRoot==2 ); pBt 61027 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt, /* The BTree that contains the table */ pBt 61039 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pBt->mutex) ); pBt 61040 ext/sqlite3/libsqlite/sqlite3.c if( pgno>btreePagecount(pBt) ){ pBt 61043 ext/sqlite3/libsqlite/sqlite3.c rc = getAndInitPage(pBt, pgno, &pPage, 0); pBt 61054 ext/sqlite3/libsqlite/sqlite3.c rc = clearDatabasePage(pBt, get4byte(pCell), 1, pnChange); pBt 61061 ext/sqlite3/libsqlite/sqlite3.c rc = clearDatabasePage(pBt, get4byte(&pPage->aData[hdr+8]), 1, pnChange); pBt 61094 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 61098 ext/sqlite3/libsqlite/sqlite3.c rc = saveAllCursors(pBt, (Pgno)iTable, 0); pBt 61105 ext/sqlite3/libsqlite/sqlite3.c rc = clearDatabasePage(pBt, (Pgno)iTable, 0, pnChange); pBt 61143 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 61156 ext/sqlite3/libsqlite/sqlite3.c if( NEVER(pBt->pCursor) ){ pBt 61157 ext/sqlite3/libsqlite/sqlite3.c sqlite3ConnectionBlocked(p->db, pBt->pCursor->pBtree->db); pBt 61161 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, (Pgno)iTable, &pPage, 0); pBt 61176 ext/sqlite3/libsqlite/sqlite3.c if( pBt->autoVacuum ){ pBt 61196 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, maxRootPgno, &pMove, 0); pBt 61200 ext/sqlite3/libsqlite/sqlite3.c rc = relocatePage(pBt, pMove, PTRMAP_ROOTPAGE, 0, iTable, 0); pBt 61206 ext/sqlite3/libsqlite/sqlite3.c rc = btreeGetPage(pBt, maxRootPgno, &pMove, 0); pBt 61221 ext/sqlite3/libsqlite/sqlite3.c while( maxRootPgno==PENDING_BYTE_PAGE(pBt) pBt 61222 ext/sqlite3/libsqlite/sqlite3.c || PTRMAP_ISPAGE(pBt, maxRootPgno) ){ pBt 61225 ext/sqlite3/libsqlite/sqlite3.c assert( maxRootPgno!=PENDING_BYTE_PAGE(pBt) ); pBt 61273 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 61278 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->pPage1 ); pBt 61282 ext/sqlite3/libsqlite/sqlite3.c *pMeta = sqlite3PagerDataVersion(pBt->pPager) + p->iDataVersion; pBt 61284 ext/sqlite3/libsqlite/sqlite3.c *pMeta = get4byte(&pBt->pPage1->aData[36 + idx*4]); pBt 61291 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags |= BTS_READ_ONLY; pBt 61303 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 61309 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->pPage1!=0 ); pBt 61310 ext/sqlite3/libsqlite/sqlite3.c pP1 = pBt->pPage1->aData; pBt 61311 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerWrite(pBt->pPage1->pDbPage); pBt 61316 ext/sqlite3/libsqlite/sqlite3.c assert( pBt->autoVacuum || iMeta==0 ); pBt 61318 ext/sqlite3/libsqlite/sqlite3.c pBt->incrVacuum = (u8)iMeta; pBt 61406 ext/sqlite3/libsqlite/sqlite3.c return p->pBt->pPager; pBt 61497 ext/sqlite3/libsqlite/sqlite3.c rc = ptrmapGet(pCheck->pBt, iChild, &ePtrmapType, &iPtrmapParent); pBt 61543 ext/sqlite3/libsqlite/sqlite3.c if( pCheck->pBt->autoVacuum ){ pBt 61547 ext/sqlite3/libsqlite/sqlite3.c if( n>(int)pCheck->pBt->usableSize/4-2 ){ pBt 61555 ext/sqlite3/libsqlite/sqlite3.c if( pCheck->pBt->autoVacuum ){ pBt 61570 ext/sqlite3/libsqlite/sqlite3.c if( pCheck->pBt->autoVacuum && N>0 ){ pBt 61663 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt; pBt 61675 ext/sqlite3/libsqlite/sqlite3.c pBt = pCheck->pBt; pBt 61676 ext/sqlite3/libsqlite/sqlite3.c usableSize = pBt->usableSize; pBt 61681 ext/sqlite3/libsqlite/sqlite3.c if( (rc = btreeGetPage(pBt, (Pgno)iPage, &pPage, 0))!=0 ){ pBt 61728 ext/sqlite3/libsqlite/sqlite3.c && (&pCell[info.iOverflow]<=&pPage->aData[pBt->usableSize]) pBt 61733 ext/sqlite3/libsqlite/sqlite3.c if( pBt->autoVacuum ){ pBt 61745 ext/sqlite3/libsqlite/sqlite3.c if( pBt->autoVacuum ){ pBt 61762 ext/sqlite3/libsqlite/sqlite3.c if( pBt->autoVacuum ){ pBt 61811 ext/sqlite3/libsqlite/sqlite3.c heap = (u32*)sqlite3PageMalloc( pBt->pageSize ); pBt 61924 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 61928 ext/sqlite3/libsqlite/sqlite3.c assert( p->inTrans>TRANS_NONE && pBt->inTransaction>TRANS_NONE ); pBt 61929 ext/sqlite3/libsqlite/sqlite3.c nRef = sqlite3PagerRefcount(pBt->pPager); pBt 61930 ext/sqlite3/libsqlite/sqlite3.c sCheck.pBt = pBt; pBt 61931 ext/sqlite3/libsqlite/sqlite3.c sCheck.pPager = pBt->pPager; pBt 61932 ext/sqlite3/libsqlite/sqlite3.c sCheck.nPage = btreePagecount(sCheck.pBt); pBt 61951 ext/sqlite3/libsqlite/sqlite3.c i = PENDING_BYTE_PAGE(pBt); pBt 61958 ext/sqlite3/libsqlite/sqlite3.c checkList(&sCheck, 1, get4byte(&pBt->pPage1->aData[32]), pBt 61959 ext/sqlite3/libsqlite/sqlite3.c get4byte(&pBt->pPage1->aData[36])); pBt 61967 ext/sqlite3/libsqlite/sqlite3.c if( pBt->autoVacuum && aRoot[i]>1 ){ pBt 61988 ext/sqlite3/libsqlite/sqlite3.c (PTRMAP_PAGENO(pBt, i)!=i || !pBt->autoVacuum) ){ pBt 61992 ext/sqlite3/libsqlite/sqlite3.c (PTRMAP_PAGENO(pBt, i)==i && pBt->autoVacuum) ){ pBt 62002 ext/sqlite3/libsqlite/sqlite3.c if( NEVER(nRef != sqlite3PagerRefcount(pBt->pPager)) ){ pBt 62005 ext/sqlite3/libsqlite/sqlite3.c nRef, sqlite3PagerRefcount(pBt->pPager) pBt 62032 ext/sqlite3/libsqlite/sqlite3.c assert( p->pBt->pPager!=0 ); pBt 62033 ext/sqlite3/libsqlite/sqlite3.c return sqlite3PagerFilename(p->pBt->pPager, 1); pBt 62045 ext/sqlite3/libsqlite/sqlite3.c assert( p->pBt->pPager!=0 ); pBt 62046 ext/sqlite3/libsqlite/sqlite3.c return sqlite3PagerJournalname(p->pBt->pPager); pBt 62069 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 62071 ext/sqlite3/libsqlite/sqlite3.c if( pBt->inTransaction!=TRANS_NONE ){ pBt 62074 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerCheckpoint(pBt->pPager, eMode, pnLog, pnCkpt); pBt 62118 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = p->pBt; pBt 62120 ext/sqlite3/libsqlite/sqlite3.c if( !pBt->pSchema && nBytes ){ pBt 62121 ext/sqlite3/libsqlite/sqlite3.c pBt->pSchema = sqlite3DbMallocZero(0, nBytes); pBt 62122 ext/sqlite3/libsqlite/sqlite3.c pBt->xFreeSchema = xFree; pBt 62125 ext/sqlite3/libsqlite/sqlite3.c return pBt->pSchema; pBt 62203 ext/sqlite3/libsqlite/sqlite3.c VVA_ONLY(rc =) saveAllCursors(pCsr->pBt, pCsr->pgnoRoot, pCsr); pBt 62216 ext/sqlite3/libsqlite/sqlite3.c assert( (pCsr->pBt->btsFlags & BTS_READ_ONLY)==0 pBt 62217 ext/sqlite3/libsqlite/sqlite3.c && pCsr->pBt->inTransaction==TRANS_WRITE ); pBt 62239 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pBtree->pBt; pBt 62247 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags &= ~BTS_NO_WAL; pBt 62248 ext/sqlite3/libsqlite/sqlite3.c if( iVersion==1 ) pBt->btsFlags |= BTS_NO_WAL; pBt 62252 ext/sqlite3/libsqlite/sqlite3.c u8 *aData = pBt->pPage1->aData; pBt 62256 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerWrite(pBt->pPage1->pDbPage); pBt 62265 ext/sqlite3/libsqlite/sqlite3.c pBt->btsFlags &= ~BTS_NO_WAL; pBt 62291 ext/sqlite3/libsqlite/sqlite3.c return (p->pBt->btsFlags & BTS_READ_ONLY)!=0; pBt 62410 ext/sqlite3/libsqlite/sqlite3.c return pDb->aDb[i].pBt; pBt 62556 ext/sqlite3/libsqlite/sqlite3.c assert( iSrcPg!=PENDING_BYTE_PAGE(p->pSrc->pBt) ); pBt 62593 ext/sqlite3/libsqlite/sqlite3.c if( iDest==PENDING_BYTE_PAGE(p->pDest->pBt) ) continue; pBt 62679 ext/sqlite3/libsqlite/sqlite3.c if( p->pDestDb && p->pSrc->pBt->inTransaction==TRANS_WRITE ){ pBt 62718 ext/sqlite3/libsqlite/sqlite3.c if( iSrcPg!=PENDING_BYTE_PAGE(p->pSrc->pBt) ){ pBt 62779 ext/sqlite3/libsqlite/sqlite3.c if( nDestTruncate==(int)PENDING_BYTE_PAGE(p->pDest->pBt) ){ pBt 62807 ext/sqlite3/libsqlite/sqlite3.c nDestTruncate==(int)(PENDING_BYTE_PAGE(p->pDest->pBt)-1) pBt 62819 ext/sqlite3/libsqlite/sqlite3.c if( iPg!=PENDING_BYTE_PAGE(p->pDest->pBt) ){ pBt 62989 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(p->pSrc->pBt->mutex) ); pBt 63022 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(p->pSrc->pBt->mutex) ); pBt 63074 ext/sqlite3/libsqlite/sqlite3.c pTo->pBt->btsFlags &= ~BTS_PAGESIZE_FIXED; pBt 65944 ext/sqlite3/libsqlite/sqlite3.c if( i!=1 && sqlite3BtreeSharable(p->db->aDb[i].pBt) ){ pBt 65981 ext/sqlite3/libsqlite/sqlite3.c if( i!=1 && DbMaskTest(p->lockMask,i) && ALWAYS(aDb[i].pBt!=0) ){ pBt 65982 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeEnter(aDb[i].pBt); pBt 66002 ext/sqlite3/libsqlite/sqlite3.c if( i!=1 && DbMaskTest(p->lockMask,i) && ALWAYS(aDb[i].pBt!=0) ){ pBt 66003 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeLeave(aDb[i].pBt); pBt 66556 ext/sqlite3/libsqlite/sqlite3.c if( pCx->pBt ){ pBt 66557 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeClose(pCx->pBt); pBt 66758 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[i].pBt; pBt 66759 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3BtreeIsInTrans(pBt) ){ pBt 66762 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeEnter(pBt); pBt 66763 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerExclusiveLock(sqlite3BtreePager(pBt)); pBt 66764 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeLeave(pBt); pBt 66788 ext/sqlite3/libsqlite/sqlite3.c if( 0==sqlite3Strlen30(sqlite3BtreeGetFilename(db->aDb[0].pBt)) pBt 66792 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[i].pBt; pBt 66793 ext/sqlite3/libsqlite/sqlite3.c if( pBt ){ pBt 66794 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeCommitPhaseOne(pBt, 0); pBt 66804 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[i].pBt; pBt 66805 ext/sqlite3/libsqlite/sqlite3.c if( pBt ){ pBt 66806 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeCommitPhaseTwo(pBt, 0); pBt 66823 ext/sqlite3/libsqlite/sqlite3.c char const *zMainFile = sqlite3BtreeGetFilename(db->aDb[0].pBt); pBt 66874 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[i].pBt; pBt 66875 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3BtreeIsInTrans(pBt) ){ pBt 66876 ext/sqlite3/libsqlite/sqlite3.c char const *zFile = sqlite3BtreeGetJournalname(pBt); pBt 66881 ext/sqlite3/libsqlite/sqlite3.c if( !needSync && !sqlite3BtreeSyncDisabled(pBt) ){ pBt 66919 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[i].pBt; pBt 66920 ext/sqlite3/libsqlite/sqlite3.c if( pBt ){ pBt 66921 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeCommitPhaseOne(pBt, zMaster); pBt 66952 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[i].pBt; pBt 66953 ext/sqlite3/libsqlite/sqlite3.c if( pBt ){ pBt 66954 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeCommitPhaseTwo(pBt, 1); pBt 67028 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[i].pBt; pBt 67029 ext/sqlite3/libsqlite/sqlite3.c if( pBt ){ pBt 67031 ext/sqlite3/libsqlite/sqlite3.c rc2 = sqlite3BtreeSavepoint(pBt, SAVEPOINT_ROLLBACK, iSavepoint); pBt 67034 ext/sqlite3/libsqlite/sqlite3.c rc2 = sqlite3BtreeSavepoint(pBt, SAVEPOINT_RELEASE, iSavepoint); pBt 69383 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[i].pBt; pBt 69384 ext/sqlite3/libsqlite/sqlite3.c if( pBt ){ pBt 69386 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeEnter(pBt); pBt 69387 ext/sqlite3/libsqlite/sqlite3.c nEntry = sqlite3PagerWalCallback(sqlite3BtreePager(pBt)); pBt 69388 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeLeave(pBt); pBt 73715 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeTripAllCursors(db->aDb[ii].pBt, pBt 73724 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeSavepoint(db->aDb[ii].pBt, p1, iSavepoint); pBt 73881 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt; pBt 73893 ext/sqlite3/libsqlite/sqlite3.c pBt = db->aDb[pOp->p1].pBt; pBt 73895 ext/sqlite3/libsqlite/sqlite3.c if( pBt ){ pBt 73896 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeBeginTrans(pBt, pOp->p2); pBt 73909 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3BtreeIsInTrans(pBt) ); pBt 73918 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeBeginStmt(pBt, p->iStatement); pBt 73934 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeGetMeta(pBt, BTREE_SCHEMA_VERSION, (u32 *)&iMeta); pBt 73987 ext/sqlite3/libsqlite/sqlite3.c assert( db->aDb[iDb].pBt!=0 ); pBt 73990 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeGetMeta(db->aDb[iDb].pBt, iCookie, (u32 *)&iMeta); pBt 74013 ext/sqlite3/libsqlite/sqlite3.c assert( pDb->pBt!=0 ); pBt 74018 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeUpdateMeta(pDb->pBt, pOp->p2, (int)pIn3->u.i); pBt 74141 ext/sqlite3/libsqlite/sqlite3.c pX = pDb->pBt; pBt 74244 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeOpen(db->pVfs, 0, db, &pCx->pBt, pBt 74247 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeBeginTrans(pCx->pBt, 1); pBt 74258 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeCreateTable(pCx->pBt, &pgno, BTREE_BLOBKEY | pOp->p5); pBt 74264 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeCursor(pCx->pBt, pgno, 1, pKeyInfo, pCx->pCursor); pBt 74268 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeCursor(pCx->pBt, MASTER_ROOT, 1, 0, pCx->pCursor); pBt 75822 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeDropTable(db->aDb[iDb].pBt, pOp->p1, &iMoved); pBt 75862 ext/sqlite3/libsqlite/sqlite3.c db->aDb[pOp->p2].pBt, pOp->p1, (pOp->p3 ? &nChange : 0) pBt 75934 ext/sqlite3/libsqlite/sqlite3.c assert( pDb->pBt!=0 ); pBt 75941 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeCreateTable(pDb->pBt, &pgno, flags); pBt 75966 ext/sqlite3/libsqlite/sqlite3.c assert( iDb==1 || sqlite3BtreeHoldsMutex(db->aDb[iDb].pBt) ); pBt 76100 ext/sqlite3/libsqlite/sqlite3.c z = sqlite3BtreeIntegrityCheck(db->aDb[pOp->p5].pBt, aRoot, nRoot, pBt 76664 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt; /* Btree to change journal mode of */ pBt 76685 ext/sqlite3/libsqlite/sqlite3.c pBt = db->aDb[pOp->p1].pBt; pBt 76686 ext/sqlite3/libsqlite/sqlite3.c pPager = sqlite3BtreePager(pBt); pBt 76735 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3BtreeIsInTrans(pBt)==0 ); pBt 76737 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeSetVersion(pBt, (eNew==PAGER_JOURNALMODE_WAL ? 2 : 1)); pBt 76779 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt; pBt 76784 ext/sqlite3/libsqlite/sqlite3.c pBt = db->aDb[pOp->p1].pBt; pBt 76785 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeIncrVacuum(pBt); pBt 76837 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeLockTable(db->aDb[p1].pBt, pOp->p2, isWriteLock); pBt 77224 ext/sqlite3/libsqlite/sqlite3.c pOut->u.i = sqlite3BtreeLastPage(db->aDb[pOp->p1].pBt); pBt 77241 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt; pBt 77244 ext/sqlite3/libsqlite/sqlite3.c pBt = db->aDb[pOp->p1].pBt; pBt 77247 ext/sqlite3/libsqlite/sqlite3.c newMax = sqlite3BtreeLastPage(pBt); pBt 77250 ext/sqlite3/libsqlite/sqlite3.c pOut->u.i = sqlite3BtreeMaxPageCount(pBt, newMax); pBt 78861 ext/sqlite3/libsqlite/sqlite3.c assert( pCsr->pKeyInfo && pCsr->pBt==0 ); pBt 78877 ext/sqlite3/libsqlite/sqlite3.c pSorter->pgsz = pgsz = sqlite3BtreeGetPageSize(db->aDb[0].pBt); pBt 89900 ext/sqlite3/libsqlite/sqlite3.c assert( db->aDb[iDb].pBt!=0 ); pBt 90092 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeOpen(pVfs, zPath, db, &aNew->pBt, 0, flags); pBt 90100 ext/sqlite3/libsqlite/sqlite3.c aNew->pSchema = sqlite3SchemaGet(db, aNew->pBt); pBt 90108 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeEnter(aNew->pBt); pBt 90109 ext/sqlite3/libsqlite/sqlite3.c pPager = sqlite3BtreePager(aNew->pBt); pBt 90111 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeSecureDelete(aNew->pBt, pBt 90112 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeSecureDelete(db->aDb[0].pBt,-1) ); pBt 90114 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeSetPagerFlags(aNew->pBt, 3 | (db->flags & PAGER_FLAGS_MASK)); pBt 90116 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeLeave(aNew->pBt); pBt 90149 ext/sqlite3/libsqlite/sqlite3.c if( nKey>0 || sqlite3BtreeGetOptimalReserve(db->aDb[0].pBt)>0 ){ pBt 90179 ext/sqlite3/libsqlite/sqlite3.c if( db->aDb[iDb].pBt ){ pBt 90180 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeClose(db->aDb[iDb].pBt); pBt 90181 ext/sqlite3/libsqlite/sqlite3.c db->aDb[iDb].pBt = 0; pBt 90231 ext/sqlite3/libsqlite/sqlite3.c if( pDb->pBt==0 ) continue; pBt 90248 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3BtreeIsInReadTrans(pDb->pBt) || sqlite3BtreeIsInBackup(pDb->pBt) ){ pBt 90253 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeClose(pDb->pBt); pBt 90254 ext/sqlite3/libsqlite/sqlite3.c pDb->pBt = 0; pBt 91291 ext/sqlite3/libsqlite/sqlite3.c if( pDb->pBt==0 ){ pBt 92159 ext/sqlite3/libsqlite/sqlite3.c && !sqlite3BtreeIsReadonly(db->aDb[db->init.iDb].pBt) pBt 94677 ext/sqlite3/libsqlite/sqlite3.c if( db->aDb[1].pBt==0 && !pParse->explain ){ pBt 94679 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt; pBt 94687 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeOpen(db->pVfs, 0, db, &pBt, 0, flags); pBt 94694 ext/sqlite3/libsqlite/sqlite3.c db->aDb[1].pBt = pBt; pBt 94696 ext/sqlite3/libsqlite/sqlite3.c if( SQLITE_NOMEM==sqlite3BtreeSetPageSize(pBt, db->nextPagesize, -1, 0) ){ pBt 94715 ext/sqlite3/libsqlite/sqlite3.c assert( db->aDb[iDb].pBt!=0 || iDb==1 ); pBt 94736 ext/sqlite3/libsqlite/sqlite3.c if( pDb->pBt && (!zDb || 0==sqlite3StrICmp(zDb, pDb->zName)) ){ pBt 95565 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE Schema *sqlite3SchemaGet(sqlite3 *db, Btree *pBt){ pBt 95567 ext/sqlite3/libsqlite/sqlite3.c if( pBt ){ pBt 95568 ext/sqlite3/libsqlite/sqlite3.c p = (Schema *)sqlite3BtreeSchema(pBt, sizeof(Schema), sqlite3SchemaClear); pBt 103720 ext/sqlite3/libsqlite/sqlite3.c if( db->aDb[1].pBt!=0 ){ pBt 103721 ext/sqlite3/libsqlite/sqlite3.c if( !db->autoCommit || sqlite3BtreeIsInReadTrans(db->aDb[1].pBt) ){ pBt 103726 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeClose(db->aDb[1].pBt); pBt 103727 ext/sqlite3/libsqlite/sqlite3.c db->aDb[1].pBt = 0; pBt 103785 ext/sqlite3/libsqlite/sqlite3.c if( pDb->pBt ){ pBt 103786 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeSetPagerFlags(pDb->pBt, pBt 104020 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeSetCacheSize(pDb->pBt, pDb->pSchema->cache_size); pBt 104037 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = pDb->pBt; pBt 104038 ext/sqlite3/libsqlite/sqlite3.c assert( pBt!=0 ); pBt 104040 ext/sqlite3/libsqlite/sqlite3.c int size = ALWAYS(pBt) ? sqlite3BtreeGetPageSize(pBt) : 0; pBt 104047 ext/sqlite3/libsqlite/sqlite3.c if( SQLITE_NOMEM==sqlite3BtreeSetPageSize(pBt, db->nextPagesize,-1,0) ){ pBt 104063 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = pDb->pBt; pBt 104065 ext/sqlite3/libsqlite/sqlite3.c assert( pBt!=0 ); pBt 104072 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeSecureDelete(db->aDb[ii].pBt, b); pBt 104075 ext/sqlite3/libsqlite/sqlite3.c b = sqlite3BtreeSecureDelete(pBt, b); pBt 104141 ext/sqlite3/libsqlite/sqlite3.c pPager = sqlite3BtreePager(db->aDb[ii].pBt); pBt 104146 ext/sqlite3/libsqlite/sqlite3.c pPager = sqlite3BtreePager(pDb->pBt); pBt 104196 ext/sqlite3/libsqlite/sqlite3.c if( db->aDb[ii].pBt && (ii==iDb || pId2->n==0) ){ pBt 104212 ext/sqlite3/libsqlite/sqlite3.c Pager *pPager = sqlite3BtreePager(pDb->pBt); pBt 104234 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = pDb->pBt; pBt 104235 ext/sqlite3/libsqlite/sqlite3.c assert( pBt!=0 ); pBt 104237 ext/sqlite3/libsqlite/sqlite3.c returnSingleInt(pParse, "auto_vacuum", sqlite3BtreeGetAutoVacuum(pBt)); pBt 104247 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeSetAutoVacuum(pBt, eAuto); pBt 104318 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeSetCacheSize(pDb->pBt, pDb->pSchema->cache_size); pBt 104347 ext/sqlite3/libsqlite/sqlite3.c if( db->aDb[ii].pBt && (ii==iDb || pId2->n==0) ){ pBt 104348 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeSetMmapLimit(db->aDb[ii].pBt, sz); pBt 104489 ext/sqlite3/libsqlite/sqlite3.c Pager *pPager = sqlite3BtreePager(pDb->pBt); pBt 104503 ext/sqlite3/libsqlite/sqlite3.c Pager *pPager = sqlite3BtreePager(pDb->pBt); pBt 104760 ext/sqlite3/libsqlite/sqlite3.c if( db->aDb[i].pBt==0 ) continue; pBt 104765 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeGetFilename(db->aDb[i].pBt), 0); pBt 105501 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt; pBt 105506 ext/sqlite3/libsqlite/sqlite3.c pBt = db->aDb[i].pBt; pBt 105507 ext/sqlite3/libsqlite/sqlite3.c if( pBt==0 || sqlite3BtreePager(pBt)==0 ){ pBt 105750 ext/sqlite3/libsqlite/sqlite3.c assert( iDb==1 || sqlite3BtreeHoldsMutex(db->aDb[iDb].pBt) ); pBt 105785 ext/sqlite3/libsqlite/sqlite3.c if( pDb->pBt==0 ){ pBt 105795 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeEnter(pDb->pBt); pBt 105796 ext/sqlite3/libsqlite/sqlite3.c if( !sqlite3BtreeIsInReadTrans(pDb->pBt) ){ pBt 105797 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeBeginTrans(pDb->pBt, 0); pBt 105823 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeGetMeta(pDb->pBt, i+1, (u32 *)&meta[i]); pBt 105865 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeSetCacheSize(pDb->pBt, pDb->pSchema->cache_size); pBt 105943 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeCommit(pDb->pBt); pBt 105945 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeLeave(pDb->pBt); pBt 105969 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3BtreeHoldsMutex(db->aDb[0].pBt) ); pBt 106038 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[iDb].pBt; /* Btree database to read cookie from */ pBt 106039 ext/sqlite3/libsqlite/sqlite3.c if( pBt==0 ) continue; pBt 106044 ext/sqlite3/libsqlite/sqlite3.c if( !sqlite3BtreeIsInReadTrans(pBt) ){ pBt 106045 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeBeginTrans(pBt, 0); pBt 106056 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeGetMeta(pBt, BTREE_SCHEMA_VERSION, (u32 *)&cookie); pBt 106065 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeCommit(pBt); pBt 106165 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[i].pBt; pBt 106166 ext/sqlite3/libsqlite/sqlite3.c if( pBt ){ pBt 106167 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3BtreeHoldsMutex(pBt) ); pBt 106168 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeSchemaLocked(pBt); pBt 114323 ext/sqlite3/libsqlite/sqlite3.c pMain = db->aDb[0].pBt; pBt 114352 ext/sqlite3/libsqlite/sqlite3.c pTemp = db->aDb[db->nDb-1].pBt; pBt 114534 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeClose(pDb->pBt); pBt 114535 ext/sqlite3/libsqlite/sqlite3.c pDb->pBt = 0; pBt 128715 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[i].pBt; pBt 128716 ext/sqlite3/libsqlite/sqlite3.c if( pBt ){ pBt 128717 ext/sqlite3/libsqlite/sqlite3.c Pager *pPager = sqlite3BtreePager(pBt); pBt 128951 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = db->aDb[j].pBt; pBt 128952 ext/sqlite3/libsqlite/sqlite3.c if( pBt && sqlite3BtreeIsInBackup(pBt) ) return 1; pBt 129059 ext/sqlite3/libsqlite/sqlite3.c if( pDb->pBt ){ pBt 129060 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeClose(pDb->pBt); pBt 129061 ext/sqlite3/libsqlite/sqlite3.c pDb->pBt = 0; pBt 129168 ext/sqlite3/libsqlite/sqlite3.c Btree *p = db->aDb[i].pBt; pBt 130035 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeCheckpoint(db->aDb[i].pBt, eMode, pnLog, pnCkpt); pBt 130791 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeOpen(db->pVfs, zOpen, db, &db->aDb[0].pBt, 0, pBt 130800 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeEnter(db->aDb[0].pBt); pBt 130801 ext/sqlite3/libsqlite/sqlite3.c db->aDb[0].pSchema = sqlite3SchemaGet(db, db->aDb[0].pBt); pBt 130803 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeLeave(db->aDb[0].pBt); pBt 130883 ext/sqlite3/libsqlite/sqlite3.c sqlite3PagerLockingMode(sqlite3BtreePager(db->aDb[0].pBt), pBt 131534 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeSetPageSize(db->aDb[0].pBt, 0, x, 0); pBt 131732 ext/sqlite3/libsqlite/sqlite3.c if( db->aDb[i].pBt pBt 131735 ext/sqlite3/libsqlite/sqlite3.c return db->aDb[i].pBt; pBt 131746 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt; pBt 131753 ext/sqlite3/libsqlite/sqlite3.c pBt = sqlite3DbNameToBtree(db, zDbName); pBt 131754 ext/sqlite3/libsqlite/sqlite3.c return pBt ? sqlite3BtreeGetFilename(pBt) : 0; pBt 131762 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt; pBt 131769 ext/sqlite3/libsqlite/sqlite3.c pBt = sqlite3DbNameToBtree(db, zDbName); pBt 131770 ext/sqlite3/libsqlite/sqlite3.c return pBt ? sqlite3BtreeIsReadonly(pBt) : -1; pBt 155519 ext/sqlite3/libsqlite/sqlite3.c static int statDecodePage(Btree *pBt, StatPage *p){ pBt 155545 ext/sqlite3/libsqlite/sqlite3.c szPage = sqlite3BtreeGetPageSize(pBt); pBt 155551 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeEnter(pBt); pBt 155552 ext/sqlite3/libsqlite/sqlite3.c nUsable = szPage - sqlite3BtreeGetReserveNoMutex(pBt); pBt 155553 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeLeave(pBt); pBt 155594 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3PagerGet(sqlite3BtreePager(pBt), iPrev, &pPg); pBt 155616 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = pTab->db->aDb[pTab->iDb].pBt; pBt 155617 ext/sqlite3/libsqlite/sqlite3.c Pager *pPager = sqlite3BtreePager(pBt); pBt 155622 ext/sqlite3/libsqlite/sqlite3.c pCsr->szPage = sqlite3BtreeGetPageSize(pBt); pBt 155645 ext/sqlite3/libsqlite/sqlite3.c Btree *pBt = pTab->db->aDb[pTab->iDb].pBt; pBt 155646 ext/sqlite3/libsqlite/sqlite3.c Pager *pPager = sqlite3BtreePager(pBt); pBt 155681 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeEnter(pBt); pBt 155682 ext/sqlite3/libsqlite/sqlite3.c nUsable = sqlite3BtreeGetPageSize(pBt) - pBt 155683 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeGetReserveNoMutex(pBt); pBt 155684 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeLeave(pBt); pBt 155739 ext/sqlite3/libsqlite/sqlite3.c rc = statDecodePage(pBt, p);