Skip to content

Commit 7d138dc

Browse files
committed
fix: add missing properties to reserve query
Fixes porsager#944 The call to connect(c, query) had no query, so for a connection failure, query.origin.replace would fail, crashing the process.
1 parent 089214e commit 7d138dc

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/connection.js

+3
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,9 @@ function Connection(options, queues = {}, { onopen = noop, onend = noop, onclose
385385
}
386386

387387
function queryError(query, err) {
388+
if (query === true) {
389+
return;
390+
}
388391
'query' in err || 'parameters' in err || Object.defineProperties(err, {
389392
stack: { value: err.stack + query.origin.replace(/.*\n/, '\n'), enumerable: options.debug },
390393
query: { value: query.string, enumerable: options.debug },

src/index.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -204,9 +204,10 @@ function Postgres(a, b) {
204204
const queue = Queue()
205205
const c = open.length
206206
? open.shift()
207-
: await new Promise(r => {
208-
queries.push({ reserve: r })
209-
closed.length && connect(closed.shift())
207+
: await new Promise((resolve, reject) => {
208+
const q = { reserve: resolve, reject, origin: 'reserve() call', statement: {} };
209+
queries.push(q);
210+
closed.length && connect(closed.shift(), q)
210211
})
211212

212213
move(c, reserved)

0 commit comments

Comments
 (0)