From 137bb7b0023cf1923076b028ec7442ec04f78ace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillermo=20Bonveh=C3=AD?= Date: Fri, 23 Apr 2021 11:59:13 -0300 Subject: [PATCH] fix: catch getViewTexts errors otherwise no structure can be seen if somehow SHOW CREATE VIEW fails (invalid refs, permissions) it throw an error and no structure is shown at all. --- plugins/dbgate-plugin-mysql/src/backend/Analyser.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/plugins/dbgate-plugin-mysql/src/backend/Analyser.js b/plugins/dbgate-plugin-mysql/src/backend/Analyser.js index 9e1f043bb..36159e076 100644 --- a/plugins/dbgate-plugin-mysql/src/backend/Analyser.js +++ b/plugins/dbgate-plugin-mysql/src/backend/Analyser.js @@ -79,8 +79,13 @@ class Analyser extends DatabaseAnalyser { async getViewTexts(allViewNames) { const res = {}; for (const viewName of this.getRequestedViewNames(allViewNames)) { - const resp = await this.driver.query(this.pool, `SHOW CREATE VIEW \`${viewName}\``); - res[viewName] = resp.rows[0]['Create View']; + try { + const resp = await this.driver.query(this.pool, `SHOW CREATE VIEW \`${viewName}\``); + res[viewName] = resp.rows[0]['Create View']; + } catch(err) { + console.log('ERROR', err); + res[viewName] = `${err}`; + } } return res; }