mirror of
https://github.com/DBD-SQLite/DBD-SQLite
synced 2025-06-07 22:28:47 -04:00
updated SQLite to 3.8.8.2
This commit is contained in:
parent
76d1702937
commit
f537ab8ab9
2 changed files with 99 additions and 95 deletions
20
sqlite3.c
20
sqlite3.c
|
@ -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
|
||||||
|
@ -50197,7 +50197,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 */
|
||||||
|
@ -50211,7 +50211,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);
|
||||||
|
@ -50271,11 +50271,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);
|
||||||
|
@ -50310,6 +50312,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
|
||||||
|
@ -50323,7 +50326,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 ){
|
||||||
|
@ -128369,6 +128372,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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue