diff --git a/packages/cubejs-mysql-driver/driver/MySqlDriver.js b/packages/cubejs-mysql-driver/driver/MySqlDriver.js index 38e052bb691b3..21eda9d74f781 100644 --- a/packages/cubejs-mysql-driver/driver/MySqlDriver.js +++ b/packages/cubejs-mysql-driver/driver/MySqlDriver.js @@ -143,9 +143,9 @@ class MySqlDriver extends BaseDriver { const tableName = crypto.randomBytes(10).toString('hex'); const columns = await this.withConnection(async db => { await this.setTimeZone(db); - await db.execute(`CREATE TEMPORARY TABLE ${this.config.database}.t_${tableName} AS ${query} LIMIT 0`, values); - const result = await db.execute(`DESCRIBE ${this.config.database}.t_${tableName}`); - await db.execute(`DROP TEMPORARY TABLE ${this.config.database}.t_${tableName}`); + await db.execute(`CREATE TEMPORARY TABLE \`${this.config.database}\`.t_${tableName} AS ${query} LIMIT 0`, values); + const result = await db.execute(`DESCRIBE \`${this.config.database}\`.t_${tableName}`); + await db.execute(`DROP TEMPORARY TABLE \`${this.config.database}\`.t_${tableName}`); return result; }); diff --git a/packages/cubejs-mysql-driver/test/MySqlDriver.test.js b/packages/cubejs-mysql-driver/test/MySqlDriver.test.js index 799a411366b2e..7ef6bfae48d72 100644 --- a/packages/cubejs-mysql-driver/test/MySqlDriver.test.js +++ b/packages/cubejs-mysql-driver/test/MySqlDriver.test.js @@ -20,7 +20,8 @@ describe('MySqlDriver', () => { host: 'localhost', user: 'root', password: process.env.TEST_DB_PASSWORD || "Test1test", - port: container && container.getMappedPort(3306) || 3306 + port: container && container.getMappedPort(3306) || 3306, + database: 'mysql' }); await mySqlDriver.createSchemaIfNotExists('test'); await mySqlDriver.query('DROP SCHEMA test'); @@ -40,6 +41,8 @@ describe('MySqlDriver', () => { }); expect(JSON.parse(JSON.stringify(await mySqlDriver.query('select * from test.wrong_value')))) .toStrictEqual([{ value: "Tekirdağ" }]); + expect(JSON.parse(JSON.stringify((await mySqlDriver.downloadQueryResults('select * from test.wrong_value')).rows))) + .toStrictEqual([{ value: "Tekirdağ" }]); }); test('boolean field', async () => {