public async Task ExplainAsync(StatementExecutionModel executionModel, CancellationToken cancellationToken) { ResetView(); ExecutionPlanItemCollection itemCollection; _planItemCollection = itemCollection = await((OracleConnectionAdapterBase)_outputViewer.ConnectionAdapter).ExplainPlanAsync(executionModel, cancellationToken); if (itemCollection != null) { ConfigureExecutionPlanItemVisibility(); SetRootItem(itemCollection.RootItem); TabTreeView.IsSelected = true; } }
public async Task ShowActualAsync(IConnectionAdapter connectionAdapter, CancellationToken cancellationToken) { ResetView(); ExecutionStatisticsPlanItemCollection itemCollection = null; try { _planItemCollection = itemCollection = await((OracleConnectionAdapterBase)connectionAdapter).GetCursorExecutionStatisticsAsync(cancellationToken); } catch (Exception exception) { var errorMessage = $"Execution statistics cannot be retrieved: {Messages.GetExceptionErrorMessage(exception)}"; _outputViewer.AddExecutionLog(DateTime.Now, errorMessage); Messages.ShowError(errorMessage); } if (itemCollection == null) { return; } ConfigureExecutionPlanItemVisibility(); SetRootItem(itemCollection.RootItem); TextExecutionPlan = itemCollection.PlanText; if (itemCollection.RootItem == null) { TabPlainText.IsSelected = true; } else { TotalExecutions = itemCollection.RootItem.Executions; } }