@pi-r/postgres 0.3.7 → 0.3.9
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 -55
package/client/index.js
CHANGED
|
@@ -120,9 +120,9 @@ async function executeBatchQuery(batch, options = '', outResult) {
|
|
|
120
120
|
if (length === 0) {
|
|
121
121
|
return [];
|
|
122
122
|
}
|
|
123
|
-
let parallel, connectOnce, errorQuery, sessionKey, outCacheMiss;
|
|
123
|
+
let parallel, connectOnce, errorQuery, errorAsEmpty, sessionKey, outCacheMiss;
|
|
124
124
|
if ((0, types_1.isPlainObject)(options)) {
|
|
125
|
-
({ parallel, connectOnce, errorQuery, sessionKey, outCacheMiss } = options);
|
|
125
|
+
({ parallel, connectOnce, errorQuery, errorAsEmpty, sessionKey, outCacheMiss } = options);
|
|
126
126
|
}
|
|
127
127
|
else {
|
|
128
128
|
if (typeof options === 'string') {
|
|
@@ -280,11 +280,12 @@ async function executeBatchQuery(batch, options = '', outResult) {
|
|
|
280
280
|
}
|
|
281
281
|
}
|
|
282
282
|
return this.processRows(batch, tasks, {
|
|
283
|
+
parallel,
|
|
284
|
+
errorAsEmpty,
|
|
283
285
|
disconnect: () => {
|
|
284
286
|
clients.forEach(item => item.end(err => err && this.writeFail(["Unable to close connnection", "postgres"], err, { type: 65536, fatal: false })));
|
|
285
287
|
pools.forEach(item => item.release());
|
|
286
|
-
}
|
|
287
|
-
parallel
|
|
288
|
+
}
|
|
288
289
|
}, outResult);
|
|
289
290
|
}
|
|
290
291
|
exports.executeBatchQuery = executeBatchQuery;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-r/postgres",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.9",
|
|
4
4
|
"description": "PostgreSQL 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.6.
|
|
25
|
-
"@e-mc/types": "^0.6.
|
|
24
|
+
"@e-mc/db": "^0.6.21",
|
|
25
|
+
"@e-mc/types": "^0.6.21",
|
|
26
26
|
"pg": "^8.11.5"
|
|
27
27
|
}
|
|
28
28
|
}
|
package/client/pool.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const types_1 = require("@e-mc/types");
|
|
3
|
-
const DbPool = require('@e-mc/db/pool');
|
|
4
|
-
const POOL_ACTIVE = new WeakSet();
|
|
5
|
-
class PostgresPool extends DbPool {
|
|
6
|
-
static CACHE_UNUSED = ['statement_timeout', 'query_timeout', 'keepAliveInitialDelayMillis', 'idle_in_transaction_session_timeout', 'connectionTimeoutMillis', 'idleTimeoutMillis', 'keepAlive', 'max', 'min', 'log', 'allowExitOnIdle', 'maxUses'];
|
|
7
|
-
static asString(credential) {
|
|
8
|
-
if (credential.host && credential.user) {
|
|
9
|
-
return JSON.stringify(this.removeUUIDKey(credential));
|
|
10
|
-
}
|
|
11
|
-
return super.asString(credential);
|
|
12
|
-
}
|
|
13
|
-
static sanitize(credential) {
|
|
14
|
-
if (!POOL_ACTIVE.has(credential) || credential.uuidKey) {
|
|
15
|
-
return credential;
|
|
16
|
-
}
|
|
17
|
-
const ssl = credential.ssl;
|
|
18
|
-
let result = super.sanitize(credential);
|
|
19
|
-
if ((0, types_1.isObject)(ssl)) {
|
|
20
|
-
if (result === credential) {
|
|
21
|
-
result = { ...credential };
|
|
22
|
-
}
|
|
23
|
-
const cert = ssl.cert;
|
|
24
|
-
if ((0, types_1.isString)(cert)) {
|
|
25
|
-
result.ssl = { cert };
|
|
26
|
-
}
|
|
27
|
-
else if (Buffer.isBuffer(cert)) {
|
|
28
|
-
result.ssl = { cert: cert.toString('utf8') };
|
|
29
|
-
}
|
|
30
|
-
else if ((0, types_1.isArray)(cert)) {
|
|
31
|
-
result.ssl = { cert: cert.reduce((a, b) => a + (Buffer.isBuffer(b) ? b.toString('utf8') : b), '') };
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
result.ssl = { cert: "Unknown" };
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return result;
|
|
38
|
-
}
|
|
39
|
-
async getConnection(credential) {
|
|
40
|
-
if (credential) {
|
|
41
|
-
POOL_ACTIVE.add(credential);
|
|
42
|
-
}
|
|
43
|
-
return this.client.connect();
|
|
44
|
-
}
|
|
45
|
-
async close() {
|
|
46
|
-
return this.client.end();
|
|
47
|
-
}
|
|
48
|
-
isEmpty() {
|
|
49
|
-
return this.closed || this.client.totalCount === 0 && this.client.waitingCount === 0 && this.client.idleCount === 0;
|
|
50
|
-
}
|
|
51
|
-
get closed() {
|
|
52
|
-
return this.client.ended;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
module.exports = PostgresPool;
|