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. |