@cubejs-backend/cubestore-driver 0.31.38 → 0.31.39

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.
@@ -2,8 +2,10 @@ import { MaybeCancelablePromise } from '@cubejs-backend/shared';
2
2
  import { CacheDriverInterface } from '@cubejs-backend/base-driver';
3
3
  import { CubeStoreDriver } from './CubeStoreDriver';
4
4
  export declare class CubeStoreCacheDriver implements CacheDriverInterface {
5
- protected readonly connection: CubeStoreDriver;
6
- constructor(connection: CubeStoreDriver);
5
+ protected connectionFactory: () => Promise<CubeStoreDriver>;
6
+ constructor(connectionFactory: () => Promise<CubeStoreDriver>);
7
+ protected connection: CubeStoreDriver | null;
8
+ protected getConnection(): Promise<CubeStoreDriver>;
7
9
  withLock: (key: string, cb: () => MaybeCancelablePromise<any>, expiration?: number, freeAfter?: boolean) => import("@cubejs-backend/shared").CancelablePromise<boolean>;
8
10
  get(key: string): Promise<any>;
9
11
  set(key: string, value: any, expiration: any): Promise<{
@@ -1 +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"}
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,iBAAiB,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC;gBAAjD,iBAAiB,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC;IAG7D,SAAS,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAQ;cAEpC,aAAa,IAAI,OAAO,CAAC,eAAe,CAAC;IASlD,QAAQ,QACR,MAAM,MACP,MAAM,uBAAuB,GAAG,CAAC,eACzB,MAAM,cACP,OAAO,iEAkCjB;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"}
@@ -3,18 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CubeStoreCacheDriver = void 0;
4
4
  const shared_1 = require("@cubejs-backend/shared");
5
5
  class CubeStoreCacheDriver {
6
- constructor(connection) {
7
- this.connection = connection;
6
+ constructor(connectionFactory) {
7
+ this.connectionFactory = connectionFactory;
8
+ this.connection = null;
8
9
  this.withLock = (key, cb, expiration = 60, freeAfter = true) => shared_1.createCancelablePromise(async (tkn) => {
9
10
  var _a;
10
11
  if (tkn.isCanceled()) {
11
12
  return false;
12
13
  }
13
- const rows = await this.connection.query('CACHE SET NX TTL ? ? ?', [expiration, key, '1']);
14
+ const connection = (await this.getConnection());
15
+ const rows = await connection.query('CACHE SET NX TTL ? ? ?', [expiration, key, '1']);
14
16
  if (rows && rows.length === 1 && ((_a = rows[0]) === null || _a === void 0 ? void 0 : _a.success) === 'true') {
15
17
  if (tkn.isCanceled()) {
16
18
  if (freeAfter) {
17
- await this.connection.query('CACHE REMOVE ?', [
19
+ await connection.query('CACHE REMOVE ?', [
18
20
  key
19
21
  ]);
20
22
  }
@@ -25,7 +27,7 @@ class CubeStoreCacheDriver {
25
27
  }
26
28
  finally {
27
29
  if (freeAfter) {
28
- await this.connection.query('CACHE REMOVE ?', [
30
+ await connection.query('CACHE REMOVE ?', [
29
31
  key
30
32
  ]);
31
33
  }
@@ -35,8 +37,15 @@ class CubeStoreCacheDriver {
35
37
  return false;
36
38
  });
37
39
  }
40
+ async getConnection() {
41
+ if (this.connection) {
42
+ return this.connection;
43
+ }
44
+ // eslint-disable-next-line no-return-assign
45
+ return this.connection = await this.connectionFactory();
46
+ }
38
47
  async get(key) {
39
- const rows = await this.connection.query('CACHE GET ?', [
48
+ const rows = await (await this.getConnection()).query('CACHE GET ?', [
40
49
  key
41
50
  ]);
42
51
  if (rows && rows.length === 1) {
@@ -46,19 +55,19 @@ class CubeStoreCacheDriver {
46
55
  }
47
56
  async set(key, value, expiration) {
48
57
  const strValue = JSON.stringify(value);
49
- await this.connection.query('CACHE SET TTL ? ? ?', [expiration, key, strValue]);
58
+ await (await this.getConnection()).query('CACHE SET TTL ? ? ?', [expiration, key, strValue]);
50
59
  return {
51
60
  key,
52
61
  bytes: Buffer.byteLength(strValue),
53
62
  };
54
63
  }
55
64
  async remove(key) {
56
- await this.connection.query('CACHE REMOVE ?', [
65
+ await (await this.getConnection()).query('CACHE REMOVE ?', [
57
66
  key
58
67
  ]);
59
68
  }
60
69
  async keysStartingWith(prefix) {
61
- const rows = await this.connection.query('CACHE KEYS ?', [
70
+ const rows = await (await this.getConnection()).query('CACHE KEYS ?', [
62
71
  prefix
63
72
  ]);
64
73
  return rows.map((row) => row.key);
@@ -67,7 +76,7 @@ class CubeStoreCacheDriver {
67
76
  //
68
77
  }
69
78
  async testConnection() {
70
- return this.connection.testConnection();
79
+ return (await this.getConnection()).testConnection();
71
80
  }
72
81
  }
73
82
  exports.CubeStoreCacheDriver = CubeStoreCacheDriver;
@@ -1 +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
+ {"version":3,"file":"CubeStoreCacheDriver.js","sourceRoot":"","sources":["../../src/CubeStoreCacheDriver.ts"],"names":[],"mappings":"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"}
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.38",
5
+ "version": "0.31.39",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.js.git",
@@ -63,5 +63,5 @@
63
63
  "eslintConfig": {
64
64
  "extends": "../cubejs-linter"
65
65
  },
66
- "gitHead": "30548db96aeca9e4161b936e248964c2ec7b768a"
66
+ "gitHead": "2b15f0ce494db09f3e679468d440b7dbaa9486ec"
67
67
  }