@cubejs-backend/materialize-driver 1.0.5 → 1.1.1
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.
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
/// <reference types="node" />
|
|
7
7
|
import { PostgresDriver, PostgresDriverConfiguration } from '@cubejs-backend/postgres-driver';
|
|
8
|
-
import { DownloadTableMemoryData, IndexesSQL, StreamOptions, StreamTableDataWithTypes, TableStructure } from '@cubejs-backend/base-driver';
|
|
8
|
+
import { DatabaseStructure, DownloadTableMemoryData, IndexesSQL, StreamOptions, StreamTableDataWithTypes, TableStructure } from '@cubejs-backend/base-driver';
|
|
9
9
|
import { PoolClient } from 'pg';
|
|
10
10
|
import { Readable } from 'stream';
|
|
11
11
|
export type ReadableStreamTableDataWithTypes = StreamTableDataWithTypes & {
|
|
@@ -14,15 +14,6 @@ export type ReadableStreamTableDataWithTypes = StreamTableDataWithTypes & {
|
|
|
14
14
|
*/
|
|
15
15
|
rowStream: Readable;
|
|
16
16
|
};
|
|
17
|
-
export type SchemaResponse = {
|
|
18
|
-
[schema: string]: {
|
|
19
|
-
[schemaObject: string]: {
|
|
20
|
-
name: string;
|
|
21
|
-
type: string;
|
|
22
|
-
attributes: any[];
|
|
23
|
-
}[];
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
17
|
/**
|
|
27
18
|
* Materialize driver class.
|
|
28
19
|
*/
|
|
@@ -72,7 +63,7 @@ export declare class MaterializeDriver extends PostgresDriver {
|
|
|
72
63
|
createSchemaIfNotExists(schemaName: string): Promise<void>;
|
|
73
64
|
uploadTableWithIndexes(table: string, columns: TableStructure, tableData: DownloadTableMemoryData, indexesSql: IndexesSQL): Promise<void>;
|
|
74
65
|
/**
|
|
75
|
-
* Materialize
|
|
66
|
+
* Materialize queryable schema
|
|
76
67
|
* Returns materialized sources, materialized views, and tables
|
|
77
68
|
* @returns {string} schemaQuery
|
|
78
69
|
*/
|
|
@@ -82,7 +73,7 @@ export declare class MaterializeDriver extends PostgresDriver {
|
|
|
82
73
|
* @returns {Promise<string>} version
|
|
83
74
|
*/
|
|
84
75
|
getMaterializeVersion(): Promise<string>;
|
|
85
|
-
tablesSchema(): Promise<
|
|
76
|
+
tablesSchema(): Promise<DatabaseStructure>;
|
|
86
77
|
protected asyncFetcher<R extends unknown>(conn: PoolClient, cursorId: string): AsyncGenerator<R>;
|
|
87
78
|
private releaseStream;
|
|
88
79
|
stream(query: string, values: unknown[], { highWaterMark }: StreamOptions): Promise<ReadableStreamTableDataWithTypes>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterializeDriver.d.ts","sourceRoot":"","sources":["../../src/MaterializeDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,
|
|
1
|
+
{"version":3,"file":"MaterializeDriver.d.ts","sourceRoot":"","sources":["../../src/MaterializeDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAEL,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,wBAAwB,EACxB,cAAc,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAe,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,MAAM,MAAM,gCAAgC,GAAG,wBAAwB,GAAG;IACxE;;OAEG;IACH,SAAS,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;IACnD;;OAEG;WACW,qBAAqB,IAAI,MAAM;IAI7C;;OAEG;gBAED,OAAO,GAAE,2BAA2B,GAAG;QACrC;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QAErB;;;WAGG;QACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAE/B;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QAEjB;;WAEG;QACH,GAAG,CAAC,EAAE,OAAO,GAAG;YAAE,kBAAkB,EAAE,OAAO,CAAA;SAAE,CAAC;QAEhD;;WAEG;QAEH,gBAAgB,CAAC,EAAE,MAAM,CAAC;KACtB;cAiBQ,iBAAiB,CAC/B,IAAI,EAAE,UAAU;cAWF,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrD;;;OAGG;IACU,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1D,sBAAsB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,uBAAuB,EAClC,UAAU,EAAE,UAAU;IAKxB;;;;OAIG;IACI,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IA8BhE;;;OAGG;IACU,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOxC,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC;cAOtC,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;YAuBzF,aAAa;IAQd,MAAM,CACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EAAE,EACjB,EAAE,aAAa,EAAE,EAAE,aAAa,GAC/B,OAAO,CAAC,gCAAgC,CAAC;CA0B7C"}
|
|
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
11
11
|
exports.MaterializeDriver = void 0;
|
|
12
12
|
const postgres_driver_1 = require("@cubejs-backend/postgres-driver");
|
|
13
13
|
const base_driver_1 = require("@cubejs-backend/base-driver");
|
|
14
|
-
const ramda_1 = require("ramda");
|
|
15
14
|
const stream_1 = require("stream");
|
|
16
15
|
const semver_1 = __importDefault(require("semver"));
|
|
17
16
|
/**
|
|
@@ -68,7 +67,7 @@ class MaterializeDriver extends postgres_driver_1.PostgresDriver {
|
|
|
68
67
|
return base_driver_1.BaseDriver.prototype.uploadTableWithIndexes.bind(this)(table, columns, tableData, indexesSql, [], null, {});
|
|
69
68
|
}
|
|
70
69
|
/**
|
|
71
|
-
* Materialize
|
|
70
|
+
* Materialize queryable schema
|
|
72
71
|
* Returns materialized sources, materialized views, and tables
|
|
73
72
|
* @returns {string} schemaQuery
|
|
74
73
|
*/
|
|
@@ -106,13 +105,13 @@ class MaterializeDriver extends postgres_driver_1.PostgresDriver {
|
|
|
106
105
|
*/
|
|
107
106
|
async getMaterializeVersion() {
|
|
108
107
|
const [{ version }] = await this.query('SELECT mz_version() as version;', []);
|
|
109
|
-
//
|
|
108
|
+
// Materialize returns the version as follows: 'v0.24.3-alpha.5 (65778f520)'
|
|
110
109
|
return version.split(' ')[0];
|
|
111
110
|
}
|
|
112
111
|
async tablesSchema() {
|
|
113
112
|
const version = await this.getMaterializeVersion();
|
|
114
113
|
const query = this.informationSchemaQueryWithFilter(version);
|
|
115
|
-
return this.query(query, []).then(data =>
|
|
114
|
+
return this.query(query, []).then(data => data.reduce(this.informationColumnsSchemaReducer, {}));
|
|
116
115
|
}
|
|
117
116
|
async *asyncFetcher(conn, cursorId) {
|
|
118
117
|
const timeout = `${this.config.executionTimeout ? (this.config.executionTimeout) * 1000 : 600000} milliseconds`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterializeDriver.js","sourceRoot":"","sources":["../../src/MaterializeDriver.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,qEAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"MaterializeDriver.js","sourceRoot":"","sources":["../../src/MaterializeDriver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@cubejs-backend/materialize-driver",
|
|
3
3
|
"description": "Cube.js Materialize database driver",
|
|
4
4
|
"author": "Cube Dev, Inc.",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.1.1",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/cube-js/cube.git",
|
|
@@ -27,18 +27,17 @@
|
|
|
27
27
|
"lint:fix": "eslint --fix src/* --ext .ts"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@cubejs-backend/base-driver": "1.
|
|
31
|
-
"@cubejs-backend/postgres-driver": "1.
|
|
30
|
+
"@cubejs-backend/base-driver": "1.1.1",
|
|
31
|
+
"@cubejs-backend/postgres-driver": "1.1.1",
|
|
32
32
|
"@cubejs-backend/shared": "1.0.3",
|
|
33
33
|
"@types/pg": "^8.6.0",
|
|
34
34
|
"pg": "^8.6.0",
|
|
35
|
-
"ramda": "0.27.2",
|
|
36
35
|
"semver": "7.3.7"
|
|
37
36
|
},
|
|
38
37
|
"license": "Apache-2.0",
|
|
39
38
|
"devDependencies": {
|
|
40
39
|
"@cubejs-backend/linter": "^1.0.0",
|
|
41
|
-
"@cubejs-backend/testing": "1.
|
|
40
|
+
"@cubejs-backend/testing": "1.1.1",
|
|
42
41
|
"typescript": "~5.2.2"
|
|
43
42
|
},
|
|
44
43
|
"publishConfig": {
|
|
@@ -50,5 +49,5 @@
|
|
|
50
49
|
"eslintConfig": {
|
|
51
50
|
"extends": "../cubejs-linter"
|
|
52
51
|
},
|
|
53
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "218dcc2fe1ddca985a12e10e9b2b42b81fd4ce20"
|
|
54
53
|
}
|