fix sql batch must use same connection from pool (#5469)
Signed-off-by: si458 <simonsmith5521@gmail.com>
Simon Smith committed
Oct 24, 2023 at 19:28 UTC
c6ebcc6e8e8a98feb47bd043c52ac22b0db1b6f9
1 file changed
+8
-5
db.js
+8
-5
@@ -1313,11 +1313,14 @@ module.exports.CreateDB = function (parent, func) {
1313
})
1314
.catch(function (err) { if (func) { try { func(err); } catch (ex) { console.log(ex); } } });
1315
} else if ((obj.databaseType == 5) || (obj.databaseType == 6)) { // MySQL
1316
- var Promises = [];
1317
- for (var i in queries) { if (typeof queries[i] == 'string') { Promises.push(Datastore.promise().query(queries[i])); } else { Promises.push(Datastore.promise().query(queries[i][0], queries[i][1])); } }
1318
- Promise.all(Promises)
1319
- .then(function (error, results, fields) { if (func) { try { func(error, results); } catch (ex) { console.log(ex); } } })
1320
- .catch(function (error, results, fields) { if (func) { try { func(error); } catch (ex) { console.log(ex); } } });
1316
+ Datastore.getConnection(function(err, connection) {
1317
+ if (err) { if (func) { try { func(err); } catch (ex) { console.log(ex); } } return; }
1318
+ var Promises = [];
1319
+ for (var i in queries) { if (typeof queries[i] == 'string') { Promises.push(connection.promise().query(queries[i])); } else { Promises.push(connection.promise().query(queries[i][0], queries[i][1])); } }
1320
+ Promise.all(Promises)
1321
+ .then(function (error, results, fields) { connection.release(); if (func) { try { func(error, results); } catch (ex) { console.log(ex); } } })
1322
+ .catch(function (error, results, fields) { connection.release(); if (func) { try { func(error); } catch (ex) { console.log(ex); } } });
1323
+ });
1324
}
1325
}
1326