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. |