Lines Matching refs:pFile

443   KVVfsFile *pFile,      /* Store decoding in pFile->aJrnl */  in kvvfsDecodeJournal()  argument
455 sqlite3_free(pFile->aJrnl); in kvvfsDecodeJournal()
456 pFile->aJrnl = sqlite3_malloc64( n ); in kvvfsDecodeJournal()
457 if( pFile->aJrnl==0 ){ in kvvfsDecodeJournal()
458 pFile->nJrnl = 0; in kvvfsDecodeJournal()
461 pFile->nJrnl = n; in kvvfsDecodeJournal()
462 n = kvvfsDecode(zTxt+i, pFile->aJrnl, pFile->nJrnl); in kvvfsDecodeJournal()
463 if( n<pFile->nJrnl ){ in kvvfsDecodeJournal()
464 sqlite3_free(pFile->aJrnl); in kvvfsDecodeJournal()
465 pFile->aJrnl = 0; in kvvfsDecodeJournal()
466 pFile->nJrnl = 0; in kvvfsDecodeJournal()
473 static sqlite3_int64 kvvfsReadFileSize(KVVfsFile *pFile){ in kvvfsReadFileSize() argument
476 sqlite3KvvfsMethods.xRead(pFile->zClass, "sz", zData, sizeof(zData)-1); in kvvfsReadFileSize()
479 static int kvvfsWriteFileSize(KVVfsFile *pFile, sqlite3_int64 sz){ in kvvfsWriteFileSize() argument
482 return sqlite3KvvfsMethods.xWrite(pFile->zClass, "sz", zData); in kvvfsWriteFileSize()
491 KVVfsFile *pFile = (KVVfsFile *)pProtoFile; in kvvfsClose() local
493 SQLITE_KV_LOG(("xClose %s %s\n", pFile->zClass, in kvvfsClose()
494 pFile->isJournal ? "journal" : "db")); in kvvfsClose()
495 sqlite3_free(pFile->aJrnl); in kvvfsClose()
508 KVVfsFile *pFile = (KVVfsFile*)pProtoFile; in kvvfsReadJrnl() local
509 assert( pFile->isJournal ); in kvvfsReadJrnl()
510 SQLITE_KV_LOG(("xRead('%s-journal',%d,%lld)\n", pFile->zClass, iAmt, iOfst)); in kvvfsReadJrnl()
511 if( pFile->aJrnl==0 ){ in kvvfsReadJrnl()
512 int szTxt = kvstorageRead(pFile->zClass, "jrnl", 0, 0); in kvvfsReadJrnl()
519 kvstorageRead(pFile->zClass, "jrnl", aTxt, szTxt+1); in kvvfsReadJrnl()
520 kvvfsDecodeJournal(pFile, aTxt, szTxt); in kvvfsReadJrnl()
522 if( pFile->aJrnl==0 ) return SQLITE_IOERR; in kvvfsReadJrnl()
524 if( iOfst+iAmt>pFile->nJrnl ){ in kvvfsReadJrnl()
527 memcpy(zBuf, pFile->aJrnl+iOfst, iAmt); in kvvfsReadJrnl()
540 KVVfsFile *pFile = (KVVfsFile*)pProtoFile; in kvvfsReadDb() local
547 SQLITE_KV_LOG(("xRead('%s-db',%d,%lld)\n", pFile->zClass, iAmt, iOfst)); in kvvfsReadDb()
555 pFile->szPage = iAmt; in kvvfsReadDb()
561 got = sqlite3KvvfsMethods.xRead(pFile->zClass, zKey, aData, sizeof(aData)-1); in kvvfsReadDb()
597 KVVfsFile *pFile = (KVVfsFile*)pProtoFile; in kvvfsWriteJrnl() local
599 SQLITE_KV_LOG(("xWrite('%s-journal',%d,%lld)\n", pFile->zClass, iAmt, iOfst)); in kvvfsWriteJrnl()
601 if( pFile->aJrnl==0 || pFile->nJrnl<iEnd ){ in kvvfsWriteJrnl()
602 char *aNew = sqlite3_realloc(pFile->aJrnl, iEnd); in kvvfsWriteJrnl()
606 pFile->aJrnl = aNew; in kvvfsWriteJrnl()
607 if( pFile->nJrnl<iOfst ){ in kvvfsWriteJrnl()
608 memset(pFile->aJrnl+pFile->nJrnl, 0, iOfst-pFile->nJrnl); in kvvfsWriteJrnl()
610 pFile->nJrnl = iEnd; in kvvfsWriteJrnl()
612 memcpy(pFile->aJrnl+iOfst, zBuf, iAmt); in kvvfsWriteJrnl()
625 KVVfsFile *pFile = (KVVfsFile*)pProtoFile; in kvvfsWriteDb() local
629 SQLITE_KV_LOG(("xWrite('%s-db',%d,%lld)\n", pFile->zClass, iAmt, iOfst)); in kvvfsWriteDb()
632 assert( pFile->szPage<0 || pFile->szPage==iAmt ); in kvvfsWriteDb()
633 pFile->szPage = iAmt; in kvvfsWriteDb()
637 if( sqlite3KvvfsMethods.xWrite(pFile->zClass, zKey, aData) ){ in kvvfsWriteDb()
640 if( iOfst+iAmt > pFile->szDb ){ in kvvfsWriteDb()
641 pFile->szDb = iOfst + iAmt; in kvvfsWriteDb()
650 KVVfsFile *pFile = (KVVfsFile *)pProtoFile; in kvvfsTruncateJrnl() local
651 SQLITE_KV_LOG(("xTruncate('%s-journal',%lld)\n", pFile->zClass, size)); in kvvfsTruncateJrnl()
653 sqlite3KvvfsMethods.xDelete(pFile->zClass, "jrnl"); in kvvfsTruncateJrnl()
654 sqlite3_free(pFile->aJrnl); in kvvfsTruncateJrnl()
655 pFile->aJrnl = 0; in kvvfsTruncateJrnl()
656 pFile->nJrnl = 0; in kvvfsTruncateJrnl()
660 KVVfsFile *pFile = (KVVfsFile *)pProtoFile; in kvvfsTruncateDb() local
661 if( pFile->szDb>size in kvvfsTruncateDb()
662 && pFile->szPage>0 in kvvfsTruncateDb()
663 && (size % pFile->szPage)==0 in kvvfsTruncateDb()
667 SQLITE_KV_LOG(("xTruncate('%s-db',%lld)\n", pFile->zClass, size)); in kvvfsTruncateDb()
668 pgno = 1 + size/pFile->szPage; in kvvfsTruncateDb()
669 pgnoMax = 2 + pFile->szDb/pFile->szPage; in kvvfsTruncateDb()
672 sqlite3KvvfsMethods.xDelete(pFile->zClass, zKey); in kvvfsTruncateDb()
675 pFile->szDb = size; in kvvfsTruncateDb()
676 return kvvfsWriteFileSize(pFile, size) ? SQLITE_IOERR : SQLITE_OK; in kvvfsTruncateDb()
686 KVVfsFile *pFile = (KVVfsFile *)pProtoFile; in kvvfsSyncJrnl() local
688 SQLITE_KV_LOG(("xSync('%s-journal')\n", pFile->zClass)); in kvvfsSyncJrnl()
689 if( pFile->nJrnl<=0 ){ in kvvfsSyncJrnl()
692 zOut = sqlite3_malloc64( pFile->nJrnl*2 + 50 ); in kvvfsSyncJrnl()
696 n = pFile->nJrnl; in kvvfsSyncJrnl()
703 kvvfsEncode(pFile->aJrnl, pFile->nJrnl, &zOut[i]); in kvvfsSyncJrnl()
704 i = sqlite3KvvfsMethods.xWrite(pFile->zClass, "jrnl", zOut); in kvvfsSyncJrnl()
716 KVVfsFile *pFile = (KVVfsFile *)pProtoFile; in kvvfsFileSizeJrnl() local
717 SQLITE_KV_LOG(("xFileSize('%s-journal')\n", pFile->zClass)); in kvvfsFileSizeJrnl()
718 *pSize = pFile->nJrnl; in kvvfsFileSizeJrnl()
722 KVVfsFile *pFile = (KVVfsFile *)pProtoFile; in kvvfsFileSizeDb() local
723 SQLITE_KV_LOG(("xFileSize('%s-db')\n", pFile->zClass)); in kvvfsFileSizeDb()
724 if( pFile->szDb>=0 ){ in kvvfsFileSizeDb()
725 *pSize = pFile->szDb; in kvvfsFileSizeDb()
727 *pSize = kvvfsReadFileSize(pFile); in kvvfsFileSizeDb()
736 KVVfsFile *pFile = (KVVfsFile *)pProtoFile; in kvvfsLock() local
737 assert( !pFile->isJournal ); in kvvfsLock()
738 SQLITE_KV_LOG(("xLock(%s,%d)\n", pFile->zClass, eLock)); in kvvfsLock()
741 pFile->szDb = kvvfsReadFileSize(pFile); in kvvfsLock()
750 KVVfsFile *pFile = (KVVfsFile *)pProtoFile; in kvvfsUnlock() local
751 assert( !pFile->isJournal ); in kvvfsUnlock()
752 SQLITE_KV_LOG(("xUnlock(%s,%d)\n", pFile->zClass, eLock)); in kvvfsUnlock()
754 pFile->szDb = -1; in kvvfsUnlock()
778 KVVfsFile *pFile = (KVVfsFile *)pProtoFile; in kvvfsFileControlDb() local
780 SQLITE_KV_LOG(("xSync('%s-db')\n", pFile->zClass)); in kvvfsFileControlDb()
781 if( pFile->szDb>0 && 0!=kvvfsWriteFileSize(pFile, pFile->szDb) ){ in kvvfsFileControlDb()
792 static int kvvfsSectorSize(sqlite3_file *pFile){ in kvvfsSectorSize() argument
815 KVVfsFile *pFile = (KVVfsFile*)pProtoFile; in kvvfsOpen() local
821 pFile->isJournal = 0; in kvvfsOpen()
822 pFile->base.pMethods = &kvvfs_db_io_methods; in kvvfsOpen()
827 pFile->isJournal = 1; in kvvfsOpen()
828 pFile->base.pMethods = &kvvfs_jrnl_io_methods; in kvvfsOpen()
833 pFile->zClass = "session"; in kvvfsOpen()
835 pFile->zClass = "local"; in kvvfsOpen()
837 pFile->aJrnl = 0; in kvvfsOpen()
838 pFile->nJrnl = 0; in kvvfsOpen()
839 pFile->szPage = -1; in kvvfsOpen()
840 pFile->szDb = -1; in kvvfsOpen()