|
From: <fab...@us...> - 2011-05-31 17:46:21
|
Revision: 5900
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5900&view=rev
Author: fabiomaulo
Date: 2011-05-31 17:46:14 +0000 (Tue, 31 May 2011)
Log Message:
-----------
Starting usage of IParameterSpecification for Criteria
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Criterion/BetweenExpression.cs
trunk/nhibernate/src/NHibernate/Criterion/ConstantProjection.cs
trunk/nhibernate/src/NHibernate/Criterion/ICriteriaQuery.cs
trunk/nhibernate/src/NHibernate/Criterion/IdentifierEqExpression.cs
trunk/nhibernate/src/NHibernate/Criterion/InExpression.cs
trunk/nhibernate/src/NHibernate/Criterion/InsensitiveLikeExpression.cs
trunk/nhibernate/src/NHibernate/Criterion/LikeExpression.cs
trunk/nhibernate/src/NHibernate/Criterion/SimpleExpression.cs
trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs
trunk/nhibernate/src/NHibernate/SqlCommand/SqlStringBuilder.cs
trunk/nhibernate/src/NHibernate.Test/Criteria/AddNumberProjection.cs
Modified: trunk/nhibernate/src/NHibernate/Criterion/BetweenExpression.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/BetweenExpression.cs 2011-05-31 17:08:07 UTC (rev 5899)
+++ trunk/nhibernate/src/NHibernate/Criterion/BetweenExpression.cs 2011-05-31 17:46:14 UTC (rev 5900)
@@ -58,9 +58,9 @@
sqlBuilder
.Add(columnNames[0])
.Add(" between ")
- .AddParameter()
+ .Add(criteriaQuery.NewQueryParameter())
.Add(" and ")
- .AddParameter();
+ .Add(criteriaQuery.NewQueryParameter());
}
else
{
@@ -76,7 +76,7 @@
sqlBuilder.Add(columnNames[i])
.Add(" >= ")
- .AddParameter();
+ .Add(criteriaQuery.NewQueryParameter());
}
for (int i = 0; i < columnNames.Length; i++)
@@ -84,7 +84,7 @@
sqlBuilder.Add(" AND ")
.Add(columnNames[i])
.Add(" <= ")
- .AddParameter();
+ .Add(criteriaQuery.NewQueryParameter());
}
}
Modified: trunk/nhibernate/src/NHibernate/Criterion/ConstantProjection.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/ConstantProjection.cs 2011-05-31 17:08:07 UTC (rev 5899)
+++ trunk/nhibernate/src/NHibernate/Criterion/ConstantProjection.cs 2011-05-31 17:46:14 UTC (rev 5900)
@@ -43,7 +43,7 @@
public override SqlString ToSqlString(ICriteria criteria, int position, ICriteriaQuery criteriaQuery, IDictionary<string, IFilter> enabledFilters)
{
return new SqlStringBuilder()
- .AddParameter()
+ .Add(criteriaQuery.NewQueryParameter())
.Add(" as ")
.Add(GetColumnAliases(position)[0])
.ToSqlString();
Modified: trunk/nhibernate/src/NHibernate/Criterion/ICriteriaQuery.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/ICriteriaQuery.cs 2011-05-31 17:08:07 UTC (rev 5899)
+++ trunk/nhibernate/src/NHibernate/Criterion/ICriteriaQuery.cs 2011-05-31 17:46:14 UTC (rev 5900)
@@ -1,4 +1,7 @@
+using System.Collections.Generic;
using NHibernate.Engine;
+using NHibernate.Param;
+using NHibernate.SqlCommand;
using NHibernate.Type;
namespace NHibernate.Criterion
@@ -67,6 +70,12 @@
int GetIndexForAlias();
/// <summary>
+ /// Create a new query parameter to use in a <see cref="ICriterion"/>
+ /// </summary>
+ /// <returns>A new instance of a query parameter to be added to a <see cref="SqlString"/>.</returns>
+ Parameter NewQueryParameter();
+
+ /// <summary>
/// Creates a dummy parameter index for the supplied paged value.
/// Returns null if the Dialect does not support limit parameters
/// </summary>
Modified: trunk/nhibernate/src/NHibernate/Criterion/IdentifierEqExpression.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/IdentifierEqExpression.cs 2011-05-31 17:08:07 UTC (rev 5899)
+++ trunk/nhibernate/src/NHibernate/Criterion/IdentifierEqExpression.cs 2011-05-31 17:46:14 UTC (rev 5900)
@@ -62,7 +62,7 @@
{
if (_projection == null)
{
- result.AddParameter();
+ result.Add(criteriaQuery.NewQueryParameter());
}
else
{
Modified: trunk/nhibernate/src/NHibernate/Criterion/InExpression.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/InExpression.cs 2011-05-31 17:08:07 UTC (rev 5899)
+++ trunk/nhibernate/src/NHibernate/Criterion/InExpression.cs 2011-05-31 17:46:14 UTC (rev 5900)
@@ -88,7 +88,7 @@
{
result.Add(StringHelper.CommaSpace);
}
- result.AddParameter();
+ result.Add(criteriaQuery.NewQueryParameter());
}
result.Add(")");
Modified: trunk/nhibernate/src/NHibernate/Criterion/InsensitiveLikeExpression.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/InsensitiveLikeExpression.cs 2011-05-31 17:08:07 UTC (rev 5899)
+++ trunk/nhibernate/src/NHibernate/Criterion/InsensitiveLikeExpression.cs 2011-05-31 17:46:14 UTC (rev 5900)
@@ -84,7 +84,7 @@
.Add(" like ");
}
- sqlBuilder.AddParameter();
+ sqlBuilder.Add(criteriaQuery.NewQueryParameter());
return sqlBuilder.ToSqlString();
}
Modified: trunk/nhibernate/src/NHibernate/Criterion/LikeExpression.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/LikeExpression.cs 2011-05-31 17:08:07 UTC (rev 5899)
+++ trunk/nhibernate/src/NHibernate/Criterion/LikeExpression.cs 2011-05-31 17:46:14 UTC (rev 5900)
@@ -79,11 +79,11 @@
lhs.Add(" like ")
.Add(dialect.LowercaseFunction)
.Add(StringHelper.OpenParen)
- .AddParameter()
+ .Add(criteriaQuery.NewQueryParameter())
.Add(StringHelper.ClosedParen);
}
else
- lhs.Add(" like ").AddParameter();
+ lhs.Add(" like ").Add(criteriaQuery.NewQueryParameter());
if (escapeChar.HasValue)
lhs.Add(" escape '" + escapeChar + "'");
Modified: trunk/nhibernate/src/NHibernate/Criterion/SimpleExpression.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/SimpleExpression.cs 2011-05-31 17:08:07 UTC (rev 5899)
+++ trunk/nhibernate/src/NHibernate/Criterion/SimpleExpression.cs 2011-05-31 17:46:14 UTC (rev 5900)
@@ -101,7 +101,7 @@
.Add(columnNames[0])
.Add(StringHelper.ClosedParen)
.Add(Op)
- .AddParameter()
+ .Add(criteriaQuery.NewQueryParameter())
.ToSqlString();
}
else
@@ -117,7 +117,7 @@
sqlBuilder.Add(columnNames[i])
.Add(Op)
- .AddParameter();
+ .Add(criteriaQuery.NewQueryParameter());
}
return sqlBuilder.ToSqlString();
}
Modified: trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs 2011-05-31 17:08:07 UTC (rev 5899)
+++ trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs 2011-05-31 17:46:14 UTC (rev 5900)
@@ -772,6 +772,11 @@
return indexForAlias++;
}
+ public Parameter NewQueryParameter()
+ {
+ return Parameter.Placeholder;
+ }
+
public int? CreatePagingParameter(int value)
{
if (!Factory.Dialect.SupportsVariableLimit)
Modified: trunk/nhibernate/src/NHibernate/SqlCommand/SqlStringBuilder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/SqlCommand/SqlStringBuilder.cs 2011-05-31 17:08:07 UTC (rev 5899)
+++ trunk/nhibernate/src/NHibernate/SqlCommand/SqlStringBuilder.cs 2011-05-31 17:46:14 UTC (rev 5900)
@@ -110,11 +110,6 @@
return Add(Parameter.Placeholder);
}
- public SqlStringBuilder AddParameter(int position)
- {
- return Add(Parameter.WithIndex(position));
- }
-
/// <summary>
/// Attempts to discover what type of object this is and calls the appropriate
/// method.
Modified: trunk/nhibernate/src/NHibernate.Test/Criteria/AddNumberProjection.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Criteria/AddNumberProjection.cs 2011-05-31 17:08:07 UTC (rev 5899)
+++ trunk/nhibernate/src/NHibernate.Test/Criteria/AddNumberProjection.cs 2011-05-31 17:46:14 UTC (rev 5900)
@@ -31,7 +31,7 @@
.Add("(")
.Add(projection[0])
.Add(" + ")
- .AddParameter()
+ .Add(criteriaQuery.NewQueryParameter())
.Add(") as ")
.Add(GetColumnAliases(0)[0])
.ToSqlString();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|