diff --git a/lib/parser.js b/lib/parser.js index f3337b1b..cbd31be8 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -102,7 +102,8 @@ p.parse68 = function() { var fieldCount = this.readInt16(); var fields = []; for(var i = 0; i < fieldCount; i++) { - fields[i] = this.readString(this.readInt32()); + var length = this.readInt32(); + fields[i] = (length == -1 ? null : this.readString(length)) }; msg.fieldCount = fieldCount; msg.fields = fields; diff --git a/test/unit/simple-query-tests.js b/test/unit/simple-query-tests.js index b51db050..c72ba979 100644 --- a/test/unit/simple-query-tests.js +++ b/test/unit/simple-query-tests.js @@ -52,7 +52,7 @@ test('simple query', function() { test('after query is ended, it emits nothing else', function() { stream.emit('data', buffers.dataRow(["X","Y","Z"])); stream.emit('data', buffers.commandComplete()); - assert.length(rowData, 1); + assert.length(rowData, 2); assert.equal(ended, 1); });