diff options
| author | James Barnett <noreply@jamesbarnett.xyz> | 2018-02-21 21:28:39 +0000 |
|---|---|---|
| committer | James Barnett <noreply@jamesbarnett.xyz> | 2018-02-21 21:28:39 +0000 |
| commit | 703f78867653ed9c53a745f9808eb96ae8a89dc7 (patch) | |
| tree | de0a90c201f1949e701c969b2a3a94d7015f4006 | |
| parent | 4ef675b2b7803c72ed6e74ee13841e356a71f103 (diff) | |
| download | sql-plus-plus-tabbed-interface.tar.xz sql-plus-plus-tabbed-interface.zip | |
Ensure query error messages survive the IPC serialisaiontabbed-interface
| -rw-r--r-- | editor-instance.js | 2 | ||||
| -rw-r--r-- | query-executor.js | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/editor-instance.js b/editor-instance.js index 008705f..8ed6674 100644 --- a/editor-instance.js +++ b/editor-instance.js @@ -175,7 +175,7 @@ function _stopExecTimer() { function handleError(err) { _stopExecTimer(); _destroyDataTable(); - $("#result-error").removeAttr("style").text("Error (" + err.code + ") - " + err.message); + $("#result-error").removeAttr("style").text("Error (" + err.code + ") - " + err.cause); _setExecutionStatusIndicator("ERROR"); $("#execution-time").text("failed after " + execElapsedTime + " ms"); } diff --git a/query-executor.js b/query-executor.js index 0c5b440..88df7e1 100644 --- a/query-executor.js +++ b/query-executor.js @@ -23,8 +23,14 @@ ipcRenderer.on("queryExecutor.runQuery", (event, payload) => { if(payload.queryExecutorId === executorId) { connectionPool.query(payload.query, (err, res) => { - console.log(err, res) + console.log(err, res); + if(err !== undefined) { + // The IPC payload is serialised to JSON beofre transmisison, so the protoype chain is lost. + // So store the nicely formatted error message as a property. + err.cause = err.toString(); + } + ipcRenderer.send("queryExecutor.runQueryComplete", { "error": err, "result": res, |