|
From: <fab...@us...> - 2009-06-05 06:01:35
|
Revision: 4413
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4413&view=rev
Author: fabiomaulo
Date: 2009-06-05 06:01:33 +0000 (Fri, 05 Jun 2009)
Log Message:
-----------
Fix NH-1617
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Order.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/User.cs
Modified: trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs 2009-06-05 04:39:24 UTC (rev 4412)
+++ trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs 2009-06-05 06:01:33 UTC (rev 4413)
@@ -129,6 +129,7 @@
RegisterKeyword("top");
RegisterKeyword("integer");
+ RegisterKeyword("int");
DefaultProperties[Environment.ConnectionDriver] = "NHibernate.Driver.SqlClientDriver";
}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Fixture.cs 2009-06-05 06:01:33 UTC (rev 4413)
@@ -0,0 +1,67 @@
+using System.Collections.Generic;
+using NHibernate.Dialect;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH1617
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ protected override bool AppliesTo(Dialect.Dialect dialect)
+ {
+ return dialect is MsSql2005Dialect;
+ }
+
+ protected override void OnSetUp()
+ {
+ base.OnSetUp();
+ using (ISession session = OpenSession())
+ {
+ using (ITransaction tran = session.BeginTransaction())
+ {
+ var newUser = new User();
+ var newOrder1 = new Order();
+ newOrder1.User = newUser;
+ newOrder1.Status = true;
+ var newOrder2 = new Order();
+ newOrder2.User = newUser;
+ newOrder2.Status = true;
+
+ session.Save(newUser);
+ session.Save(newOrder1);
+ session.Save(newOrder2);
+ tran.Commit();
+ }
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ base.OnTearDown();
+ using (ISession session = OpenSession())
+ {
+ using (ITransaction tran = session.BeginTransaction())
+ {
+ session.Delete("from Order");
+ session.Delete("from User");
+ tran.Commit();
+ }
+ }
+ }
+
+ [Test]
+ public void CanUseDataTypeInFormulaWithCriteriaQuery()
+ {
+ using (ISession session = OpenSession())
+ {
+ using (ITransaction tran = session.BeginTransaction())
+ {
+ string sql = "from User";
+ IList<User> list = session.CreateQuery(sql).List<User>();
+ Assert.That(list.Count, Is.EqualTo(1));
+ Assert.That(list[0].OrderStatus, Is.EqualTo(2));
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Mappings.hbm.xml 2009-06-05 06:01:33 UTC (rev 4413)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH1617">
+
+ <class name="User" table="Users">
+ <id name="Id">
+ <generator class="native"/>
+ </id>
+ <property name="OrderStatus" formula="CASE ISNULL((SELECT MIN(CONVERT(INT,ISNULL(o.Status,0))) FROM dbo.Orders o WHERE o.userid=id),-1) WHEN -1 THEN 0 WHEN 0 THEN 1 ELSE 2 END" />
+ </class>
+
+ <class name="Order" table="Orders">
+ <id name="Id">
+ <generator class="native"/>
+ </id>
+ <property name="Status" />
+ <many-to-one name="User" class="User" column="UserID" />
+ </class>
+
+</hibernate-mapping>
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Order.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Order.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/Order.cs 2009-06-05 06:01:33 UTC (rev 4413)
@@ -0,0 +1,9 @@
+namespace NHibernate.Test.NHSpecificTest.NH1617
+{
+ public class Order
+ {
+ public virtual int Id { get; set; }
+ public virtual bool Status { get; set; }
+ public virtual User User { get; set; }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/User.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/User.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1617/User.cs 2009-06-05 06:01:33 UTC (rev 4413)
@@ -0,0 +1,8 @@
+namespace NHibernate.Test.NHSpecificTest.NH1617
+{
+ public class User
+ {
+ public virtual int Id { get; set; }
+ public virtual int OrderStatus { get; set; }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-06-05 04:39:24 UTC (rev 4412)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-06-05 06:01:33 UTC (rev 4413)
@@ -405,6 +405,9 @@
<Compile Include="NHSpecificTest\NH1391\SivasKangal.cs" />
<Compile Include="NHSpecificTest\NH1393\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1393\Person.cs" />
+ <Compile Include="NHSpecificTest\NH1617\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH1617\Order.cs" />
+ <Compile Include="NHSpecificTest\NH1617\User.cs" />
<Compile Include="NHSpecificTest\NH1635\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1635\ForumMessage.cs" />
<Compile Include="NHSpecificTest\NH1635\ForumThread.cs" />
@@ -1874,6 +1877,7 @@
<EmbeddedResource Include="CacheTest\EntityWithFilters.xml" />
<EmbeddedResource Include="Classic\EntityWithLifecycle.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH1617\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1810\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1092\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1507\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|