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
JavaScript
;
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;