mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-24 17:23:05 -05:00
Feature/schemacompare cancel (#6104)
* Schema compare cancel changes for ADS * adding a missed change * Merge from Master * Updating SqltoolsService version * trying stress with bigger runtime * trying one more stress fix with unique operation ids * refactoring test a bit to ensure stress run works
This commit is contained in:
@@ -15,11 +15,12 @@ export interface ISchemaCompareService {
|
||||
_serviceBrand: any;
|
||||
|
||||
registerProvider(providerId: string, provider: azdata.SchemaCompareServicesProvider): void;
|
||||
schemaCompare(sourceEndpointInfo: azdata.SchemaCompareEndpointInfo, targetEndpointInfo: azdata.SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: azdata.DeploymentOptions): void;
|
||||
schemaCompare(operationId: string, sourceEndpointInfo: azdata.SchemaCompareEndpointInfo, targetEndpointInfo: azdata.SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: azdata.DeploymentOptions): void;
|
||||
schemaCompareGenerateScript(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): void;
|
||||
schemaComparePublishChanges(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): void;
|
||||
schemaCompareGetDefaultOptions(): void;
|
||||
schemaCompareIncludeExcludeNode(operationId: string, diffEntry: azdata.DiffEntry, includeRequest: boolean, taskExecutionMode: azdata.TaskExecutionMode): void;
|
||||
schemaCompareCancel(operationId: string): void;
|
||||
}
|
||||
|
||||
export class SchemaCompareService implements ISchemaCompareService {
|
||||
@@ -32,9 +33,9 @@ export class SchemaCompareService implements ISchemaCompareService {
|
||||
this._providers[providerId] = provider;
|
||||
}
|
||||
|
||||
schemaCompare(sourceEndpointInfo: azdata.SchemaCompareEndpointInfo, targetEndpointInfo: azdata.SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: azdata.DeploymentOptions): Thenable<azdata.SchemaCompareResult> {
|
||||
schemaCompare(operationId: string, sourceEndpointInfo: azdata.SchemaCompareEndpointInfo, targetEndpointInfo: azdata.SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: azdata.DeploymentOptions): Thenable<azdata.SchemaCompareResult> {
|
||||
return this._runAction(sourceEndpointInfo.ownerUri, (runner) => {
|
||||
return runner.schemaCompare(sourceEndpointInfo, targetEndpointInfo, taskExecutionMode, deploymentOptions);
|
||||
return runner.schemaCompare(operationId, sourceEndpointInfo, targetEndpointInfo, taskExecutionMode, deploymentOptions);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -62,6 +63,12 @@ export class SchemaCompareService implements ISchemaCompareService {
|
||||
});
|
||||
}
|
||||
|
||||
schemaCompareCancel(operationId: string): Thenable<azdata.ResultStatus> {
|
||||
return this._runAction('', (runner) => {
|
||||
return runner.schemaCompareCancel(operationId);
|
||||
});
|
||||
}
|
||||
|
||||
private _runAction<T>(uri: string, action: (handler: azdata.SchemaCompareServicesProvider) => Thenable<T>): Thenable<T> {
|
||||
let providerId: string = this._connectionService.getProviderIdFromUri(uri);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user