Initial sets up of new execution plan comparison result endpoint (#18813)

* Initial sets up of new execution plan comparison result endpoint

* Makes query execution plan endpoint URI's more consistent.
This commit is contained in:
Lewis Sanchez
2022-03-25 11:47:46 -07:00
committed by GitHub
parent 0d3cec074d
commit 85b4bf13f9
7 changed files with 85 additions and 3 deletions

View File

@@ -123,6 +123,12 @@ export class ExecutionPlanService implements IExecutionPlanService {
});
}
compareExecutionPlanGraph(firstPlanFile: azdata.executionPlan.ExecutionPlanGraphInfo, secondPlanFile: azdata.executionPlan.ExecutionPlanGraphInfo): Promise<azdata.executionPlan.ExecutionPlanComparisonResult> {
return this._runAction(firstPlanFile.graphFileType, (runner) => {
return runner.compareExecutionPlanGraph(firstPlanFile, secondPlanFile);
});
}
getSupportedExecutionPlanExtensionsForProvider(providerId: string): string[] | undefined {
return this._capabilitiesService.getCapabilities(providerId).connection.supportedExecutionPlanFileExtensions;
}

View File

@@ -22,6 +22,12 @@ export interface IExecutionPlanService {
* 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 the provider.