diff --git a/packages/engines/mysql/MySqlAnalyser.js b/packages/engines/mysql/MySqlAnalyser.js index c28dbdb08..3b7dc4b47 100644 --- a/packages/engines/mysql/MySqlAnalyser.js +++ b/packages/engines/mysql/MySqlAnalyser.js @@ -4,6 +4,7 @@ const sql = require('./sql'); const DatabaseAnalayser = require('../default/DatabaseAnalyser'); const { isTypeString, isTypeNumeric } = require('@dbgate/tools'); +const { rangeStep } = require('lodash/fp'); function getColumnInfo({ isNullable, @@ -44,7 +45,8 @@ class MySqlAnalyser extends DatabaseAnalayser { if (this.singleObjectFilter) { const { typeField, pureName } = this.singleObjectFilter; if (!typeFields || !typeFields.includes(typeField)) return null; - return res.replace('=[OBJECT_NAME_CONDITION]', ` = ${pureName}`).replace('#DATABASE#', this.pool._database_name); + res = res.replace('=[OBJECT_NAME_CONDITION]', ` = '${pureName}'`).replace('#DATABASE#', this.pool._database_name); + return res; } if (!this.modifications || !typeFields || this.modifications.length == 0) { res = res.replace('=[OBJECT_NAME_CONDITION]', ' is not null'); diff --git a/packages/engines/mysql/index.js b/packages/engines/mysql/index.js index 8a0f54b75..1f1b131e5 100644 --- a/packages/engines/mysql/index.js +++ b/packages/engines/mysql/index.js @@ -34,6 +34,12 @@ const driver = { return connection; }, async query(connection, sql) { + if (sql == null) { + return { + rows: [], + columns: [], + }; + } return new Promise((resolve, reject) => { connection.query(sql, function (error, results, fields) { if (error) reject(error); diff --git a/packages/engines/postgres/index.js b/packages/engines/postgres/index.js index 5c56c678d..131fa1f72 100644 --- a/packages/engines/postgres/index.js +++ b/packages/engines/postgres/index.js @@ -27,6 +27,12 @@ const driver = { return client; }, async query(client, sql) { + if (sql == null) { + return { + rows: [], + columns: [], + }; + } const res = await client.query(sql); return { rows: res.rows, columns: res.fields }; },