|
From: <fab...@us...> - 2010-09-24 12:18:27
|
Revision: 5213
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5213&view=rev
Author: fabiomaulo
Date: 2010-09-24 12:18:20 +0000 (Fri, 24 Sep 2010)
Log Message:
-----------
Fix NH-2096
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Type/AbstractBinaryType.cs
trunk/nhibernate/src/NHibernate.Test/TypesTest/BinaryBlobTypeFixture.cs
Modified: trunk/nhibernate/src/NHibernate/Type/AbstractBinaryType.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Type/AbstractBinaryType.cs 2010-09-24 04:51:37 UTC (rev 5212)
+++ trunk/nhibernate/src/NHibernate/Type/AbstractBinaryType.cs 2010-09-24 12:18:20 UTC (rev 5213)
@@ -83,7 +83,11 @@
{
int length = (int)rs.GetBytes(index, 0, null, 0, 0);
byte[] buffer = new byte[length];
- rs.GetBytes(index, 0, buffer, 0, length);
+ if (length > 0)
+ {
+ // The "if" is to make happy MySQL NH-2096
+ rs.GetBytes(index, 0, buffer, 0, length);
+ }
return ToExternalFormat(buffer);
}
Modified: trunk/nhibernate/src/NHibernate.Test/TypesTest/BinaryBlobTypeFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TypesTest/BinaryBlobTypeFixture.cs 2010-09-24 04:51:37 UTC (rev 5212)
+++ trunk/nhibernate/src/NHibernate.Test/TypesTest/BinaryBlobTypeFixture.cs 2010-09-24 12:18:20 UTC (rev 5213)
@@ -1,6 +1,7 @@
using System;
using System.Text;
using NUnit.Framework;
+using SharpTestsEx;
namespace NHibernate.Test.TypesTest
{
@@ -50,5 +51,26 @@
s.Flush();
s.Close();
}
+
+ [Test]
+ public void ReadWriteZeroLen()
+ {
+ object savedId;
+ using (ISession s = OpenSession())
+ {
+ BinaryBlobClass b = new BinaryBlobClass();
+ b.BinaryBlob = new byte[0];
+ savedId = s.Save(b);
+ s.Flush();
+ }
+
+ using (var s = OpenSession())
+ {
+ var b = s.Get<BinaryBlobClass>(savedId);
+ b.BinaryBlob.Should().Not.Be.Null().And.Have.Count.EqualTo(0);
+ s.Delete(b);
+ s.Flush();
+ }
+ }
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|