Socket
Socket
Sign inDemoInstall

pg

Package Overview
Dependencies
Maintainers
1
Versions
224
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pg - npm Package Compare versions

Comparing version 0.5.7 to 0.5.8

20

lib/client.js

@@ -31,3 +31,3 @@ var sys = require('sys');

p.connect = function() {
p.connect = function(callback) {
var self = this;

@@ -88,7 +88,13 @@ var con = this.connection;

self.emit('connect');
if (!callback) {
self.emit('connect');
} else {
callback(null,self);
//remove callback for proper error handling after the connect event
callback = null;
}
con.on('notification', function(msg) {
self.emit('notification', msg);
})
});

@@ -108,3 +114,7 @@ });

if(!self.activeQuery) {
self.emit('error', error);
if(!callback) {
self.emit('error', error);
} else {
callback(error);
}
} else {

@@ -122,3 +132,3 @@ //need to sync after error during a prepared statement

self.emit('notice', msg);
})
});

@@ -125,0 +135,0 @@ };

@@ -89,7 +89,2 @@ var sys = require('sys');

var termBuffer = new Buffer([0x58, 0, 0, 0, 4]);
p.end = function() {
var wrote = this.stream.write(termBuffer);
};
p.query = function(text) {

@@ -96,0 +91,0 @@ //0x51 = Q

@@ -15,7 +15,24 @@ //require the c++ bindings & export to javascript

p.connect = function() {
p.connect = function(cb) {
var self = this;
utils.buildLibpqConnectionString(this._config, function(err, conString) {
if(err) return self.emit('error', err);
if(err) {
return cb ? cb(err) : self.emit('error', err);
}
nativeConnect.call(self, conString);
if(cb) {
var errCallback;
var connectCallback = function() {
//remove single-fire connection error callback
self.removeListener('error', errCallback);
cb(null);
}
errCallback = function(err) {
//remove singel-fire connection success callback
self.removeListener('connect', connectCallback);
cb(err);
}
self.once('connect', connectCallback);
self.once('error', errCallback);
}
})

@@ -96,12 +113,21 @@ }

connection._activeQuery.handleRow(row);
})
});
//TODO: emit more native error properties (make it match js error)
connection.on('_error', function(err) {
//create Error object from object literal
var error = new Error(err.message || "Unknown native driver error");
for(var key in err) {
error[key] = err[key];
}
//give up on trying to wait for named query prepare
this._namedQuery = false;
if(connection._activeQuery) {
connection._activeQuery.handleError(err);
connection._activeQuery.handleError(error);
} else {
connection.emit('error', err);
connection.emit('error', error);
}
})
});
connection.on('_readyForQuery', function() {

@@ -119,2 +145,3 @@ var q = this._activeQuery;

});
return connection;

@@ -121,0 +148,0 @@ };

{ "name": "pg",
"version": "0.5.7",
"version": "0.5.8",
"description": "PostgreSQL client - pure javascript & libpq with the same API",

@@ -4,0 +4,0 @@ "keywords" : ["postgres", "pg", "libpq", "postgre", "database", "rdbms"],

var helper = require(__dirname + '/test-helper');
var sys = require('sys')
var sys = require('sys');

@@ -8,3 +8,3 @@ var createErorrClient = function() {

assert.ok(false, "client should not throw query error: " + sys.inspect(err));
})
});
client.on('drain', client.end.bind(client));

@@ -25,3 +25,3 @@ return client;

assert.equal(error.severity, "ERROR");
})
});
});

@@ -59,5 +59,5 @@

});
})
});
test("when a query is binding", function() {
test("when a query is binding", function() {

@@ -82,3 +82,3 @@ var query = client.query({

});
})
});
});

@@ -95,6 +95,29 @@

test('non-query error with callback', function() {
var client = new Client({
user:'asldkfjsadlfkj'
});
client.connect(assert.calls(function(error, client) {
assert.ok(error);
}));
});
});
test('non-error calls supplied callback', function() {
var client = new Client({
user: helper.args.user,
password: helper.args.password,
host: helper.args.host,
port: helper.args.port,
database: helper.args.database
});
client.connect(assert.calls(function(err) {
assert.isNull(err);
client.end();
}))
});
test('when connecting to invalid host', function() {
return false;
var client = new Client({

@@ -104,7 +127,18 @@ user: 'brian',

host: 'asldkfjasdf!!#1308140.com'
})
});
assert.emits(client, 'error');
client.connect();
})
});
test('when connecting to invalid host with callback', function() {
var client = new Client({
user: 'brian',
password: '1234',
host: 'asldkfjasdf!!#1308140.com'
});
client.connect(function(error, client) {
assert.ok(error);
});
});
test('multiple connection errors (gh#31)', function() {

@@ -120,9 +154,9 @@ return false;

database: helper.args.database
})
});
client.connect();
assert.emits(client, 'error', function(e) {
client.connect();
assert.emits(client, 'error')
})
})
assert.emits(client, 'error');
});
});

@@ -132,5 +166,5 @@ test('with callback method', function() {

return false;
})
});
})
});

@@ -12,3 +12,3 @@ var helper = require(__dirname+'/../test-helper');

var client = new Client({connection: connection});
client.connect(helper.args.port, helper.args.host);
client.connect();
client.connection.emit('connect');

@@ -15,0 +15,0 @@ return client;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc