@cubejs-backend/schema-compiler 0.34.27 → 0.34.30
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/adapter/BaseGroupFilter.d.ts +1 -0
- package/dist/src/adapter/BaseGroupFilter.d.ts.map +1 -1
- package/dist/src/adapter/BaseGroupFilter.js +3 -0
- package/dist/src/adapter/BaseGroupFilter.js.map +1 -1
- package/dist/src/adapter/BaseQuery.d.ts +41 -19
- package/dist/src/adapter/BaseQuery.d.ts.map +1 -1
- package/dist/src/adapter/BaseQuery.js +28 -6
- package/dist/src/adapter/BaseQuery.js.map +1 -1
- package/dist/src/adapter/ElasticSearchQuery.js +1 -1
- package/dist/src/adapter/ElasticSearchQuery.js.map +1 -1
- package/dist/src/adapter/PostgresQuery.d.ts.map +1 -1
- package/dist/src/adapter/PostgresQuery.js.map +1 -1
- package/dist/src/adapter/PreAggregations.d.ts +14 -9
- package/dist/src/adapter/PreAggregations.d.ts.map +1 -1
- package/dist/src/adapter/PreAggregations.js +5 -0
- package/dist/src/adapter/PreAggregations.js.map +1 -1
- package/dist/src/compiler/ContextEvaluator.d.ts +1 -1
- package/dist/src/compiler/ContextEvaluator.d.ts.map +1 -1
- package/dist/src/compiler/ContextEvaluator.js +1 -1
- package/dist/src/compiler/ContextEvaluator.js.map +1 -1
- package/dist/src/compiler/CubeEvaluator.d.ts +8 -6
- package/dist/src/compiler/CubeEvaluator.d.ts.map +1 -1
- package/dist/src/compiler/CubeEvaluator.js +4 -2
- package/dist/src/compiler/CubeEvaluator.js.map +1 -1
- package/dist/src/compiler/JoinGraph.d.ts.map +1 -1
- package/dist/src/compiler/JoinGraph.js +5 -0
- package/dist/src/compiler/JoinGraph.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseGroupFilter.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseGroupFilter.js"],"names":[],"mappings":"AAEA;IACE,yBAKC;IAJC,YAA2B;IAC3B,cAA+B;IAC/B,aAA6B;IAC7B,eAAiC;IAGnC,kCAEC;IAED,qBAaC;IAED,oBAEC;IAED,kBAOC;CACF"}
|
|
1
|
+
{"version":3,"file":"BaseGroupFilter.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseGroupFilter.js"],"names":[],"mappings":"AAEA;IACE,yBAKC;IAJC,YAA2B;IAC3B,cAA+B;IAC/B,aAA6B;IAC7B,eAAiC;IAGnC,0BAEC;IAED,kCAEC;IAED,qBAaC;IAED,oBAEC;IAED,kBAOC;CACF"}
|
|
@@ -12,6 +12,9 @@ class BaseGroupFilter {
|
|
|
12
12
|
this.measure = filter.measure;
|
|
13
13
|
this.dimension = filter.dimension;
|
|
14
14
|
}
|
|
15
|
+
isDateOperator() {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
15
18
|
conditionSql(column) {
|
|
16
19
|
return `(\n${this.values.map(f => f.conditionSql(column)).join(` ${this.operator.toUpperCase()} `)}\n)`;
|
|
17
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseGroupFilter.js","sourceRoot":"","sources":["../../../src/adapter/BaseGroupFilter.js"],"names":[],"mappings":";;;;;;AAAA,kDAAsB;AAEtB,MAAa,eAAe;IAC1B,YAAY,MAAM;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,MAAM;QACjB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC;IAC1G,CAAC;IAED,aAAa;QACX,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,GAAG,GAAG,CAAC;QACpB,CAAC,CAAC,CAAC,MAAM,CAAC,eAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAEjD,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YACb,OAAO,IAAI,CAAC;SACb;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzB,IAAI,CAAC,CAAC,UAAU,EAAE;gBAChB,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;aACvB;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"BaseGroupFilter.js","sourceRoot":"","sources":["../../../src/adapter/BaseGroupFilter.js"],"names":[],"mappings":";;;;;;AAAA,kDAAsB;AAEtB,MAAa,eAAe;IAC1B,YAAY,MAAM;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CAAC,MAAM;QACjB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC;IAC1G,CAAC;IAED,aAAa;QACX,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,GAAG,GAAG,CAAC;QACpB,CAAC,CAAC,CAAC,MAAM,CAAC,eAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAEjD,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YACb,OAAO,IAAI,CAAC;SACb;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzB,IAAI,CAAC,CAAC,UAAU,EAAE;gBAChB,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;aACvB;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA3CD,0CA2CC"}
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Set of the schema compilers.
|
|
3
3
|
* @typedef {Object} Compilers
|
|
4
|
-
* @property {DataSchemaCompiler} compiler
|
|
5
|
-
* @property {CubeToMetaTransformer} metaTransformer
|
|
6
|
-
* @property {CubeEvaluator} cubeEvaluator
|
|
7
|
-
* @property {ContextEvaluator} contextEvaluator
|
|
8
|
-
* @property {JoinGraph} joinGraph
|
|
9
|
-
* @property {CompilerCache} compilerCache
|
|
4
|
+
* @property {import('../compiler/DataSchemaCompiler').DataSchemaCompiler} compiler
|
|
5
|
+
* @property {import('../compiler/CubeToMetaTransformer').CubeToMetaTransformer} metaTransformer
|
|
6
|
+
* @property {import('../compiler/CubeEvaluator').CubeEvaluator} cubeEvaluator
|
|
7
|
+
* @property {import('../compiler/ContextEvaluator').ContextEvaluator} contextEvaluator
|
|
8
|
+
* @property {import('../compiler/JoinGraph').JoinGraph} joinGraph
|
|
9
|
+
* @property {import('../compiler/CompilerCache').CompilerCache} compilerCache
|
|
10
10
|
* @property {*} headCommitId
|
|
11
11
|
*/
|
|
12
|
+
/**
|
|
13
|
+
* BaseQuery class. BaseQuery object encapsulates the logic of
|
|
14
|
+
* transforming an incoming to a specific cube request to the
|
|
15
|
+
* SQL-query string.
|
|
16
|
+
*
|
|
17
|
+
* This class is a parent class for the set of dialect specific
|
|
18
|
+
* query adapters (for ex. MysqlQuery, OracleQuery, etc.).
|
|
19
|
+
*
|
|
20
|
+
* You should never instantiate this class manually. Instead, you
|
|
21
|
+
* should use {@code CompilerApi#getDialectClass} method, which
|
|
22
|
+
* should return query object based on the datasource, database type
|
|
23
|
+
* and {@code CompilerApi} configuration.
|
|
24
|
+
*/
|
|
12
25
|
export class BaseQuery {
|
|
13
26
|
static isCalculatedMeasureType(type: any): boolean;
|
|
14
27
|
static emptyParametrizedContextSymbols(cubeEvaluator: any, allocateParam: any): {
|
|
@@ -27,8 +40,10 @@ export class BaseQuery {
|
|
|
27
40
|
*/
|
|
28
41
|
constructor(compilers: Compilers | any, options: any);
|
|
29
42
|
compilers: any;
|
|
30
|
-
|
|
31
|
-
|
|
43
|
+
/** @type {import('../compiler/CubeEvaluator').CubeEvaluator} */
|
|
44
|
+
cubeEvaluator: import('../compiler/CubeEvaluator').CubeEvaluator;
|
|
45
|
+
/** @type {import('../compiler/JoinGraph').JoinGraph} */
|
|
46
|
+
joinGraph: import('../compiler/JoinGraph').JoinGraph;
|
|
32
47
|
options: any;
|
|
33
48
|
orderHashToString(hash: any): string | null;
|
|
34
49
|
defaultOrder(): {
|
|
@@ -37,7 +52,10 @@ export class BaseQuery {
|
|
|
37
52
|
}[];
|
|
38
53
|
extractDimensionsAndMeasures(filters?: any[]): any[];
|
|
39
54
|
extractFiltersAsTree(filters?: any[]): any;
|
|
40
|
-
|
|
55
|
+
/**
|
|
56
|
+
* @protected
|
|
57
|
+
*/
|
|
58
|
+
protected initFromOptions(): void;
|
|
41
59
|
contextSymbols: any;
|
|
42
60
|
/**
|
|
43
61
|
* @protected
|
|
@@ -54,7 +72,8 @@ export class BaseQuery {
|
|
|
54
72
|
dimensions: any;
|
|
55
73
|
segments: any;
|
|
56
74
|
order: any;
|
|
57
|
-
|
|
75
|
+
/** @type {(BaseFilter|BaseGroupFilter)[]} */
|
|
76
|
+
filters: (BaseFilter | BaseGroupFilter)[] | undefined;
|
|
58
77
|
measureFilters: any;
|
|
59
78
|
timeDimensions: any;
|
|
60
79
|
allFilters: any;
|
|
@@ -85,7 +104,10 @@ export class BaseQuery {
|
|
|
85
104
|
newMeasure(measurePath: any): BaseMeasure;
|
|
86
105
|
newDimension(dimensionPath: any): BaseDimension;
|
|
87
106
|
newSegment(segmentPath: any): BaseSegment;
|
|
88
|
-
|
|
107
|
+
/**
|
|
108
|
+
* @returns {BaseGroupFilter|BaseFilter}
|
|
109
|
+
*/
|
|
110
|
+
initFilter(filter: any): BaseGroupFilter | BaseFilter;
|
|
89
111
|
newFilter(filter: any): BaseFilter;
|
|
90
112
|
newGroupFilter(filter: any): BaseGroupFilter;
|
|
91
113
|
newTimeDimension(timeDimension: any): BaseTimeDimension;
|
|
@@ -405,21 +427,21 @@ export class BaseQuery {
|
|
|
405
427
|
* Set of the schema compilers.
|
|
406
428
|
*/
|
|
407
429
|
export type Compilers = {
|
|
408
|
-
compiler: DataSchemaCompiler;
|
|
409
|
-
metaTransformer: CubeToMetaTransformer;
|
|
410
|
-
cubeEvaluator: CubeEvaluator;
|
|
411
|
-
contextEvaluator: ContextEvaluator;
|
|
412
|
-
joinGraph: JoinGraph;
|
|
413
|
-
compilerCache: CompilerCache;
|
|
430
|
+
compiler: import('../compiler/DataSchemaCompiler').DataSchemaCompiler;
|
|
431
|
+
metaTransformer: import('../compiler/CubeToMetaTransformer').CubeToMetaTransformer;
|
|
432
|
+
cubeEvaluator: import('../compiler/CubeEvaluator').CubeEvaluator;
|
|
433
|
+
contextEvaluator: import('../compiler/ContextEvaluator').ContextEvaluator;
|
|
434
|
+
joinGraph: import('../compiler/JoinGraph').JoinGraph;
|
|
435
|
+
compilerCache: import('../compiler/CompilerCache').CompilerCache;
|
|
414
436
|
headCommitId: any;
|
|
415
437
|
};
|
|
416
438
|
import { ParamAllocator } from './ParamAllocator';
|
|
417
439
|
import { PreAggregations } from './PreAggregations';
|
|
440
|
+
import { BaseFilter } from './BaseFilter';
|
|
441
|
+
import { BaseGroupFilter } from './BaseGroupFilter';
|
|
418
442
|
import { BaseMeasure } from './BaseMeasure';
|
|
419
443
|
import { BaseDimension } from './BaseDimension';
|
|
420
444
|
import { BaseSegment } from './BaseSegment';
|
|
421
|
-
import { BaseFilter } from './BaseFilter';
|
|
422
|
-
import { BaseGroupFilter } from './BaseGroupFilter';
|
|
423
445
|
import { BaseTimeDimension } from './BaseTimeDimension';
|
|
424
446
|
import R from 'ramda';
|
|
425
447
|
import moment from 'moment-timezone';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"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"}
|
|
@@ -46,14 +46,27 @@ const SecondsDurations = {
|
|
|
46
46
|
/**
|
|
47
47
|
* Set of the schema compilers.
|
|
48
48
|
* @typedef {Object} Compilers
|
|
49
|
-
* @property {DataSchemaCompiler} compiler
|
|
50
|
-
* @property {CubeToMetaTransformer} metaTransformer
|
|
51
|
-
* @property {CubeEvaluator} cubeEvaluator
|
|
52
|
-
* @property {ContextEvaluator} contextEvaluator
|
|
53
|
-
* @property {JoinGraph} joinGraph
|
|
54
|
-
* @property {CompilerCache} compilerCache
|
|
49
|
+
* @property {import('../compiler/DataSchemaCompiler').DataSchemaCompiler} compiler
|
|
50
|
+
* @property {import('../compiler/CubeToMetaTransformer').CubeToMetaTransformer} metaTransformer
|
|
51
|
+
* @property {import('../compiler/CubeEvaluator').CubeEvaluator} cubeEvaluator
|
|
52
|
+
* @property {import('../compiler/ContextEvaluator').ContextEvaluator} contextEvaluator
|
|
53
|
+
* @property {import('../compiler/JoinGraph').JoinGraph} joinGraph
|
|
54
|
+
* @property {import('../compiler/CompilerCache').CompilerCache} compilerCache
|
|
55
55
|
* @property {*} headCommitId
|
|
56
56
|
*/
|
|
57
|
+
/**
|
|
58
|
+
* BaseQuery class. BaseQuery object encapsulates the logic of
|
|
59
|
+
* transforming an incoming to a specific cube request to the
|
|
60
|
+
* SQL-query string.
|
|
61
|
+
*
|
|
62
|
+
* This class is a parent class for the set of dialect specific
|
|
63
|
+
* query adapters (for ex. MysqlQuery, OracleQuery, etc.).
|
|
64
|
+
*
|
|
65
|
+
* You should never instantiate this class manually. Instead, you
|
|
66
|
+
* should use {@code CompilerApi#getDialectClass} method, which
|
|
67
|
+
* should return query object based on the datasource, database type
|
|
68
|
+
* and {@code CompilerApi} configuration.
|
|
69
|
+
*/
|
|
57
70
|
class BaseQuery {
|
|
58
71
|
/**
|
|
59
72
|
* BaseQuery class constructor.
|
|
@@ -62,7 +75,9 @@ class BaseQuery {
|
|
|
62
75
|
*/
|
|
63
76
|
constructor(compilers, options) {
|
|
64
77
|
this.compilers = compilers;
|
|
78
|
+
/** @type {import('../compiler/CubeEvaluator').CubeEvaluator} */
|
|
65
79
|
this.cubeEvaluator = compilers.cubeEvaluator;
|
|
80
|
+
/** @type {import('../compiler/JoinGraph').JoinGraph} */
|
|
66
81
|
this.joinGraph = compilers.joinGraph;
|
|
67
82
|
this.options = options || {};
|
|
68
83
|
this.orderHashToString = this.orderHashToString.bind(this);
|
|
@@ -147,6 +162,9 @@ class BaseQuery {
|
|
|
147
162
|
});
|
|
148
163
|
});
|
|
149
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* @protected
|
|
167
|
+
*/
|
|
150
168
|
initFromOptions() {
|
|
151
169
|
this.contextSymbols = {
|
|
152
170
|
securityContext: {},
|
|
@@ -193,6 +211,7 @@ class BaseQuery {
|
|
|
193
211
|
const filters = this.extractFiltersAsTree(this.options.filters || []);
|
|
194
212
|
// measure_filter (the one extracted from filters parameter on measure and
|
|
195
213
|
// used in drill downs) should go to WHERE instead of HAVING
|
|
214
|
+
/** @type {(BaseFilter|BaseGroupFilter)[]} */
|
|
196
215
|
this.filters = filters.filter(f => f.dimension || f.operator === 'measure_filter' || f.operator === 'measureFilter').map(this.initFilter.bind(this));
|
|
197
216
|
this.measureFilters = filters.filter(f => f.measure && f.operator !== 'measure_filter' && f.operator !== 'measureFilter').map(this.initFilter.bind(this));
|
|
198
217
|
this.timeDimensions = (this.options.timeDimensions || []).map(dimension => {
|
|
@@ -347,6 +366,9 @@ class BaseQuery {
|
|
|
347
366
|
newSegment(segmentPath) {
|
|
348
367
|
return new BaseSegment_1.BaseSegment(this, segmentPath);
|
|
349
368
|
}
|
|
369
|
+
/**
|
|
370
|
+
* @returns {BaseGroupFilter|BaseFilter}
|
|
371
|
+
*/
|
|
350
372
|
initFilter(filter) {
|
|
351
373
|
if (filter.operator === 'and' || filter.operator === 'or') {
|
|
352
374
|
filter.values = filter.values.map(this.initFilter.bind(this));
|