System.Data.SQLite
Check-in [631603fdde]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Update SQLite core library to the 3.14.1 release.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 631603fddea639f213921908756500299e16158d
User & Date: mistachkin 2016-08-31 18:55:31
Context
2016-08-31
19:21
Import the custom MSBuild targets file from the appropriate interop assembly project files. check-in: 46d5646194 user: mistachkin tags: trunk
18:55
Update SQLite core library to the 3.14.1 release. check-in: 631603fdde user: mistachkin tags: trunk
18:36
Update the estimated release date. check-in: ee636c128c user: mistachkin tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to Doc/Extra/Provider/version.html.

    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     46       <p><b>1.0.103.0 - September XX, 2016 <font color="red">(release scheduled)</font></b></p>
    47     47       <ul>
    48         -      <li>Updated to <a href="https://www.sqlite.org/releaselog/3_14.html">SQLite 3.14</a>.</li>
           48  +      <li>Updated to <a href="https://www.sqlite.org/releaselog/3_14_1.html">SQLite 3.14.1</a>.</li>
    49     49         <li>Add preliminary support for the .NET Framework 4.6.2.</li>
    50     50         <li>Change the SQLiteReadValueCallback delegate &quot;eventArgs&quot; parameter to be of type SQLiteReadEventArgs.&nbsp;<b>** Potentially Incompatible Change **</b></li>
    51     51         <li>Make SQLiteReadValueEventArgs and SQLiteReadArrayEventArgs derive from SQLiteReadEventArgs.&nbsp;<b>** Potentially Incompatible Change **</b></li>
    52     52         <li>Rename SQLiteReadValueEventArgs.ArrayEventArgs property to ExtraEventArgs.&nbsp;<b>** Potentially Incompatible Change **</b></li>
    53     53         <li>Add No_SQLiteGetSettingValue and No_SQLiteXmlConfigFile environment variables.</li>
    54     54         <li>Reduce the number of calls to GetSettingValue from SQLiteConnection. Pursuant to <a href="https://system.data.sqlite.org/index.html/info/25d53b48f6">[25d53b48f6]</a>.&nbsp;<b>** Potentially Incompatible Change **</b></li>
    55     55         <li>Add NoVerifyTypeAffinity connection flag to disable all type affinity checking.</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.14.0.0</SQLITE_MANIFEST_VERSION>
    13         -    <SQLITE_RC_VERSION>3,14,0,0</SQLITE_RC_VERSION>
           12  +    <SQLITE_MANIFEST_VERSION>3.14.1.0</SQLITE_MANIFEST_VERSION>
           13  +    <SQLITE_RC_VERSION>3,14,1,0</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_ENABLE_API_ARMOR=1;SQLITE_ENABLE_DBSTAT_VTAB=1</SQLITE_COMMON_DEFINES>
    15     15       <SQLITE_EXTRA_DEFINES>SQLITE_PLACEHOLDER=1;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.14.0.0"
           17  +		Value="3.14.1.0"
    18     18   		PerformEnvironmentSet="true"
    19     19   	/>
    20     20   	<UserMacro
    21     21   		Name="SQLITE_RC_VERSION"
    22         -		Value="3,14,0,0"
           22  +		Value="3,14,1,0"
    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;SQLITE_ENABLE_API_ARMOR=1;SQLITE_ENABLE_DBSTAT_VTAB=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.14.0.  By combining all the individual C code files into this 
            3  +** version 3.14.1.  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
................................................................................
   376    376   ** string contains the date and time of the check-in (UTC) and an SHA1
   377    377   ** hash of the entire source tree.
   378    378   **
   379    379   ** See also: [sqlite3_libversion()],
   380    380   ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
   381    381   ** [sqlite_version()] and [sqlite_source_id()].
   382    382   */
   383         -#define SQLITE_VERSION        "3.14.0"
   384         -#define SQLITE_VERSION_NUMBER 3014000
   385         -#define SQLITE_SOURCE_ID      "2016-08-08 13:40:27 d5e98057028abcf7217d0d2b2e29bbbcdf09d6de"
          383  +#define SQLITE_VERSION        "3.14.1"
          384  +#define SQLITE_VERSION_NUMBER 3014001
          385  +#define SQLITE_SOURCE_ID      "2016-08-11 18:53:32 a12d8059770df4bca59e321c266410344242bf7b"
   386    386   
   387    387   /*
   388    388   ** CAPI3REF: Run-Time Library Version Numbers
   389    389   ** KEYWORDS: sqlite3_version, sqlite3_sourceid
   390    390   **
   391    391   ** These interfaces provide the same information as the [SQLITE_VERSION],
   392    392   ** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros
................................................................................
 44994  44994   **
 44995  44995   ** The PCache mutex must be held when this function is called.
 44996  44996   */
 44997  44997   static void pcache1TruncateUnsafe(
 44998  44998     PCache1 *pCache,             /* The cache to truncate */
 44999  44999     unsigned int iLimit          /* Drop pages with this pgno or larger */
 45000  45000   ){
 45001         -  TESTONLY( unsigned int nPage = 0; )  /* To assert pCache->nPage is correct */
 45002         -  unsigned int h;
        45001  +  TESTONLY( int nPage = 0; )  /* To assert pCache->nPage is correct */
        45002  +  unsigned int h, iStop;
 45003  45003     assert( sqlite3_mutex_held(pCache->pGroup->mutex) );
 45004         -  for(h=0; h<pCache->nHash; h++){
 45005         -    PgHdr1 **pp = &pCache->apHash[h]; 
        45004  +  assert( pCache->iMaxKey >= iLimit );
        45005  +  assert( pCache->nHash > 0 );
        45006  +  if( pCache->iMaxKey - iLimit < pCache->nHash ){
        45007  +    /* If we are just shaving the last few pages off the end of the
        45008  +    ** cache, then there is no point in scanning the entire hash table.
        45009  +    ** Only scan those hash slots that might contain pages that need to
        45010  +    ** be removed. */
        45011  +    h = iLimit % pCache->nHash;
        45012  +    iStop = pCache->iMaxKey % pCache->nHash;
        45013  +    TESTONLY( nPage = -10; )  /* Disable the pCache->nPage validity check */
        45014  +  }else{
        45015  +    /* This is the general case where many pages are being removed.
        45016  +    ** It is necessary to scan the entire hash table */
        45017  +    h = pCache->nHash/2;
        45018  +    iStop = h - 1;
        45019  +  }
        45020  +  for(;;){
        45021  +    PgHdr1 **pp;
 45006  45022       PgHdr1 *pPage;
        45023  +    assert( h<pCache->nHash );
        45024  +    pp = &pCache->apHash[h]; 
 45007  45025       while( (pPage = *pp)!=0 ){
 45008  45026         if( pPage->iKey>=iLimit ){
 45009  45027           pCache->nPage--;
 45010  45028           *pp = pPage->pNext;
 45011  45029           if( !pPage->isPinned ) pcache1PinPage(pPage);
 45012  45030           pcache1FreePage(pPage);
 45013  45031         }else{
 45014  45032           pp = &pPage->pNext;
 45015         -        TESTONLY( nPage++; )
        45033  +        TESTONLY( if( nPage>=0 ) nPage++; )
 45016  45034         }
 45017  45035       }
        45036  +    if( h==iStop ) break;
        45037  +    h = (h+1) % pCache->nHash;
 45018  45038     }
 45019         -  assert( pCache->nPage==nPage );
        45039  +  assert( nPage<0 || pCache->nPage==(unsigned)nPage );
 45020  45040   }
 45021  45041   
 45022  45042   /******************************************************************************/
 45023  45043   /******** sqlite3_pcache Methods **********************************************/
 45024  45044   
 45025  45045   /*
 45026  45046   ** Implementation of the sqlite3_pcache.xInit method.
................................................................................
 45489  45509   ** Destroy a cache allocated using pcache1Create().
 45490  45510   */
 45491  45511   static void pcache1Destroy(sqlite3_pcache *p){
 45492  45512     PCache1 *pCache = (PCache1 *)p;
 45493  45513     PGroup *pGroup = pCache->pGroup;
 45494  45514     assert( pCache->bPurgeable || (pCache->nMax==0 && pCache->nMin==0) );
 45495  45515     pcache1EnterMutex(pGroup);
 45496         -  pcache1TruncateUnsafe(pCache, 0);
        45516  +  if( pCache->nPage ) pcache1TruncateUnsafe(pCache, 0);
 45497  45517     assert( pGroup->nMaxPage >= pCache->nMax );
 45498  45518     pGroup->nMaxPage -= pCache->nMax;
 45499  45519     assert( pGroup->nMinPage >= pCache->nMin );
 45500  45520     pGroup->nMinPage -= pCache->nMin;
 45501  45521     pGroup->mxPinned = pGroup->nMaxPage + 10 - pGroup->nMinPage;
 45502  45522     pcache1EnforceMaxPage(pCache);
 45503  45523     pcache1LeaveMutex(pGroup);
................................................................................
193996 194016   static void fts5SourceIdFunc(
193997 194017     sqlite3_context *pCtx,          /* Function call context */
193998 194018     int nArg,                       /* Number of args */
193999 194019     sqlite3_value **apUnused        /* Function arguments */
194000 194020   ){
194001 194021     assert( nArg==0 );
194002 194022     UNUSED_PARAM2(nArg, apUnused);
194003         -  sqlite3_result_text(pCtx, "fts5: 2016-08-08 13:40:27 d5e98057028abcf7217d0d2b2e29bbbcdf09d6de", -1, SQLITE_TRANSIENT);
       194023  +  sqlite3_result_text(pCtx, "fts5: 2016-08-11 18:53:32 a12d8059770df4bca59e321c266410344242bf7b", -1, SQLITE_TRANSIENT);
194004 194024   }
194005 194025   
194006 194026   static int fts5Init(sqlite3 *db){
194007 194027     static const sqlite3_module fts5Mod = {
194008 194028       /* iVersion      */ 2,
194009 194029       /* xCreate       */ fts5CreateMethod,
194010 194030       /* xConnect      */ fts5ConnectMethod,

Changes to SQLite.Interop/src/core/sqlite3.h.

   116    116   ** string contains the date and time of the check-in (UTC) and an SHA1
   117    117   ** hash of the entire source tree.
   118    118   **
   119    119   ** See also: [sqlite3_libversion()],
   120    120   ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
   121    121   ** [sqlite_version()] and [sqlite_source_id()].
   122    122   */
   123         -#define SQLITE_VERSION        "3.14.0"
   124         -#define SQLITE_VERSION_NUMBER 3014000
   125         -#define SQLITE_SOURCE_ID      "2016-08-08 13:40:27 d5e98057028abcf7217d0d2b2e29bbbcdf09d6de"
          123  +#define SQLITE_VERSION        "3.14.1"
          124  +#define SQLITE_VERSION_NUMBER 3014001
          125  +#define SQLITE_SOURCE_ID      "2016-08-11 18:53:32 a12d8059770df4bca59e321c266410344242bf7b"
   126    126   
   127    127   /*
   128    128   ** CAPI3REF: Run-Time Library Version Numbers
   129    129   ** KEYWORDS: sqlite3_version, sqlite3_sourceid
   130    130   **
   131    131   ** These interfaces provide the same information as the [SQLITE_VERSION],
   132    132   ** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros

Changes to SQLite.Interop/src/ext/fts5.c.

 16885  16885   static void fts5SourceIdFunc(
 16886  16886     sqlite3_context *pCtx,          /* Function call context */
 16887  16887     int nArg,                       /* Number of args */
 16888  16888     sqlite3_value **apUnused        /* Function arguments */
 16889  16889   ){
 16890  16890     assert( nArg==0 );
 16891  16891     UNUSED_PARAM2(nArg, apUnused);
 16892         -  sqlite3_result_text(pCtx, "fts5: 2016-08-08 13:40:27 d5e98057028abcf7217d0d2b2e29bbbcdf09d6de", -1, SQLITE_TRANSIENT);
        16892  +  sqlite3_result_text(pCtx, "fts5: 2016-08-11 18:53:32 a12d8059770df4bca59e321c266410344242bf7b", -1, SQLITE_TRANSIENT);
 16893  16893   }
 16894  16894   
 16895  16895   static int fts5Init(sqlite3 *db){
 16896  16896     static const sqlite3_module fts5Mod = {
 16897  16897       /* iVersion      */ 2,
 16898  16898       /* xCreate       */ fts5CreateMethod,
 16899  16899       /* xConnect      */ fts5ConnectMethod,

Changes to readme.htm.

     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      8   Version 1.0.103.0 - September XX, 2016 <font color="red">(release scheduled)</font><br />
     9         -Using <a href="https://www.sqlite.org/releaselog/3_14.html">SQLite 3.14</a><br />
            9  +Using <a href="https://www.sqlite.org/releaselog/3_14_1.html">SQLite 3.14.1</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:&nbsp;<a href="https://system.data.sqlite.org/">https://system.data.sqlite.org/</a><br />
    13     13   Legacy versions:&nbsp;<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="https://system.data.sqlite.org/index.html/timeline?y=ci">
    16     16   https://system.data.sqlite.org/index.html/timeline?y=ci</a>
................................................................................
   208    208   
   209    209   <h2><b>Version History</b></h2>
   210    210   
   211    211   <p>
   212    212       <b>1.0.103.0 - September XX, 2016 <font color="red">(release scheduled)</font></b>
   213    213   </p>
   214    214   <ul>
   215         -    <li>Updated to <a href="https://www.sqlite.org/releaselog/3_14.html">SQLite 3.14</a>.</li>
          215  +    <li>Updated to <a href="https://www.sqlite.org/releaselog/3_14_1.html">SQLite 3.14.1</a>.</li>
   216    216       <li>Add preliminary support for the .NET Framework 4.6.2.</li>
   217    217       <li>Change the SQLiteReadValueCallback delegate &quot;eventArgs&quot; parameter to be of type SQLiteReadEventArgs.&nbsp;<b>** Potentially Incompatible Change **</b></li>
   218    218       <li>Make SQLiteReadValueEventArgs and SQLiteReadArrayEventArgs derive from SQLiteReadEventArgs.&nbsp;<b>** Potentially Incompatible Change **</b></li>
   219    219       <li>Rename SQLiteReadValueEventArgs.ArrayEventArgs property to ExtraEventArgs.&nbsp;<b>** Potentially Incompatible Change **</b></li>
   220    220       <li>Add No_SQLiteGetSettingValue and No_SQLiteXmlConfigFile environment variables.</li>
   221    221       <li>Reduce the number of calls to GetSettingValue from SQLiteConnection. Pursuant to [25d53b48f6].&nbsp;<b>** Potentially Incompatible Change **</b></li>
   222    222       <li>Add NoVerifyTypeAffinity connection flag to disable all type affinity checking.</li>

Changes to www/news.wiki.

     2      2   
     3      3   <b>Version History</b>
     4      4   
     5      5   <p>
     6      6       <b>1.0.103.0 - September XX, 2016 <font color="red">(release scheduled)</font></b>
     7      7   </p>
     8      8   <ul>
     9         -    <li>Updated to [https://www.sqlite.org/releaselog/3_14.html|SQLite 3.14].</li>
            9  +    <li>Updated to [https://www.sqlite.org/releaselog/3_14_1.html|SQLite 3.14.1].</li>
    10     10       <li>Add preliminary support for the .NET Framework 4.6.2.</li>
    11     11       <li>Change the SQLiteReadValueCallback delegate &quot;eventArgs&quot; parameter to be of type SQLiteReadEventArgs.&nbsp;<b>** Potentially Incompatible Change **</b></li>
    12     12       <li>Make SQLiteReadValueEventArgs and SQLiteReadArrayEventArgs derive from SQLiteReadEventArgs.&nbsp;<b>** Potentially Incompatible Change **</b></li>
    13     13       <li>Rename SQLiteReadValueEventArgs.ArrayEventArgs property to ExtraEventArgs.&nbsp;<b>** Potentially Incompatible Change **</b></li>
    14     14       <li>Add No_SQLiteGetSettingValue and No_SQLiteXmlConfigFile environment variables.</li>
    15     15       <li>Reduce the number of calls to GetSettingValue from SQLiteConnection. Pursuant to [25d53b48f6].&nbsp;<b>** Potentially Incompatible Change **</b></li>
    16     16       <li>Add NoVerifyTypeAffinity connection flag to disable all type affinity checking.</li>