knex/lib/client.js

47 lines
1.3 KiB
JavaScript
Raw Normal View History

// ServerBase
// -------
var _ = require('lodash');
var Promise = require('../promise');
var Runner = require('./runner');
// Base properties & methods "mixed in" to the
// prototypes for each dialect's client.
function Client() {
this.initFormatter();
this.initRaw();
this.initTransaction();
this.initQuery();
}
// Set the "isDebugging" flag on the client to "true" to log
// all queries run by the client.
Client.prototype.isDebugging = false;
// Internal flag to let us know this is a knex client,
// and what the version number is.
Client.prototype.__knex_client__ = '0.6.0';
// Returns a promise with a connection from the connection pool.
Client.prototype.acquireConnection = function() {
var pool = this.pool;
return new Promise(function(resolver, rejecter) {
pool.acquire(function(err, connection) {
if (err) return rejecter(err);
resolver(connection);
});
});
};
// Releases a connection from the connection pool,
// returning a promise.
Client.prototype.releaseConnection = function(connection) {
var pool = this.pool;
return new Promise(function(resolver, rejecter) {
pool.release(connection, function(err) {
if (err) return rejecter(err);
resolver(conn);
});
});
};
module.exports = Client;