Files
azuredatastudio/src/sql/workbench/services/executionPlan/common/interfaces.ts
Aasim Khan 8bb6b5fc1a Redoing Execution Plan Comparison Editor (#19375)
* Adding code for execution plan comparison editor

* Handling floating promises and fixing a loc string

* Fixing some polygon stuff

* Fixing azdatagraph null check bug

* Adding progress notification for similar areas

* Removing some floating promises

* Fixing button enabled state
2022-05-23 14:33:18 -07:00

38 lines
1.7 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import type * as azdata from 'azdata';
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
export const SERVICE_ID = 'executionPlanService';
export const IExecutionPlanService = createDecorator<IExecutionPlanService>(SERVICE_ID);
export interface IExecutionPlanService {
_serviceBrand: undefined;
/**
* Registers an execution plan service provider.
*/
registerProvider(providerId: string, provider: azdata.executionPlan.ExecutionPlanProvider): void;
/**
* Gets an execution plan for the given planFile.
*/
getExecutionPlan(planFile: azdata.executionPlan.ExecutionPlanGraphInfo): Promise<azdata.executionPlan.GetExecutionPlanResult>;
/**
* Compares two execution plans and identifies matching regions in both execution plans.
* @param firstPlanFile file that contains the first execution plan.
* @param secondPlanFile file that contains the second execution plan.
*/
compareExecutionPlanGraph(firstPlanFile: azdata.executionPlan.ExecutionPlanGraphInfo, secondPlanFile: azdata.executionPlan.ExecutionPlanGraphInfo): Promise<azdata.executionPlan.ExecutionPlanComparisonResult>;
/**
* Get execution plan file extensions supported by all registered providers.
* @param providerId optional parameter to get extensions only supported by a particular provider.
*/
getSupportedExecutionPlanExtensions(providerId?: string): string[];
}