@cubejs-backend/snowflake-driver 1.7.15 → 1.7.17

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.
@@ -3,10 +3,14 @@
3
3
  * @license Apache-2.0
4
4
  * @fileoverview The `SnowflakeDriver` and related types declaration.
5
5
  */
6
- import snowflake, { Column, Connection } from 'snowflake-sdk';
6
+ /// <reference types="node" />
7
+ import { CancelablePromise } from '@cubejs-backend/shared';
8
+ import snowflake, { Column, Connection, RowStatement, StatementOption } from 'snowflake-sdk';
7
9
  import { BaseDriver, DownloadQueryResultsOptions, DownloadQueryResultsResult, DownloadTableCSVData, DownloadTableMemoryData, DriverCapabilities, DriverInterface, StreamOptions, StreamTableDataWithTypes, TableStructure, UnloadOptions } from '@cubejs-backend/base-driver';
10
+ import { Readable } from 'stream';
8
11
  import { HydrationMap } from './HydrationStream';
9
- interface SnowflakeDriverExportAWS {
12
+ export declare const CANCEL_ACK_TIMEOUT: number;
13
+ export interface SnowflakeDriverExportAWS {
10
14
  bucketType: 's3';
11
15
  bucketName: string;
12
16
  keyId?: string;
@@ -14,13 +18,13 @@ interface SnowflakeDriverExportAWS {
14
18
  region: string;
15
19
  integrationName?: string;
16
20
  }
17
- interface SnowflakeDriverExportGCS {
21
+ export interface SnowflakeDriverExportGCS {
18
22
  bucketType: 'gcs';
19
23
  integrationName: string;
20
24
  bucketName: string;
21
25
  credentials: any;
22
26
  }
23
- interface SnowflakeDriverExportAzure {
27
+ export interface SnowflakeDriverExportAzure {
24
28
  bucketType: 'azure';
25
29
  bucketName: string;
26
30
  azureKey?: string;
@@ -40,7 +44,7 @@ interface SnowflakeDriverExportAzure {
40
44
  tokenFilePath?: string;
41
45
  }
42
46
  export type SnowflakeDriverExportBucket = SnowflakeDriverExportAWS | SnowflakeDriverExportGCS | SnowflakeDriverExportAzure;
43
- interface SnowflakeDriverOptions {
47
+ export interface SnowflakeDriverOptions {
44
48
  host?: string;
45
49
  account: string;
46
50
  username: string;
@@ -70,17 +74,7 @@ interface SnowflakeDriverOptions {
70
74
  exportBucketCsvEscapeSymbol?: string;
71
75
  }
72
76
  type SessionParameterValue = string | number | boolean | undefined;
73
- /**
74
- * Snowflake driver class.
75
- *
76
- * Attention:
77
- * Snowflake is using UPPER_CASE for table, schema and column names
78
- * Similar to data in response, column_name will be COLUMN_NAME
79
- */
80
77
  export declare class SnowflakeDriver extends BaseDriver implements DriverInterface {
81
- /**
82
- * Returns default concurrency value.
83
- */
84
78
  static getDefaultConcurrency(): number;
85
79
  /**
86
80
  * Returns the configurable driver options
@@ -90,9 +84,6 @@ export declare class SnowflakeDriver extends BaseDriver implements DriverInterfa
90
84
  static driverEnvVariables(): string[];
91
85
  protected connection: Promise<Connection> | null;
92
86
  protected readonly config: SnowflakeDriverOptions;
93
- /**
94
- * Class constructor.
95
- */
96
87
  constructor(config?: Partial<SnowflakeDriverOptions> & {
97
88
  /**
98
89
  * Data source name.
@@ -146,8 +137,9 @@ export declare class SnowflakeDriver extends BaseDriver implements DriverInterfa
146
137
  protected getConnection(): Promise<Connection>;
147
138
  /**
148
139
  * Executes query and returns queried rows.
140
+ * Returns a cancelable promise that will abort the Snowflake statement on cancel.
149
141
  */
150
- query<R = unknown>(query: string, values?: unknown[]): Promise<R>;
142
+ query<R = unknown>(query: string, values?: unknown[]): CancelablePromise<R>;
151
143
  /**
152
144
  * Determines whether export bucket feature is configured or not.
153
145
  */
@@ -165,7 +157,7 @@ export declare class SnowflakeDriver extends BaseDriver implements DriverInterfa
165
157
  /**
166
158
  * Returns an array of queried fields meta info.
167
159
  */
168
- queryColumnTypes(sql: string, params: unknown[]): Promise<TableStructure>;
160
+ queryColumnTypes(sql: string, params: unknown[]): CancelablePromise<TableStructure>;
169
161
  /**
170
162
  * Unload data from a temp table to an export bucket.
171
163
  */
@@ -189,22 +181,25 @@ export declare class SnowflakeDriver extends BaseDriver implements DriverInterfa
189
181
  * Executes a query and returns either query result memory data or
190
182
  * query result stream, depending on options.
191
183
  */
192
- downloadQueryResults(query: string, values: unknown[], options: DownloadQueryResultsOptions): Promise<DownloadQueryResultsResult>;
184
+ downloadQueryResults(query: string, values: unknown[], options: DownloadQueryResultsOptions): CancelablePromise<DownloadQueryResultsResult>;
193
185
  /**
194
186
  * Executes query and returns table memory data that includes rows
195
187
  * and queried fields types.
196
188
  */
197
- memory(query: string, values: unknown[]): Promise<DownloadTableMemoryData & {
189
+ memory(query: string, values: unknown[]): CancelablePromise<DownloadTableMemoryData & {
198
190
  types: TableStructure;
199
191
  }>;
200
192
  /**
201
193
  * Returns stream table object that includes query result stream and
202
194
  * queried fields types.
203
195
  */
204
- stream(query: string, values: unknown[], _options: StreamOptions): Promise<StreamTableDataWithTypes>;
196
+ stream(query: string, values: unknown[], _options: StreamOptions): CancelablePromise<StreamTableDataWithTypes>;
197
+ protected buildRowStream(source: Readable, hydrationMap: HydrationMap): Readable;
205
198
  private getTypes;
206
199
  protected generateHydrationMap(columns: Column[]): HydrationMap;
207
- protected execute<R = unknown>(connection: Connection, query: string, values?: unknown[], rehydrate?: boolean): Promise<R>;
200
+ protected cancelStatement(stmt: RowStatement): Promise<void>;
201
+ protected executeCancelable<R>(connectionPromise: Promise<Connection>, options: Omit<StatementOption, 'complete'>, onComplete: (stmt: RowStatement, rows: any[] | undefined) => R | PromiseLike<R>): CancelablePromise<R>;
202
+ protected execute<R = unknown>(connection: Connection | Promise<Connection>, query: string, values?: unknown[], rehydrate?: boolean): CancelablePromise<R>;
208
203
  informationSchemaQuery(): string;
209
204
  release(): Promise<void>;
210
205
  protected toGenericType(columnType: string, precision?: number | null, scale?: number | null): string;
@@ -1 +1 @@
1
- {"version":3,"file":"SnowflakeDriver.d.ts","sourceRoot":"","sources":["../../src/SnowflakeDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SnowflakeDriver.d.ts","sourceRoot":"","sources":["../../src/SnowflakeDriver.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  return (mod && mod.__esModule) ? mod : { "default": mod };
9
9
  };
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.SnowflakeDriver = void 0;
11
+ exports.SnowflakeDriver = exports.CANCEL_ACK_TIMEOUT = void 0;
12
12
  const shared_1 = require("@cubejs-backend/shared");
13
13
  const snowflake_sdk_1 = __importDefault(require("snowflake-sdk"));
14
14
  const base_driver_1 = require("@cubejs-backend/base-driver");
@@ -17,6 +17,13 @@ const crypto_1 = __importDefault(require("crypto"));
17
17
  const HydrationStream_1 = require("./HydrationStream");
18
18
  const type_parsers_1 = require("./type-parsers");
19
19
  const SUPPORTED_BUCKET_TYPES = ['s3', 'gcs', 'azure'];
20
+ exports.CANCEL_ACK_TIMEOUT = 30 * 1000;
21
+ const FETCH_AS_STRING = [
22
+ // It's not possible to store big numbers in Number, It's a common way how to handle it in Cube
23
+ 'Number',
24
+ // VARIANT, OBJECT, ARRAY are mapped to JSON type in Snowflake SDK
25
+ 'JSON',
26
+ ];
20
27
  const SnowflakeToGenericType = {
21
28
  // It's a limitation for now, because anyway we don't work with JSON objects in Cube Store.
22
29
  object: 'HLL_SNOWFLAKE',
@@ -26,17 +33,7 @@ const SnowflakeToGenericType = {
26
33
  fixed: 'decimal',
27
34
  timestamp_ntz: 'timestamp'
28
35
  };
29
- /**
30
- * Snowflake driver class.
31
- *
32
- * Attention:
33
- * Snowflake is using UPPER_CASE for table, schema and column names
34
- * Similar to data in response, column_name will be COLUMN_NAME
35
- */
36
36
  class SnowflakeDriver extends base_driver_1.BaseDriver {
37
- /**
38
- * Returns default concurrency value.
39
- */
40
37
  static getDefaultConcurrency() {
41
38
  return 8;
42
39
  }
@@ -67,9 +64,6 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
67
64
  }
68
65
  connection = null;
69
66
  config;
70
- /**
71
- * Class constructor.
72
- */
73
67
  constructor(config = {}) {
74
68
  super({
75
69
  testConnectionTimeout: config.testConnectionTimeout,
@@ -325,9 +319,10 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
325
319
  }
326
320
  /**
327
321
  * Executes query and returns queried rows.
322
+ * Returns a cancelable promise that will abort the Snowflake statement on cancel.
328
323
  */
329
- async query(query, values) {
330
- return this.getConnection().then((connection) => this.execute(connection, query, values));
324
+ query(query, values) {
325
+ return this.execute(this.getConnection(), query, values);
331
326
  }
332
327
  /**
333
328
  * Determines whether export bucket feature is configured or not.
@@ -402,26 +397,12 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
402
397
  /**
403
398
  * Returns an array of queried fields meta info.
404
399
  */
405
- async queryColumnTypes(sql, params) {
406
- const connection = await this.getConnection();
407
- return new Promise((resolve, reject) => connection.execute({
400
+ queryColumnTypes(sql, params) {
401
+ return this.executeCancelable(this.getConnection(), {
408
402
  sqlText: `${sql} LIMIT 0`,
409
403
  binds: params,
410
- fetchAsString: [
411
- // It's not possible to store big numbers in Number, It's a common way how to handle it in Cube
412
- 'Number',
413
- // VARIANT, OBJECT, ARRAY are mapped to JSON type in Snowflake SDK
414
- 'JSON'
415
- ],
416
- complete: (err, stmt) => {
417
- if (err) {
418
- reject(err);
419
- return;
420
- }
421
- const types = this.getTypes(stmt);
422
- resolve(types);
423
- },
424
- }));
404
+ fetchAsString: FETCH_AS_STRING,
405
+ }, (stmt) => this.getTypes(stmt));
425
406
  }
426
407
  /**
427
408
  * Unload data from a temp table to an export bucket.
@@ -557,7 +538,7 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
557
538
  * Executes a query and returns either query result memory data or
558
539
  * query result stream, depending on options.
559
540
  */
560
- async downloadQueryResults(query, values, options) {
541
+ downloadQueryResults(query, values, options) {
561
542
  if (!options.streamImport) {
562
543
  return this.memory(query, values);
563
544
  }
@@ -569,81 +550,80 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
569
550
  * Executes query and returns table memory data that includes rows
570
551
  * and queried fields types.
571
552
  */
572
- async memory(query, values) {
573
- const connection = await this.getConnection();
574
- return new Promise((resolve, reject) => connection.execute({
553
+ memory(query, values) {
554
+ return this.executeCancelable(this.getConnection(), {
575
555
  sqlText: query,
576
556
  binds: values,
577
- fetchAsString: [
578
- // It's not possible to store big numbers in Number, It's a common way how to handle it in Cube
579
- 'Number',
580
- // VARIANT, OBJECT, ARRAY are mapped to JSON type in Snowflake SDK
581
- 'JSON'
582
- ],
583
- complete: (err, stmt, rows) => {
584
- if (err) {
585
- reject(err);
586
- return;
587
- }
588
- const hydrationMap = this.generateHydrationMap(stmt.getColumns() ?? []);
589
- const types = this.getTypes(stmt);
590
- if (rows?.length && Object.keys(hydrationMap).length) {
591
- for (const row of rows) {
592
- for (const [field, toValue] of Object.entries(hydrationMap)) {
593
- if (row.hasOwnProperty(field)) {
594
- row[field] = toValue(row[field]);
595
- }
557
+ fetchAsString: FETCH_AS_STRING,
558
+ }, (stmt, rows) => {
559
+ const hydrationMap = this.generateHydrationMap(stmt.getColumns() ?? []);
560
+ const types = this.getTypes(stmt);
561
+ if (rows?.length && Object.keys(hydrationMap).length) {
562
+ for (const row of rows) {
563
+ for (const [field, toValue] of Object.entries(hydrationMap)) {
564
+ if (row.hasOwnProperty(field)) {
565
+ row[field] = toValue(row[field]);
596
566
  }
597
567
  }
598
568
  }
599
- resolve({ types, rows: rows || [] });
600
569
  }
601
- }));
570
+ return { types, rows: rows || [] };
571
+ });
602
572
  }
603
573
  /**
604
574
  * Returns stream table object that includes query result stream and
605
575
  * queried fields types.
606
576
  */
607
- async stream(query, values, _options) {
608
- const connection = await this.getConnection();
609
- const stmt = await new Promise((resolve, reject) => connection.execute({
577
+ stream(query, values, _options) {
578
+ const stmtPromise = this.executeCancelable(this.getConnection(), {
610
579
  sqlText: query,
611
580
  binds: values,
612
- fetchAsString: [
613
- // It's not possible to store big numbers in Number, It's a common way how to handle it in Cube
614
- 'Number',
615
- // VARIANT, OBJECT, ARRAY are mapped to JSON type in Snowflake SDK
616
- 'JSON'
617
- ],
581
+ fetchAsString: FETCH_AS_STRING,
618
582
  streamResult: true,
619
- complete: (err, statement) => {
620
- if (err) {
621
- reject(err);
622
- return;
623
- }
624
- resolve(statement);
625
- }
626
- }));
627
- const types = this.getTypes(stmt);
628
- const hydrationMap = this.generateHydrationMap(stmt.getColumns() ?? []);
629
- if (Object.keys(hydrationMap).length) {
630
- const rowStream = new HydrationStream_1.HydrationStream(hydrationMap);
631
- stmt.streamRows().pipe(rowStream);
583
+ }, (stmt) => stmt);
584
+ // Reused by release() below. It is idempotent and a no-op once the
585
+ // statement settled, so a stream that finished normally is never
586
+ // needlessly aborted, and release() + cancel() cannot double-abort.
587
+ const abort = stmtPromise.cancel;
588
+ const promise = stmtPromise.then((stmt) => {
589
+ const types = this.getTypes(stmt);
590
+ const hydrationMap = this.generateHydrationMap(stmt.getColumns() ?? []);
591
+ const sourceStream = stmt.streamRows();
592
+ const rowStream = this.buildRowStream(sourceStream, hydrationMap);
632
593
  return {
633
594
  rowStream,
634
595
  types,
635
596
  release: async () => {
636
- //
637
- }
597
+ // No-op when the statement already completed, which is the normal
598
+ // path: QueryCache's streamHandler calls release() from
599
+ // rowStream.once('end'). Only reaches Snowflake when the consumer
600
+ // bailed out before the statement finished.
601
+ await abort();
602
+ // .pipe() does not propagate destroy() upstream, so stop the SDK's
603
+ // pull-based chunk downloader explicitly.
604
+ if (!sourceStream.readableEnded) {
605
+ sourceStream.destroy();
606
+ }
607
+ if (rowStream !== sourceStream && !rowStream.readableEnded) {
608
+ rowStream.destroy();
609
+ }
610
+ },
638
611
  };
612
+ });
613
+ promise.cancel = abort;
614
+ return promise;
615
+ }
616
+ buildRowStream(source, hydrationMap) {
617
+ if (!Object.keys(hydrationMap).length) {
618
+ return source;
639
619
  }
640
- return {
641
- rowStream: stmt.streamRows(),
642
- types,
643
- release: async () => {
644
- //
645
- }
646
- };
620
+ const rowStream = new HydrationStream_1.HydrationStream(hydrationMap);
621
+ // Attached before pipe() resumes the source, so no failure can land before
622
+ // anyone is listening. destroy() on an already destroyed stream is a no-op,
623
+ // which is what keeps a failure arriving after release() silent instead of
624
+ // surfacing on a stream the consumer has already finished with.
625
+ source.on('error', (err) => rowStream.destroy(err));
626
+ return source.pipe(rowStream);
647
627
  }
648
628
  getTypes(stmt) {
649
629
  return (stmt.getColumns() ?? []).map((column) => {
@@ -682,36 +662,102 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
682
662
  }
683
663
  return hydrationMap;
684
664
  }
685
- async execute(connection, query, values, rehydrate = true) {
686
- return new Promise((resolve, reject) => connection.execute({
687
- sqlText: query,
688
- binds: values,
689
- fetchAsString: [
690
- // It's not possible to store big numbers in Number, It's a common way how to handle it in Cube
691
- 'Number',
692
- // VARIANT, OBJECT, ARRAY are mapped to JSON type in Snowflake SDK
693
- 'JSON'
694
- ],
695
- complete: (err, stmt, rows) => {
696
- if (err) {
697
- reject(err);
665
+ cancelStatement(stmt) {
666
+ return new Promise((resolve) => {
667
+ let timer;
668
+ let settled = false;
669
+ const finish = (warning, error) => {
670
+ // The SDK is free to call back after the timeout has already given up,
671
+ // and a synchronous throw can land after the callback fired.
672
+ if (settled) {
698
673
  return;
699
674
  }
700
- if (rehydrate && rows?.length) {
701
- const hydrationMap = this.generateHydrationMap(stmt.getColumns() ?? []);
702
- if (Object.keys(hydrationMap).length) {
703
- for (const row of rows) {
704
- for (const [field, toValue] of Object.entries(hydrationMap)) {
705
- if (row.hasOwnProperty(field)) {
706
- row[field] = toValue(row[field]);
707
- }
675
+ settled = true;
676
+ if (timer) {
677
+ clearTimeout(timer);
678
+ }
679
+ if (warning && this.logger) {
680
+ this.logger(warning, {
681
+ queryId: stmt.getQueryId(),
682
+ ...(error !== undefined && {
683
+ error: (error?.stack || error?.message || error)?.toString(),
684
+ }),
685
+ });
686
+ }
687
+ resolve();
688
+ };
689
+ timer = setTimeout(() => finish('Snowflake statement cancel timeout'), exports.CANCEL_ACK_TIMEOUT);
690
+ try {
691
+ stmt.cancel((err) => finish(err ? 'Snowflake statement cancel error' : undefined, err));
692
+ }
693
+ catch (e) {
694
+ finish('Snowflake statement cancel error', e);
695
+ }
696
+ });
697
+ }
698
+ executeCancelable(connectionPromise, options, onComplete) {
699
+ let stmt;
700
+ let cancelled = false;
701
+ let settled = false;
702
+ const promise = (async () => {
703
+ const connection = await connectionPromise;
704
+ if (cancelled) {
705
+ // Cancelled while we were still connecting - never issue the statement.
706
+ throw new Error('Query was cancelled');
707
+ }
708
+ return new Promise((resolve, reject) => {
709
+ stmt = connection.execute({
710
+ ...options,
711
+ complete: (err, statement, rows) => {
712
+ settled = true;
713
+ if (cancelled) {
714
+ // Snowflake reports its own `SQL execution canceled.` here.
715
+ // Normalize it so callers see one consistent message, and so a
716
+ // query that happened to succeed microseconds before the abort
717
+ // landed does not return a result nobody is waiting for anymore.
718
+ reject(new Error('Query was cancelled'));
719
+ return;
720
+ }
721
+ if (err) {
722
+ reject(err);
723
+ return;
724
+ }
725
+ resolve(onComplete(statement, rows));
726
+ },
727
+ });
728
+ });
729
+ })();
730
+ promise.cancel = async () => {
731
+ if (cancelled || settled) {
732
+ return;
733
+ }
734
+ cancelled = true;
735
+ if (stmt) {
736
+ await this.cancelStatement(stmt);
737
+ }
738
+ };
739
+ return promise;
740
+ }
741
+ execute(connection, query, values, rehydrate = true) {
742
+ return this.executeCancelable(Promise.resolve(connection), {
743
+ sqlText: query,
744
+ binds: values,
745
+ fetchAsString: FETCH_AS_STRING,
746
+ }, (stmt, rows) => {
747
+ if (rehydrate && rows?.length) {
748
+ const hydrationMap = this.generateHydrationMap(stmt.getColumns() ?? []);
749
+ if (Object.keys(hydrationMap).length) {
750
+ for (const row of rows) {
751
+ for (const [field, toValue] of Object.entries(hydrationMap)) {
752
+ if (row.hasOwnProperty(field)) {
753
+ row[field] = toValue(row[field]);
708
754
  }
709
755
  }
710
756
  }
711
757
  }
712
- resolve(rows);
713
758
  }
714
- }));
759
+ return rows;
760
+ });
715
761
  }
716
762
  informationSchemaQuery() {
717
763
  return `
@@ -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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"}
@@ -1,4 +1,5 @@
1
1
  import { SnowflakeDriver } from './SnowflakeDriver';
2
- export * from './SnowflakeDriver';
2
+ export { SnowflakeDriver } from './SnowflakeDriver';
3
+ export type { SnowflakeDriverOptions, SnowflakeDriverExportBucket, SnowflakeDriverExportAWS, SnowflakeDriverExportGCS, SnowflakeDriverExportAzure, } from './SnowflakeDriver';
3
4
  export default SnowflakeDriver;
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,cAAc,mBAAmB,CAAC;AAElC,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,YAAY,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,eAAe,eAAe,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,20 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SnowflakeDriver = void 0;
17
4
  const SnowflakeDriver_1 = require("./SnowflakeDriver");
18
- __exportStar(require("./SnowflakeDriver"), exports);
5
+ var SnowflakeDriver_2 = require("./SnowflakeDriver");
6
+ Object.defineProperty(exports, "SnowflakeDriver", { enumerable: true, get: function () { return SnowflakeDriver_2.SnowflakeDriver; } });
19
7
  exports.default = SnowflakeDriver_1.SnowflakeDriver;
20
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAoD;AAEpD,oDAAkC;AAElC,kBAAe,iCAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAEpD,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAUxB,kBAAe,iCAAe,CAAC"}
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": "1.7.15",
5
+ "version": "1.7.17",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.git",
@@ -21,15 +21,16 @@
21
21
  "build": "rm -rf dist && npm run tsc",
22
22
  "tsc": "tsc",
23
23
  "watch": "tsc -w",
24
- "integration": "vitest run",
25
- "integration:snowflake": "vitest run",
24
+ "unit": "vitest run test/unit",
25
+ "integration": "npm run integration:snowflake",
26
+ "integration:snowflake": "vitest run test/SnowflakeDriver.test.ts",
26
27
  "lint": "eslint src/* --ext .ts",
27
28
  "lint:fix": "eslint --fix src/* --ext .ts"
28
29
  },
29
30
  "dependencies": {
30
31
  "@aws-sdk/client-s3": "^3.726.0",
31
- "@cubejs-backend/base-driver": "1.7.15",
32
- "@cubejs-backend/shared": "1.7.15",
32
+ "@cubejs-backend/base-driver": "1.7.17",
33
+ "@cubejs-backend/shared": "1.7.17",
33
34
  "snowflake-sdk": "^2.4.0"
34
35
  },
35
36
  "license": "Apache-2.0",
@@ -40,9 +41,9 @@
40
41
  "extends": "../cubejs-linter"
41
42
  },
42
43
  "devDependencies": {
43
- "@cubejs-backend/linter": "1.7.15",
44
+ "@cubejs-backend/linter": "1.7.17",
44
45
  "typescript": "~5.2.2",
45
46
  "vitest": "^4"
46
47
  },
47
- "gitHead": "6ca51d83b521e7fdb265b5c7c26faff17a7758e6"
48
+ "gitHead": "0f7df52147ff3b88bd88adb1897dbeb819b7cfeb"
48
49
  }