Pushing initial work for done in Query plan feature to main (#17986)

* Adding initial boilerplate for qp2

* Adding feature flag in query plan 2

* Clearing show plan 2 after every run

* Adding sub tree cost

* removing unused method.

* WIP 2

* Adding properties view and relative cost to query plan

* WIP

* Add icons to ads

* Assing relative costs and prop windows

* Enabling older query plan again

* Making some PR fixes

* Some more PR related fixes

* Use MS org azdataGraph module

* Moving new properties to azdata proposed.

* Moving new class properties to proposed

* added missing doc component.

* Changing how azdatagraph package is referenced

* Removing empty lines, fixing localization keys

* Removing empty line, localizing some string

* making css classes more specific

* making some logic concise

* localizing some more strings

* Making more css classes specific

* Removing important tag from css props

* Checking if sum is greater than 0 to prevent divide by zero exceptions

* Fixed loader error in bootstrap

* Fixing query index

* -fixing image paths
-making css class more class specific by using nested selectors

Co-authored-by: kburtram <karlb@microsoft.com>
This commit is contained in:
Aasim Khan
2022-01-13 09:32:13 -08:00
committed by GitHub
parent 24a0605081
commit ea2860eb33
129 changed files with 882 additions and 8 deletions

View File

@@ -6,9 +6,10 @@
import { IQueryManagementService, QueryCancelResult, ExecutionPlanOptions } from 'sql/workbench/services/query/common/queryManagement';
import * as Utils from 'sql/platform/connection/common/utils';
import { Deferred } from 'sql/base/common/promise';
import { IQueryPlanInfo } from 'sql/workbench/services/query/common/queryModel';
import { IQueryPlanInfo, IQueryPlan2Info } from 'sql/workbench/services/query/common/queryModel';
import { ResultSerializer, SaveFormat } from 'sql/workbench/services/query/common/resultSerializer';
import * as azdata from 'azdata';
import * as nls from 'vs/nls';
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
import * as types from 'vs/base/common/types';
@@ -72,6 +73,9 @@ export default class QueryRunner extends Disposable {
private readonly _onQueryPlanAvailable = this._register(new Emitter<IQueryPlanInfo>());
public readonly onQueryPlanAvailable = this._onQueryPlanAvailable.event;
private readonly _onQueryPlan2Available = this._register(new Emitter<IQueryPlan2Info>());
public readonly onQueryPlan2Available = this._onQueryPlan2Available.event;
private readonly _onVisualize = this._register(new Emitter<ResultSetSummary>());
public readonly onVisualize = this._onVisualize.event;
@@ -383,6 +387,16 @@ export default class QueryRunner extends Disposable {
}
}
public handleQueryPlan2Available(queryPlans: azdata.QueryPlanGraph[] | undefined) {
if (queryPlans) {
this._onQueryPlan2Available.fire({
providerId: mssqlProviderName,
fileUri: this.uri,
planGraphs: queryPlans
});
}
}
/**
* Handle a Mssage from the service layer
*/