@cubejs-backend/cubestore-driver 0.31.32 → 0.31.34

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.
@@ -0,0 +1,18 @@
1
+ import { MaybeCancelablePromise } from '@cubejs-backend/shared';
2
+ import { CacheDriverInterface } from '@cubejs-backend/base-driver';
3
+ import { CubeStoreDriver } from './CubeStoreDriver';
4
+ export declare class CubeStoreCacheDriver implements CacheDriverInterface {
5
+ protected readonly connection: CubeStoreDriver;
6
+ constructor(connection: CubeStoreDriver);
7
+ withLock: (key: string, cb: () => MaybeCancelablePromise<any>, expiration?: number, freeAfter?: boolean) => import("@cubejs-backend/shared").CancelablePromise<boolean>;
8
+ get(key: string): Promise<any>;
9
+ set(key: string, value: any, expiration: any): Promise<{
10
+ key: string;
11
+ bytes: number;
12
+ }>;
13
+ remove(key: string): Promise<void>;
14
+ keysStartingWith(prefix: string): Promise<any[]>;
15
+ cleanup(): Promise<void>;
16
+ testConnection(): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=CubeStoreCacheDriver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeStoreCacheDriver.d.ts","sourceRoot":"","sources":["../../src/CubeStoreCacheDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,oBAAqB,YAAW,oBAAoB;IAE7D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe;gBAA3B,UAAU,EAAE,eAAe;IAGzC,QAAQ,QACR,MAAM,MACP,MAAM,uBAAuB,GAAG,CAAC,eACzB,MAAM,cACP,OAAO,iEAgCjB;IAEU,GAAG,CAAC,GAAG,EAAE,MAAM;IAWf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,KAAA,EAAE,UAAU,KAAA;;;;IAUlC,MAAM,CAAC,GAAG,EAAE,MAAM;IAMlB,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAO/B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7C"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CubeStoreCacheDriver = void 0;
4
+ const shared_1 = require("@cubejs-backend/shared");
5
+ class CubeStoreCacheDriver {
6
+ constructor(connection) {
7
+ this.connection = connection;
8
+ this.withLock = (key, cb, expiration = 60, freeAfter = true) => shared_1.createCancelablePromise(async (tkn) => {
9
+ var _a;
10
+ if (tkn.isCanceled()) {
11
+ return false;
12
+ }
13
+ const rows = await this.connection.query('CACHE SET NX TTL ? ? ?', [expiration, key, '1']);
14
+ if (rows && rows.length === 1 && ((_a = rows[0]) === null || _a === void 0 ? void 0 : _a.success) === 'true') {
15
+ if (tkn.isCanceled()) {
16
+ if (freeAfter) {
17
+ await this.connection.query('CACHE REMOVE ?', [
18
+ key
19
+ ]);
20
+ }
21
+ return false;
22
+ }
23
+ try {
24
+ await tkn.with(cb());
25
+ }
26
+ finally {
27
+ if (freeAfter) {
28
+ await this.connection.query('CACHE REMOVE ?', [
29
+ key
30
+ ]);
31
+ }
32
+ }
33
+ return true;
34
+ }
35
+ return false;
36
+ });
37
+ }
38
+ async get(key) {
39
+ const rows = await this.connection.query('CACHE GET ?', [
40
+ key
41
+ ]);
42
+ if (rows && rows.length === 1) {
43
+ return JSON.parse(rows[0].value);
44
+ }
45
+ return null;
46
+ }
47
+ async set(key, value, expiration) {
48
+ const strValue = JSON.stringify(value);
49
+ await this.connection.query('CACHE SET TTL ? ? ?', [expiration, key, strValue]);
50
+ return {
51
+ key,
52
+ bytes: Buffer.byteLength(strValue),
53
+ };
54
+ }
55
+ async remove(key) {
56
+ await this.connection.query('CACHE REMOVE ?', [
57
+ key
58
+ ]);
59
+ }
60
+ async keysStartingWith(prefix) {
61
+ const rows = await this.connection.query('CACHE KEYS ?', [
62
+ prefix
63
+ ]);
64
+ return rows.map((row) => row.key);
65
+ }
66
+ async cleanup() {
67
+ //
68
+ }
69
+ async testConnection() {
70
+ return this.connection.testConnection();
71
+ }
72
+ }
73
+ exports.CubeStoreCacheDriver = CubeStoreCacheDriver;
74
+ //# sourceMappingURL=CubeStoreCacheDriver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeStoreCacheDriver.js","sourceRoot":"","sources":["../../src/CubeStoreCacheDriver.ts"],"names":[],"mappings":";;;AAAA,mDAAyF;AAKzF,MAAa,oBAAoB;IAC/B,YACqB,UAA2B;QAA3B,eAAU,GAAV,UAAU,CAAiB;QAGzC,aAAQ,GAAG,CAChB,GAAW,EACX,EAAqC,EACrC,aAAqB,EAAE,EACvB,YAAqB,IAAI,EACzB,EAAE,CAAC,gCAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;YACzC,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE;gBACpB,OAAO,KAAK,CAAC;aACd;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3F,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,OAAO,MAAK,MAAM,EAAE;gBAC5D,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE;oBACpB,IAAI,SAAS,EAAE;wBACb,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE;4BAC5C,GAAG;yBACJ,CAAC,CAAC;qBACJ;oBAED,OAAO,KAAK,CAAC;iBACd;gBAED,IAAI;oBACF,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;iBACtB;wBAAS;oBACR,IAAI,SAAS,EAAE;wBACb,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE;4BAC5C,GAAG;yBACJ,CAAC,CAAC;qBACJ;iBACF;gBAED,OAAO,IAAI,CAAC;aACb;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IAtCA,CAAC;IAwCG,KAAK,CAAC,GAAG,CAAC,GAAW;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE;YACtD,GAAG;SACJ,CAAC,CAAC;QACH,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAClC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAK,EAAE,UAAU;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEhF,OAAO;YACL,GAAG;YACH,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;SACnC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW;QAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC5C,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,MAAc;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE;YACvD,MAAM;SACP,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,EAAE;IACJ,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;IAC1C,CAAC;CACF;AApFD,oDAoFC"}
@@ -1,5 +1,4 @@
1
- import { BaseDriver, ExternalCreateTableOptions, DriverInterface, IndexesSQL, DriverCapabilities, QueryOptions } from '@cubejs-backend/base-driver';
2
- import { CubeStoreQuery } from './CubeStoreQuery';
1
+ import { BaseDriver, ExternalCreateTableOptions, DriverInterface, IndexesSQL, QueryOptions, ExternalDriverCompatibilities } from '@cubejs-backend/base-driver';
3
2
  import { ConnectionConfig } from './types';
4
3
  import { WebSocketConnection } from './WebSocketConnection';
5
4
  declare type Column = {
@@ -39,8 +38,7 @@ export declare class CubeStoreDriver extends BaseDriver implements DriverInterfa
39
38
  private importCsvFile;
40
39
  private importStream;
41
40
  private importStreamingSource;
42
- static dialectClass(): typeof CubeStoreQuery;
43
- capabilities(): DriverCapabilities;
41
+ capabilities(): ExternalDriverCompatibilities;
44
42
  }
45
43
  export {};
46
44
  //# sourceMappingURL=CubeStoreDriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CubeStoreDriver.d.ts","sourceRoot":"","sources":["../../src/CubeStoreDriver.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,UAAU,EAEV,0BAA0B,EACD,eAAe,EAAE,UAAU,EAEpD,kBAAkB,EAElB,YAAY,EACb,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,aAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,aAAK,kBAAkB,GAAG;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAC;AAEF,qBAAa,eAAgB,SAAQ,UAAW,YAAW,eAAe;IACxE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IAE/B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAEnD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEhB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAgBxC,cAAc;IAId,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY;IAK1D,OAAO;IAIb,sBAAsB;IAItB,yBAAyB,CAAC,SAAS,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,EAAE,kBAAkB;IAuCzE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG;IAcxG,cAAc,CAAC,UAAU,KAAA;IAOzB,oBAAoB,CAAC,UAAU,KAAA,EAAE,aAAa,KAAA;IAQpD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI3C,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI3C,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;IAepC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,eAAe,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,0BAA0B;IA0BpN,OAAO,CAAC,iBAAiB;YAQX,UAAU;YA2BV,aAAa;YAeb,YAAY;YAwGZ,qBAAqB;WAkCrB,YAAY;IAInB,YAAY,IAAI,kBAAkB;CAM1C"}
1
+ {"version":3,"file":"CubeStoreDriver.d.ts","sourceRoot":"","sources":["../../src/CubeStoreDriver.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,UAAU,EAEV,0BAA0B,EACD,eAAe,EAAE,UAAU,EAGpD,YAAY,EACZ,6BAA6B,EAC9B,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,aAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,aAAK,kBAAkB,GAAG;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAC;AAEF,qBAAa,eAAgB,SAAQ,UAAW,YAAW,eAAe;IACxE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IAE/B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAEnD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEhB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAgBxC,cAAc;IAId,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY;IAK1D,OAAO;IAIb,sBAAsB;IAItB,yBAAyB,CAAC,SAAS,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,EAAE,kBAAkB;IAuCzE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG;IAcxG,cAAc,CAAC,UAAU,KAAA;IAOzB,oBAAoB,CAAC,UAAU,KAAA,EAAE,aAAa,KAAA;IAQpD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI3C,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI3C,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;IAepC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,eAAe,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,0BAA0B;IA0BpN,OAAO,CAAC,iBAAiB;YAQX,UAAU;YA2BV,aAAa;YAeb,YAAY;YAwGZ,qBAAqB;IAkC5B,YAAY,IAAI,6BAA6B;CAMrD"}
@@ -14,7 +14,6 @@ const base_driver_1 = require("@cubejs-backend/base-driver");
14
14
  const shared_1 = require("@cubejs-backend/shared");
15
15
  const sqlstring_1 = require("sqlstring");
16
16
  const node_fetch_1 = __importDefault(require("node-fetch"));
17
- const CubeStoreQuery_1 = require("./CubeStoreQuery");
18
17
  const WebSocketConnection_1 = require("./WebSocketConnection");
19
18
  const GenericTypeToCubeStore = {
20
19
  string: 'varchar(255)',
@@ -302,9 +301,6 @@ class CubeStoreDriver extends base_driver_1.BaseDriver {
302
301
  };
303
302
  return this.createTableWithOptions(table, columns, options, queryTracingObj);
304
303
  }
305
- static dialectClass() {
306
- return CubeStoreQuery_1.CubeStoreQuery;
307
- }
308
304
  capabilities() {
309
305
  return {
310
306
  csvImport: true,
@@ -1 +1 @@
1
- {"version":3,"file":"CubeStoreDriver.js","sourceRoot":"","sources":["../../src/CubeStoreDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeStoreDriver.js","sourceRoot":"","sources":["../../src/CubeStoreDriver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export * from './CubeStoreQuery';
1
+ export * from './CubeStoreCacheDriver';
2
2
  export * from './CubeStoreDriver';
3
3
  export * from './CubeStoreDevDriver';
4
4
  export * from './rexport';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC"}
package/dist/src/index.js CHANGED
@@ -10,7 +10,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./CubeStoreQuery"), exports);
13
+ __exportStar(require("./CubeStoreCacheDriver"), exports);
14
14
  __exportStar(require("./CubeStoreDriver"), exports);
15
15
  __exportStar(require("./CubeStoreDevDriver"), exports);
16
16
  __exportStar(require("./rexport"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAiC;AACjC,oDAAkC;AAClC,uDAAqC;AACrC,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAuC;AACvC,oDAAkC;AAClC,uDAAqC;AACrC,4CAA0B"}
package/index.js CHANGED
@@ -1,17 +1,15 @@
1
+ const fromExports = require('./dist/src');
1
2
  const { CubeStoreDriver } = require('./dist/src/CubeStoreDriver');
2
- const { CubeStoreDevDriver } = require('./dist/src/CubeStoreDevDriver');
3
- const { isCubeStoreSupported, CubeStoreHandler } = require('./dist/src/rexport');
4
3
 
5
4
  /**
6
5
  * After 5 years working with TypeScript, now I know
7
6
  * that commonjs and nodejs require is not compatibility with using export default
8
7
  */
9
- module.exports = CubeStoreDriver;
8
+ const toExport = CubeStoreDriver;
10
9
 
11
- /**
12
- * It's needed to move our CLI to destructing style on import
13
- * Please sync this file with src/index.ts
14
- */
15
- module.exports.CubeStoreDevDriver = CubeStoreDevDriver;
16
- module.exports.isCubeStoreSupported = isCubeStoreSupported;
17
- module.exports.CubeStoreHandler = CubeStoreHandler;
10
+ // eslint-disable-next-line no-restricted-syntax
11
+ for (const [key, module] of Object.entries(fromExports)) {
12
+ toExport[key] = module;
13
+ }
14
+
15
+ module.exports = toExport;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@cubejs-backend/cubestore-driver",
3
3
  "description": "Cube Store driver",
4
4
  "author": "Cube Dev, Inc.",
5
- "version": "0.31.32",
5
+ "version": "0.31.34",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.js.git",
@@ -23,16 +23,12 @@
23
23
  "tsc": "tsc",
24
24
  "watch": "tsc -w",
25
25
  "lint": "eslint src/*.ts",
26
- "lint:fix": "eslint --fix src/*.ts",
27
- "test": "yarn integration",
28
- "integration": "jest",
29
- "integration:cubestore": "jest"
26
+ "lint:fix": "eslint --fix src/*.ts"
30
27
  },
31
28
  "dependencies": {
32
- "@cubejs-backend/base-driver": "^0.31.32",
33
- "@cubejs-backend/cubestore": "^0.31.32",
34
- "@cubejs-backend/schema-compiler": "^0.31.32",
35
- "@cubejs-backend/shared": "^0.31.32",
29
+ "@cubejs-backend/base-driver": "^0.31.33",
30
+ "@cubejs-backend/cubestore": "^0.31.34",
31
+ "@cubejs-backend/shared": "^0.31.33",
36
32
  "csv-write-stream": "^2.0.0",
37
33
  "flatbuffers": "^1.12.0",
38
34
  "fs-extra": "^9.1.0",
@@ -46,7 +42,6 @@
46
42
  },
47
43
  "devDependencies": {
48
44
  "@cubejs-backend/linter": "^0.31.0",
49
- "@cubejs-backend/testing-shared": "^0.31.32",
50
45
  "@types/flatbuffers": "^1.10.0",
51
46
  "@types/generic-pool": "^3.1.9",
52
47
  "@types/mysql": "^2.15.17",
@@ -67,5 +62,5 @@
67
62
  "eslintConfig": {
68
63
  "extends": "../cubejs-linter"
69
64
  },
70
- "gitHead": "03ead10d0fd5f3fae5a7356450be489a2f05ae47"
65
+ "gitHead": "7a9df9866b494d2abba4ad265766cf8051582f20"
71
66
  }
@@ -1,37 +0,0 @@
1
- import { BaseFilter, BaseQuery, BaseMeasure } from '@cubejs-backend/schema-compiler';
2
- declare class CubeStoreFilter extends BaseFilter {
3
- likeIgnoreCase(column: any, not: any, param: any, type: string): string;
4
- }
5
- declare type RollingWindow = {
6
- trailing?: string | 'unbounded';
7
- leading?: string | 'unbounded';
8
- offset?: 'start' | 'end';
9
- };
10
- export declare class CubeStoreQuery extends BaseQuery {
11
- newFilter(filter: any): CubeStoreFilter;
12
- convertTz(field: any): string;
13
- timeStampParam(): string;
14
- timeStampCast(value: any): string;
15
- timestampFormat(): string;
16
- dateTimeCast(value: any): string;
17
- subtractInterval(date: any, interval: any): string;
18
- addInterval(date: any, interval: any): string;
19
- timeGroupedColumn(granularity: any, dimension: any): string;
20
- escapeColumnName(name: any): string;
21
- seriesSql(timeDimension: any): any;
22
- concatStringsSql(strings: any): string;
23
- unixTimestampSql(): string;
24
- wrapSegmentForDimensionSelect(sql: any): string;
25
- hllMerge(sql: any): string;
26
- hllCardinalityMerge(sql: any): string;
27
- hllCardinality(sql: any): string;
28
- castToString(sql: any): string;
29
- countDistinctApprox(sql: any): string;
30
- regularAndTimeSeriesRollupQuery(regularMeasures: BaseMeasure[], multipliedMeasures: BaseMeasure[], cumulativeMeasures: Array<[boolean, BaseMeasure]>, preAggregationForQuery: any): any;
31
- overTimeSeriesSelectRollup(cumulativeMeasures: any, otherMeasures: any, baseQuery: any, baseQueryAlias: any, timeDimension: any, preAggregationForQuery: any): string;
32
- toInterval(interval: any): string;
33
- maxRollingWindow(a: RollingWindow, b: RollingWindow): RollingWindow;
34
- overTimeSeriesForSelectRollup(cumulativeMeasures: any, otherMeasures: any, timeDimension: any, preAggregationForQuery: any): any;
35
- }
36
- export {};
37
- //# sourceMappingURL=CubeStoreQuery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CubeStoreQuery.d.ts","sourceRoot":"","sources":["../../src/CubeStoreQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAarF,cAAM,eAAgB,SAAQ,UAAU;IAC/B,cAAc,CAAC,MAAM,KAAA,EAAE,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,EAAE,MAAM;CAKvD;AAED,aAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CAC1B,CAAC;AAEF,qBAAa,cAAe,SAAQ,SAAS;IACpC,SAAS,CAAC,MAAM,KAAA;IAIhB,SAAS,CAAC,KAAK,KAAA;IAIf,cAAc;IAId,aAAa,CAAC,KAAK,KAAA;IAInB,eAAe;IAIf,YAAY,CAAC,KAAK,KAAA;IAIlB,gBAAgB,CAAC,IAAI,KAAA,EAAE,QAAQ,KAAA;IAI/B,WAAW,CAAC,IAAI,KAAA,EAAE,QAAQ,KAAA;IAI1B,iBAAiB,CAAC,WAAW,KAAA,EAAE,SAAS,KAAA;IAIxC,gBAAgB,CAAC,IAAI,KAAA;IAIrB,SAAS,CAAC,aAAa,KAAA;IAOvB,gBAAgB,CAAC,OAAO,KAAA;IAIxB,gBAAgB;IAIhB,6BAA6B,CAAC,GAAG,KAAA;IAIjC,QAAQ,CAAC,GAAG,KAAA;IAIZ,mBAAmB,CAAC,GAAG,KAAA;IAIvB,cAAc,CAAC,GAAG,KAAA;IAIlB,YAAY,CAAC,GAAG,KAAA;IAIhB,mBAAmB,CAAC,GAAG,KAAA;IAKvB,+BAA+B,CACpC,eAAe,EAAE,WAAW,EAAE,EAC9B,kBAAkB,EAAE,WAAW,EAAE,EACjC,kBAAkB,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,EACjD,sBAAsB,EAAE,GAAG;IA4CtB,0BAA0B,CAAC,kBAAkB,KAAA,EAAE,aAAa,KAAA,EAAE,SAAS,KAAA,EAAE,cAAc,KAAA,EAAE,aAAa,KAAA,EAAE,sBAAsB,KAAA;IAW9H,UAAU,CAAC,QAAQ,KAAA;IAQnB,gBAAgB,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;IAyCnE,6BAA6B,CAAC,kBAAkB,KAAA,EAAE,aAAa,KAAA,EAAE,aAAa,KAAA,EAAE,sBAAsB,KAAA;CA8C9G"}
@@ -1,211 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CubeStoreQuery = void 0;
7
- const moment_timezone_1 = __importDefault(require("moment-timezone"));
8
- const schema_compiler_1 = require("@cubejs-backend/schema-compiler");
9
- const GRANULARITY_TO_INTERVAL = {
10
- day: 'day',
11
- week: 'week',
12
- hour: 'hour',
13
- minute: 'minute',
14
- second: 'second',
15
- month: 'month',
16
- quarter: 'quarter',
17
- year: 'year'
18
- };
19
- class CubeStoreFilter extends schema_compiler_1.BaseFilter {
20
- likeIgnoreCase(column, not, param, type) {
21
- const p = (!type || type === 'contains' || type === 'ends') ? '%' : '';
22
- const s = (!type || type === 'contains' || type === 'starts') ? '%' : '';
23
- return `${column}${not ? ' NOT' : ''} ILIKE CONCAT('${p}', ${this.allocateParam(param)}, '${s}')`;
24
- }
25
- }
26
- class CubeStoreQuery extends schema_compiler_1.BaseQuery {
27
- newFilter(filter) {
28
- return new CubeStoreFilter(this, filter);
29
- }
30
- convertTz(field) {
31
- return `CONVERT_TZ(${field}, '${moment_timezone_1.default().tz(this.timezone).format('Z')}')`;
32
- }
33
- timeStampParam() {
34
- return 'to_timestamp(?)';
35
- }
36
- timeStampCast(value) {
37
- return `CAST(${value} as TIMESTAMP)`; // TODO
38
- }
39
- timestampFormat() {
40
- return moment_timezone_1.default.HTML5_FMT.DATETIME_LOCAL_MS;
41
- }
42
- dateTimeCast(value) {
43
- return `to_timestamp(${value})`;
44
- }
45
- subtractInterval(date, interval) {
46
- return `DATE_SUB(${date}, INTERVAL '${interval}')`;
47
- }
48
- addInterval(date, interval) {
49
- return `DATE_ADD(${date}, INTERVAL '${interval}')`;
50
- }
51
- timeGroupedColumn(granularity, dimension) {
52
- return `date_trunc('${GRANULARITY_TO_INTERVAL[granularity]}', ${dimension})`;
53
- }
54
- escapeColumnName(name) {
55
- return `\`${name}\``;
56
- }
57
- seriesSql(timeDimension) {
58
- const values = timeDimension.timeSeries().map(([from, to]) => `select to_timestamp('${from}') date_from, to_timestamp('${to}') date_to`).join(' UNION ALL ');
59
- return values;
60
- }
61
- concatStringsSql(strings) {
62
- return `CONCAT(${strings.join(', ')})`;
63
- }
64
- unixTimestampSql() {
65
- return 'UNIX_TIMESTAMP()';
66
- }
67
- wrapSegmentForDimensionSelect(sql) {
68
- return `IF(${sql}, 1, 0)`;
69
- }
70
- hllMerge(sql) {
71
- return `merge(${sql})`;
72
- }
73
- hllCardinalityMerge(sql) {
74
- return `cardinality(merge(${sql}))`;
75
- }
76
- hllCardinality(sql) {
77
- return `cardinality(${sql})`;
78
- }
79
- castToString(sql) {
80
- return `CAST(${sql} as VARCHAR)`;
81
- }
82
- countDistinctApprox(sql) {
83
- // TODO: We should throw an error, but this gets called even when only `hllMerge` result is used.
84
- return `approx_distinct_is_unsupported_in_cubestore(${sql}))`;
85
- }
86
- regularAndTimeSeriesRollupQuery(regularMeasures, multipliedMeasures, cumulativeMeasures, preAggregationForQuery) {
87
- var _a;
88
- if (!cumulativeMeasures.length) {
89
- return super.regularAndTimeSeriesRollupQuery(regularMeasures, multipliedMeasures, cumulativeMeasures, preAggregationForQuery);
90
- }
91
- const cumulativeMeasuresWithoutMultiplied = cumulativeMeasures.map(([_, measure]) => measure);
92
- const allMeasures = regularMeasures.concat(multipliedMeasures).concat(cumulativeMeasuresWithoutMultiplied);
93
- const timeDimension = this.timeDimensions.find(d => d.granularity);
94
- const baseQueryAlias = this.cubeAlias('base');
95
- const maxRollingWindow = cumulativeMeasuresWithoutMultiplied.reduce((a, b) => this.maxRollingWindow(a, b.rollingWindowDefinition()), null);
96
- const commonDateCondition = this.rollingWindowDateJoinCondition(maxRollingWindow.trailing, maxRollingWindow.leading, maxRollingWindow.offset);
97
- const filters = this.segments.concat(this.filters).concat((timeDimension === null || timeDimension === void 0 ? void 0 : timeDimension.dateRange) && this.dateFromStartToEndConditionSql(commonDateCondition, true, true) || []);
98
- const rollupGranularity = ((_a = this.preAggregations) === null || _a === void 0 ? void 0 : _a.castGranularity(preAggregationForQuery.preAggregation.granularity)) || 'day';
99
- const granularityOverride = timeDimension &&
100
- cumulativeMeasuresWithoutMultiplied.reduce((a, b) => this.minGranularity(a, b.windowGranularity()), timeDimension.granularity) || rollupGranularity;
101
- return this.evaluateSymbolSqlWithContext(() => this.overTimeSeriesSelectRollup(cumulativeMeasuresWithoutMultiplied, regularMeasures.concat(multipliedMeasures), this.evaluateSymbolSqlWithContext(() => { var _a; return (_a = this.preAggregations) === null || _a === void 0 ? void 0 : _a.rollupPreAggregation(preAggregationForQuery, allMeasures, false, filters); }, {
102
- granularityOverride,
103
- overTimeSeriesAggregate: true
104
- }), baseQueryAlias, timeDimension, preAggregationForQuery), {
105
- wrapQuery: true,
106
- wrappedGranularity: (timeDimension === null || timeDimension === void 0 ? void 0 : timeDimension.granularity) || rollupGranularity,
107
- rollupGranularity: granularityOverride,
108
- topLevelMerge: false,
109
- renderedReference: timeDimension ? {
110
- [timeDimension.dimension]: timeDimension.cumulativeSelectColumns()[0]
111
- } : undefined
112
- });
113
- }
114
- overTimeSeriesSelectRollup(cumulativeMeasures, otherMeasures, baseQuery, baseQueryAlias, timeDimension, preAggregationForQuery) {
115
- const cumulativeDimensions = this.dimensions.map(s => s.cumulativeSelectColumns()).filter(c => !!c).join(', ');
116
- const partitionByClause = this.dimensions.length ? `PARTITION BY ${cumulativeDimensions}` : '';
117
- const groupByDimensionClause = otherMeasures.length && timeDimension ? ` GROUP BY DIMENSION ${timeDimension.dimensionSql()}` : '';
118
- const rollingWindowOrGroupByClause = timeDimension ?
119
- ` ROLLING_WINDOW DIMENSION ${timeDimension.aliasName()}${partitionByClause}${groupByDimensionClause} FROM ${this.timeGroupedColumn(timeDimension.granularity, timeDimension.localDateTimeFromOrBuildRangeParam())} TO ${this.timeGroupedColumn(timeDimension.granularity, timeDimension.localDateTimeToOrBuildRangeParam())} EVERY INTERVAL '1 ${timeDimension.granularity}'` :
120
- this.groupByClause();
121
- const forSelect = this.overTimeSeriesForSelectRollup(cumulativeMeasures, otherMeasures, timeDimension, preAggregationForQuery);
122
- return `SELECT ${forSelect} FROM (${baseQuery}) ${baseQueryAlias}${rollingWindowOrGroupByClause}`;
123
- }
124
- toInterval(interval) {
125
- if (interval === 'unbounded') {
126
- return 'UNBOUNDED';
127
- }
128
- else {
129
- return `INTERVAL '${interval}'`;
130
- }
131
- }
132
- maxRollingWindow(a, b) {
133
- if (!a) {
134
- return b;
135
- }
136
- if (!b) {
137
- return a;
138
- }
139
- let trailing;
140
- if (a.trailing === 'unbounded' || b.trailing === 'unbounded') {
141
- trailing = 'unbounded';
142
- }
143
- else if (!a.trailing) {
144
- trailing = b.trailing;
145
- }
146
- else if (!b.trailing) {
147
- trailing = a.trailing;
148
- }
149
- else {
150
- trailing = this.parseSecondDuration(a.trailing) > this.parseSecondDuration(b.trailing) ? a.trailing : b.trailing;
151
- }
152
- let leading;
153
- if (a.leading === 'unbounded' || b.leading === 'unbounded') {
154
- leading = 'unbounded';
155
- }
156
- else if (!a.leading) {
157
- leading = b.leading;
158
- }
159
- else if (!b.leading) {
160
- leading = a.leading;
161
- }
162
- else {
163
- leading = this.parseSecondDuration(a.leading) > this.parseSecondDuration(b.leading) ? a.leading : b.leading;
164
- }
165
- if ((a.offset || 'end') !== (b.offset || 'end')) {
166
- // TODO introduce virtual 'both' offset and return it if max receives 'start' and 'end'
167
- throw new Error('Mixed offset rolling window querying is not supported');
168
- }
169
- return {
170
- trailing,
171
- leading,
172
- offset: a.offset
173
- };
174
- }
175
- overTimeSeriesForSelectRollup(cumulativeMeasures, otherMeasures, timeDimension, preAggregationForQuery) {
176
- var _a;
177
- const rollupMeasures = (_a = this.preAggregations) === null || _a === void 0 ? void 0 : _a.rollupMeasures(preAggregationForQuery);
178
- const renderedReference = rollupMeasures.map(measure => {
179
- const m = this.newMeasure(measure);
180
- const renderSql = () => {
181
- if (timeDimension && m.isCumulative()) {
182
- const measureSql = m.cumulativeMeasureSql();
183
- const rollingWindow = m.rollingWindowDefinition();
184
- const preceding = rollingWindow.trailing ? `${this.toInterval(rollingWindow.trailing)} PRECEDING` : '';
185
- const following = rollingWindow.leading ? `${this.toInterval(rollingWindow.leading)} FOLLOWING` : '';
186
- const offset = ` OFFSET ${rollingWindow.offset || 'end'}`;
187
- const rollingMeasure = `ROLLING(${measureSql} ${preceding && following ? 'RANGE BETWEEN ' : 'RANGE '}${preceding}${preceding && following ? ' ' : ''}${following}${offset})`;
188
- return this.topAggregateWrap(m.measureDefinition(), rollingMeasure);
189
- }
190
- else {
191
- const conditionFn = m.isCumulative() ? this.dateFromStartToEndConditionSql(m.dateJoinCondition(), true, true)[0] : timeDimension;
192
- return this.evaluateSymbolSqlWithContext(() => {
193
- const aliasName = m.aliasName();
194
- return this.aggregateOnGroupedColumn(m.measureDefinition(), aliasName, true, m.measure);
195
- }, {
196
- cumulativeMeasureFilters: { [m.measure]: conditionFn }
197
- });
198
- }
199
- };
200
- return {
201
- [measure]: renderSql()
202
- };
203
- }).reduce((a, b) => ({ ...a, ...b }), {});
204
- return this.evaluateSymbolSqlWithContext(() => this.dimensions.concat(this.timeDimensions.filter(d => d.granularity)).map(s => s.cumulativeSelectColumns()).concat(this.measures.map(m => m.selectColumns())).filter(c => !!c)
205
- .join(', '), {
206
- renderedReference
207
- });
208
- }
209
- }
210
- exports.CubeStoreQuery = CubeStoreQuery;
211
- //# sourceMappingURL=CubeStoreQuery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CubeStoreQuery.js","sourceRoot":"","sources":["../../src/CubeStoreQuery.ts"],"names":[],"mappings":"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"}