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) ------------------- 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,