update bundled sqlite to 3.8.8.2

The "Fixed CE build of sqlite3" patch is preserved in this change,

Change-Id: I2ffcf1666b1d6838ae1ddba76b836f962e118f8d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
This commit is contained in:
Mark Brand 2015-01-30 22:07:58 +01:00
parent d50eb5e8ac
commit 611bcc3cd3
2 changed files with 99 additions and 95 deletions

View File

@ -1,6 +1,6 @@
/****************************************************************************** /******************************************************************************
** This file is an amalgamation of many separate C source files from SQLite ** This file is an amalgamation of many separate C source files from SQLite
** version 3.8.8.1. By combining all the individual C code files into this ** version 3.8.8.2. By combining all the individual C code files into this
** single large file, the entire code can be compiled as a single translation ** single large file, the entire code can be compiled as a single translation
** unit. This allows many compilers to do optimizations that would not be ** unit. This allows many compilers to do optimizations that would not be
** possible if the files were compiled separately. Performance improvements ** possible if the files were compiled separately. Performance improvements
@ -278,9 +278,9 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()]. ** [sqlite_version()] and [sqlite_source_id()].
*/ */
#define SQLITE_VERSION "3.8.8.1" #define SQLITE_VERSION "3.8.8.2"
#define SQLITE_VERSION_NUMBER 3008008 #define SQLITE_VERSION_NUMBER 3008008
#define SQLITE_SOURCE_ID "2015-01-20 16:51:25 f73337e3e289915a76ca96e7a05a1a8d4e890d55" #define SQLITE_SOURCE_ID "2015-01-30 14:30:45 7757fc721220e136620a89c9d28247f28bbbc098"
/* /*
** CAPI3REF: Run-Time Library Version Numbers ** CAPI3REF: Run-Time Library Version Numbers
@ -50202,7 +50202,7 @@ static int walCheckpoint(
int sync_flags, /* Flags for OsSync() (or 0) */ int sync_flags, /* Flags for OsSync() (or 0) */
u8 *zBuf /* Temporary buffer to use */ u8 *zBuf /* Temporary buffer to use */
){ ){
int rc; /* Return code */ int rc = SQLITE_OK; /* Return code */
int szPage; /* Database page-size */ int szPage; /* Database page-size */
WalIterator *pIter = 0; /* Wal iterator context */ WalIterator *pIter = 0; /* Wal iterator context */
u32 iDbpage = 0; /* Next database page to write */ u32 iDbpage = 0; /* Next database page to write */
@ -50216,7 +50216,7 @@ static int walCheckpoint(
testcase( szPage<=32768 ); testcase( szPage<=32768 );
testcase( szPage>=65536 ); testcase( szPage>=65536 );
pInfo = walCkptInfo(pWal); pInfo = walCkptInfo(pWal);
if( pInfo->nBackfill>=pWal->hdr.mxFrame ) return SQLITE_OK; if( pInfo->nBackfill<pWal->hdr.mxFrame ){
/* Allocate the iterator */ /* Allocate the iterator */
rc = walIteratorInit(pWal, &pIter); rc = walIteratorInit(pWal, &pIter);
@ -50276,11 +50276,13 @@ static int walCheckpoint(
} }
/* Iterate through the contents of the WAL, copying data to the db file. */ /* Iterate through the contents of the WAL, copying data to the db file */
while( rc==SQLITE_OK && 0==walIteratorNext(pIter, &iDbpage, &iFrame) ){ while( rc==SQLITE_OK && 0==walIteratorNext(pIter, &iDbpage, &iFrame) ){
i64 iOffset; i64 iOffset;
assert( walFramePgno(pWal, iFrame)==iDbpage ); assert( walFramePgno(pWal, iFrame)==iDbpage );
if( iFrame<=nBackfill || iFrame>mxSafeFrame || iDbpage>mxPage ) continue; if( iFrame<=nBackfill || iFrame>mxSafeFrame || iDbpage>mxPage ){
continue;
}
iOffset = walFrameOffset(iFrame, szPage) + WAL_FRAME_HDRSIZE; iOffset = walFrameOffset(iFrame, szPage) + WAL_FRAME_HDRSIZE;
/* testcase( IS_BIG_INT(iOffset) ); // requires a 4GiB WAL file */ /* testcase( IS_BIG_INT(iOffset) ); // requires a 4GiB WAL file */
rc = sqlite3OsRead(pWal->pWalFd, zBuf, szPage, iOffset); rc = sqlite3OsRead(pWal->pWalFd, zBuf, szPage, iOffset);
@ -50315,6 +50317,7 @@ static int walCheckpoint(
** just because there are active readers. */ ** just because there are active readers. */
rc = SQLITE_OK; rc = SQLITE_OK;
} }
}
/* If this is an SQLITE_CHECKPOINT_RESTART or TRUNCATE operation, and the /* If this is an SQLITE_CHECKPOINT_RESTART or TRUNCATE operation, and the
** entire wal file has been copied into the database file, then block ** entire wal file has been copied into the database file, then block
@ -50328,7 +50331,7 @@ static int walCheckpoint(
}else if( eMode>=SQLITE_CHECKPOINT_RESTART ){ }else if( eMode>=SQLITE_CHECKPOINT_RESTART ){
u32 salt1; u32 salt1;
sqlite3_randomness(4, &salt1); sqlite3_randomness(4, &salt1);
assert( mxSafeFrame==pWal->hdr.mxFrame ); assert( pInfo->nBackfill==pWal->hdr.mxFrame );
rc = walBusyLock(pWal, xBusy, pBusyArg, WAL_READ_LOCK(1), WAL_NREADER-1); rc = walBusyLock(pWal, xBusy, pBusyArg, WAL_READ_LOCK(1), WAL_NREADER-1);
if( rc==SQLITE_OK ){ if( rc==SQLITE_OK ){
if( eMode==SQLITE_CHECKPOINT_TRUNCATE ){ if( eMode==SQLITE_CHECKPOINT_TRUNCATE ){
@ -128374,6 +128377,7 @@ SQLITE_API int sqlite3_wal_checkpoint_v2(
rc = SQLITE_ERROR; rc = SQLITE_ERROR;
sqlite3ErrorWithMsg(db, SQLITE_ERROR, "unknown database: %s", zDb); sqlite3ErrorWithMsg(db, SQLITE_ERROR, "unknown database: %s", zDb);
}else{ }else{
db->busyHandler.nBusy = 0;
rc = sqlite3Checkpoint(db, iDb, eMode, pnLog, pnCkpt); rc = sqlite3Checkpoint(db, iDb, eMode, pnLog, pnCkpt);
sqlite3Error(db, rc); sqlite3Error(db, rc);
} }

View File

@ -107,9 +107,9 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()]. ** [sqlite_version()] and [sqlite_source_id()].
*/ */
#define SQLITE_VERSION "3.8.8.1" #define SQLITE_VERSION "3.8.8.2"
#define SQLITE_VERSION_NUMBER 3008008 #define SQLITE_VERSION_NUMBER 3008008
#define SQLITE_SOURCE_ID "2015-01-20 16:51:25 f73337e3e289915a76ca96e7a05a1a8d4e890d55" #define SQLITE_SOURCE_ID "2015-01-30 14:30:45 7757fc721220e136620a89c9d28247f28bbbc098"
/* /*
** CAPI3REF: Run-Time Library Version Numbers ** CAPI3REF: Run-Time Library Version Numbers