@cubejs-backend/snowflake-driver 0.32.28 → 0.32.30
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 `SnowflakeDriver` and related types declaration.
|
|
5
5
|
*/
|
|
6
6
|
import snowflake, { Column, Connection } from 'snowflake-sdk';
|
|
7
|
-
import { BaseDriver, DownloadTableCSVData, DriverInterface,
|
|
7
|
+
import { BaseDriver, DownloadTableCSVData, DriverInterface, TableStructure, UnloadOptions, StreamOptions, StreamTableDataWithTypes, DownloadTableMemoryData, DownloadQueryResultsResult, DownloadQueryResultsOptions, DriverCapabilities } from '@cubejs-backend/base-driver';
|
|
8
8
|
import { S3 } from '@aws-sdk/client-s3';
|
|
9
9
|
import { Storage } from '@google-cloud/storage';
|
|
10
10
|
import { HydrationMap } from './HydrationStream';
|
|
@@ -39,6 +39,7 @@ interface SnowflakeDriverOptions {
|
|
|
39
39
|
exportBucket?: SnowflakeDriverExportBucket;
|
|
40
40
|
executionTimeout?: number;
|
|
41
41
|
application: string;
|
|
42
|
+
readOnly?: boolean;
|
|
42
43
|
/**
|
|
43
44
|
* The export bucket CSV file escape symbol.
|
|
44
45
|
*/
|
|
@@ -56,6 +57,7 @@ export declare class SnowflakeDriver extends BaseDriver implements DriverInterfa
|
|
|
56
57
|
* Returns default concurrency value.
|
|
57
58
|
*/
|
|
58
59
|
static getDefaultConcurrency(): number;
|
|
60
|
+
static driverEnvVariables(): string[];
|
|
59
61
|
protected connection: Promise<Connection> | null;
|
|
60
62
|
protected readonly config: SnowflakeDriverOptions;
|
|
61
63
|
/**
|
|
@@ -76,30 +78,102 @@ export declare class SnowflakeDriver extends BaseDriver implements DriverInterfa
|
|
|
76
78
|
*/
|
|
77
79
|
testConnectionTimeout?: number;
|
|
78
80
|
});
|
|
81
|
+
/**
|
|
82
|
+
* Driver read-only flag.
|
|
83
|
+
*/
|
|
84
|
+
readOnly(): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Returns driver's capabilities object.
|
|
87
|
+
*/
|
|
88
|
+
capabilities(): DriverCapabilities;
|
|
79
89
|
protected createExportBucket(dataSource: string, bucketType: string): SnowflakeDriverExportBucket;
|
|
80
90
|
/**
|
|
81
91
|
* @todo Move to BaseDriver in the future?
|
|
82
92
|
*/
|
|
83
93
|
protected getExportBucket(dataSource: string): SnowflakeDriverExportBucket | undefined;
|
|
84
|
-
|
|
94
|
+
/**
|
|
95
|
+
* Test driver's connection.
|
|
96
|
+
*/
|
|
85
97
|
testConnection(): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Initializes and resolves connection to the Snowflake.
|
|
100
|
+
*/
|
|
86
101
|
protected initConnection(): Promise<snowflake.Connection>;
|
|
102
|
+
/**
|
|
103
|
+
* Resolves connection to the Snowflake.
|
|
104
|
+
*/
|
|
87
105
|
protected getConnection(): Promise<Connection>;
|
|
106
|
+
/**
|
|
107
|
+
* Executes query and rerutns queried rows.
|
|
108
|
+
*/
|
|
88
109
|
query<R = unknown>(query: string, values?: unknown[]): Promise<R>;
|
|
110
|
+
/**
|
|
111
|
+
* Determines whether export bucket feature is configured or not.
|
|
112
|
+
*/
|
|
89
113
|
isUnloadSupported(): Promise<boolean>;
|
|
114
|
+
/**
|
|
115
|
+
* Returns to the Cubestore an object with links to unloaded to the
|
|
116
|
+
* export bucket data.
|
|
117
|
+
*/
|
|
90
118
|
unload(tableName: string, options: UnloadOptions): Promise<DownloadTableCSVData>;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
119
|
+
/**
|
|
120
|
+
* Unload data from a SQL query to an export bucket.
|
|
121
|
+
*/
|
|
122
|
+
private unloadWithSql;
|
|
123
|
+
/**
|
|
124
|
+
* Returns an array of queried fields meta info.
|
|
125
|
+
*/
|
|
126
|
+
queryColumnTypes(sql: string): Promise<TableStructure>;
|
|
127
|
+
/**
|
|
128
|
+
* Unload data from a temp table to an export bucket.
|
|
129
|
+
*/
|
|
130
|
+
private unloadWithTable;
|
|
131
|
+
/**
|
|
132
|
+
* Returns an array of table fields meta info.
|
|
133
|
+
*/
|
|
134
|
+
tableColumnTypes(table: string): Promise<{
|
|
135
|
+
name: string;
|
|
136
|
+
type: string;
|
|
137
|
+
}[]>;
|
|
138
|
+
/**
|
|
139
|
+
* Returns export options clause.
|
|
140
|
+
*/
|
|
141
|
+
private exportOptionsClause;
|
|
142
|
+
/**
|
|
143
|
+
* Returns an array of signed URLs of the unloaded csv files.
|
|
144
|
+
*/
|
|
145
|
+
private getCsvFiles;
|
|
146
|
+
/**
|
|
147
|
+
* Returns an array of signed AWS S3 URLs of the unloaded csv files.
|
|
148
|
+
*/
|
|
149
|
+
protected extractFilesFromS3(storage: S3, bucketName: string, tableName: string): Promise<string[]>;
|
|
150
|
+
/**
|
|
151
|
+
* Returns an array of signed GCS URLs of the unloaded csv files.
|
|
152
|
+
*/
|
|
153
|
+
protected extractFilesFromGCS(storage: Storage, bucketName: string, tableName: string): Promise<string[]>;
|
|
154
|
+
/**
|
|
155
|
+
* Executes a query and returns either query result memory data or
|
|
156
|
+
* query result stream, depending on options.
|
|
157
|
+
*/
|
|
158
|
+
downloadQueryResults(query: string, values: unknown[], options: DownloadQueryResultsOptions): Promise<DownloadQueryResultsResult>;
|
|
159
|
+
/**
|
|
160
|
+
* Executes query and returns table memory data that includes rows
|
|
161
|
+
* and queried fields types.
|
|
162
|
+
*/
|
|
163
|
+
memory(query: string, values: unknown[]): Promise<DownloadTableMemoryData & {
|
|
164
|
+
types: TableStructure;
|
|
165
|
+
}>;
|
|
166
|
+
/**
|
|
167
|
+
* Returns stream table object that includes query result stream and
|
|
168
|
+
* queried fields types.
|
|
169
|
+
*/
|
|
170
|
+
stream(query: string, values: unknown[], _options: StreamOptions): Promise<StreamTableDataWithTypes>;
|
|
171
|
+
private getTypes;
|
|
94
172
|
protected generateHydrationMap(columns: Column[]): HydrationMap;
|
|
95
173
|
protected execute<R = unknown>(connection: Connection, query: string, values?: unknown[], rehydrate?: boolean): Promise<R>;
|
|
96
174
|
informationSchemaQuery(): string;
|
|
97
175
|
release(): Promise<void>;
|
|
98
176
|
toGenericType(columnType: string): string;
|
|
99
|
-
tableColumnTypes(table: string): Promise<{
|
|
100
|
-
name: string;
|
|
101
|
-
type: string;
|
|
102
|
-
}[]>;
|
|
103
177
|
getTablesQuery(schemaName: string): Promise<{
|
|
104
178
|
table_name: string | undefined;
|
|
105
179
|
}[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnowflakeDriver.d.ts","sourceRoot":"","sources":["../../src/SnowflakeDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AACzE,OAAO,EACL,UAAU,
|
|
1
|
+
{"version":3,"file":"SnowflakeDriver.d.ts","sourceRoot":"","sources":["../../src/SnowflakeDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,29 +4,6 @@
|
|
|
4
4
|
* @license Apache-2.0
|
|
5
5
|
* @fileoverview The `SnowflakeDriver` and related types declaration.
|
|
6
6
|
*/
|
|
7
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
-
if (k2 === undefined) k2 = k;
|
|
9
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
-
}
|
|
13
|
-
Object.defineProperty(o, k2, desc);
|
|
14
|
-
}) : (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
o[k2] = m[k];
|
|
17
|
-
}));
|
|
18
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
-
}) : function(o, v) {
|
|
21
|
-
o["default"] = v;
|
|
22
|
-
});
|
|
23
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
24
|
-
if (mod && mod.__esModule) return mod;
|
|
25
|
-
var result = {};
|
|
26
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
27
|
-
__setModuleDefault(result, mod);
|
|
28
|
-
return result;
|
|
29
|
-
};
|
|
30
7
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
31
8
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
32
9
|
};
|
|
@@ -35,7 +12,6 @@ exports.SnowflakeDriver = void 0;
|
|
|
35
12
|
const shared_1 = require("@cubejs-backend/shared");
|
|
36
13
|
const snowflake_sdk_1 = __importDefault(require("snowflake-sdk"));
|
|
37
14
|
const base_driver_1 = require("@cubejs-backend/base-driver");
|
|
38
|
-
const crypto = __importStar(require("crypto"));
|
|
39
15
|
const date_fns_timezone_1 = require("date-fns-timezone");
|
|
40
16
|
const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
|
|
41
17
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
@@ -121,6 +97,23 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
121
97
|
static getDefaultConcurrency() {
|
|
122
98
|
return 5;
|
|
123
99
|
}
|
|
100
|
+
static driverEnvVariables() {
|
|
101
|
+
// TODO (buntarb): check how this method can/must be used with split
|
|
102
|
+
// names by the data source.
|
|
103
|
+
return [
|
|
104
|
+
'CUBEJS_DB_NAME',
|
|
105
|
+
'CUBEJS_DB_USER',
|
|
106
|
+
'CUBEJS_DB_PASS',
|
|
107
|
+
'CUBEJS_DB_SNOWFLAKE_ACCOUNT',
|
|
108
|
+
'CUBEJS_DB_SNOWFLAKE_REGION',
|
|
109
|
+
'CUBEJS_DB_SNOWFLAKE_WAREHOUSE',
|
|
110
|
+
'CUBEJS_DB_SNOWFLAKE_ROLE',
|
|
111
|
+
'CUBEJS_DB_SNOWFLAKE_CLIENT_SESSION_KEEP_ALIVE',
|
|
112
|
+
'CUBEJS_DB_SNOWFLAKE_AUTHENTICATOR',
|
|
113
|
+
'CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PATH',
|
|
114
|
+
'CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PASS'
|
|
115
|
+
];
|
|
116
|
+
}
|
|
124
117
|
/**
|
|
125
118
|
* Class constructor.
|
|
126
119
|
*/
|
|
@@ -136,6 +129,7 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
136
129
|
privateKey += '\n';
|
|
137
130
|
}
|
|
138
131
|
this.config = {
|
|
132
|
+
readOnly: true,
|
|
139
133
|
account: (0, shared_1.getEnv)('snowflakeAccount', { dataSource }),
|
|
140
134
|
region: (0, shared_1.getEnv)('snowflakeRegion', { dataSource }),
|
|
141
135
|
warehouse: (0, shared_1.getEnv)('snowflakeWarehouse', { dataSource }),
|
|
@@ -156,6 +150,18 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
156
150
|
...config
|
|
157
151
|
};
|
|
158
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Driver read-only flag.
|
|
155
|
+
*/
|
|
156
|
+
readOnly() {
|
|
157
|
+
return !!this.config.readOnly;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Returns driver's capabilities object.
|
|
161
|
+
*/
|
|
162
|
+
capabilities() {
|
|
163
|
+
return { unloadWithoutTempTable: true };
|
|
164
|
+
}
|
|
159
165
|
createExportBucket(dataSource, bucketType) {
|
|
160
166
|
if (bucketType === 's3') {
|
|
161
167
|
return {
|
|
@@ -195,23 +201,9 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
195
201
|
}
|
|
196
202
|
return undefined;
|
|
197
203
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
return [
|
|
202
|
-
'CUBEJS_DB_NAME',
|
|
203
|
-
'CUBEJS_DB_USER',
|
|
204
|
-
'CUBEJS_DB_PASS',
|
|
205
|
-
'CUBEJS_DB_SNOWFLAKE_ACCOUNT',
|
|
206
|
-
'CUBEJS_DB_SNOWFLAKE_REGION',
|
|
207
|
-
'CUBEJS_DB_SNOWFLAKE_WAREHOUSE',
|
|
208
|
-
'CUBEJS_DB_SNOWFLAKE_ROLE',
|
|
209
|
-
'CUBEJS_DB_SNOWFLAKE_CLIENT_SESSION_KEEP_ALIVE',
|
|
210
|
-
'CUBEJS_DB_SNOWFLAKE_AUTHENTICATOR',
|
|
211
|
-
'CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PATH',
|
|
212
|
-
'CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PASS'
|
|
213
|
-
];
|
|
214
|
-
}
|
|
204
|
+
/**
|
|
205
|
+
* Test driver's connection.
|
|
206
|
+
*/
|
|
215
207
|
async testConnection() {
|
|
216
208
|
const connection = snowflake_sdk_1.default.createConnection(this.config);
|
|
217
209
|
await new Promise((resolve, reject) => connection.connect((err, conn) => (err ? reject(err) : resolve(conn))));
|
|
@@ -222,6 +214,9 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
222
214
|
}
|
|
223
215
|
await new Promise((resolve, reject) => connection.destroy((err, conn) => (err ? reject(err) : resolve(conn))));
|
|
224
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Initializes and resolves connection to the Snowflake.
|
|
219
|
+
*/
|
|
225
220
|
async initConnection() {
|
|
226
221
|
try {
|
|
227
222
|
const connection = snowflake_sdk_1.default.createConnection(this.config);
|
|
@@ -235,6 +230,9 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
235
230
|
throw e;
|
|
236
231
|
}
|
|
237
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* Resolves connection to the Snowflake.
|
|
235
|
+
*/
|
|
238
236
|
async getConnection() {
|
|
239
237
|
if (this.connection) {
|
|
240
238
|
const connection = await this.connection;
|
|
@@ -246,98 +244,204 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
246
244
|
// eslint-disable-next-line no-return-assign
|
|
247
245
|
return this.connection = this.initConnection();
|
|
248
246
|
}
|
|
247
|
+
/**
|
|
248
|
+
* Executes query and rerutns queried rows.
|
|
249
|
+
*/
|
|
249
250
|
async query(query, values) {
|
|
250
251
|
return this.getConnection().then((connection) => this.execute(connection, query, values));
|
|
251
252
|
}
|
|
253
|
+
/**
|
|
254
|
+
* Determines whether export bucket feature is configured or not.
|
|
255
|
+
*/
|
|
252
256
|
async isUnloadSupported() {
|
|
253
257
|
if (!this.config.exportBucket) {
|
|
254
258
|
return false;
|
|
255
259
|
}
|
|
256
260
|
return true;
|
|
257
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* Returns to the Cubestore an object with links to unloaded to the
|
|
264
|
+
* export bucket data.
|
|
265
|
+
*/
|
|
258
266
|
async unload(tableName, options) {
|
|
259
|
-
const connection = await this.getConnection();
|
|
260
267
|
if (!this.config.exportBucket) {
|
|
261
|
-
throw new Error('
|
|
268
|
+
throw new Error('Export bucket is not configured.');
|
|
269
|
+
}
|
|
270
|
+
const types = options.query
|
|
271
|
+
? await this.unloadWithSql(tableName, options)
|
|
272
|
+
: await this.unloadWithTable(tableName, options);
|
|
273
|
+
const csvFile = await this.getCsvFiles(tableName);
|
|
274
|
+
return {
|
|
275
|
+
exportBucketCsvEscapeSymbol: this.config.exportBucketCsvEscapeSymbol,
|
|
276
|
+
csvFile,
|
|
277
|
+
types,
|
|
278
|
+
csvNoHeader: true,
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Unload data from a SQL query to an export bucket.
|
|
283
|
+
*/
|
|
284
|
+
async unloadWithSql(tableName, options) {
|
|
285
|
+
if (!options.query) {
|
|
286
|
+
throw new Error('Unload query is missed.');
|
|
262
287
|
}
|
|
288
|
+
else {
|
|
289
|
+
const types = await this.queryColumnTypes(options.query.sql);
|
|
290
|
+
const connection = await this.getConnection();
|
|
291
|
+
const { bucketType, bucketName } = this.config.exportBucket;
|
|
292
|
+
const unloadSql = `
|
|
293
|
+
COPY INTO '${bucketType}://${bucketName}/${tableName}/'
|
|
294
|
+
FROM (${options.query.sql})
|
|
295
|
+
${this.exportOptionsClause(options)}`;
|
|
296
|
+
const result = await this.execute(connection, unloadSql, [], false);
|
|
297
|
+
if (!result) {
|
|
298
|
+
throw new Error('Missing `COPY INTO` query result.');
|
|
299
|
+
}
|
|
300
|
+
return types;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Returns an array of queried fields meta info.
|
|
305
|
+
*/
|
|
306
|
+
async queryColumnTypes(sql) {
|
|
307
|
+
const connection = await this.getConnection();
|
|
308
|
+
return new Promise((resolve, reject) => connection.execute({
|
|
309
|
+
sqlText: `${sql} LIMIT 0`,
|
|
310
|
+
binds: [],
|
|
311
|
+
fetchAsString: ['Number'],
|
|
312
|
+
complete: (err, stmt) => {
|
|
313
|
+
if (err) {
|
|
314
|
+
reject(err);
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
const types = this.getTypes(stmt);
|
|
318
|
+
resolve(types);
|
|
319
|
+
},
|
|
320
|
+
}));
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Unload data from a temp table to an export bucket.
|
|
324
|
+
*/
|
|
325
|
+
async unloadWithTable(tableName, options) {
|
|
326
|
+
const types = await this.tableColumnTypes(tableName);
|
|
327
|
+
const connection = await this.getConnection();
|
|
263
328
|
const { bucketType, bucketName } = this.config.exportBucket;
|
|
264
|
-
const
|
|
265
|
-
|
|
329
|
+
const unloadSql = `
|
|
330
|
+
COPY INTO '${bucketType}://${bucketName}/${tableName}/'
|
|
331
|
+
FROM ${tableName}
|
|
332
|
+
${this.exportOptionsClause(options)}`;
|
|
333
|
+
const result = await this.execute(connection, unloadSql, [], false);
|
|
334
|
+
if (!result) {
|
|
335
|
+
throw new Error('Missing `COPY INTO` query result.');
|
|
336
|
+
}
|
|
337
|
+
return types;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Returns an array of table fields meta info.
|
|
341
|
+
*/
|
|
342
|
+
async tableColumnTypes(table) {
|
|
343
|
+
const [schema, name] = table.split('.');
|
|
344
|
+
const columns = await this.query(`SELECT COLUMNS.COLUMN_NAME,
|
|
345
|
+
CASE
|
|
346
|
+
WHEN
|
|
347
|
+
COLUMNS.NUMERIC_SCALE = 0 AND
|
|
348
|
+
COLUMNS.DATA_TYPE = 'NUMBER'
|
|
349
|
+
THEN 'int'
|
|
350
|
+
ELSE COLUMNS.DATA_TYPE
|
|
351
|
+
END as DATA_TYPE
|
|
352
|
+
FROM INFORMATION_SCHEMA.COLUMNS
|
|
353
|
+
WHERE
|
|
354
|
+
TABLE_NAME = ${this.param(0)} AND
|
|
355
|
+
TABLE_SCHEMA = ${this.param(1)}
|
|
356
|
+
ORDER BY ORDINAL_POSITION`, [name.toUpperCase(), schema.toUpperCase()]);
|
|
357
|
+
return columns.map(c => ({
|
|
358
|
+
name: c.COLUMN_NAME,
|
|
359
|
+
type: this.toGenericType(c.DATA_TYPE),
|
|
360
|
+
}));
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Returns export options clause.
|
|
364
|
+
*/
|
|
365
|
+
exportOptionsClause(options) {
|
|
366
|
+
const { bucketType } = this.config.exportBucket;
|
|
266
367
|
const optionsToExport = {
|
|
267
|
-
HEADER: '
|
|
368
|
+
HEADER: 'false',
|
|
268
369
|
INCLUDE_QUERY_ID: 'true',
|
|
269
|
-
// the upper size limit (in bytes) of each file to be generated in parallel per thread
|
|
270
370
|
MAX_FILE_SIZE: (options.maxFileSize * 1024 * 1024).toFixed(),
|
|
271
|
-
FILE_FORMAT: '(
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
371
|
+
FILE_FORMAT: '(' +
|
|
372
|
+
'TYPE = CSV, ' +
|
|
373
|
+
'COMPRESSION = GZIP, ' +
|
|
374
|
+
'FIELD_OPTIONALLY_ENCLOSED_BY = \'"\'' +
|
|
375
|
+
')',
|
|
275
376
|
};
|
|
276
|
-
// eslint-disable-next-line default-case
|
|
277
377
|
switch (bucketType) {
|
|
278
378
|
case 's3':
|
|
279
|
-
{
|
|
280
|
-
const { keyId, secretKey, region } = this.config.exportBucket;
|
|
281
|
-
optionsToExport.CREDENTIALS = `(AWS_KEY_ID = '${keyId}' AWS_SECRET_KEY = '${secretKey}')`;
|
|
282
|
-
unloadExtractor = () => this.extractFilesFromS3(new client_s3_1.S3({
|
|
283
|
-
credentials: {
|
|
284
|
-
accessKeyId: keyId,
|
|
285
|
-
secretAccessKey: secretKey,
|
|
286
|
-
},
|
|
287
|
-
region,
|
|
288
|
-
}), bucketName, exportPathName);
|
|
289
|
-
}
|
|
379
|
+
optionsToExport.CREDENTIALS = `(AWS_KEY_ID = '${this.config.exportBucket.keyId}' AWS_SECRET_KEY = '${this.config.exportBucket.secretKey}')`;
|
|
290
380
|
break;
|
|
291
381
|
case 'gcs':
|
|
292
|
-
|
|
293
|
-
const { integrationName, credentials } = this.config.exportBucket;
|
|
294
|
-
optionsToExport.STORAGE_INTEGRATION = `${integrationName}`;
|
|
295
|
-
unloadExtractor = () => this.extractFilesFromGCS(new storage_1.Storage({
|
|
296
|
-
credentials
|
|
297
|
-
}), bucketName, exportPathName);
|
|
298
|
-
}
|
|
382
|
+
optionsToExport.STORAGE_INTEGRATION = this.config.exportBucket.integrationName;
|
|
299
383
|
break;
|
|
300
384
|
default:
|
|
301
|
-
throw new Error(
|
|
385
|
+
throw new Error('Unsupported export bucket type.');
|
|
302
386
|
}
|
|
303
|
-
const
|
|
387
|
+
const clause = Object.entries(optionsToExport)
|
|
304
388
|
.map(([key, value]) => `${key} = ${value}`)
|
|
305
389
|
.join(' ');
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
390
|
+
return clause;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Returns an array of signed URLs of the unloaded csv files.
|
|
394
|
+
*/
|
|
395
|
+
async getCsvFiles(tableName) {
|
|
396
|
+
const { bucketType, bucketName } = this.config.exportBucket;
|
|
397
|
+
switch (bucketType) {
|
|
398
|
+
case 's3':
|
|
399
|
+
return this.extractFilesFromS3(new client_s3_1.S3({
|
|
400
|
+
credentials: {
|
|
401
|
+
accessKeyId: this.config.exportBucket.keyId,
|
|
402
|
+
secretAccessKey: this.config.exportBucket.secretKey,
|
|
403
|
+
},
|
|
404
|
+
region: this.config.exportBucket.region,
|
|
405
|
+
}), bucketName, tableName);
|
|
406
|
+
case 'gcs':
|
|
407
|
+
return this.extractFilesFromGCS(new storage_1.Storage({
|
|
408
|
+
credentials: this.config.exportBucket.credentials,
|
|
409
|
+
}), bucketName, tableName);
|
|
410
|
+
default:
|
|
411
|
+
throw new Error('Unsupported export bucket type.');
|
|
315
412
|
}
|
|
316
|
-
return unloadExtractor();
|
|
317
413
|
}
|
|
318
|
-
|
|
414
|
+
/**
|
|
415
|
+
* Returns an array of signed AWS S3 URLs of the unloaded csv files.
|
|
416
|
+
*/
|
|
417
|
+
async extractFilesFromS3(storage, bucketName, tableName) {
|
|
319
418
|
const list = await storage.listObjectsV2({
|
|
320
419
|
Bucket: bucketName,
|
|
321
|
-
Prefix:
|
|
420
|
+
Prefix: tableName,
|
|
322
421
|
});
|
|
323
|
-
if (list
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
422
|
+
if (list) {
|
|
423
|
+
if (!list.Contents) {
|
|
424
|
+
return [];
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
const csvFile = await Promise.all(list.Contents.map(async (file) => {
|
|
428
|
+
const command = new client_s3_1.GetObjectCommand({
|
|
429
|
+
Bucket: bucketName,
|
|
430
|
+
Key: file.Key,
|
|
431
|
+
});
|
|
432
|
+
return (0, s3_request_presigner_1.getSignedUrl)(storage, command, { expiresIn: 3600 });
|
|
433
|
+
}));
|
|
434
|
+
return csvFile;
|
|
435
|
+
}
|
|
335
436
|
}
|
|
336
|
-
throw new Error('Unable to
|
|
437
|
+
throw new Error('Unable to unload.');
|
|
337
438
|
}
|
|
338
|
-
|
|
439
|
+
/**
|
|
440
|
+
* Returns an array of signed GCS URLs of the unloaded csv files.
|
|
441
|
+
*/
|
|
442
|
+
async extractFilesFromGCS(storage, bucketName, tableName) {
|
|
339
443
|
const bucket = storage.bucket(bucketName);
|
|
340
|
-
const [files] = await bucket.getFiles({ prefix: `${
|
|
444
|
+
const [files] = await bucket.getFiles({ prefix: `${tableName}/` });
|
|
341
445
|
if (files.length) {
|
|
342
446
|
const csvFile = await Promise.all(files.map(async (file) => {
|
|
343
447
|
const [url] = await file.getSignedUrl({
|
|
@@ -346,14 +450,59 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
346
450
|
});
|
|
347
451
|
return url;
|
|
348
452
|
}));
|
|
349
|
-
return
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
453
|
+
return csvFile;
|
|
454
|
+
}
|
|
455
|
+
else {
|
|
456
|
+
return [];
|
|
353
457
|
}
|
|
354
|
-
throw new Error('Unable to UNLOAD table, there are no files in GCS storage');
|
|
355
458
|
}
|
|
356
|
-
|
|
459
|
+
/**
|
|
460
|
+
* Executes a query and returns either query result memory data or
|
|
461
|
+
* query result stream, depending on options.
|
|
462
|
+
*/
|
|
463
|
+
async downloadQueryResults(query, values, options) {
|
|
464
|
+
if (!options.streamImport) {
|
|
465
|
+
return this.memory(query, values);
|
|
466
|
+
}
|
|
467
|
+
else {
|
|
468
|
+
return this.stream(query, values, options);
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Executes query and returns table memory data that includes rows
|
|
473
|
+
* and queried fields types.
|
|
474
|
+
*/
|
|
475
|
+
async memory(query, values) {
|
|
476
|
+
const connection = await this.getConnection();
|
|
477
|
+
return new Promise((resolve, reject) => connection.execute({
|
|
478
|
+
sqlText: query,
|
|
479
|
+
binds: values,
|
|
480
|
+
fetchAsString: ['Number'],
|
|
481
|
+
complete: (err, stmt, rows) => {
|
|
482
|
+
if (err) {
|
|
483
|
+
reject(err);
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
const hydrationMap = this.generateHydrationMap(stmt.getColumns());
|
|
487
|
+
const types = this.getTypes(stmt);
|
|
488
|
+
if (rows && rows.length && Object.keys(hydrationMap).length) {
|
|
489
|
+
for (const row of rows) {
|
|
490
|
+
for (const [field, toValue] of Object.entries(hydrationMap)) {
|
|
491
|
+
if (row.hasOwnProperty(field)) {
|
|
492
|
+
row[field] = toValue(row[field]);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
resolve({ types, rows: rows || [] });
|
|
498
|
+
}
|
|
499
|
+
}));
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Returns stream table object that includes query result stream and
|
|
503
|
+
* queried fields types.
|
|
504
|
+
*/
|
|
505
|
+
async stream(query, values, _options) {
|
|
357
506
|
const connection = await this.getConnection();
|
|
358
507
|
const stmt = await new Promise((resolve, reject) => connection.execute({
|
|
359
508
|
sqlText: query,
|
|
@@ -373,12 +522,14 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
373
522
|
resolve(statement);
|
|
374
523
|
}
|
|
375
524
|
}));
|
|
525
|
+
const types = this.getTypes(stmt);
|
|
376
526
|
const hydrationMap = this.generateHydrationMap(stmt.getColumns());
|
|
377
527
|
if (Object.keys(hydrationMap).length) {
|
|
378
528
|
const rowStream = new HydrationStream_1.HydrationStream(hydrationMap);
|
|
379
529
|
stmt.streamRows().pipe(rowStream);
|
|
380
530
|
return {
|
|
381
531
|
rowStream,
|
|
532
|
+
types,
|
|
382
533
|
release: async () => {
|
|
383
534
|
//
|
|
384
535
|
}
|
|
@@ -386,11 +537,33 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
386
537
|
}
|
|
387
538
|
return {
|
|
388
539
|
rowStream: stmt.streamRows(),
|
|
540
|
+
types,
|
|
389
541
|
release: async () => {
|
|
390
542
|
//
|
|
391
543
|
}
|
|
392
544
|
};
|
|
393
545
|
}
|
|
546
|
+
getTypes(stmt) {
|
|
547
|
+
return stmt.getColumns().map((column) => {
|
|
548
|
+
const type = {
|
|
549
|
+
name: column.getName().toLowerCase(),
|
|
550
|
+
type: '',
|
|
551
|
+
};
|
|
552
|
+
if (column.isNumber()) {
|
|
553
|
+
// @ts-ignore
|
|
554
|
+
if (column.getScale() === 0) {
|
|
555
|
+
type.type = 'int';
|
|
556
|
+
}
|
|
557
|
+
else {
|
|
558
|
+
type.type = 'decimal';
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
else {
|
|
562
|
+
type.type = this.toGenericType(column.getType());
|
|
563
|
+
}
|
|
564
|
+
return type;
|
|
565
|
+
});
|
|
566
|
+
}
|
|
394
567
|
generateHydrationMap(columns) {
|
|
395
568
|
const hydrationMap = {};
|
|
396
569
|
for (const column of columns) {
|
|
@@ -449,15 +622,6 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
449
622
|
toGenericType(columnType) {
|
|
450
623
|
return SnowflakeToGenericType[columnType.toLowerCase()] || super.toGenericType(columnType);
|
|
451
624
|
}
|
|
452
|
-
async tableColumnTypes(table) {
|
|
453
|
-
const [schema, name] = table.split('.');
|
|
454
|
-
const columns = await this.query(`SELECT COLUMNS.COLUMN_NAME,
|
|
455
|
-
CASE WHEN COLUMNS.NUMERIC_SCALE = 0 AND COLUMNS.DATA_TYPE = 'NUMBER' THEN 'int' ELSE COLUMNS.DATA_TYPE END as DATA_TYPE
|
|
456
|
-
FROM INFORMATION_SCHEMA.COLUMNS
|
|
457
|
-
WHERE TABLE_NAME = ${this.param(0)} AND TABLE_SCHEMA = ${this.param(1)}
|
|
458
|
-
ORDER BY ORDINAL_POSITION`, [name.toUpperCase(), schema.toUpperCase()]);
|
|
459
|
-
return columns.map(c => ({ name: c.COLUMN_NAME, type: this.toGenericType(c.DATA_TYPE) }));
|
|
460
|
-
}
|
|
461
625
|
async getTablesQuery(schemaName) {
|
|
462
626
|
const tables = await super.getTablesQuery(schemaName.toUpperCase());
|
|
463
627
|
return tables.map(t => ({ table_name: t.TABLE_NAME && t.TABLE_NAME.toLowerCase() }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnowflakeDriver.js","sourceRoot":"","sources":["../../src/SnowflakeDriver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SnowflakeDriver.js","sourceRoot":"","sources":["../../src/SnowflakeDriver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@cubejs-backend/snowflake-driver",
|
|
3
3
|
"description": "Cube.js Snowflake database driver",
|
|
4
4
|
"author": "Cube Dev, Inc.",
|
|
5
|
-
"version": "0.32.
|
|
5
|
+
"version": "0.32.30",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/cube-js/cube.git",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@aws-sdk/client-s3": "^3.16.0",
|
|
29
29
|
"@aws-sdk/s3-request-presigner": "^3.16.0",
|
|
30
|
-
"@cubejs-backend/base-driver": "^0.32.
|
|
31
|
-
"@cubejs-backend/shared": "^0.32.
|
|
30
|
+
"@cubejs-backend/base-driver": "^0.32.30",
|
|
31
|
+
"@cubejs-backend/shared": "^0.32.30",
|
|
32
32
|
"@google-cloud/storage": "^5.8.5",
|
|
33
33
|
"date-fns-timezone": "^0.1.4",
|
|
34
34
|
"snowflake-sdk": "^1.6.18"
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"@types/snowflake-sdk": "^1.6.8",
|
|
46
46
|
"typescript": "~4.9.5"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "71afde6187516487d1c38294aae9f494c140fb4a"
|
|
49
49
|
}
|