34 lines
804 B
JavaScript
34 lines
804 B
JavaScript
// MySQL2 Client
|
|
// -------
|
|
const Client_MySQL = require('../mysql');
|
|
const Transaction = require('./transaction');
|
|
|
|
// Always initialize with the "QueryBuilder" and "QueryCompiler"
|
|
// objects, which extend the base 'lib/query/builder' and
|
|
// 'lib/query/compiler', respectively.
|
|
class Client_MySQL2 extends Client_MySQL {
|
|
transaction() {
|
|
return new Transaction(this, ...arguments);
|
|
}
|
|
|
|
_driver() {
|
|
return require('mysql2');
|
|
}
|
|
validateConnection(connection) {
|
|
return (
|
|
connection &&
|
|
!connection._fatalError &&
|
|
!connection._protocolError &&
|
|
!connection._closing &&
|
|
!connection.stream.destroyed
|
|
);
|
|
}
|
|
}
|
|
|
|
Object.assign(Client_MySQL2.prototype, {
|
|
// The "dialect", for reference elsewhere.
|
|
driverName: 'mysql2',
|
|
});
|
|
|
|
module.exports = Client_MySQL2;
|