querize 1.0.6 → 1.0.7
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/cjs/drivers/drv_oracledb.js +136 -0
- package/cjs/drivers/drv_oracledb.js.map +1 -0
- package/cjs/types/drivers/drv_oracledb.d.ts +32 -0
- package/cjs/types/drivers/drv_oracledb.d.ts.map +1 -0
- package/esm/drivers/drv_oracledb.js +138 -0
- package/esm/drivers/drv_oracledb.js.map +1 -0
- package/esm/types/drivers/drv_oracledb.d.ts +32 -0
- package/esm/types/drivers/drv_oracledb.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Querize.js v1.0.0
|
|
3
|
+
* Copyright (c) 2020 lClasser
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
* @author lClasser
|
|
6
|
+
* @since 2020
|
|
7
|
+
* @see https://github.com/itfin/querize
|
|
8
|
+
* @license MIT
|
|
9
|
+
* @preserve
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
+
};
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.DrvOracleDB = void 0;
|
|
17
|
+
const mq_const_js_1 = require("../mq_const.js");
|
|
18
|
+
const mq_trace_js_1 = require("../mq_trace.js");
|
|
19
|
+
const oracledb_1 = __importDefault(require("oracledb"));
|
|
20
|
+
let _initialized = false;
|
|
21
|
+
function _initOnce() {
|
|
22
|
+
if (_initialized)
|
|
23
|
+
return;
|
|
24
|
+
_initialized = true;
|
|
25
|
+
console.log("ORACLEDB.initOracleClient");
|
|
26
|
+
oracledb_1.default.initOracleClient();
|
|
27
|
+
}
|
|
28
|
+
_initOnce();
|
|
29
|
+
var DrvOracleDB;
|
|
30
|
+
(function (DrvOracleDB) {
|
|
31
|
+
var _tid = 0;
|
|
32
|
+
function create(type, config) {
|
|
33
|
+
let toid = ++_tid;
|
|
34
|
+
switch (type) {
|
|
35
|
+
case mq_const_js_1.MQConst.CONNECTION.CONNECTER:
|
|
36
|
+
return Promise.resolve(new Container(null, mq_const_js_1.MQConst.CONNECTION.CONNECTER, config));
|
|
37
|
+
break;
|
|
38
|
+
case mq_const_js_1.MQConst.CONNECTION.POOLER:
|
|
39
|
+
return oracledb_1.default.createPool(config)
|
|
40
|
+
.then(function (Pool) { return new Container(Pool, mq_const_js_1.MQConst.CONNECTION.POOLER); });
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
throw new Error(`unsupport type(${type}).`);
|
|
44
|
+
}
|
|
45
|
+
DrvOracleDB.create = create;
|
|
46
|
+
class Container {
|
|
47
|
+
constructor(pool, type, config) {
|
|
48
|
+
this.pool = pool;
|
|
49
|
+
this.type = type;
|
|
50
|
+
this.config = config;
|
|
51
|
+
}
|
|
52
|
+
getType() { return this.type; }
|
|
53
|
+
getConnection(dbname, dbmode) {
|
|
54
|
+
var self = this;
|
|
55
|
+
switch (this.type) {
|
|
56
|
+
case mq_const_js_1.MQConst.CONNECTION.CONNECTER:
|
|
57
|
+
return oracledb_1.default.getConnection(this.config).then(function (conn) {
|
|
58
|
+
return new Connector(self, conn);
|
|
59
|
+
});
|
|
60
|
+
break;
|
|
61
|
+
case mq_const_js_1.MQConst.CONNECTION.POOLER:
|
|
62
|
+
return self.pool.getConnection()
|
|
63
|
+
.then(function (conn) {
|
|
64
|
+
return new Connector(self, conn);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
return Promise.reject(new Error(`Unsupported connection type: ${self.type}`));
|
|
68
|
+
}
|
|
69
|
+
destory() {
|
|
70
|
+
switch (this.type) {
|
|
71
|
+
case mq_const_js_1.MQConst.CONNECTION.PHONY:
|
|
72
|
+
case mq_const_js_1.MQConst.CONNECTION.CONNECTER:
|
|
73
|
+
break;
|
|
74
|
+
case mq_const_js_1.MQConst.CONNECTION.POOLER:
|
|
75
|
+
// Force close after 10 seconds if it does not shut down normally.
|
|
76
|
+
return this.pool.close(10);
|
|
77
|
+
}
|
|
78
|
+
return Promise.resolve();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
DrvOracleDB.Container = Container;
|
|
82
|
+
var _cid = 0;
|
|
83
|
+
class Connector {
|
|
84
|
+
constructor(owner, conn) {
|
|
85
|
+
this.owner = owner;
|
|
86
|
+
this.conn = conn;
|
|
87
|
+
this.coid = ++_cid;
|
|
88
|
+
this.istr = false;
|
|
89
|
+
mq_trace_js_1.MQTrace.log(`[C:${this.coid}] [${this.owner.getType()}}]: connected.`);
|
|
90
|
+
}
|
|
91
|
+
getId() { return this.coid.toString(); }
|
|
92
|
+
// 1. A transaction automatically starts when a DML(INSERT/UPDATE/DELETE/MERGE) statement is executed.
|
|
93
|
+
// 2. Use SET TRANSACTION – this will be handled later as an argument to beginTransaction().
|
|
94
|
+
beginTransaction() { this.istr = true; return Promise.resolve(); }
|
|
95
|
+
query(sql) {
|
|
96
|
+
mq_trace_js_1.MQTrace.log(`[C:${this.coid}] [${this.owner.getType()}}]: query:`, sql);
|
|
97
|
+
if (this.istr != true) {
|
|
98
|
+
// Use autoCommit when not in a transaction-function.
|
|
99
|
+
return this.conn.execute(sql, {}, { autoCommit: true });
|
|
100
|
+
}
|
|
101
|
+
return this.conn.execute(sql);
|
|
102
|
+
}
|
|
103
|
+
commit() {
|
|
104
|
+
var self = this;
|
|
105
|
+
self.istr = false;
|
|
106
|
+
return self.conn.commit().then(function () { self.close(); });
|
|
107
|
+
}
|
|
108
|
+
rollback() {
|
|
109
|
+
var self = this;
|
|
110
|
+
self.istr = false;
|
|
111
|
+
return self.conn.rollback().then(function () { self.close(); });
|
|
112
|
+
}
|
|
113
|
+
close() {
|
|
114
|
+
var self = this;
|
|
115
|
+
return Promise.resolve()
|
|
116
|
+
.then(function () {
|
|
117
|
+
switch (self.owner.getType()) {
|
|
118
|
+
case mq_const_js_1.MQConst.CONNECTION.PHONY:
|
|
119
|
+
break;
|
|
120
|
+
case mq_const_js_1.MQConst.CONNECTION.CONNECTER:
|
|
121
|
+
mq_trace_js_1.MQTrace.log(`[C:${self.coid}] [${self.owner.getType()}}]: disconnected[end].`);
|
|
122
|
+
self.conn.release();
|
|
123
|
+
break;
|
|
124
|
+
case mq_const_js_1.MQConst.CONNECTION.POOLER:
|
|
125
|
+
mq_trace_js_1.MQTrace.log(`[C:${self.coid}] [${self.owner.getType()}}]: disconnected[release].`);
|
|
126
|
+
self.conn.release();
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
DrvOracleDB.Connector = Connector;
|
|
133
|
+
;
|
|
134
|
+
})(DrvOracleDB || (exports.DrvOracleDB = DrvOracleDB = {}));
|
|
135
|
+
;
|
|
136
|
+
//# sourceMappingURL=drv_oracledb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drv_oracledb.js","sourceRoot":"","sources":["../../../src/drivers/drv_oracledb.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MQDriver } from './index';
|
|
2
|
+
import { MQConst } from '../mq_const.js';
|
|
3
|
+
import OracleDB from 'oracledb';
|
|
4
|
+
export declare namespace DrvOracleDB {
|
|
5
|
+
type TypeContainer = OracleDB.Connection | OracleDB.Pool;
|
|
6
|
+
type TypeConnect = OracleDB.Connection;
|
|
7
|
+
export function create(type: MQConst.CONNECTION, config: MQDriver.Option | MQDriver.Option[]): Promise<Container>;
|
|
8
|
+
export class Container implements MQDriver.Container {
|
|
9
|
+
pool: TypeContainer | null;
|
|
10
|
+
type: MQConst.CONNECTION;
|
|
11
|
+
config?: MQDriver.Option | MQDriver.Option[];
|
|
12
|
+
constructor(pool: TypeContainer | null, type: MQConst.CONNECTION, config?: MQDriver.Option | MQDriver.Option[]);
|
|
13
|
+
getType(): MQConst.CONNECTION;
|
|
14
|
+
getConnection(dbname?: string, dbmode?: string): Promise<MQDriver.Connector>;
|
|
15
|
+
destory(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export class Connector implements MQDriver.Connector {
|
|
18
|
+
readonly owner: MQDriver.Container;
|
|
19
|
+
readonly conn: TypeConnect;
|
|
20
|
+
istr: Boolean;
|
|
21
|
+
coid: number;
|
|
22
|
+
constructor(owner: any, conn: TypeConnect);
|
|
23
|
+
getId(): string;
|
|
24
|
+
beginTransaction(): Promise<any>;
|
|
25
|
+
query(sql: string): Promise<any>;
|
|
26
|
+
commit(): Promise<any>;
|
|
27
|
+
rollback(): Promise<any>;
|
|
28
|
+
close(): Promise<any>;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=drv_oracledb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drv_oracledb.d.ts","sourceRoot":"","sources":["../../../../src/drivers/drv_oracledb.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,QAAQ,EAAC,MAAO,SAAS,CAAC;AAClC,OAAO,EAAC,OAAO,EAAC,MAAQ,gBAAgB,CAAC;AAEzC,OAAO,QAAQ,MAAS,UAAU,CAAC;AAYnC,yBAAiB,WAAW,CAC5B;IACI,KAAK,aAAa,GAAG,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;IACzD,KAAK,WAAW,GAAK,QAAQ,CAAC,UAAU,CAAC;IAGzC,MAAM,UAAU,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAC,QAAQ,CAAC,MAAM,EAAE,sBAYzF;IAED,MAAM,OAAO,SAAU,YAAW,QAAQ,CAAC,SAAS;QAChD,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;QACzB,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAEjC,IAAI,EAAE,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;QAM9G,OAAO;QACP,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAgB5E,OAAO;KAWV;IAGD,MAAM,OAAO,SAAU,YAAW,QAAQ,CAAC,SAAS;QAChD,SAAgB,KAAK,EAAG,QAAQ,CAAC,SAAS,CAAC;QAC3C,SAAgB,IAAI,EAAG,WAAW,CAAC;QAE5B,IAAI,EAAG,OAAO,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;oBAER,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW;QASzC,KAAK;QAGL,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;QAChC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QAShC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;QAKtB,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;QAKxB,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;KAkBxB;;CACJ"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Querize.js v1.0.0
|
|
3
|
+
* Copyright (c) 2020 lClasser
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
* @author lClasser
|
|
6
|
+
* @since 2020
|
|
7
|
+
* @see https://github.com/itfin/querize
|
|
8
|
+
* @license MIT
|
|
9
|
+
* @preserve
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
import { MQConst } from '../mq_const.js';
|
|
13
|
+
import { MQTrace } from '../mq_trace.js';
|
|
14
|
+
import OracleDB from 'oracledb';
|
|
15
|
+
let _initialized = false;
|
|
16
|
+
function _initOnce() {
|
|
17
|
+
if (_initialized)
|
|
18
|
+
return;
|
|
19
|
+
_initialized = true;
|
|
20
|
+
console.log("ORACLEDB.initOracleClient");
|
|
21
|
+
OracleDB.initOracleClient();
|
|
22
|
+
}
|
|
23
|
+
_initOnce();
|
|
24
|
+
export var DrvOracleDB;
|
|
25
|
+
(function (DrvOracleDB) {
|
|
26
|
+
var _tid = 0;
|
|
27
|
+
function create(type, config) {
|
|
28
|
+
let toid = ++_tid;
|
|
29
|
+
switch (type) {
|
|
30
|
+
case MQConst.CONNECTION.CONNECTER:
|
|
31
|
+
return Promise.resolve(new Container(null, MQConst.CONNECTION.CONNECTER, config));
|
|
32
|
+
break;
|
|
33
|
+
case MQConst.CONNECTION.POOLER:
|
|
34
|
+
return OracleDB.createPool(config)
|
|
35
|
+
.then(function (Pool) { return new Container(Pool, MQConst.CONNECTION.POOLER); });
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
throw new Error(`unsupport type(${type}).`);
|
|
39
|
+
}
|
|
40
|
+
DrvOracleDB.create = create;
|
|
41
|
+
class Container {
|
|
42
|
+
pool;
|
|
43
|
+
type;
|
|
44
|
+
config;
|
|
45
|
+
constructor(pool, type, config) {
|
|
46
|
+
this.pool = pool;
|
|
47
|
+
this.type = type;
|
|
48
|
+
this.config = config;
|
|
49
|
+
}
|
|
50
|
+
getType() { return this.type; }
|
|
51
|
+
getConnection(dbname, dbmode) {
|
|
52
|
+
var self = this;
|
|
53
|
+
switch (this.type) {
|
|
54
|
+
case MQConst.CONNECTION.CONNECTER:
|
|
55
|
+
return OracleDB.getConnection(this.config).then(function (conn) {
|
|
56
|
+
return new Connector(self, conn);
|
|
57
|
+
});
|
|
58
|
+
break;
|
|
59
|
+
case MQConst.CONNECTION.POOLER:
|
|
60
|
+
return self.pool.getConnection()
|
|
61
|
+
.then(function (conn) {
|
|
62
|
+
return new Connector(self, conn);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return Promise.reject(new Error(`Unsupported connection type: ${self.type}`));
|
|
66
|
+
}
|
|
67
|
+
destory() {
|
|
68
|
+
switch (this.type) {
|
|
69
|
+
case MQConst.CONNECTION.PHONY:
|
|
70
|
+
case MQConst.CONNECTION.CONNECTER:
|
|
71
|
+
break;
|
|
72
|
+
case MQConst.CONNECTION.POOLER:
|
|
73
|
+
// Force close after 10 seconds if it does not shut down normally.
|
|
74
|
+
return this.pool.close(10);
|
|
75
|
+
}
|
|
76
|
+
return Promise.resolve();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
DrvOracleDB.Container = Container;
|
|
80
|
+
var _cid = 0;
|
|
81
|
+
class Connector {
|
|
82
|
+
owner;
|
|
83
|
+
conn;
|
|
84
|
+
istr; // is-transaction
|
|
85
|
+
coid;
|
|
86
|
+
constructor(owner, conn) {
|
|
87
|
+
this.owner = owner;
|
|
88
|
+
this.conn = conn;
|
|
89
|
+
this.coid = ++_cid;
|
|
90
|
+
this.istr = false;
|
|
91
|
+
MQTrace.log(`[C:${this.coid}] [${this.owner.getType()}}]: connected.`);
|
|
92
|
+
}
|
|
93
|
+
getId() { return this.coid.toString(); }
|
|
94
|
+
// 1. A transaction automatically starts when a DML(INSERT/UPDATE/DELETE/MERGE) statement is executed.
|
|
95
|
+
// 2. Use SET TRANSACTION – this will be handled later as an argument to beginTransaction().
|
|
96
|
+
beginTransaction() { this.istr = true; return Promise.resolve(); }
|
|
97
|
+
query(sql) {
|
|
98
|
+
MQTrace.log(`[C:${this.coid}] [${this.owner.getType()}}]: query:`, sql);
|
|
99
|
+
if (this.istr != true) {
|
|
100
|
+
// Use autoCommit when not in a transaction-function.
|
|
101
|
+
return this.conn.execute(sql, {}, { autoCommit: true });
|
|
102
|
+
}
|
|
103
|
+
return this.conn.execute(sql);
|
|
104
|
+
}
|
|
105
|
+
commit() {
|
|
106
|
+
var self = this;
|
|
107
|
+
self.istr = false;
|
|
108
|
+
return self.conn.commit().then(function () { self.close(); });
|
|
109
|
+
}
|
|
110
|
+
rollback() {
|
|
111
|
+
var self = this;
|
|
112
|
+
self.istr = false;
|
|
113
|
+
return self.conn.rollback().then(function () { self.close(); });
|
|
114
|
+
}
|
|
115
|
+
close() {
|
|
116
|
+
var self = this;
|
|
117
|
+
return Promise.resolve()
|
|
118
|
+
.then(function () {
|
|
119
|
+
switch (self.owner.getType()) {
|
|
120
|
+
case MQConst.CONNECTION.PHONY:
|
|
121
|
+
break;
|
|
122
|
+
case MQConst.CONNECTION.CONNECTER:
|
|
123
|
+
MQTrace.log(`[C:${self.coid}] [${self.owner.getType()}}]: disconnected[end].`);
|
|
124
|
+
self.conn.release();
|
|
125
|
+
break;
|
|
126
|
+
case MQConst.CONNECTION.POOLER:
|
|
127
|
+
MQTrace.log(`[C:${self.coid}] [${self.owner.getType()}}]: disconnected[release].`);
|
|
128
|
+
self.conn.release();
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
DrvOracleDB.Connector = Connector;
|
|
135
|
+
;
|
|
136
|
+
})(DrvOracleDB || (DrvOracleDB = {}));
|
|
137
|
+
;
|
|
138
|
+
//# sourceMappingURL=drv_oracledb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drv_oracledb.js","sourceRoot":"","sources":["../../../src/drivers/drv_oracledb.ts"],"names":[],"mappings":"AAAA;;;;;;;;;EASE;AACF,YAAY,CAAC;AAEb,OAAO,EAAC,OAAO,EAAC,MAAQ,gBAAgB,CAAC;AACzC,OAAO,EAAC,OAAO,EAAC,MAAQ,gBAAgB,CAAC;AACzC,OAAO,QAAQ,MAAS,UAAU,CAAC;AAEnC,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,SAAS,SAAS;IACd,IAAI,YAAY;QAAG,OAAO;IAC1B,YAAY,GAAG,IAAI,CAAC;IAEpB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;AAChC,CAAC;AACD,SAAS,EAAE,CAAC;AAEZ,MAAM,KAAW,WAAW,CAwH3B;AAxHD,WAAiB,WAAW;IAKxB,IAAI,IAAI,GAAW,CAAC,CAAC;IACrB,SAAgB,MAAM,CAAC,IAAwB,EAAE,MAAyC;QACtF,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC;QAClB,QAAQ,IAAI,EAAG,CAAC;YAChB,KAAK,OAAO,CAAC,UAAU,CAAC,SAAS;gBAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;gBAClF,MAAM;YACV,KAAK,OAAO,CAAC,UAAU,CAAC,MAAM;gBAC1B,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAiC,CAAC;qBAC5D,IAAI,CAAC,UAAS,IAAI,IAAI,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjF,MAAM;QACV,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;IAChD,CAAC;IAZe,kBAAM,SAYrB,CAAA;IAED,MAAa,SAAS;QAClB,IAAI,CAAuB;QAC3B,IAAI,CAAqB;QACzB,MAAM,CAAuC;QAE7C,YAAY,IAA0B,EAAE,IAAwB,EAAE,MAA4C;YAC1G,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,aAAa,CAAC,MAAe,EAAE,MAAe;YAC1C,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,QAAQ,IAAI,CAAC,IAAI,EAAG,CAAC;gBACrB,KAAK,OAAO,CAAC,UAAU,CAAC,SAAS;oBAC7B,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAiC,CAAC,CAAC,IAAI,CAAC,UAAS,IAAI;wBACpF,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,OAAO,CAAC,UAAU,CAAC,MAAM;oBAC1B,OAAQ,IAAI,CAAC,IAAsB,CAAC,aAAa,EAAE;yBAClD,IAAI,CAAC,UAAS,IAAI;wBACf,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,OAAO;YACH,QAAQ,IAAI,CAAC,IAAI,EAAG,CAAC;gBACrB,KAAK,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;gBAC9B,KAAK,OAAO,CAAC,UAAU,CAAC,SAAS;oBAC7B,MAAM;gBACV,KAAK,OAAO,CAAC,UAAU,CAAC,MAAM;oBAC1B,kEAAkE;oBAClE,OAAQ,IAAI,CAAC,IAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KACJ;IAvCY,qBAAS,YAuCrB,CAAA;IAED,IAAI,IAAI,GAAW,CAAC,CAAC;IACrB,MAAa,SAAS;QACF,KAAK,CAAsB;QAC3B,IAAI,CAAe;QAE5B,IAAI,CAAW,CAAC,iBAAiB;QACjC,IAAI,CAAS;QAEpB,YAAY,KAAU,EAAE,IAAiB;YACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAElB,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC3E,CAAC;QAED,KAAK,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxC,sGAAsG;QACtG,4FAA4F;QAC5F,gBAAgB,KAAmB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChF,KAAK,CAAC,GAAW;YACb,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YACxE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAG,CAAC;gBACrB,qDAAqD;gBACrD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QAED,MAAM;YACF,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,cAAa,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,QAAQ;YACJ,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,cAAa,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,KAAK;YACD,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,OAAO,OAAO,CAAC,OAAO,EAAE;iBACvB,IAAI,CAAC;gBACF,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAG,CAAC;oBAChC,KAAK,OAAO,CAAC,UAAU,CAAC,KAAK;wBACzB,MAAM;oBACV,KAAK,OAAO,CAAC,UAAU,CAAC,SAAS;wBAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;wBAC9E,IAAI,CAAC,IAA4B,CAAC,OAAO,EAAE,CAAC;wBAC7C,MAAM;oBACV,KAAK,OAAO,CAAC,UAAU,CAAC,MAAM;wBAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;wBAClF,IAAI,CAAC,IAA4B,CAAC,OAAO,EAAE,CAAC;wBAC7C,MAAM;gBACV,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KACJ;IAzDY,qBAAS,YAyDrB,CAAA;IAAA,CAAC;AACN,CAAC,EAxHgB,WAAW,KAAX,WAAW,QAwH3B;AAAA,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MQDriver } from './index';
|
|
2
|
+
import { MQConst } from '../mq_const.js';
|
|
3
|
+
import OracleDB from 'oracledb';
|
|
4
|
+
export declare namespace DrvOracleDB {
|
|
5
|
+
type TypeContainer = OracleDB.Connection | OracleDB.Pool;
|
|
6
|
+
type TypeConnect = OracleDB.Connection;
|
|
7
|
+
export function create(type: MQConst.CONNECTION, config: MQDriver.Option | MQDriver.Option[]): Promise<Container>;
|
|
8
|
+
export class Container implements MQDriver.Container {
|
|
9
|
+
pool: TypeContainer | null;
|
|
10
|
+
type: MQConst.CONNECTION;
|
|
11
|
+
config?: MQDriver.Option | MQDriver.Option[];
|
|
12
|
+
constructor(pool: TypeContainer | null, type: MQConst.CONNECTION, config?: MQDriver.Option | MQDriver.Option[]);
|
|
13
|
+
getType(): MQConst.CONNECTION;
|
|
14
|
+
getConnection(dbname?: string, dbmode?: string): Promise<MQDriver.Connector>;
|
|
15
|
+
destory(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export class Connector implements MQDriver.Connector {
|
|
18
|
+
readonly owner: MQDriver.Container;
|
|
19
|
+
readonly conn: TypeConnect;
|
|
20
|
+
istr: Boolean;
|
|
21
|
+
coid: number;
|
|
22
|
+
constructor(owner: any, conn: TypeConnect);
|
|
23
|
+
getId(): string;
|
|
24
|
+
beginTransaction(): Promise<any>;
|
|
25
|
+
query(sql: string): Promise<any>;
|
|
26
|
+
commit(): Promise<any>;
|
|
27
|
+
rollback(): Promise<any>;
|
|
28
|
+
close(): Promise<any>;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=drv_oracledb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drv_oracledb.d.ts","sourceRoot":"","sources":["../../../../src/drivers/drv_oracledb.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,QAAQ,EAAC,MAAO,SAAS,CAAC;AAClC,OAAO,EAAC,OAAO,EAAC,MAAQ,gBAAgB,CAAC;AAEzC,OAAO,QAAQ,MAAS,UAAU,CAAC;AAYnC,yBAAiB,WAAW,CAC5B;IACI,KAAK,aAAa,GAAG,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;IACzD,KAAK,WAAW,GAAK,QAAQ,CAAC,UAAU,CAAC;IAGzC,MAAM,UAAU,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAC,QAAQ,CAAC,MAAM,EAAE,sBAYzF;IAED,MAAM,OAAO,SAAU,YAAW,QAAQ,CAAC,SAAS;QAChD,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;QACzB,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAEjC,IAAI,EAAE,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;QAM9G,OAAO;QACP,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAgB5E,OAAO;KAWV;IAGD,MAAM,OAAO,SAAU,YAAW,QAAQ,CAAC,SAAS;QAChD,SAAgB,KAAK,EAAG,QAAQ,CAAC,SAAS,CAAC;QAC3C,SAAgB,IAAI,EAAG,WAAW,CAAC;QAE5B,IAAI,EAAG,OAAO,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;oBAER,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW;QASzC,KAAK;QAGL,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;QAChC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QAShC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;QAKtB,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;QAKxB,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;KAkBxB;;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "querize",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Objective Query",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
"author": "lclasser",
|
|
25
25
|
"license": "ISC",
|
|
26
26
|
"keywords": [
|
|
27
|
+
"querize",
|
|
27
28
|
"mysql",
|
|
28
29
|
"maria",
|
|
29
30
|
"mariadb",
|
|
30
31
|
"query",
|
|
31
|
-
"querize",
|
|
32
32
|
"sql",
|
|
33
33
|
"objective",
|
|
34
34
|
"orm"
|