From 056663bb8fb0d7788d842d25f5e8c7d01d198679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= Date: Sun, 21 Jan 2018 14:02:00 +0100 Subject: [PATCH] Remove a redundant argument in Linq provider ExecuteQuery. --- .../Async/Linq/DefaultQueryProvider.cs | 14 ++++++++++++++ src/NHibernate/Linq/DefaultQueryProvider.cs | 17 +++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/NHibernate/Async/Linq/DefaultQueryProvider.cs b/src/NHibernate/Async/Linq/DefaultQueryProvider.cs index c0e32a49cb2..e133891a4ef 100644 --- a/src/NHibernate/Async/Linq/DefaultQueryProvider.cs +++ b/src/NHibernate/Async/Linq/DefaultQueryProvider.cs @@ -31,6 +31,8 @@ public partial interface INhQueryProvider : IQueryProvider public partial class DefaultQueryProvider : INhQueryProvider, IQueryProviderWithOptions { + // Since v5.1 + [Obsolete("Use ExecuteQuery(NhLinqExpression nhLinqExpression, IQuery query) instead")] protected virtual async Task ExecuteQueryAsync(NhLinqExpression nhLinqExpression, IQuery query, NhLinqExpression nhQuery, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); @@ -56,6 +58,18 @@ protected virtual async Task ExecuteQueryAsync(NhLinqExpression nhLinqEx return results[0]; } + protected virtual Task ExecuteQueryAsync(NhLinqExpression nhLinqExpression, IQuery query, CancellationToken cancellationToken) + { + if (cancellationToken.IsCancellationRequested) + { + return Task.FromCanceled(cancellationToken); + } + // For avoiding breaking derived classes, call the obsolete method until it is dropped. +#pragma warning disable 618 + return ExecuteQueryAsync(nhLinqExpression, query, nhLinqExpression, cancellationToken); +#pragma warning restore 618 + } + public Task ExecuteDmlAsync(QueryMode queryMode, Expression expression, CancellationToken cancellationToken) { if (cancellationToken.IsCancellationRequested) diff --git a/src/NHibernate/Linq/DefaultQueryProvider.cs b/src/NHibernate/Linq/DefaultQueryProvider.cs index d43ae5568c4..4f478f9a61c 100644 --- a/src/NHibernate/Linq/DefaultQueryProvider.cs +++ b/src/NHibernate/Linq/DefaultQueryProvider.cs @@ -77,10 +77,9 @@ protected virtual ISessionImplementor Session public virtual object Execute(Expression expression) { - IQuery query; - NhLinqExpression nhLinqExpression = PrepareQuery(expression, out query); + NhLinqExpression nhLinqExpression = PrepareQuery(expression, out var query); - return ExecuteQuery(nhLinqExpression, query, nhLinqExpression); + return ExecuteQuery(nhLinqExpression, query); } public TResult Execute(Expression expression) @@ -153,7 +152,7 @@ public virtual Task ExecuteAsync(Expression expression, CancellationToke try { var nhLinqExpression = PrepareQuery(expression, out var query); - return ExecuteQueryAsync(nhLinqExpression, query, nhLinqExpression, cancellationToken); + return ExecuteQueryAsync(nhLinqExpression, query, cancellationToken); } catch (Exception ex) { @@ -181,6 +180,8 @@ protected virtual NhLinqExpression PrepareQuery(Expression expression, out IQuer return nhLinqExpression; } + // Since v5.1 + [Obsolete("Use ExecuteQuery(NhLinqExpression nhLinqExpression, IQuery query) instead")] protected virtual object ExecuteQuery(NhLinqExpression nhLinqExpression, IQuery query, NhLinqExpression nhQuery) { IList results = query.List(); @@ -205,6 +206,14 @@ protected virtual object ExecuteQuery(NhLinqExpression nhLinqExpression, IQuery return results[0]; } + protected virtual object ExecuteQuery(NhLinqExpression nhLinqExpression, IQuery query) + { + // For avoiding breaking derived classes, call the obsolete method until it is dropped. +#pragma warning disable 618 + return ExecuteQuery(nhLinqExpression, query, nhLinqExpression); +#pragma warning restore 618 + } + private static void SetParameters(IQuery query, IDictionary> parameters) { foreach (var parameterName in query.NamedParameters)