@cubejs-backend/snowflake-driver 1.6.39 → 1.6.40
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.
- package/dist/src/SnowflakeDriver.d.ts.map +1 -1
- package/dist/src/SnowflakeDriver.js +26 -60
- package/dist/src/SnowflakeDriver.js.map +1 -1
- package/dist/src/type-parsers.d.ts +8 -0
- package/dist/src/type-parsers.d.ts.map +1 -0
- package/dist/src/type-parsers.js +61 -0
- package/dist/src/type-parsers.js.map +1 -0
- package/package.json +11 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnowflakeDriver.d.ts","sourceRoot":"","sources":["../../src/SnowflakeDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AAC5E,OAAO,EACL,UAAU,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EAEf,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,aAAa,EACd,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"SnowflakeDriver.d.ts","sourceRoot":"","sources":["../../src/SnowflakeDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,61 +12,11 @@ exports.SnowflakeDriver = 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");
|
|
15
|
-
const date_fns_timezone_1 = require("date-fns-timezone");
|
|
16
15
|
const promises_1 = __importDefault(require("fs/promises"));
|
|
17
16
|
const crypto_1 = __importDefault(require("crypto"));
|
|
18
17
|
const HydrationStream_1 = require("./HydrationStream");
|
|
18
|
+
const type_parsers_1 = require("./type-parsers");
|
|
19
19
|
const SUPPORTED_BUCKET_TYPES = ['s3', 'gcs', 'azure'];
|
|
20
|
-
// It's not possible to declare own map converters by passing config to snowflake-sdk
|
|
21
|
-
const hydrators = [
|
|
22
|
-
{
|
|
23
|
-
types: ['fixed', 'real'],
|
|
24
|
-
toValue: (column) => {
|
|
25
|
-
if (column.isNullable()) {
|
|
26
|
-
return (value) => {
|
|
27
|
-
// We use numbers as strings by fetchAsString
|
|
28
|
-
if (value === 'NULL') {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
return value;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
// Nothing to fix, let's skip this field
|
|
35
|
-
return null;
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
// The TIMESTAMP_* variation associated with TIMESTAMP, default to TIMESTAMP_NTZ
|
|
40
|
-
types: [
|
|
41
|
-
'date',
|
|
42
|
-
// TIMESTAMP_LTZ internally stores UTC time with a specified precision.
|
|
43
|
-
'timestamp_ltz',
|
|
44
|
-
// TIMESTAMP_NTZ internally stores “wallclock” time with a specified precision.
|
|
45
|
-
// All operations are performed without taking any time zone into account.
|
|
46
|
-
'timestamp_ntz',
|
|
47
|
-
// TIMESTAMP_TZ internally stores UTC time together with an associated time zone offset.
|
|
48
|
-
// When a time zone is not provided, the session time zone offset is used.
|
|
49
|
-
'timestamp_tz'
|
|
50
|
-
],
|
|
51
|
-
toValue: () => (value) => {
|
|
52
|
-
if (!value) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
return (0, date_fns_timezone_1.formatToTimeZone)(value, 'YYYY-MM-DDTHH:mm:ss.SSS', {
|
|
56
|
-
timeZone: 'UTC'
|
|
57
|
-
});
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
types: ['object'],
|
|
62
|
-
toValue: () => (value) => {
|
|
63
|
-
if (!value) {
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
return JSON.stringify(value);
|
|
67
|
-
},
|
|
68
|
-
}
|
|
69
|
-
];
|
|
70
20
|
const SnowflakeToGenericType = {
|
|
71
21
|
// It's a limitation for now, because anyway we don't work with JSON objects in Cube Store.
|
|
72
22
|
object: 'HLL_SNOWFLAKE',
|
|
@@ -443,7 +393,12 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
443
393
|
return new Promise((resolve, reject) => connection.execute({
|
|
444
394
|
sqlText: `${sql} LIMIT 0`,
|
|
445
395
|
binds: params,
|
|
446
|
-
fetchAsString: [
|
|
396
|
+
fetchAsString: [
|
|
397
|
+
// It's not possible to store big numbers in Number, It's a common way how to handle it in Cube
|
|
398
|
+
'Number',
|
|
399
|
+
// VARIANT, OBJECT, ARRAY are mapped to JSON type in Snowflake SDK
|
|
400
|
+
'JSON'
|
|
401
|
+
],
|
|
447
402
|
complete: (err, stmt) => {
|
|
448
403
|
if (err) {
|
|
449
404
|
reject(err);
|
|
@@ -605,13 +560,18 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
605
560
|
return new Promise((resolve, reject) => connection.execute({
|
|
606
561
|
sqlText: query,
|
|
607
562
|
binds: values,
|
|
608
|
-
fetchAsString: [
|
|
563
|
+
fetchAsString: [
|
|
564
|
+
// It's not possible to store big numbers in Number, It's a common way how to handle it in Cube
|
|
565
|
+
'Number',
|
|
566
|
+
// VARIANT, OBJECT, ARRAY are mapped to JSON type in Snowflake SDK
|
|
567
|
+
'JSON'
|
|
568
|
+
],
|
|
609
569
|
complete: (err, stmt, rows) => {
|
|
610
570
|
if (err) {
|
|
611
571
|
reject(err);
|
|
612
572
|
return;
|
|
613
573
|
}
|
|
614
|
-
const hydrationMap = this.generateHydrationMap(stmt.getColumns());
|
|
574
|
+
const hydrationMap = this.generateHydrationMap(stmt.getColumns() ?? []);
|
|
615
575
|
const types = this.getTypes(stmt);
|
|
616
576
|
if (rows?.length && Object.keys(hydrationMap).length) {
|
|
617
577
|
for (const row of rows) {
|
|
@@ -636,7 +596,7 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
636
596
|
sqlText: query,
|
|
637
597
|
binds: values,
|
|
638
598
|
fetchAsString: [
|
|
639
|
-
// It's not possible to store big numbers in Number, It's a common way how to handle it in Cube
|
|
599
|
+
// It's not possible to store big numbers in Number, It's a common way how to handle it in Cube
|
|
640
600
|
'Number',
|
|
641
601
|
// VARIANT, OBJECT, ARRAY are mapped to JSON type in Snowflake SDK
|
|
642
602
|
'JSON'
|
|
@@ -651,7 +611,7 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
651
611
|
}
|
|
652
612
|
}));
|
|
653
613
|
const types = this.getTypes(stmt);
|
|
654
|
-
const hydrationMap = this.generateHydrationMap(stmt.getColumns());
|
|
614
|
+
const hydrationMap = this.generateHydrationMap(stmt.getColumns() ?? []);
|
|
655
615
|
if (Object.keys(hydrationMap).length) {
|
|
656
616
|
const rowStream = new HydrationStream_1.HydrationStream(hydrationMap);
|
|
657
617
|
stmt.streamRows().pipe(rowStream);
|
|
@@ -672,7 +632,7 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
672
632
|
};
|
|
673
633
|
}
|
|
674
634
|
getTypes(stmt) {
|
|
675
|
-
return stmt.getColumns().map((column) => {
|
|
635
|
+
return (stmt.getColumns() ?? []).map((column) => {
|
|
676
636
|
const type = {
|
|
677
637
|
name: column.getName().toLowerCase(),
|
|
678
638
|
type: '',
|
|
@@ -696,12 +656,13 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
696
656
|
generateHydrationMap(columns) {
|
|
697
657
|
const hydrationMap = {};
|
|
698
658
|
for (const column of columns) {
|
|
699
|
-
for (const hydrator of hydrators) {
|
|
659
|
+
for (const hydrator of type_parsers_1.hydrators) {
|
|
700
660
|
if (hydrator.types.includes(column.getType())) {
|
|
701
661
|
const fnOrNull = hydrator.toValue(column);
|
|
702
662
|
if (fnOrNull) {
|
|
703
663
|
hydrationMap[column.getName()] = fnOrNull;
|
|
704
664
|
}
|
|
665
|
+
break;
|
|
705
666
|
}
|
|
706
667
|
}
|
|
707
668
|
}
|
|
@@ -711,14 +672,19 @@ class SnowflakeDriver extends base_driver_1.BaseDriver {
|
|
|
711
672
|
return new Promise((resolve, reject) => connection.execute({
|
|
712
673
|
sqlText: query,
|
|
713
674
|
binds: values,
|
|
714
|
-
fetchAsString: [
|
|
675
|
+
fetchAsString: [
|
|
676
|
+
// It's not possible to store big numbers in Number, It's a common way how to handle it in Cube
|
|
677
|
+
'Number',
|
|
678
|
+
// VARIANT, OBJECT, ARRAY are mapped to JSON type in Snowflake SDK
|
|
679
|
+
'JSON'
|
|
680
|
+
],
|
|
715
681
|
complete: (err, stmt, rows) => {
|
|
716
682
|
if (err) {
|
|
717
683
|
reject(err);
|
|
718
684
|
return;
|
|
719
685
|
}
|
|
720
686
|
if (rehydrate && rows?.length) {
|
|
721
|
-
const hydrationMap = this.generateHydrationMap(stmt.getColumns());
|
|
687
|
+
const hydrationMap = this.generateHydrationMap(stmt.getColumns() ?? []);
|
|
722
688
|
if (Object.keys(hydrationMap).length) {
|
|
723
689
|
for (const row of rows) {
|
|
724
690
|
for (const [field, toValue] of Object.entries(hydrationMap)) {
|
|
@@ -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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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Column } from 'snowflake-sdk';
|
|
2
|
+
export type HydrationConfiguration = {
|
|
3
|
+
types: string[];
|
|
4
|
+
toValue: (column: Column) => ((value: any) => any) | null;
|
|
5
|
+
};
|
|
6
|
+
export declare function formatUtcTimestamp(value: Date): string;
|
|
7
|
+
export declare const hydrators: HydrationConfiguration[];
|
|
8
|
+
//# sourceMappingURL=type-parsers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-parsers.d.ts","sourceRoot":"","sources":["../../src/type-parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,CAAA;CAC3E,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAStD;AAGD,eAAO,MAAM,SAAS,EAAE,sBAAsB,EA8C7C,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hydrators = exports.formatUtcTimestamp = void 0;
|
|
4
|
+
const shared_1 = require("@cubejs-backend/shared");
|
|
5
|
+
function formatUtcTimestamp(value) {
|
|
6
|
+
const y = (0, shared_1.pad4)(value.getUTCFullYear());
|
|
7
|
+
const mo = (0, shared_1.pad2)(value.getUTCMonth() + 1);
|
|
8
|
+
const d = (0, shared_1.pad2)(value.getUTCDate());
|
|
9
|
+
const h = (0, shared_1.pad2)(value.getUTCHours());
|
|
10
|
+
const mi = (0, shared_1.pad2)(value.getUTCMinutes());
|
|
11
|
+
const s = (0, shared_1.pad2)(value.getUTCSeconds());
|
|
12
|
+
const ms = (0, shared_1.pad3)(value.getUTCMilliseconds());
|
|
13
|
+
return `${y}-${mo}-${d}T${h}:${mi}:${s}.${ms}`;
|
|
14
|
+
}
|
|
15
|
+
exports.formatUtcTimestamp = formatUtcTimestamp;
|
|
16
|
+
// It's not possible to declare own map converters by passing config to snowflake-sdk
|
|
17
|
+
exports.hydrators = [
|
|
18
|
+
{
|
|
19
|
+
types: ['fixed', 'real'],
|
|
20
|
+
toValue: (column) => {
|
|
21
|
+
if (column.isNullable()) {
|
|
22
|
+
return (value) => {
|
|
23
|
+
// We use numbers as strings by fetchAsString
|
|
24
|
+
if (value === 'NULL') {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
// Nothing to fix, let's skip this field
|
|
31
|
+
return null;
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
// The TIMESTAMP_* variation associated with TIMESTAMP, default to TIMESTAMP_NTZ.
|
|
36
|
+
// DATE values arrive as Dates pinned to UTC midnight — same formatter, output
|
|
37
|
+
// stays compatible with the prior formatToTimeZone behavior.
|
|
38
|
+
types: [
|
|
39
|
+
'date',
|
|
40
|
+
// TIMESTAMP_LTZ internally stores UTC time with a specified precision.
|
|
41
|
+
'timestamp_ltz',
|
|
42
|
+
// TIMESTAMP_NTZ internally stores “wallclock” time with a specified precision.
|
|
43
|
+
// All operations are performed without taking any time zone into account.
|
|
44
|
+
'timestamp_ntz',
|
|
45
|
+
// TIMESTAMP_TZ internally stores UTC time together with an associated time zone offset.
|
|
46
|
+
// When a time zone is not provided, the session time zone offset is used.
|
|
47
|
+
'timestamp_tz',
|
|
48
|
+
],
|
|
49
|
+
toValue: () => (value) => (value ? formatUtcTimestamp(value) : null),
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
types: ['object'],
|
|
53
|
+
toValue: () => (value) => {
|
|
54
|
+
if (!value) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return JSON.stringify(value);
|
|
58
|
+
},
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
//# sourceMappingURL=type-parsers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-parsers.js","sourceRoot":"","sources":["../../src/type-parsers.ts"],"names":[],"mappings":";;;AACA,mDAA0D;AAM1D,SAAgB,kBAAkB,CAAC,KAAW;IAC5C,MAAM,CAAC,GAAG,IAAA,aAAI,EAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IACvC,MAAM,EAAE,GAAG,IAAA,aAAI,EAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,IAAA,aAAI,EAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,IAAA,aAAI,EAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,IAAA,aAAI,EAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,IAAA,aAAI,EAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,IAAA,aAAI,EAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC5C,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;AACjD,CAAC;AATD,gDASC;AAED,qFAAqF;AACxE,QAAA,SAAS,GAA6B;IACjD;QACE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE;gBACvB,OAAO,CAAC,KAAK,EAAE,EAAE;oBACf,6CAA6C;oBAC7C,IAAI,KAAK,KAAK,MAAM,EAAE;wBACpB,OAAO,IAAI,CAAC;qBACb;oBAED,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC;aACH;YAED,wCAAwC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;KACF;IACD;QACE,iFAAiF;QACjF,8EAA8E;QAC9E,6DAA6D;QAC7D,KAAK,EAAE;YACL,MAAM;YACN,uEAAuE;YACvE,eAAe;YACf,+EAA+E;YAC/E,0EAA0E;YAC1E,eAAe;YACf,wFAAwF;YACxF,0EAA0E;YAC1E,cAAc;SACf;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACrE;IACD;QACE,KAAK,EAAE,CAAC,QAAQ,CAAC;QACjB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;KACF;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
"name": "@cubejs-backend/snowflake-driver",
|
|
3
3
|
"description": "Cube.js Snowflake database driver",
|
|
4
4
|
"author": "Cube Dev, Inc.",
|
|
5
|
-
"version": "1.6.
|
|
5
|
+
"version": "1.6.40",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/cube-js/cube.git",
|
|
9
9
|
"directory": "packages/cubejs-snowflake-driver"
|
|
10
10
|
},
|
|
11
11
|
"engines": {
|
|
12
|
-
"node": "
|
|
12
|
+
"node": ">=20.0.0"
|
|
13
13
|
},
|
|
14
14
|
"files": [
|
|
15
15
|
"dist/src",
|
|
@@ -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
26
|
"lint": "eslint src/* --ext .ts",
|
|
25
27
|
"lint:fix": "eslint --fix src/* --ext .ts"
|
|
26
28
|
},
|
|
27
29
|
"dependencies": {
|
|
28
30
|
"@aws-sdk/client-s3": "^3.726.0",
|
|
29
|
-
"@cubejs-backend/base-driver": "1.6.
|
|
30
|
-
"@cubejs-backend/shared": "1.6.
|
|
31
|
-
"
|
|
32
|
-
"snowflake-sdk": "^2.2.0"
|
|
31
|
+
"@cubejs-backend/base-driver": "1.6.40",
|
|
32
|
+
"@cubejs-backend/shared": "1.6.40",
|
|
33
|
+
"snowflake-sdk": "^2.4.0"
|
|
33
34
|
},
|
|
34
35
|
"license": "Apache-2.0",
|
|
35
36
|
"publishConfig": {
|
|
@@ -39,8 +40,9 @@
|
|
|
39
40
|
"extends": "../cubejs-linter"
|
|
40
41
|
},
|
|
41
42
|
"devDependencies": {
|
|
42
|
-
"@cubejs-backend/linter": "1.6.
|
|
43
|
-
"typescript": "~5.2.2"
|
|
43
|
+
"@cubejs-backend/linter": "1.6.40",
|
|
44
|
+
"typescript": "~5.2.2",
|
|
45
|
+
"vitest": "^4"
|
|
44
46
|
},
|
|
45
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "ca686109d640b6b9e8ba0f4dc484f6de266d5860"
|
|
46
48
|
}
|