|
From: <fab...@us...> - 2008-10-20 15:43:17
|
Revision: 3868
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3868&view=rev
Author: fabiomaulo
Date: 2008-10-20 15:43:09 +0000 (Mon, 20 Oct 2008)
Log Message:
-----------
- Fix NH-1538, NH-1537 (new feature comments)
- Refactoring in tests (to have only one namespace for various HQL tests)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Cfg/Environment.cs
trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs
trunk/nhibernate/src/NHibernate/IQuery.cs
trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs
trunk/nhibernate/src/NHibernate/Impl/SqlQueryImpl.cs
trunk/nhibernate/src/NHibernate/nhibernate-configuration.xsd
trunk/nhibernate/src/NHibernate.Test/HQL/Animal.cs
trunk/nhibernate/src/NHibernate.Test/HQL/Animal.hbm.xml
trunk/nhibernate/src/NHibernate.Test/HQL/BaseFunctionFixture.cs
trunk/nhibernate/src/NHibernate.Test/HQL/HQLFunctions.cs
trunk/nhibernate/src/NHibernate.Test/HQL/Human.cs
trunk/nhibernate/src/NHibernate.Test/HQL/MaterialResource.cs
trunk/nhibernate/src/NHibernate.Test/HQL/MaterialResource.hbm.xml
trunk/nhibernate/src/NHibernate.Test/HQL/Name.cs
trunk/nhibernate/src/NHibernate.Test/HQL/SQLFunctionTemplateTest.cs
trunk/nhibernate/src/NHibernate.Test/HQL/SimpleFunctionsTest.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/HQL/
trunk/nhibernate/src/NHibernate.Test/HQL/HqlFixture.cs
trunk/nhibernate/src/NHibernate.Test/HQL/SqlCommentsFixture.cs
Removed Paths:
-------------
trunk/nhibernate/src/NHibernate.Test/HQLFunctionTest/
Modified: trunk/nhibernate/src/NHibernate/Cfg/Environment.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/Environment.cs 2008-10-19 21:16:44 UTC (rev 3867)
+++ trunk/nhibernate/src/NHibernate/Cfg/Environment.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -93,6 +93,7 @@
public const string ShowSql = "show_sql";
public const string MaxFetchDepth = "max_fetch_depth";
public const string CurrentSessionContextClass = "current_session_context_class";
+ public const string UseSqlComments = "use_sql_comments";
// Unused, Java-specific
public const string UseGetGeneratedKeys = "jdbc.use_get_generated_keys";
Modified: trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs 2008-10-19 21:16:44 UTC (rev 3867)
+++ trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -65,6 +65,10 @@
#endregion
+ bool comments = PropertiesHelper.GetBoolean(Environment.UseSqlComments, properties);
+ log.Info("Generate SQL with comments: " + EnabledDisabled(comments));
+ settings.IsCommentsEnabled = comments;
+
int maxFetchDepth = PropertiesHelper.GetInt32(Environment.MaxFetchDepth, properties, -1);
if (maxFetchDepth != -1)
{
Modified: trunk/nhibernate/src/NHibernate/IQuery.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/IQuery.cs 2008-10-19 21:16:44 UTC (rev 3867)
+++ trunk/nhibernate/src/NHibernate/IQuery.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -62,6 +62,10 @@
/// </summary>
IType[] ReturnTypes { get; }
+ /// <summary> Return the HQL select clause aliases (if any)</summary>
+ /// <returns> an array of aliases as strings </returns>
+ string[] ReturnAliases{get;}
+
/// <summary>
/// The names of all named parameters of the query
/// </summary>
@@ -123,12 +127,17 @@
/// </exception>
object UniqueResult();
-
/// <summary>
/// Strongly-typed version of <see cref="UniqueResult()"/>.
/// </summary>
T UniqueResult<T>();
+ /// <summary>
+ /// Execute the update or delete statement.
+ /// </summary>
+ /// <returns> The number of entities updated or deleted. </returns>
+ int ExecuteUpdate();
+
/// <summary>
/// Set the maximum number of rows to retrieve.
/// </summary>
@@ -141,6 +150,13 @@
/// <param name="firstResult">The first row to retreive.</param>
IQuery SetFirstResult(int firstResult);
+ /// <summary>
+ /// Entities retrieved by this query will be loaded in
+ /// a read-only mode where Hibernate will never dirty-check
+ /// them or make changes persistent.
+ /// </summary>
+ IQuery SetReadOnly(bool readOnly);
+
/// <summary>
/// Enable caching of this query result set.
/// </summary>
@@ -152,19 +168,16 @@
/// for the default query cache</param>
IQuery SetCacheRegion(string cacheRegion);
- /// <summary>
- /// Entities retrieved by this query will be loaded in
- /// a read-only mode where Hibernate will never dirty-check
- /// them or make changes persistent.
- /// </summary>
- IQuery SetReadOnly(bool readOnly);
-
/// <summary>
/// The timeout for the underlying ADO query
/// </summary>
/// <param name="timeout"></param>
IQuery SetTimeout(int timeout);
+ /// <summary> Set a fetch size for the underlying ADO query.</summary>
+ /// <param name="fetchSize">the fetch size </param>
+ IQuery SetFetchSize(int fetchSize);
+
/// <summary>
/// Set the lockmode for the objects idententified by the
/// given alias that appears in the <c>FROM</c> clause.
@@ -173,7 +186,21 @@
/// <param name="lockMode"></param>
IQuery SetLockMode(string alias, LockMode lockMode);
+ /// <summary> Add a comment to the generated SQL.</summary>
+ /// <param name="comment">a human-readable string </param>
+ IQuery SetComment(string comment);
+
/// <summary>
+ /// Override the current session flush mode, just for this query.
+ /// </summary>
+ IQuery SetFlushMode(FlushMode flushMode);
+
+ /// <summary> Override the current session cache mode, just for this query. </summary>
+ /// <param name="cacheMode">The cache mode to use. </param>
+ /// <returns> this (for method chaining) </returns>
+ IQuery SetCacheMode(CacheMode cacheMode);
+
+ /// <summary>
/// Bind a value to an indexed parameter.
/// </summary>
/// <param name="position">Position of the parameter in the query, numbered from <c>0</c></param>
@@ -395,20 +422,6 @@
IQuery SetDouble(string name, double val);
/// <summary>
- /// Bind an instance of a mapped persistent class to an indexed parameter.
- /// </summary>
- /// <param name="position">Position of the parameter in the query string, numbered from <c>0</c></param>
- /// <param name="val">A non-null instance of a persistent class</param>
- IQuery SetEntity(int position, object val);
-
- /// <summary>
- /// Bind an instance of a mapped persistent class to a named parameter.
- /// </summary>
- /// <param name="name">The name of the parameter</param>
- /// <param name="val">A non-null instance of a persistent class</param>
- IQuery SetEntity(string name, object val);
-
- /// <summary>
/// Bind an instance of a persistent enumeration class to an indexed parameter
/// using an NHibernate <see cref="PersistentEnumType"/>.
/// </summary>
@@ -553,25 +566,23 @@
IQuery SetGuid(string name, Guid val);
/// <summary>
- /// Override the current session flush mode, just for this query.
+ /// Bind an instance of a mapped persistent class to an indexed parameter.
/// </summary>
- IQuery SetFlushMode(FlushMode flushMode);
+ /// <param name="position">Position of the parameter in the query string, numbered from <c>0</c></param>
+ /// <param name="val">A non-null instance of a persistent class</param>
+ IQuery SetEntity(int position, object val);
/// <summary>
+ /// Bind an instance of a mapped persistent class to a named parameter.
+ /// </summary>
+ /// <param name="name">The name of the parameter</param>
+ /// <param name="val">A non-null instance of a persistent class</param>
+ IQuery SetEntity(string name, object val);
+
+ /// <summary>
/// Set a strategy for handling the query results. This can be used to change
/// "shape" of the query result.
/// </summary>
IQuery SetResultTransformer(IResultTransformer resultTransformer);
-
- /// <summary> Override the current session cache mode, just for this query. </summary>
- /// <param name="cacheMode">The cache mode to use. </param>
- /// <returns> this (for method chaining) </returns>
- IQuery SetCacheMode(CacheMode cacheMode);
-
- /// <summary>
- /// Execute the update or delete statement.
- /// </summary>
- /// <returns> The number of entities updated or deleted. </returns>
- int ExecuteUpdate();
}
}
Modified: trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs 2008-10-19 21:16:44 UTC (rev 3867)
+++ trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -43,8 +43,9 @@
private bool shouldIgnoredUnknownNamedParameters;
private CacheMode? cacheMode;
private CacheMode? sessionCacheMode;
+ private string comment;
- public AbstractQueryImpl(string queryString, FlushMode flushMode, ISessionImplementor session,
+ protected AbstractQueryImpl(string queryString, FlushMode flushMode, ISessionImplementor session,
ParameterMetadata parameterMetadata)
{
this.session = session;
@@ -76,7 +77,7 @@
{
if (parameterMetadata.NamedParameterNames.Count != namedParameters.Count + namedParameterLists.Count)
{
- HashedSet<string> missingParams = new HashedSet<string>(parameterMetadata.NamedParameterNames);
+ var missingParams = new HashedSet<string>(parameterMetadata.NamedParameterNames);
missingParams.RemoveAll(namedParameterLists.Keys);
missingParams.RemoveAll(namedParameters.Keys);
throw new QueryException("Not all named parameters have been set: " + CollectionPrinter.ToString(missingParams), QueryString);
@@ -119,51 +120,31 @@
protected internal virtual IType DetermineType(int paramPosition, object paramValue, IType defaultType)
{
- IType type = parameterMetadata.GetOrdinalParameterExpectedType(paramPosition + 1);
- if (type == null)
- {
- type = defaultType;
- }
+ IType type = parameterMetadata.GetOrdinalParameterExpectedType(paramPosition + 1) ?? defaultType;
return type;
}
protected internal virtual IType DetermineType(int paramPosition, object paramValue)
{
- IType type = parameterMetadata.GetOrdinalParameterExpectedType(paramPosition + 1);
- if (type == null)
- {
- type = GuessType(paramValue);
- }
+ IType type = parameterMetadata.GetOrdinalParameterExpectedType(paramPosition + 1) ?? GuessType(paramValue);
return type;
}
protected internal virtual IType DetermineType(string paramName, object paramValue, IType defaultType)
{
- IType type = parameterMetadata.GetNamedParameterExpectedType(paramName);
- if (type == null)
- {
- type = defaultType;
- }
+ IType type = parameterMetadata.GetNamedParameterExpectedType(paramName) ?? defaultType;
return type;
}
protected internal virtual IType DetermineType(string paramName, object paramValue)
{
- IType type = parameterMetadata.GetNamedParameterExpectedType(paramName);
- if (type == null)
- {
- type = GuessType(paramValue);
- }
+ IType type = parameterMetadata.GetNamedParameterExpectedType(paramName) ?? GuessType(paramValue);
return type;
}
protected internal virtual IType DetermineType(string paramName, System.Type clazz)
{
- IType type = parameterMetadata.GetNamedParameterExpectedType(paramName);
- if (type == null)
- {
- type = GuessType(clazz);
- }
+ IType type = parameterMetadata.GetNamedParameterExpectedType(paramName) ?? GuessType(clazz);
return type;
}
@@ -248,7 +229,7 @@
/// </summary>
private string ExpandParameterList(string query, string name, TypedValue typedList, IDictionary<string, TypedValue> namedParamsCopy)
{
- ICollection vals = (ICollection)typedList.Value;
+ var vals = (ICollection)typedList.Value;
IType type = typedList.Type;
if (vals.Count == 1)
{
@@ -259,7 +240,7 @@
return query;
}
- StringBuilder list = new StringBuilder(16);
+ var list = new StringBuilder(16);
int i = 0;
bool isJpaPositionalParam = parameterMetadata.GetNamedParameterDescriptor(name).JpaStyle;
foreach (object obj in vals)
@@ -732,6 +713,11 @@
get { return session.Factory.GetReturnTypes(queryString); }
}
+ public virtual string[] ReturnAliases
+ {
+ get { return session.Factory.GetReturnAliases(queryString); }
+ }
+
// TODO: maybe call it RowSelection ?
public RowSelection Selection
{
@@ -772,6 +758,12 @@
public abstract IQuery SetLockMode(string alias, LockMode lockMode);
+ public IQuery SetComment(string comment)
+ {
+ this.comment = comment;
+ return this;
+ }
+
internal protected ISessionImplementor Session
{
get { return session; }
@@ -921,14 +913,14 @@
ValueArray(),
namedParams,
LockModes,
- selection,
+ Selection,
readOnly,
cacheable,
cacheRegion,
- string.Empty,
- collectionKey == null ? null : new object[] { collectionKey },
+ comment,
+ collectionKey == null ? null : new[] { collectionKey },
optionalObject,
- optionalEntityName ?? null,
+ optionalEntityName,
optionalId,
resultTransformer);
}
Modified: trunk/nhibernate/src/NHibernate/Impl/SqlQueryImpl.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Impl/SqlQueryImpl.cs 2008-10-19 21:16:44 UTC (rev 3867)
+++ trunk/nhibernate/src/NHibernate/Impl/SqlQueryImpl.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -104,15 +104,15 @@
return result;
}
- //public string[] ReturnAliases
- //{
- // get { throw new NotSupportedException( "SQL queries do not currently support returning aliases" ); }
- //}
+ public override string[] ReturnAliases
+ {
+ get { throw new NotSupportedException("SQL queries do not currently support returning aliases"); }
+ }
- //public override IType[] ReturnTypes
- //{
- // get { throw new NotSupportedException( "not yet implemented for SQL queries" ); }
- //}
+ public override IType[] ReturnTypes
+ {
+ get { throw new NotSupportedException("not yet implemented for SQL queries"); }
+ }
public override IList List()
{
Modified: trunk/nhibernate/src/NHibernate/nhibernate-configuration.xsd
===================================================================
--- trunk/nhibernate/src/NHibernate/nhibernate-configuration.xsd 2008-10-19 21:16:44 UTC (rev 3867)
+++ trunk/nhibernate/src/NHibernate/nhibernate-configuration.xsd 2008-10-20 15:43:09 UTC (rev 3868)
@@ -98,6 +98,7 @@
<xs:enumeration value="adonet.factory_class" />
<xs:enumeration value="default_batch_fetch_size" />
<xs:enumeration value="default_entity_mode" />
+ <xs:enumeration value="use_sql_comments" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
Property changes on: trunk/nhibernate/src/NHibernate.Test/HQL
___________________________________________________________________
Added: svn:mergeinfo
+
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Animal.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQLFunctionTest/Animal.cs 2008-10-18 22:18:15 UTC (rev 3865)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/Animal.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQLFunctionTest
+namespace NHibernate.Test.Hql
{
public class Animal
{
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Animal.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQLFunctionTest/Animal.hbm.xml 2008-10-18 22:18:15 UTC (rev 3865)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/Animal.hbm.xml 2008-10-20 15:43:09 UTC (rev 3868)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernate.Test"
- namespace="NHibernate.Test.HQLFunctionTest"
+ namespace="NHibernate.Test.Hql"
default-access="field.camelcase-underscore"
default-lazy="true">
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/BaseFunctionFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQLFunctionTest/BaseFunctionFixture.cs 2008-10-18 22:18:15 UTC (rev 3865)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/BaseFunctionFixture.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -3,7 +3,7 @@
using NHibernate.Engine;
using NUnit.Framework;
-namespace NHibernate.Test.HQLFunctionTest
+namespace NHibernate.Test.Hql
{
public class BaseFunctionFixture
{
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/HQLFunctions.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQLFunctionTest/HQLFunctions.cs 2008-10-18 22:18:15 UTC (rev 3865)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/HQLFunctions.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -4,7 +4,7 @@
using NHibernate.Dialect.Function;
using NUnit.Framework;
-namespace NHibernate.Test.HQLFunctionTest
+namespace NHibernate.Test.Hql
{
/// <summary>
/// This test run each HQL function separatelly so is easy to know wich function need
@@ -42,7 +42,7 @@
protected override IList Mappings
{
- get { return new string[] { "HQLFunctionTest.Animal.hbm.xml", "HQLFunctionTest.MaterialResource.hbm.xml" }; }
+ get { return new string[] { "HQL.Animal.hbm.xml", "HQL.MaterialResource.hbm.xml" }; }
}
protected override void OnTearDown()
Added: trunk/nhibernate/src/NHibernate.Test/HQL/HqlFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQL/HqlFixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/HqlFixture.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -0,0 +1,74 @@
+using System.Collections;
+using NHibernate.Engine.Query;
+using NHibernate.Util;
+using NUnit.Framework;
+
+namespace NHibernate.Test.Hql
+{
+ [TestFixture, Ignore("Not supported yet.")]
+ public class HqlFixture : TestCase
+ {
+ protected override string MappingsAssembly
+ {
+ get { return "NHibernate.Test"; }
+ }
+
+ protected override IList Mappings
+ {
+ get { return new[] {"HQL.Animal.hbm.xml"}; }
+ }
+
+ protected HQLQueryPlan CreateQueryPlan(string hql, bool scalar)
+ {
+ return new HQLQueryPlan(hql, scalar, new CollectionHelper.EmptyMapClass<string, IFilter>(), sessions);
+ }
+
+ protected HQLQueryPlan CreateQueryPlan(string hql)
+ {
+ return CreateQueryPlan(hql, false);
+ }
+
+ private static void Check(ReturnMetadata returnMetadata, bool expectingEmptyTypes, bool expectingEmptyAliases)
+ {
+ Assert.IsNotNull(returnMetadata, "null return metadata");
+ Assert.IsNotNull(returnMetadata, "null return metadata - types");
+ Assert.AreEqual(1, returnMetadata.ReturnTypes.Length, "unexpected return size");
+
+ if (expectingEmptyTypes)
+ {
+ Assert.IsNull(returnMetadata.ReturnTypes[0], "non-empty types");
+ }
+ else
+ {
+ Assert.IsNotNull(returnMetadata.ReturnTypes[0], "empty types");
+ }
+
+ if (expectingEmptyAliases)
+ {
+ Assert.IsNull(returnMetadata.ReturnAliases, "non-empty aliases");
+ }
+ else
+ {
+ Assert.IsNotNull(returnMetadata.ReturnAliases, "empty aliases");
+ Assert.IsNotNull(returnMetadata.ReturnAliases[0], "empty aliases");
+ }
+ }
+
+ [Test]
+ public void ReturnMetadata()
+ {
+ HQLQueryPlan plan;
+ plan = CreateQueryPlan("from Animal a");
+ Check(plan.ReturnMetadata, false, true);
+
+ plan = CreateQueryPlan("select a as animal from Animal a");
+ Check(plan.ReturnMetadata, false, false);
+
+ plan = CreateQueryPlan("from java.lang.Object");
+ Check(plan.ReturnMetadata, true, true);
+
+ plan = CreateQueryPlan("select o as entity from java.lang.Object o");
+ Check(plan.ReturnMetadata, true, false);
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/nhibernate/src/NHibernate.Test/HQL/HqlFixture.cs
___________________________________________________________________
Added: svn:mergeinfo
+
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Human.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQLFunctionTest/Human.cs 2008-10-18 22:18:15 UTC (rev 3865)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/Human.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -1,6 +1,6 @@
using System;
-namespace NHibernate.Test.HQLFunctionTest
+namespace NHibernate.Test.Hql
{
public class Human: Animal
{
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/MaterialResource.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQLFunctionTest/MaterialResource.cs 2008-10-18 22:18:15 UTC (rev 3865)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/MaterialResource.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -1,6 +1,6 @@
using System;
-namespace NHibernate.Test.HQLFunctionTest
+namespace NHibernate.Test.Hql
{
public class MaterialResource
{
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/MaterialResource.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQLFunctionTest/MaterialResource.hbm.xml 2008-10-18 22:18:15 UTC (rev 3865)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/MaterialResource.hbm.xml 2008-10-20 15:43:09 UTC (rev 3868)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernate.Test"
- namespace="NHibernate.Test.HQLFunctionTest"
+ namespace="NHibernate.Test.Hql"
default-access="field.camelcase-underscore"
default-lazy="true">
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Name.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQLFunctionTest/Name.cs 2008-10-18 22:18:15 UTC (rev 3865)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/Name.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -1,6 +1,6 @@
using System;
-namespace NHibernate.Test.HQLFunctionTest
+namespace NHibernate.Test.Hql
{
public class Name
{
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/SQLFunctionTemplateTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQLFunctionTest/SQLFunctionTemplateTest.cs 2008-10-18 22:18:15 UTC (rev 3865)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/SQLFunctionTemplateTest.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -4,7 +4,7 @@
using NHibernate.Dialect.Function;
using NUnit.Framework;
-namespace NHibernate.Test.HQLFunctionTest
+namespace NHibernate.Test.Hql
{
[TestFixture]
public class SQLFunctionTemplateTest : BaseFunctionFixture
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/SimpleFunctionsTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQLFunctionTest/SimpleFunctionsTest.cs 2008-10-18 22:18:15 UTC (rev 3865)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/SimpleFunctionsTest.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -5,7 +5,7 @@
using NUnit.Framework;
using NHibernate.SqlCommand;
-namespace NHibernate.Test.HQLFunctionTest
+namespace NHibernate.Test.Hql
{
[TestFixture]
public class SimpleFunctionsTest : BaseFunctionFixture
Added: trunk/nhibernate/src/NHibernate.Test/HQL/SqlCommentsFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQL/SqlCommentsFixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/SqlCommentsFixture.cs 2008-10-20 15:43:09 UTC (rev 3868)
@@ -0,0 +1,40 @@
+using System.Collections;
+using NHibernate.Cfg;
+using NUnit.Framework;
+using NUnit.Framework.SyntaxHelpers;
+
+namespace NHibernate.Test.HQL
+{
+ [TestFixture]
+ public class SqlCommentsFixture : TestCase
+ {
+ protected override string MappingsAssembly
+ {
+ get { return "NHibernate.Test"; }
+ }
+
+ protected override IList Mappings
+ {
+ get { return new[] { "HQL.Animal.hbm.xml" }; }
+ }
+
+ protected override void Configure(Configuration configuration)
+ {
+ configuration.SetProperty(Environment.UseSqlComments, "true");
+ }
+
+ [Test]
+ public void CommentsInQuery()
+ {
+ using (ISession s = OpenSession())
+ {
+ using (var sl = new SqlLogSpy())
+ {
+ s.CreateQuery("from Animal").SetComment("This is my query").List();
+ string sql = sl.Appender.GetEvents()[0].RenderedMessage;
+ Assert.That(sql.IndexOf("This is my query"), Is.GreaterThan(0));
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-10-19 21:16:44 UTC (rev 3867)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2008-10-20 15:43:09 UTC (rev 3868)
@@ -274,16 +274,18 @@
<Compile Include="GenericTest\SetGeneric\A.cs" />
<Compile Include="GenericTest\SetGeneric\B.cs" />
<Compile Include="GenericTest\SetGeneric\SetGenericFixture.cs" />
- <Compile Include="HQLFunctionTest\Animal.cs" />
- <Compile Include="HQLFunctionTest\BaseFunctionFixture.cs" />
- <Compile Include="HQLFunctionTest\HQLFunctions.cs" />
- <Compile Include="HQLFunctionTest\Human.cs" />
- <Compile Include="HQLFunctionTest\MaterialResource.cs" />
- <Compile Include="HQLFunctionTest\Name.cs" />
- <Compile Include="HQLFunctionTest\SimpleFunctionsTest.cs" />
- <Compile Include="HQLFunctionTest\SQLFunctionTemplateTest.cs" />
+ <Compile Include="HQL\Animal.cs" />
+ <Compile Include="HQL\BaseFunctionFixture.cs" />
+ <Compile Include="HQL\HQLFunctions.cs" />
+ <Compile Include="HQL\Human.cs" />
+ <Compile Include="HQL\MaterialResource.cs" />
+ <Compile Include="HQL\Name.cs" />
+ <Compile Include="HQL\SimpleFunctionsTest.cs" />
+ <Compile Include="HQL\SqlCommentsFixture.cs" />
+ <Compile Include="HQL\SQLFunctionTemplateTest.cs" />
<Compile Include="BulkManipulation\NativeSQLBulkOperations.cs" />
<Compile Include="BulkManipulation\Vehicles.cs" />
+ <Compile Include="HQL\HqlFixture.cs" />
<Compile Include="IdGen\Enhanced\SequenceStyleConfigUnitFixture.cs" />
<Compile Include="IdTest\Car.cs" />
<Compile Include="IdTest\HiLoInt16Class.cs" />
@@ -1184,7 +1186,7 @@
<EmbeddedResource Include="NHSpecificTest\NH712\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
- <EmbeddedResource Include="HQLFunctionTest\Animal.hbm.xml" />
+ <EmbeddedResource Include="HQL\Animal.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="ExpressionTest\SubQueries\Mappings.hbm.xml" />
@@ -1294,7 +1296,7 @@
<EmbeddedResource Include="NHSpecificTest\NH980\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
- <EmbeddedResource Include="HQLFunctionTest\MaterialResource.hbm.xml" />
+ <EmbeddedResource Include="HQL\MaterialResource.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Join\CompositeKey.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|