From f4d53fd3258cb2912c35071e4c87dbb94a315eb2 Mon Sep 17 00:00:00 2001 From: Daniel Hensby Date: Thu, 18 Nov 2021 19:47:20 +0000 Subject: [PATCH 1/2] Do not override provided driver options if explicitly set --- lib/tedious/connection-pool.js | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/tedious/connection-pool.js b/lib/tedious/connection-pool.js index 06d40e2e..7b6d4255 100644 --- a/lib/tedious/connection-pool.js +++ b/lib/tedious/connection-pool.js @@ -34,24 +34,23 @@ class ConnectionPool extends BaseConnectionPool { }, this.config.authentication) } - cfg.options.database = this.config.database - cfg.options.port = this.config.port - cfg.options.connectTimeout = this.config.connectionTimeout || this.config.timeout || 15000 - cfg.options.requestTimeout = this.config.requestTimeout != null ? this.config.requestTimeout : 15000 + cfg.options.database = cfg.options.database || this.config.database + cfg.options.port = cfg.options.port || this.config.port + cfg.options.connectTimeout = cfg.options.connectTimeout || this.config.connectionTimeout || this.config.timeout || 15000 + cfg.options.requestTimeout = cfg.options.requestTimeout || this.config.requestTimeout != null ? this.config.requestTimeout : 15000 cfg.options.tdsVersion = cfg.options.tdsVersion || '7_4' - cfg.options.rowCollectionOnDone = false - cfg.options.rowCollectionOnRequestCompletion = false - cfg.options.useColumnNames = false + cfg.options.rowCollectionOnDone = cfg.options.rowCollectionOnDone || false + cfg.options.rowCollectionOnRequestCompletion = cfg.options.rowCollectionOnRequestCompletion || false + cfg.options.useColumnNames = cfg.options.useColumnNames || false cfg.options.appName = cfg.options.appName || 'node-mssql' // tedious always connect via tcp when port is specified if (cfg.options.instanceName) delete cfg.options.port if (isNaN(cfg.options.requestTimeout)) cfg.options.requestTimeout = 15000 - if (cfg.options.requestTimeout === Infinity) cfg.options.requestTimeout = 0 - if (cfg.options.requestTimeout < 0) cfg.options.requestTimeout = 0 + if (cfg.options.requestTimeout === Infinity || cfg.options.requestTimeout < 0) cfg.options.requestTimeout = 0 - if (this.config.debug) { + if (!cfg.options.debug && this.config.debug) { cfg.options.debug = { packet: true, token: true, From c6006197d267c97a7e7b7c755b0dd5cc36fb85b7 Mon Sep 17 00:00:00 2001 From: Daniel Hensby Date: Thu, 18 Nov 2021 19:49:14 +0000 Subject: [PATCH 2/2] update changelog --- CHANGELOG.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 16f83823..255e3433 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -2,6 +2,7 @@ v8.0.0 (2021-??-??) ------------------- [change] Updated to latest Tedious 14 ((#1318)[https://github.com/tediousjs/node-mssql/pull/1318]) [change] Errors for bad bulk load parameters have slightly different error messages ((#1318)[https://github.com/tediousjs/node-mssql/pull/1318]) +[change] Options provided to the driver via the config.options object will not be overridden with other values if set explicitly ((#1340)[https://github.com/tediousjs/node-mssql/pull/1340]) v7.2.1 (2021-08-19) -------------------