@cubejs-backend/jdbc-driver 0.31.38 → 0.31.41
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/dist/src/JDBCDriver.d.ts +3 -0
- package/dist/src/JDBCDriver.d.ts.map +1 -1
- package/dist/src/JDBCDriver.js +54 -2
- package/dist/src/JDBCDriver.js.map +1 -1
- package/dist/src/QueryStream.d.ts +25 -0
- package/dist/src/QueryStream.d.ts.map +1 -0
- package/dist/src/QueryStream.js +44 -0
- package/dist/src/QueryStream.js.map +1 -0
- package/package.json +4 -4
package/dist/src/JDBCDriver.d.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* @license Apache-2.0
|
|
4
4
|
* @fileoverview The `JDBCDriver` and related types declaration.
|
|
5
5
|
*/
|
|
6
|
+
/// <reference types="node" />
|
|
7
|
+
import { Readable } from 'stream';
|
|
6
8
|
import { BaseDriver } from '@cubejs-backend/base-driver';
|
|
7
9
|
import { Factory, Pool } from 'generic-pool';
|
|
8
10
|
import { DriverOptionsInterface } from './supported-drivers';
|
|
@@ -25,6 +27,7 @@ export declare class JDBCDriver extends BaseDriver {
|
|
|
25
27
|
query<R = unknown>(query: string, values: unknown[]): Promise<R[]>;
|
|
26
28
|
protected withConnection<T extends Function>(fn: T): Promise<any>;
|
|
27
29
|
protected queryPromised(query: string, cancelObj: any, options: any): Promise<any>;
|
|
30
|
+
streamQuery(sql: string, values: string[]): Promise<Readable>;
|
|
28
31
|
protected executeStatement(conn: any, query: any, cancelObj?: any): Promise<any>;
|
|
29
32
|
release(): Promise<void>;
|
|
30
33
|
static getSupportedDrivers(): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JDBCDriver.d.ts","sourceRoot":"","sources":["../../src/JDBCDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"JDBCDriver.d.ts","sourceRoot":"","sources":["../../src/JDBCDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMlC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD,OAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAoB,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAwClD,UAAU,YAAa,SAAQ,IAAI,CAAC,GAAG,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CACxB;AAED,qBAAa,UAAW,SAAQ,UAAU;IACxC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IAEnD,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC;IAE7B,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC;gBAGvB,MAAM,GAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG;QACzC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACjB;cAuEQ,kBAAkB;IAIlC,SAAS,CAAC,iBAAiB;IAYd,cAAc;IAe3B,SAAS,CAAC,wBAAwB;IAOrB,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;cAU/D,cAAc,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,EAAE,CAAC;cAUxC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;IAsB5D,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;cA6D1D,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG;IAiB1D,OAAO;WAKN,mBAAmB,IAAI,MAAM,EAAE;WAI/B,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB;CAGxE"}
|
package/dist/src/JDBCDriver.js
CHANGED
|
@@ -28,13 +28,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.JDBCDriver = void 0;
|
|
31
|
-
/* eslint-disable no-restricted-syntax,import/no-extraneous-dependencies */
|
|
32
31
|
const shared_1 = require("@cubejs-backend/shared");
|
|
33
32
|
const base_driver_1 = require("@cubejs-backend/base-driver");
|
|
34
33
|
const SqlString = __importStar(require("sqlstring"));
|
|
35
34
|
const util_1 = require("util");
|
|
36
35
|
const generic_pool_1 = __importDefault(require("generic-pool"));
|
|
37
36
|
const supported_drivers_1 = require("./supported-drivers");
|
|
37
|
+
const QueryStream_1 = require("./QueryStream");
|
|
38
38
|
const DriverManager = require('jdbc/lib/drivermanager');
|
|
39
39
|
const Connection = require('jdbc/lib/connection');
|
|
40
40
|
const DatabaseMetaData = require('jdbc/lib/databasemetadata');
|
|
@@ -163,7 +163,8 @@ class JDBCDriver extends base_driver_1.BaseDriver {
|
|
|
163
163
|
const cancelObj = {};
|
|
164
164
|
const promise = this.queryPromised(queryWithParams, cancelObj, this.prepareConnectionQueries());
|
|
165
165
|
promise.cancel =
|
|
166
|
-
() => cancelObj.cancel && cancelObj.cancel() ||
|
|
166
|
+
() => cancelObj.cancel && cancelObj.cancel() ||
|
|
167
|
+
Promise.reject(new Error('Statement is not ready'));
|
|
167
168
|
return promise;
|
|
168
169
|
}
|
|
169
170
|
async withConnection(fn) {
|
|
@@ -199,6 +200,57 @@ class JDBCDriver extends base_driver_1.BaseDriver {
|
|
|
199
200
|
}
|
|
200
201
|
}
|
|
201
202
|
}
|
|
203
|
+
async streamQuery(sql, values) {
|
|
204
|
+
const query = applyParams(sql, values);
|
|
205
|
+
const cancelObj = {};
|
|
206
|
+
try {
|
|
207
|
+
const conn = await this.pool.acquire();
|
|
208
|
+
try {
|
|
209
|
+
const createStatement = util_1.promisify(conn.createStatement.bind(conn));
|
|
210
|
+
const statement = await createStatement();
|
|
211
|
+
// TODO (buntarb): this does not make any sense...
|
|
212
|
+
// statement.setFetchSize(
|
|
213
|
+
// getEnv('dbQueryStreamHighWaterMark'),
|
|
214
|
+
// (err: unknown) => { if (err) console.error(err); }
|
|
215
|
+
// );
|
|
216
|
+
if (cancelObj) {
|
|
217
|
+
cancelObj.cancel = util_1.promisify(statement.cancel.bind(statement));
|
|
218
|
+
}
|
|
219
|
+
// TODO (buntarb): timeout decision needs.
|
|
220
|
+
// const setQueryTimeout = promisify(statement.setQueryTimeout.bind(statement));
|
|
221
|
+
// await setQueryTimeout(600);
|
|
222
|
+
const executeQuery = util_1.promisify(statement.execute.bind(statement));
|
|
223
|
+
const resultSet = await executeQuery(query);
|
|
224
|
+
return new Promise((resolve, reject) => {
|
|
225
|
+
resultSet.toObjectIter((err, res) => {
|
|
226
|
+
if (err)
|
|
227
|
+
reject(err);
|
|
228
|
+
const rowsStream = new QueryStream_1.QueryStream(res.rows.next);
|
|
229
|
+
const cleanup = (e) => {
|
|
230
|
+
if (!rowsStream.destroyed) {
|
|
231
|
+
rowsStream.destroy(e);
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
rowsStream.once('end', cleanup);
|
|
235
|
+
rowsStream.once('error', cleanup);
|
|
236
|
+
rowsStream.once('close', cleanup);
|
|
237
|
+
resolve(rowsStream);
|
|
238
|
+
});
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
finally {
|
|
242
|
+
await this.pool.release(conn);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
catch (ex) {
|
|
246
|
+
if (ex.cause) {
|
|
247
|
+
throw new Error(ex.cause.getMessageSync());
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
throw ex;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
202
254
|
async executeStatement(conn, query, cancelObj) {
|
|
203
255
|
const createStatementAsync = util_1.promisify(conn.createStatement.bind(conn));
|
|
204
256
|
const statement = await createStatementAsync();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JDBCDriver.js","sourceRoot":"","sources":["../../src/JDBCDriver.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"JDBCDriver.js","sourceRoot":"","sources":["../../src/JDBCDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Readable } from 'stream';
|
|
3
|
+
export declare type Row = {
|
|
4
|
+
[field: string]: boolean | number | string;
|
|
5
|
+
};
|
|
6
|
+
export declare type nextFn = () => {
|
|
7
|
+
done: boolean;
|
|
8
|
+
value: Row;
|
|
9
|
+
};
|
|
10
|
+
export declare class QueryStream extends Readable {
|
|
11
|
+
private next;
|
|
12
|
+
/**
|
|
13
|
+
* @constructor
|
|
14
|
+
*/
|
|
15
|
+
constructor(nextFn: nextFn);
|
|
16
|
+
/**
|
|
17
|
+
* @override
|
|
18
|
+
*/
|
|
19
|
+
_read(highWaterMark: number): void;
|
|
20
|
+
/**
|
|
21
|
+
* @override
|
|
22
|
+
*/
|
|
23
|
+
_destroy(error: Error | null, callback: (error?: Error | null | undefined) => void): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=QueryStream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryStream.d.ts","sourceRoot":"","sources":["../../src/QueryStream.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,oBAAY,GAAG,GAAG;IAChB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;CAC3C,CAAC;AAEF,oBAAY,MAAM,GAAG,MAAM;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,qBAAa,WAAY,SAAQ,QAAQ;IACvC,OAAO,CAAC,IAAI,CAAgB;IAE5B;;OAEG;gBACgB,MAAM,EAAE,MAAM;IAQjC;;OAEG;IACI,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAezC;;OAEG;IACI,QAAQ,CACb,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,GACnD,IAAI;CAIR"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueryStream = void 0;
|
|
4
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
5
|
+
const stream_1 = require("stream");
|
|
6
|
+
const shared_1 = require("@cubejs-backend/shared");
|
|
7
|
+
class QueryStream extends stream_1.Readable {
|
|
8
|
+
/**
|
|
9
|
+
* @constructor
|
|
10
|
+
*/
|
|
11
|
+
constructor(nextFn) {
|
|
12
|
+
super({
|
|
13
|
+
objectMode: true,
|
|
14
|
+
highWaterMark: shared_1.getEnv('dbQueryStreamHighWaterMark'),
|
|
15
|
+
});
|
|
16
|
+
this.next = nextFn;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @override
|
|
20
|
+
*/
|
|
21
|
+
_read(highWaterMark) {
|
|
22
|
+
for (let i = 0; i < highWaterMark; i++) {
|
|
23
|
+
if (this.next) {
|
|
24
|
+
const row = this.next();
|
|
25
|
+
if (row.value) {
|
|
26
|
+
this.push(row.value);
|
|
27
|
+
}
|
|
28
|
+
if (row.done) {
|
|
29
|
+
this.push(null);
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @override
|
|
37
|
+
*/
|
|
38
|
+
_destroy(error, callback) {
|
|
39
|
+
this.next = null;
|
|
40
|
+
callback(error);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.QueryStream = QueryStream;
|
|
44
|
+
//# sourceMappingURL=QueryStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryStream.js","sourceRoot":"","sources":["../../src/QueryStream.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,mCAAkC;AAClC,mDAAgD;AAWhD,MAAa,WAAY,SAAQ,iBAAQ;IAGvC;;OAEG;IACH,YAAmB,MAAc;QAC/B,KAAK,CAAC;YACJ,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,eAAM,CAAC,4BAA4B,CAAC;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAqB;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxB,IAAI,GAAG,CAAC,KAAK,EAAE;oBACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACtB;gBACD,IAAI,GAAG,CAAC,IAAI,EAAE;oBACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChB,MAAM;iBACP;aACF;SACF;IACH,CAAC;IAED;;OAEG;IACI,QAAQ,CACb,KAAmB,EACnB,QAAoD;QAEpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;CACF;AA1CD,kCA0CC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@cubejs-backend/jdbc-driver",
|
|
3
3
|
"description": "Cube.js JDBC database driver",
|
|
4
4
|
"author": "Cube Dev, Inc.",
|
|
5
|
-
"version": "0.31.
|
|
5
|
+
"version": "0.31.41",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/cube-js/cube.js.git",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"index.js"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@cubejs-backend/base-driver": "^0.31.
|
|
28
|
+
"@cubejs-backend/base-driver": "^0.31.41",
|
|
29
29
|
"generic-pool": "^3.1.7",
|
|
30
30
|
"node-java-maven": "^0.1.2",
|
|
31
31
|
"sqlstring": "^2.3.0"
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@cubejs-backend/linter": "^0.31.0",
|
|
46
|
-
"@cubejs-backend/shared": "^0.31.
|
|
46
|
+
"@cubejs-backend/shared": "^0.31.41",
|
|
47
47
|
"@types/generic-pool": "^3.1.9",
|
|
48
48
|
"@types/node": "^12",
|
|
49
49
|
"@types/sqlstring": "^2.3.0",
|
|
50
50
|
"typescript": "~4.1.5"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "0339d5178803f302fda5a935ea4b0c7ba632da83"
|
|
53
53
|
}
|