@cubejs-backend/server-core 0.30.29 → 0.30.32

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/src/core/CompilerApi.d.ts +8 -2
  3. package/dist/src/core/CompilerApi.d.ts.map +1 -1
  4. package/dist/src/core/CompilerApi.js +20 -15
  5. package/dist/src/core/CompilerApi.js.map +1 -1
  6. package/dist/src/core/DevServer.d.ts +2 -2
  7. package/dist/src/core/DevServer.d.ts.map +1 -1
  8. package/dist/src/core/DevServer.js +9 -0
  9. package/dist/src/core/DevServer.js.map +1 -1
  10. package/dist/src/core/DriverResolvers.d.ts +23 -0
  11. package/dist/src/core/DriverResolvers.d.ts.map +1 -0
  12. package/dist/src/core/DriverResolvers.js +59 -0
  13. package/dist/src/core/DriverResolvers.js.map +1 -0
  14. package/dist/src/core/OptsHandler.d.ts +81 -0
  15. package/dist/src/core/OptsHandler.d.ts.map +1 -0
  16. package/dist/src/core/OptsHandler.js +412 -0
  17. package/dist/src/core/OptsHandler.js.map +1 -0
  18. package/dist/src/core/OrchestratorApi.d.ts +6 -2
  19. package/dist/src/core/OrchestratorApi.d.ts.map +1 -1
  20. package/dist/src/core/OrchestratorApi.js +19 -9
  21. package/dist/src/core/OrchestratorApi.js.map +1 -1
  22. package/dist/src/core/RefreshScheduler.d.ts +4 -0
  23. package/dist/src/core/RefreshScheduler.d.ts.map +1 -1
  24. package/dist/src/core/RefreshScheduler.js +31 -4
  25. package/dist/src/core/RefreshScheduler.js.map +1 -1
  26. package/dist/src/core/server.d.ts +52 -15
  27. package/dist/src/core/server.d.ts.map +1 -1
  28. package/dist/src/core/server.js +96 -203
  29. package/dist/src/core/server.js.map +1 -1
  30. package/dist/src/core/types.d.ts +41 -3
  31. package/dist/src/core/types.d.ts.map +1 -1
  32. package/package.json +13 -11
  33. package/playground/asset-manifest.json +10 -10
  34. package/playground/index.html +1 -1
  35. package/playground/static/js/11.3740081b.chunk.js +2 -0
  36. package/playground/static/js/{11.3972813f.chunk.js.LICENSE.txt → 11.3740081b.chunk.js.LICENSE.txt} +8 -0
  37. package/playground/static/js/{12.40c39d00.chunk.js → 12.389644bb.chunk.js} +2 -2
  38. package/playground/static/js/{12.40c39d00.chunk.js.LICENSE.txt → 12.389644bb.chunk.js.LICENSE.txt} +0 -0
  39. package/playground/static/js/{19.b17c127a.chunk.js → 19.3419f27c.chunk.js} +1 -1
  40. package/playground/static/js/main.8e63e9b2.chunk.js +1 -0
  41. package/playground/static/js/{runtime-main.38a4f12f.js → runtime-main.7118c4c3.js} +1 -1
  42. package/playground/static/js/11.3972813f.chunk.js +0 -2
  43. package/playground/static/js/main.a9c9d743.chunk.js +0 -1
@@ -0,0 +1,412 @@
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.OptsHandler = void 0;
7
+ const crypto_1 = __importDefault(require("crypto"));
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const lodash_clonedeep_1 = __importDefault(require("lodash.clonedeep"));
11
+ const query_orchestrator_1 = require("@cubejs-backend/query-orchestrator");
12
+ const shared_1 = require("@cubejs-backend/shared");
13
+ const DriverResolvers_1 = require("./DriverResolvers");
14
+ const optionsValidate_1 = __importDefault(require("./optionsValidate"));
15
+ const { version } = require('../../../package.json');
16
+ /**
17
+ * Driver service class.
18
+ */
19
+ class OptsHandler {
20
+ /**
21
+ * Class constructor.
22
+ */
23
+ constructor(core, createOptions, systemOptions) {
24
+ this.core = core;
25
+ this.createOptions = createOptions;
26
+ this.systemOptions = systemOptions;
27
+ /**
28
+ * Decorated dbType flag.
29
+ */
30
+ this.decoratedType = false;
31
+ /**
32
+ * Decorated driverFactory flag.
33
+ */
34
+ this.decoratedFactory = false;
35
+ this.assertOptions(createOptions);
36
+ const options = lodash_clonedeep_1.default(this.createOptions);
37
+ options.driverFactory = this.getDriverFactory(options);
38
+ options.dbType = this.getDbType(options);
39
+ this.initializedOptions = this.initializeCoreOptions(options);
40
+ }
41
+ /**
42
+ * Assert create options.
43
+ */
44
+ assertOptions(opts) {
45
+ optionsValidate_1.default(opts);
46
+ if (!this.configuredAsDevServer() &&
47
+ !process.env.CUBEJS_DB_TYPE &&
48
+ !opts.dbType &&
49
+ !opts.driverFactory) {
50
+ throw new Error('Either CUBEJS_DB_TYPE, CreateOptions.dbType or CreateOptions.driverFactory ' +
51
+ 'must be specified');
52
+ }
53
+ // TODO (buntarb): this assertion should be restored after documentation
54
+ // will be added.
55
+ //
56
+ // if (opts.dbType) {
57
+ // this.core.logger(
58
+ // 'Cube.js `CreateOptions.dbType` Property Deprecation',
59
+ // {
60
+ // warning: (
61
+ // // TODO (buntarb): add https://github.com/cube-js/cube.js/blob/master/DEPRECATION.md#dbType
62
+ // // link once it will be created.
63
+ // 'CreateOptions.dbType property is now deprecated, please migrate.'
64
+ // ),
65
+ // },
66
+ // );
67
+ // }
68
+ }
69
+ /**
70
+ * Assert value returned from the driver factory.
71
+ */
72
+ assertDriverFactoryResult(val) {
73
+ if (val instanceof query_orchestrator_1.BaseDriver) {
74
+ // TODO (buntarb): these assertions should be restored after documentation
75
+ // will be added.
76
+ //
77
+ // if (this.decoratedType) {
78
+ // throw new Error(
79
+ // 'CreateOptions.dbType is required if CreateOptions.driverFactory ' +
80
+ // 'returns driver instance'
81
+ // );
82
+ // }
83
+ // this.core.logger(
84
+ // 'Cube.js CreateOptions.driverFactory Property Deprecation',
85
+ // {
86
+ // warning: (
87
+ // // TODO (buntarb): add https://github.com/cube-js/cube.js/blob/master/DEPRECATION.md#driverFactory
88
+ // // link once it will be created.
89
+ // 'CreateOptions.driverFactory should return DriverConfig object instead of driver instance, please migrate.'
90
+ // ),
91
+ // },
92
+ // );
93
+ return val;
94
+ }
95
+ else if (val && val.type && typeof val.type === 'string') {
96
+ return val;
97
+ }
98
+ else {
99
+ throw new Error('Unexpected CreateOptions.driverFactory result value. Must be either ' +
100
+ `DriverConfig or driver instance: <${typeof val}>${val}`);
101
+ }
102
+ }
103
+ /**
104
+ * Assert value returned from the dbType function.
105
+ */
106
+ assertDbTypeResult(val) {
107
+ if (typeof val !== 'string') {
108
+ throw new Error(`Unexpected CreateOptions.dbType result type: <${typeof val}>${val}`);
109
+ }
110
+ return val;
111
+ }
112
+ /**
113
+ * Default database factory function.
114
+ */ // eslint-disable-next-line @typescript-eslint/no-unused-vars
115
+ defaultDriverFactory(ctx) {
116
+ return {
117
+ type: process.env.CUBEJS_DB_TYPE,
118
+ };
119
+ }
120
+ /**
121
+ * Async driver factory getter.
122
+ */
123
+ getDriverFactory(opts) {
124
+ const { dbType, driverFactory } = opts;
125
+ this.decoratedType = !dbType;
126
+ this.decoratedFactory = !driverFactory;
127
+ return async (ctx) => {
128
+ if (!driverFactory) {
129
+ return this.defaultDriverFactory(ctx);
130
+ }
131
+ else {
132
+ return this.assertDriverFactoryResult(await driverFactory(ctx));
133
+ }
134
+ };
135
+ }
136
+ /**
137
+ * Async driver type getter.
138
+ */
139
+ getDbType(opts) {
140
+ const { dbType, driverFactory } = opts;
141
+ return async (ctx) => {
142
+ if (!dbType) {
143
+ const { type } = (await driverFactory(ctx));
144
+ return type;
145
+ }
146
+ else if (typeof dbType === 'function') {
147
+ return this.assertDbTypeResult(await dbType(ctx));
148
+ }
149
+ else {
150
+ return dbType;
151
+ }
152
+ };
153
+ }
154
+ /**
155
+ * Returns default driver concurrency if specified.
156
+ */
157
+ async getDriverConcurrency(ctx) {
158
+ const type = await this
159
+ .getCoreInitializedOptions()
160
+ .dbType(ctx);
161
+ const DriverConstructor = DriverResolvers_1.lookupDriverClass(type);
162
+ if (DriverConstructor &&
163
+ DriverConstructor.getDefaultConcurrency) {
164
+ return DriverConstructor.getDefaultConcurrency();
165
+ }
166
+ return undefined;
167
+ }
168
+ /**
169
+ * Wrap queueOptions into a function which evaluate concurrency on the fly.
170
+ */
171
+ queueOptionsWrapper(context, queueOptions) {
172
+ return async (dataSource = 'default') => {
173
+ const options = (typeof queueOptions === 'function'
174
+ ? queueOptions(dataSource)
175
+ : queueOptions) || {};
176
+ if (options.concurrency) {
177
+ // concurrency specified in cube.js
178
+ return options;
179
+ }
180
+ else {
181
+ const envConcurrency = shared_1.getEnv('concurrency');
182
+ if (envConcurrency) {
183
+ // concurrency specified in CUBEJS_CONCURRENCY
184
+ return {
185
+ ...options,
186
+ concurrency: envConcurrency,
187
+ };
188
+ }
189
+ else {
190
+ const defConcurrency = await this.getDriverConcurrency({
191
+ ...context,
192
+ dataSource,
193
+ });
194
+ if (defConcurrency) {
195
+ // concurrency specified in driver
196
+ return {
197
+ ...options,
198
+ concurrency: defConcurrency,
199
+ };
200
+ }
201
+ // no specified concurrency
202
+ return {
203
+ ...options,
204
+ concurrency: 2,
205
+ };
206
+ }
207
+ }
208
+ };
209
+ }
210
+ /**
211
+ * Initialize core options.
212
+ */
213
+ initializeCoreOptions(opts) {
214
+ var _a;
215
+ const skipOnEnv = [
216
+ // Default EXT_DB variables
217
+ 'CUBEJS_EXT_DB_URL',
218
+ 'CUBEJS_EXT_DB_HOST',
219
+ 'CUBEJS_EXT_DB_NAME',
220
+ 'CUBEJS_EXT_DB_PORT',
221
+ 'CUBEJS_EXT_DB_USER',
222
+ 'CUBEJS_EXT_DB_PASS',
223
+ // Cube Store variables
224
+ 'CUBEJS_CUBESTORE_HOST',
225
+ 'CUBEJS_CUBESTORE_PORT',
226
+ 'CUBEJS_CUBESTORE_USER',
227
+ 'CUBEJS_CUBESTORE_PASS',
228
+ ];
229
+ const definedExtDBVariables = skipOnEnv.filter((field) => process.env[field] !== undefined);
230
+ const externalDbType = opts.externalDbType ||
231
+ process.env.CUBEJS_EXT_DB_TYPE ||
232
+ (shared_1.getEnv('devMode') || definedExtDBVariables.length > 0) && 'cubestore' ||
233
+ undefined;
234
+ const devServer = process.env.NODE_ENV !== 'production' ||
235
+ shared_1.getEnv('devMode');
236
+ let externalDriverFactory = externalDbType &&
237
+ (() => new (DriverResolvers_1.lookupDriverClass(externalDbType))({
238
+ url: process.env.CUBEJS_EXT_DB_URL,
239
+ host: process.env.CUBEJS_EXT_DB_HOST,
240
+ database: process.env.CUBEJS_EXT_DB_NAME,
241
+ port: process.env.CUBEJS_EXT_DB_PORT,
242
+ user: process.env.CUBEJS_EXT_DB_USER,
243
+ password: process.env.CUBEJS_EXT_DB_PASS,
244
+ }));
245
+ let externalDialectFactory = () => typeof externalDbType === 'string' &&
246
+ DriverResolvers_1.lookupDriverClass(externalDbType).dialectClass &&
247
+ DriverResolvers_1.lookupDriverClass(externalDbType).dialectClass();
248
+ if (!devServer && shared_1.getEnv('externalDefault') && !externalDbType) {
249
+ shared_1.displayCLIWarning('Cube Store is not found. Please follow this documentation ' +
250
+ 'to configure Cube Store ' +
251
+ 'https://cube.dev/docs/caching/running-in-production');
252
+ }
253
+ if (devServer && externalDbType !== 'cubestore') {
254
+ shared_1.displayCLIWarning(`Using ${externalDbType} as an external database is deprecated. ` +
255
+ 'Please use Cube Store instead: ' +
256
+ 'https://cube.dev/docs/caching/running-in-production');
257
+ }
258
+ if (externalDbType === 'cubestore' && devServer && !opts.serverless) {
259
+ if (!definedExtDBVariables.length) {
260
+ // There is no @cubejs-backend/cubestore-driver dependency in the core
261
+ // package. At the same time, @cubejs-backend/cubestore-driver is already
262
+ // exist at the moment, when the core server instance is up. That is the
263
+ // reason why we inject it in this way.
264
+ //
265
+ // eslint-disable-next-line global-require,import/no-extraneous-dependencies
266
+ const cubeStorePackage = require('@cubejs-backend/cubestore-driver');
267
+ if (cubeStorePackage.isCubeStoreSupported()) {
268
+ const cubeStoreHandler = new cubeStorePackage.CubeStoreHandler({
269
+ stdout: (data) => {
270
+ console.log(data.toString().trim());
271
+ },
272
+ stderr: (data) => {
273
+ console.log(data.toString().trim());
274
+ },
275
+ onRestart: (code) => this.core.logger('Cube Store Restarting', {
276
+ warning: `Instance exit with ${code}, restarting`,
277
+ }),
278
+ });
279
+ console.log(`🔥 Cube Store (${version}) is assigned to 3030 port.`);
280
+ // Start Cube Store on startup in official docker images
281
+ if (shared_1.isDockerImage()) {
282
+ cubeStoreHandler.acquire().catch((e) => this.core.logger('Cube Store Start Error', {
283
+ error: e.message,
284
+ }));
285
+ }
286
+ // Lazy loading for Cube Store
287
+ externalDriverFactory =
288
+ () => new cubeStorePackage.CubeStoreDevDriver(cubeStoreHandler);
289
+ externalDialectFactory =
290
+ () => cubeStorePackage.CubeStoreDevDriver.dialectClass();
291
+ }
292
+ else {
293
+ this.core.logger('Cube Store is not supported on your system', {
294
+ warning: (`You are using ${process.platform} platform with ${process.arch} architecture, which is not supported by Cube Store.`),
295
+ });
296
+ }
297
+ }
298
+ }
299
+ const options = {
300
+ externalDbType,
301
+ devServer,
302
+ dialectFactory: (ctx) => (DriverResolvers_1.lookupDriverClass(ctx.dbType).dialectClass &&
303
+ DriverResolvers_1.lookupDriverClass(ctx.dbType).dialectClass()),
304
+ externalDriverFactory,
305
+ externalDialectFactory,
306
+ apiSecret: process.env.CUBEJS_API_SECRET,
307
+ telemetry: shared_1.getEnv('telemetry'),
308
+ scheduledRefreshTimeZones: process.env.CUBEJS_SCHEDULED_REFRESH_TIMEZONES &&
309
+ process.env.CUBEJS_SCHEDULED_REFRESH_TIMEZONES.split(',').map(t => t.trim()),
310
+ scheduledRefreshContexts: async () => [null],
311
+ basePath: '/cubejs-api',
312
+ dashboardAppPath: 'dashboard-app',
313
+ dashboardAppPort: 3000,
314
+ scheduledRefreshConcurrency: parseInt(process.env.CUBEJS_SCHEDULED_REFRESH_CONCURRENCY, 10),
315
+ preAggregationsSchema: shared_1.getEnv('preAggregationsSchema') ||
316
+ (devServer ? 'dev_pre_aggregations' : 'prod_pre_aggregations'),
317
+ schemaPath: process.env.CUBEJS_SCHEMA_PATH || 'schema',
318
+ scheduledRefreshTimer: shared_1.getEnv('refreshWorkerMode'),
319
+ sqlCache: true,
320
+ livePreview: shared_1.getEnv('livePreview'),
321
+ ...opts,
322
+ jwt: {
323
+ key: shared_1.getEnv('jwtKey'),
324
+ algorithms: shared_1.getEnv('jwtAlgorithms'),
325
+ issuer: shared_1.getEnv('jwtIssuer'),
326
+ audience: shared_1.getEnv('jwtAudience'),
327
+ subject: shared_1.getEnv('jwtSubject'),
328
+ jwkUrl: shared_1.getEnv('jwkUrl'),
329
+ claimsNamespace: shared_1.getEnv('jwtClaimsNamespace'),
330
+ ...opts.jwt,
331
+ }
332
+ };
333
+ if (opts.contextToAppId && !opts.scheduledRefreshContexts) {
334
+ this.core.logger('Multitenancy Without ScheduledRefreshContexts', {
335
+ warning: ('You are using multitenancy without configuring scheduledRefreshContexts, ' +
336
+ 'which can lead to issues where the security context will be undefined ' +
337
+ 'while Cube.js will do background refreshing: ' +
338
+ 'https://cube.dev/docs/config#options-reference-scheduled-refresh-contexts'),
339
+ });
340
+ }
341
+ if (options.devServer && !options.apiSecret) {
342
+ options.apiSecret = crypto_1.default.randomBytes(16).toString('hex');
343
+ shared_1.displayCLIWarning(`Option apiSecret is required in dev mode. Cube.js has generated it as ${options.apiSecret}`);
344
+ }
345
+ // Create schema directory to protect error on new project with dev mode
346
+ // (docker flow)
347
+ if (options.devServer) {
348
+ const repositoryPath = path_1.default.join(process.cwd(), options.schemaPath);
349
+ if (!fs_extra_1.default.existsSync(repositoryPath)) {
350
+ fs_extra_1.default.mkdirSync(repositoryPath);
351
+ }
352
+ }
353
+ if (!options.devServer || this.configuredForQueryProcessing()) {
354
+ const fieldsForValidation = [
355
+ 'driverFactory',
356
+ 'dbType'
357
+ ];
358
+ if (!((_a = options.jwt) === null || _a === void 0 ? void 0 : _a.jwkUrl)) {
359
+ // apiSecret is required only for auth by JWT, for JWK it's not needed
360
+ fieldsForValidation.push('apiSecret');
361
+ }
362
+ const invalidFields = fieldsForValidation.filter((field) => options[field] === undefined);
363
+ if (invalidFields.length) {
364
+ throw new Error(`${invalidFields.join(', ')} ${invalidFields.length === 1 ? 'is' : 'are'} required option(s)`);
365
+ }
366
+ }
367
+ return options;
368
+ }
369
+ /**
370
+ * Determines whether current instance should be bootstraped in the
371
+ * dev mode or not.
372
+ */
373
+ configuredAsDevServer() {
374
+ return (this.createOptions.devServer ||
375
+ process.env.NODE_ENV !== 'production' ||
376
+ shared_1.getEnv('devMode'));
377
+ }
378
+ /**
379
+ * Determines whether current configuration is sutisfied system to process
380
+ * queries.
381
+ */
382
+ configuredForQueryProcessing() {
383
+ var _a, _b;
384
+ const hasDbCredentials = Object.keys(process.env).filter((key) => (key.startsWith('CUBEJS_DB') && key !== 'CUBEJS_DB_TYPE' ||
385
+ key.startsWith('CUBEJS_AWS'))).length > 0;
386
+ return (hasDbCredentials ||
387
+ ((_a = this.systemOptions) === null || _a === void 0 ? void 0 : _a.isCubeConfigEmpty) === undefined ||
388
+ !((_b = this.systemOptions) === null || _b === void 0 ? void 0 : _b.isCubeConfigEmpty));
389
+ }
390
+ /**
391
+ * Returns server core initialized options object.
392
+ */
393
+ getCoreInitializedOptions() {
394
+ return this.initializedOptions;
395
+ }
396
+ /**
397
+ * Decorate `OrchestratorOptions` with `queueOptions` property which include
398
+ * concurrency calculation logic.
399
+ */
400
+ getOrchestratorInitializedOptions(context, orchestratorOptions) {
401
+ const clone = lodash_clonedeep_1.default(orchestratorOptions);
402
+ // query queue
403
+ clone.queryCacheOptions = clone.queryCacheOptions || {};
404
+ clone.queryCacheOptions.queueOptions = this.queueOptionsWrapper(context, clone.queryCacheOptions.queueOptions);
405
+ // pre-aggs queue
406
+ clone.preAggregationsOptions = clone.preAggregationsOptions || {};
407
+ clone.preAggregationsOptions.queueOptions = this.queueOptionsWrapper(context, clone.preAggregationsOptions.queueOptions);
408
+ return clone;
409
+ }
410
+ }
411
+ exports.OptsHandler = OptsHandler;
412
+ //# sourceMappingURL=OptsHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptsHandler.js","sourceRoot":"","sources":["../../../src/core/OptsHandler.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,wDAA0B;AAC1B,gDAAwB;AACxB,wEAAyC;AACzC,2EAAgE;AAChE,mDAIgC;AAgBhC,uDAAsD;AAEtD,wEAAgD;AAEhD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAErD;;GAEG;AACH,MAAa,WAAW;IACtB;;OAEG;IACH,YACU,IAAsB,EACtB,aAA4B,EAC5B,aAA6B;QAF7B,SAAI,GAAJ,IAAI,CAAkB;QACtB,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAgB;QASvC;;WAEG;QACK,kBAAa,GAAG,KAAK,CAAC;QAE9B;;WAEG;QACK,qBAAgB,GAAG,KAAK,CAAC;QAf/B,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,0BAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAiBD;;OAEG;IACK,aAAa,CAAC,IAAmB;QACvC,yBAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,IACE,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC7B,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc;YAC3B,CAAC,IAAI,CAAC,MAAM;YACZ,CAAC,IAAI,CAAC,aAAa,EACnB;YACA,MAAM,IAAI,KAAK,CACb,6EAA6E;gBAC7E,mBAAmB,CACpB,CAAC;SACH;QAED,wEAAwE;QACxE,iBAAiB;QACjB,EAAE;QACF,qBAAqB;QACrB,sBAAsB;QACtB,6DAA6D;QAC7D,QAAQ;QACR,mBAAmB;QACnB,sGAAsG;QACtG,2CAA2C;QAC3C,6EAA6E;QAC7E,WAAW;QACX,SAAS;QACT,OAAO;QACP,IAAI;IACN,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,GAA8B;QAC9D,IAAI,GAAG,YAAY,+BAAU,EAAE;YAC7B,0EAA0E;YAC1E,iBAAiB;YACjB,EAAE;YACF,4BAA4B;YAC5B,qBAAqB;YACrB,2EAA2E;YAC3E,gCAAgC;YAChC,OAAO;YACP,IAAI;YACJ,oBAAoB;YACpB,gEAAgE;YAChE,MAAM;YACN,iBAAiB;YACjB,2GAA2G;YAC3G,yCAAyC;YACzC,oHAAoH;YACpH,SAAS;YACT,OAAO;YACP,KAAK;YACL,OAAmB,GAAG,CAAC;SACxB;aAAM,IACL,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAC/C;YACA,OAAqB,GAAG,CAAC;SAC1B;aAAM;YACL,MAAM,IAAI,KAAK,CACb,sEAAsE;gBACtE,qCAAqC,OAAO,GAAG,IAAI,GAAG,EAAE,CACzD,CAAC;SACH;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,GAAiB;QAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,iDACd,OAAO,GACT,IAAI,GAAG,EAAE,CAAC,CAAC;SACZ;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG,CAAC,6DAA6D;IACzD,oBAAoB,CAAC,GAAkB;QAC7C,OAAO;YACL,IAAI,EAAgB,OAAO,CAAC,GAAG,CAAC,cAAc;SAC/C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAmB;QAC1C,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,CAAC,aAAa,CAAC;QAEvC,OAAO,KAAK,EAAE,GAAkB,EAAE,EAAE;YAClC,IAAI,CAAC,aAAa,EAAE;gBAClB,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACvC;iBAAM;gBACL,OAAO,IAAI,CAAC,yBAAyB,CACnC,MAAM,aAAa,CAAC,GAAG,CAAC,CACzB,CAAC;aACH;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,SAAS,CACf,IAEC;QAED,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QACvC,OAAO,KAAK,EAAE,GAAkB,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,EAAE,IAAI,EAAE,GAAiB,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1D,OAAO,IAAI,CAAC;aACb;iBAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;gBACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aACnD;iBAAM;gBACL,OAAO,MAAM,CAAC;aACf;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAChC,GAAkB;QAElB,MAAM,IAAI,GAAG,MAAM,IAAI;aACpB,yBAAyB,EAAE;aAC3B,MAAM,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,iBAAiB,GAAG,mCAAiB,CAAC,IAAI,CAAC,CAAC;QAClD,IACE,iBAAiB;YACjB,iBAAiB,CAAC,qBAAqB,EACvC;YACA,OAAO,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;SAClD;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,mBAAmB,CACzB,OAAuB,EACvB,YAA+D;QAE/D,OAAO,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,CACd,OAAO,YAAY,KAAK,UAAU;gBAChC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;gBAC1B,CAAC,CAAC,YAAY,CACjB,IAAI,EAAE,CAAC;YACR,IAAI,OAAO,CAAC,WAAW,EAAE;gBACvB,mCAAmC;gBACnC,OAAO,OAAO,CAAC;aAChB;iBAAM;gBACL,MAAM,cAAc,GAAW,eAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,IAAI,cAAc,EAAE;oBAClB,8CAA8C;oBAC9C,OAAO;wBACL,GAAG,OAAO;wBACV,WAAW,EAAE,cAAc;qBAC5B,CAAC;iBACH;qBAAM;oBACL,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC;wBACrD,GAAG,OAAO;wBACV,UAAU;qBACX,CAAC,CAAC;oBACH,IAAI,cAAc,EAAE;wBAClB,kCAAkC;wBAClC,OAAO;4BACL,GAAG,OAAO;4BACV,WAAW,EAAE,cAAc;yBAC5B,CAAC;qBACH;oBACD,2BAA2B;oBAC3B,OAAO;wBACL,GAAG,OAAO;wBACV,WAAW,EAAE,CAAC;qBACf,CAAC;iBACH;aACF;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,IAA4B;;QAE5B,MAAM,SAAS,GAAG;YAChB,2BAA2B;YAC3B,mBAAmB;YACnB,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;YACpB,uBAAuB;YACvB,uBAAuB;YACvB,uBAAuB;YACvB,uBAAuB;YACvB,uBAAuB;SACxB,CAAC;QAEF,MAAM,qBAAqB,GACzB,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;QAEhE,MAAM,cAAc,GAClB,IAAI,CAAC,cAAc;YACO,OAAO,CAAC,GAAG,CAAC,kBAAkB;YACxD,CAAC,eAAM,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,WAAW;YACtE,SAAS,CAAC;QAEZ,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YACrC,eAAM,CAAC,SAAS,CAAC,CAAC;QAEpB,IAAI,qBAAqB,GACvB,cAAc;YACd,CACE,GAAG,EAAE,CAAC,IAAI,CAAC,mCAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC5C,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBAClC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;gBACpC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;gBACxC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;gBACpC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;gBACpC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;aACzC,CAAC,CACH,CAAC;QAEJ,IAAI,sBAAsB,GACxB,GAAG,EAAE,CAAC,OAAO,cAAc,KAAK,QAAQ;YACxC,mCAAiB,CAAC,cAAc,CAAC,CAAC,YAAY;YAC9C,mCAAiB,CAAC,cAAc,CAAC,CAAC,YAAY,EAAE,CAAC;QAEnD,IAAI,CAAC,SAAS,IAAI,eAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE;YAC9D,0BAAiB,CACf,4DAA4D;gBAC5D,0BAA0B;gBAC1B,qDAAqD,CACtD,CAAC;SACH;QAED,IAAI,SAAS,IAAI,cAAc,KAAK,WAAW,EAAE;YAC/C,0BAAiB,CACf,SAAS,cAAc,0CAA0C;gBACjE,iCAAiC;gBACjC,qDAAqD,CACtD,CAAC;SACH;QAED,IAAI,cAAc,KAAK,WAAW,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACnE,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE;gBACjC,sEAAsE;gBACtE,yEAAyE;gBACzE,wEAAwE;gBACxE,uCAAuC;gBACvC,EAAE;gBACF,4EAA4E;gBAC5E,MAAM,gBAAgB,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;gBACrE,IAAI,gBAAgB,CAAC,oBAAoB,EAAE,EAAE;oBAC3C,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,gBAAgB,CAAC;wBAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;4BACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;wBACtC,CAAC;wBACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;4BACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;wBACtC,CAAC;wBACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE;4BAC7D,OAAO,EAAE,sBAAsB,IAAI,cAAc;yBAClD,CAAC;qBACH,CAAC,CAAC;oBAEH,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,6BAA6B,CAAC,CAAC;oBAEpE,wDAAwD;oBACxD,IAAI,sBAAa,EAAE,EAAE;wBACnB,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE;4BAChD,KAAK,EAAE,CAAC,CAAC,OAAO;yBACjB,CAAC,CACH,CAAC;qBACH;oBAED,8BAA8B;oBAC9B,qBAAqB;wBACnB,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;oBAClE,sBAAsB;wBACpB,GAAG,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;iBAC5D;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,4CAA4C,EAAE;wBAC7D,OAAO,EAAE,CACP,iBACE,OAAO,CAAC,QACV,kBACE,OAAO,CAAC,IACV,sDAAsD,CACvD;qBACF,CAAC,CAAC;iBACJ;aACF;SACF;QAED,MAAM,OAAO,GAAiC;YAC5C,cAAc;YACd,SAAS;YACT,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CACvB,mCAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,YAAY;gBAC1C,mCAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAC7C;YACD,qBAAqB;YACrB,sBAAsB;YACtB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;YACxC,SAAS,EAAE,eAAM,CAAC,WAAW,CAAC;YAC9B,yBAAyB,EACvB,OAAO,CAAC,GAAG,CAAC,kCAAkC;gBAC9C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9E,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YAC5C,QAAQ,EAAE,aAAa;YACvB,gBAAgB,EAAE,eAAe;YACjC,gBAAgB,EAAE,IAAI;YACtB,2BAA2B,EACzB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,EAAE,CAAC;YAChE,qBAAqB,EACnB,eAAM,CAAC,uBAAuB,CAAC;gBAC/B,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB,CAAC;YAChE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,QAAQ;YACtD,qBAAqB,EAAE,eAAM,CAAC,mBAAmB,CAAC;YAClD,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,eAAM,CAAC,aAAa,CAAC;YAClC,GAAG,IAAI;YACP,GAAG,EAAE;gBACH,GAAG,EAAE,eAAM,CAAC,QAAQ,CAAC;gBACrB,UAAU,EAAE,eAAM,CAAC,eAAe,CAAC;gBACnC,MAAM,EAAE,eAAM,CAAC,WAAW,CAAC;gBAC3B,QAAQ,EAAE,eAAM,CAAC,aAAa,CAAC;gBAC/B,OAAO,EAAE,eAAM,CAAC,YAAY,CAAC;gBAC7B,MAAM,EAAE,eAAM,CAAC,QAAQ,CAAC;gBACxB,eAAe,EAAE,eAAM,CAAC,oBAAoB,CAAC;gBAC7C,GAAG,IAAI,CAAC,GAAG;aACZ;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACzD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,+CAA+C,EAAE;gBAChE,OAAO,EAAE,CACP,2EAA2E;oBAC3E,wEAAwE;oBACxE,+CAA+C;oBAC/C,2EAA2E,CAC5E;aACF,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC3C,OAAO,CAAC,SAAS,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3D,0BAAiB,CACf,yEACE,OAAO,CAAC,SACV,EAAE,CACH,CAAC;SACH;QAED,wEAAwE;QACxE,gBAAgB;QAChB,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACpE,IAAI,CAAC,kBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBAClC,kBAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;aAC9B;SACF;QAED,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,4BAA4B,EAAE,EAAE;YAC7D,MAAM,mBAAmB,GAA2C;gBAClE,eAAe;gBACf,QAAQ;aACT,CAAC;YAEF,IAAI,QAAC,OAAO,CAAC,GAAG,0CAAE,MAAM,CAAA,EAAE;gBACxB,sEAAsE;gBACtE,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACvC;YAED,MAAM,aAAa,GACjB,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;YACtE,IAAI,aAAa,CAAC,MAAM,EAAE;gBACxB,MAAM,IAAI,KAAK,CACb,GACE,aAAa,CAAC,IAAI,CAAC,IAAI,CACzB,IACE,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KACtC,qBAAqB,CACtB,CAAC;aACH;SACF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,qBAAqB;QAC1B,OAAO,CACL,IAAI,CAAC,aAAa,CAAC,SAAS;YAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YACrC,eAAM,CAAC,SAAS,CAAC,CAClB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,4BAA4B;;QACjC,MAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,EAAE,CAAC,CACP,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,gBAAgB;YACvD,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAC7B,CACF,CAAC,MAAM,GAAG,CAAC,CAAC;QAEf,OAAO,CACL,gBAAgB;YAChB,OAAA,IAAI,CAAC,aAAa,0CAAE,iBAAiB,MAAK,SAAS;YACnD,QAAC,IAAI,CAAC,aAAa,0CAAE,iBAAiB,CAAA,CACvC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,yBAAyB;QAC9B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,iCAAiC,CACtC,OAAuB,EACvB,mBAAwC;QAExC,MAAM,KAAK,GAAG,0BAAS,CAAC,mBAAmB,CAAC,CAAC;QAC7C,cAAc;QACd,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACxD,KAAK,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAC7D,OAAO,EACP,KAAK,CAAC,iBAAiB,CAAC,YAAY,CACrC,CAAC;QACF,iBAAiB;QACjB,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC;QAClE,KAAK,CAAC,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAClE,OAAO,EACP,KAAK,CAAC,sBAAsB,CAAC,YAAY,CAC1C,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA3fD,kCA2fC"}
@@ -1,7 +1,7 @@
1
1
  import { QueryOrchestrator, DriverFactoryByDataSource, QueryOrchestratorOptions } from '@cubejs-backend/query-orchestrator';
2
- import { DbTypeFn, ExternalDbTypeFn, RequestContext } from './types';
2
+ import { DbTypeAsyncFn, ExternalDbTypeFn, RequestContext } from './types';
3
3
  export interface OrchestratorApiOptions extends QueryOrchestratorOptions {
4
- contextToDbType: DbTypeFn;
4
+ contextToDbType: DbTypeAsyncFn;
5
5
  contextToExternalDbType: ExternalDbTypeFn;
6
6
  redisPrefix?: string;
7
7
  }
@@ -13,6 +13,10 @@ export declare class OrchestratorApi {
13
13
  protected readonly orchestrator: QueryOrchestrator;
14
14
  protected readonly continueWaitTimeout: number;
15
15
  constructor(driverFactory: DriverFactoryByDataSource, logger: any, options: OrchestratorApiOptions);
16
+ /**
17
+ * Returns QueryOrchestrator instance.
18
+ */
19
+ getQueryOrchestrator(): QueryOrchestrator;
16
20
  /**
17
21
  * Force reconcile queue logic to be executed.
18
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"OrchestratorApi.d.ts","sourceRoot":"","sources":["../../../src/core/OrchestratorApi.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;IACtE,eAAe,EAAE,QAAQ,CAAC;IAC1B,uBAAuB,EAAE,gBAAgB,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,eAAe;IAQxB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,yBAAyB;IAC3D,SAAS,CAAC,QAAQ,CAAC,MAAM;IACzB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB;IATpD,OAAO,CAAC,eAAe,CAA+B;IAEtD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAEnD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;gBAG1B,aAAa,EAAE,yBAAyB,EACxC,MAAM,KAAA,EACN,OAAO,EAAE,sBAAsB;IAYpD;;OAEG;IACU,cAAc,CAAC,UAAU,SAAY;IAIrC,YAAY,CAAC,KAAK,KAAA;IAsGlB,cAAc;IAOd,2BAA2B;IAI3B,oBAAoB,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,UAAU,GAAE,MAAkB;IAOzF,OAAO;cAQJ,aAAa,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,UAAU,GAAE,MAAkB;IAS3F,iBAAiB,CAAC,UAAU,KAAA;IAI5B,+BAA+B,CAAC,OAAO,EAAE,cAAc,EAAE,eAAe,KAAA,EAAE,qBAAqB,KAAA;;;;IAQ/F,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,KAAA;IAI1D,iCAAiC,CAAC,SAAS,KAAA;IAa3C,8BAA8B,CAAC,SAAS,KAAA;IAIxC,4BAA4B;IAI5B,oCAAoC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM;IAI5E,oBAAoB,CAAC,EAAE,KAAA,EAAE,QAAQ,KAAA;IAIjC,sBAAsB,CAAC,EAAE,KAAA;CAGvC"}
1
+ {"version":3,"file":"OrchestratorApi.d.ts","sourceRoot":"","sources":["../../../src/core/OrchestratorApi.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE1E,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;IACtE,eAAe,EAAE,aAAa,CAAC;IAC/B,uBAAuB,EAAE,gBAAgB,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,eAAe;IAQxB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,yBAAyB;IAC3D,SAAS,CAAC,QAAQ,CAAC,MAAM;IACzB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB;IATpD,OAAO,CAAC,eAAe,CAA+B;IAEtD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAEnD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;gBAG1B,aAAa,EAAE,yBAAyB,EACxC,MAAM,KAAA,EACN,OAAO,EAAE,sBAAsB;IAYpD;;OAEG;IACI,oBAAoB,IAAI,iBAAiB;IAIhD;;OAEG;IACU,cAAc,CAAC,UAAU,SAAY;IAIrC,YAAY,CAAC,KAAK,KAAA;IA0GlB,cAAc;IAOd,2BAA2B;IAI3B,oBAAoB,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,UAAU,GAAE,MAAkB;IAOzF,OAAO;cAQJ,aAAa,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,UAAU,GAAE,MAAkB;IAS3F,iBAAiB,CAAC,UAAU,KAAA;IAI5B,+BAA+B,CAAC,OAAO,EAAE,cAAc,EAAE,eAAe,KAAA,EAAE,qBAAqB,KAAA;;;;IAQ/F,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,KAAA;IAI1D,iCAAiC,CAAC,SAAS,KAAA;IAa3C,8BAA8B,CAAC,SAAS,KAAA;IAIxC,4BAA4B;IAI5B,oCAAoC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM;IAI5E,oBAAoB,CAAC,EAAE,KAAA,EAAE,QAAQ,KAAA;IAIjC,sBAAsB,CAAC,EAAE,KAAA;CAGvC"}
@@ -16,6 +16,12 @@ class OrchestratorApi {
16
16
  this.continueWaitTimeout = this.options.continueWaitTimeout || 5;
17
17
  this.orchestrator = new query_orchestrator_1.QueryOrchestrator(options.redisPrefix || 'STANDALONE', driverFactory, logger, options);
18
18
  }
19
+ /**
20
+ * Returns QueryOrchestrator instance.
21
+ */
22
+ getQueryOrchestrator() {
23
+ return this.orchestrator;
24
+ }
19
25
  /**
20
26
  * Force reconcile queue logic to be executed.
21
27
  */
@@ -42,22 +48,26 @@ class OrchestratorApi {
42
48
  params: query.values,
43
49
  requestId: query.requestId
44
50
  });
45
- const extractDbType = (response) => (this.options.contextToDbType({
46
- ...query.context,
47
- dataSource: response.dataSource,
48
- }));
51
+ const extractDbType = async (response) => {
52
+ const dbType = await this.options.contextToDbType({
53
+ ...query.context,
54
+ dataSource: response.dataSource,
55
+ });
56
+ return dbType;
57
+ };
49
58
  const extractExternalDbType = (response) => (this.options.contextToExternalDbType({
50
59
  ...query.context,
51
60
  dataSource: response.dataSource,
52
61
  }));
53
62
  if (Array.isArray(data)) {
54
- return data.map((item) => ({
63
+ const res = await Promise.all(data.map(async (item) => ({
55
64
  ...item,
56
- dbType: extractDbType(item),
57
- extDbType: extractExternalDbType(item)
58
- }));
65
+ dbType: await extractDbType(item),
66
+ extDbType: extractExternalDbType(item),
67
+ })));
68
+ return res;
59
69
  }
60
- data.dbType = extractDbType(data);
70
+ data.dbType = await extractDbType(data);
61
71
  data.extDbType = extractExternalDbType(data);
62
72
  return data;
63
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OrchestratorApi.js","sourceRoot":"","sources":["../../../src/core/OrchestratorApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrchestratorApi.js","sourceRoot":"","sources":["../../../src/core/OrchestratorApi.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,10 @@ export declare class RefreshScheduler {
40
40
  constructor(serverCore: CubejsServerCore);
41
41
  protected refreshQueriesForPreAggregation(context: any, compilerApi: CompilerApi, preAggregation: any, queryingOptions: ScheduledRefreshQueryingOptions): Promise<RefreshQueries>;
42
42
  protected baseQueryForPreAggregation(compilerApi: CompilerApi, preAggregation: any, queryingOptions: ScheduledRefreshQueryingOptions): Promise<any>;
43
+ /**
44
+ * Evaluate and returns minimal QueryQueue concurrency value.
45
+ */
46
+ protected getSchedulerConcurrency(core: CubejsServerCore, context: RequestContext): null | number;
43
47
  runScheduledRefresh(ctx: RequestContext | null, options: Readonly<ScheduledRefreshOptions>): Promise<{
44
48
  finished: boolean;
45
49
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshScheduler.d.ts","sourceRoot":"","sources":["../../../src/core/RefreshScheduler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,aAAK,+BAA+B,GAAG,QAAQ,CAAC,uBAAuB,EAAE,aAAa,GAAG,eAAe,CAAC,GAAG;IAC1G,cAAc,EAAE;QACd,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAC;AAEF,aAAK,8BAA8B,GAAG;IACpC,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KACtB,EAAE,CAAC;IACJ,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAC;AAEF,aAAK,cAAc,GAAG;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,yBAAyB,EAAE,CAAC;IACxC,iBAAiB,EAAE,yBAAyB,EAAE,EAAE,CAAC;CAClD,CAAC;AAEF,qBAAa,gBAAgB;IAEzB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB;gBAA5B,UAAU,EAAE,gBAAgB;cAIjC,+BAA+B,CAC7C,OAAO,KAAA,EACP,WAAW,EAAE,WAAW,EACxB,cAAc,KAAA,EACd,eAAe,EAAE,+BAA+B,GAC/C,OAAO,CAAC,cAAc,CAAC;cA4CV,0BAA0B,CACxC,WAAW,EAAE,WAAW,EACxB,cAAc,KAAA,EACd,eAAe,EAAE,+BAA+B;IAiCrC,mBAAmB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,uBAAuB,CAAC;;;IAqDvG;;OAEG;cACa,cAAc,CAC5B,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,WAAW;cAcV,sBAAsB,CACpC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,+BAA+B;IAyCrC,wBAAwB,CACnC,OAAO,KAAA,EACP,eAAe,EAAE,8BAA8B;cA2FjC,6CAA6C,CAAC,OAAO,KAAA,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6GhG,sBAAsB,CACpC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,+BAA+B;IA+BrC,oBAAoB,CAC/B,OAAO,EAAE,cAAc,EACvB,eAAe,EAAE,8BAA8B;CA2ClD"}
1
+ {"version":3,"file":"RefreshScheduler.d.ts","sourceRoot":"","sources":["../../../src/core/RefreshScheduler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,aAAK,+BAA+B,GAAG,QAAQ,CAAC,uBAAuB,EAAE,aAAa,GAAG,eAAe,CAAC,GAAG;IAC1G,cAAc,EAAE;QACd,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAC;AAEF,aAAK,8BAA8B,GAAG;IACpC,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KACtB,EAAE,CAAC;IACJ,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAC;AAEF,aAAK,cAAc,GAAG;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,yBAAyB,EAAE,CAAC;IACxC,iBAAiB,EAAE,yBAAyB,EAAE,EAAE,CAAC;CAClD,CAAC;AAEF,qBAAa,gBAAgB;IAEzB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB;gBAA5B,UAAU,EAAE,gBAAgB;cAIjC,+BAA+B,CAC7C,OAAO,KAAA,EACP,WAAW,EAAE,WAAW,EACxB,cAAc,KAAA,EACd,eAAe,EAAE,+BAA+B,GAC/C,OAAO,CAAC,cAAc,CAAC;cA4CV,0BAA0B,CACxC,WAAW,EAAE,WAAW,EACxB,cAAc,KAAA,EACd,eAAe,EAAE,+BAA+B;IAiClD;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,cAAc,GACtB,IAAI,GAAG,MAAM;IAuBH,mBAAmB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,uBAAuB,CAAC;;;IA0DvG;;OAEG;cACa,cAAc,CAC5B,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,WAAW;cAcV,sBAAsB,CACpC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,+BAA+B;IAyCrC,wBAAwB,CACnC,OAAO,KAAA,EACP,eAAe,EAAE,8BAA8B;cA2FjC,6CAA6C,CAAC,OAAO,KAAA,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6GhG,sBAAsB,CACpC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,+BAA+B;IA+BrC,oBAAoB,CAC/B,OAAO,EAAE,cAAc,EACvB,eAAe,EAAE,8BAA8B;CA2ClD"}
@@ -50,7 +50,7 @@ class RefreshScheduler {
50
50
  }
51
51
  async baseQueryForPreAggregation(compilerApi, preAggregation, queryingOptions) {
52
52
  const compilers = await compilerApi.getCompilers();
53
- const query = compilerApi.createQueryByDataSource(compilers, queryingOptions);
53
+ const query = await compilerApi.createQueryByDataSource(compilers, queryingOptions);
54
54
  if (preAggregation.preAggregation.partitionGranularity || preAggregation.preAggregation.type === 'rollup') {
55
55
  return { ...queryingOptions, ...preAggregation.references };
56
56
  }
@@ -73,6 +73,30 @@ class RefreshScheduler {
73
73
  throw new Error(`Scheduled refresh is unsupported for ${preAggregation.preAggregation.type} of ${preAggregation.preAggregationName}`);
74
74
  }
75
75
  }
76
+ /**
77
+ * Evaluate and returns minimal QueryQueue concurrency value.
78
+ */
79
+ getSchedulerConcurrency(core, context) {
80
+ const preaggsQueues = core
81
+ .getOrchestratorApi(context)
82
+ .getQueryOrchestrator()
83
+ .getPreAggregations()
84
+ .getQueues();
85
+ let concurrency;
86
+ if (Object.keys(preaggsQueues).length === 0) {
87
+ // first execution - no queues
88
+ concurrency = null;
89
+ }
90
+ else {
91
+ // further executions - queues ready
92
+ const concurrencies = [];
93
+ Object.keys(preaggsQueues).forEach((name) => {
94
+ concurrencies.push(preaggsQueues[name].concurrency);
95
+ });
96
+ concurrency = Math.min(...concurrencies);
97
+ }
98
+ return concurrency;
99
+ }
76
100
  async runScheduledRefresh(ctx, options) {
77
101
  const context = {
78
102
  authInfo: null,
@@ -80,11 +104,14 @@ class RefreshScheduler {
80
104
  securityContext: (ctx === null || ctx === void 0 ? void 0 : ctx.securityContext) ? ctx.securityContext : {},
81
105
  requestId: `scheduler-${ctx && ctx.requestId || uuid_1.v4()}`,
82
106
  };
107
+ const concurrency = options.concurrency ||
108
+ this.getSchedulerConcurrency(this.serverCore, context) ||
109
+ 1;
83
110
  const queryingOptions = {
84
111
  timezones: [options.timezone || 'UTC'],
85
112
  ...options,
86
- concurrency: options.concurrency || 1,
87
- workerIndices: options.workerIndices || ramda_1.default.range(0, options.concurrency || 1),
113
+ concurrency,
114
+ workerIndices: options.workerIndices || ramda_1.default.range(0, concurrency),
88
115
  contextSymbols: {
89
116
  securityContext: context.securityContext,
90
117
  },
@@ -141,7 +168,7 @@ class RefreshScheduler {
141
168
  }
142
169
  async refreshCubesRefreshKey(context, compilerApi, queryingOptions) {
143
170
  const compilers = await compilerApi.getCompilers();
144
- const queryForEvaluation = compilerApi.createQueryByDataSource(compilers, {});
171
+ const queryForEvaluation = await compilerApi.createQueryByDataSource(compilers, {});
145
172
  await Promise.all(queryForEvaluation.cubeEvaluator.cubeNames().map(async (cube) => {
146
173
  const cubeFromPath = queryForEvaluation.cubeEvaluator.cubeFromPath(cube);
147
174
  const measuresCount = Object.keys(cubeFromPath.measures || {}).length;