From 91741655b737ba1a090a2858273321125c040c23 Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Sun, 16 May 2021 14:11:35 +0200 Subject: [PATCH] fixes single object analyser --- packages/tools/src/DatabaseAnalyser.ts | 11 ++++++++--- plugins/dbgate-plugin-mysql/src/backend/Analyser.js | 5 +++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/tools/src/DatabaseAnalyser.ts b/packages/tools/src/DatabaseAnalyser.ts index a61c19612..d99c31984 100644 --- a/packages/tools/src/DatabaseAnalyser.ts +++ b/packages/tools/src/DatabaseAnalyser.ts @@ -30,11 +30,16 @@ export class DatabaseAnalyser { } async singleObjectAnalysis(name, typeField) { + // console.log('Analysing SINGLE OBJECT', name, typeField); this.singleObjectFilter = { ...name, typeField }; await this._computeSingleObjectId(); - const res = this._runAnalysis(); - if (res[typeField]?.length == 1) return res[typeField][0]; - const obj = res[typeField]?.find(x => x.pureName == name.pureName && x.schemaName == name.schemaName); + const res = await this._runAnalysis(); + // console.log('SINGLE OBJECT RES', res); + const obj = + res[typeField]?.length == 1 + ? res[typeField][0] + : res[typeField]?.find(x => x.pureName == name.pureName && x.schemaName == name.schemaName); + // console.log('SINGLE OBJECT', obj); return obj; } diff --git a/plugins/dbgate-plugin-mysql/src/backend/Analyser.js b/plugins/dbgate-plugin-mysql/src/backend/Analyser.js index bdb1c3436..c80a9bfe7 100644 --- a/plugins/dbgate-plugin-mysql/src/backend/Analyser.js +++ b/plugins/dbgate-plugin-mysql/src/backend/Analyser.js @@ -43,6 +43,11 @@ class Analyser extends DatabaseAnalyser { return this.getRequestedObjectPureNames('views', allViewNames); } + async _computeSingleObjectId() { + const { pureName } = this.singleObjectFilter; + this.singleObjectId = pureName; + } + async getViewTexts(allViewNames) { const res = {}; for (const viewName of this.getRequestedViewNames(allViewNames)) {