System.Data.SQLite
Check-in [4e06fa226c]
Not logged in

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

Overview
Comment:Update version history for build 77.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 4e06fa226c39ac09c9c4f6746b85a860afcdc0cd
User & Date: mistachkin 2011-11-06 22:00:35
Context
2011-11-08
15:14
Update core SQLite to 3.7.9 release plus the SQLITE_OMIT_WAL fix. check-in: 87915ae0ec user: mistachkin tags: trunk
2011-11-06
22:00
Update version history for build 77. check-in: 4e06fa226c user: mistachkin tags: trunk
00:39
Update build number to 77. check-in: edbed78c0e user: mistachkin tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to Doc/Extra/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.77.0 - November XX, 2011</b></p>
           47  +    <ul>
           48  +      <li>Updated to SQLite 3.7.9 <a href="http://www.sqlite.org/src/info/c7c6050ef0">[c7c6050ef0]</a>.</li>
           49  +      <li>More enhancements to the build and test automation.</li>
           50  +      <li>Support building the core System.Data.SQLite assemblies using the .NET Framework 4.0 Client Profile. Fix for <a href="http://system.data.sqlite.org/index.html/info/566f1ad1e4">[566f1ad1e4]</a>.</li>
           51  +      <li>When returning schema information that may be used by the .NET Framework to construct dynamic SQL, use a fake schema name (instead of null) so that the table names will be properly qualified with the catalog name (i.e. the attached database name). Partial fix for <a href="http://system.data.sqlite.org/index.html/info/343d392b51">[343d392b51]</a>.</li>
           52  +      <li>Add DateTimeKind connection string property to control the DateTimeKind of parsed DateTime values. Partial fix for <a href="http://system.data.sqlite.org/index.html/info/343d392b51">[343d392b51]</a>.</li>
           53  +      <li>Improve the robustness of the SQLiteLog class when it will be initialized and unloaded multiple times.</li>
           54  +      <li>Fix the name of the interop assembly for Windows CE. Add unit tests to prevent this type of issue from happening again. Fix for <a href="http://system.data.sqlite.org/index.html/info/737ca4ff74">[737ca4ff74]</a>.</li>
           55  +      <li>Formally support the SQL type name BOOLEAN in addition to BOOL. Fix for <a href="http://system.data.sqlite.org/index.html/info/544dba0a2f">[544dba0a2f]</a>.</li>
           56  +      <li>Make sure the SQLiteConvert.TypeNameToDbType method is thread-safe. Fix for <a href="http://system.data.sqlite.org/index.html/info/84718e79fa">[84718e79fa]</a>.</li>
           57  +    </ul>
    46     58       <p><b>1.0.76.0 - October 4, 2011</b></p>
    47     59       <ul>
    48     60         <li>Prevent the domain unload event handler in SQLiteLog from being registered multiple times. Fix for <a href="http://system.data.sqlite.org/index.html/info/0d5b1ef362">[0d5b1ef362]</a>.</li>
    49     61         <li>Stop allowing non-default application domains to initialize the SQLiteLog class. Fix for <a href="http://system.data.sqlite.org/index.html/info/ac47dd230a">[ac47dd230a]</a>.</li>
    50     62       </ul>
    51     63       <p><b>1.0.75.0 - October 3, 2011</b></p>
    52     64       <ul>
................................................................................
   145    157       </ul>
   146    158       <p><b>1.0.65.0 - July 26, 2009</b></p>
   147    159       <ul>
   148    160         <li>Fixed a bug in the encryption module to prevent a double free() when rekeying a database.</li>
   149    161         <li>Fixed a bug in the encryption module when ATTACHing an encrypted database.</li>
   150    162         <li>Incorporated the WinCE locking fix from ticket
   151    163           <a href="http://www.sqlite.org/cvstrac/tktview?tn=3991">#3991</a></li>
   152         -      <li>Added &quot;bigint&quot; to the dropdown in the table designer, plus other minor table 
          164  +      <li>Added &quot;bigint&quot; to the dropdown in the table designer, plus other minor table
   153    165           designer bugfixes.</li>
   154    166       </ul>
   155    167       <p><b>1.0.64.0 - July 9, 2009</b></p>
   156    168       <ul>
   157    169         <li>Fixed the missing resources problem from the 63 release.</li>
   158    170         <li>Added preliminary support for the Visual Studio 2010 beta.</li>
   159         -      <li>Fixed a bug in SQLiteCommand that threw a null reference exception when 
          171  +      <li>Fixed a bug in SQLiteCommand that threw a null reference exception when
   160    172           setting the Transaction object to null.</li>
   161         -      <li>If SQLiteConnection.EnlistTransaction is called multiple times for the same 
          173  +      <li>If SQLiteConnection.EnlistTransaction is called multiple times for the same
   162    174           transaction scope, just return without throwing an error.</li>
   163    175       </ul>
   164    176       <p><b>1.0.63.0 - June 29, 2009</b></p>
   165    177       <ul>
   166    178         <li>Code merge with SQLite 3.6.16</li>
   167         -      <li>Check the autocommit mode of the connection to which a transaction is bound 
   168         -        during the disposal of the transaction.&nbsp; If autocommit is enabled, then the 
   169         -        database has already rolled back the transaction and we don&#39;t need to do it 
          179  +      <li>Check the autocommit mode of the connection to which a transaction is bound
          180  +        during the disposal of the transaction.&nbsp; If autocommit is enabled, then the
          181  +        database has already rolled back the transaction and we don&#39;t need to do it
   170    182           during dispose, and can quietly ignore the step without throwing an error.</li>
   171         -      <li>Eliminated the mergebin step altogether.&nbsp; It was developed primarily to 
   172         -        merge the Compact Framework binaries together, but since we&#39;re not doing that 
   173         -        anymore, its use is limited.&nbsp; Its non-standard method of merging a binary 
   174         -        on the desktop framework is redundant as well.&nbsp; The desktop binary now 
   175         -        hard-links to MSCOREE, but as of Windows XP, this was redundant as well since XP 
   176         -        and beyond automatically attempt to load MSCOREE on startup when a DLL has a 
          183  +      <li>Eliminated the mergebin step altogether.&nbsp; It was developed primarily to
          184  +        merge the Compact Framework binaries together, but since we&#39;re not doing that
          185  +        anymore, its use is limited.&nbsp; Its non-standard method of merging a binary
          186  +        on the desktop framework is redundant as well.&nbsp; The desktop binary now
          187  +        hard-links to MSCOREE, but as of Windows XP, this was redundant as well since XP
          188  +        and beyond automatically attempt to load MSCOREE on startup when a DLL has a
   177    189           .NET header.</li>
   178         -      <li>More improvements to the test.exe program for running the tests against Sql 
          190  +      <li>More improvements to the test.exe program for running the tests against Sql
   179    191           Server for comparison purposes.</li>
   180    192       </ul>
   181    193       <p><b>1.0.62.0 - June 20, 2009</b></p>
   182    194       <ul>
   183    195         <li>Code merge with SQLite 3.6.15</li>
   184    196         <li>Fixed the decimal reading bug in the SQLiteDataReader</li>
   185         -      <li>Changed Join()&#39;s to Sleep()&#39;s in the statement retry code to prevent message 
          197  +      <li>Changed Join()&#39;s to Sleep()&#39;s in the statement retry code to prevent message
   186    198           pumping</li>
   187         -      <li>Fixed a bad pointer conversion when retrieving blobs using GetBytes() in 
          199  +      <li>Fixed a bad pointer conversion when retrieving blobs using GetBytes() in
   188    200           64-bit land</li>
   189         -      <li>Several changes to the Test program that comes with the provider.&nbsp; Tests 
   190         -        can now be individually disabled, and the test program can run against several 
          201  +      <li>Several changes to the Test program that comes with the provider.&nbsp; Tests
          202  +        can now be individually disabled, and the test program can run against several
   191    203           provider back-ends</li>
   192    204       </ul>
   193    205       <p><b>1.0.61.0 - April 28, 2009</b></p>
   194    206       <ul>
   195    207         <li>Code merge with SQLite 3.6.13.  The new backup features are as yet unimplemented in the provider, but will be forthcoming in a subsequent release</li>
   196    208         <li>Fixed the default-value lookups in SQLiteConnectionStringBuilder when accessing properties</li>
   197    209         <li>Lock the SQLiteTransaction object during dispose to avoid potential race condition during cleanup</li>
   198    210         <li>Fixed SQLiteDataReader.GetDecimal() processing and parsing of decimal values for cases when SQLite returns things like "1.0e-05" instead of "0.0001"</li>
   199    211       </ul>
   200    212       <p><b>1.0.60.0 - October 3, 2008</b></p>
   201    213       <ul>
   202         -      <li>Throw a NotSupported exception in the EF Sql Gen code instead of parsing 
          214  +      <li>Throw a NotSupported exception in the EF Sql Gen code instead of parsing
   203    215           illegal SQL during an update/insert/delete where no primary key is defined.</li>
   204         -      <li>Fixed the Compact Framework interop library.&nbsp; Since the linker flag 
   205         -        /subsystem had no version specified, it was causing a problem for many CE-based 
          216  +      <li>Fixed the Compact Framework interop library.&nbsp; Since the linker flag
          217  +        /subsystem had no version specified, it was causing a problem for many CE-based
   206    218           platforms.</li>
   207    219         <li>Incorporated SQLite patch for ticket
   208         -        <a href="http://www.sqlite.org/cvstrac/tktview?tn=3387">#3387</a> and reverted 
          220  +        <a href="http://www.sqlite.org/cvstrac/tktview?tn=3387">#3387</a> and reverted
   209    221           out the vfs override code I added in build 59 to work around this problem.</li>
   210         -      <li>Fixed a designer issue when creating a new table from the Server Explorer.&nbsp; 
   211         -        After initially saving it, if you then continued to edit it and tried to save it 
   212         -        again, it would generate the change SQL using the old temporary table name 
          222  +      <li>Fixed a designer issue when creating a new table from the Server Explorer.&nbsp;
          223  +        After initially saving it, if you then continued to edit it and tried to save it
          224  +        again, it would generate the change SQL using the old temporary table name
   213    225           rather than the new name.</li>
   214    226       </ul>
   215    227       <p><b>1.0.59.0 - September 22, 2008</b></p>
   216    228       <ul>
   217         -      <li>Code merge with SQLite 3.6.3.&nbsp; Solves 
   218         -        a couple different EF issues that were either giving inconsistent results or 
          229  +      <li>Code merge with SQLite 3.6.3.&nbsp; Solves
          230  +        a couple different EF issues that were either giving inconsistent results or
   219    231           crashing the engine.</li>
   220         -      <li>Fixed the parsing of literal binaries in the EF SqlGen code.&nbsp; SQLite now 
   221         -        passes nearly all the testcases in 
   222         -        <a href="http://sqlite.phxsoftware.com/forums/p/1377/5921.aspx#5921">Microsoft's EF Query Samples</a> application -- 
   223         -        the exception being the <i>datetimeoffset </i>and<i> time</i> constants tests, and tests 
          232  +      <li>Fixed the parsing of literal binaries in the EF SqlGen code.&nbsp; SQLite now
          233  +        passes nearly all the testcases in
          234  +        <a href="http://sqlite.phxsoftware.com/forums/p/1377/5921.aspx#5921">Microsoft's EF Query Samples</a> application --
          235  +        the exception being the <i>datetimeoffset </i>and<i> time</i> constants tests, and tests
   224    236           that use the <i>APPLY </i>keyword which are unsupported for now.</li>
   225         -      <li>Revamped the Compact Framework mixed-mode assembly.&nbsp; Tired of playing cat 
   226         -        and mouse with the Compact Framework&#39;s support for mixed-mode assemblies.&nbsp; 
   227         -        The CF build now requires that you distribute both the System.Data.SQLite 
   228         -        library and the paired SQLite.Interop.XXX library.&nbsp;&nbsp; The XXX denotes 
          237  +      <li>Revamped the Compact Framework mixed-mode assembly.&nbsp; Tired of playing cat
          238  +        and mouse with the Compact Framework&#39;s support for mixed-mode assemblies.&nbsp;
          239  +        The CF build now requires that you distribute both the System.Data.SQLite
          240  +        library and the paired SQLite.Interop.XXX library.&nbsp;&nbsp; The XXX denotes
   229    241           the build number of the library.</li>
   230         -      <li>Implemented a workaround for Vista&#39;s overzealous caching by turning off 
   231         -        FILE_FLAG_RANDOM_ACCESS for OS versions above XP.&nbsp; This is implemented 
   232         -        as a custom (default override) VFS in the interop.c file, so no changes are made 
          242  +      <li>Implemented a workaround for Vista&#39;s overzealous caching by turning off
          243  +        FILE_FLAG_RANDOM_ACCESS for OS versions above XP.&nbsp; This is implemented
          244  +        as a custom (default override) VFS in the interop.c file, so no changes are made
   233    245           to the SQLite source code.</li>
   234         -      <li>Fixed some registry issues in the designer install.exe, which prevented some 
   235         -        design-time stuff from working on the Compact Framework when .NET 3.5 was 
          246  +      <li>Fixed some registry issues in the designer install.exe, which prevented some
          247  +        design-time stuff from working on the Compact Framework when .NET 3.5 was
   236    248           installed.</li>
   237    249       </ul>
   238    250       <p><b>1.0.58.0 - August 30, 2008</b></p>
   239    251       <ul>
   240         -      <li>Code merge with SQLite 3.6.2.&nbsp; If only I&#39;d waited one more day to release 
   241         -        57!&nbsp; Several LINQ issues have been resolved with this engine release 
          252  +      <li>Code merge with SQLite 3.6.2.&nbsp; If only I&#39;d waited one more day to release
          253  +        57!&nbsp; Several LINQ issues have been resolved with this engine release
   242    254           relating to deeply-nested subqueries that the EF SqlGen creates.</li>
   243         -      <li>Fixed the Rollback SQLiteConnection event to not require a connection be 
          255  +      <li>Fixed the Rollback SQLiteConnection event to not require a connection be
   244    256           opened first.</li>
   245    257       </ul>
   246    258       <p><b>1.0.57.0 - August 29, 2008</b></p>
   247    259       <ul>
   248    260         <li>Compiled against 3.6.1 with checkin
   249         -        <a href="http://www.sqlite.org/cvstrac/tktview?tn=3300">#3300</a> resolved, 
   250         -        which fixes an Entity Framework bug I was seeing.&nbsp; I currently have 3 other 
          261  +        <a href="http://www.sqlite.org/cvstrac/tktview?tn=3300">#3300</a> resolved,
          262  +        which fixes an Entity Framework bug I was seeing.&nbsp; I currently have 3 other
   251    263           tickets out on the engine, which are not yet resolved and relate to EF.</li>
   252         -      <li>Fixed decimal types to store and fetch using InvariantCulture.&nbsp; If you&#39;re 
   253         -        using decimal datatypes in your database and were affected by the 56 release, 
   254         -        please issue an UPDATE &lt;table&gt; SET &lt;column&gt; = REPLACE(&lt;column&gt;, &#39;,&#39;, &#39;.&#39;);&nbsp; 
   255         -        to fix the decimal separators.&nbsp; Apologies for not testing that more 
          264  +      <li>Fixed decimal types to store and fetch using InvariantCulture.&nbsp; If you&#39;re
          265  +        using decimal datatypes in your database and were affected by the 56 release,
          266  +        please issue an UPDATE &lt;table&gt; SET &lt;column&gt; = REPLACE(&lt;column&gt;, &#39;,&#39;, &#39;.&#39;);&nbsp;
          267  +        to fix the decimal separators.&nbsp; Apologies for not testing that more
   256    268           thoroughly before releasing 56.</li>
   257         -      <li>Too many LINQ fixes to list.&nbsp; Fixed views so they generate, 
          269  +      <li>Too many LINQ fixes to list.&nbsp; Fixed views so they generate,
   258    270           fixed the LIMIT clause, implemented additional functionality and removed unnecessary code.</li>
   259         -      <li>Fixed foreign key names in the designer so viewing the SQL script on a new 
   260         -        unsaved table after renaming it in the properties toolwindow will reflect in the 
          271  +      <li>Fixed foreign key names in the designer so viewing the SQL script on a new
          272  +        unsaved table after renaming it in the properties toolwindow will reflect in the
   261    273           script properly.</li>
   262         -      <li>Fixed the Update and Commit events on SQLiteConnection so they don&#39;t require 
          274  +      <li>Fixed the Update and Commit events on SQLiteConnection so they don&#39;t require
   263    275           the connection to be opened first.</li>
   264         -      <li>Fixed userdef aggregate functions so they play nice with each other when 
          276  +      <li>Fixed userdef aggregate functions so they play nice with each other when
   265    277           appearing multiple times in the same statement.</li>
   266    278         <li>Fixed the editing and saving of default values in the table designer.</li>
   267         -      <li>Fixed ForeignKeys schema to support multi-column foreign keys.&nbsp; Also 
   268         -        hacked support for them in the table designer, provided two foreign keys in the 
   269         -        designer have the same name and reference the same foreign table and different 
          279  +      <li>Fixed ForeignKeys schema to support multi-column foreign keys.&nbsp; Also
          280  +        hacked support for them in the table designer, provided two foreign keys in the
          281  +        designer have the same name and reference the same foreign table and different
   270    282           columns.&nbsp; Will implement first-class support for this in the next release.</li>
   271    283       </ul>
   272    284       <p><b>1.0.56.0 - August 11, 2008</b></p>
   273    285       <ul>
   274         -      <li>Fixed a bug in the table designer when designing new tables, wherein you had to 
          286  +      <li>Fixed a bug in the table designer when designing new tables, wherein you had to
   275    287           save the table first before being able to create indexes and foreign keys.</li>
   276         -      <li>Tweaks to decimal type handling.&nbsp; The &#39;decimal&#39; type can&#39;t be represented 
   277         -        by Int64 or Double (without loss of precision) in SQLite, so we have to fudge it 
   278         -        by treating it like a string and converting it back and forth in the provider.&nbsp; 
   279         -        Unfortunately backing it to the db as a string causes sorting problems.&nbsp; 
   280         -        See <a href="http://sqlite.phxsoftware.com/forums/p/1296/5595.aspx#5595">this 
   281         -        post</a> 
          288  +      <li>Tweaks to decimal type handling.&nbsp; The &#39;decimal&#39; type can&#39;t be represented
          289  +        by Int64 or Double (without loss of precision) in SQLite, so we have to fudge it
          290  +        by treating it like a string and converting it back and forth in the provider.&nbsp;
          291  +        Unfortunately backing it to the db as a string causes sorting problems.&nbsp;
          292  +        See <a href="http://sqlite.phxsoftware.com/forums/p/1296/5595.aspx#5595">this
          293  +        post</a>
   282    294           for details on using a custom collation sequence to overcome the sorting issue arising from this patch.</li>
   283    295         <li>Minor tweaks and bugfixes to the test program and the provider.</li>
   284         -      <li>More adjustments to make the managed-only version of the provider run and pass 
          296  +      <li>More adjustments to make the managed-only version of the provider run and pass
   285    297           all tests on Mono.</li>
   286         -      <li>LINQ to Entities bits heavily updated and compiled against VS2008 SP1 RTM.&nbsp; SQLite 
          298  +      <li>LINQ to Entities bits heavily updated and compiled against VS2008 SP1 RTM.&nbsp; SQLite
   287    299           LINQ support is still considered beta.</li>
   288    300       </ul>
   289    301       <p><b>1.0.55.0 - August 6, 2008</b></p>
   290    302       <ul>
   291    303         <li>Code merge with SQLite 3.6.1</li>
   292    304         <li>Added support for the user-contributed extension-functions at
   293         -        <a href="http://www.sqlite.org/contrib">http://www.sqlite.org/contrib</a>.&nbsp; 
   294         -        Feel free to override any of them with your own implementation.&nbsp; The new 
   295         -        functions are: <i>acos, asin, atan, atn2, atan2, acosh, asinh, atanh, 
   296         -        difference, degrees, radians, cos, sin, tan, cot, cosh, sinh, tanh, coth, exp, 
   297         -        log, log10, power, sign, sqrt, square, ceil, floor, pi, replicate, charindex, 
   298         -        leftstr, rightstr, reverse, proper, padl, padr, padc, strfilter,</i> and 
          305  +        <a href="http://www.sqlite.org/contrib">http://www.sqlite.org/contrib</a>.&nbsp;
          306  +        Feel free to override any of them with your own implementation.&nbsp; The new
          307  +        functions are: <i>acos, asin, atan, atn2, atan2, acosh, asinh, atanh,
          308  +        difference, degrees, radians, cos, sin, tan, cot, cosh, sinh, tanh, coth, exp,
          309  +        log, log10, power, sign, sqrt, square, ceil, floor, pi, replicate, charindex,
          310  +        leftstr, rightstr, reverse, proper, padl, padr, padc, strfilter,</i> and
   299    311           aggregates <i>stdev, variance, mode, median, lower_quartile, upper_quartile.</i></li>
   300    312         <li>Moved the last_rows_affected() function to the C extension library.</li>
   301         -      <li>Added a new class, SQLiteFunctionEx which extends SQLiteFunction and adds the 
   302         -        ability for a user-defined function to get the collating sequence during the 
   303         -        Invoke/Step methods.&nbsp; User-defined functions can use the collating sequence 
          313  +      <li>Added a new class, SQLiteFunctionEx which extends SQLiteFunction and adds the
          314  +        ability for a user-defined function to get the collating sequence during the
          315  +        Invoke/Step methods.&nbsp; User-defined functions can use the collating sequence
   304    316           as a helper to compare values.</li>
   305         -      <li>When registering user-defined collation sequences and functions, the provider 
          317  +      <li>When registering user-defined collation sequences and functions, the provider
   306    318           will now register both a UTF8 and a UTF16 version instead of just UTF8.</li>
   307         -      <li>Revamped connection pooling and added static ClearPool() and ClearAllPools() 
   308         -        functions to SQLiteConnection.&nbsp; Behavior of the pool and its clearing 
          319  +      <li>Revamped connection pooling and added static ClearPool() and ClearAllPools()
          320  +        functions to SQLiteConnection.&nbsp; Behavior of the pool and its clearing
   309    321           mechanics match SqlClient.</li>
   310         -      <li>Fixed connections going to the pool so that any unfinalized lingering commands 
   311         -        from un-collected datareaders are automatically reset and any lurking 
          322  +      <li>Fixed connections going to the pool so that any unfinalized lingering commands
          323  +        from un-collected datareaders are automatically reset and any lurking
   312    324           transactions made on the connection are rolled back.</li>
   313         -      <li>Transaction isolation levels are now partially supported.&nbsp; Serializable 
   314         -        is the default, which obtains read/write locks immediately -- this is compatible 
   315         -        with previous releases of the provider.&nbsp; Unspecified will default to 
   316         -        whatever the default isolation mode is set to, and ReadCommitted will cause a 
          325  +      <li>Transaction isolation levels are now partially supported.&nbsp; Serializable
          326  +        is the default, which obtains read/write locks immediately -- this is compatible
          327  +        with previous releases of the provider.&nbsp; Unspecified will default to
          328  +        whatever the default isolation mode is set to, and ReadCommitted will cause a
   317    329           deferred lock to be obtained.&nbsp; No other values are legal.</li>
   318         -      <li>Revamped the test.exe program.&nbsp; It&#39;s now an interactive GUI application.&nbsp; 
          330  +      <li>Revamped the test.exe program.&nbsp; It&#39;s now an interactive GUI application.&nbsp;
   319    331           Easier for me to add tests now.</li>
   320    332         <li>Tweaks to the VS designer package and installer.</li>
   321         -      <li>More adjustments to the internal SQLite3.Prepare() method to account for both 
          333  +      <li>More adjustments to the internal SQLite3.Prepare() method to account for both
   322    334           kinds of lock errors when retrying.</li>
   323         -      <li>Stripped a lot of unnecessary interop() calls and replaced with base sqlite calls.&nbsp; 
          335  +      <li>Stripped a lot of unnecessary interop() calls and replaced with base sqlite calls.&nbsp;
   324    336           Revamped most of UnsafeNativeMethods to make it easier to port the code.</li>
   325         -      <li>Rerigged internal callbacks for userdef functions and other native to managed 
          337  +      <li>Rerigged internal callbacks for userdef functions and other native to managed
   326    338           callbacks.&nbsp; More portable this way.</li>
   327         -      <li>Source can now can be compiled with the SQLITE_STANDARD preprocessor symbol to 
   328         -        force the wrapper to use the stock sqlite3 library.&nbsp; Some functionality is 
   329         -        missing, but its minimal.&nbsp; None of the precompiled binaries are compiled 
          339  +      <li>Source can now can be compiled with the SQLITE_STANDARD preprocessor symbol to
          340  +        force the wrapper to use the stock sqlite3 library.&nbsp; Some functionality is
          341  +        missing, but its minimal.&nbsp; None of the precompiled binaries are compiled
   330    342           using this setting, but its useful for testing portability.</li>
   331         -      <li>Added &quot;boolean&quot; and a couple other missing datatypes to the &quot;DataTypes&quot; schema 
          343  +      <li>Added &quot;boolean&quot; and a couple other missing datatypes to the &quot;DataTypes&quot; schema
   332    344           xml file.&nbsp; Used by the VS designer when displaying tables and querying.</li>
   333         -      <li>Added a new connection string option &quot;Read Only&quot;.&nbsp; When set to True, the 
          345  +      <li>Added a new connection string option &quot;Read Only&quot;.&nbsp; When set to True, the
   334    346           database will be opened in read-only mode.</li>
   335         -      <li>Added a new connection string option &quot;Max Pool Size&quot; to set the maximum size 
          347  +      <li>Added a new connection string option &quot;Max Pool Size&quot; to set the maximum size
   336    348           of the connection pool for a given db file connection.</li>
   337         -      <li>Added a new connection string option &quot;Default IsolationLevel&quot; to set the 
   338         -        default isolation level of transactions.&nbsp; Possible values are Serializable and 
          349  +      <li>Added a new connection string option &quot;Default IsolationLevel&quot; to set the
          350  +        default isolation level of transactions.&nbsp; Possible values are Serializable and
   339    351           ReadCommitted.</li>
   340         -      <li>Added a new connection string option &quot;URI&quot; as an optional parameter for 
          352  +      <li>Added a new connection string option &quot;URI&quot; as an optional parameter for
   341    353           compatibility with other ports of the provider.</li>
   342    354       </ul>
   343    355       <p><b>1.0.54.0 - July 25, 2008</b></p>
   344    356       <ul>
   345         -      <li>Fixed the setup project, which somehow &quot;forgot&quot; to include all the binaries in 
          357  +      <li>Fixed the setup project, which somehow &quot;forgot&quot; to include all the binaries in
   346    358           the 53 release.</li>
   347         -      <li>Fixed a crash in the table designer when creating a new table and tabbing past 
          359  +      <li>Fixed a crash in the table designer when creating a new table and tabbing past
   348    360           the &quot;Allow Nulls&quot; cell in the grid while creating a new column.</li>
   349         -      <li>Fixed a mostly-benign bug in SQLiteDataReader&#39;s GetEnumerator, which failed to 
   350         -        pass along a flag to the underyling DbEnumerator it creates.&nbsp; This one&#39;s 
          361  +      <li>Fixed a mostly-benign bug in SQLiteDataReader&#39;s GetEnumerator, which failed to
          362  +        pass along a flag to the underyling DbEnumerator it creates.&nbsp; This one&#39;s
   351    363           been around since day 1 and nobody&#39;s noticed it in all these years.</li>
   352         -      <li>Added a new connection string parameter &quot;Journal Mode&quot; that allows you to set 
          364  +      <li>Added a new connection string parameter &quot;Journal Mode&quot; that allows you to set
   353    365           the SQLite journal mode to Delete, Persist or Off.</li>
   354    366       </ul>
   355    367       <p><b>1.0.53.0 - July 24, 2008</b></p>
   356    368       <ul>
   357    369         <li>Enabled sqlite_load_extension</li>
   358         -      <li>Added retry/timeout code to SQLite3.Prepare() when preparing statements for 
          370  +      <li>Added retry/timeout code to SQLite3.Prepare() when preparing statements for
   359    371           execution and a SQLITE_BUSY error occurs.</li>
   360         -      <li>Added a new schema to SQLiteConnection.GetSchema() called <i>Triggers</i>.&nbsp; 
          372  +      <li>Added a new schema to SQLiteConnection.GetSchema() called <i>Triggers</i>.&nbsp;
   361    373           Used to retrieve the trigger(s) associated with a database and/or table/view.</li>
   362         -      <li>Extensive updates to table/view editing capabilities inside Visual Studio&#39;s 
   363         -        Server Explorer.&nbsp; The program now parses and lets you edit CHECK constraints and 
   364         -        triggers on a table, as well as define triggers on views.&nbsp; Experimental 
          374  +      <li>Extensive updates to table/view editing capabilities inside Visual Studio&#39;s
          375  +        Server Explorer.&nbsp; The program now parses and lets you edit CHECK constraints and
          376  +        triggers on a table, as well as define triggers on views.&nbsp; Experimental
   365    377           still, so e-mail me if you have issues.</li>
   366         -      <li>Minor bugfix to the ViewColumns schema to return the proper base column name 
          378  +      <li>Minor bugfix to the ViewColumns schema to return the proper base column name
   367    379           for a view that aliases a column.</li>
   368    380         <li>Fixed the insert/update/delete DML support in the Linq module.</li>
   369         -      <li>Changed the behavior of SQLiteCommand to allow a transaction to be set even if 
          381  +      <li>Changed the behavior of SQLiteCommand to allow a transaction to be set even if
   370    382           the command hasn&#39;t been associated with a connection yet.</li>
   371    383       </ul>
   372    384       <p><b>1.0.52.0 - July 16, 2008</b></p>
   373    385       <ul>
   374    386         <li>Code merge with SQLite 3.6.0</li>
   375         -      <li>Added a lot of previously-missing exports to the DEF file for the 
          387  +      <li>Added a lot of previously-missing exports to the DEF file for the
   376    388           native library.</li>
   377         -      <li>Fixed SQLiteDataReader to check for an invalid connection before operating on 
          389  +      <li>Fixed SQLiteDataReader to check for an invalid connection before operating on
   378    390           an open cursor.</li>
   379    391         <li>Implemented the Cancel() function of SQLiteCommand to cancel an active reader.</li>
   380         -      <li>Added beta table and view designers to the Visual Studio Server Explorer.&nbsp; You can now 
   381         -        edit/create tables and views, manage indexes and foreign keys from Visual Studio.&nbsp; 
          392  +      <li>Added beta table and view designers to the Visual Studio Server Explorer.&nbsp; You can now
          393  +        edit/create tables and views, manage indexes and foreign keys from Visual Studio.&nbsp;
   382    394           This feature is still undergoing testing so use at your own risk!</li>
   383         -      <li>Fixed the Server Explorer so VS2005 users can once again right-click tables 
          395  +      <li>Fixed the Server Explorer so VS2005 users can once again right-click tables
   384    396           and views and open the table data.</li>
   385         -      <li>Added some new interop code to assist in returning more metadata not normally 
   386         -        available through the SQLite API.&nbsp; Specifically, index column sort modes 
   387         -        and collating sequences.&nbsp; Also added code to detect (but not parse) CHECK 
   388         -        constraints, so the table designer can pop up a warning when editing a table 
          397  +      <li>Added some new interop code to assist in returning more metadata not normally
          398  +        available through the SQLite API.&nbsp; Specifically, index column sort modes
          399  +        and collating sequences.&nbsp; Also added code to detect (but not parse) CHECK
          400  +        constraints, so the table designer can pop up a warning when editing a table
   389    401           with these constraints.&nbsp; Since I can&#39;t currently parse them.</li>
   390    402         <li>Lots of LINQ SQL generation improvements and fixes.</li>
   391         -      <li>Made some progress cleaning up and fixing up the schema definitions and 
          403  +      <li>Made some progress cleaning up and fixing up the schema definitions and
   392    404           manifests for EdmGen.</li>
   393         -      <li>Added a built-in SQLiteFunction called last_rows_affected() which can be 
   394         -        called from SQL to get the number of rows affected by the last update/insert 
   395         -        operation on the connection.&nbsp; This is roughly equivalent to Sql Server&#39;s 
   396         -        @@ROWCOUNT variable.</li>      
          405  +      <li>Added a built-in SQLiteFunction called last_rows_affected() which can be
          406  +        called from SQL to get the number of rows affected by the last update/insert
          407  +        operation on the connection.&nbsp; This is roughly equivalent to Sql Server&#39;s
          408  +        @@ROWCOUNT variable.</li>
   397    409       </ul>
   398    410       <p><b>1.0.51.0 - July 1, 2008</b></p>
   399    411       <ul>
   400    412         <li><b>VS2008 SP1 Beta1 LINQ Support</b></li>
   401         -      <li>Added experimental Entity Framework support in a new library, 
   402         -        System.Data.SQLite.Linq.&nbsp; Some things work, some don&#39;t.&nbsp; I haven&#39;t 
   403         -        finished rigging everything up yet.&nbsp; The core library remains stable.&nbsp; 
          413  +      <li>Added experimental Entity Framework support in a new library,
          414  +        System.Data.SQLite.Linq.&nbsp; Some things work, some don&#39;t.&nbsp; I haven&#39;t
          415  +        finished rigging everything up yet.&nbsp; The core library remains stable.&nbsp;
   404    416           All LINQ-specific code is completely separate from the core.</li>
   405         -      <li>&nbsp;Added some columns to several existing schemas to support some of the 
          417  +      <li>&nbsp;Added some columns to several existing schemas to support some of the
   406    418           EDM framework stuff.</li>
   407         -      <li>Minor tweaks to the factory to better support dynamic loading of the Linq 
          419  +      <li>Minor tweaks to the factory to better support dynamic loading of the Linq
   408    420           extension library for SQLite.</li>
   409         -      <li>SQLite&#39;s busy handler was interfering with the provider&#39;s busy handling 
          421  +      <li>SQLite&#39;s busy handler was interfering with the provider&#39;s busy handling
   410    422           mechanism, so its been disabled.</li>
   411    423       </ul>
   412    424       <p><b>1.0.50.0 - June 27, 2008</b></p>
   413    425       <ul>
   414    426         <li>Fixed some lingering dispose issues and race conditions when some objects were finalized.</li>
   415         -      <li>Fixed the SQLiteConvert.Split() routine to be a little smarter when splitting 
          427  +      <li>Fixed the SQLiteConvert.Split() routine to be a little smarter when splitting
   416    428           strings, which solves the quoted data source filename problem.</li>
   417         -      <li>Enhanced the mergebin utility to work around the strong name validation bug on 
   418         -        the Compact Framework.&nbsp; The old workaround kludged the DLL and caused WM6.1 
   419         -        to fail to load it.&nbsp; This new solution is permanent and no longer kludges 
          429  +      <li>Enhanced the mergebin utility to work around the strong name validation bug on
          430  +        the Compact Framework.&nbsp; The old workaround kludged the DLL and caused WM6.1
          431  +        to fail to load it.&nbsp; This new solution is permanent and no longer kludges
   420    432           the DLL.</li>
   421    433       </ul>
   422    434       <p><b>1.0.49.0 - May 28, 2008</b></p>
   423    435       <ul>
   424    436         <li>Code merge with SQLite 3.5.9</li>
   425    437         <li>Fixed schema problems when querying the TEMP catalog.</li>
   426    438         <li>Changed BLOB datatype schema to return IsLong = False instead of True.&nbsp; This
   427    439           was preventing DbCommandBuilder from using GUID's and BLOB's as primary keys.</li>
   428    440         <li>Fix rollover issue with SQLite3.Reset() using TickCount.</li>
   429         -      <li>Fixed SQLiteDataReader to dispose of its command (if called for) before 
          441  +      <li>Fixed SQLiteDataReader to dispose of its command (if called for) before
   430    442           closing the connection (when flagged to do so) instead of the other way around.</li>
   431    443         <li>Fixed a DbNull error when retrieving items not backed by a table schema.</li>
   432    444         <li>Fixed foreign key constraint parsing bug.</li>
   433    445         <li>Added FailIfMissing property to the SQLiteConnectionStringBuilder.</li>
   434    446         <li>Converted the source projects to Visual Studio 2008.</li>
   435    447       </ul>
   436    448       <p><b>1.0.48.0 - December 28, 2007</b></p>
................................................................................
   603    615       <ul>
   604    616       <li>Fixed a bug when using CommandBehavior.KeyInfo whereby integer primary key columns may be duplicated in the results. </li>
   605    617         <li>Enhanced the CommandBuilder so that update/delete statements are optimized when the affected table contains unique constraints and
   606    618         a primary key is present.</li>
   607    619         <li>Fixed a bug in the DataReader when used in conjunction with CommandBehavior.CloseConnection.</li></ul>
   608    620       <p><b>1.0.37.0 - November 19, 2006</b></p>
   609    621       <ul>
   610         -    <li>Added support for CommandBehavior.KeyInfo.&nbsp; 
          622  +    <li>Added support for CommandBehavior.KeyInfo.&nbsp;
   611    623         When specified in a query, additional column(s) will be returned describing the
   612    624         key(s) defined for the table(s) selected in the query.&nbsp; This is optimized when
   613    625         INTEGER PRIMARY KEY is set for the given tables, but does additional work for other
   614    626         kinds of primary keys.</li>
   615    627         <li>Removed the default values from SQLiteDataReader.GetTableSchema(), to better follow
   616    628           Sql Server's pattern and suppress schema errors when loading the records into a
   617    629           dataset/datatable.</li>
................................................................................
   916    928           Fixed a shortcut in SQLiteBase.GetValue which was insufficient for international environments.  The shortcut was removed and the "proper" procedure put in.
   917    929           </UL>
   918    930         <P><STRONG>1.0.19 - October 5, 2005</STRONG></P>
   919    931         <UL>
   920    932           <LI>
   921    933           Code merge with SQLite 3.2.7
   922    934           <LI>
   923         -        Fixed bugs in the CE port code (os_wince.c)&nbsp;which were brought to 
          935  +        Fixed bugs in the CE port code (os_wince.c)&nbsp;which were brought to
   924    936           light&nbsp;by&nbsp;recent changes in the SQLite engine.
   925    937           <LI>
   926         -          Recompiled and modified to be compatible with the September VS2005 Release 
          938  +          Recompiled and modified to be compatible with the September VS2005 Release
   927    939             Candidate.<BR>
   928    940             Beta 2 users should continue to use 1.0.18.1</LI></UL>
   929    941         <P><STRONG>1.0.18.1 - September 19, 2005</STRONG></P>
   930    942         <UL>
   931    943           <LI>
   932    944             Code merge with SQLite 3.2.6</LI></UL>
   933    945         <P><STRONG>1.0.18 - September 1, 2005</STRONG></P>
   934    946         <UL>
   935    947           <li>
   936         -          Added type-specific method calls when using the various SQLite classes that 
   937         -          would've normally returned a a generic Db base class, which aligns the code 
          948  +          Added type-specific method calls when using the various SQLite classes that
          949  +          would've normally returned a a generic Db base class, which aligns the code
   938    950             better with the Microsoft-supplied data providers.</li></UL>
   939    951         <p><b>1.0.17 - August 26, 2005</b></p>
   940    952         <ul>
   941    953           <li>
   942    954           Code merge with SQLite 3.2.5
   943    955           <li>
   944    956           Added Itanium and x64 build settings to the project (needs testing)
   945    957           <li>
   946    958           Bugfixes and enhancements to several schema types
   947    959           <li>
   948         -        Additional design-time support to include index and foreign key 
   949         -        enumerations.&nbsp; Requires re-registering the designer using 
   950         -        INSTALL.CMD.&nbsp; The new designer code now allows the VS query designer and 
   951         -        typed datasets to automatically link up foreign keys, use indexes, and 
          960  +        Additional design-time support to include index and foreign key
          961  +        enumerations.&nbsp; Requires re-registering the designer using
          962  +        INSTALL.CMD.&nbsp; The new designer code now allows the VS query designer and
          963  +        typed datasets to automatically link up foreign keys, use indexes, and
   952    964           automatically generate relationships from the schema.<li>
   953         -          Additional static methods on SQLiteConnection to create a database file, 
   954         -          encrypt a file using the Encrypted File System (EFS) on NTFS (requires NT 2K or 
          965  +          Additional static methods on SQLiteConnection to create a database file,
          966  +          encrypt a file using the Encrypted File System (EFS) on NTFS (requires NT 2K or
   955    967             above) and NTFS file compression</li>
   956    968         </ul>
   957    969         <p><b>1.0.16 - August 24, 2005</b></p>
   958    970         <ul>
   959    971           <li>
   960         -        Code merge with SQLite 3.2.4 with the large delete bugfix in CVS (which will 
          972  +        Code merge with SQLite 3.2.4 with the large delete bugfix in CVS (which will
   961    973           become 3.2.5 soon)
   962    974           <li>
   963    975             Added new GetSchema() types: IndexColumns, ViewColumns, ForeignKeys</li>
   964    976         </ul>
   965    977         <p><b>1.0.15 - August 22, 2005</b><br>
   966    978         </p>
   967    979         <ul>
   968    980           <li>
   969    981           Code merge with SQLite 3.2.3
   970    982           <LI>
   971         -          Minor updates for better design-time experience. More design-time code to 
          983  +          Minor updates for better design-time experience. More design-time code to
   972    984             follow in subsequent releases.</LI>
   973    985         </ul>
   974    986         <p><b>1.0.14 - August 16, 2005</b><br>
   975    987         </p>
   976    988         <ul>
   977    989           <li>
   978         -        Fixed a bug in the SQLiteDataAdapter due to insufficient implementation of the 
   979         -        class.&nbsp; The RowUpdating and RowUpdated events are now properly 
   980         -        implemented, but unfortunately inserting and updating data in a DataTable or 
   981         -        DataSet is now much slower.&nbsp; This is the proper design however, so the 
          990  +        Fixed a bug in the SQLiteDataAdapter due to insufficient implementation of the
          991  +        class.&nbsp; The RowUpdating and RowUpdated events are now properly
          992  +        implemented, but unfortunately inserting and updating data in a DataTable or
          993  +        DataSet is now much slower.&nbsp; This is the proper design however, so the
   982    994           changes are here to stay.
   983    995           <LI>
   984         -        Lots of schema changes to support Visual Studio's Data Designer architecture.<li>Added 
   985         -          Designer support for the provider.&nbsp; It's not 100%, but you can design 
   986         -          queries, add typed datasets and perform quite a number of tasks all within 
          996  +        Lots of schema changes to support Visual Studio's Data Designer architecture.<li>Added
          997  +          Designer support for the provider.&nbsp; It's not 100%, but you can design
          998  +          queries, add typed datasets and perform quite a number of tasks all within
   987    999             Visual Studio now.</li></ul>
   988   1000         <P><B>1.0.13 - August 8, 2005</B><BR>
   989   1001         </P>
   990   1002         <DIV>
   991   1003           <UL>
   992   1004             <LI>
   993         -          Fixed a named parameter bug in the base SQLite_UTF16 class, which of course 
   994         -          only showed up when a database connection was opened using the 
         1005  +          Fixed a named parameter bug in the base SQLite_UTF16 class, which of course
         1006  +          only showed up when a database connection was opened using the
   995   1007             UseUTF16Encoding=True parameter.
   996   1008             <LI>
   997   1009               Fixed a performance issue in SQLite_UTF16 involving string marshaling.</LI></UL>
   998   1010         </DIV>
   999   1011         <P><B>1.0.12 - August 5, 2005</B><BR>
  1000   1012         </P>
  1001   1013         <DIV>
  1002   1014           <UL>
  1003   1015             <LI>
  1004         -            Full support for the Compact Framework.&nbsp; Each build (Debug/Release) now 
  1005         -            has a&nbsp;platform, either Win32 or Compact Framework.&nbsp; The correct 
  1006         -            projects are built accordingly.&nbsp; See the&nbsp;<A href="#redist">Distributing 
         1016  +            Full support for the Compact Framework.&nbsp; Each build (Debug/Release) now
         1017  +            has a&nbsp;platform, either Win32 or Compact Framework.&nbsp; The correct
         1018  +            projects are built accordingly.&nbsp; See the&nbsp;<A href="#redist">Distributing
  1007   1019                 SQLite</A>
  1008         -          section for information on what files need to be distributed for each 
         1020  +          section for information on what files need to be distributed for each
  1009   1021             platform.&nbsp;
  1010   1022             <LI>
  1011         -          Modified SQLite3.Reset() and Step() functions to transparently handle timeouts 
  1012         -          while waiting on the database to become available (typically when a writer is 
         1023  +          Modified SQLite3.Reset() and Step() functions to transparently handle timeouts
         1024  +          while waiting on the database to become available (typically when a writer is
  1013   1025             waiting on a reader to finish, or a reader is waiting on a writer to finish).
  1014   1026             <LI>
  1015   1027             Lots of code cleanup&nbsp;as suggested&nbsp;by the Code Analyzer (FxCop).
  1016   1028             <LI>
  1017   1029             Lots of updates to the helpfile (as you can see).
  1018   1030             <LI>
  1019         -            Statements&nbsp;were already prepared lazily&nbsp;in a SQLiteCommand, but now 
  1020         -            its even more lazy.&nbsp; Statements are now only prepared if the statements 
  1021         -            haven't been previously prepared and a Prepare() function is called (and the 
  1022         -            command is associated with a connection) or just prior to the command being 
         1031  +            Statements&nbsp;were already prepared lazily&nbsp;in a SQLiteCommand, but now
         1032  +            its even more lazy.&nbsp; Statements are now only prepared if the statements
         1033  +            haven't been previously prepared and a Prepare() function is called (and the
         1034  +            command is associated with a connection) or just prior to the command being
  1023   1035               executed.&nbsp;</LI></UL>
  1024   1036         </DIV>
  1025   1037         <P><B>1.0.11 - August 1, 2005</B><BR>
  1026   1038         </P>
  1027   1039         <UL>
  1028   1040           <LI>
  1029         -          <STRONG>For everything except the Compact Framework, System.Data.SQLite.DLL is 
  1030         -            now the <EM>only</EM> DLL required to use this provider!</STRONG>&nbsp; The 
  1031         -        assembly is now a multi-module assembly, containing both the native SQLite3 
  1032         -        codebase and the C# classes built on top of it.&nbsp; The Compact Framework 
  1033         -        version (when completed) will not be able to support this feature, so backwards 
         1041  +          <STRONG>For everything except the Compact Framework, System.Data.SQLite.DLL is
         1042  +            now the <EM>only</EM> DLL required to use this provider!</STRONG>&nbsp; The
         1043  +        assembly is now a multi-module assembly, containing both the native SQLite3
         1044  +        codebase and the C# classes built on top of it.&nbsp; The Compact Framework
         1045  +        version (when completed) will not be able to support this feature, so backwards
  1034   1046           compatibility with the Compact Framework has been preserved for the future.
  1035   1047           <LI>
  1036         -          Fixed a bug in SQLiteCommand.ExecuteScalar() that caused it to stop executing 
  1037         -          commands once it obtained the first column of the first row-returning 
  1038         -          resultset.&nbsp; Any remaining statements after the row-returning statement was 
         1048  +          Fixed a bug in SQLiteCommand.ExecuteScalar() that caused it to stop executing
         1049  +          commands once it obtained the first column of the first row-returning
         1050  +          resultset.&nbsp; Any remaining statements after the row-returning statement was
  1039   1051             ignored.
  1040   1052           </LI>
  1041   1053         </UL>
  1042   1054         <P><B>1.0.10 - June 10, 2005</B><BR>
  1043   1055         </P>
  1044   1056         <UL>
  1045   1057           <LI>
  1046         -        Fixed a bug in the SQLite3.cs Prepare() function that created a statement even 
  1047         -        when the SQLite engine returned a NULL pointer. Typically this occurs when 
  1048         -        multiple statements are processed and there are trailing comments at the end of 
         1058  +        Fixed a bug in the SQLite3.cs Prepare() function that created a statement even
         1059  +        when the SQLite engine returned a NULL pointer. Typically this occurs when
         1060  +        multiple statements are processed and there are trailing comments at the end of
  1049   1061           the statement.
  1050   1062           <LI>
  1051         -          Fixed a bug in SQLiteStatement.cs that retrieved parameter names for a 
  1052         -          parameterized query.&nbsp; SQLite's parameters are 1-based, and the function 
  1053         -          was starting at 0.&nbsp; This was fine when all parameters were unnamed, but 
         1063  +          Fixed a bug in SQLiteStatement.cs that retrieved parameter names for a
         1064  +          parameterized query.&nbsp; SQLite's parameters are 1-based, and the function
         1065  +          was starting at 0.&nbsp; This was fine when all parameters were unnamed, but
  1054   1066             for named parameters it caused the parameters to be out of whack.
  1055   1067           </LI>
  1056   1068         </UL>
  1057   1069         <P><B>1.0.09a - May 25, 2005</B><BR>
  1058   1070         </P>
  1059   1071         <UL>
  1060   1072           <LI>
  1061         -        Fixed a broken helpfile and corrected some obsolete help remarks in 
         1073  +        Fixed a broken helpfile and corrected some obsolete help remarks in
  1062   1074           SQLiteFunction.cs
  1063   1075           <LI>
  1064   1076             Added a version resource to the SQLite.Interop.DLL.&nbsp;</LI></UL>
  1065   1077         <P><B>1.0.09 - May 24, 2005</B><BR>
  1066   1078         </P>
  1067   1079         <UL>
  1068   1080           <LI>
................................................................................
  1089   1101             Code merged the SQLite 3.14 source.
  1090   1102           </LI>
  1091   1103         </UL>
  1092   1104         <P><B>1.0.07 - Mar 5, 2005</B><BR>
  1093   1105         </P>
  1094   1106         <UL>
  1095   1107           <LI>
  1096         -        Made more optimizations to frequently-called functions, resulting in 
         1108  +        Made more optimizations to frequently-called functions, resulting in
  1097   1109           significant performance gains in all tests.
  1098   1110           <LI>
  1099         -          Recompiled the binaries using the latest VS2005 February CTP, resulting in yet 
  1100         -          more significant speed gains.&nbsp; The 100k insert test used to take 3.5 
  1101         -          seconds and the insertwithidentity took almost 8 seconds.&nbsp; With the above 
         1111  +          Recompiled the binaries using the latest VS2005 February CTP, resulting in yet
         1112  +          more significant speed gains.&nbsp; The 100k insert test used to take 3.5
         1113  +          seconds and the insertwithidentity took almost 8 seconds.&nbsp; With the above
  1102   1114             two changes, those tests are now executing in 1.9 and 4.9 seconds respectively.</LI></UL>
  1103   1115         <P><B>1.0.06 - Mar 1, 2005<BR>
  1104   1116           </B>
  1105   1117         </P>
  1106   1118         <UL>
  1107   1119           <LI>
  1108         -        Speed-ups to SQLiteDataReader.&nbsp; It was interop'ing unnecessarily every 
         1120  +        Speed-ups to SQLiteDataReader.&nbsp; It was interop'ing unnecessarily every
  1109   1121           time it tried to fetch a field due to a logic error.
  1110   1122           <LI>
  1111         -        Changed/Added some code to SQLiteConvert's internal DbType, Type and 
         1123  +        Changed/Added some code to SQLiteConvert's internal DbType, Type and
  1112   1124           TypeAffinity functions.
  1113   1125           <LI>
  1114         -        Fixed the SQLiteDataReader to obey the flags set in the optional 
         1126  +        Fixed the SQLiteDataReader to obey the flags set in the optional
  1115   1127           CommandBehavior flag from SQLiteCommand.ExecuteReader().
  1116   1128           <LI>
  1117         -        Changed the default page size to 1024 to reflect the defaults of SQLite.&nbsp; 
  1118         -        Ignores the "Page Size" connection string option for memory databases, as tests 
         1129  +        Changed the default page size to 1024 to reflect the defaults of SQLite.&nbsp;
         1130  +        Ignores the "Page Size" connection string option for memory databases, as tests
  1119   1131           revealed that changing it resulted in memory corruption errors.
  1120   1132           <LI>
  1121         -          Performance enhancements to the SQLiteCommand and SQLiteStatement classes which 
  1122         -          reduced the 100,000 row insert execution time as well as the various Function 
         1133  +          Performance enhancements to the SQLiteCommand and SQLiteStatement classes which
         1134  +          reduced the 100,000 row insert execution time as well as the various Function
  1123   1135             execution times significantly.
  1124   1136           </LI>
  1125   1137         </UL>
  1126   1138         <P><B>1.0.05 - Feb 25, 2005</B>
  1127   1139         </P>
  1128   1140         <UL>
  1129   1141           <LI>
  1130         -        Fixed the SQLite3 C# class step/reset functions to accomodate schema changes 
  1131         -        that invalidate a prepared statement.&nbsp; Statements are recompiled 
         1142  +        Fixed the SQLite3 C# class step/reset functions to accomodate schema changes
         1143  +        that invalidate a prepared statement.&nbsp; Statements are recompiled
  1132   1144           transparently.
  1133   1145           <LI>
  1134   1146           Moved all native DLL declarations to an UnsafeNativeMethods class.
  1135   1147           <LI>
  1136   1148           Split several classes into their own modules for readability.
  1137   1149           <LI>
  1138         -        Renamed many internal variables, reviewed access to variables marked as 
         1150  +        Renamed many internal variables, reviewed access to variables marked as
  1139   1151           internal and altered their protection levels accordingly.
  1140   1152           <LI>
  1141         -        Due to the presence of the altered sqlite3 codebase and so many added interop 
  1142         -        functions, I decided to rename the sqlite3 C project and the DLL to 
  1143         -        SQLite.Interop.DLL.&nbsp; This is the same core sqlite3 codebase but designed 
  1144         -        specifically for this ADO.NET provider.&nbsp; This eliminates any possibility 
  1145         -        of someone dropping another build of sqlite3.dll into the system and rendering 
  1146         -        the provider inoperable.&nbsp; In the future if the folks at sqlite.org finally 
  1147         -        introduce a method of retrieving column usage for an arbitrary prepared 
  1148         -        statement, I'll retool this library to be a lightweight function call wrapper 
         1153  +        Due to the presence of the altered sqlite3 codebase and so many added interop
         1154  +        functions, I decided to rename the sqlite3 C project and the DLL to
         1155  +        SQLite.Interop.DLL.&nbsp; This is the same core sqlite3 codebase but designed
         1156  +        specifically for this ADO.NET provider.&nbsp; This eliminates any possibility
         1157  +        of someone dropping another build of sqlite3.dll into the system and rendering
         1158  +        the provider inoperable.&nbsp; In the future if the folks at sqlite.org finally
         1159  +        introduce a method of retrieving column usage for an arbitrary prepared
         1160  +        statement, I'll retool this library to be a lightweight function call wrapper
  1149   1161           around the core binary distribution.
  1150   1162           <LI>
  1151         -        Added [SuppressUnmanagedCodeSecurity] attribute to the UnsafeNativeMethods 
  1152         -        class which brings VS2005 November CTP execution speeds inline with the 
         1163  +        Added [SuppressUnmanagedCodeSecurity] attribute to the UnsafeNativeMethods
         1164  +        class which brings VS2005 November CTP execution speeds inline with the
  1153   1165           December CTP.
  1154   1166           <LI>
  1155   1167             Added a <B>bin</B>
  1156   1168           directory to the project root where pre-compiled binaries can be found.
  1157   1169           <LI>
  1158   1170             Added a <B>doc</B>
  1159   1171           directory where preliminary documentation on the class library can be found.
................................................................................
  1161   1173             Documented a lot more of the classes internally.
  1162   1174           </LI>
  1163   1175         </UL>
  1164   1176         <P><B>1.0.04 - Feb 24, 2005</B>
  1165   1177         </P>
  1166   1178         <UL>
  1167   1179           <LI>
  1168         -        Removed the SQLiteContext class and revamped the way UserFunctions work to 
         1180  +        Removed the SQLiteContext class and revamped the way UserFunctions work to
  1169   1181           simplify the imlementation.
  1170   1182           <LI>
  1171         -        Fixed a counting bug in the TestCases class, specifically in the function tests 
  1172         -        where I wasn't resetting the counter and it was consequently reporting 
  1173         -        intrinsic and raw select calls as being much much faster than they actually 
  1174         -        were.&nbsp; The numbers are now much closer to what I expected for performance, 
         1183  +        Fixed a counting bug in the TestCases class, specifically in the function tests
         1184  +        where I wasn't resetting the counter and it was consequently reporting
         1185  +        intrinsic and raw select calls as being much much faster than they actually
         1186  +        were.&nbsp; The numbers are now much closer to what I expected for performance,
  1175   1187           with .NET user-functions still being the slowest, but only by a small margin.
  1176   1188           <LI>
  1177   1189           Small performance tweaks to SQLiteDataReader.
  1178   1190           <LI>
  1179         -        Added PageSize to the SQLiteConnectionStringBuilder and subsequently to the 
         1191  +        Added PageSize to the SQLiteConnectionStringBuilder and subsequently to the
  1180   1192           SQLiteConnection
  1181   1193           <LI>
  1182         -          Added a PRAGMA encoding=XXX execution statement to the SQLiteConnection after 
         1194  +          Added a PRAGMA encoding=XXX execution statement to the SQLiteConnection after
  1183   1195             opening a connection.
  1184   1196           </LI>
  1185   1197         </UL>
  1186   1198         <P><B>1.0.03 - Feb 23, 2005</B>
  1187   1199         </P>
  1188   1200         <UL>
  1189   1201           <LI>
  1190         -        Fixed up SQLiteCommandBuilder to correct implementation errors, which resulted 
  1191         -        in an enormous performance boost in the InsertMany test.&nbsp;&nbsp; 10,000 row 
         1202  +        Fixed up SQLiteCommandBuilder to correct implementation errors, which resulted
         1203  +        in an enormous performance boost in the InsertMany test.&nbsp;&nbsp; 10,000 row
  1192   1204           insert that executed in 1500ms now executes in 500ms.
  1193   1205           <LI>
  1194         -        Fixed several errors in the SQLite3_UTF16 class.&nbsp; ToString() was working 
  1195         -        incorrectly and the Open() method failed to register user defined functions and 
         1206  +        Fixed several errors in the SQLite3_UTF16 class.&nbsp; ToString() was working
         1207  +        incorrectly and the Open() method failed to register user defined functions and
  1196   1208           collations.
  1197   1209           <LI>
  1198         -        Fixed a bug in SQLiteCommand.ClearCommands() whereby only the first statement 
         1210  +        Fixed a bug in SQLiteCommand.ClearCommands() whereby only the first statement
  1199   1211           was being properly cleaned up.
  1200   1212           <LI>
  1201         -        Fixed a bug in SQLiteDataReader whereby calling NextResult() would not properly 
         1213  +        Fixed a bug in SQLiteDataReader whereby calling NextResult() would not properly
  1202   1214           reset the previously-executed command in the sequence.
  1203   1215           <LI>
  1204         -          Added an InsertManyWithIdentityFetch test, which appends a select clause to 
  1205         -          populate the ID of the last inserted row into the InsertCommand, demonstrating 
         1216  +          Added an InsertManyWithIdentityFetch test, which appends a select clause to
         1217  +          populate the ID of the last inserted row into the InsertCommand, demonstrating
  1206   1218             ADO.NET's ability to auto-fetch identity columns on insert.
  1207   1219           </LI>
  1208   1220         </UL>
  1209   1221         <P><B>1.0.02 - Feb 21, 2005</B></P>
  1210   1222         <UL>
  1211   1223           <LI>
  1212         -        Tweaks to the xxx_interop functions that return char *'s, so they also return 
  1213         -        the length.&nbsp; Saves an interop call to get the UTF-8 string length during 
         1224  +        Tweaks to the xxx_interop functions that return char *'s, so they also return
         1225  +        the length.&nbsp; Saves an interop call to get the UTF-8 string length during
  1214   1226           conversion to a .NET string.
  1215   1227           <LI>
  1216         -        Reworked the whole interop.c thing into interop.h and reduced the code required 
         1228  +        Reworked the whole interop.c thing into interop.h and reduced the code required
  1217   1229           to merge the main sqlite3 codebase.
  1218   1230           <LI>
  1219   1231             Added support for user-defined collations.
  1220   1232           </LI>
  1221   1233         </UL>
  1222   1234         <hr />
  1223   1235         <div id="footer">

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.75.0 October 3, 2011<br />
     9         -Using SQLite 3.7.8 <a href="http://www.sqlite.org/src/info/3e0da808d2">[3e0da808d2]</a><br />
            8  +Version 1.0.77.0 November XX, 2011<br />
            9  +Using SQLite 3.7.9 <a href="http://www.sqlite.org/src/info/c7c6050ef0">[c7c6050ef0]</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="http://system.data.sqlite.org/">http://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="http://system.data.sqlite.org/index.html/timeline?n=20&y=ci">
    16     16   http://system.data.sqlite.org/index.html/timeline?n=20&y=ci</a>
................................................................................
   185    185   at the sqlite.org website.&nbsp; Several additional pieces are compiled on top of
   186    186   it to extend its functionality, but the core engine's source is not changed.</p>
   187    187   <p>
   188    188   </p>
   189    189   
   190    190   <h2><b>Version History</b></h2>
   191    191   
          192  +<p>
          193  +    <b>1.0.77.0 - November XX, 2011</b>
          194  +</p>
          195  +<ul>
          196  +    <li>Updated to SQLite 3.7.9 <a href="http://www.sqlite.org/src/info/c7c6050ef0">[c7c6050ef0]</a>.</li>
          197  +    <li>More enhancements to the build and test automation.</li>
          198  +    <li>Support building the core System.Data.SQLite assemblies using the .NET Framework 4.0 Client Profile. Fix for [566f1ad1e4].</li>
          199  +    <li>When returning schema information that may be used by the .NET Framework to construct dynamic SQL, use a fake schema name (instead of null) so that the table names will be properly qualified with the catalog name (i.e. the attached database name). Partial fix for [343d392b51].</li>
          200  +    <li>Add DateTimeKind connection string property to control the DateTimeKind of parsed DateTime values. Partial fix for [343d392b51].</li>
          201  +    <li>Improve the robustness of the SQLiteLog class when it will be initialized and unloaded multiple times.</li>
          202  +    <li>Fix the name of the interop assembly for Windows CE. Add unit tests to prevent this type of issue from happening again. Fix for [737ca4ff74].</li>
          203  +    <li>Formally support the SQL type name BOOLEAN in addition to BOOL. Fix for [544dba0a2f].</li>
          204  +    <li>Make sure the SQLiteConvert.TypeNameToDbType method is thread-safe. Fix for [84718e79fa].</li>
          205  +</ul>
   192    206   <p>
   193    207       <b>1.0.76.0 - October 4, 2011</b>
   194    208   </p>
   195    209   <ul>
   196    210       <li>Prevent the domain unload event handler in SQLiteLog from being registered multiple times. Fix for [0d5b1ef362].</li>
   197    211       <li>Stop allowing non-default application domains to initialize the SQLiteLog class. Fix for [ac47dd230a].</li>
   198    212   </ul>

Changes to www/news.wiki.

     1      1   <title>News</title>
     2      2   
     3      3   <b>Version History</b>
     4      4   
            5  +<p>
            6  +    <b>1.0.77.0 - November XX, 2011</b>
            7  +</p>
            8  +<ul>
            9  +    <li>Updated to SQLite 3.7.9 <a href="http://www.sqlite.org/src/info/c7c6050ef0">[c7c6050ef0]</a>.</li>
           10  +    <li>More enhancements to the build and test automation.</li>
           11  +    <li>Support building the core System.Data.SQLite assemblies using the .NET Framework 4.0 Client Profile. Fix for [566f1ad1e4].</li>
           12  +    <li>When returning schema information that may be used by the .NET Framework to construct dynamic SQL, use a fake schema name (instead of null) so that the table names will be properly qualified with the catalog name (i.e. the attached database name). Partial fix for [343d392b51].</li>
           13  +    <li>Add DateTimeKind connection string property to control the DateTimeKind of parsed DateTime values. Partial fix for [343d392b51].</li>
           14  +    <li>Improve the robustness of the SQLiteLog class when it will be initialized and unloaded multiple times.</li>
           15  +    <li>Fix the name of the interop assembly for Windows CE. Add unit tests to prevent this type of issue from happening again. Fix for [737ca4ff74].</li>
           16  +    <li>Formally support the SQL type name BOOLEAN in addition to BOOL. Fix for [544dba0a2f].</li>
           17  +    <li>Make sure the SQLiteConvert.TypeNameToDbType method is thread-safe. Fix for [84718e79fa].</li>
           18  +</ul>
     5     19   <p>
     6     20       <b>1.0.76.0 - October 4, 2011</b>
     7     21   </p>
     8     22   <ul>
     9     23       <li>Prevent the domain unload event handler in SQLiteLog from being registered multiple times. Fix for [0d5b1ef362].</li>
    10     24       <li>Stop allowing non-default application domains to initialize the SQLiteLog class. Fix for [ac47dd230a].</li>
    11     25   </ul>