From ba82444229cccf8d814c46f2370aba8b08fd886b Mon Sep 17 00:00:00 2001 From: Alan Ren Date: Mon, 13 Jun 2022 16:18:27 -0700 Subject: [PATCH] additional data property to error object and use it for table designer scenarios (#19713) * add data property to error object * vbump sts --- extensions/mssql/config.json | 2 +- .../browser/tableDesignerComponentInput.ts | 10 +++++----- src/vs/base/common/errors.ts | 3 ++- .../services/extensions/common/rpcProtocol.ts | 1 + 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/extensions/mssql/config.json b/extensions/mssql/config.json index 15108e815e..a8c24d870a 100644 --- a/extensions/mssql/config.json +++ b/extensions/mssql/config.json @@ -1,6 +1,6 @@ { "downloadUrl": "https://github.com/Microsoft/sqltoolsservice/releases/download/{#version#}/microsoft.sqltools.servicelayer-{#fileName#}", - "version": "4.1.0.1", + "version": "4.1.0.2", "downloadFileNames": { "Windows_86": "win-x86-net6.0.zip", "Windows_64": "win-x64-net6.0.zip", diff --git a/src/sql/workbench/services/tableDesigner/browser/tableDesignerComponentInput.ts b/src/sql/workbench/services/tableDesigner/browser/tableDesignerComponentInput.ts index df4b9d4823..21dd8c96a0 100644 --- a/src/sql/workbench/services/tableDesigner/browser/tableDesignerComponentInput.ts +++ b/src/sql/workbench/services/tableDesigner/browser/tableDesignerComponentInput.ts @@ -119,7 +119,7 @@ export class TableDesignerComponentInput implements DesignerComponentInput { }).withAdditionalProperties(metadataTelemetryInfo).send(); }, error => { - this._errorMessageService.showDialog(Severity.Error, ErrorDialogTitle, localize('tableDesigner.errorProcessingEdit', "An error occured while processing the change: {0}", error?.message ?? error)); + this._errorMessageService.showDialog(Severity.Error, ErrorDialogTitle, localize('tableDesigner.errorProcessingEdit', "An error occured while processing the change: {0}", error?.message ?? error), error?.data); this.updateState(this.valid, this.dirty); this._adsTelemetryService.createErrorEvent(TelemetryView.TableDesigner, this.designerEditTypeDisplayValue[edit.type]).withAdditionalProperties(telemetryInfo).send(); @@ -146,7 +146,7 @@ export class TableDesignerComponentInput implements DesignerComponentInput { 'elapsedTimeMs': new Date().getTime() - startTime }).send(); } catch (error) { - this._errorMessageService.showDialog(Severity.Error, ErrorDialogTitle, localize('tableDesigner.generateScriptError', "An error occured while generating the script: {0}", error?.message ?? error)); + this._errorMessageService.showDialog(Severity.Error, ErrorDialogTitle, localize('tableDesigner.generateScriptError', "An error occured while generating the script: {0}", error?.message ?? error, error?.data)); this.updateState(this.valid, this.dirty); this._adsTelemetryService.createErrorEvent(TelemetryView.TableDesigner, TelemetryAction.GenerateScript).withAdditionalProperties(telemetryInfo).send(); } @@ -176,7 +176,7 @@ export class TableDesignerComponentInput implements DesignerComponentInput { 'elapsedTimeMs': new Date().getTime() - startTime }).withAdditionalProperties(metadataTelemetryInfo).send(); } catch (error) { - this._errorMessageService.showDialog(Severity.Error, ErrorDialogTitle, localize('tableDesigner.publishChangeError', "An error occured while publishing changes: {0}", error?.message ?? error)); + this._errorMessageService.showDialog(Severity.Error, ErrorDialogTitle, localize('tableDesigner.publishChangeError', "An error occured while publishing changes: {0}", error?.message ?? error, error?.data)); this.updateState(this.valid, this.dirty); this._adsTelemetryService.createErrorEvent(TelemetryView.TableDesigner, TelemetryAction.PublishChanges).withAdditionalProperties(telemetryInfo).send(); } @@ -210,7 +210,7 @@ export class TableDesignerComponentInput implements DesignerComponentInput { reportNotificationHandle.close(); this.updateState(this.valid, this.dirty); } catch (error) { - this._errorMessageService.showDialog(Severity.Error, ErrorDialogTitle, localize('tableDesigner.generatePreviewReportError', "An error occurred while generating preview report: {0}", error?.message ?? error)); + this._errorMessageService.showDialog(Severity.Error, ErrorDialogTitle, localize('tableDesigner.generatePreviewReportError', "An error occurred while generating preview report: {0}", error?.message ?? error, error?.data)); this.updateState(this.valid, this.dirty); this._adsTelemetryService.createErrorEvent(TelemetryView.TableDesigner, TelemetryAction.GeneratePreviewReport).withAdditionalProperties(telemetryInfo).send(); return; @@ -267,7 +267,7 @@ export class TableDesignerComponentInput implements DesignerComponentInput { this.doInitialization(result); this._onInitialized.fire(); } catch (error) { - this._errorMessageService.showDialog(Severity.Error, ErrorDialogTitle, localize('tableDesigner.errorInitializingTableDesigner', "An error occurred while initializing the table designer: {0}", error?.message ?? error)); + this._errorMessageService.showDialog(Severity.Error, ErrorDialogTitle, localize('tableDesigner.errorInitializingTableDesigner', "An error occurred while initializing the table designer: {0}", error?.message ?? error, error?.data)); } } diff --git a/src/vs/base/common/errors.ts b/src/vs/base/common/errors.ts index 4639e688dd..77b763246e 100644 --- a/src/vs/base/common/errors.ts +++ b/src/vs/base/common/errors.ts @@ -111,7 +111,8 @@ export function transformErrorForSerialization(error: any): any { name, message, stack, - errorCode + errorCode, + data: (error).data // {{SQL CARBON EDIT}} Add data property. }; } diff --git a/src/vs/workbench/services/extensions/common/rpcProtocol.ts b/src/vs/workbench/services/extensions/common/rpcProtocol.ts index 7273143a26..e43294c12c 100644 --- a/src/vs/workbench/services/extensions/common/rpcProtocol.ts +++ b/src/vs/workbench/services/extensions/common/rpcProtocol.ts @@ -446,6 +446,7 @@ export class RPCProtocol extends Disposable implements IRPCProtocol { err.message = value.message; err.stack = value.stack; err.errorCode = value.errorCode; // {{SQL CARBON EDIT}} Include custom error code + err.data = value.data; // {{SQL CARBON EDIT}} Include custom data } else { err = value; }