Add support for setting query options in settings and through API (#5484)

Initial query execution options PR.  This is the second in a set of query editor extensibility improvements I'm making.  The PRs include (1) bug fix for webview in query tab (2) dynamic toolbars and (3) fix query event sequencing and event metadata info.
This commit is contained in:
Karl Burtram
2019-05-16 16:31:30 -07:00
committed by GitHub
parent 3158e9f63a
commit fe17955fa1
17 changed files with 222 additions and 60 deletions

View File

@@ -740,6 +740,10 @@ declare module 'azdata' {
flavor: string;
}
export interface QueryExecutionOptions {
options: Map<string, any>;
}
export interface QueryProvider extends DataProvider {
cancelQuery(ownerUri: string): Thenable<QueryCancelResult>;
runQuery(ownerUri: string, selection: ISelectionData, runOptions?: ExecutionPlanOptions): Thenable<void>;
@@ -750,6 +754,7 @@ declare module 'azdata' {
getQueryRows(rowData: QueryExecuteSubsetParams): Thenable<QueryExecuteSubsetResult>;
disposeQuery(ownerUri: string): Thenable<void>;
saveResults(requestParams: SaveResultsRequestParams): Thenable<SaveResultRequestResult>;
setQueryExecutionOptions(ownerUri: string, options: QueryExecutionOptions): Thenable<void>;
// Notifications
registerOnQueryComplete(handler: (result: QueryExecuteCompleteNotificationResult) => any): void;
@@ -3884,11 +3889,8 @@ declare module 'azdata' {
uri: string;
// get the document's execution options
getOptions(): Map<string, string>;
// set the document's execution options
setOptions(options: Map<string, string>): void;
setExecutionOptions(options: Map<string, any>): Thenable<void>;
// tab content is build using the modelview UI builder APIs
// probably should rename DialogTab class since it is useful outside dialogs
@@ -3913,7 +3915,10 @@ declare module 'azdata' {
*/
export function registerQueryEventListener(listener: queryeditor.QueryEventListener): void;
export function getQueryDocument(fileUri: string): queryeditor.QueryDocument;
/**
* Get a QueryDocument object for a file URI
*/
export function getQueryDocument(fileUri: string): Thenable<queryeditor.QueryDocument>;
}
/**