@pi-r/oracle 0.3.6 → 0.3.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 CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DB_SOURCE_TYPE = exports.DB_SOURCE_CLIENT = exports.checkTimeout = exports.executeBatchQuery = exports.executeQuery = exports.setCredential = void 0;
4
+ const oracledb = require("oracledb");
4
5
  const util_1 = require("@e-mc/db/util");
5
6
  const types_1 = require("@e-mc/types");
6
7
  const Db = require("@e-mc/db");
@@ -127,7 +128,6 @@ async function setCredential(item) {
127
128
  const poolKey = getPoolKey(credential);
128
129
  if (poolKey) {
129
130
  if (!(pool = POOL_STATE[poolKey]) || pool.closed) {
130
- const { createPool } = require("oracledb");
131
131
  const config = this.getPoolConfig("oracle", password);
132
132
  if (config) {
133
133
  const { min, max, idle, queue_max, queue_idle } = config;
@@ -147,7 +147,7 @@ async function setCredential(item) {
147
147
  (_e = credential.queueTimeout) !== null && _e !== void 0 ? _e : (credential.queueTimeout = queue_idle);
148
148
  }
149
149
  }
150
- new OraclePool(await createPool(credential), poolKey, username && password ? { username, password } : undefined).add(item).parent = POOL_STATE;
150
+ new OraclePool(await oracledb.createPool(credential), poolKey, username && password ? { username, password } : undefined).add(item).parent = POOL_STATE;
151
151
  }
152
152
  else {
153
153
  pool.add(item);
@@ -168,7 +168,6 @@ async function executeBatchQuery(batch, options = '', outResult) {
168
168
  if (length === 0) {
169
169
  return [];
170
170
  }
171
- const db = require("oracledb");
172
171
  let parallel, connectOnce, errorQuery, sessionKey, outCacheMiss;
173
172
  if ((0, types_1.isPlainObject)(options)) {
174
173
  ({ parallel, connectOnce, errorQuery, sessionKey } = options);
@@ -229,7 +228,7 @@ async function executeBatchQuery(batch, options = '', outResult) {
229
228
  pool.connected = false;
230
229
  }
231
230
  }
232
- clients.push(client || (client = await db.getConnection((oracleCredential || credential))));
231
+ clients.push(client || (client = await oracledb.getConnection((oracleCredential || credential))));
233
232
  if (connectOnce) {
234
233
  if (!parallel) {
235
234
  oracleClient = client;
@@ -300,9 +299,9 @@ async function executeBatchQuery(batch, options = '', outResult) {
300
299
  if (oracleClient && parallel) {
301
300
  oracleClient = undefined;
302
301
  }
303
- const executeOptions = { outFormat: db.OUT_FORMAT_OBJECT, ...clientOptions, resultSet: false, autoCommit: true };
302
+ const executeOptions = { outFormat: oracledb.OUT_FORMAT_OBJECT, ...clientOptions, resultSet: false, autoCommit: true };
304
303
  commandType = this.commandType.SELECT;
305
- if (streamRow) {
304
+ if (streamRow && (0, types_1.isString)(query)) {
306
305
  const rows = [];
307
306
  const processRow = typeof streamRow === 'function' && streamRow;
308
307
  const stream = client.queryStream(query, params || [], executeOptions);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-r/oracle",
3
- "version": "0.3.6",
3
+ "version": "0.3.8",
4
4
  "description": "Oracle 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.16",
25
- "@e-mc/types": "^0.6.16",
24
+ "@e-mc/db": "^0.6.19",
25
+ "@e-mc/types": "^0.6.19",
26
26
  "oracledb": "^6.5.1"
27
27
  }
28
28
  }
package/types/index.d.ts CHANGED
@@ -5,7 +5,7 @@ import type { ExecuteAction, ServerAuth } from '@e-mc/types/lib/db';
5
5
  // @ts-ignore
6
6
  import type { BindParameters, ConnectionAttributes, ExecuteOptions, PoolAttributes } from 'oracledb';
7
7
 
8
- export interface OracleDataSource extends DbDataSource<string, ExecuteOptions, unknown, string | OracleCredential, string>, ExecuteAction<BindParameters> {
8
+ export interface OracleDataSource extends DbDataSource<string | object, ExecuteOptions, unknown, string | OracleCredential, string>, ExecuteAction<BindParameters> {
9
9
  source: "oracle";
10
10
  }
11
11
 
package/client/pool.js DELETED
@@ -1,54 +0,0 @@
1
- "use strict";
2
- const DbPool = require('@e-mc/db/pool');
3
- const POOL_ACTIVE = new WeakSet();
4
- class OraclePool extends DbPool {
5
- static CACHE_UNUSED = ['connectTimeout', 'transportConnectTimeout', 'expireTime', 'poolMax', 'poolMin', 'poolIncrement', 'poolTimeout', 'poolPingInterval', 'poolMaxPerShard', 'queueMax', 'queueRequests', 'queueTimeout', 'enableStatistics', 'sodaMetaDataCache', 'stmtCacheSize', 'httpsProxy', 'httpsProxyPort'];
6
- static CACHE_IGNORE = ['sessionCallback'];
7
- static asString(credential) {
8
- if (credential.connectString && (credential.user && credential.password || credential.externalAuth) || credential.poolAlias) {
9
- return JSON.stringify(this.removeUUIDKey(credential));
10
- }
11
- return super.asString(credential);
12
- }
13
- static sanitize(credential) {
14
- if (!this.canCache(credential)) {
15
- return;
16
- }
17
- if (!POOL_ACTIVE.has(credential) || credential.uuidKey) {
18
- return credential;
19
- }
20
- return super.sanitize(credential);
21
- }
22
- get closeable() {
23
- return super.closeable || this.client.status === 6001;
24
- }
25
- async getConnection(credential) {
26
- if (credential) {
27
- POOL_ACTIVE.add(credential);
28
- }
29
- return this.client.getConnection();
30
- }
31
- async close() {
32
- return this.client.close();
33
- }
34
- isEmpty() {
35
- if (this.closed) {
36
- return true;
37
- }
38
- try {
39
- const data = this.client.getStatistics();
40
- if (data) {
41
- const { connectionsInUse, currentQueueLength } = data;
42
- return connectionsInUse === 0 && currentQueueLength === 0;
43
- }
44
- return true;
45
- }
46
- catch {
47
- return false;
48
- }
49
- }
50
- get closed() {
51
- return this.client.status === 6002;
52
- }
53
- }
54
- module.exports = OraclePool;