mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-16 01:25:41 -05:00
refactored query execution failure callback to take exception (#382)
This commit is contained in:
@@ -346,7 +346,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution
|
||||
Func<Query, Task<bool>> queryCreateSuccessFunc,
|
||||
Func<string, Task> queryCreateFailFunc,
|
||||
Query.QueryAsyncEventHandler querySuccessFunc,
|
||||
Query.QueryAsyncEventHandler queryFailureFunc)
|
||||
Query.QueryAsyncErrorEventHandler queryFailureFunc)
|
||||
{
|
||||
Validate.IsNotNull(nameof(executeParams), executeParams);
|
||||
Validate.IsNotNull(nameof(queryEventSender), queryEventSender);
|
||||
@@ -478,7 +478,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution
|
||||
private static void ExecuteAndCompleteQuery(string ownerUri, Query query,
|
||||
IEventSender eventSender,
|
||||
Query.QueryAsyncEventHandler querySuccessCallback,
|
||||
Query.QueryAsyncEventHandler queryFailureCallback)
|
||||
Query.QueryAsyncErrorEventHandler queryFailureCallback)
|
||||
{
|
||||
// Setup the callback to send the complete event
|
||||
Query.QueryAsyncEventHandler completeCallback = async q =>
|
||||
@@ -492,8 +492,21 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution
|
||||
|
||||
await eventSender.SendEvent(QueryCompleteEvent.Type, eventParams);
|
||||
};
|
||||
|
||||
// Setup the callback to send the complete event
|
||||
Query.QueryAsyncErrorEventHandler failureCallback = async (q, e) =>
|
||||
{
|
||||
// Send back the results
|
||||
QueryCompleteParams eventParams = new QueryCompleteParams
|
||||
{
|
||||
OwnerUri = ownerUri,
|
||||
BatchSummaries = q.BatchSummaries
|
||||
};
|
||||
|
||||
await eventSender.SendEvent(QueryCompleteEvent.Type, eventParams);
|
||||
};
|
||||
query.QueryCompleted += completeCallback;
|
||||
query.QueryFailed += completeCallback;
|
||||
query.QueryFailed += failureCallback;
|
||||
|
||||
// Add the callbacks that were provided by the caller
|
||||
// If they're null, that's no problem
|
||||
|
||||
Reference in New Issue
Block a user