Lines Matching refs:pMain
293 jt_file *pMain = 0; in locateDatabaseHandle() local
295 for(pMain=g.pList; pMain; pMain=pMain->pNext){ in locateDatabaseHandle()
297 if( (pMain->flags&SQLITE_OPEN_MAIN_DB) in locateDatabaseHandle()
298 && ((int)strlen(pMain->zName)==nName) in locateDatabaseHandle()
299 && 0==memcmp(pMain->zName, zJournal, nName) in locateDatabaseHandle()
300 && ((pMain->eLock>=SQLITE_LOCK_RESERVED) || noLock) in locateDatabaseHandle()
306 return pMain; in locateDatabaseHandle()
360 static int openTransaction(jt_file *pMain, jt_file *pJournal){ in openTransaction() argument
362 sqlite3_file *p = pMain->pReal; in openTransaction()
365 closeTransaction(pMain); in openTransaction()
366 aData = sqlite3_malloc(pMain->nPagesize); in openTransaction()
367 pMain->pWritable = sqlite3BitvecCreate(pMain->nPage); in openTransaction()
368 pMain->aCksum = sqlite3_malloc(sizeof(u32) * (pMain->nPage + 1)); in openTransaction()
371 if( !pMain->pWritable || !pMain->aCksum || !aData ){ in openTransaction()
373 }else if( pMain->nPage>0 ){ in openTransaction()
383 rc = sqlite3OsRead(p, aData, pMain->nPagesize, 0); in openTransaction()
388 for(iPg=nDbsize+1; iPg<=pMain->nPage; iPg++){ in openTransaction()
389 sqlite3BitvecSet(pMain->pWritable, iPg); in openTransaction()
397 sqlite3_int64 iOff = (i64)(iTrunk-1)*pMain->nPagesize; in openTransaction()
398 rc = sqlite3OsRead(p, aData, pMain->nPagesize, iOff); in openTransaction()
402 sqlite3BitvecSet(pMain->pWritable, pgno); in openTransaction()
410 for(ii=0; rc==SQLITE_OK && ii<(int)pMain->nPage; ii++){ in openTransaction()
411 i64 iOff = (i64)(pMain->nPagesize) * (i64)ii; in openTransaction()
413 rc = sqlite3OsRead(pMain->pReal, aData, pMain->nPagesize, iOff); in openTransaction()
414 pMain->aCksum[ii] = genCksum(aData, pMain->nPagesize); in openTransaction()
415 if( ii+1==(int)pMain->nPage && rc==SQLITE_IOERR_SHORT_READ ){ in openTransaction()
433 static int readJournalFile(jt_file *p, jt_file *pMain){ in readJournalFile() argument
443 aPage = sqlite3_malloc(pMain->nPagesize); in readJournalFile()
474 nRec = (u32)((iSize-iOff) / (pMain->nPagesize+8)); in readJournalFile()
483 if( pgno>0 && pgno<=pMain->nPage ){ in readJournalFile()
484 if( 0==sqlite3BitvecTest(pMain->pWritable, pgno) ){ in readJournalFile()
485 rc = sqlite3OsRead(pReal, aPage, pMain->nPagesize, iOff+4); in readJournalFile()
487 u32 cksum = genCksum(aPage, pMain->nPagesize); in readJournalFile()
488 assert( cksum==pMain->aCksum[pgno-1] ); in readJournalFile()
491 sqlite3BitvecSet(pMain->pWritable, pgno); in readJournalFile()
493 iOff += (8 + pMain->nPagesize); in readJournalFile()
522 jt_file *pMain = locateDatabaseHandle(p->zName, 0); in jtWrite() local
523 assert( pMain ); in jtWrite()
528 closeTransaction(pMain); in jtWrite()
533 pMain->nPage = decodeUint32(&z[16]); in jtWrite()
534 pMain->nPagesize = decodeUint32(&z[24]); in jtWrite()
535 if( SQLITE_OK!=(rc=openTransaction(pMain, p)) ){ in jtWrite()
570 jt_file *pMain = locateDatabaseHandle(p->zName, 0); in jtWrite() local
571 int rc2 = readJournalFile(p, pMain); in jtWrite()
584 jt_file *pMain = locateDatabaseHandle(p->zName, 0); in jtTruncate() local
585 closeTransaction(pMain); in jtTruncate()
605 jt_file *pMain; /* The associated database file */ in jtSync() local
612 pMain = locateDatabaseHandle(p->zName, 0); in jtSync()
615 if( pMain && pMain->pWritable ){ in jtSync()
616 pMain->nSync++; in jtSync()
617 rc = readJournalFile(p, pMain); in jtSync()
737 jt_file *pMain = locateDatabaseHandle(zPath, 0); in jtDelete() local
738 if( pMain ){ in jtDelete()
739 closeTransaction(pMain); in jtDelete()