Skip to content

Commit c084a1c

Browse files
committed
Ensure reserved connections are initialized properly - fixes porsager#718
1 parent b25274c commit c084a1c

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

src/connection.js

+7-4
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ function Connection(options, queues = {}, { onopen = noop, onend = noop, onclose
109109
queue: queues.closed,
110110
idleTimer,
111111
connect(query) {
112-
initial = query
112+
initial = query || true
113113
reconnect()
114114
},
115115
terminate,
@@ -533,11 +533,14 @@ function Connection(options, queues = {}, { onopen = noop, onend = noop, onclose
533533
return terminate()
534534
}
535535

536-
if (needsTypes)
536+
if (needsTypes) {
537+
initial === true && (initial = null)
537538
return fetchArrayTypes()
539+
}
538540

539-
execute(initial)
540-
options.shared.retries = retries = initial = 0
541+
initial !== true && execute(initial)
542+
options.shared.retries = retries = 0
543+
initial = null
541544
return
542545
}
543546

tests/index.js

+11
Original file line numberDiff line numberDiff line change
@@ -2543,3 +2543,14 @@ t('reserve connection', async() => {
25432543
xs.map(x => x.x).join('')
25442544
]
25452545
})
2546+
2547+
t('arrays in reserved connection', async() => {
2548+
const reserved = await sql.reserve()
2549+
const [{ x }] = await reserved`select array[1, 2, 3] as x`
2550+
reserved.release()
2551+
2552+
return [
2553+
'123',
2554+
x.join('')
2555+
]
2556+
})

0 commit comments

Comments
 (0)