Skip to content

Commit 08afcc1

Browse files
committed
Fix Snowflake already connecting bug
1 parent 3f44ff8 commit 08afcc1

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

lib/snowflake.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import snowflake from "snowflake-sdk";
55

66
export default url => {
77
url = new URL(url);
8-
const {host: account, username, password, pathname, searchParams} = new URL(
8+
const {host, username, password, pathname, searchParams} = new URL(
99
url
1010
);
1111
const connection = snowflake.createConnection({
12-
account,
12+
account: host,
1313
username,
1414
password,
1515
database: pathname.slice(1),
@@ -18,17 +18,20 @@ export default url => {
1818
role: searchParams.get("role")
1919
});
2020

21+
const connecting = new WeakSet();
2122
return async function query(req, res) {
2223
const body = await json(req);
2324
const {sql, params} = body;
2425

2526
const client = await new Promise((resolve, reject) => {
26-
if (connection.isUp()) return resolve(connection);
27+
if (connection.isUp() || connecting.has(connection))
28+
return resolve(connection);
2729
snowflake.configure({ocspFailOpen: false});
2830
connection.connect((err, conn) => {
2931
if (err) reject(err);
3032
else resolve(conn);
3133
});
34+
connecting.add(connection);
3235
});
3336

3437
const statement = client.execute({sqlText: sql, binds: params});

0 commit comments

Comments
 (0)