Index: Doc/Extra/Provider/version.html ================================================================== --- Doc/Extra/Provider/version.html +++ Doc/Extra/Provider/version.html @@ -41,10 +41,15 @@

Version History

+

1.0.105.1 - May 15, 2017

+

1.0.105.0 - April 9, 2017

Index: System.Data.SQLite/SQLiteConnection.cs ================================================================== --- System.Data.SQLite/SQLiteConnection.cs +++ System.Data.SQLite/SQLiteConnection.cs @@ -3048,25 +3048,32 @@ private static bool ShouldUseLegacyConnectionStringParser( SQLiteConnection connection ) { string name = "No_SQLiteConnectionNewParser"; - object value; /* NOT USED */ + object value; if ((connection != null) && connection.TryGetCachedSetting(name, null, out value)) { - return true; + return (value != null); } if ((connection == null) && TryGetLastCachedSetting(name, null, out value)) { - return true; + return (value != null); } - return (UnsafeNativeMethods.GetSettingValue(name, null) != null); + value = UnsafeNativeMethods.GetSettingValue(name, null); + + if (connection != null) + connection.SetCachedSetting(name, value); + else + SetLastCachedSetting(name, value); + + return (value != null); } /// /// Parses a connection string into component parts using the custom /// connection string parser. An exception may be thrown if the syntax @@ -4559,14 +4566,16 @@ return null; } } } + /////////////////////////////////////////////////////////////////////////////////////////////// + /// /// Queries and returns the value of the specified setting, using the /// cached setting names and values for the last connection that used - /// by the method, when available. + /// the method, when available. /// /// /// The name of the setting. /// /// @@ -4594,10 +4603,37 @@ return _lastConnectionInOpen.TryGetCachedSetting( name, @default, out value); } + /////////////////////////////////////////////////////////////////////////////////////////////// + + /// + /// Adds or sets the cached setting specified by + /// to the value specified by using the cached + /// setting names and values for the last connection that used the + /// method, when available. + /// + /// + /// The name of the cached setting to add or replace. + /// + /// + /// The new value of the cached setting. + /// + private static void SetLastCachedSetting( + string name, /* in */ + object value /* in */ + ) + { + if (_lastConnectionInOpen == null) + return; + + _lastConnectionInOpen.SetCachedSetting(name, value); + } + + /////////////////////////////////////////////////////////////////////////////////////////////// + /// /// The default connection flags to be used for all opened connections /// when they are not present in the connection string. /// public static SQLiteConnectionFlags DefaultFlags @@ -4606,11 +4642,14 @@ { string name = "DefaultFlags_SQLiteConnection"; object value; if (!TryGetLastCachedSetting(name, null, out value)) + { value = UnsafeNativeMethods.GetSettingValue(name, null); + SetLastCachedSetting(name, value); + } if (value == null) return FallbackDefaultFlags; object enumValue = TryParseEnum( @@ -4621,18 +4660,23 @@ return FallbackDefaultFlags; } } + + /////////////////////////////////////////////////////////////////////////////////////////////// + /// /// The extra connection flags to be used for all opened connections. /// public static SQLiteConnectionFlags SharedFlags { get { lock (_syncRoot) { return _sharedFlags; } } set { lock (_syncRoot) { _sharedFlags = value; } } } + + /////////////////////////////////////////////////////////////////////////////////////////////// /// /// Returns the state of the connection. /// #if !PLATFORM_COMPACTFRAMEWORK Index: readme.htm ================================================================== --- readme.htm +++ readme.htm @@ -205,10 +205,17 @@ released versions of System.Data.SQLite.

Version History

+

+ 1.0.105.1 - May 15, 2017 +

+
    +
  • Prevent culture settings from negatively impacting integer connection string defaults.
  • +
  • Make sure the "No_SQLiteConnectionNewParser" and "DefaultFlags_SQLiteConnection" setting values end up being cached.
  • +

1.0.105.0 - April 9, 2017

  • Updated to SQLite 3.18.0.
  • Index: www/news.wiki ================================================================== --- www/news.wiki +++ www/news.wiki @@ -42,10 +42,17 @@

Version History

+

+ 1.0.105.1 - May 15, 2017 +

+
    +
  • Prevent culture settings from negatively impacting integer connection string defaults.
  • +
  • Make sure the "No_SQLiteConnectionNewParser" and "DefaultFlags_SQLiteConnection" setting values end up being cached.
  • +

1.0.105.0 - April 9, 2017

  • Updated to [https://www.sqlite.org/releaselog/3_18_0.html|SQLite 3.18.0].