Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Update SQLite core library to the 3.8.7.4 release. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
98379cefde226bd4dcecde4c93cb1700 |
User & Date: | mistachkin 2014-12-09 23:13:40 |
Context
2014-12-16
| ||
18:41 | Update master release archive manifest. check-in: 6198c5f180 user: mistachkin tags: trunk | |
2014-12-09
| ||
23:13 | Update SQLite core library to the 3.8.7.4 release. check-in: 98379cefde user: mistachkin tags: trunk | |
19:23 | Update the included core library documentation. check-in: 9ade973926 user: mistachkin tags: trunk | |
Changes
Changes to Doc/Extra/Provider/version.html.
39 39 </td> 40 40 </tr> 41 41 </table> 42 42 </div> 43 43 <div id="mainSection"> 44 44 <div id="mainBody"> 45 45 <h1 class="heading">Version History</h1> 46 - <p><b>1.0.95.0 - December XX, 2014 <font color="red">(release scheduled)</font></b></p> 46 + <p><b>1.0.95.0 - January XX, 2015 <font color="red">(release scheduled)</font></b></p> 47 47 <ul> 48 - <li>Updated to <a href="http://www.sqlite.org/releaselog/3_8_7_2.html">SQLite 3.8.7.2</a>.</li> 48 + <li>Updated to <a href="http://www.sqlite.org/releaselog/3_8_7_4.html">SQLite 3.8.7.4</a>.</li> 49 49 <li>Make sure SQL statements generated for DbUpdateCommandTree objects are properly delimited.</li> 50 50 <li>Various minor performance enhancements to the SQLiteDataReader class. Pursuant to <a href="http://system.data.sqlite.org/index.html/info/e122d26e70">[e122d26e70]</a>.</li> 51 51 <li>Defer disposing of connections created by the static SQLiteCommand.Execute method when a data reader is returned. Fix for <a href="http://system.data.sqlite.org/index.html/info/daeaf3150a">[daeaf3150a]</a>.</li> 52 52 <li>Wrap SELECT statements in parenthesis if they have an ORDER BY, LIMIT, or OFFSET clause and a compound operator is involved. Fix for <a href="http://system.data.sqlite.org/index.html/info/0a32885109">[0a32885109]</a>.</li> 53 53 <li>In the SQLiteDataReader.VerifyType method, remove duplicate "if" statement for the DbType.SByte value and move the remaining "if" to the Int64 affinity. Fix for <a href="http://system.data.sqlite.org/index.html/info/c5cc2fb334">[c5cc2fb334]</a>. <b>** Potentially Incompatible Change **</b></li> 54 54 <li>Handle Julian Day values that fall outside of the supported range for OLE Automation dates. Fix for <a href="http://system.data.sqlite.org/index.html/info/3e783eecbe">[3e783eecbe]</a>. <b>** Potentially Incompatible Change **</b></li> 55 55 <li>Make sure the interop files are copied when publishing a project that refers to a NuGet package containing them. Fix for <a href="http://system.data.sqlite.org/index.html/info/e796ac82c1">[e796ac82c1]</a>. <b>** Potentially Incompatible Change **</b></li>
Changes to SQLite.Interop/props/sqlite3.props.
5 5 * 6 6 * Written by Joe Mistachkin. 7 7 * Released to the public domain, use at your own risk! 8 8 * 9 9 --> 10 10 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 11 11 <PropertyGroup Label="UserMacros"> 12 - <SQLITE_MANIFEST_VERSION>3.8.7.2</SQLITE_MANIFEST_VERSION> 13 - <SQLITE_RC_VERSION>3,8,7,2</SQLITE_RC_VERSION> 12 + <SQLITE_MANIFEST_VERSION>3.8.7.4</SQLITE_MANIFEST_VERSION> 13 + <SQLITE_RC_VERSION>3,8,7,4</SQLITE_RC_VERSION> 14 14 <SQLITE_COMMON_DEFINES>_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;SQLITE_THREADSAFE=1;SQLITE_USE_URI=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_ENABLE_STAT4=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_LOAD_EXTENSION=1;SQLITE_ENABLE_RTREE=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_MEMORY_MANAGEMENT=1</SQLITE_COMMON_DEFINES> 15 15 <SQLITE_EXTRA_DEFINES>SQLITE_HAS_CODEC=1</SQLITE_EXTRA_DEFINES> 16 16 <SQLITE_WINCE_200X_DEFINES>SQLITE_OMIT_WAL=1</SQLITE_WINCE_200X_DEFINES> 17 17 <SQLITE_WINCE_2013_DEFINES>HAVE_ERRNO_H=1;SQLITE_MSVC_LOCALTIME_API=1</SQLITE_WINCE_2013_DEFINES> 18 18 <SQLITE_DEBUG_DEFINES>SQLITE_DEBUG=1;SQLITE_MEMDEBUG=1;SQLITE_ENABLE_EXPENSIVE_ASSERT=1</SQLITE_DEBUG_DEFINES> 19 19 <SQLITE_RELEASE_DEFINES>SQLITE_WIN32_MALLOC=1</SQLITE_RELEASE_DEFINES> 20 20 <SQLITE_DISABLE_WARNINGS>4055;4100;4127;4146;4210;4232;4244;4245;4267;4306;4389;4701;4703;4706</SQLITE_DISABLE_WARNINGS>
Changes to SQLite.Interop/props/sqlite3.vsprops.
10 10 <VisualStudioPropertySheet 11 11 ProjectType="Visual C++" 12 12 Version="8.00" 13 13 Name="sqlite3" 14 14 > 15 15 <UserMacro 16 16 Name="SQLITE_MANIFEST_VERSION" 17 - Value="3.8.7.2" 17 + Value="3.8.7.4" 18 18 PerformEnvironmentSet="true" 19 19 /> 20 20 <UserMacro 21 21 Name="SQLITE_RC_VERSION" 22 - Value="3,8,7,2" 22 + Value="3,8,7,4" 23 23 PerformEnvironmentSet="true" 24 24 /> 25 25 <UserMacro 26 26 Name="SQLITE_COMMON_DEFINES" 27 27 Value="_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;SQLITE_THREADSAFE=1;SQLITE_USE_URI=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_ENABLE_STAT4=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_LOAD_EXTENSION=1;SQLITE_ENABLE_RTREE=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_MEMORY_MANAGEMENT=1" 28 28 PerformEnvironmentSet="true" 29 29 />
Changes to SQLite.Interop/src/core/sqlite3.c.
1 1 /****************************************************************************** 2 2 ** This file is an amalgamation of many separate C source files from SQLite 3 -** version 3.8.7.2. By combining all the individual C code files into this 3 +** version 3.8.7.4. By combining all the individual C code files into this 4 4 ** single large file, the entire code can be compiled as a single translation 5 5 ** unit. This allows many compilers to do optimizations that would not be 6 6 ** possible if the files were compiled separately. Performance improvements 7 7 ** of 5% or more are commonly seen when SQLite is compiled as a single 8 8 ** translation unit. 9 9 ** 10 10 ** This file is all you need to compile SQLite. To use SQLite in other ................................................................................ 227 227 ** string contains the date and time of the check-in (UTC) and an SHA1 228 228 ** hash of the entire source tree. 229 229 ** 230 230 ** See also: [sqlite3_libversion()], 231 231 ** [sqlite3_libversion_number()], [sqlite3_sourceid()], 232 232 ** [sqlite_version()] and [sqlite_source_id()]. 233 233 */ 234 -#define SQLITE_VERSION "3.8.7.2" 234 +#define SQLITE_VERSION "3.8.7.4" 235 235 #define SQLITE_VERSION_NUMBER 3008007 236 -#define SQLITE_SOURCE_ID "2014-11-18 20:57:56 2ab564bf9655b7c7b97ab85cafc8a48329b27f93" 236 +#define SQLITE_SOURCE_ID "2014-12-09 01:34:36 f66f7a17b78ba617acde90fc810107f34f1a1f2e" 237 237 238 238 /* 239 239 ** CAPI3REF: Run-Time Library Version Numbers 240 240 ** KEYWORDS: sqlite3_version, sqlite3_sourceid 241 241 ** 242 242 ** These interfaces provide the same information as the [SQLITE_VERSION], 243 243 ** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros ................................................................................ 11533 11533 AggInfo *pAggInfo; /* Used by TK_AGG_COLUMN and TK_AGG_FUNCTION */ 11534 11534 Table *pTab; /* Table for TK_COLUMN expressions. */ 11535 11535 }; 11536 11536 11537 11537 /* 11538 11538 ** The following are the meanings of bits in the Expr.flags field. 11539 11539 */ 11540 -#define EP_FromJoin 0x000001 /* Originated in ON or USING clause of a join */ 11540 +#define EP_FromJoin 0x000001 /* Originates in ON/USING clause of outer join */ 11541 11541 #define EP_Agg 0x000002 /* Contains one or more aggregate functions */ 11542 11542 #define EP_Resolved 0x000004 /* IDs have been resolved to COLUMNs */ 11543 11543 #define EP_Error 0x000008 /* Expression contains one or more errors */ 11544 11544 #define EP_Distinct 0x000010 /* Aggregate function with DISTINCT keyword */ 11545 11545 #define EP_VarSelect 0x000020 /* pSelect is correlated, not constant */ 11546 11546 #define EP_DblQuoted 0x000040 /* token.z was originally in "..." */ 11547 11547 #define EP_InfixFunc 0x000080 /* True for an infix function: LIKE, GLOB, etc */ ................................................................................ 11553 11553 #define EP_Reduced 0x002000 /* Expr struct EXPR_REDUCEDSIZE bytes only */ 11554 11554 #define EP_TokenOnly 0x004000 /* Expr struct EXPR_TOKENONLYSIZE bytes only */ 11555 11555 #define EP_Static 0x008000 /* Held in memory not obtained from malloc() */ 11556 11556 #define EP_MemToken 0x010000 /* Need to sqlite3DbFree() Expr.zToken */ 11557 11557 #define EP_NoReduce 0x020000 /* Cannot EXPRDUP_REDUCE this Expr */ 11558 11558 #define EP_Unlikely 0x040000 /* unlikely() or likelihood() function */ 11559 11559 #define EP_Constant 0x080000 /* Node is a constant */ 11560 +#define EP_CanBeNull 0x100000 /* Can be null despite NOT NULL constraint */ 11560 11561 11561 11562 /* 11562 11563 ** These macros can be used to test, set, or clear bits in the 11563 11564 ** Expr.flags field. 11564 11565 */ 11565 11566 #define ExprHasProperty(E,P) (((E)->flags&(P))!=0) 11566 11567 #define ExprHasAllProperty(E,P) (((E)->flags&(P))==(P)) ................................................................................ 79500 79501 break; 79501 79502 } 79502 79503 } 79503 79504 } 79504 79505 if( pMatch ){ 79505 79506 pExpr->iTable = pMatch->iCursor; 79506 79507 pExpr->pTab = pMatch->pTab; 79508 + assert( (pMatch->jointype & JT_RIGHT)==0 ); /* RIGHT JOIN not (yet) supported */ 79509 + if( (pMatch->jointype & JT_LEFT)!=0 ){ 79510 + ExprSetProperty(pExpr, EP_CanBeNull); 79511 + } 79507 79512 pSchema = pExpr->pTab->pSchema; 79508 79513 } 79509 79514 } /* if( pSrcList ) */ 79510 79515 79511 79516 #ifndef SQLITE_OMIT_TRIGGER 79512 79517 /* If we have not already resolved the name, then maybe 79513 79518 ** it is a new.* or old.* trigger argument reference ................................................................................ 82036 82041 case TK_INTEGER: 82037 82042 case TK_STRING: 82038 82043 case TK_FLOAT: 82039 82044 case TK_BLOB: 82040 82045 return 0; 82041 82046 case TK_COLUMN: 82042 82047 assert( p->pTab!=0 ); 82043 - return p->iColumn>=0 && p->pTab->aCol[p->iColumn].notNull==0; 82048 + return ExprHasProperty(p, EP_CanBeNull) || 82049 + (p->iColumn>=0 && p->pTab->aCol[p->iColumn].notNull==0); 82044 82050 default: 82045 82051 return 1; 82046 82052 } 82047 82053 } 82048 82054 82049 82055 /* 82050 82056 ** Return TRUE if the given expression is a constant which would be ................................................................................ 87411 87417 int i; /* Used to iterate through samples */ 87412 87418 tRowcnt sumEq = 0; /* Sum of the nEq values */ 87413 87419 tRowcnt avgEq = 0; 87414 87420 tRowcnt nRow; /* Number of rows in index */ 87415 87421 i64 nSum100 = 0; /* Number of terms contributing to sumEq */ 87416 87422 i64 nDist100; /* Number of distinct values in index */ 87417 87423 87418 - if( pIdx->aiRowEst==0 || pIdx->aiRowEst[iCol+1]==0 ){ 87424 + if( !pIdx->aiRowEst || iCol>=pIdx->nKeyCol || pIdx->aiRowEst[iCol+1]==0 ){ 87419 87425 nRow = pFinal->anLt[iCol]; 87420 87426 nDist100 = (i64)100 * pFinal->anDLt[iCol]; 87421 87427 nSample--; 87422 87428 }else{ 87423 87429 nRow = pIdx->aiRowEst[0]; 87424 87430 nDist100 = ((i64)100 * pIdx->aiRowEst[0]) / pIdx->aiRowEst[iCol+1]; 87425 87431 } ................................................................................ 125884 125890 /* Free any outstanding Savepoint structures. */ 125885 125891 sqlite3CloseSavepoints(db); 125886 125892 125887 125893 /* Close all database connections */ 125888 125894 for(j=0; j<db->nDb; j++){ 125889 125895 struct Db *pDb = &db->aDb[j]; 125890 125896 if( pDb->pBt ){ 125897 + if( pDb->pSchema ){ 125898 + /* Must clear the KeyInfo cache. See ticket [e4a18565a36884b00edf] */ 125899 + sqlite3BtreeEnter(pDb->pBt); 125900 + for(i=sqliteHashFirst(&pDb->pSchema->idxHash); i; i=sqliteHashNext(i)){ 125901 + Index *pIdx = sqliteHashData(i); 125902 + sqlite3KeyInfoUnref(pIdx->pKeyInfo); 125903 + pIdx->pKeyInfo = 0; 125904 + } 125905 + sqlite3BtreeLeave(pDb->pBt); 125906 + } 125891 125907 sqlite3BtreeClose(pDb->pBt); 125892 125908 pDb->pBt = 0; 125893 125909 if( j!=1 ){ 125894 125910 pDb->pSchema = 0; 125895 125911 } 125896 125912 } 125897 125913 } ................................................................................ 127531 127547 if( rc!=SQLITE_OK ){ 127532 127548 if( rc==SQLITE_IOERR_NOMEM ){ 127533 127549 rc = SQLITE_NOMEM; 127534 127550 } 127535 127551 sqlite3Error(db, rc); 127536 127552 goto opendb_out; 127537 127553 } 127554 + sqlite3BtreeEnter(db->aDb[0].pBt); 127538 127555 db->aDb[0].pSchema = sqlite3SchemaGet(db, db->aDb[0].pBt); 127556 + sqlite3BtreeLeave(db->aDb[0].pBt); 127539 127557 db->aDb[1].pSchema = sqlite3SchemaGet(db, 0); 127540 127558 127541 127559 /* The default safety_level for the main database is 'full'; for the temp 127542 127560 ** database it is 'NONE'. This matches the pager layer defaults. 127543 127561 */ 127544 127562 db->aDb[0].zName = "main"; 127545 127563 db->aDb[0].safety_level = 3;
Changes to SQLite.Interop/src/core/sqlite3.h.
103 103 ** string contains the date and time of the check-in (UTC) and an SHA1 104 104 ** hash of the entire source tree. 105 105 ** 106 106 ** See also: [sqlite3_libversion()], 107 107 ** [sqlite3_libversion_number()], [sqlite3_sourceid()], 108 108 ** [sqlite_version()] and [sqlite_source_id()]. 109 109 */ 110 -#define SQLITE_VERSION "3.8.7.2" 110 +#define SQLITE_VERSION "3.8.7.4" 111 111 #define SQLITE_VERSION_NUMBER 3008007 112 -#define SQLITE_SOURCE_ID "2014-11-18 20:57:56 2ab564bf9655b7c7b97ab85cafc8a48329b27f93" 112 +#define SQLITE_SOURCE_ID "2014-12-09 01:34:36 f66f7a17b78ba617acde90fc810107f34f1a1f2e" 113 113 114 114 /* 115 115 ** CAPI3REF: Run-Time Library Version Numbers 116 116 ** KEYWORDS: sqlite3_version, sqlite3_sourceid 117 117 ** 118 118 ** These interfaces provide the same information as the [SQLITE_VERSION], 119 119 ** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros
Changes to readme.htm.
1 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 2 <html> 3 3 <head> 4 4 <title></title> 5 5 </head> 6 6 <body> 7 7 ADO.NET SQLite Data Provider<br /> 8 -Version 1.0.95.0 December XX, 2014 <font color="red">(release scheduled)</font><br /> 9 -Using <a href="http://www.sqlite.org/releaselog/3_8_7_2.html">SQLite 3.8.7.2</a><br /> 8 +Version 1.0.95.0 - January XX, 2015 <font color="red">(release scheduled)</font><br /> 9 +Using <a href="http://www.sqlite.org/releaselog/3_8_7_4.html">SQLite 3.8.7.4</a><br /> 10 10 Originally written by Robert Simpson<br /> 11 11 Released to the public domain, use at your own risk!<br /> 12 12 Official provider website: <a href="http://system.data.sqlite.org/">http://system.data.sqlite.org/</a><br /> 13 13 Legacy versions: <a href="http://sqlite.phxsoftware.com/">http://sqlite.phxsoftware.com/</a><br /> 14 14 <br /> 15 15 The current development version can be downloaded from <a href="http://system.data.sqlite.org/index.html/timeline?y=ci"> 16 16 http://system.data.sqlite.org/index.html/timeline?y=ci</a> ................................................................................ 205 205 designed for robustness and maximum backward compatibility with previously 206 206 released versions of System.Data.SQLite. 207 207 </p> 208 208 209 209 <h2><b>Version History</b></h2> 210 210 211 211 <p> 212 - <b>1.0.95.0 - December XX, 2014 <font color="red">(release scheduled)</font></b> 212 + <b>1.0.95.0 - January XX, 2015 <font color="red">(release scheduled)</font></b> 213 213 </p> 214 214 <ul> 215 215 <li>Updated to <a href="http://www.sqlite.org/releaselog/3_8_7.html">SQLite 3.8.7</a>.</li> 216 216 <li>Make sure SQL statements generated for DbUpdateCommandTree objects are properly delimited.</li> 217 217 <li>Various minor performance enhancements to the SQLiteDataReader class. Pursuant to [e122d26e70].</li> 218 218 <li>Defer disposing of connections created by the static SQLiteCommand.Execute method when a data reader is returned. Fix for [daeaf3150a].</li> 219 219 <li>Wrap SELECT statements in parenthesis if they have an ORDER BY, LIMIT, or OFFSET clause and a compound operator is involved. Fix for [0a32885109].</li>
Changes to www/news.wiki.
1 1 <title>News</title> 2 2 3 3 <b>Version History</b> 4 4 5 5 <p> 6 - <b>1.0.95.0 - December XX, 2014 <font color="red">(release scheduled)</font></b> 6 + <b>1.0.95.0 - January XX, 2015 <font color="red">(release scheduled)</font></b> 7 7 </p> 8 8 <ul> 9 - <li>Updated to [http://www.sqlite.org/releaselog/3_8_7_2.html|SQLite 3.8.7.2].</li> 9 + <li>Updated to [http://www.sqlite.org/releaselog/3_8_7_4.html|SQLite 3.8.7.4].</li> 10 10 <li>Make sure SQL statements generated for DbUpdateCommandTree objects are properly delimited.</li> 11 11 <li>Various minor performance enhancements to the SQLiteDataReader class. Pursuant to [e122d26e70].</li> 12 12 <li>Defer disposing of connections created by the static SQLiteCommand.Execute method when a data reader is returned. Fix for [daeaf3150a].</li> 13 13 <li>Wrap SELECT statements in parenthesis if they have an ORDER BY, LIMIT, or OFFSET clause and a compound operator is involved. Fix for [0a32885109].</li> 14 14 <li>In the SQLiteDataReader.VerifyType method, remove duplicate "if" statement for the DbType.SByte value and move the remaining "if" to the Int64 affinity. Fix for [c5cc2fb334]. <b>** Potentially Incompatible Change **</b></li> 15 15 <li>Handle Julian Day values that fall outside of the supported range for OLE Automation dates. Fix for [3e783eecbe]. <b>** Potentially Incompatible Change **</b></li> 16 16 <li>Make sure the interop files are copied when publishing a project that refers to a NuGet package containing them. Fix for [e796ac82c1]. <b>** Potentially Incompatible Change **</b></li>