|
From: <fab...@us...> - 2008-09-29 12:20:32
|
Revision: 3796
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3796&view=rev
Author: fabiomaulo
Date: 2008-09-29 12:20:13 +0000 (Mon, 29 Sep 2008)
Log Message:
-----------
Merge r3795 (revert NH-1179; fix NH-1293, NH-1488, NH-1490, NH-1488)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Engine/JoinSequence.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1179/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1488/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1488/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Domain.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Domain.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/ChildEntity.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Entity.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Mappings.hbm.xml
Modified: trunk/nhibernate/src/NHibernate/Engine/JoinSequence.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/JoinSequence.cs 2008-09-28 22:40:10 UTC (rev 3795)
+++ trunk/nhibernate/src/NHibernate/Engine/JoinSequence.cs 2008-09-29 12:20:13 UTC (rev 3796)
@@ -185,11 +185,11 @@
condition = on;
}
//Start NH1179 ************
- if (string.IsNullOrEmpty(condition))
- {
- string filterCondition = join.Joinable.FilterFragment(join.Alias, enabledFilters);
- joinFragment.HasFilterCondition = joinFragment.AddCondition(filterCondition);
- }
+ //if (string.IsNullOrEmpty(condition))
+ //{
+ // string filterCondition = join.Joinable.FilterFragment(join.Alias, enabledFilters);
+ // joinFragment.HasFilterCondition = joinFragment.AddCondition(filterCondition);
+ //}
//End NH1179 ************
if (withClauseFragment != null)
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1179/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1179/Fixture.cs 2008-09-28 22:40:10 UTC (rev 3795)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1179/Fixture.cs 2008-09-29 12:20:13 UTC (rev 3796)
@@ -11,9 +11,11 @@
get { return "NH1179"; }
}
- [Test]
+ [Test, Ignore("Not supported.")]
public void ApplyFilterExplicitJoin()
{
+ // Note: if we fix this we must fix it for Criteria too (NH-1293)
+
RelatedClass rc1 = new RelatedClass(1);
RelatedClass rc2 = new RelatedClass(2);
RelatedClass rc11 = new RelatedClass(1);
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Domain.cs (from rev 3795, branches/2.0.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Domain.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Domain.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Domain.cs 2008-09-29 12:20:13 UTC (rev 3796)
@@ -0,0 +1,73 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace NHibernate.Test.NHSpecificTest.NH1293
+{
+ public class Customer
+ {
+ private int id;
+ private string name;
+ private Category category;
+ private bool isActive;
+ public Customer() {}
+ public Customer(string name)
+ {
+ this.name = name;
+ }
+
+ public virtual int Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public virtual string Name
+ {
+ get { return name; }
+ set { name = value; }
+ }
+
+ public virtual Category Category
+ {
+ get { return category; }
+ set { category = value; }
+ }
+
+ public virtual bool IsActive
+ {
+ get { return isActive; }
+ set { isActive = value; }
+ }
+ }
+
+ public class Category
+ {
+ private int id;
+ private string name;
+ private bool isActive;
+ public Category() {}
+ public Category(string name)
+ {
+ this.name = name;
+ }
+
+ public virtual int Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public virtual string Name
+ {
+ get { return name; }
+ set { name = value; }
+ }
+
+ public virtual bool IsActive
+ {
+ get { return isActive; }
+ set { isActive = value; }
+ }
+ }
+}
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Domain.cs
___________________________________________________________________
Added: svn:mergeinfo
+
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Fixture.cs (from rev 3795, branches/2.0.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Fixture.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Fixture.cs 2008-09-29 12:20:13 UTC (rev 3796)
@@ -0,0 +1,61 @@
+using System;
+using System.Collections.Generic;
+using NHibernate.Criterion;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH1293
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ [Test]
+ public void Criteria_Does_Not_Equal_To_HQL()
+ {
+ using (ISession s = OpenSession())
+ {
+ using (ITransaction tx = s.BeginTransaction())
+ {
+ Customer c = new Customer("Somebody");
+ c.Category = new Category("User");
+ s.Save(c.Category);
+ c.IsActive = true;
+ c.Category.IsActive = false; // this cause diff in query results
+ s.Save(c);
+ tx.Commit();
+ }
+ }
+
+ using (ISession s = OpenSession())
+ {
+ s.DisableFilter("onlyActive");
+ IFilter fltr = s.EnableFilter("onlyActive");
+ fltr.SetParameter("activeFlag", 1);
+
+ // with HQL, Category.IsActive=true filter applied, result count=2
+ IQuery hqlQuery = s.CreateQuery("from Customer c where c.Category.Name = ?");
+ hqlQuery.SetParameter(0, "User"); // note using positional parameters because of NH-1490
+ IList<Customer> hqlResult = hqlQuery.List<Customer>();
+ Console.WriteLine(hqlResult.Count);
+
+ // with ICriteria, no Category.IsActive filter applied, result count=1
+ ICriteria criteria = s.CreateCriteria(typeof (Customer), "cust").CreateCriteria("Category", "cat");
+ criteria.Add(Restrictions.Eq("cat.Name", "User"));
+ IList<Customer> criteriaResult = criteria.List<Customer>();
+
+ Console.WriteLine(criteriaResult.Count);
+
+ Assert.That(hqlResult.Count == criteriaResult.Count);
+ }
+
+ using (ISession s = OpenSession())
+ {
+ using (ITransaction tx = s.BeginTransaction())
+ {
+ s.Delete("from Customer");
+ s.Delete("from Category");
+ tx.Commit();
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Fixture.cs
___________________________________________________________________
Added: svn:mergeinfo
+
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Mappings.hbm.xml (from rev 3795, branches/2.0.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Mappings.hbm.xml)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Mappings.hbm.xml 2008-09-29 12:20:13 UTC (rev 3796)
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test" namespace="NHibernate.Test.NHSpecificTest.NH1293">
+ <class name="Customer" table="Customer">
+ <id name="Id" column="Id">
+ <generator class="native" />
+ </id>
+ <property name="Name" not-null="true" />
+ <property name="IsActive" not-null="true" />
+ <many-to-one name="Category" lazy="false" column="Category_Id" />
+
+ <filter name="onlyActive" condition=":activeFlag = IsActive" />
+ </class>
+
+ <class name="Category" table="Category" mutable="true">
+ <id name="Id" column="Id">
+ <generator class="native" />
+ </id>
+ <property name="Name" not-null="true" />
+ <property name="IsActive" not-null="true" />
+
+ <filter name="onlyActive" condition=":activeFlag = IsActive" />
+ </class>
+
+ <filter-def name="onlyActive">
+ <filter-param name="activeFlag" type="int"/>
+ </filter-def>
+
+</hibernate-mapping>
\ No newline at end of file
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1293/Mappings.hbm.xml
___________________________________________________________________
Added: svn:mergeinfo
+
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1488/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1488/Fixture.cs 2008-09-28 22:40:10 UTC (rev 3795)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1488/Fixture.cs 2008-09-29 12:20:13 UTC (rev 3796)
@@ -37,8 +37,8 @@
}
}
- [Test, Ignore("Not supported.")]
- public void PerhapsBug()
+ [Test]
+ public void Bug()
{
using (ISession s = OpenSession())
using (ITransaction tx = s.BeginTransaction())
@@ -66,4 +66,4 @@
}
}
}
-}
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1488/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1488/Mappings.hbm.xml 2008-09-28 22:40:10 UTC (rev 3795)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1488/Mappings.hbm.xml 2008-09-29 12:20:13 UTC (rev 3796)
@@ -3,7 +3,7 @@
assembly="NHibernate.Test"
namespace="NHibernate.Test.NHSpecificTest.NH1488">
- <class name="Category" table="Category" abstract="true">
+ <class name="Category" table="Category" mutable="true" abstract="true">
<id name="Id" column="Id">
<generator class="native" />
</id>
@@ -17,9 +17,9 @@
<generator class="native" />
</id>
<property name="Name" not-null="true" />
- <many-to-one name="Category" lazy="false" column="Category_Id"/>
+ <many-to-one name="Category" lazy="false" class="CustomerCategory" column="Category_Id" />
</class>
-
+
<class name="CustomerNoSmart" table="CustomerNoSmart">
<id name="Id" column="Id">
<generator class="native" />
@@ -27,4 +27,4 @@
<property name="Name" not-null="true" />
<many-to-one name="Category" lazy="false" column="Category_Id"/>
</class>
-</hibernate-mapping>
+</hibernate-mapping>
\ No newline at end of file
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Domain.cs (from rev 3795, branches/2.0.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Domain.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Domain.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Domain.cs 2008-09-29 12:20:13 UTC (rev 3796)
@@ -0,0 +1,69 @@
+namespace NHibernate.Test.NHSpecificTest.NH1490
+{
+ public class Customer
+ {
+ private int id;
+ private string name;
+ private Category category;
+ private bool isActive;
+ public Customer() {}
+ public Customer(string name)
+ {
+ this.name = name;
+ }
+
+ public virtual int Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public virtual string Name
+ {
+ get { return name; }
+ set { name = value; }
+ }
+
+ public virtual Category Category
+ {
+ get { return category; }
+ set { category = value; }
+ }
+
+ public virtual bool IsActive
+ {
+ get { return isActive; }
+ set { isActive = value; }
+ }
+ }
+
+ public class Category
+ {
+ private int id;
+ private string name;
+ private bool isActive;
+ public Category() {}
+ public Category(string name)
+ {
+ this.name = name;
+ }
+
+ public virtual int Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public virtual string Name
+ {
+ get { return name; }
+ set { name = value; }
+ }
+
+ public virtual bool IsActive
+ {
+ get { return isActive; }
+ set { isActive = value; }
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Domain.cs
___________________________________________________________________
Added: svn:mergeinfo
+
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Fixture.cs (from rev 3795, branches/2.0.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Fixture.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Fixture.cs 2008-09-29 12:20:13 UTC (rev 3796)
@@ -0,0 +1,119 @@
+using System.Collections.Generic;
+using NUnit.Framework;
+using NUnit.Framework.SyntaxHelpers;
+
+namespace NHibernate.Test.NHSpecificTest.NH1490
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ [Test]
+ public void Can_Translate_Correctly_Without_Filter()
+ {
+ using (ISession s = OpenSession())
+ using (ITransaction tx = s.BeginTransaction())
+ {
+ Customer c = new Customer("Somebody");
+ c.Category = new Category("User");
+ c.IsActive = true;
+ c.Category.IsActive = true;
+ s.Save(c.Category);
+ s.Save(c);
+ tx.Commit();
+ }
+
+ using (ISession s = OpenSession())
+ {
+ IQuery query = s.CreateQuery("from Customer c where c.Category.Name = :catName");
+ query.SetParameter("catName", "User");
+ IList<Customer> customers = query.List<Customer>();
+
+ Assert.That(customers.Count, Is.EqualTo(1), "Can apply condition on Customer without IFilter");
+ }
+
+ using (ISession s = OpenSession())
+ using (ITransaction tx = s.BeginTransaction())
+ {
+ s.Delete("from Customer");
+ s.Delete("from Category");
+ tx.Commit();
+ }
+ }
+
+ [Test]
+ public void Also_Works_With_Filter()
+ {
+ using (ISession s = OpenSession())
+ using (ITransaction tx = s.BeginTransaction())
+ {
+ Customer c = new Customer("Somebody");
+ c.Category = new Category("User");
+ s.Save(c.Category);
+ c.IsActive = true;
+ c.Category.IsActive = true;
+ s.Save(c);
+ tx.Commit();
+ }
+
+ using (ISession s = OpenSession())
+ {
+ s.DisableFilter("onlyActive");
+ IFilter fltr = s.EnableFilter("onlyActive");
+ fltr.SetParameter("activeFlag", 1);
+
+ // Customer is parametrized
+ IQuery query = s.CreateQuery("from Customer c where c.Name = :customerName");
+ query.SetParameter("customerName", "Somebody");
+ IList<Customer> customers = query.List<Customer>();
+
+ Assert.That(customers.Count, Is.EqualTo(1), "IFilter applied and Customer parametrized on Name also works");
+ }
+
+ using (ISession s = OpenSession())
+ using (ITransaction tx = s.BeginTransaction())
+ {
+ s.Delete("from Customer");
+ s.Delete("from Category");
+ tx.Commit();
+ }
+ }
+
+ [Test]
+ public void Incorrect_SQL_Translated_Params_Bug()
+ {
+ using (ISession s = OpenSession())
+ using (ITransaction tx = s.BeginTransaction())
+ {
+ Customer c = new Customer("Somebody");
+ c.Category = new Category("User");
+ s.Save(c.Category);
+ c.IsActive = true;
+ c.Category.IsActive = true;
+ s.Save(c);
+ tx.Commit();
+ }
+
+ using (ISession s = OpenSession())
+ {
+ s.DisableFilter("onlyActive");
+ IFilter fltr = s.EnableFilter("onlyActive");
+ fltr.SetParameter("activeFlag", 1);
+ // related entity Customer.Category is parametrized
+ IQuery query = s.CreateQuery("from Customer c where c.Category.Name = :catName");
+ query.SetParameter("catName", "User");
+
+ IList<Customer> customers = query.List<Customer>();
+
+ Assert.That(customers.Count, Is.EqualTo(1), "IFIlter applied and Customer parametrized on Category.Name DOES NOT work");
+ }
+
+ using (ISession s = OpenSession())
+ using (ITransaction tx = s.BeginTransaction())
+ {
+ s.Delete("from Customer");
+ s.Delete("from Category");
+ tx.Commit();
+ }
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Fixture.cs
___________________________________________________________________
Added: svn:mergeinfo
+
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Mappings.hbm.xml (from rev 3795, branches/2.0.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Mappings.hbm.xml)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Mappings.hbm.xml 2008-09-29 12:20:13 UTC (rev 3796)
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH1490">
+
+ <class name="Customer" table="Customer">
+ <id name="Id" column="Id">
+ <generator class="native" />
+ </id>
+ <property name="Name" not-null="true" />
+ <property name="IsActive" not-null="true" />
+ <many-to-one name="Category" lazy="false" column="Category_Id" />
+
+ <filter name="onlyActive" condition=":activeFlag = IsActive" />
+ </class>
+
+ <class name="Category" table="Category" mutable="true">
+ <id name="Id" column="Id">
+ <generator class="native" />
+ </id>
+ <property name="Name" not-null="true" />
+ <property name="IsActive" not-null="true" />
+
+ <filter name="onlyActive" condition=":activeFlag = IsActive" />
+ </class>
+
+ <filter-def name="onlyActive">
+ <filter-param name="activeFlag" type="int"/>
+ </filter-def>
+</hibernate-mapping>
\ No newline at end of file
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1490/Mappings.hbm.xml
___________________________________________________________________
Added: svn:mergeinfo
+
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/ChildEntity.cs (from rev 3795, branches/2.0.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/ChildEntity.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/ChildEntity.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/ChildEntity.cs 2008-09-29 12:20:13 UTC (rev 3796)
@@ -0,0 +1,38 @@
+namespace NHibernate.Test.NHSpecificTest.NH1492
+{
+ public class ChildEntity
+ {
+ private string _description;
+ private int _id;
+ private Entity _parent;
+ public ChildEntity() {}
+
+ public ChildEntity(Entity parent, string description)
+ {
+ _description = description;
+ if (parent != null)
+ {
+ _parent = parent;
+ _parent.Childs.Add(this);
+ }
+ }
+
+ public virtual int Id
+ {
+ get { return _id; }
+ set { _id = value; }
+ }
+
+ public virtual string Description
+ {
+ get { return _description; }
+ set { _description = value; }
+ }
+
+ public virtual Entity Parent
+ {
+ get { return _parent; }
+ set { _parent = value; }
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/ChildEntity.cs
___________________________________________________________________
Added: svn:mergeinfo
+
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Entity.cs (from rev 3795, branches/2.0.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Entity.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Entity.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Entity.cs 2008-09-29 12:20:13 UTC (rev 3796)
@@ -0,0 +1,50 @@
+using System.Collections.Generic;
+
+namespace NHibernate.Test.NHSpecificTest.NH1492
+{
+ public class Entity
+ {
+ private IList<ChildEntity> _childs = new List<ChildEntity>();
+ private int _code;
+ private string _deleted;
+ private string _description;
+ private int _id;
+ public Entity() {}
+
+ public Entity(int code, string description)
+ {
+ _code = code;
+ _description = description;
+ }
+
+ public virtual int Id
+ {
+ get { return _id; }
+ set { _id = value; }
+ }
+
+ public virtual int Code
+ {
+ get { return _code; }
+ set { _code = value; }
+ }
+
+ public virtual string Description
+ {
+ get { return _description; }
+ set { _description = value; }
+ }
+
+ public virtual string Deleted
+ {
+ get { return _deleted; }
+ set { _deleted = value; }
+ }
+
+ public virtual IList<ChildEntity> Childs
+ {
+ get { return _childs; }
+ set { _childs = value; }
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Entity.cs
___________________________________________________________________
Added: svn:mergeinfo
+
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Fixture.cs (from rev 3795, branches/2.0.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Fixture.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Fixture.cs 2008-09-29 12:20:13 UTC (rev 3796)
@@ -0,0 +1,46 @@
+using System.Collections.Generic;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH1492
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ [Test]
+ public void RetrieveEntities()
+ {
+ Entity eDel = new Entity(1, "DeletedEntity");
+ eDel.Deleted = "Y";
+
+ Entity eGood = new Entity(2, "GoodEntity");
+ eGood.Childs.Add(new ChildEntity(eGood, "GoodEntityChild"));
+
+ // Make "Deleted" entity persistent
+ using (ISession s = OpenSession())
+ using (ITransaction t = s.BeginTransaction())
+ {
+ s.Save(eDel);
+ s.Save(eGood);
+ t.Commit();
+ }
+
+ // Retrive (check if the entity was well persisted)
+ IList<ChildEntity> childs;
+ using (ISession s = OpenSession())
+ {
+ s.EnableFilter("excludeDeletedRows").SetParameter("deleted", "Y");
+
+ IQuery q = s.CreateQuery("FROM ChildEntity c WHERE c.Parent.Code = :parentCode").SetParameter("parentCode", 2);
+ childs= q.List<ChildEntity>();
+ }
+ Assert.AreEqual(1, childs.Count);
+
+ using (ISession s = OpenSession())
+ using (ITransaction t = s.BeginTransaction())
+ {
+ s.Delete("from Entity");
+ t.Commit();
+ }
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Fixture.cs
___________________________________________________________________
Added: svn:mergeinfo
+
Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Mappings.hbm.xml (from rev 3795, branches/2.0.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Mappings.hbm.xml)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Mappings.hbm.xml 2008-09-29 12:20:13 UTC (rev 3796)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8" ?>
+
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH1492"
+ default-access="field.camelcase-underscore">
+
+ <class name="Entity" table="EntityTable">
+ <id name="Id" column="EntityID">
+ <generator class="native" />
+ </id>
+
+ <property name="Code" column="Code" />
+ <property name="Description" column="Description" />
+ <property name="Deleted" column="Deleted" />
+
+ <bag name="Childs" lazy="true" table="ChildsTable" generic="true" inverse="true" cascade="all-delete-orphan">
+ <key column="ParentID" />
+ <one-to-many class="ChildEntity" />
+ </bag>
+
+ <filter name="excludeDeletedRows" condition="(Deleted IS NULL OR Deleted != :deleted)"/>
+ </class>
+
+ <class name="ChildEntity" table="ChildEntityTable">
+ <id name="Id" column="ChildEntityID">
+ <generator class="native" />
+ </id>
+
+ <property name="Description" column="Description" />
+
+ <many-to-one name="Parent" column="ParentID" class="Entity" />
+
+ </class>
+
+ <filter-def name="excludeDeletedRows">
+ <filter-param name="deleted" type="String"/>
+ </filter-def>
+
+</hibernate-mapping>
Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1492/Mappings.hbm.xml
___________________________________________________________________
Added: svn:mergeinfo
+
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-09-28 22:40:10 UTC (rev 3795)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-09-29 12:20:13 UTC (rev 3796)
@@ -430,6 +430,8 @@
<Compile Include="NHSpecificTest\NH1291AnonExample\Home.cs" />
<Compile Include="NHSpecificTest\NH1291AnonExample\NH1291AnonExampleFixture.cs" />
<Compile Include="NHSpecificTest\NH1291AnonExample\Person.cs" />
+ <Compile Include="NHSpecificTest\NH1293\Domain.cs" />
+ <Compile Include="NHSpecificTest\NH1293\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1297\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1297\Model.cs" />
<Compile Include="NHSpecificTest\NH1301\Domain.cs">
@@ -480,6 +482,11 @@
<Compile Include="NHSpecificTest\NH1483\SubClass.cs" />
<Compile Include="NHSpecificTest\NH1488\Domain.cs" />
<Compile Include="NHSpecificTest\NH1488\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH1490\Domain.cs" />
+ <Compile Include="NHSpecificTest\NH1490\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH1492\ChildEntity.cs" />
+ <Compile Include="NHSpecificTest\NH1492\Entity.cs" />
+ <Compile Include="NHSpecificTest\NH1492\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1499\Document.cs" />
<Compile Include="NHSpecificTest\NH1499\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1499\Person.cs" />
@@ -1472,6 +1479,9 @@
<EmbeddedResource Include="Cascade\JobBatch.hbm.xml" />
<EmbeddedResource Include="Deletetransient\Person.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH1293\Mappings.hbm.xml" />
+ <EmbeddedResource Include="NHSpecificTest\NH1490\Mappings.hbm.xml" />
+ <EmbeddedResource Include="NHSpecificTest\NH1492\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1499\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1502\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1488\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|