Merge pull request #851 from tgriesser/issue-849

Issue 849
This commit is contained in:
Tim Griesser 2015-06-01 08:03:54 -04:00
commit c60b525e50
2 changed files with 7 additions and 5 deletions

View File

@ -108,9 +108,13 @@ assign(Client_PG.prototype, {
PGQueryStream = process.browser ? undefined : require('pg-query-stream'); PGQueryStream = process.browser ? undefined : require('pg-query-stream');
var sql = obj.sql = this.positionBindings(obj.sql); var sql = obj.sql = this.positionBindings(obj.sql);
return new Promise(function (resolver, rejecter) { return new Promise(function (resolver, rejecter) {
var queryStream = connection.query(new PGQueryStream(sql, obj.bindings, options));
// 'error' is not propagated by .pipe, but it breaks the pipe
queryStream.on('error', rejecter);
stream.on('error', rejecter); stream.on('error', rejecter);
// 'end' IS propagated by .pipe, by default
stream.on('end', resolver); stream.on('end', resolver);
connection.query(new PGQueryStream(sql, obj.bindings, options)).pipe(stream); queryStream.pipe(stream);
}); });
}, },
@ -165,4 +169,4 @@ assign(Client_PG.prototype, {
} }
} }); } });
module.exports = Client_PG; module.exports = Client_PG;

View File

@ -89,8 +89,6 @@ assign(Runner.prototype, {
if (hasHandler) throw err; if (hasHandler) throw err;
stream.emit('error', err); stream.emit('error', err);
} }
return sql;
}).then(function (sql) {
return runner.client.stream(runner.connection, sql, stream, options); return runner.client.stream(runner.connection, sql, stream, options);
}); });
@ -143,4 +141,4 @@ assign(Runner.prototype, {
}); });
module.exports = Runner; module.exports = Runner;