Skip to content

Commit dbfd1cf

Browse files
committedJan 18, 2021
pg: Re-export DatabaseError from 'pg-protocol'
Before, users would have to import DatabaseError from 'pg-protocol'. If there are multiple versions of 'pg-protocol', you might end up using the wrong one. Closes #2378
1 parent 3f3f1a7 commit dbfd1cf

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed
 

‎packages/pg/lib/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var Client = require('./client')
44
var defaults = require('./defaults')
55
var Connection = require('./connection')
66
var Pool = require('pg-pool')
7+
const { DatabaseError } = require('pg-protocol')
78

89
const poolFactory = (Client) => {
910
return class BoundPool extends Pool {
@@ -21,6 +22,7 @@ var PG = function (clientConstructor) {
2122
this._pools = []
2223
this.Connection = Connection
2324
this.types = require('pg-types')
25+
this.DatabaseError = DatabaseError
2426
}
2527

2628
if (typeof process.env.NODE_PG_FORCE_NATIVE !== 'undefined') {

‎packages/pg/test/integration/client/error-handling-tests.js

+3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ var util = require('util')
55

66
var pg = helper.pg
77
const Client = pg.Client
8+
const DatabaseError = pg.DatabaseError
89

910
var createErorrClient = function () {
1011
var client = helper.client()
@@ -140,6 +141,7 @@ suite.test('when a query is binding', function (done) {
140141
)
141142

142143
assert.emits(query, 'error', function (err) {
144+
assert(err instanceof DatabaseError)
143145
assert.equal(err.severity, 'ERROR')
144146
ensureFuture(client, done)
145147
})
@@ -213,6 +215,7 @@ suite.test('within a simple query', (done) => {
213215
var query = client.query(new pg.Query("select eeeee from yodas_dsflsd where pixistix = 'zoiks!!!'"))
214216

215217
assert.emits(query, 'error', function (error) {
218+
assert(error instanceof DatabaseError);
216219
assert.equal(error.severity, 'ERROR')
217220
done()
218221
})

‎packages/pg/test/integration/client/query-error-handling-tests.js

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
var helper = require('./test-helper')
33
var util = require('util')
44
var Query = helper.pg.Query
5+
var DatabaseError = helper.pg.DatabaseError;
56

67
test('error during query execution', function () {
78
var client = new Client(helper.args)
@@ -74,6 +75,7 @@ test('9.3 column error fields', function () {
7475

7576
client.query('CREATE TEMP TABLE column_err_test(a int NOT NULL)')
7677
client.query('INSERT INTO column_err_test(a) VALUES (NULL)', function (err) {
78+
assert(err instanceof DatabaseError)
7779
assert.equal(err.severity, 'ERROR')
7880
assert.equal(err.code, '23502')
7981
assert.equal(err.table, 'column_err_test')
@@ -102,6 +104,7 @@ test('9.3 constraint error fields', function () {
102104
client.query('CREATE TEMP TABLE constraint_err_test(a int PRIMARY KEY)')
103105
client.query('INSERT INTO constraint_err_test(a) VALUES (1)')
104106
client.query('INSERT INTO constraint_err_test(a) VALUES (1)', function (err) {
107+
assert(err instanceof DatabaseError)
105108
assert.equal(err.severity, 'ERROR')
106109
assert.equal(err.code, '23505')
107110
assert.equal(err.table, 'constraint_err_test')

0 commit comments

Comments
 (0)