more api compat

This commit is contained in:
Brian Carlson 2011-02-23 19:40:52 -06:00
parent 7d05daaf2c
commit 6a2adc1feb
3 changed files with 23 additions and 5 deletions

View File

@ -1,5 +1,6 @@
//require the c++ bindings & export to javascript
var binding = require(__dirname + '/../build/default/binding');
var utils = require(__dirname + "/utils");
var Connection = binding.Connection;
var p = Connection.prototype;
@ -11,8 +12,8 @@ var add = function(params, config, paramName) {
}
var getLibpgConString = function(config, callback) {
var params = []
if(typeof config == 'object') {
var params = []
add(params, config, 'user');
add(params, config, 'password');
add(params, config, 'port');
@ -25,8 +26,12 @@ var getLibpgConString = function(config, callback) {
}
params.push("hostaddr=127.0.0.1 ");
}
callback(params.join(" "));
} else if (typeof config == 'string') {
getLibpgConString(utils.parseConnectionString(config), callback)
} else {
throw new Error("Unrecognized config type for connection");
}
callback(params.join(" "));
}
var nativeConnect = p.connect;
@ -73,10 +78,19 @@ var ctor = function(config) {
this.emit('end');
this._activeQuery = null;
connection._pulseQueryQueue();
})
});
return connection;
}
};
var connect = function(config, callback) {
var client = new ctor(config);
client.connect();
client.on('connect', function() {
callback(null, client);
})
};
module.exports = {
Client:ctor
Client: ctor,
connect: connect
};

View File

@ -11,6 +11,7 @@ if(typeof events.EventEmitter.prototype.once !== 'function') {
});
};
}
var Pool = function(maxSize, createFn) {
events.EventEmitter.call(this);
this.maxSize = maxSize;

View File

@ -1,5 +1,8 @@
var helper = require(__dirname + '/../test-helper');
var pg = require(__dirname + '/../../../lib');
if(helper.args.libpq) {
pg = require(__dirname + "/../../../lib/binding");
}
var connectionString = helper.connectionString(__filename);
var log = function() {