@cubejs-backend/schema-compiler 0.36.7 → 0.36.8
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/BaseDimension.d.ts +1 -1
- package/dist/src/adapter/BaseDimension.d.ts.map +1 -1
- package/dist/src/adapter/BaseDimension.js +2 -2
- package/dist/src/adapter/BaseDimension.js.map +1 -1
- package/dist/src/adapter/BaseMeasure.d.ts +1 -1
- package/dist/src/adapter/BaseMeasure.d.ts.map +1 -1
- package/dist/src/adapter/BaseMeasure.js +3 -3
- package/dist/src/adapter/BaseMeasure.js.map +1 -1
- package/dist/src/adapter/BaseQuery.d.ts +8 -8
- package/dist/src/adapter/BaseQuery.d.ts.map +1 -1
- package/dist/src/adapter/BaseQuery.js +67 -67
- package/dist/src/adapter/BaseQuery.js.map +1 -1
- package/dist/src/adapter/BaseSegment.d.ts +1 -1
- package/dist/src/adapter/BaseSegment.d.ts.map +1 -1
- package/dist/src/adapter/BaseSegment.js +2 -2
- package/dist/src/adapter/BaseSegment.js.map +1 -1
- package/dist/src/adapter/PreAggregations.d.ts +2 -2
- package/dist/src/adapter/PreAggregations.js +3 -3
- package/dist/src/adapter/PreAggregations.js.map +1 -1
- package/dist/src/adapter/PrestodbQuery.d.ts +1 -0
- package/dist/src/adapter/PrestodbQuery.d.ts.map +1 -1
- package/dist/src/adapter/PrestodbQuery.js +5 -2
- package/dist/src/adapter/PrestodbQuery.js.map +1 -1
- package/dist/src/compiler/CubeEvaluator.d.ts +4 -4
- package/dist/src/compiler/CubeEvaluator.d.ts.map +1 -1
- package/dist/src/compiler/CubeEvaluator.js +4 -4
- package/dist/src/compiler/CubeEvaluator.js.map +1 -1
- package/dist/src/compiler/CubeValidator.js +5 -5
- package/dist/src/compiler/CubeValidator.js.map +1 -1
- package/package.json +5 -5
|
@@ -15,7 +15,7 @@ export declare class BaseDimension {
|
|
|
15
15
|
convertTzForRawTimeDimensionIfNeeded(sql: any): any;
|
|
16
16
|
sqlDefinition(): Function;
|
|
17
17
|
getMembers(): this[];
|
|
18
|
-
|
|
18
|
+
isMultiStage(): boolean | undefined;
|
|
19
19
|
cube(): any;
|
|
20
20
|
dimensionDefinition(): DimensionDefinition | SegmentDefinition;
|
|
21
21
|
definition(): DimensionDefinition | SegmentDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDimension.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseDimension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAExF,qBAAa,aAAa;IAUtB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS;aACnB,SAAS,EAAE,GAAG;IAVhC,SAAgB,UAAU,EAAE,GAAG,CAAC;IAEhC,SAAgB,kBAAkB,EAAE,GAAG,CAAC;IAExC,SAAgB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnD,SAAgB,kBAAkB,EAAE,OAAO,CAAS;gBAG/B,KAAK,EAAE,SAAS,EACnB,SAAS,EAAE,GAAG;IAWzB,aAAa,IAAI,MAAM,EAAE,GAAG,IAAI;IAIhC,cAAc;IAId,uBAAuB;IAIvB,YAAY;IAWZ,oCAAoC,CAAC,GAAG,KAAA;IAUxC,aAAa;IAIb,UAAU;IAIV,
|
|
1
|
+
{"version":3,"file":"BaseDimension.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseDimension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAExF,qBAAa,aAAa;IAUtB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS;aACnB,SAAS,EAAE,GAAG;IAVhC,SAAgB,UAAU,EAAE,GAAG,CAAC;IAEhC,SAAgB,kBAAkB,EAAE,GAAG,CAAC;IAExC,SAAgB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnD,SAAgB,kBAAkB,EAAE,OAAO,CAAS;gBAG/B,KAAK,EAAE,SAAS,EACnB,SAAS,EAAE,GAAG;IAWzB,aAAa,IAAI,MAAM,EAAE,GAAG,IAAI;IAIhC,cAAc;IAId,uBAAuB;IAIvB,YAAY;IAWZ,oCAAoC,CAAC,GAAG,KAAA;IAUxC,aAAa;IAIb,UAAU;IAIV,YAAY;IAOZ,IAAI;IAOJ,mBAAmB,IAAI,mBAAmB,GAAG,iBAAiB;IAQ9D,UAAU,IAAI,mBAAmB,GAAG,iBAAiB;IAYrD,SAAS,IAAI,MAAM,GAAG,IAAI;IAK1B,kBAAkB,IAAI,MAAM;IAQ5B,aAAa;IAIb,IAAI;IAYJ,cAAc;CAMtB"}
|
|
@@ -54,11 +54,11 @@ class BaseDimension {
|
|
|
54
54
|
getMembers() {
|
|
55
55
|
return [this];
|
|
56
56
|
}
|
|
57
|
-
|
|
57
|
+
isMultiStage() {
|
|
58
58
|
if (this.expression) { // TODO
|
|
59
59
|
return false;
|
|
60
60
|
}
|
|
61
|
-
return this.definition().
|
|
61
|
+
return this.definition().multiStage;
|
|
62
62
|
}
|
|
63
63
|
cube() {
|
|
64
64
|
if (this.expression) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDimension.js","sourceRoot":"","sources":["../../../src/adapter/BaseDimension.ts"],"names":[],"mappings":";;;AAGA,MAAa,aAAa;IAUH;IACH;IAVF,UAAU,CAAM;IAEhB,kBAAkB,CAAM;IAExB,cAAc,CAAqB;IAEnC,kBAAkB,GAAY,KAAK,CAAC;IAEpD,YACqB,KAAgB,EACnB,SAAc;QADX,UAAK,GAAL,KAAK,CAAW;QACnB,cAAS,GAAT,SAAS,CAAK;QAE9B,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE;YACrC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;YACvC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC;YAC7C,8FAA8F;YAC9F,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,IAAI,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5F,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;SAClD;IACH,CAAC;IAEM,aAAa;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;IAClD,CAAC;IAEM,uBAAuB;QAC5B,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IAEM,YAAY;QACjB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,IAAI,CAAC,oCAAoC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;SACpK;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACtD,OAAO,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;SAChF;QACD,OAAO,IAAI,CAAC,oCAAoC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,mFAAmF;IAC5E,oCAAoC,CAAC,GAAG;QAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,4BAA4B,EAAE;YACnD,OAAO,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAAG,EAAE;gBAClD,4BAA4B,EAAE,IAAI;aACnC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,GAAG,EAAE,CAAC;SACd;IACH,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC;IACxC,CAAC;IAEM,UAAU;QACf,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAEM,
|
|
1
|
+
{"version":3,"file":"BaseDimension.js","sourceRoot":"","sources":["../../../src/adapter/BaseDimension.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export declare class BaseMeasure {
|
|
|
20
20
|
aliasName(): string;
|
|
21
21
|
unescapedAliasName(): string;
|
|
22
22
|
isCumulative(): boolean;
|
|
23
|
-
|
|
23
|
+
isMultiStage(): any;
|
|
24
24
|
isAdditive(): boolean;
|
|
25
25
|
static isCumulative(definition: any): boolean;
|
|
26
26
|
rollingWindowDefinition(): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMeasure.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseMeasure.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,WAAW;IAUpB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS;aACnB,OAAO,EAAE,GAAG;IAV9B,SAAgB,UAAU,EAAE,GAAG,CAAC;IAEhC,SAAgB,kBAAkB,EAAE,GAAG,CAAC;IAExC,SAAgB,cAAc,EAAE,GAAG,CAAC;IAEpC,SAAgB,kBAAkB,EAAE,OAAO,CAAS;gBAG/B,KAAK,EAAE,SAAS,EACnB,OAAO,EAAE,GAAG;IAWvB,UAAU;IAIV,aAAa;IAIb,cAAc;IAId,uBAAuB;IAIvB,oBAAoB;IASpB,UAAU;IAQV,oCAAoC,CAAC,GAAG,KAAA;IAUxC,IAAI;IAOJ,iBAAiB;IAIjB,UAAU,IAAI,GAAG;IAWjB,SAAS;IAIT,kBAAkB;IAOlB,YAAY;IAOZ,
|
|
1
|
+
{"version":3,"file":"BaseMeasure.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseMeasure.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,WAAW;IAUpB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS;aACnB,OAAO,EAAE,GAAG;IAV9B,SAAgB,UAAU,EAAE,GAAG,CAAC;IAEhC,SAAgB,kBAAkB,EAAE,GAAG,CAAC;IAExC,SAAgB,cAAc,EAAE,GAAG,CAAC;IAEpC,SAAgB,kBAAkB,EAAE,OAAO,CAAS;gBAG/B,KAAK,EAAE,SAAS,EACnB,OAAO,EAAE,GAAG;IAWvB,UAAU;IAIV,aAAa;IAIb,cAAc;IAId,uBAAuB;IAIvB,oBAAoB;IASpB,UAAU;IAQV,oCAAoC,CAAC,GAAG,KAAA;IAUxC,IAAI;IAOJ,iBAAiB;IAIjB,UAAU,IAAI,GAAG;IAWjB,SAAS;IAIT,kBAAkB;IAOlB,YAAY;IAOZ,YAAY;IAOZ,UAAU;WAYH,YAAY,CAAC,UAAU,KAAA;IAI9B,uBAAuB;IAWvB,iBAAiB;IAqBjB,iBAAiB;IAWjB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS;IAIjF,uBAAuB,CAAC,QAAQ,EAAE,MAAM;IAkBxC,0BAA0B;IAI1B,aAAa;IAIb,IAAI;IAOJ,cAAc;CAMtB"}
|
|
@@ -88,18 +88,18 @@ class BaseMeasure {
|
|
|
88
88
|
}
|
|
89
89
|
return BaseMeasure.isCumulative(this.measureDefinition());
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
isMultiStage() {
|
|
92
92
|
if (this.expression) { // TODO
|
|
93
93
|
return false;
|
|
94
94
|
}
|
|
95
|
-
return this.definition().
|
|
95
|
+
return this.definition().multiStage;
|
|
96
96
|
}
|
|
97
97
|
isAdditive() {
|
|
98
98
|
if (this.expression) { // TODO
|
|
99
99
|
return false;
|
|
100
100
|
}
|
|
101
101
|
const definition = this.measureDefinition();
|
|
102
|
-
if (definition.
|
|
102
|
+
if (definition.multiStage) {
|
|
103
103
|
return false;
|
|
104
104
|
}
|
|
105
105
|
return definition.type === 'sum' || definition.type === 'count' || definition.type === 'countDistinctApprox' ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMeasure.js","sourceRoot":"","sources":["../../../src/adapter/BaseMeasure.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BaseMeasure.js","sourceRoot":"","sources":["../../../src/adapter/BaseMeasure.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,15 +71,15 @@ export class BaseQuery {
|
|
|
71
71
|
compilerCache: any;
|
|
72
72
|
queryCache: any;
|
|
73
73
|
from: any;
|
|
74
|
-
|
|
74
|
+
multiStageQuery: any;
|
|
75
75
|
timezone: any;
|
|
76
76
|
rowLimit: any;
|
|
77
77
|
offset: any;
|
|
78
78
|
preAggregations: PreAggregations | undefined;
|
|
79
79
|
measures: any;
|
|
80
80
|
dimensions: any;
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
multiStageDimensions: any;
|
|
82
|
+
multiStageTimeDimensions: any;
|
|
83
83
|
segments: any;
|
|
84
84
|
/** @type {(BaseFilter|BaseGroupFilter)[]} */
|
|
85
85
|
filters: (BaseFilter | BaseGroupFilter)[] | undefined;
|
|
@@ -207,18 +207,18 @@ export class BaseQuery {
|
|
|
207
207
|
multipliedMeasures: BaseMeasure[];
|
|
208
208
|
regularMeasures: BaseMeasure[];
|
|
209
209
|
cumulativeMeasures: R.KeyValuePair<any, BaseMeasure>[];
|
|
210
|
-
|
|
210
|
+
multiStageMembers: any[];
|
|
211
211
|
withQueries: any[];
|
|
212
212
|
};
|
|
213
213
|
collectAllMemberChildren(context: any): any;
|
|
214
|
-
|
|
214
|
+
collectAllMultiStageMembers(allMemberChildren: any): {
|
|
215
215
|
[index: string]: any;
|
|
216
216
|
};
|
|
217
217
|
memberInstanceByPath(m: any): BaseMeasure | BaseDimension | BaseSegment;
|
|
218
|
-
|
|
218
|
+
multiStageWithQueries(member: any, queryContext: any, memberChildren: any, withQueries: any): any;
|
|
219
219
|
collectUsedWithQueries(usedQueries: any, member: any): void;
|
|
220
|
-
|
|
221
|
-
|
|
220
|
+
childrenMultiStageContext(memberPath: any, queryContext: any, wouldNodeApplyFilters: any): any;
|
|
221
|
+
selfMultiStageContext(memberPath: any, queryContext: any, wouldNodeApplyFilters: any): any;
|
|
222
222
|
renderWithQuery(withQuery: any): {
|
|
223
223
|
query: any;
|
|
224
224
|
alias: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"AAkDA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;GAYG;AACH;IAg+EE,mDAEC;IAED;;MAEE;IACF,wCAEC;IAyiCD;;;;;;;MASC;IAUD,sEAgCC;IAED,8CAcC;IAED,4GAsBC;IAYD,yHA0CC;IAkCD,mHAgDC;IApvHD;;;;OAIG;IACH,uBAHW,SAAS,MAAE,gBAgBrB;IAZC,eAA0B;IAC1B,gEAAgE;IAChE,eADW,OAAO,2BAA2B,EAAE,aAAa,CAChB;IAC5C,wDAAwD;IACxD,WADW,OAAO,uBAAuB,EAAE,SAAS,CAChB;IACpC,aAA4B;IAi3D9B,4CAaC;IAllDD;;;QA2BC;IAnUC,6BAA6B;IAC7B,gBADW,cAAc,CACiF;IAI5G,qDAoBC;IAED,sDAYC;IAED,2CAuDC;IAED;;OAEG;IACH,kCAiFC;IAhFC,oBAGC;IACD,mBAA0D;IAC1D,gBA4BE;IACF,UAA6B;IAC7B,
|
|
1
|
+
{"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"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"}
|
|
@@ -213,20 +213,20 @@ class BaseQuery {
|
|
|
213
213
|
expressionParams: this.options.expressionParams,
|
|
214
214
|
convertTzForRawTimeDimension: this.options.convertTzForRawTimeDimension,
|
|
215
215
|
from: this.options.from,
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
216
|
+
multiStageQuery: this.options.multiStageQuery,
|
|
217
|
+
multiStageDimensions: this.options.multiStageDimensions,
|
|
218
|
+
multiStageTimeDimensions: this.options.multiStageTimeDimensions,
|
|
219
219
|
});
|
|
220
220
|
this.from = this.options.from;
|
|
221
|
-
this.
|
|
221
|
+
this.multiStageQuery = this.options.multiStageQuery;
|
|
222
222
|
this.timezone = this.options.timezone;
|
|
223
223
|
this.rowLimit = this.options.rowLimit;
|
|
224
224
|
this.offset = this.options.offset;
|
|
225
225
|
this.preAggregations = this.newPreAggregations();
|
|
226
226
|
this.measures = (this.options.measures || []).map(this.newMeasure.bind(this));
|
|
227
227
|
this.dimensions = (this.options.dimensions || []).map(this.newDimension.bind(this));
|
|
228
|
-
this.
|
|
229
|
-
this.
|
|
228
|
+
this.multiStageDimensions = (this.options.multiStageDimensions || []).map(this.newDimension.bind(this));
|
|
229
|
+
this.multiStageTimeDimensions = (this.options.multiStageTimeDimensions || []).map(this.newTimeDimension.bind(this));
|
|
230
230
|
this.segments = (this.options.segments || []).map(this.newSegment.bind(this));
|
|
231
231
|
const filters = this.extractFiltersAsTree(this.options.filters || []);
|
|
232
232
|
// measure_filter (the one extracted from filters parameter on measure and
|
|
@@ -441,7 +441,7 @@ class BaseQuery {
|
|
|
441
441
|
}
|
|
442
442
|
}
|
|
443
443
|
if (preAggForQuery) {
|
|
444
|
-
const { multipliedMeasures, regularMeasures, cumulativeMeasures, withQueries,
|
|
444
|
+
const { multipliedMeasures, regularMeasures, cumulativeMeasures, withQueries, multiStageMembers, } = this.fullKeyQueryAggregateMeasures();
|
|
445
445
|
if (cumulativeMeasures.length === 0) {
|
|
446
446
|
sql = this.preAggregations.rollupPreAggregation(preAggForQuery, this.measures, true);
|
|
447
447
|
}
|
|
@@ -643,7 +643,7 @@ class BaseQuery {
|
|
|
643
643
|
// eslint-disable-next-line prefer-template
|
|
644
644
|
const inlineWhereConditions = [];
|
|
645
645
|
const commonQuery = this.rewriteInlineWhere(() => this.commonQuery(), inlineWhereConditions);
|
|
646
|
-
if (this.
|
|
646
|
+
if (this.multiStageQuery) {
|
|
647
647
|
return `${commonQuery} ${this.baseWhere(this.allFilters.concat(inlineWhereConditions))}`;
|
|
648
648
|
}
|
|
649
649
|
return `${commonQuery} ${this.baseWhere(this.allFilters.concat(inlineWhereConditions))}` +
|
|
@@ -660,8 +660,8 @@ class BaseQuery {
|
|
|
660
660
|
if (this.from) {
|
|
661
661
|
return this.simpleQuery();
|
|
662
662
|
}
|
|
663
|
-
const { multipliedMeasures, regularMeasures, cumulativeMeasures, withQueries,
|
|
664
|
-
if (!multipliedMeasures.length && !cumulativeMeasures.length && !
|
|
663
|
+
const { multipliedMeasures, regularMeasures, cumulativeMeasures, withQueries, multiStageMembers, } = this.fullKeyQueryAggregateMeasures();
|
|
664
|
+
if (!multipliedMeasures.length && !cumulativeMeasures.length && !multiStageMembers.length) {
|
|
665
665
|
return this.simpleQuery();
|
|
666
666
|
}
|
|
667
667
|
const renderedWithQueries = withQueries.map(q => this.renderWithQuery(q));
|
|
@@ -688,7 +688,7 @@ class BaseQuery {
|
|
|
688
688
|
? (measures, filters) => this.aggregateSubQuery(measures[0].cube().name, measures, filters)
|
|
689
689
|
: this.regularMeasuresSubQuery.bind(this), measure, false)))(cumulativeMeasures)
|
|
690
690
|
// TODO SELECT *
|
|
691
|
-
).concat(
|
|
691
|
+
).concat(multiStageMembers.map(m => `SELECT * FROM ${m.alias}`));
|
|
692
692
|
}
|
|
693
693
|
// Move regular measures to multiplied ones if there're same
|
|
694
694
|
// cubes to calculate. Most of the times it'll be much faster to
|
|
@@ -719,10 +719,10 @@ class BaseQuery {
|
|
|
719
719
|
toJoin = ramda_1.default.pipe(ramda_1.default.groupBy(m => m.cube().name), ramda_1.default.toPairs, ramda_1.default.map(([keyCubeName, measures]) => this.withCubeAliasPrefix(`${keyCubeName}_key`, () => this.aggregateSubQuery(keyCubeName, measures))))(measuresList);
|
|
720
720
|
}
|
|
721
721
|
}
|
|
722
|
-
const
|
|
722
|
+
const multiStageMeasures = ramda_1.default.flatten(multiStageMembers.map(m => m.measures)).map(m => this.newMeasure(m));
|
|
723
723
|
return this.withQueries(this.joinFullKeyQueryAggregate(
|
|
724
724
|
// TODO separate param?
|
|
725
|
-
multipliedMeasures.concat(
|
|
725
|
+
multipliedMeasures.concat(multiStageMeasures), regularMeasures, cumulativeMeasures, toJoin), renderedWithQueries);
|
|
726
726
|
}
|
|
727
727
|
joinFullKeyQueryAggregate(multipliedMeasures, regularMeasures, cumulativeMeasures, toJoin) {
|
|
728
728
|
return this.outerMeasuresJoinFullKeyQueryAggregate(multipliedMeasures.concat(regularMeasures).concat(cumulativeMeasures.map(([multiplied, measure]) => measure)), this.measures, toJoin);
|
|
@@ -761,37 +761,37 @@ class BaseQuery {
|
|
|
761
761
|
fullKeyQueryAggregateMeasures(context) {
|
|
762
762
|
const measureToHierarchy = this.collectRootMeasureToHieararchy(context);
|
|
763
763
|
const allMemberChildren = this.collectAllMemberChildren(context);
|
|
764
|
-
const
|
|
765
|
-
const
|
|
766
|
-
if (
|
|
764
|
+
const memberToIsMultiStage = this.collectAllMultiStageMembers(allMemberChildren);
|
|
765
|
+
const hasMultiStageMembers = (m) => {
|
|
766
|
+
if (memberToIsMultiStage[m]) {
|
|
767
767
|
return true;
|
|
768
768
|
}
|
|
769
|
-
return allMemberChildren[m]?.some(c =>
|
|
769
|
+
return allMemberChildren[m]?.some(c => hasMultiStageMembers(c)) || false;
|
|
770
770
|
};
|
|
771
|
-
const measuresToRender = (multiplied, cumulative) => ramda_1.default.pipe(ramda_1.default.values, ramda_1.default.flatten, ramda_1.default.filter(m => m.multiplied === multiplied && this.newMeasure(m.measure).isCumulative() === cumulative && !
|
|
771
|
+
const measuresToRender = (multiplied, cumulative) => ramda_1.default.pipe(ramda_1.default.values, ramda_1.default.flatten, ramda_1.default.filter(m => m.multiplied === multiplied && this.newMeasure(m.measure).isCumulative() === cumulative && !hasMultiStageMembers(m.measure)), ramda_1.default.map(m => m.measure), ramda_1.default.uniq, ramda_1.default.map(m => this.newMeasure(m)));
|
|
772
772
|
const multipliedMeasures = measuresToRender(true, false)(measureToHierarchy);
|
|
773
773
|
const regularMeasures = measuresToRender(false, false)(measureToHierarchy);
|
|
774
774
|
const cumulativeMeasures = ramda_1.default.pipe(ramda_1.default.map(multiplied => ramda_1.default.xprod([multiplied], measuresToRender(multiplied, true)(measureToHierarchy))), ramda_1.default.unnest)([false, true]);
|
|
775
775
|
const withQueries = [];
|
|
776
|
-
const
|
|
776
|
+
const multiStageMembers = ramda_1.default.uniq(this.allMembersConcat(false)
|
|
777
777
|
// TODO boolean logic filter support
|
|
778
|
-
.filter(m => m.expressionPath &&
|
|
779
|
-
.map(m => m.expressionPath())).map(m => this.
|
|
778
|
+
.filter(m => m.expressionPath && hasMultiStageMembers(m.expressionPath()))
|
|
779
|
+
.map(m => m.expressionPath())).map(m => this.multiStageWithQueries(m, {
|
|
780
780
|
dimensions: this.dimensions.map(d => d.dimension),
|
|
781
|
-
|
|
781
|
+
multiStageDimensions: this.dimensions.map(d => d.dimension),
|
|
782
782
|
// TODO accessing timeDimensions directly from options might miss some processing logic
|
|
783
783
|
timeDimensions: this.options.timeDimensions || [],
|
|
784
|
-
|
|
784
|
+
multiStageTimeDimensions: (this.options.timeDimensions || []).filter(td => !!td.granularity),
|
|
785
785
|
// TODO accessing filters directly from options might miss some processing logic
|
|
786
786
|
filters: this.options.filters || []
|
|
787
787
|
}, allMemberChildren, withQueries));
|
|
788
788
|
const usedWithQueries = {};
|
|
789
|
-
|
|
789
|
+
multiStageMembers.forEach(m => this.collectUsedWithQueries(usedWithQueries, m));
|
|
790
790
|
return {
|
|
791
791
|
multipliedMeasures,
|
|
792
792
|
regularMeasures,
|
|
793
793
|
cumulativeMeasures,
|
|
794
|
-
|
|
794
|
+
multiStageMembers,
|
|
795
795
|
withQueries: withQueries.filter(q => usedWithQueries[q.alias])
|
|
796
796
|
};
|
|
797
797
|
}
|
|
@@ -802,9 +802,9 @@ class BaseQuery {
|
|
|
802
802
|
return memberChildren;
|
|
803
803
|
}, context ? ['collectAllMemberChildren', JSON.stringify(context)] : 'collectAllMemberChildren').reduce((a, b) => ({ ...a, ...b }), {});
|
|
804
804
|
}
|
|
805
|
-
|
|
805
|
+
collectAllMultiStageMembers(allMemberChildren) {
|
|
806
806
|
const allMembers = ramda_1.default.uniq(ramda_1.default.flatten(Object.keys(allMemberChildren).map(k => [k].concat(allMemberChildren[k]))));
|
|
807
|
-
return ramda_1.default.fromPairs(allMembers.map(m => ([m, this.memberInstanceByPath(m).
|
|
807
|
+
return ramda_1.default.fromPairs(allMembers.map(m => ([m, this.memberInstanceByPath(m).isMultiStage()])));
|
|
808
808
|
}
|
|
809
809
|
memberInstanceByPath(m) {
|
|
810
810
|
let member;
|
|
@@ -822,17 +822,17 @@ class BaseQuery {
|
|
|
822
822
|
}
|
|
823
823
|
return member;
|
|
824
824
|
}
|
|
825
|
-
|
|
825
|
+
multiStageWithQueries(member, queryContext, memberChildren, withQueries) {
|
|
826
826
|
// TODO calculate based on remove_filter in future
|
|
827
827
|
const wouldNodeApplyFilters = !memberChildren[member];
|
|
828
828
|
let memberFrom = memberChildren[member]
|
|
829
|
-
?.map(child => this.
|
|
829
|
+
?.map(child => this.multiStageWithQueries(child, this.childrenMultiStageContext(member, queryContext, wouldNodeApplyFilters), memberChildren, withQueries));
|
|
830
830
|
const unionFromDimensions = memberFrom ? ramda_1.default.uniq(ramda_1.default.flatten(memberFrom.map(f => f.dimensions))) : queryContext.dimensions;
|
|
831
|
-
const unionDimensionsContext = { ...queryContext, dimensions: unionFromDimensions.filter(d => !this.newDimension(d).
|
|
832
|
-
// TODO is calling
|
|
831
|
+
const unionDimensionsContext = { ...queryContext, dimensions: unionFromDimensions.filter(d => !this.newDimension(d).isMultiStage()) };
|
|
832
|
+
// TODO is calling multiStageWithQueries twice optimal?
|
|
833
833
|
memberFrom = memberChildren[member] &&
|
|
834
|
-
ramda_1.default.uniqBy(f => f.alias, memberChildren[member].map(child => this.
|
|
835
|
-
const selfContext = this.
|
|
834
|
+
ramda_1.default.uniqBy(f => f.alias, memberChildren[member].map(child => this.multiStageWithQueries(child, this.childrenMultiStageContext(member, unionDimensionsContext, wouldNodeApplyFilters), memberChildren, withQueries)));
|
|
835
|
+
const selfContext = this.selfMultiStageContext(member, queryContext, wouldNodeApplyFilters);
|
|
836
836
|
const subQuery = {
|
|
837
837
|
...selfContext,
|
|
838
838
|
...(this.cubeEvaluator.isMeasure(member) ? { measures: [member] } : { measures: [], dimensions: ramda_1.default.uniq(selfContext.dimensions.concat(member)) }),
|
|
@@ -850,7 +850,7 @@ class BaseQuery {
|
|
|
850
850
|
usedQueries[member.alias] = true;
|
|
851
851
|
member.memberFrom?.forEach(m => this.collectUsedWithQueries(usedQueries, m));
|
|
852
852
|
}
|
|
853
|
-
|
|
853
|
+
childrenMultiStageContext(memberPath, queryContext, wouldNodeApplyFilters) {
|
|
854
854
|
let member;
|
|
855
855
|
if (this.cubeEvaluator.isMeasure(memberPath)) {
|
|
856
856
|
member = this.newMeasure(memberPath);
|
|
@@ -888,7 +888,7 @@ class BaseQuery {
|
|
|
888
888
|
};
|
|
889
889
|
return queryContext;
|
|
890
890
|
}
|
|
891
|
-
|
|
891
|
+
selfMultiStageContext(memberPath, queryContext, wouldNodeApplyFilters) {
|
|
892
892
|
let member;
|
|
893
893
|
if (this.cubeEvaluator.isMeasure(memberPath)) {
|
|
894
894
|
member = this.newMeasure(memberPath);
|
|
@@ -904,16 +904,16 @@ class BaseQuery {
|
|
|
904
904
|
if (memberDef.reduceByReferences) {
|
|
905
905
|
queryContext = {
|
|
906
906
|
...queryContext,
|
|
907
|
-
|
|
908
|
-
|
|
907
|
+
multiStageDimensions: ramda_1.default.difference(queryContext.multiStageDimensions, memberDef.reduceByReferences),
|
|
908
|
+
multiStageTimeDimensions: queryContext.multiStageTimeDimensions.filter(td => memberDef.reduceByReferences.indexOf(td.dimension) === -1),
|
|
909
909
|
// dimensions: R.uniq(queryContext.dimensions.concat(memberDef.reduceByReferences))
|
|
910
910
|
};
|
|
911
911
|
}
|
|
912
912
|
if (memberDef.groupByReferences) {
|
|
913
913
|
queryContext = {
|
|
914
914
|
...queryContext,
|
|
915
|
-
|
|
916
|
-
|
|
915
|
+
multiStageDimensions: ramda_1.default.intersection(queryContext.multiStageDimensions, memberDef.groupByReferences),
|
|
916
|
+
multiStageTimeDimensions: queryContext.multiStageTimeDimensions.filter(td => memberDef.groupByReferences.indexOf(td.dimension) !== -1),
|
|
917
917
|
};
|
|
918
918
|
}
|
|
919
919
|
if (!wouldNodeApplyFilters) {
|
|
@@ -927,14 +927,14 @@ class BaseQuery {
|
|
|
927
927
|
else {
|
|
928
928
|
queryContext = {
|
|
929
929
|
...queryContext,
|
|
930
|
-
filters: this.keepFilters(queryContext.filters, filterMember => !this.memberInstanceByPath(filterMember).
|
|
930
|
+
filters: this.keepFilters(queryContext.filters, filterMember => !this.memberInstanceByPath(filterMember).isMultiStage()),
|
|
931
931
|
};
|
|
932
932
|
}
|
|
933
933
|
return queryContext;
|
|
934
934
|
}
|
|
935
935
|
renderWithQuery(withQuery) {
|
|
936
936
|
const fromMeasures = withQuery.memberFrom && ramda_1.default.uniq(ramda_1.default.flatten(withQuery.memberFrom.map(f => f.measures)));
|
|
937
|
-
// TODO get rid of this
|
|
937
|
+
// TODO get rid of this multiStage filter
|
|
938
938
|
const fromDimensions = withQuery.memberFrom && ramda_1.default.uniq(ramda_1.default.flatten(withQuery.memberFrom.map(f => f.dimensions)));
|
|
939
939
|
const fromTimeDimensions = withQuery.memberFrom && ramda_1.default.uniq(ramda_1.default.flatten(withQuery.memberFrom.map(f => (f.timeDimensions || []).map(td => ({ ...td, dateRange: undefined })))));
|
|
940
940
|
const renderedReferenceContext = {
|
|
@@ -951,37 +951,37 @@ class BaseQuery {
|
|
|
951
951
|
};
|
|
952
952
|
const fromSubQuery = fromMeasures && this.newSubQuery({
|
|
953
953
|
measures: fromMeasures,
|
|
954
|
-
// TODO get rid of this
|
|
954
|
+
// TODO get rid of this multiStage filter
|
|
955
955
|
dimensions: fromDimensions,
|
|
956
956
|
timeDimensions: fromTimeDimensions,
|
|
957
|
-
|
|
958
|
-
|
|
957
|
+
multiStageDimensions: withQuery.multiStageDimensions,
|
|
958
|
+
multiStageTimeDimensions: withQuery.multiStageTimeDimensions,
|
|
959
959
|
filters: withQuery.filters,
|
|
960
960
|
// TODO do we need it?
|
|
961
|
-
|
|
961
|
+
multiStageQuery: true,
|
|
962
962
|
disableExternalPreAggregations: true,
|
|
963
963
|
});
|
|
964
964
|
const measures = fromSubQuery && fromMeasures.map(m => fromSubQuery.newMeasure(m));
|
|
965
|
-
// TODO get rid of this
|
|
966
|
-
const
|
|
967
|
-
const
|
|
965
|
+
// TODO get rid of this multiStage filter
|
|
966
|
+
const multiStageDimensions = fromSubQuery && fromDimensions.map(m => fromSubQuery.newDimension(m)).filter(d => d.isMultiStage());
|
|
967
|
+
const multiStageTimeDimensions = fromSubQuery && fromTimeDimensions.map(m => fromSubQuery.newTimeDimension(m)).filter(d => d.isMultiStage());
|
|
968
968
|
// TODO not working yet
|
|
969
|
-
const membersToSelect = measures?.concat(
|
|
969
|
+
const membersToSelect = measures?.concat(multiStageDimensions).concat(multiStageTimeDimensions);
|
|
970
970
|
const select = fromSubQuery && fromSubQuery.outerMeasuresJoinFullKeyQueryAggregate(membersToSelect, membersToSelect, withQuery.memberFrom.map(f => f.alias));
|
|
971
971
|
const fromSql = select && this.wrapInParenthesis(select);
|
|
972
972
|
const subQueryOptions = {
|
|
973
973
|
measures: withQuery.measures,
|
|
974
974
|
dimensions: withQuery.dimensions,
|
|
975
975
|
timeDimensions: withQuery.timeDimensions,
|
|
976
|
-
|
|
977
|
-
|
|
976
|
+
multiStageDimensions: withQuery.multiStageDimensions,
|
|
977
|
+
multiStageTimeDimensions: withQuery.multiStageTimeDimensions,
|
|
978
978
|
filters: withQuery.filters,
|
|
979
979
|
from: fromSql && {
|
|
980
980
|
sql: fromSql,
|
|
981
981
|
alias: `${withQuery.alias}_join`,
|
|
982
982
|
},
|
|
983
983
|
// TODO condition should something else instead of rank
|
|
984
|
-
|
|
984
|
+
multiStageQuery: !!withQuery.measures.find(d => {
|
|
985
985
|
const { type } = this.newMeasure(d).definition();
|
|
986
986
|
return type === 'rank' || BaseQuery.isCalculatedMeasureType(type);
|
|
987
987
|
}),
|
|
@@ -990,9 +990,9 @@ class BaseQuery {
|
|
|
990
990
|
const subQuery = this.newSubQuery(subQueryOptions);
|
|
991
991
|
if (!subQuery.from) {
|
|
992
992
|
const allSubQueryMembers = ramda_1.default.flatten(subQuery.collectFromMembers(false, subQuery.collectMemberNamesFor.bind(subQuery), 'collectMemberNamesFor'));
|
|
993
|
-
const
|
|
994
|
-
if (
|
|
995
|
-
throw new Error(`
|
|
993
|
+
const multiStageMember = allSubQueryMembers.find(m => this.memberInstanceByPath(m).isMultiStage());
|
|
994
|
+
if (multiStageMember) {
|
|
995
|
+
throw new Error(`Multi stage member '${multiStageMember}' lacks FROM clause in sub query: ${JSON.stringify(subQueryOptions)}`);
|
|
996
996
|
}
|
|
997
997
|
}
|
|
998
998
|
return {
|
|
@@ -1719,9 +1719,9 @@ class BaseQuery {
|
|
|
1719
1719
|
if ((this.safeEvaluateSymbolContext().renderedReference || {})[memberPath]) {
|
|
1720
1720
|
return this.evaluateSymbolContext.renderedReference[memberPath];
|
|
1721
1721
|
}
|
|
1722
|
-
// if (symbol.
|
|
1722
|
+
// if (symbol.multiStage) {
|
|
1723
1723
|
// const orderBySql = (symbol.orderBy || []).map(o => ({ sql: this.evaluateSql(cubeName, o.sql), dir: o.dir }));
|
|
1724
|
-
// const partitionBy = this.
|
|
1724
|
+
// const partitionBy = this.multiStageDimensions.length ? `PARTITION BY ${this.multiStageDimensions.map(d => d.dimensionSql()).join(', ')} ` : '';
|
|
1725
1725
|
// if (symbol.type === 'rank') {
|
|
1726
1726
|
// return `${symbol.type}() OVER (${partitionBy}ORDER BY ${orderBySql.map(o => `${o.sql} ${o.dir}`).join(', ')})`;
|
|
1727
1727
|
// }
|
|
@@ -1889,10 +1889,10 @@ class BaseQuery {
|
|
|
1889
1889
|
if (parentMeasure &&
|
|
1890
1890
|
(this.safeEvaluateSymbolContext().foundCompositeCubeMeasures || {})[parentMeasure] &&
|
|
1891
1891
|
!(this.safeEvaluateSymbolContext().foundCompositeCubeMeasures || {})[measurePath]) {
|
|
1892
|
-
this.safeEvaluateSymbolContext().measuresToRender.push({ multiplied: resultMultiplied, measure: measurePath,
|
|
1892
|
+
this.safeEvaluateSymbolContext().measuresToRender.push({ multiplied: resultMultiplied, measure: measurePath, multiStage: symbol.multiStage });
|
|
1893
1893
|
}
|
|
1894
1894
|
if (this.safeEvaluateSymbolContext().foundCompositeCubeMeasures && !parentMeasure) {
|
|
1895
|
-
this.safeEvaluateSymbolContext().rootMeasure.value = { multiplied: resultMultiplied, measure: measurePath,
|
|
1895
|
+
this.safeEvaluateSymbolContext().rootMeasure.value = { multiplied: resultMultiplied, measure: measurePath, multiStage: symbol.multiStage };
|
|
1896
1896
|
}
|
|
1897
1897
|
if (((this.evaluateSymbolContext || {}).renderedReference || {})[measurePath]) {
|
|
1898
1898
|
return this.evaluateSymbolContext.renderedReference[measurePath];
|
|
@@ -1921,14 +1921,14 @@ class BaseQuery {
|
|
|
1921
1921
|
return onGroupedColumn;
|
|
1922
1922
|
}
|
|
1923
1923
|
}
|
|
1924
|
-
if (symbol.
|
|
1925
|
-
const partitionBy = (this.
|
|
1926
|
-
`PARTITION BY ${this.
|
|
1924
|
+
if (symbol.multiStage) {
|
|
1925
|
+
const partitionBy = (this.multiStageDimensions.length || this.multiStageTimeDimensions.length) ?
|
|
1926
|
+
`PARTITION BY ${this.multiStageDimensions.concat(this.multiStageTimeDimensions).map(d => d.dimensionSql()).join(', ')} ` : '';
|
|
1927
1927
|
if (symbol.type === 'rank') {
|
|
1928
1928
|
return `${symbol.type}() OVER (${partitionBy}ORDER BY ${orderBySql.map(o => `${o.sql} ${o.dir}`).join(', ')})`;
|
|
1929
1929
|
}
|
|
1930
|
-
if (!(ramda_1.default.equals(this.
|
|
1931
|
-
ramda_1.default.equals(this.
|
|
1930
|
+
if (!(ramda_1.default.equals(this.multiStageDimensions.map(d => d.expressionPath()), this.dimensions.map(d => d.expressionPath())) &&
|
|
1931
|
+
ramda_1.default.equals(this.multiStageTimeDimensions.map(d => d.expressionPath()), this.timeDimensions.map(d => d.expressionPath())))) {
|
|
1932
1932
|
let funDef;
|
|
1933
1933
|
if (symbol.type === 'countDistinctApprox') {
|
|
1934
1934
|
funDef = this.countDistinctApprox(evaluateSql);
|
|
@@ -1938,7 +1938,7 @@ class BaseQuery {
|
|
|
1938
1938
|
}
|
|
1939
1939
|
else if (BaseQuery.isCalculatedMeasureType(symbol.type)) {
|
|
1940
1940
|
// TODO calculated measure type will be ungrouped
|
|
1941
|
-
// if (this.
|
|
1941
|
+
// if (this.multiStageDimensions.length !== this.dimensions.length) {
|
|
1942
1942
|
// throw new UserError(`Calculated measure '${measurePath}' uses group_by or reduce_by context modifiers while it isn't allowed`);
|
|
1943
1943
|
// }
|
|
1944
1944
|
return evaluateSql;
|
|
@@ -2495,8 +2495,8 @@ class BaseQuery {
|
|
|
2495
2495
|
'{% if filter %}\nWHERE {{ filter }}{% endif %}' +
|
|
2496
2496
|
'{% if group_by %}\nGROUP BY {{ group_by }}{% endif %}' +
|
|
2497
2497
|
'{% if order_by %}\nORDER BY {{ order_by | map(attribute=\'expr\') | join(\', \') }}{% endif %}' +
|
|
2498
|
-
'{% if limit %}\nLIMIT {{ limit }}{% endif %}' +
|
|
2499
|
-
'{% if offset %}\nOFFSET {{ offset }}{% endif %}',
|
|
2498
|
+
'{% if limit is not none %}\nLIMIT {{ limit }}{% endif %}' +
|
|
2499
|
+
'{% if offset is not none %}\nOFFSET {{ offset }}{% endif %}',
|
|
2500
2500
|
group_by_exprs: '{{ group_by | map(attribute=\'index\') | join(\', \') }}',
|
|
2501
2501
|
},
|
|
2502
2502
|
expressions: {
|