@pi-r/mssql 0.5.6 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/index.js +5 -4
- package/package.json +3 -3
- package/client/pool.js +0 -63
- package/types/pool.d.ts +0 -67
package/client/index.js
CHANGED
|
@@ -238,9 +238,9 @@ async function executeBatchQuery(batch, options = '', outResult) {
|
|
|
238
238
|
if (length === 0) {
|
|
239
239
|
return [];
|
|
240
240
|
}
|
|
241
|
-
let parallel, connectOnce, errorQuery, sessionKey, outCacheMiss;
|
|
241
|
+
let parallel, connectOnce, errorQuery, errorAsEmpty, sessionKey, outCacheMiss;
|
|
242
242
|
if ((0, types_1.isPlainObject)(options)) {
|
|
243
|
-
({ parallel, connectOnce, errorQuery, sessionKey, outCacheMiss } = options);
|
|
243
|
+
({ parallel, connectOnce, errorQuery, errorAsEmpty, sessionKey, outCacheMiss } = options);
|
|
244
244
|
}
|
|
245
245
|
else {
|
|
246
246
|
if (typeof options === 'string') {
|
|
@@ -492,11 +492,12 @@ async function executeBatchQuery(batch, options = '', outResult) {
|
|
|
492
492
|
}
|
|
493
493
|
}
|
|
494
494
|
return this.processRows(batch, tasks, {
|
|
495
|
+
parallel,
|
|
496
|
+
errorAsEmpty,
|
|
495
497
|
disconnect: () => {
|
|
496
498
|
clients.forEach(item => item.close());
|
|
497
499
|
pools.forEach(item => item.release());
|
|
498
|
-
}
|
|
499
|
-
parallel
|
|
500
|
+
}
|
|
500
501
|
}, outResult);
|
|
501
502
|
}
|
|
502
503
|
exports.executeBatchQuery = executeBatchQuery;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-r/mssql",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.8",
|
|
4
4
|
"description": "MSSQL client driver for E-mc.",
|
|
5
5
|
"main": "client/index.js",
|
|
6
6
|
"types": "client/index.d.ts",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"homepage": "https://github.com/anpham6/pi-r#readme",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@e-mc/db": "^0.7.
|
|
25
|
-
"@e-mc/types": "^0.7.
|
|
24
|
+
"@e-mc/db": "^0.7.25",
|
|
25
|
+
"@e-mc/types": "^0.7.25",
|
|
26
26
|
"tedious": "^16.7.1",
|
|
27
27
|
"tedious-connection-pool2": "^2.1.0"
|
|
28
28
|
}
|
package/client/pool.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const types_1 = require("@e-mc/types");
|
|
3
|
-
const util_1 = require("@e-mc/db/util");
|
|
4
|
-
const DbPool = require('@e-mc/db/pool');
|
|
5
|
-
class MSSQLPool extends DbPool {
|
|
6
|
-
static asString(credential) {
|
|
7
|
-
const auth = credential.authentication?.options;
|
|
8
|
-
if (!credential.server || !(auth?.userName && auth.password)) {
|
|
9
|
-
return super.asString(credential);
|
|
10
|
-
}
|
|
11
|
-
const options = credential.options;
|
|
12
|
-
let tls;
|
|
13
|
-
if (options && (tls = options.cryptoCredentialsDetails)) {
|
|
14
|
-
if (!(0, types_1.isObject)(tls)) {
|
|
15
|
-
delete options.cryptoCredentialsDetails;
|
|
16
|
-
}
|
|
17
|
-
else if (tls.ca || tls.cert || tls.key) {
|
|
18
|
-
credential = { ...credential };
|
|
19
|
-
if ('uuidKey' in credential) {
|
|
20
|
-
delete credential.uuidKey;
|
|
21
|
-
}
|
|
22
|
-
credential.options = { ...options };
|
|
23
|
-
delete credential.options.cryptoCredentialsDetails;
|
|
24
|
-
return JSON.stringify(credential) + '_tls';
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if ('uuidKey' in credential) {
|
|
28
|
-
credential = { ...credential };
|
|
29
|
-
delete credential.uuidKey;
|
|
30
|
-
}
|
|
31
|
-
return JSON.stringify(credential);
|
|
32
|
-
}
|
|
33
|
-
async getConnection() {
|
|
34
|
-
return new Promise((resolve, reject) => {
|
|
35
|
-
this.client.acquire((err, connection) => {
|
|
36
|
-
if (err) {
|
|
37
|
-
reject(err);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
resolve(connection);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
async close() {
|
|
46
|
-
return new Promise((resolve, reject) => {
|
|
47
|
-
try {
|
|
48
|
-
this.client.drain();
|
|
49
|
-
resolve();
|
|
50
|
-
}
|
|
51
|
-
catch (err) {
|
|
52
|
-
reject(err);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
isEmpty() {
|
|
57
|
-
return this.closed || (0, util_1.checkEmpty)(this.client.connections) && (0, util_1.checkEmpty)(this.client.waiting);
|
|
58
|
-
}
|
|
59
|
-
get closed() {
|
|
60
|
-
return !!this.client.drained;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
module.exports = MSSQLPool;
|
package/types/pool.d.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import type { Connection, ConnectionConfiguration } from 'tedious';
|
|
2
|
-
|
|
3
|
-
import type * as EventEmitter from 'events';
|
|
4
|
-
|
|
5
|
-
declare class Pool extends EventEmitter {
|
|
6
|
-
/**
|
|
7
|
-
* Connection Pool constructor
|
|
8
|
-
* @param poolConfig the pool configuration
|
|
9
|
-
* @param connectionConfig the connection configuration
|
|
10
|
-
*/
|
|
11
|
-
constructor(poolConfig: Pool.PoolConfig, connectionConfig: ConnectionConfiguration);
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* acquires a connection from the pool
|
|
15
|
-
* @param callback invoked when the connection is retrieved and ready
|
|
16
|
-
*/
|
|
17
|
-
acquire(callback: (err: Error, connection: Pool.PooledConnection) => void): void;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* closes opened connections
|
|
21
|
-
*/
|
|
22
|
-
drain(): void;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
declare namespace Pool {
|
|
26
|
-
|
|
27
|
-
export class PooledConnection extends Connection {
|
|
28
|
-
/**
|
|
29
|
-
* If the connection is issued from a connection pool returns the connection to the pool.
|
|
30
|
-
*/
|
|
31
|
-
release(): void;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export interface PoolConfig {
|
|
35
|
-
/**
|
|
36
|
-
* Minimum concurrent connections
|
|
37
|
-
*/
|
|
38
|
-
min?: number | undefined;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Maximum concurrent connections
|
|
42
|
-
*/
|
|
43
|
-
max?: number | undefined;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Defines if logging is activated
|
|
47
|
-
*/
|
|
48
|
-
log?: boolean | undefined;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Idle timeout
|
|
52
|
-
*/
|
|
53
|
-
idleTimeout?: number | undefined;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Retry delay
|
|
57
|
-
*/
|
|
58
|
-
retryDelay?: number | undefined;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Acquire timeout
|
|
62
|
-
*/
|
|
63
|
-
acquireTimeout?: number | undefined;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export = Pool;
|