You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by gb...@apache.org on 2007/12/10 19:25:12 UTC
svn commit: r602985 - in /ibatis/trunk/cs/mapper:
IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs
IBatisNet.DataMapper/MappedStatements/CachingStatement.cs
Author: gbayon
Date: Mon Dec 10 10:25:11 2007
New Revision: 602985
URL: http://svn.apache.org/viewvc?rev=602985&view=rev
Log:
Fix IBATISNET-242
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/CachingStatement.cs
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs
URL: http://svn.apache.org/viewvc/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs?rev=602985&r1=602984&r2=602985&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs Mon Dec 10 10:25:11 2007
@@ -80,6 +80,24 @@
Assert.AreEqual(firstId, secondId);
}
+ /// <summary>
+ /// Cache error with QueryForObjectwith object in cache
+ /// </summary>
+ [Test]
+ public void TestJIRA242_WithoutGeneric_WithCache()
+ {
+ Account account1 = sqlMap.QueryForObject("GetNoAccountWithCache", 1) as Account;
+ AssertAccount1(account1);
+ int firstId = HashCodeProvider.GetIdentityHashCode(account1);
+
+ Account account2 = sqlMap.QueryForObject("GetNoAccountWithCache", 1) as Account;
+ AssertAccount1(account2);
+
+ int secondId = HashCodeProvider.GetIdentityHashCode(account2);
+
+ Assert.AreEqual(firstId, secondId);
+ }
+
/// <summary>
/// Test Cache query
/// </summary>
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/CachingStatement.cs
URL: http://svn.apache.org/viewvc/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/CachingStatement.cs?rev=602985&r1=602984&r2=602985&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/CachingStatement.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/CachingStatement.cs Mon Dec 10 10:25:11 2007
@@ -369,7 +369,7 @@
// convert the marker object back into a null value
obj = null;
}
- else
+ else if(obj == null)
{
obj = _mappedStatement.RunQueryForObject(request, session, parameterObject, resultObject);
this.Statement.CacheModel[cacheKey] = obj;
@@ -421,7 +421,7 @@
// convert the marker object back into a null value
obj = default(T);
}
- else //if ((object)obj == null)
+ else
{
obj = (T)_mappedStatement.RunQueryForObject(request, session, parameterObject, resultObject);
this.Statement.CacheModel[cacheKey] = obj;