|
From: <aye...@us...> - 2009-05-22 23:35:54
|
Revision: 4366
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4366&view=rev
Author: ayenderahien
Date: 2009-05-22 23:35:49 +0000 (Fri, 22 May 2009)
Log Message:
-----------
Fixing NH-1788 - version column updatability is not taken into account when updating using dynamic-update
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Person.cs
Modified: trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs 2009-05-22 23:32:10 UTC (rev 4365)
+++ trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs 2009-05-22 23:35:49 UTC (rev 4366)
@@ -3416,6 +3416,7 @@
if (IsVersioned)
{
propsToUpdate[VersionProperty] =
+ PropertyUpdateability[VersionProperty] &&
Versioning.IsVersionIncrementRequired(dirtyProperties, hasDirtyCollection, PropertyVersionability);
}
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788
___________________________________________________________________
Added: bugtraq:url
+ http://jira.nhibernate.org/browse/%BUGID%
Added: bugtraq:logregex
+ NH-\d+
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Fixture.cs 2009-05-22 23:35:49 UTC (rev 4366)
@@ -0,0 +1,48 @@
+using System.Collections.Generic;
+using NHibernate.Criterion;
+using NHibernate.Dialect;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH1788
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ protected override bool AppliesTo(NHibernate.Dialect.Dialect dialect)
+ {
+ return dialect is MsSql2000Dialect;
+ }
+
+ [Test]
+ public void CanUseSqlTimestampWithDynamicInsert()
+ {
+ using (var session = OpenSession())
+ using (var tx = session.BeginTransaction())
+ {
+ session.Save(new Person
+ {
+ Name = "hi"
+ });
+ tx.Commit();
+ }
+
+
+ using (var session = OpenSession())
+ using (var tx = session.BeginTransaction())
+ {
+ var person = session.Get<Person>(1);
+ person.Name = "other";
+ tx.Commit();
+ }
+
+
+ using (ISession session = OpenSession())
+ using (var tx = session.BeginTransaction())
+ {
+ session.Delete(session.Get<Person>(1));
+ tx.Commit();
+ }
+
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Mappings.hbm.xml 2009-05-22 23:35:49 UTC (rev 4366)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping
+ xmlns="urn:nhibernate-mapping-2.2"
+ namespace="NHibernate.Test.NHSpecificTest.NH1788"
+ assembly="NHibernate.Test">
+
+ <class name="Person" table="People" dynamic-update="true">
+ <id name="Id">
+ <generator class="identity"/>
+ </id>
+ <version name="Version" generated="always" unsaved-value="null" type="BinaryBlob">
+ <column name="Version" sql-type="timestamp" />
+ </version>
+ <property name="Name" />
+ </class>
+</hibernate-mapping>
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Person.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Person.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1788/Person.cs 2009-05-22 23:35:49 UTC (rev 4366)
@@ -0,0 +1,9 @@
+namespace NHibernate.Test.NHSpecificTest.NH1788
+{
+ public class Person
+ {
+ public virtual int Id { get; set; }
+ public virtual string Name { get; set; }
+ public virtual byte[] Version { get; set; }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-05-22 23:32:10 UTC (rev 4365)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-05-22 23:35:49 UTC (rev 4366)
@@ -432,6 +432,8 @@
<Compile Include="NHSpecificTest\NH1776\FilterQueryTwiceFixture.cs" />
<Compile Include="NHSpecificTest\NH1783\DomainClass.cs" />
<Compile Include="NHSpecificTest\NH1783\SampleTest.cs" />
+ <Compile Include="NHSpecificTest\NH1788\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH1788\Person.cs" />
<Compile Include="NHSpecificTest\NH1792\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1792\Product.cs" />
<Compile Include="NHSpecificTest\NH1794\Fixture.cs" />
@@ -1829,6 +1831,7 @@
<EmbeddedResource Include="Ado\VerySimple.hbm.xml" />
<EmbeddedResource Include="Ado\AlmostSimple.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH1788\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1794\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1792\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1756\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|