UNPKG

ts-sql-query

Version:

Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.

48 lines (47 loc) 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MySqlPoolQueryRunner = void 0; const PromiseBasedPoolQueryRunner_1 = require("./PromiseBasedPoolQueryRunner"); const MySqlQueryRunner_1 = require("./MySqlQueryRunner"); /** * @deprecated https://www.npmjs.com/package/mysql is not maintained anymore. Use another QueryRunner for MySql instead. */ class MySqlPoolQueryRunner extends PromiseBasedPoolQueryRunner_1.PromiseBasedPoolQueryRunner { constructor(pool, database = 'mySql') { super(); this.pool = pool; this.database = database; } useDatabase(database) { if (database !== 'mariaDB' && database !== 'mySql') { throw new Error('Unsupported database: ' + database + '. MySqlPoolQueryRunner only supports mySql or mariaDB databases'); } else { // @ts-ignore this.database = database; } } getNativeRunner() { return this.pool; } addParam(params, value) { params.push(value); return '?'; } createQueryRunner() { return new Promise((resolve, reject) => { this.pool.getConnection((error, mysqlConnection) => { if (error) { reject(error); } else { resolve(new MySqlQueryRunner_1.MySqlQueryRunner(mysqlConnection, this.database)); } }); }); } releaseQueryRunner(queryRunner) { queryRunner.getNativeRunner().release(); } } exports.MySqlPoolQueryRunner = MySqlPoolQueryRunner;