diff --git a/packages/pg/lib/result.js b/packages/pg/lib/result.js index d959e808a..233455b06 100644 --- a/packages/pg/lib/result.js +++ b/packages/pg/lib/result.js @@ -17,7 +17,7 @@ var Result = function (rowMode, types) { this.rowCount = null this.oid = null this.rows = [] - this.fields = undefined + this.fields = [] this._parsers = undefined this._types = types this.RowCtor = null diff --git a/packages/pg/test/integration/gh-issues/2056-tests.js b/packages/pg/test/integration/gh-issues/2056-tests.js new file mode 100644 index 000000000..f2912fc62 --- /dev/null +++ b/packages/pg/test/integration/gh-issues/2056-tests.js @@ -0,0 +1,22 @@ + +"use strict" +var helper = require('./../test-helper') +var assert = require('assert') + +const suite = new helper.Suite() + +suite.test('All queries should return a result array', (done) => { + const client = new helper.pg.Client() + client.connect() + const promises = [] + promises.push(client.query('CREATE TEMP TABLE foo(bar TEXT)')) + promises.push(client.query('INSERT INTO foo(bar) VALUES($1)', ['qux'])) + promises.push(client.query('SELECT * FROM foo WHERE bar = $1', ['foo'])) + Promise.all(promises).then(results => { + results.forEach(res => { + assert(Array.isArray(res.fields)) + assert(Array.isArray(res.rows)) + }) + client.end(done) + }) +})