From 227d1a874903c48601ebb2dbeee5857115a52373 Mon Sep 17 00:00:00 2001 From: Brian Carlson Date: Tue, 18 Jan 2011 22:23:03 -0600 Subject: [PATCH] query callback fired only once regardless of number of commandComplete messages recieved from backend --- lib/query.js | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/lib/query.js b/lib/query.js index de64c416..eed20950 100644 --- a/lib/query.js +++ b/lib/query.js @@ -56,15 +56,6 @@ p.submit = function(connection) { } }; - var onCommandComplete = function() { - self.callback(null, {rows: rows}); - rows = []; - } - - if(self.callback) { - connection.on('commandComplete', onCommandComplete) - } - var onError = function(err) { //remove all listeners connection.removeListener('rowDescription', handleDatarow); @@ -73,7 +64,6 @@ p.submit = function(connection) { connection.removeListener('readyForQuery', onReadyForQuery); if(self.callback) { self.callback(err); - connection.removeListener('commandComplete', onCommandComplete); } else { self.emit('error', err); } @@ -87,7 +77,8 @@ p.submit = function(connection) { connection.removeListener('readyForQuery', onReadyForQuery); connection.removeListener('error', onError); if(self.callback) { - connection.removeListener('commandComplete', onCommandComplete); + self.callback(null, {rows: rows}); + rows = []; } self.emit('end'); }; @@ -179,8 +170,8 @@ var dateParser = function(isoDate) { var end = splitTime[2]; var seconds = /(\d{2})/.exec(end); seconds = (seconds ? seconds[1] : 0); - seconds = parseInt(seconds,10); - var mili = /\.(\d{1,})/.exec(end+"000"); + seconds = parseInt(seconds,10); + var mili = /\.(\d{1,})/.exec(end+"000"); mili = mili ? mili[1].slice(0,3) : 0; var tZone = /([Z|+\-])(\d{2})?(\d{2})?/.exec(end); //minutes to adjust for timezone