Skip to content

Commit 4d69557

Browse files
committed
Adapters which implement ICloneable will be cloned instead of shared
1 parent 5d230c3 commit 4d69557

8 files changed

Lines changed: 268 additions & 189 deletions

File tree

CommonAssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@
1919
// COM, set the ComVisible attribute to true on that type.
2020
[assembly: ComVisible(false)]
2121

22-
[assembly: AssemblyVersion("0.11.3.1")]
23-
[assembly: AssemblyFileVersion("0.11.3.1")]
22+
[assembly: AssemblyVersion("0.11.3.2")]
23+
[assembly: AssemblyFileVersion("0.11.3.2")]
2424

Simple.Data.Ado/AdoAdapter.cs

Lines changed: 252 additions & 177 deletions
Large diffs are not rendered by default.

Simple.Data.Ado/Simple.Data.Ado.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
33
<metadata>
44
<id>Simple.Data.Ado</id>
5-
<version>0.11.3.1</version>
5+
<version>0.11.3.2</version>
66
<authors>Mark Rendle</authors>
77
<owners>Mark Rendle</owners>
88
<description>ADO Adapter for the Simple.Data data access library.</description>
@@ -12,7 +12,7 @@
1212
<tags>sqlserver database data ado .net40</tags>
1313
<language>en-us</language>
1414
<dependencies>
15-
<dependency id="Simple.Data.Core" version="0.11.3.1" />
15+
<dependency id="Simple.Data.Core" version="0.11.3.2" />
1616
</dependencies>
1717
</metadata>
1818
</package>

Simple.Data.Mocking/Simple.Data.Mocking.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
33
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
44
<id>Simple.Data.Mocking</id>
5-
<version>0.11.3.1</version>
5+
<version>0.11.3.2</version>
66
<authors>Mark Rendle</authors>
77
<owners>Mark Rendle</owners>
88
<description>XML-based Mocking adapter for the Simple.Data data access library.</description>
@@ -12,7 +12,7 @@
1212
<tags>database data .net40</tags>
1313
<language>en-us</language>
1414
<dependencies>
15-
<dependency id="Simple.Data.Ado" version="0.11.3.1" />
15+
<dependency id="Simple.Data.Ado" version="0.11.3.2" />
1616
</dependencies>
1717
</metadata>
1818
</package>

Simple.Data.SqlCe40/Simple.Data.SqlCe40.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
33
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
44
<id>Simple.Data.SqlCompact40</id>
5-
<version>0.11.3.1</version>
5+
<version>0.11.3.2</version>
66
<authors>Mark Rendle</authors>
77
<owners>Mark Rendle</owners>
88
<description>SQL Server Compact 4.0 ADO provider for the Simple.Data data access library.</description>
@@ -12,7 +12,7 @@
1212
<tags>sqlserver compact sqlce database data ado .net40</tags>
1313
<language>en-us</language>
1414
<dependencies>
15-
<dependency id="Simple.Data.Ado" version="0.11.3.1" />
15+
<dependency id="Simple.Data.Ado" version="0.11.3.2" />
1616
</dependencies>
1717
</metadata>
1818
</package>

Simple.Data.SqlServer/Simple.Data.SqlServer.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
33
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
44
<id>Simple.Data.SqlServer</id>
5-
<version>0.11.3.1</version>
5+
<version>0.11.3.2</version>
66
<authors>Mark Rendle</authors>
77
<owners>Mark Rendle</owners>
88
<description>SQL Server ADO provider for the Simple.Data data access library.</description>
@@ -12,7 +12,7 @@
1212
<tags>sqlserver database data ado .net40</tags>
1313
<language>en-us</language>
1414
<dependencies>
15-
<dependency id="Simple.Data.Ado" version="0.11.3.1" />
15+
<dependency id="Simple.Data.Ado" version="0.11.3.2" />
1616
</dependencies>
1717
</metadata>
1818
</package>

Simple.Data/CachingAdapterFactory.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public CachingAdapterFactory(Composer composer) : base(composer)
1919
}
2020

2121
private readonly ConcurrentDictionary<string, Adapter> _cache = new ConcurrentDictionary<string, Adapter>();
22+
2223
public override Adapter Create(string adapterName, IEnumerable<KeyValuePair<string, object>> settings)
2324
{
2425
List<KeyValuePair<string, object>> mat;
@@ -34,7 +35,10 @@ public override Adapter Create(string adapterName, IEnumerable<KeyValuePair<stri
3435
hash = HashSettings(adapterName, mat);
3536
}
3637

37-
return _cache.GetOrAdd(hash, _ => DoCreate(adapterName, mat));
38+
var adapter = _cache.GetOrAdd(hash, _ => DoCreate(adapterName, mat));
39+
var cloneable = adapter as ICloneable;
40+
if (cloneable != null) return (Adapter)cloneable.Clone();
41+
return adapter;
3842
}
3943

4044
private static string HashSettings(string adapterName, IEnumerable<KeyValuePair<string, object>> settings)

Simple.Data/Simple.Data.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
33
<metadata>
44
<id>Simple.Data.Core</id>
5-
<version>0.11.3.1</version>
5+
<version>0.11.3.2</version>
66
<authors>Mark Rendle</authors>
77
<owners>Mark Rendle</owners>
88
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl>

0 commit comments

Comments
 (0)