|
From: <fab...@us...> - 2010-08-05 03:06:28
|
Revision: 5111
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5111&view=rev
Author: fabiomaulo
Date: 2010-08-05 03:06:22 +0000 (Thu, 05 Aug 2010)
Log Message:
-----------
Fix NH-2158 (thanks to Richard Birkby)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Criterion/SqlFunctionProjection.cs
trunk/nhibernate/src/NHibernate.Test/ExpressionTest/Projection/ProjectionFixture.cs
Modified: trunk/nhibernate/src/NHibernate/Criterion/SqlFunctionProjection.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/SqlFunctionProjection.cs 2010-08-04 19:54:32 UTC (rev 5110)
+++ trunk/nhibernate/src/NHibernate/Criterion/SqlFunctionProjection.cs 2010-08-05 03:06:22 UTC (rev 5111)
@@ -1,4 +1,5 @@
using System;
+using System.Collections;
using System.Collections.Generic;
using NHibernate.Dialect.Function;
using NHibernate.Engine;
@@ -72,7 +73,7 @@
IDictionary<string, IFilter> enabledFilters)
{
ISQLFunction sqlFunction = GetFunction(criteriaQuery);
- List<string> tokens = new List<string>();
+ var tokens = new ArrayList();
string replacemenToken = Guid.NewGuid().ToString("n");
for (int i = 0; i < args.Length; i++)
{
Modified: trunk/nhibernate/src/NHibernate.Test/ExpressionTest/Projection/ProjectionFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/ExpressionTest/Projection/ProjectionFixture.cs 2010-08-04 19:54:32 UTC (rev 5110)
+++ trunk/nhibernate/src/NHibernate.Test/ExpressionTest/Projection/ProjectionFixture.cs 2010-08-05 03:06:22 UTC (rev 5111)
@@ -8,6 +8,7 @@
namespace NHibernate.Test.ExpressionTest.Projection
{
using Util;
+ using NHibernate.Dialect.Function;
[TestFixture]
public class ProjectionFixture : BaseExpressionFixture
@@ -88,6 +89,19 @@
}
[Test]
+ public void NvlTest()
+ {
+ ISession session = factory.OpenSession();
+ IProjection expression = Projections.SqlFunction(new NvlFunction(),
+ NHibernateUtil.String, Projections.Property("Name"), Projections.Property("Address"));
+ CreateObjects(typeof (Simple), session);
+ SqlString sqlString = expression.ToSqlString(criteria, 0, criteriaQuery, new CollectionHelper.EmptyMapClass<string, IFilter>());
+ string expectedSql = "nvl(sql_alias.Name, sql_alias.address) as y0_";
+ CompareSqlStrings(sqlString, expectedSql, 0);
+ session.Close();
+ }
+
+ [Test]
public void DistinctTest()
{
ISession session = factory.OpenSession();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|