Add in proper error handling

This commit is contained in:
Brian M. Carlson 2013-10-22 13:19:28 -05:00
parent aec85ce0d6
commit 1b249e9ceb
2 changed files with 29 additions and 0 deletions

View File

@ -103,3 +103,8 @@ QueryStream.prototype.handleCommandComplete = function(msg) {
QueryStream.prototype.handleReadyForQuery = function() {
this.push(null)
}
QueryStream.prototype.handleError = function(err) {
this.connection.sync()
this.emit('error', err)
}

24
test/error.js Normal file
View File

@ -0,0 +1,24 @@
var pg = require('pg')
var assert = require('assert')
var gonna = require('gonna')
var _ = require('lodash')
var concat = require('concat-stream')
var through = require('through')
var QueryStream = require('../')
var client = new pg.Client()
var connected = gonna('connect', 100, function() {
var stream = new QueryStream('SELECT * FROM asdf num', [])
var query = client.query(stream)
query.on('error', gonna('emit error', 100, function(err) {
assert(err)
assert.equal(err.code, '42P01')
}))
var done = gonna('keep connetion alive', 100)
client.query('SELECT NOW()', done)
})
client.connect(connected)
client.on('drain', client.end.bind(client))