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.
- Add experimental support for native sha1 extension.
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].