@cubejs-backend/snowflake-driver 0.32.28 → 0.32.29
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,101 @@ 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>;
|
|
94
171
|
protected generateHydrationMap(columns: Column[]): HydrationMap;
|
|
95
172
|
protected execute<R = unknown>(connection: Connection, query: string, values?: unknown[], rehydrate?: boolean): Promise<R>;
|
|
96
173
|
informationSchemaQuery(): string;
|
|
97
174
|
release(): Promise<void>;
|
|
98
175
|
toGenericType(columnType: string): string;
|
|
99
|
-
tableColumnTypes(table: string): Promise<{
|
|
100
|
-
name: string;
|
|
101
|
-
type: string;
|
|
102
|
-
}[]>;
|
|
103
176
|
getTablesQuery(schemaName: string): Promise<{
|
|
104
177
|
table_name: string | undefined;
|
|
105
178
|
}[]>;
|
|
@@ -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,222 @@ 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 = stmt.getColumns().map((column) => {
|
|
318
|
+
const type = {
|
|
319
|
+
name: column.getName().toLowerCase(),
|
|
320
|
+
type: '',
|
|
321
|
+
};
|
|
322
|
+
if (column.isNumber()) {
|
|
323
|
+
// @ts-ignore
|
|
324
|
+
if (column.getPrecision() === 0) {
|
|
325
|
+
type.type = 'int';
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
type.type = 'decimal';
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
type.type = this.toGenericType(column.getType());
|
|
333
|
+
}
|
|
334
|
+
return type;
|
|
335
|
+
});
|
|
336
|
+
resolve(types);
|
|
337
|
+
},
|
|
338
|
+
}));
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Unload data from a temp table to an export bucket.
|
|
342
|
+
*/
|
|
343
|
+
async unloadWithTable(tableName, options) {
|
|
344
|
+
const types = await this.tableColumnTypes(tableName);
|
|
345
|
+
const connection = await this.getConnection();
|
|
263
346
|
const { bucketType, bucketName } = this.config.exportBucket;
|
|
264
|
-
const
|
|
265
|
-
|
|
347
|
+
const unloadSql = `
|
|
348
|
+
COPY INTO '${bucketType}://${bucketName}/${tableName}/'
|
|
349
|
+
FROM ${tableName}
|
|
350
|
+
${this.exportOptionsClause(options)}`;
|
|
351
|
+
const result = await this.execute(connection, unloadSql, [], false);
|
|
352
|
+
if (!result) {
|
|
353
|
+
throw new Error('Missing `COPY INTO` query result.');
|
|
354
|
+
}
|
|
355
|
+
return types;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Returns an array of table fields meta info.
|
|
359
|
+
*/
|
|
360
|
+
async tableColumnTypes(table) {
|
|
361
|
+
const [schema, name] = table.split('.');
|
|
362
|
+
const columns = await this.query(`SELECT COLUMNS.COLUMN_NAME,
|
|
363
|
+
CASE
|
|
364
|
+
WHEN
|
|
365
|
+
COLUMNS.NUMERIC_SCALE = 0 AND
|
|
366
|
+
COLUMNS.DATA_TYPE = 'NUMBER'
|
|
367
|
+
THEN 'int'
|
|
368
|
+
ELSE COLUMNS.DATA_TYPE
|
|
369
|
+
END as DATA_TYPE
|
|
370
|
+
FROM INFORMATION_SCHEMA.COLUMNS
|
|
371
|
+
WHERE
|
|
372
|
+
TABLE_NAME = ${this.param(0)} AND
|
|
373
|
+
TABLE_SCHEMA = ${this.param(1)}
|
|
374
|
+
ORDER BY ORDINAL_POSITION`, [name.toUpperCase(), schema.toUpperCase()]);
|
|
375
|
+
return columns.map(c => ({
|
|
376
|
+
name: c.COLUMN_NAME,
|
|
377
|
+
type: this.toGenericType(c.DATA_TYPE),
|
|
378
|
+
}));
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Returns export options clause.
|
|
382
|
+
*/
|
|
383
|
+
exportOptionsClause(options) {
|
|
384
|
+
const { bucketType } = this.config.exportBucket;
|
|
266
385
|
const optionsToExport = {
|
|
267
|
-
HEADER: '
|
|
386
|
+
HEADER: 'false',
|
|
268
387
|
INCLUDE_QUERY_ID: 'true',
|
|
269
|
-
// the upper size limit (in bytes) of each file to be generated in parallel per thread
|
|
270
388
|
MAX_FILE_SIZE: (options.maxFileSize * 1024 * 1024).toFixed(),
|
|
271
|
-
FILE_FORMAT: '(
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
389
|
+
FILE_FORMAT: '(' +
|
|
390
|
+
'TYPE = CSV, ' +
|
|
391
|
+
'COMPRESSION = GZIP, ' +
|
|
392
|
+
'FIELD_OPTIONALLY_ENCLOSED_BY = \'"\'' +
|
|
393
|
+
')',
|
|
275
394
|
};
|
|
276
|
-
// eslint-disable-next-line default-case
|
|
277
395
|
switch (bucketType) {
|
|
278
396
|
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
|
-
}
|
|
397
|
+
optionsToExport.CREDENTIALS = `(AWS_KEY_ID = '${this.config.exportBucket.keyId}' AWS_SECRET_KEY = '${this.config.exportBucket.secretKey}')`;
|
|
290
398
|
break;
|
|
291
399
|
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
|
-
}
|
|
400
|
+
optionsToExport.STORAGE_INTEGRATION = this.config.exportBucket.integrationName;
|
|
299
401
|
break;
|
|
300
402
|
default:
|
|
301
|
-
throw new Error(
|
|
403
|
+
throw new Error('Unsupported export bucket type.');
|
|
302
404
|
}
|
|
303
|
-
const
|
|
405
|
+
const clause = Object.entries(optionsToExport)
|
|
304
406
|
.map(([key, value]) => `${key} = ${value}`)
|
|
305
407
|
.join(' ');
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
408
|
+
return clause;
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Returns an array of signed URLs of the unloaded csv files.
|
|
412
|
+
*/
|
|
413
|
+
async getCsvFiles(tableName) {
|
|
414
|
+
const { bucketType, bucketName } = this.config.exportBucket;
|
|
415
|
+
switch (bucketType) {
|
|
416
|
+
case 's3':
|
|
417
|
+
return this.extractFilesFromS3(new client_s3_1.S3({
|
|
418
|
+
credentials: {
|
|
419
|
+
accessKeyId: this.config.exportBucket.keyId,
|
|
420
|
+
secretAccessKey: this.config.exportBucket.secretKey,
|
|
421
|
+
},
|
|
422
|
+
region: this.config.exportBucket.region,
|
|
423
|
+
}), bucketName, tableName);
|
|
424
|
+
case 'gcs':
|
|
425
|
+
return this.extractFilesFromGCS(new storage_1.Storage({
|
|
426
|
+
credentials: this.config.exportBucket.credentials,
|
|
427
|
+
}), bucketName, tableName);
|
|
428
|
+
default:
|
|
429
|
+
throw new Error('Unsupported export bucket type.');
|
|
315
430
|
}
|
|
316
|
-
return unloadExtractor();
|
|
317
431
|
}
|
|
318
|
-
|
|
432
|
+
/**
|
|
433
|
+
* Returns an array of signed AWS S3 URLs of the unloaded csv files.
|
|
434
|
+
*/
|
|
435
|
+
async extractFilesFromS3(storage, bucketName, tableName) {
|
|
319
436
|
const list = await storage.listObjectsV2({
|
|
320
437
|
Bucket: bucketName,
|
|
321
|
-
Prefix:
|
|
438
|
+
Prefix: tableName,
|
|
322
439
|
});
|
|
323
|
-
if (list
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
440
|
+
if (list) {
|
|
441
|
+
if (!list.Contents) {
|
|
442
|
+
return [];
|
|
443
|
+
}
|
|
444
|
+
else {
|
|
445
|
+
const csvFile = await Promise.all(list.Contents.map(async (file) => {
|
|
446
|
+
const command = new client_s3_1.GetObjectCommand({
|
|
447
|
+
Bucket: bucketName,
|
|
448
|
+
Key: file.Key,
|
|
449
|
+
});
|
|
450
|
+
return (0, s3_request_presigner_1.getSignedUrl)(storage, command, { expiresIn: 3600 });
|
|
451
|
+
}));
|
|
452
|
+
return csvFile;
|
|
453
|
+
}
|
|
335
454
|
}
|
|
336
|
-
throw new Error('Unable to
|
|
455
|
+
throw new Error('Unable to unload.');
|
|
337
456
|
}
|
|
338
|
-
|
|
457
|
+
/**
|
|
458
|
+
* Returns an array of signed GCS URLs of the unloaded csv files.
|
|
459
|
+
*/
|
|
460
|
+
async extractFilesFromGCS(storage, bucketName, tableName) {
|
|
339
461
|
const bucket = storage.bucket(bucketName);
|
|
340
|
-
const [files] = await bucket.getFiles({ prefix: `${
|
|
462
|
+
const [files] = await bucket.getFiles({ prefix: `${tableName}/` });
|
|
341
463
|
if (files.length) {
|
|
342
464
|
const csvFile = await Promise.all(files.map(async (file) => {
|
|
343
465
|
const [url] = await file.getSignedUrl({
|
|
@@ -346,14 +468,77 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
346
468
|
});
|
|
347
469
|
return url;
|
|
348
470
|
}));
|
|
349
|
-
return
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
471
|
+
return csvFile;
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
return [];
|
|
353
475
|
}
|
|
354
|
-
throw new Error('Unable to UNLOAD table, there are no files in GCS storage');
|
|
355
476
|
}
|
|
356
|
-
|
|
477
|
+
/**
|
|
478
|
+
* Executes a query and returns either query result memory data or
|
|
479
|
+
* query result stream, depending on options.
|
|
480
|
+
*/
|
|
481
|
+
async downloadQueryResults(query, values, options) {
|
|
482
|
+
if (!options.streamImport) {
|
|
483
|
+
return this.memory(query, values);
|
|
484
|
+
}
|
|
485
|
+
else {
|
|
486
|
+
return this.stream(query, values, options);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Executes query and returns table memory data that includes rows
|
|
491
|
+
* and queried fields types.
|
|
492
|
+
*/
|
|
493
|
+
async memory(query, values) {
|
|
494
|
+
const connection = await this.getConnection();
|
|
495
|
+
return new Promise((resolve, reject) => connection.execute({
|
|
496
|
+
sqlText: query,
|
|
497
|
+
binds: values,
|
|
498
|
+
fetchAsString: ['Number'],
|
|
499
|
+
complete: (err, stmt, rows) => {
|
|
500
|
+
if (err) {
|
|
501
|
+
reject(err);
|
|
502
|
+
return;
|
|
503
|
+
}
|
|
504
|
+
const hydrationMap = this.generateHydrationMap(stmt.getColumns());
|
|
505
|
+
const types = stmt.getColumns().map((column) => {
|
|
506
|
+
const type = {
|
|
507
|
+
name: column.getName().toLowerCase(),
|
|
508
|
+
type: '',
|
|
509
|
+
};
|
|
510
|
+
if (column.isNumber()) {
|
|
511
|
+
// @ts-ignore
|
|
512
|
+
if (column.getPrecision() === 0) {
|
|
513
|
+
type.type = 'int';
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
type.type = 'decimal';
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
else {
|
|
520
|
+
type.type = this.toGenericType(column.getType());
|
|
521
|
+
}
|
|
522
|
+
return type;
|
|
523
|
+
});
|
|
524
|
+
if (rows && rows.length && Object.keys(hydrationMap).length) {
|
|
525
|
+
for (const row of rows) {
|
|
526
|
+
for (const [field, toValue] of Object.entries(hydrationMap)) {
|
|
527
|
+
if (row.hasOwnProperty(field)) {
|
|
528
|
+
row[field] = toValue(row[field]);
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
resolve({ types, rows: rows || [] });
|
|
534
|
+
}
|
|
535
|
+
}));
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Returns stream table object that includes query result stream and
|
|
539
|
+
* queried fields types.
|
|
540
|
+
*/
|
|
541
|
+
async stream(query, values, _options) {
|
|
357
542
|
const connection = await this.getConnection();
|
|
358
543
|
const stmt = await new Promise((resolve, reject) => connection.execute({
|
|
359
544
|
sqlText: query,
|
|
@@ -373,12 +558,32 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
373
558
|
resolve(statement);
|
|
374
559
|
}
|
|
375
560
|
}));
|
|
561
|
+
const types = stmt.getColumns().map((column) => {
|
|
562
|
+
const type = {
|
|
563
|
+
name: column.getName().toLowerCase(),
|
|
564
|
+
type: '',
|
|
565
|
+
};
|
|
566
|
+
if (column.isNumber()) {
|
|
567
|
+
// @ts-ignore
|
|
568
|
+
if (column.getPrecision() === 0) {
|
|
569
|
+
type.type = 'int';
|
|
570
|
+
}
|
|
571
|
+
else {
|
|
572
|
+
type.type = 'decimal';
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
else {
|
|
576
|
+
type.type = this.toGenericType(column.getType());
|
|
577
|
+
}
|
|
578
|
+
return type;
|
|
579
|
+
});
|
|
376
580
|
const hydrationMap = this.generateHydrationMap(stmt.getColumns());
|
|
377
581
|
if (Object.keys(hydrationMap).length) {
|
|
378
582
|
const rowStream = new HydrationStream_1.HydrationStream(hydrationMap);
|
|
379
583
|
stmt.streamRows().pipe(rowStream);
|
|
380
584
|
return {
|
|
381
585
|
rowStream,
|
|
586
|
+
types,
|
|
382
587
|
release: async () => {
|
|
383
588
|
//
|
|
384
589
|
}
|
|
@@ -386,6 +591,7 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
386
591
|
}
|
|
387
592
|
return {
|
|
388
593
|
rowStream: stmt.streamRows(),
|
|
594
|
+
types,
|
|
389
595
|
release: async () => {
|
|
390
596
|
//
|
|
391
597
|
}
|
|
@@ -449,15 +655,6 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
449
655
|
toGenericType(columnType) {
|
|
450
656
|
return SnowflakeToGenericType[columnType.toLowerCase()] || super.toGenericType(columnType);
|
|
451
657
|
}
|
|
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
658
|
async getTablesQuery(schemaName) {
|
|
462
659
|
const tables = await super.getTablesQuery(schemaName.toUpperCase());
|
|
463
660
|
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.29",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/cube-js/cube.git",
|
|
@@ -27,7 +27,7 @@
|
|
|
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.
|
|
30
|
+
"@cubejs-backend/base-driver": "^0.32.29",
|
|
31
31
|
"@cubejs-backend/shared": "^0.32.28",
|
|
32
32
|
"@google-cloud/storage": "^5.8.5",
|
|
33
33
|
"date-fns-timezone": "^0.1.4",
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"@types/snowflake-sdk": "^1.6.8",
|
|
46
46
|
"typescript": "~4.9.5"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "a41aa533c103c818511845b5df727e0502c03114"
|
|
49
49
|
}
|