@cubejs-backend/redshift-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.
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @fileoverview The `RedshiftDriver` and related types declaration.
|
|
5
5
|
*/
|
|
6
6
|
import { PostgresDriver, PostgresDriverConfiguration } from '@cubejs-backend/postgres-driver';
|
|
7
|
-
import { DownloadTableCSVData, DriverCapabilities, StreamOptions, StreamTableDataWithTypes, UnloadOptions } from '@cubejs-backend/base-driver';
|
|
7
|
+
import { DatabaseStructure, DownloadTableCSVData, DriverCapabilities, QueryColumnsResult, QuerySchemasResult, QueryTablesResult, StreamOptions, StreamTableDataWithTypes, UnloadOptions } from '@cubejs-backend/base-driver';
|
|
8
8
|
interface RedshiftDriverExportRequiredAWS {
|
|
9
9
|
bucketType: 's3';
|
|
10
10
|
bucketName: string;
|
|
@@ -26,6 +26,7 @@ export interface RedshiftDriverConfiguration extends PostgresDriverConfiguration
|
|
|
26
26
|
* Redshift driver class.
|
|
27
27
|
*/
|
|
28
28
|
export declare class RedshiftDriver extends PostgresDriver<RedshiftDriverConfiguration> {
|
|
29
|
+
private readonly dbName;
|
|
29
30
|
/**
|
|
30
31
|
* Returns default concurrency value.
|
|
31
32
|
*/
|
|
@@ -33,7 +34,7 @@ export declare class RedshiftDriver extends PostgresDriver<RedshiftDriverConfigu
|
|
|
33
34
|
/**
|
|
34
35
|
* Class constructor.
|
|
35
36
|
*/
|
|
36
|
-
constructor(
|
|
37
|
+
constructor(config?: RedshiftDriverConfiguration & {
|
|
37
38
|
/**
|
|
38
39
|
* Data source name.
|
|
39
40
|
*/
|
|
@@ -50,6 +51,31 @@ export declare class RedshiftDriver extends PostgresDriver<RedshiftDriverConfigu
|
|
|
50
51
|
});
|
|
51
52
|
protected primaryKeysQuery(): null;
|
|
52
53
|
protected foreignKeysQuery(): null;
|
|
54
|
+
/**
|
|
55
|
+
* @override
|
|
56
|
+
*/
|
|
57
|
+
protected informationSchemaQuery(): string;
|
|
58
|
+
/**
|
|
59
|
+
* In Redshift external tables are not shown in regular Postgres information_schema,
|
|
60
|
+
* so it needs to be queried separately.
|
|
61
|
+
* @override
|
|
62
|
+
*/
|
|
63
|
+
tablesSchema(): Promise<DatabaseStructure>;
|
|
64
|
+
private tablesForExternalSchema;
|
|
65
|
+
private columnsForExternalTable;
|
|
66
|
+
/**
|
|
67
|
+
* @override
|
|
68
|
+
*/
|
|
69
|
+
protected getSchemasQuery(): string;
|
|
70
|
+
/**
|
|
71
|
+
* From the Redshift docs:
|
|
72
|
+
* SHOW SCHEMAS FROM DATABASE database_name [LIKE 'filter_pattern'] [LIMIT row_limit ]
|
|
73
|
+
* It returns regular schemas (queryable from information_schema) and external ones.
|
|
74
|
+
* @override
|
|
75
|
+
*/
|
|
76
|
+
getSchemas(): Promise<QuerySchemasResult[]>;
|
|
77
|
+
getTablesForSpecificSchemas(schemas: QuerySchemasResult[]): Promise<QueryTablesResult[]>;
|
|
78
|
+
getColumnsForSpecificTables(tables: QueryTablesResult[]): Promise<QueryColumnsResult[]>;
|
|
53
79
|
/**
|
|
54
80
|
* @override
|
|
55
81
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedshiftDriver.d.ts","sourceRoot":"","sources":["../../src/RedshiftDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,wBAAwB,EACxB,aAAa,EACd,MAAM,6BAA6B,CAAC;AAGrC,UAAU,+BAA+B;IACvC,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,0BAA2B,SAAQ,+BAA+B;IAI1E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,gCAAiC,SAAQ,+BAA+B;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,uBAAwB,SAAQ,0BAA0B,EAAE,gCAAgC;CACrG;AAED,MAAM,WAAW,2BAA4B,SAAQ,2BAA2B;IAC9E,YAAY,CAAC,EAAE,uBAAuB,CAAC;CACxC;
|
|
1
|
+
{"version":3,"file":"RedshiftDriver.d.ts","sourceRoot":"","sources":["../../src/RedshiftDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,aAAa,EACd,MAAM,6BAA6B,CAAC;AAGrC,UAAU,+BAA+B;IACvC,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,0BAA2B,SAAQ,+BAA+B;IAI1E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,gCAAiC,SAAQ,+BAA+B;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,uBAAwB,SAAQ,0BAA0B,EAAE,gCAAgC;CACrG;AAED,MAAM,WAAW,2BAA4B,SAAQ,2BAA2B;IAC9E,YAAY,CAAC,EAAE,uBAAuB,CAAC;CACxC;AAID;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc,CAAC,2BAA2B,CAAC;IAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;WACW,qBAAqB,IAAI,MAAM;IAI7C;;OAEG;gBAED,MAAM,GAAE,2BAA2B,GAAG;QACpC;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QAErB;;;WAGG;QACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAC3B;IAaR,SAAS,CAAC,gBAAgB;IAI1B,SAAS,CAAC,gBAAgB;IAI1B;;OAEG;IACH,SAAS,CAAC,sBAAsB;IAWhC;;;;OAIG;IACU,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC;YAyBzC,uBAAuB;YAIvB,uBAAuB;IAIrC;;OAEG;IACH,SAAS,CAAC,eAAe;IASzB;;;;;OAKG;IACU,UAAU,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAQ3C,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAiBxF,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAsBpG;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAC/B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,2BAA2B,CAAC;IAQvC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE;IAUpD;;;;OAIG;IACU,cAAc;IAKL,MAAM,CAC1B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,wBAAwB,CAAC;cAMX,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAMvE,SAAS,CAAC,eAAe,CACvB,UAAU,EAAE,MAAM,GACjB,uBAAuB,GAAG,SAAS;IAqDzB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,iBAAiB;IAQjB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqGtF,YAAY,IAAI,kBAAkB;CAK1C"}
|
|
@@ -12,10 +12,12 @@ exports.RedshiftDriver = void 0;
|
|
|
12
12
|
const shared_1 = require("@cubejs-backend/shared");
|
|
13
13
|
const postgres_driver_1 = require("@cubejs-backend/postgres-driver");
|
|
14
14
|
const crypto_1 = __importDefault(require("crypto"));
|
|
15
|
+
const IGNORED_SCHEMAS = ['pg_catalog', 'pg_internal', 'information_schema', 'mysql', 'performance_schema', 'sys', 'INFORMATION_SCHEMA'];
|
|
15
16
|
/**
|
|
16
17
|
* Redshift driver class.
|
|
17
18
|
*/
|
|
18
19
|
class RedshiftDriver extends postgres_driver_1.PostgresDriver {
|
|
20
|
+
dbName;
|
|
19
21
|
/**
|
|
20
22
|
* Returns default concurrency value.
|
|
21
23
|
*/
|
|
@@ -25,8 +27,13 @@ class RedshiftDriver extends postgres_driver_1.PostgresDriver {
|
|
|
25
27
|
/**
|
|
26
28
|
* Class constructor.
|
|
27
29
|
*/
|
|
28
|
-
constructor(
|
|
29
|
-
super(
|
|
30
|
+
constructor(config = {}) {
|
|
31
|
+
super(config);
|
|
32
|
+
const dataSource = config.dataSource ||
|
|
33
|
+
(0, shared_1.assertDataSource)('default');
|
|
34
|
+
// We need a DB name for querying external tables.
|
|
35
|
+
// It's not possible to get it later from the pool
|
|
36
|
+
this.dbName = (0, shared_1.getEnv)('dbName', { dataSource });
|
|
30
37
|
}
|
|
31
38
|
primaryKeysQuery() {
|
|
32
39
|
return null;
|
|
@@ -34,6 +41,105 @@ class RedshiftDriver extends postgres_driver_1.PostgresDriver {
|
|
|
34
41
|
foreignKeysQuery() {
|
|
35
42
|
return null;
|
|
36
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* @override
|
|
46
|
+
*/
|
|
47
|
+
informationSchemaQuery() {
|
|
48
|
+
return `
|
|
49
|
+
SELECT columns.column_name as ${this.quoteIdentifier('column_name')},
|
|
50
|
+
columns.table_name as ${this.quoteIdentifier('table_name')},
|
|
51
|
+
columns.table_schema as ${this.quoteIdentifier('table_schema')},
|
|
52
|
+
columns.data_type as ${this.quoteIdentifier('data_type')}
|
|
53
|
+
FROM information_schema.columns
|
|
54
|
+
WHERE columns.table_schema NOT IN (${IGNORED_SCHEMAS.map(s => `'${s}'`).join(',')})
|
|
55
|
+
`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* In Redshift external tables are not shown in regular Postgres information_schema,
|
|
59
|
+
* so it needs to be queried separately.
|
|
60
|
+
* @override
|
|
61
|
+
*/
|
|
62
|
+
async tablesSchema() {
|
|
63
|
+
const query = this.informationSchemaQuery();
|
|
64
|
+
const tablesSchema = await this.query(query, []).then(data => data.reduce(this.informationColumnsSchemaReducer, {}));
|
|
65
|
+
const allSchemas = await this.getSchemas();
|
|
66
|
+
const externalSchemas = allSchemas.filter(s => !tablesSchema[s.schema_name]).map(s => s.schema_name);
|
|
67
|
+
for (const externalSchema of externalSchemas) {
|
|
68
|
+
tablesSchema[externalSchema] = {};
|
|
69
|
+
const tablesRes = await this.tablesForExternalSchema(externalSchema);
|
|
70
|
+
const tables = tablesRes.map(t => t.table_name);
|
|
71
|
+
for (const tableName of tables) {
|
|
72
|
+
const columnRes = await this.columnsForExternalTable(externalSchema, tableName);
|
|
73
|
+
tablesSchema[externalSchema][tableName] = columnRes.map(def => ({
|
|
74
|
+
name: def.column_name,
|
|
75
|
+
type: def.data_type,
|
|
76
|
+
attributes: []
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return tablesSchema;
|
|
81
|
+
}
|
|
82
|
+
// eslint-disable-next-line camelcase
|
|
83
|
+
async tablesForExternalSchema(schemaName) {
|
|
84
|
+
return this.query(`SHOW TABLES FROM SCHEMA ${this.dbName}.${schemaName}`, []);
|
|
85
|
+
}
|
|
86
|
+
async columnsForExternalTable(schemaName, tableName) {
|
|
87
|
+
return this.query(`SHOW COLUMNS FROM TABLE ${this.dbName}.${schemaName}.${tableName}`, []);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @override
|
|
91
|
+
*/
|
|
92
|
+
getSchemasQuery() {
|
|
93
|
+
return `
|
|
94
|
+
SELECT table_schema as ${this.quoteIdentifier('schema_name')}
|
|
95
|
+
FROM information_schema.tables
|
|
96
|
+
WHERE table_schema NOT IN (${IGNORED_SCHEMAS.map(s => `'${s}'`).join(',')})
|
|
97
|
+
GROUP BY table_schema
|
|
98
|
+
`;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* From the Redshift docs:
|
|
102
|
+
* SHOW SCHEMAS FROM DATABASE database_name [LIKE 'filter_pattern'] [LIMIT row_limit ]
|
|
103
|
+
* It returns regular schemas (queryable from information_schema) and external ones.
|
|
104
|
+
* @override
|
|
105
|
+
*/
|
|
106
|
+
async getSchemas() {
|
|
107
|
+
const schemas = await this.query(`SHOW SCHEMAS FROM DATABASE ${this.dbName}`, []);
|
|
108
|
+
return schemas
|
|
109
|
+
.filter(s => !IGNORED_SCHEMAS.includes(s.schema_name))
|
|
110
|
+
.map(s => ({ schema_name: s.schema_name }));
|
|
111
|
+
}
|
|
112
|
+
async getTablesForSpecificSchemas(schemas) {
|
|
113
|
+
const tables = await super.getTablesForSpecificSchemas(schemas);
|
|
114
|
+
// We might request the external schemas and tables, their descriptions won't be returned
|
|
115
|
+
// by the super.getTablesForSpecificSchemas(). Need to request them separately.
|
|
116
|
+
const missedSchemas = schemas.filter(s => !tables.some(t => t.schema_name === s.schema_name));
|
|
117
|
+
for (const externalSchema of missedSchemas) {
|
|
118
|
+
const tablesRes = await this.tablesForExternalSchema(externalSchema.schema_name);
|
|
119
|
+
tablesRes.forEach(t => {
|
|
120
|
+
tables.push({ schema_name: externalSchema.schema_name, table_name: t.table_name });
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
return tables;
|
|
124
|
+
}
|
|
125
|
+
async getColumnsForSpecificTables(tables) {
|
|
126
|
+
const columns = await super.getColumnsForSpecificTables(tables);
|
|
127
|
+
// We might request the external tables, their descriptions won't be returned
|
|
128
|
+
// by the super.getColumnsForSpecificTables(). Need to request them separately.
|
|
129
|
+
const missedTables = tables.filter(table => !columns.some(column => column.schema_name === table.schema_name && column.table_name === table.table_name));
|
|
130
|
+
for (const table of missedTables) {
|
|
131
|
+
const columnRes = await this.columnsForExternalTable(table.schema_name, table.table_name);
|
|
132
|
+
columnRes.forEach(c => {
|
|
133
|
+
columns.push({
|
|
134
|
+
schema_name: c.schema_name,
|
|
135
|
+
table_name: c.table_name,
|
|
136
|
+
column_name: c.column_name,
|
|
137
|
+
data_type: c.data_type,
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
return columns;
|
|
142
|
+
}
|
|
37
143
|
/**
|
|
38
144
|
* @override
|
|
39
145
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedshiftDriver.js","sourceRoot":"","sources":["../../src/RedshiftDriver.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,
|
|
1
|
+
{"version":3,"file":"RedshiftDriver.js","sourceRoot":"","sources":["../../src/RedshiftDriver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@cubejs-backend/redshift-driver",
|
|
3
3
|
"description": "Cube.js Redshift 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",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"lint:fix": "eslint --fix src/* --ext .ts"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@cubejs-backend/base-driver": "1.
|
|
29
|
-
"@cubejs-backend/postgres-driver": "1.
|
|
28
|
+
"@cubejs-backend/base-driver": "1.1.1",
|
|
29
|
+
"@cubejs-backend/postgres-driver": "1.1.1",
|
|
30
30
|
"@cubejs-backend/shared": "1.0.3"
|
|
31
31
|
},
|
|
32
32
|
"license": "Apache-2.0",
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"eslintConfig": {
|
|
44
44
|
"extends": "../cubejs-linter"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "218dcc2fe1ddca985a12e10e9b2b42b81fd4ce20"
|
|
47
47
|
}
|