iliaa Sun Jan 18 18:02:04 2009 UTC Modified files: (Branch: PHP_5_3) /php-src NEWS /php-src/ext/sqlite3/libsqlite sqlite3.c sqlite3.h sqlite3ext.h Log: Upgraded bundled sqlite3 to 3.6.10
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.462&r2=1.2027.2.547.2.965.2.463&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.462 php-src/NEWS:1.2027.2.547.2.965.2.463 --- php-src/NEWS:1.2027.2.547.2.965.2.462 Sat Jan 17 02:09:53 2009 +++ php-src/NEWS Sun Jan 18 18:01:37 2009 @@ -1,7 +1,7 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2009, PHP 5.3.0 Alpha 4 -- Upgraded bundled sqlite to version 3.6.8. (Scott, Ilia) +- Upgraded bundled sqlite to version 3.6.10. (Scott, Ilia) - Deprecated session_register(), session_unregister() and session_is_registered(). (Hannes) http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite3/libsqlite/sqlite3.c?r1=1.1.2.15&r2=1.1.2.16&diff_format=u Index: php-src/ext/sqlite3/libsqlite/sqlite3.c diff -u php-src/ext/sqlite3/libsqlite/sqlite3.c:1.1.2.15 php-src/ext/sqlite3/libsqlite/sqlite3.c:1.1.2.16 --- php-src/ext/sqlite3/libsqlite/sqlite3.c:1.1.2.15 Mon Jan 12 18:55:20 2009 +++ php-src/ext/sqlite3/libsqlite/sqlite3.c Sun Jan 18 18:01:38 2009 @@ -4,7 +4,7 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.6.8. By combining all the individual C code files into this +** version 3.6.10. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a one translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -21,7 +21,7 @@ ** is also in a separate file. This file contains only code for the core ** SQLite library. ** -** This amalgamation was generated on 2009-01-12 15:45:58 UTC. +** This amalgamation was generated on 2009-01-15 16:03:22 UTC. */ #define SQLITE_CORE 1 #define SQLITE_AMALGAMATION 1 @@ -45,7 +45,7 @@ ************************************************************************* ** Internal interface definitions for SQLite. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _SQLITEINT_H_ #define _SQLITEINT_H_ @@ -74,7 +74,7 @@ ** ** This file defines various limits of what SQLite can process. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -424,16 +424,22 @@ ** where multiple cases go to the same block of code, testcase() ** can insure that all cases are evaluated. ** -** The TESTONLY macro is used to enclose variable declarations or -** other bits of code that are needed to support the arguments -** within testcase() macros. */ #ifdef SQLITE_COVERAGE_TEST SQLITE_PRIVATE void sqlite3Coverage(int); # define testcase(X) if( X ){ sqlite3Coverage(__LINE__); } -# define TESTONLY(X) X #else # define testcase(X) +#endif + +/* +** The TESTONLY macro is used to enclose variable declarations or +** other bits of code that are needed to support the arguments +** within testcase() and assert() macros. +*/ +#if !defined(NDEBUG) || defined(SQLITE_COVERAGE_TEST) +# define TESTONLY(X) X +#else # define TESTONLY(X) #endif @@ -526,7 +532,7 @@ ** the version number) and changes its name to "sqlite3.h" as ** part of the build process. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _SQLITE3_H_ #define _SQLITE3_H_ @@ -603,8 +609,8 @@ ** with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z ** are the major version, minor version, and release number. */ -#define SQLITE_VERSION "3.6.8" -#define SQLITE_VERSION_NUMBER 3006008 +#define SQLITE_VERSION "3.6.10" +#define SQLITE_VERSION_NUMBER 3006010 /* ** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100> @@ -7249,7 +7255,7 @@ ** This is the header file for the generic hash-table implemenation ** used in SQLite. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _SQLITE_HASH_H_ #define _SQLITE_HASH_H_ @@ -7805,7 +7811,7 @@ ** subsystem. See comments in the source code for a detailed description ** of what each interface routine does. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _BTREE_H_ #define _BTREE_H_ @@ -8037,7 +8043,7 @@ ** or VDBE. The VDBE implements an abstract machine that runs a ** simple program to access and modify the underlying database. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _SQLITE_VDBE_H_ #define _SQLITE_VDBE_H_ @@ -8430,7 +8436,7 @@ ** subsystem. The page cache subsystem reads and writes a file a page ** at a time and provides a journal for rollback. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _PAGER_H_ @@ -8580,7 +8586,7 @@ ** This header file defines the interface that the sqlite page cache ** subsystem. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _PCACHE_H_ @@ -8748,7 +8754,7 @@ ** This header file is #include-ed by sqliteInt.h and thus ends up ** being included by every source file. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _SQLITE_OS_H_ #define _SQLITE_OS_H_ @@ -8976,6 +8982,7 @@ SQLITE_PRIVATE int sqlite3OsUnlock(sqlite3_file*, int); SQLITE_PRIVATE int sqlite3OsCheckReservedLock(sqlite3_file *id, int *pResOut); SQLITE_PRIVATE int sqlite3OsFileControl(sqlite3_file*,int,void*); +#define SQLITE_FCNTL_DB_UNCHANGED 0xca093fa0 SQLITE_PRIVATE int sqlite3OsSectorSize(sqlite3_file *id); SQLITE_PRIVATE int sqlite3OsDeviceCharacteristics(sqlite3_file *id); @@ -9030,7 +9037,7 @@ ** Source files should #include the sqliteInt.h file and let that file ** include this one indirectly. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -11195,7 +11202,7 @@ ** ** This file contains definitions of global variables and contants. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -11302,7 +11309,7 @@ ** This module implements the sqlite3_status() interface and related ** functionality. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -11429,7 +11436,7 @@ ** sqlite3RegisterDateTimeFunctions() found at the bottom of the file. ** All other code has file scope. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ ** ** SQLite processes all times and dates as Julian Day numbers. The ** dates and times are stored as the number of days since noon @@ -12514,7 +12521,7 @@ ** This file contains OS interface code that is common to all ** architectures. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #define _SQLITE_OS_C_ 1 #undef _SQLITE_OS_C_ @@ -12791,7 +12798,7 @@ ** ************************************************************************* ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -12890,7 +12897,7 @@ ** are merely placeholders. Real drivers must be substituted using ** sqlite3_config() before SQLite will operate. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -12954,7 +12961,7 @@ ** This file contains implementations of the low-level memory allocation ** routines specified in the sqlite3_mem_methods object. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -13103,7 +13110,7 @@ ** This file contains implementations of the low-level memory allocation ** routines specified in the sqlite3_mem_methods object. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -13548,7 +13555,7 @@ ** This version of the memory allocation subsystem is included ** in the build only if SQLITE_ENABLE_MEMSYS3 is defined. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -14238,7 +14245,7 @@ ** This version of the memory allocation subsystem is included ** in the build only if SQLITE_ENABLE_MEMSYS5 is defined. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -14719,7 +14726,7 @@ ** This file contains code that is common across all mutex implementations. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef SQLITE_MUTEX_OMIT @@ -14879,7 +14886,7 @@ ** that does error checking on mutexes to make sure they are being ** called correctly. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -15053,7 +15060,7 @@ ************************************************************************* ** This file contains the C functions that implement mutexes for OS/2 ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -15328,7 +15335,7 @@ ************************************************************************* ** This file contains the C functions that implement mutexes for pthreads ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -15658,7 +15665,7 @@ ************************************************************************* ** This file contains the C functions that implement mutexes for win32 ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -15915,7 +15922,7 @@ ** ** Memory allocation functions used throughout sqlite. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -16700,7 +16707,7 @@ ** an historical reference. Most of the "enhancements" have been backed ** out so that the functionality is now the same as standard printf(). ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ ** ************************************************************************** ** @@ -17648,7 +17655,7 @@ ** Random numbers are used by some of the database backends in order ** to generate random integer keys for tables or random filenames. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -17794,7 +17801,7 @@ ** This file contains routines used to translate between UTF-8, ** UTF-16, UTF-16BE, and UTF-16LE. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ ** ** Notes on UTF-8: ** @@ -17836,7 +17843,7 @@ ** 6000 lines long) it was split up into several smaller files and ** this header information was factored out. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _VDBEINT_H_ #define _VDBEINT_H_ @@ -18738,7 +18745,7 @@ ** This file contains functions for allocating memory, comparing ** strings, and stuff like that. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -19729,7 +19736,7 @@ ** This is the implementation of generic hash-tables ** used in SQLite. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* Turn bulk memory into a hash table object by initializing the @@ -20190,7 +20197,7 @@ ** ** This file contains code that is specific to OS/2. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -20253,7 +20260,7 @@ ** This file should be #included by the os_*.c files only. It is not a ** general purpose header file. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _OS_COMMON_H_ #define _OS_COMMON_H_ @@ -20324,7 +20331,7 @@ ** This file contains inline asm code for retrieving "high-performance" ** counters for x86 class CPUs. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _HWTIME_H_ #define _HWTIME_H_ @@ -21582,7 +21589,7 @@ ** * Definitions of sqlite3_vfs objects for all locking methods ** plus implementations of sqlite3_os_init() and sqlite3_os_end(). ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #if SQLITE_OS_UNIX /* This file is used on unix only */ @@ -21727,6 +21734,18 @@ int isDelete; /* Delete on close if true */ struct vxworksFileId *pId; /* Unique file ID */ #endif +#ifndef NDEBUG + /* The next group of variables are used to track whether or not the + ** transaction counter in bytes 24-27 of database files are updated + ** whenever any part of the database changes. An assertion fault will + ** occur if a file is updated without also updating the transaction + ** counter. This test is made to avoid new problems similar to the + ** one described by ticket #3584. + */ + unsigned char transCntrChng; /* True if the transaction counter changed */ + unsigned char dbUpdate; /* True if any part of database file changed */ + unsigned char inNormalWrite; /* True if in a normal write operation */ +#endif #ifdef SQLITE_TEST /* In test mode, increase the size of this structure a bit so that ** it is larger than the struct CrashFile defined in test6.c. @@ -21759,7 +21778,7 @@ ** This file should be #included by the os_*.c files only. It is not a ** general purpose header file. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _OS_COMMON_H_ #define _OS_COMMON_H_ @@ -21830,7 +21849,7 @@ ** This file contains inline asm code for retrieving "high-performance" ** counters for x86 class CPUs. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _HWTIME_H_ #define _HWTIME_H_ @@ -23086,6 +23105,24 @@ } } + +#ifndef NDEBUG + /* Set up the transaction-counter change checking flags when + ** transitioning from a SHARED to a RESERVED lock. The change + ** from SHARED to RESERVED marks the beginning of a normal + ** write operation (not a hot journal rollback). + */ + if( rc==SQLITE_OK + && pFile->locktype<=SHARED_LOCK + && locktype==RESERVED_LOCK + ){ + pFile->transCntrChng = 0; + pFile->dbUpdate = 0; + pFile->inNormalWrite = 1; + } +#endif + + if( rc==SQLITE_OK ){ pFile->locktype = locktype; pLock->locktype = locktype; @@ -23135,6 +23172,23 @@ SimulateIOErrorBenign(1); SimulateIOError( h=(-1) ) SimulateIOErrorBenign(0); + +#ifndef NDEBUG + /* When reducing a lock such that other processes can start + ** reading the database file again, make sure that the + ** transaction counter was updated if any part of the database + ** file changed. If the transaction counter is not updated, + ** other connections to the same file might not realize that + ** the file has changed and hence might not know to flush their + ** cache. The use of a stale cache can lead to database corruption. + */ + assert( pFile->inNormalWrite==0 + || pFile->dbUpdate==0 + || pFile->transCntrChng==1 ); + pFile->inNormalWrite = 0; +#endif + + if( locktype==SHARED_LOCK ){ lock.l_type = F_RDLCK; lock.l_whence = SEEK_SET; @@ -24467,6 +24521,29 @@ int wrote = 0; assert( id ); assert( amt>0 ); + +#ifndef NDEBUG + /* If we are doing a normal write to a database file (as opposed to + ** doing a hot-journal rollback or a write to some file other than a + ** normal database file) then record the fact that the database + ** has changed. If the transaction counter is modified, record that + ** fact too. + */ + if( ((unixFile*)id)->inNormalWrite ){ + unixFile *pFile = (unixFile*)id; + pFile->dbUpdate = 1; /* The database has been modified */ + if( offset<=24 && offset+amt>=27 ){ + char oldCntr[4]; + SimulateIOErrorBenign(1); + seekAndRead(pFile, 24, oldCntr, 4); + SimulateIOErrorBenign(0); + if( memcmp(oldCntr, &((char*)pBuf)[24-offset], 4)!=0 ){ + pFile->transCntrChng = 1; /* The transaction counter has changed */ + } + } + } +#endif + while( amt>0 && (wrote = seekAndWrite((unixFile*)id, offset, pBuf, amt))>0 ){ amt -= wrote; offset += wrote; @@ -24576,9 +24653,11 @@ #else if( dataOnly ){ rc = fdatasync(fd); - if( OS_VXWORKS && rc==-1 && errno==ENOTSUP ){ +#if OS_VXWORKS + if( rc==-1 && errno==ENOTSUP ){ rc = fsync(fd); } +#endif }else{ rc = fsync(fd); } @@ -24726,6 +24805,17 @@ *(int*)pArg = ((unixFile*)id)->lastErrno; return SQLITE_OK; } +#ifndef NDEBUG + /* The pager calls this method to signal that it has done + ** a rollback and that the database is therefore unchanged and + ** it hence it is OK for the transaction change counter to be + ** unchanged. + */ + case SQLITE_FCNTL_DB_UNCHANGED: { + ((unixFile*)id)->dbUpdate = 0; + return SQLITE_OK; + } +#endif #if SQLITE_ENABLE_LOCKING_STYLE && defined(__APPLE__) case SQLITE_SET_LOCKPROXYFILE: case SQLITE_GET_LOCKPROXYFILE: { @@ -26755,7 +26845,7 @@ ** ** This file contains code that is specific to windows. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #if SQLITE_OS_WIN /* This file is used for windows only */ @@ -26823,7 +26913,7 @@ ** This file should be #included by the os_*.c files only. It is not a ** general purpose header file. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _OS_COMMON_H_ #define _OS_COMMON_H_ @@ -26894,7 +26984,7 @@ ** This file contains inline asm code for retrieving "high-performance" ** counters for x86 class CPUs. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _HWTIME_H_ #define _HWTIME_H_ @@ -28734,7 +28824,7 @@ ** start of a transaction, and is thus usually less than a few thousand, ** but can be as large as 2 billion for a really big database. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* Size of the Bitvec structure in bytes. */ @@ -29099,7 +29189,7 @@ ************************************************************************* ** This file implements that page cache. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -29686,7 +29776,7 @@ ** If the default page cache implementation is overriden, then neither of ** these two features are available. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -30447,6 +30537,8 @@ ** ** Big chunks of rowid/next-ptr pairs are allocated at a time, to ** reduce the malloc overhead. +** +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -30679,7 +30771,7 @@ ** file simultaneously, or one process from reading the database while ** another is writing. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef SQLITE_OMIT_DISKIO @@ -31645,10 +31737,7 @@ */ static void pager_unlock(Pager *pPager){ if( !pPager->exclusiveMode ){ - int rc = osUnlock(pPager->fd, NO_LOCK); - if( rc ) pPager->errCode = rc; - pPager->dbSizeValid = 0; - IOTRACE(("UNLOCK %p\n", pPager)) + int rc; /* Always close the journal file when dropping the database lock. ** Otherwise, another connection with journal_mode=delete might @@ -31663,6 +31752,11 @@ pPager->pAlwaysRollback = 0; } + rc = osUnlock(pPager->fd, NO_LOCK); + if( rc ) pPager->errCode = rc; + pPager->dbSizeValid = 0; + IOTRACE(("UNLOCK %p\n", pPager)) + /* If Pager.errCode is set, the contents of the pager cache cannot be ** trusted. Now that the pager file is unlocked, the contents of the ** cache can be discarded and the error code safely cleared. @@ -31763,6 +31857,7 @@ if( !pPager->exclusiveMode ){ rc2 = osUnlock(pPager->fd, SHARED_LOCK); pPager->state = PAGER_SHARED; + pPager->changeCountDone = 0; }else if( pPager->state==PAGER_SYNCED ){ pPager->state = PAGER_EXCLUSIVE; } @@ -32380,6 +32475,16 @@ assert( 0 ); end_playback: + /* Following a rollback, the database file should be back in its original + ** state prior to the start of the transaction, so invoke the + ** SQLITE_FCNTL_DB_UNCHANGED file-control method to disable the + ** assertion that the transaction counter was modified. + */ + assert( + pPager->fd->pMethods==0 || + sqlite3OsFileControl(pPager->fd,SQLITE_FCNTL_DB_UNCHANGED,0)>=SQLITE_OK + ); + if( rc==SQLITE_OK ){ zMaster = pPager->pTmpSpace; rc = readMasterJournal(pPager->jfd, zMaster, pPager->pVfs->mxPathname+1); @@ -35202,7 +35307,7 @@ ** ************************************************************************* ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ ** ** This file contains code used to implement mutexes on Btree objects. ** This code really belongs in btree.c. But btree.c is getting too @@ -35222,7 +35327,7 @@ ** May you share freely, never taking more than you give. ** ************************************************************************* -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ ** ** This file implements a external (disk-based) database using BTrees. ** For a detailed discussion of BTrees, refer to @@ -36154,7 +36259,7 @@ ** May you share freely, never taking more than you give. ** ************************************************************************* -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ ** ** This file implements a external (disk-based) database using BTrees. ** See the header comment on "btreeInt.h" for additional information. @@ -43647,7 +43752,7 @@ ** only within the VDBE. Interface routines refer to a Mem using the ** name sqlite_value ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -44734,7 +44839,7 @@ ** to version 2.8.7, all this code was combined into the vdbe.c source file. ** But that file was getting too big so this subroutines were split out. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -47278,7 +47383,7 @@ ** This file contains code use to implement APIs that are part of the ** VDBE. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #if 0 && defined(SQLITE_ENABLE_MEMORY_MANAGEMENT) @@ -48619,7 +48724,7 @@ ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -49055,7 +49160,7 @@ ** This file contains inline asm code for retrieving "high-performance" ** counters for x86 class CPUs. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _HWTIME_H_ #define _HWTIME_H_ @@ -52572,6 +52677,7 @@ rc = sqlite3BtreeLast(pCrsr, &res); pC->nullRow = (u8)res; pC->deferredMoveto = 0; + pC->rowidIsValid = 0; pC->cacheStatus = CACHE_STALE; if( res && pOp->p2>0 ){ pc = pOp->p2 - 1; @@ -52622,6 +52728,7 @@ pC->atFirst = res==0 ?1:0; pC->deferredMoveto = 0; pC->cacheStatus = CACHE_STALE; + pC->rowidIsValid = 0; }else{ res = 1; } @@ -54015,7 +54122,7 @@ ** ** This file contains code used to implement incremental BLOB I/O. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -54362,7 +54469,7 @@ ** ************************************************************************* ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifdef SQLITE_ENABLE_ATOMIC_WRITE @@ -54607,7 +54714,7 @@ ** The in-memory rollback journal is used to journal transactions for ** ":memory:" databases and when the journal_mode=MEMORY pragma is used. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* Forward references to internal structures */ @@ -54852,7 +54959,7 @@ ** This file contains routines used for walking the parser tree for ** an SQL statement. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -54988,7 +55095,7 @@ ** resolve all identifiers by associating them with a particular ** table and column. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -56155,7 +56262,7 @@ ** This file contains routines used for analyzing expressions and ** for generating VDBE code that evaluates expressions in SQLite. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -59242,7 +59349,7 @@ ** This file contains C code routines that used to generate VDBE code ** that implements the ALTER TABLE command. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -59868,7 +59975,7 @@ ************************************************************************* ** This file contains code associated with the ANALYZE command. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef SQLITE_OMIT_ANALYZE @@ -60297,7 +60404,7 @@ ************************************************************************* ** This file contains code used to implement the ATTACH and DETACH commands. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef SQLITE_OMIT_ATTACH @@ -60841,7 +60948,7 @@ ** systems that do not need this facility may omit it by recompiling ** the library with -DSQLITE_OMIT_AUTHORIZATION=1 ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -61085,7 +61192,7 @@ ** COMMIT ** ROLLBACK ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -64684,7 +64791,7 @@ ** This file contains functions used to access the internal hash tables ** of user defined functions and collation sequences. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -65136,7 +65243,7 @@ ** This file contains C code routines that are called by the parser ** in order to generate code for DELETE FROM statements. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -65772,7 +65879,7 @@ ** sqliteRegisterBuildinFunctions() found at the bottom of the file. ** All other code has file scope. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -67168,7 +67275,7 @@ ** This file contains C code routines that are called by the parser ** to handle INSERT statements in SQLite. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -68909,7 +69016,7 @@ ** other files are for internal use by SQLite and should not be ** accessed by users of the library. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -69054,7 +69161,7 @@ ** This file contains code used to dynamically load extensions into ** the SQLite library. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef SQLITE_CORE @@ -69079,7 +69186,7 @@ ** as extensions by SQLite should #include this file instead of ** sqlite3.h. ** -** @(#) $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** @(#) $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef _SQLITE3EXT_H_ #define _SQLITE3EXT_H_ @@ -70040,7 +70147,7 @@ ************************************************************************* ** This file contains code used to implement the PRAGMA command. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* Ignore this whole file if pragmas are disabled @@ -70552,7 +70659,7 @@ ** PRAGMA [database.]journal_size_limit ** PRAGMA [database.]journal_size_limit=N ** - ** Get or set the (boolean) value of the database 'auto-vacuum' parameter. + ** Get or set the size limit on rollback journal files. */ if( sqlite3StrICmp(zLeft,"journal_size_limit")==0 ){ Pager *pPager = sqlite3BtreePager(pDb->pBt); @@ -70574,7 +70681,8 @@ ** PRAGMA [database.]auto_vacuum ** PRAGMA [database.]auto_vacuum=N ** - ** Get or set the (boolean) value of the database 'auto-vacuum' parameter. + ** Get or set the value of the database 'auto-vacuum' parameter. + ** The value is one of: 0 NONE 1 FULL 2 INCREMENTAL */ #ifndef SQLITE_OMIT_AUTOVACUUM if( sqlite3StrICmp(zLeft,"auto_vacuum")==0 ){ @@ -71476,7 +71584,7 @@ ** interface, and routines that contribute to loading the database schema ** from disk. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -72287,7 +72395,7 @@ ** This file contains C code routines that are called by the parser ** to handle SELECT statements in SQLite. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ @@ -76477,7 +76585,7 @@ ** These routines are in a separate files so that they will not be linked ** if they are not used. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef SQLITE_OMIT_GET_TABLE @@ -76672,7 +76780,7 @@ ************************************************************************* ** ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef SQLITE_OMIT_TRIGGER @@ -77531,7 +77639,7 @@ ** This file contains C code routines that are called by the parser ** to handle UPDATE statements. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef SQLITE_OMIT_VIRTUALTABLE @@ -78220,7 +78328,7 @@ ** Most of the code in this file may be omitted by defining the ** SQLITE_OMIT_VACUUM macro. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #if !defined(SQLITE_OMIT_VACUUM) && !defined(SQLITE_OMIT_ATTACH) @@ -78518,7 +78626,7 @@ ************************************************************************* ** This file contains code used to help implement virtual tables. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef SQLITE_OMIT_VIRTUALTABLE @@ -79368,7 +79476,7 @@ ** so is applicable. Because this module is responsible for selecting ** indices, you might also think of this module as the "query optimizer". ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -81197,6 +81305,7 @@ WhereClause *pOrWC = &pTerm->u.pOrInfo->wc; WhereTerm *pOrTerm; int j; + int sortable = 0; double rTotal = 0; nRow = 0; for(j=0, pOrTerm=pOrWC->a; j<pOrWC->nTerm; j++, pOrTerm++){ @@ -81216,6 +81325,14 @@ nRow += sTermCost.nRow; if( rTotal>=pCost->rCost ) break; } + if( pOrderBy!=0 ){ + if( sortableByRowid(iCur, pOrderBy, pWC->pMaskSet, &rev) && !rev ){ + sortable = 1; + }else{ + rTotal += nRow*estLog(nRow); + WHERETRACE(("... sorting increases OR cost to %.9g\n", rTotal)); + } + } WHERETRACE(("... multi-index OR cost=%.9g nrow=%.9g\n", rTotal, nRow)); if( rTotal<pCost->rCost ){ @@ -81223,10 +81340,7 @@ pCost->nRow = nRow; pCost->plan.wsFlags = WHERE_MULTI_OR; pCost->plan.u.pTerm = pTerm; - if( pOrderBy!=0 - && sortableByRowid(iCur, pOrderBy, pWC->pMaskSet, &rev) - && !rev - ){ + if( sortable ){ pCost->plan.wsFlags = WHERE_ORDERBY|WHERE_MULTI_OR; } } @@ -86017,7 +86131,7 @@ ** individual tokens and sends those tokens one-by-one over to the ** parser for analysis. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ /* @@ -86070,7 +86184,7 @@ ** ** The code in this file has been automatically generated by ** -** $Header: /repository/php-src/ext/sqlite3/libsqlite/sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Header: /repository/php-src/ext/sqlite3/libsqlite/sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ ** ** The code in this file implements a function that determines whether ** or not a given identifier is really an SQL keyword. The same thing @@ -86804,7 +86918,7 @@ ** separating it out, the code will be automatically omitted from ** static links that do not use it. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifndef SQLITE_OMIT_COMPLETE @@ -87081,7 +87195,7 @@ ** other files are for internal use by SQLite and should not be ** accessed by users of the library. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #ifdef SQLITE_ENABLE_FTS3 @@ -89498,8 +89612,8 @@ ** ** **** Segment merging **** -** To amortize update costs, segments are groups into levels and -** merged in matches. Each increase in level represents exponentially +** To amortize update costs, segments are grouped into levels and +** merged in batches. Each increase in level represents exponentially ** more documents. ** ** New documents (actually, document updates) are tokenized and @@ -99174,7 +99288,7 @@ ** This file contains code for implementations of the r-tree and r*-tree ** algorithms packaged as an SQLite virtual table module. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_RTREE) @@ -102029,7 +102143,7 @@ ** May you share freely, never taking more than you give. ** ************************************************************************* -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ ** ** This file implements an integration between the ICU library ** ("International Components for Unicode", an open-source library @@ -102530,7 +102644,7 @@ ************************************************************************* ** This file implements a tokenizer for fts3 based on the ICU library. ** -** $Id: sqlite3.c,v 1.1.2.15 2009/01/12 18:55:20 scottmac Exp $ +** $Id: sqlite3.c,v 1.1.2.16 2009/01/18 18:01:38 iliaa Exp $ */ #if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS3) http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite3/libsqlite/sqlite3.h?r1=1.1.2.12&r2=1.1.2.13&diff_format=u Index: php-src/ext/sqlite3/libsqlite/sqlite3.h diff -u php-src/ext/sqlite3/libsqlite/sqlite3.h:1.1.2.12 php-src/ext/sqlite3/libsqlite/sqlite3.h:1.1.2.13 --- php-src/ext/sqlite3/libsqlite/sqlite3.h:1.1.2.12 Mon Jan 12 18:55:37 2009 +++ php-src/ext/sqlite3/libsqlite/sqlite3.h Sun Jan 18 18:01:53 2009 @@ -30,7 +30,7 @@ ** the version number) and changes its name to "sqlite3.h" as ** part of the build process. ** -** @(#) $Id: sqlite3.h,v 1.1.2.12 2009/01/12 18:55:37 scottmac Exp $ +** @(#) $Id: sqlite3.h,v 1.1.2.13 2009/01/18 18:01:53 iliaa Exp $ */ #ifndef _SQLITE3_H_ #define _SQLITE3_H_ @@ -107,8 +107,8 @@ ** with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z ** are the major version, minor version, and release number. */ -#define SQLITE_VERSION "3.6.8" -#define SQLITE_VERSION_NUMBER 3006008 +#define SQLITE_VERSION "3.6.10" +#define SQLITE_VERSION_NUMBER 3006010 /* ** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100> http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite3/libsqlite/sqlite3ext.h?r1=1.1.2.11&r2=1.1.2.12&diff_format=u Index: php-src/ext/sqlite3/libsqlite/sqlite3ext.h diff -u php-src/ext/sqlite3/libsqlite/sqlite3ext.h:1.1.2.11 php-src/ext/sqlite3/libsqlite/sqlite3ext.h:1.1.2.12 --- php-src/ext/sqlite3/libsqlite/sqlite3ext.h:1.1.2.11 Mon Jan 12 18:55:37 2009 +++ php-src/ext/sqlite3/libsqlite/sqlite3ext.h Sun Jan 18 18:01:53 2009 @@ -15,7 +15,7 @@ ** as extensions by SQLite should #include this file instead of ** sqlite3.h. ** -** @(#) $Id: sqlite3ext.h,v 1.1.2.11 2009/01/12 18:55:37 scottmac Exp $ +** @(#) $Id: sqlite3ext.h,v 1.1.2.12 2009/01/18 18:01:53 iliaa Exp $ */ #ifndef _SQLITE3EXT_H_ #define _SQLITE3EXT_H_
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php