Adds functionality to open execution plans from DB tables and DMVs. (#20377)

* Adds functionality to open execution plans from DB tables and DMVs.

* Code review changes

* Renames method to getProviderFromUri
This commit is contained in:
Lewis Sanchez
2022-08-17 19:24:23 -07:00
committed by GitHub
parent 2a94ce3afb
commit 7de5ee0427
14 changed files with 177 additions and 21 deletions

View File

@@ -1279,10 +1279,30 @@ export class ExecutionPlanServiceFeature extends SqlOpsFeature<undefined> {
);
};
const isExecutionPlan = (value: string): Thenable<azdata.executionPlan.IsExecutionPlanResult> => {
return new Promise((resolve) => {
let isExecutionPlan = false;
let queryExecutionPlanFileExtension = '';
if (value.includes('ShowPlanXML')) {
isExecutionPlan = true;
queryExecutionPlanFileExtension = 'sqlplan';
}
const result: azdata.executionPlan.IsExecutionPlanResult = {
isExecutionPlan: isExecutionPlan,
queryExecutionPlanFileExtension: queryExecutionPlanFileExtension,
};
return resolve(result);
});
};
return azdata.dataprotocol.registerExecutionPlanProvider({
providerId: client.providerId,
getExecutionPlan,
compareExecutionPlanGraph
compareExecutionPlanGraph,
isExecutionPlan
});
}
}