in

System.Data.SQLite

An open source ADO.NET provider for the SQLite database engine

1.0.55.0 Posted

Last post 08-06-2008 2:19 PM by Robert Simpson. 0 replies.
Page 1 of 1 (1 items)
Sort Posts: Previous Next
  • 08-06-2008 2:19 PM

    1.0.55.0 Posted

    • Code merge with SQLite 3.6.1
    • Added support for the user-contributed extension-functions at http://www.sqlite.org/contrib.  Feel free to override any of them with your own implementation.  The new functions are: acos, asin, atan, atn2, atan2, acosh, asinh, atanh, difference, degrees, radians, cos, sin, tan, cot, cosh, sinh, tanh, coth, exp, log, log10, power, sign, sqrt, square, ceil, floor, pi, replicate, charindex, leftstr, rightstr, reverse, proper, padl, padr, padc, strfilter, and aggregates stdev, variance, mode, median, lower_quartile, upper_quartile.
    • Moved the last_rows_affected() function to the C extension library.
    • Added a new class, SQLiteFunctionEx which extends SQLiteFunction and adds the ability for a user-defined function to get the collating sequence during the Invoke/Step methods.  User-defined functions can use the collating sequence as a helper to compare values.
    • When registering user-defined collation sequences and functions, the provider will now register both a UTF8 and a UTF16 version instead of just UTF8.
    • Revamped connection pooling and added static ClearPool() and ClearAllPools() functions to SQLiteConnection.  Behavior of the pool and its clearing mechanics match SqlClient.
    • Fixed connections going to the pool so that any unfinalized lingering commands from un-collected datareaders are automatically reset and any lurking transactions made on the connection are rolled back.
    • Transaction isolation levels are now partially supported.  Serializable is the default, which obtains read/write locks immediately -- this is compatible with previous releases of the provider.  Unspecified will default to whatever the default isolation mode is set to, and ReadCommitted will cause a deferred lock to be obtained.  No other values are legal.
    • Revamped the test.exe program.  It's now an interactive GUI application.  Easier for me to add tests now.
    • Tweaks to the VS designer package and installer.
    • More adjustments to the internal SQLite3.Prepare() method to account for both kinds of lock errors when retrying.
    • Stripped a lot of unnecessary interop() calls and replaced with base sqlite calls.  Revamped most of UnsafeNativeMethods to make it easier to port the code.
    • Rerigged internal callbacks for userdef functions and other native to managed callbacks.  More portable this way.
    • Source can now can be compiled with the SQLITE_STANDARD preprocessor symbol to force the wrapper to use the stock sqlite3 library.  Some functionality is missing, but its minimal.  None of the precompiled binaries are compiled using this setting, but its useful for testing portability.
    • Added "boolean" and a couple other missing datatypes to the "DataTypes" schema xml file.  Used by the VS designer when displaying tables and querying.
    • Added a new connection string option "Read Only".  When set to True, the database will be opened in read-only mode.
    • Added a new connection string option "Max Pool Size" to set the maximum size of the connection pool for a given db file connection.
    • Added a new connection string option "Default IsolationLevel" to set the default isolation level of transactions.  Possible values are Serializable and ReadCommitted.
    • Added a new connection string option "URI" as an optional parameter for compatibility with other ports of the provider.

    Please be aware that none of the LINQ bits have been updated in this release.  If you want to use more recent LINQ bits, you'll have to download the source distribution and compile the Linq provider yourself for now.  I'm using a private RC build of SP1 for testing purposes and can no longer compile against the previous beta.

     

Page 1 of 1 (1 items)
Powered by Community Server (Commercial Edition), by Telligent Systems