Skip to content

Commit 54dc7af

Browse files
committed
Update code to use handle error event
1 parent 4ed2bcc commit 54dc7af

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

packages/pg/lib/client.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,8 @@ class Client extends EventEmitter {
383383

384384
_handleParseComplete() {
385385
if (this.activeQuery == null) {
386-
this.emit('error', new Error('Received parseComplete when not in parsing state'))
386+
const error =new Error('Received parseComplete when not in parsing state')
387+
this._handleErrorEvent(error)
387388
return
388389
}
389390
// if a prepared statement has a name and properly parses

packages/pg/test/integration/gh-issues/3174-tests.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,15 +95,13 @@ suite.testAsync('Out of order parseComplete on simple query is catchable', async
9595
errorHit = true
9696
})
9797

98-
await client.query('SELECT NOW')
98+
await client.query('SELECT NOW()')
9999
await delay(50)
100-
await client.query('SELECT NOW')
101-
await delay(50)
102-
await client.query('SELECT NOW')
103-
await delay(50)
104-
await client.end()
105100
assert(cli.native || errorHit)
106101

102+
// further queries on the client should fail since its in an invalid state
103+
await assert.rejects(() => client.query('SELECTR NOW()'), 'Further queries on the client should reject')
104+
107105
await closeServer()
108106
})
109107

@@ -122,6 +120,10 @@ suite.testAsync('Out of order parseComplete on extended query is catchable', asy
122120
await client.query('SELECT $1', ['foo'])
123121
await delay(40)
124122
assert(cli.native || errorHit)
123+
124+
// further queries on the client should fail since its in an invalid state
125+
await assert.rejects(() => client.query('SELECTR NOW()'), 'Further queries on the client should reject')
126+
125127
await client.end()
126128

127129
await closeServer()
@@ -142,6 +144,9 @@ suite.testAsync('Out of order parseComplete on pool is catchable', async () => {
142144
await delay(100)
143145
assert(cli.native || errorHit)
144146

147+
assert.strictEqual(pool.idleCount, 0, 'Pool should have no idle clients')
148+
assert.strictEqual(pool.totalCount, 0, 'Pool should have no connected clients')
149+
145150
await pool.end()
146151
await closeServer()
147152
})

0 commit comments

Comments
 (0)