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