|
From: <fab...@us...> - 2011-04-13 17:12:59
|
Revision: 5686
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5686&view=rev
Author: fabiomaulo
Date: 2011-04-13 17:12:52 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Fix NH-2642 (thanks to Roger)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Driver/BasicResultSetsCommand.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Model.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/TheUserType.cs
Modified: trunk/nhibernate/src/NHibernate/Driver/BasicResultSetsCommand.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Driver/BasicResultSetsCommand.cs 2011-04-13 17:02:42 UTC (rev 5685)
+++ trunk/nhibernate/src/NHibernate/Driver/BasicResultSetsCommand.cs 2011-04-13 17:12:52 UTC (rev 5686)
@@ -149,7 +149,7 @@
public object GetValue(int i)
{
- return reader.GetDecimal(i);
+ return reader.GetValue(i);
}
public int GetValues(object[] values)
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Fixture.cs 2011-04-13 17:12:52 UTC (rev 5686)
@@ -0,0 +1,54 @@
+using System.Collections;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.NHSpecificTest.DataReaderWrapperTest
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ private const int id = 1333;
+
+ protected override void OnSetUp()
+ {
+ var ent = new TheEntity { TheValue = "Hola", Id = id };
+ using (var s = OpenSession())
+ {
+ using (var tx = s.BeginTransaction())
+ {
+ s.Save(ent);
+ tx.Commit();
+ }
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ using (var s = OpenSession())
+ {
+ using (var tx = s.BeginTransaction())
+ {
+ s.Delete(s.Get<TheEntity>(id));
+ tx.Commit();
+ }
+ }
+ }
+
+ [Test]
+ public void CanUseDatareadersGetValue()
+ {
+ using (var s = OpenSession())
+ {
+ using (s.BeginTransaction())
+ {
+ var crit = s.CreateCriteria(typeof (TheEntity));
+ var multi = s.CreateMultiCriteria();
+ multi.Add(crit);
+ var res = (IList)multi.List()[0];
+ res.Count
+ .Should().Be.EqualTo(1);
+ }
+ }
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Mappings.hbm.xml 2011-04-13 17:12:52 UTC (rev 5686)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ namespace="NHibernate.Test.NHSpecificTest.DataReaderWrapperTest"
+ assembly="NHibernate.Test">
+
+ <class name="TheEntity">
+ <id name="Id" type="Int32">
+ <generator class="assigned" />
+ </id>
+ <property name="TheValue" type="NHibernate.Test.NHSpecificTest.DataReaderWrapperTest.TheUserType, NHibernate.Test" />
+ </class>
+</hibernate-mapping>
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Model.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Model.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/Model.cs 2011-04-13 17:12:52 UTC (rev 5686)
@@ -0,0 +1,8 @@
+namespace NHibernate.Test.NHSpecificTest.DataReaderWrapperTest
+{
+ public class TheEntity
+ {
+ public virtual int Id { get; set; }
+ public virtual string TheValue { get; set; }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/TheUserType.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/TheUserType.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/DataReaderWrapperTest/TheUserType.cs 2011-04-13 17:12:52 UTC (rev 5686)
@@ -0,0 +1,65 @@
+using System;
+using System.Data;
+using NHibernate.SqlTypes;
+using NHibernate.UserTypes;
+
+namespace NHibernate.Test.NHSpecificTest.DataReaderWrapperTest
+{
+ public class TheUserType : IUserType
+ {
+ public SqlType[] SqlTypes
+ {
+ get { return new[] {new SqlType(DbType.String)}; }
+ }
+
+ public System.Type ReturnedType
+ {
+ get { return typeof(string); }
+ }
+
+ public bool Equals(object x, object y)
+ {
+ return x.Equals(y);
+ }
+
+ public int GetHashCode(object x)
+ {
+ return x.GetHashCode();
+ }
+
+ public object NullSafeGet(IDataReader rs, string[] names, object owner)
+ {
+ return rs.GetValue(rs.GetOrdinal(names[0]));
+ }
+
+ public void NullSafeSet(IDbCommand cmd, object value, int index)
+ {
+ NHibernateUtil.String.NullSafeSet(cmd, value, index);
+ }
+
+ public object DeepCopy(object value)
+ {
+ return value;
+ }
+
+ public bool IsMutable
+ {
+ get { return NHibernateUtil.String.IsMutable; }
+ }
+
+ public object Replace(object original, object target, object owner)
+ {
+ return original;
+ }
+
+ public object Assemble(object cached, object owner)
+ {
+ return cached;
+ }
+
+ public object Disassemble(object value)
+ {
+ return value;
+ }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 17:02:42 UTC (rev 5685)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 17:12:52 UTC (rev 5686)
@@ -571,6 +571,9 @@
<Compile Include="NHSpecificTest\AccessAndCorrectPropertyName\Model.cs" />
<Compile Include="NHSpecificTest\BagWithLazyExtraAndFilter\Domain.cs" />
<Compile Include="NHSpecificTest\BagWithLazyExtraAndFilter\Fixture.cs" />
+ <Compile Include="NHSpecificTest\DataReaderWrapperTest\Fixture.cs" />
+ <Compile Include="NHSpecificTest\DataReaderWrapperTest\Model.cs" />
+ <Compile Include="NHSpecificTest\DataReaderWrapperTest\TheUserType.cs" />
<Compile Include="NHSpecificTest\EntityNameAndCompositeId\Fixture.cs" />
<Compile Include="NHSpecificTest\EntityNameAndInheritance\Fixture.cs" />
<Compile Include="NHSpecificTest\EntityNameWithFullName\Fixture.cs" />
@@ -2568,6 +2571,7 @@
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="NHSpecificTest\DataReaderWrapperTest\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\SqlConverterAndMultiQuery\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2489\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2603\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|