From df2b62fd63e5d44603a8b77a1a77ef0e15611fe4 Mon Sep 17 00:00:00 2001 From: Georgii Petrov Date: Tue, 8 Aug 2023 05:47:50 +0300 Subject: [PATCH] [ds] MS SQL connector improvements pt.2 --- Common/config/default.json | 6 ++++-- DocService/sources/msSqlServerConnector.js | 13 +++++-------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Common/config/default.json b/Common/config/default.json index f7944cef..aba8bab5 100644 --- a/Common/config/default.json +++ b/Common/config/default.json @@ -181,8 +181,10 @@ "damengExtraOptions": {}, "oracleExtraOptions": {}, "msSqlExtraOptions": { - "encrypt": false, - "trustServerCertificate": true + "options": { + "encrypt": false, + "trustServerCertificate": true + } } }, "redis": { diff --git a/DocService/sources/msSqlServerConnector.js b/DocService/sources/msSqlServerConnector.js index 7be0dc78..891fa489 100644 --- a/DocService/sources/msSqlServerConnector.js +++ b/DocService/sources/msSqlServerConnector.js @@ -38,9 +38,8 @@ const connectorUtilities = require('./connectorUtilities'); const configSql = config.get('services.CoAuthoring.sql'); const cfgTableResult = configSql.get('tableResult'); -const cfgSafetyOptions = configSql.get('msSqlExtraOptions'); -const poolConfig = { +const connectionConfiguration = { user: configSql.get('dbUser'), password: configSql.get('dbPass'), server: configSql.get('dbHost'), @@ -49,12 +48,10 @@ const poolConfig = { max: configSql.get('connectionlimit'), min: 0, idleTimeoutMillis: 30000 - }, - options: { - encrypt: cfgSafetyOptions.get('encrypt'), - trustServerCertificate: cfgSafetyOptions.get('trustServerCertificate') } }; +const additionalOptions = configSql.get('msSqlExtraOptions'); +const configuration = Object.assign({}, connectionConfiguration, additionalOptions); const placeholderPrefix = 'ph_'; @@ -119,7 +116,7 @@ function sqlQuery(ctx, sqlCommand, callbackFunction, opt_noModifyRes = false, op async function executeSql(ctx, sqlCommand, values = {}, noModifyRes = false, noLog = false) { try { - await sql.connect(poolConfig); + await sql.connect(configuration); const statement = new sql.PreparedStatement(); const placeholders = convertPlaceholdersValues(values); @@ -258,7 +255,7 @@ async function insertChangesAsync(ctx, tableChanges, startIndex, objChanges, doc const msSqlParametersCapacity = 1000; const parametersInQuery = 8; const rowsLimit = Math.trunc(msSqlParametersCapacity / parametersInQuery); - + let rowCounts = 1; let currentIndex = startIndex; for (; currentIndex < objChanges.length && rowCounts <= rowsLimit; ++currentIndex, ++index) {