Skip to content

Commit b8af99f

Browse files
Remove a redundant argument in Linq provider ExecuteQuery.
1 parent 89034e6 commit b8af99f

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

src/NHibernate/Async/Linq/DefaultQueryProvider.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ public partial interface INhQueryProvider : IQueryProvider
3131
public partial class DefaultQueryProvider : INhQueryProvider, IQueryProviderWithOptions
3232
{
3333

34+
// Since v5.1
35+
[Obsolete("Use ExecuteQuery(NhLinqExpression nhLinqExpression, IQuery query) instead")]
3436
protected virtual async Task<object> ExecuteQueryAsync(NhLinqExpression nhLinqExpression, IQuery query, NhLinqExpression nhQuery, CancellationToken cancellationToken)
3537
{
3638
cancellationToken.ThrowIfCancellationRequested();
@@ -56,6 +58,18 @@ protected virtual async Task<object> ExecuteQueryAsync(NhLinqExpression nhLinqEx
5658
return results[0];
5759
}
5860

61+
protected virtual Task<object> ExecuteQueryAsync(NhLinqExpression nhLinqExpression, IQuery query, CancellationToken cancellationToken)
62+
{
63+
if (cancellationToken.IsCancellationRequested)
64+
{
65+
return Task.FromCanceled<object>(cancellationToken);
66+
}
67+
// For avoiding breaking derived classes, call the obsolete method until it is dropped.
68+
#pragma warning disable 618
69+
return ExecuteQueryAsync(nhLinqExpression, query, nhLinqExpression, cancellationToken);
70+
#pragma warning restore 618
71+
}
72+
5973
public Task<int> ExecuteDmlAsync<T>(QueryMode queryMode, Expression expression, CancellationToken cancellationToken)
6074
{
6175
if (cancellationToken.IsCancellationRequested)

src/NHibernate/Linq/DefaultQueryProvider.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,9 @@ protected virtual ISessionImplementor Session
7777

7878
public virtual object Execute(Expression expression)
7979
{
80-
IQuery query;
81-
NhLinqExpression nhLinqExpression = PrepareQuery(expression, out query);
80+
NhLinqExpression nhLinqExpression = PrepareQuery(expression, out var query);
8281

83-
return ExecuteQuery(nhLinqExpression, query, nhLinqExpression);
82+
return ExecuteQuery(nhLinqExpression, query);
8483
}
8584

8685
public TResult Execute<TResult>(Expression expression)
@@ -153,7 +152,7 @@ public virtual Task<object> ExecuteAsync(Expression expression, CancellationToke
153152
try
154153
{
155154
var nhLinqExpression = PrepareQuery(expression, out var query);
156-
return ExecuteQueryAsync(nhLinqExpression, query, nhLinqExpression, cancellationToken);
155+
return ExecuteQueryAsync(nhLinqExpression, query, cancellationToken);
157156
}
158157
catch (Exception ex)
159158
{
@@ -181,6 +180,8 @@ protected virtual NhLinqExpression PrepareQuery(Expression expression, out IQuer
181180
return nhLinqExpression;
182181
}
183182

183+
// Since v5.1
184+
[Obsolete("Use ExecuteQuery(NhLinqExpression nhLinqExpression, IQuery query) instead")]
184185
protected virtual object ExecuteQuery(NhLinqExpression nhLinqExpression, IQuery query, NhLinqExpression nhQuery)
185186
{
186187
IList results = query.List();
@@ -205,6 +206,14 @@ protected virtual object ExecuteQuery(NhLinqExpression nhLinqExpression, IQuery
205206
return results[0];
206207
}
207208

209+
protected virtual object ExecuteQuery(NhLinqExpression nhLinqExpression, IQuery query)
210+
{
211+
// For avoiding breaking derived classes, call the obsolete method until it is dropped.
212+
#pragma warning disable 618
213+
return ExecuteQuery(nhLinqExpression, query, nhLinqExpression);
214+
#pragma warning restore 618
215+
}
216+
208217
private static void SetParameters(IQuery query, IDictionary<string, Tuple<object, IType>> parameters)
209218
{
210219
foreach (var parameterName in query.NamedParameters)

0 commit comments

Comments
 (0)