Expose row count after COPY FROM command (#37)
* Expose row count after COPY FROM command * correct conditional
This commit is contained in:
committed by
Brian C
parent
ed57e131e9
commit
0f0ddf7ad4
@@ -39,7 +39,6 @@ CopyStreamQuery.prototype._transform = function(chunk, enc, cb) {
|
|||||||
lenBuffer.writeUInt32BE(chunk.length + 4, 0)
|
lenBuffer.writeUInt32BE(chunk.length + 4, 0)
|
||||||
this.push(lenBuffer)
|
this.push(lenBuffer)
|
||||||
this.push(chunk)
|
this.push(chunk)
|
||||||
this.rowCount++
|
|
||||||
cb()
|
cb()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,7 +57,14 @@ CopyStreamQuery.prototype.handleCopyInResponse = function(connection) {
|
|||||||
this.pipe(connection.stream)
|
this.pipe(connection.stream)
|
||||||
}
|
}
|
||||||
|
|
||||||
CopyStreamQuery.prototype.handleCommandComplete = function() {
|
CopyStreamQuery.prototype.handleCommandComplete = function(msg) {
|
||||||
|
// Parse affected row count as in
|
||||||
|
// https://github.com/brianc/node-postgres/blob/35e5567f86774f808c2a8518dd312b8aa3586693/lib/result.js#L37
|
||||||
|
var match = /COPY (\d+)/.exec((msg || {}).text)
|
||||||
|
if (match) {
|
||||||
|
this.rowCount = parseInt(match[1], 10)
|
||||||
|
}
|
||||||
|
|
||||||
this.unpipe()
|
this.unpipe()
|
||||||
this.emit('end')
|
this.emit('end')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,10 +30,6 @@ var testRange = function(top) {
|
|||||||
|
|
||||||
var txt = 'COPY numbers FROM STDIN'
|
var txt = 'COPY numbers FROM STDIN'
|
||||||
var stream = fromClient.query(copy(txt))
|
var stream = fromClient.query(copy(txt))
|
||||||
var rowEmitCount = 0
|
|
||||||
stream.on('row', function() {
|
|
||||||
rowEmitCount++
|
|
||||||
})
|
|
||||||
for(var i = 0; i < top; i++) {
|
for(var i = 0; i < top; i++) {
|
||||||
stream.write(Buffer('' + i + '\t' + i*10 + '\n'))
|
stream.write(Buffer('' + i + '\t' + i*10 + '\n'))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user