Do not emit row event
This commit is contained in:
parent
1f23523e61
commit
2f5b37e0ad
@ -10,6 +10,7 @@ var CopyStreamQuery = function(text) {
|
|||||||
this.text = text
|
this.text = text
|
||||||
this._listeners = null
|
this._listeners = null
|
||||||
this._copyOutResponse = null
|
this._copyOutResponse = null
|
||||||
|
this.rowCount = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
util.inherits(CopyStreamQuery, Transform)
|
util.inherits(CopyStreamQuery, Transform)
|
||||||
@ -78,7 +79,7 @@ CopyStreamQuery.prototype._transform = function(chunk, enc, cb) {
|
|||||||
var slice = chunk.slice(offset, offset + length)
|
var slice = chunk.slice(offset, offset + length)
|
||||||
offset += length
|
offset += length
|
||||||
this.push(slice)
|
this.push(slice)
|
||||||
this.emit('row')
|
this.rowCount++
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
3
index.js
3
index.js
@ -17,6 +17,7 @@ var CopyStreamQuery = function(text) {
|
|||||||
this.text = text
|
this.text = text
|
||||||
this._listeners = null
|
this._listeners = null
|
||||||
this._copyOutResponse = null
|
this._copyOutResponse = null
|
||||||
|
this.rowCount = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
util.inherits(CopyStreamQuery, Transform)
|
util.inherits(CopyStreamQuery, Transform)
|
||||||
@ -39,7 +40,7 @@ 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.emit('row')
|
this.rowCount++
|
||||||
cb()
|
cb()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ var testRange = function(top) {
|
|||||||
console.log('found ', res.rows.length, 'rows')
|
console.log('found ', res.rows.length, 'rows')
|
||||||
countDone()
|
countDone()
|
||||||
var firstRowDone = gonna('have correct result')
|
var firstRowDone = gonna('have correct result')
|
||||||
assert.equal(rowEmitCount, top, 'should have emitted "row" event ' + top + ' times')
|
assert.equal(stream.rowCount, top, 'should have rowCount ' + top + ' ')
|
||||||
fromClient.query('SELECT (max(num)) AS num FROM numbers', function(err, res) {
|
fromClient.query('SELECT (max(num)) AS num FROM numbers', function(err, res) {
|
||||||
assert.ifError(err)
|
assert.ifError(err)
|
||||||
assert.equal(res.rows[0].num, top-1)
|
assert.equal(res.rows[0].num, top-1)
|
||||||
|
@ -18,10 +18,6 @@ var testRange = function(top) {
|
|||||||
var txt = 'COPY (SELECT * from generate_series(0, ' + (top - 1) + ')) TO STDOUT'
|
var txt = 'COPY (SELECT * from generate_series(0, ' + (top - 1) + ')) TO STDOUT'
|
||||||
|
|
||||||
var stream = fromClient.query(copy(txt))
|
var stream = fromClient.query(copy(txt))
|
||||||
var rowEmitCount = 0
|
|
||||||
stream.on('row', function() {
|
|
||||||
rowEmitCount++
|
|
||||||
})
|
|
||||||
var done = gonna('finish piping out', 1000, function() {
|
var done = gonna('finish piping out', 1000, function() {
|
||||||
fromClient.end()
|
fromClient.end()
|
||||||
})
|
})
|
||||||
@ -30,7 +26,7 @@ var testRange = function(top) {
|
|||||||
var res = buf.toString('utf8')
|
var res = buf.toString('utf8')
|
||||||
var expected = _.range(0, top).join('\n') + '\n'
|
var expected = _.range(0, top).join('\n') + '\n'
|
||||||
assert.equal(res, expected)
|
assert.equal(res, expected)
|
||||||
assert.equal(rowEmitCount, top, 'should have emitted "row" ' + top + ' times but got ' + rowEmitCount)
|
assert.equal(stream.rowCount, top, 'should have rowCount ' + top + ' but got ' + stream.rowCount)
|
||||||
done()
|
done()
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user