@cubejs-backend/schema-compiler 0.30.75 → 0.31.1
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/CHANGELOG.md +31 -0
- package/dist/src/adapter/BaseFilter.d.ts.map +1 -1
- package/dist/src/adapter/BaseFilter.js +9 -3
- package/dist/src/adapter/BaseFilter.js.map +1 -1
- package/dist/src/adapter/BaseQuery.d.ts +14 -0
- package/dist/src/adapter/BaseQuery.d.ts.map +1 -1
- package/dist/src/adapter/BaseQuery.js +84 -34
- package/dist/src/adapter/BaseQuery.js.map +1 -1
- package/dist/src/adapter/PreAggregations.d.ts +23 -1
- package/dist/src/adapter/PreAggregations.d.ts.map +1 -1
- package/dist/src/adapter/PreAggregations.js +119 -38
- package/dist/src/adapter/PreAggregations.js.map +1 -1
- package/dist/src/compiler/CubeEvaluator.d.ts +3 -0
- package/dist/src/compiler/CubeEvaluator.d.ts.map +1 -1
- package/dist/src/compiler/CubeEvaluator.js +54 -0
- package/dist/src/compiler/CubeEvaluator.js.map +1 -1
- package/dist/src/compiler/CubeSymbols.d.ts +3 -1
- package/dist/src/compiler/CubeSymbols.d.ts.map +1 -1
- package/dist/src/compiler/CubeSymbols.js +57 -22
- package/dist/src/compiler/CubeSymbols.js.map +1 -1
- package/dist/src/compiler/CubeValidator.d.ts.map +1 -1
- package/dist/src/compiler/CubeValidator.js +8 -1
- package/dist/src/compiler/CubeValidator.js.map +1 -1
- package/dist/src/compiler/DataSchemaCompiler.d.ts.map +1 -1
- package/dist/src/compiler/DataSchemaCompiler.js +3 -1
- package/dist/src/compiler/DataSchemaCompiler.js.map +1 -1
- package/dist/src/compiler/JoinGraph.d.ts.map +1 -1
- package/dist/src/compiler/JoinGraph.js +21 -7
- package/dist/src/compiler/JoinGraph.js.map +1 -1
- package/dist/src/compiler/transpilers/CubeCheckDuplicatePropTranspiler.js +1 -1
- package/dist/src/compiler/transpilers/CubeCheckDuplicatePropTranspiler.js.map +1 -1
- package/dist/src/compiler/transpilers/CubePropContextTranspiler.js +1 -1
- package/dist/src/compiler/transpilers/CubePropContextTranspiler.js.map +1 -1
- package/dist/src/extensions/Funnels.js +1 -1
- package/dist/src/extensions/Funnels.js.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,37 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.31.1](https://github.com/cube-js/cube.js/compare/v0.31.0...v0.31.1) (2022-10-04)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* Cube not found for path due to FILTER_PARAMS are used in members ([#5417](https://github.com/cube-js/cube.js/issues/5417)) ([bfe76bf](https://github.com/cube-js/cube.js/commit/bfe76bfbf3bd5f51a408088f8f5fefb35e17e22f))
|
|
12
|
+
* **extensions:** fix SELECT handling in the Funnels extensions ([#5397](https://github.com/cube-js/cube.js/issues/5397)) ([041f591](https://github.com/cube-js/cube.js/commit/041f591482cc75d840310a9b7592158c1b33fa37))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# [0.31.0](https://github.com/cube-js/cube.js/compare/v0.30.75...v0.31.0) (2022-10-03)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
* feat!: Cube Views implementation (#5278) ([9937356](https://github.com/cube-js/cube.js/commit/99373563b610d1f15dfc44fafac0c329c1dc9a0d)), closes [#5278](https://github.com/cube-js/cube.js/issues/5278)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* **schema-compiler:** throw an error for the empty pre-aggs ([#5392](https://github.com/cube-js/cube.js/issues/5392)) ([4afd604](https://github.com/cube-js/cube.js/commit/4afd6041dae8175fb8d292e9ee0db15969239c81))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### BREAKING CHANGES
|
|
30
|
+
|
|
31
|
+
* The logic of how cubes are included in joins has been changed. There are multiple member reference constructs that are now forbidden and should be rewritten. You can't reference foreign cubes anymore to define members inside other cubes: `${ForeignCube}.foo`. `foo` member should be defined in `ForeignCube` and referenced as `${ForeignCube.foo}`. You also can't mix references and members without `CUBE` self-reference. For example `${ForeignCube.foo} + bar` is invalid and `${ForeignCube.foo} + ${CUBE}.bar` should be used instead. If not fixed, it'll lead to missing tables in the `FROM` clause.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
6
37
|
## [0.30.75](https://github.com/cube-js/cube.js/compare/v0.30.74...v0.30.75) (2022-09-22)
|
|
7
38
|
|
|
8
39
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseFilter.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseFilter.js"],"names":[],"mappings":"AAaA;IACE,qCAUC;IARC,aAA6B;IAE7B,cAA+B;IAC/B,YAA2B;IAC3B,yBAGC;IAGH,qBAMC;IAID,4BAWC;IAED,kCAYC;IAED,yBAEC;
|
|
1
|
+
{"version":3,"file":"BaseFilter.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseFilter.js"],"names":[],"mappings":"AAaA;IACE,qCAUC;IARC,aAA6B;IAE7B,cAA+B;IAC/B,YAA2B;IAC3B,yBAGC;IAGH,qBAMC;IAID,4BAWC;IAED,kCAYC;IAED,yBAEC;IAqBD,qCAEC;IAED,8BAEC;IAED,sBAcC;IAED,0BAEC;IAED,qBAEC;IAED,6BAEC;IAED,wBAEC;IAED,sBAOC;IAED,mCAEC;IAED,wCAEC;IAED,iCAOC;IAED,sCAEC;IAED,yBAEC;IAED,mCAEC;IAED,sCAEC;IAED;;;;OAIG;IACH,wBAHW,MAAM,UAKhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,UAKhB;IAED;;;;;;;;OAQG;IACH,eANW,MAAM,OACN,OAAO,QACP,MAAM,UAShB;IAED;;;;;;;OAOG;IACH,uBANW,MAAM,OACN,OAAO,oBAEP,MAAM,UAOhB;IAED,6CAEC;IAED,qCAEC;IAED,+BAEC;IAED,iCAUC;IAED,yBAEC;IAED,6BAEC;IAED,oCAUC;IAED,gCAEC;IAED,8BAEC;IAED,iCAEC;IAED,6BAEC;IAED,8BAEC;IAED,6BAEC;IAED,8BAEC;IAED,2CAEC;IAED,mCAGC;IAED,sCAGC;IAED,iCAGC;IAED,kCAGC;IAED,iCAGC;IAED,+BAWC;IAED,qCAKC;IAED,6BAWC;IAED,mCAKC;IAED,4BAEC;CAKF"}
|
|
@@ -75,9 +75,15 @@ class BaseFilter extends BaseDimension_1.BaseDimension {
|
|
|
75
75
|
return this.query.cubeEvaluator.measureByPath(this.measure);
|
|
76
76
|
}
|
|
77
77
|
path() {
|
|
78
|
-
|
|
79
|
-
this.query.cubeEvaluator.parsePath('measures', this.measure)
|
|
80
|
-
|
|
78
|
+
if (this.measure) {
|
|
79
|
+
return this.query.cubeEvaluator.parsePath('measures', this.measure);
|
|
80
|
+
}
|
|
81
|
+
else if (this.query.cubeEvaluator.isInstanceOfType('segments', this.dimension)) {
|
|
82
|
+
return this.query.cubeEvaluator.parsePath('segments', this.dimension);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
return this.query.cubeEvaluator.parsePath('dimensions', this.dimension);
|
|
86
|
+
}
|
|
81
87
|
}
|
|
82
88
|
cube() {
|
|
83
89
|
return this.query.cubeEvaluator.cubeFromPath(this.measure || this.dimension);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseFilter.js","sourceRoot":"","sources":["../../../src/adapter/BaseFilter.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseFilter.js","sourceRoot":"","sources":["../../../src/adapter/BaseFilter.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAAmC;AACnC,0DAA4C;AAC5C,iCAA4C;AAC5C,mDAAkF;AAElF,mDAAgD;AAEhD,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEpE,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AACjG,MAAM,oBAAoB,GAAG,6CAA6C,CAAC;AAC3E,MAAM,SAAS,GAAG,sBAAsB,CAAC;AAEzC,MAAa,UAAW,SAAQ,6BAAa;IAC3C,YAAY,KAAK,EAAE,MAAM;QACvB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,oBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC/D,OAAO,EACP,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAC1C,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,gBAAgB,KAAK,eAAe,EAAE;YAC7C,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACpC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,kEAAkE;IAClE,yBAAyB;IACzB,oBAAoB;QAClB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACnD,IAAI,iBAAiB,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM;YAC/D,iBAAiB,CAAC,YAAY,IAAI,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE;YACzE,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,CACpC,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,IAAI,EAAE,CAAC,EAC9E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CACxD,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,YAAY,CAAC,SAAS;QACpB,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAEzD,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE;YACzD,OAAO,GAAG,CAAC;SACZ;QACD,iDAAiD;QACjD,mFAAmF;QACnF,sEAAsE;QACtE,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,+BAA+B,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IACvI,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACrE;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;YAChF,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACvE;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACzE;IACH,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC9E,CAAC;IAED,mCAAmC;IACnC,mBAAmB,CAAC,KAAK;QACvB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/E,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,gBAAgB,KAAK,UAAU,IAAI,IAAI,CAAC,gBAAgB,KAAK,aAAa,CAAC;IACzF,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7F;QACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,IAAI,IAAI,CAAC,gBAAgB,KAAK,QAAQ,IAAI,IAAI,CAAC,gBAAgB,KAAK,kBAAkB,EAAE;YACzH,OAAO,EAAE,CAAC;SACX;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAC7B,OAAO,WAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;SAC9C;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc;QACZ,OAAO,gBAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAED,WAAW;QACT,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,aAAa;QACX,OAAO,GAAG,CAAC;IACb,CAAC;IAED,cAAc;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,iBAAiB,CAAC,KAAK;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,+BAA+B,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,sBAAsB,CAAC,KAAK;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACT,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;aACpG;YACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,QAAQ;QACtB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,+BAA+B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,CAAC;IAED,aAAa;QACX,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED,aAAa,CAAC,MAAM;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB,CAAC,MAAM;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,MAAM;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,MAAM;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI;QACtB,IAAI,GAAG,IAAI,IAAI,UAAU,CAAC;QAC1B,OAAO,GAAG,YAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAC5D,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAC/C,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,aAAa,CAAC,MAAM,EAAE,GAAG;QACvB,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,iBAAiB,CAAC,GAAG;QACnB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACpE,CAAC;IAED,aAAa,CAAC,KAAK;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,WAAW,CAAC,MAAM;QAChB,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACxB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,OAAO,GAAG,MAAM,MAAM,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,YAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACpF,CAAC;IAED,OAAO,CAAC,MAAM;QACZ,OAAO,GAAG,MAAM,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACrF,CAAC;IAED,cAAc,CAAC,MAAM;QACnB,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACxB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC9B;QAED,OAAO,GAAG,MAAM,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,UAAU,CAAC,MAAM;QACf,OAAO,GAAG,MAAM,WAAW,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;IACxF,CAAC;IAED,QAAQ,CAAC,MAAM;QACb,OAAO,GAAG,MAAM,cAAc,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,MAAM;QAChB,OAAO,GAAG,MAAM,UAAU,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,MAAM;QACZ,OAAO,GAAG,MAAM,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,MAAM;QACb,OAAO,GAAG,MAAM,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,CAAC,MAAM;QACZ,OAAO,GAAG,MAAM,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,MAAM;QACb,OAAO,GAAG,MAAM,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;IACjD,CAAC;IAED,qBAAqB,CAAC,MAAM;QAC1B,OAAO,GAAG,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IAED,gBAAgB,CAAC,MAAM;QACrB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,mBAAmB,CAAC,MAAM;QACxB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,cAAc,CAAC,MAAM;QACnB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,eAAe,CAAC,MAAM;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,cAAc,CAAC,MAAM;QACnB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,IAAI;QACjB,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACjC,OAAO,GAAG,IAAI,eAAe,CAAC;SAC/B;QACD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;SAC/E;QACD,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACzF,CAAC;IAED,oBAAoB,CAAC,IAAI;QACvB,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,6BAAoB,IAAI,IAAI,KAAK,2BAAkB,CAAC,EAAE;YAC1E,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,YAAY,CAAC,IAAI;QACf,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACjC,OAAO,GAAG,IAAI,eAAe,CAAC;SAC/B;QACD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;SAC/E;QACD,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACzF,CAAC;IAED,kBAAkB,CAAC,IAAI;QACrB,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,6BAAoB,IAAI,IAAI,KAAK,2BAAkB,CAAC,EAAE;YAC1E,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;CACF;AA/VD,gCA+VC"}
|
|
@@ -10,6 +10,15 @@
|
|
|
10
10
|
* @property {*} headCommitId
|
|
11
11
|
*/
|
|
12
12
|
export class BaseQuery {
|
|
13
|
+
static emptyParametrizedContextSymbols(cubeEvaluator: any, allocateParam: any): {
|
|
14
|
+
filterParams: {};
|
|
15
|
+
sqlUtils: {
|
|
16
|
+
convertTz: (field: any) => any;
|
|
17
|
+
};
|
|
18
|
+
securityContext: any;
|
|
19
|
+
};
|
|
20
|
+
static contextSymbolsProxyFrom(symbols: any, allocateParam: any): any;
|
|
21
|
+
static filterProxyFromAllFilters(allFilters: any, cubeEvaluator: any, allocateParam: any): {};
|
|
13
22
|
/**
|
|
14
23
|
* BaseQuery class constructor.
|
|
15
24
|
* @param {Compilers|*} compilers
|
|
@@ -59,6 +68,8 @@ export class BaseQuery {
|
|
|
59
68
|
}): any;
|
|
60
69
|
get allCubeNames(): any;
|
|
61
70
|
collectedCubeNames: any;
|
|
71
|
+
get allJoinHints(): any;
|
|
72
|
+
collectedJoinHints: any;
|
|
62
73
|
get dataSource(): any;
|
|
63
74
|
cubeDataSource(cube: any): any;
|
|
64
75
|
get aliasNameToMember(): {
|
|
@@ -197,6 +208,7 @@ export class BaseQuery {
|
|
|
197
208
|
cubeSql(cube: any): any;
|
|
198
209
|
traverseSymbol(s: any): any;
|
|
199
210
|
collectCubeNames(excludeTimeDimensions: any): any;
|
|
211
|
+
collectJoinHints(excludeTimeDimensions?: boolean): any;
|
|
200
212
|
collectFromMembers(excludeTimeDimensions: any, fn: any, methodName: any): any;
|
|
201
213
|
collectFrom(membersToCollectFrom: any, fn: any, methodName: any, cache: any): any[];
|
|
202
214
|
collectSubQueryDimensionsFor(fn: any): never[];
|
|
@@ -242,6 +254,7 @@ export class BaseQuery {
|
|
|
242
254
|
autoPrefixWithCubeName(cubeName: any, sql: any): any;
|
|
243
255
|
wrapSegmentForDimensionSelect(sql: any): any;
|
|
244
256
|
pushCubeNameForCollectionIfNecessary(cubeName: any): void;
|
|
257
|
+
pushJoinHints(joinHints: any): void;
|
|
245
258
|
pushMemberNameForCollectionIfNecessary(cubeName: any, name: any): void;
|
|
246
259
|
safeEvaluateSymbolContext(): any;
|
|
247
260
|
evaluateSymbolSql(cubeName: any, name: any, symbol: any): any;
|
|
@@ -259,6 +272,7 @@ export class BaseQuery {
|
|
|
259
272
|
*/
|
|
260
273
|
cubeAlias(cubeName: string): string;
|
|
261
274
|
collectCubeNamesFor(fn: any): never[];
|
|
275
|
+
collectJoinHintsFor(fn: any): never[];
|
|
262
276
|
collectMemberNamesFor(fn: any): never[];
|
|
263
277
|
collectMultipliedMeasures(fn: any): any[];
|
|
264
278
|
collectLeafMeasures(fn: any): unknown[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"AA+CA;;;;;;;;;;GAUG;AAEH;
|
|
1
|
+
{"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"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"}
|
|
@@ -194,7 +194,7 @@ class BaseQuery {
|
|
|
194
194
|
this.measureFilters = filters.filter(f => f.measure && f.operator !== 'measure_filter' && f.operator !== 'measureFilter').map(this.initFilter.bind(this));
|
|
195
195
|
this.timeDimensions = (this.options.timeDimensions || []).map(dimension => {
|
|
196
196
|
if (!dimension.dimension) {
|
|
197
|
-
const join = this.joinGraph.buildJoin(this.
|
|
197
|
+
const join = this.joinGraph.buildJoin(this.collectJoinHints(true));
|
|
198
198
|
if (!join) {
|
|
199
199
|
return undefined;
|
|
200
200
|
}
|
|
@@ -207,7 +207,7 @@ class BaseQuery {
|
|
|
207
207
|
return dimension;
|
|
208
208
|
}).filter(ramda_1.default.identity).map(this.newTimeDimension.bind(this));
|
|
209
209
|
this.allFilters = this.timeDimensions.concat(this.segments).concat(this.filters);
|
|
210
|
-
this.join = this.joinGraph.buildJoin(this.
|
|
210
|
+
this.join = this.joinGraph.buildJoin(this.allJoinHints);
|
|
211
211
|
this.cubeAliasPrefix = this.options.cubeAliasPrefix;
|
|
212
212
|
this.preAggregationsSchemaOption =
|
|
213
213
|
this.options.preAggregationsSchema != null ? this.options.preAggregationsSchema : DEFAULT_PREAGGREGATIONS_SCHEMA;
|
|
@@ -256,6 +256,12 @@ class BaseQuery {
|
|
|
256
256
|
}
|
|
257
257
|
return this.collectedCubeNames;
|
|
258
258
|
}
|
|
259
|
+
get allJoinHints() {
|
|
260
|
+
if (!this.collectedJoinHints) {
|
|
261
|
+
this.collectedJoinHints = this.collectJoinHints();
|
|
262
|
+
}
|
|
263
|
+
return this.collectedJoinHints;
|
|
264
|
+
}
|
|
259
265
|
get dataSource() {
|
|
260
266
|
const dataSources = ramda_1.default.uniq(this.allCubeNames.map(c => this.cubeDataSource(c)));
|
|
261
267
|
if (dataSources.length > 1 && !this.externalPreAggregationQuery()) {
|
|
@@ -896,8 +902,8 @@ class BaseQuery {
|
|
|
896
902
|
let keyCubeInlineLeftJoinConditions;
|
|
897
903
|
const measureSubQueryDimensions = this.collectFrom(measures, this.collectSubQueryDimensionsFor.bind(this), 'collectSubQueryDimensionsFor');
|
|
898
904
|
if (shouldBuildJoinForMeasureSelect) {
|
|
899
|
-
const
|
|
900
|
-
const measuresJoin = this.joinGraph.buildJoin(
|
|
905
|
+
const joinHints = this.collectFrom(measures, this.collectJoinHintsFor.bind(this), 'collectJoinHintsFor');
|
|
906
|
+
const measuresJoin = this.joinGraph.buildJoin(joinHints);
|
|
901
907
|
if (measuresJoin.multiplicationFactor[keyCubeName]) {
|
|
902
908
|
throw new UserError_1.UserError(`'${measures.map(m => m.measure).join(', ')}' reference cubes that lead to row multiplication.`);
|
|
903
909
|
}
|
|
@@ -938,9 +944,10 @@ class BaseQuery {
|
|
|
938
944
|
}
|
|
939
945
|
checkShouldBuildJoinForMeasureSelect(measures, keyCubeName) {
|
|
940
946
|
return measures.map(measure => {
|
|
941
|
-
const
|
|
942
|
-
|
|
943
|
-
|
|
947
|
+
const cubes = this.collectFrom([measure], this.collectCubeNamesFor.bind(this), 'collectCubeNamesFor');
|
|
948
|
+
const joinHints = this.collectFrom([measure], this.collectJoinHintsFor.bind(this), 'collectJoinHintsFor');
|
|
949
|
+
if (ramda_1.default.any(cubeName => keyCubeName !== cubeName, cubes)) {
|
|
950
|
+
const measuresJoin = this.joinGraph.buildJoin(joinHints);
|
|
944
951
|
if (measuresJoin.multiplicationFactor[keyCubeName]) {
|
|
945
952
|
throw new UserError_1.UserError(`'${measure.measure}' references cubes that lead to row multiplication. Please rewrite it using sub query.`);
|
|
946
953
|
}
|
|
@@ -1000,6 +1007,9 @@ class BaseQuery {
|
|
|
1000
1007
|
collectCubeNames(excludeTimeDimensions) {
|
|
1001
1008
|
return this.collectFromMembers(excludeTimeDimensions, this.collectCubeNamesFor.bind(this), 'collectCubeNamesFor');
|
|
1002
1009
|
}
|
|
1010
|
+
collectJoinHints(excludeTimeDimensions = false) {
|
|
1011
|
+
return this.collectFromMembers(excludeTimeDimensions, this.collectJoinHintsFor.bind(this), 'collectJoinHintsFor');
|
|
1012
|
+
}
|
|
1003
1013
|
collectFromMembers(excludeTimeDimensions, fn, methodName) {
|
|
1004
1014
|
const membersToCollectFrom = this.measures
|
|
1005
1015
|
.concat(this.dimensions)
|
|
@@ -1131,13 +1141,6 @@ class BaseQuery {
|
|
|
1131
1141
|
return this.dimensions.concat(this.timeDimensions);
|
|
1132
1142
|
}
|
|
1133
1143
|
dimensionSql(dimension) {
|
|
1134
|
-
const context = this.safeEvaluateSymbolContext();
|
|
1135
|
-
if (context.rollupQuery) {
|
|
1136
|
-
return this.escapeColumnName(dimension.unescapedAliasName(context.rollupGranularity));
|
|
1137
|
-
}
|
|
1138
|
-
else if (context.wrapQuery) {
|
|
1139
|
-
return this.escapeColumnName(dimension.unescapedAliasName(context.wrappedGranularity));
|
|
1140
|
-
}
|
|
1141
1144
|
return this.evaluateSymbolSql(dimension.path()[0], dimension.path()[1], dimension.dimensionDefinition());
|
|
1142
1145
|
}
|
|
1143
1146
|
segmentSql(segment) {
|
|
@@ -1160,11 +1163,30 @@ class BaseQuery {
|
|
|
1160
1163
|
this.evaluateSymbolContext.cubeNames.push(cubeName);
|
|
1161
1164
|
}
|
|
1162
1165
|
}
|
|
1166
|
+
pushJoinHints(joinHints) {
|
|
1167
|
+
if (this.safeEvaluateSymbolContext().joinHints && joinHints) {
|
|
1168
|
+
if (joinHints.length === 1) {
|
|
1169
|
+
[joinHints] = joinHints;
|
|
1170
|
+
}
|
|
1171
|
+
this.safeEvaluateSymbolContext().joinHints.push(joinHints);
|
|
1172
|
+
}
|
|
1173
|
+
}
|
|
1163
1174
|
pushMemberNameForCollectionIfNecessary(cubeName, name) {
|
|
1164
|
-
this.
|
|
1175
|
+
const pathFromArray = this.cubeEvaluator.pathFromArray([cubeName, name]);
|
|
1176
|
+
if (this.cubeEvaluator.byPathAnyType(pathFromArray).ownedByCube) {
|
|
1177
|
+
const joinHints = this.cubeEvaluator.joinHints();
|
|
1178
|
+
if (joinHints && joinHints.length) {
|
|
1179
|
+
joinHints.forEach(cube => this.pushCubeNameForCollectionIfNecessary(cube));
|
|
1180
|
+
this.pushJoinHints(joinHints);
|
|
1181
|
+
}
|
|
1182
|
+
else {
|
|
1183
|
+
this.pushCubeNameForCollectionIfNecessary(cubeName);
|
|
1184
|
+
this.pushJoinHints(cubeName);
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1165
1187
|
const context = this.safeEvaluateSymbolContext();
|
|
1166
1188
|
if (context.memberNames && name) {
|
|
1167
|
-
context.memberNames.push(
|
|
1189
|
+
context.memberNames.push(pathFromArray);
|
|
1168
1190
|
}
|
|
1169
1191
|
}
|
|
1170
1192
|
safeEvaluateSymbolContext() {
|
|
@@ -1172,7 +1194,9 @@ class BaseQuery {
|
|
|
1172
1194
|
}
|
|
1173
1195
|
evaluateSymbolSql(cubeName, name, symbol) {
|
|
1174
1196
|
this.pushMemberNameForCollectionIfNecessary(cubeName, name);
|
|
1175
|
-
|
|
1197
|
+
const memberPathArray = [cubeName, name];
|
|
1198
|
+
const memberPath = this.cubeEvaluator.pathFromArray(memberPathArray);
|
|
1199
|
+
if (this.cubeEvaluator.isMeasure(memberPathArray)) {
|
|
1176
1200
|
let parentMeasure;
|
|
1177
1201
|
if (this.safeEvaluateSymbolContext().compositeCubeMeasures ||
|
|
1178
1202
|
this.safeEvaluateSymbolContext().leafMeasures) {
|
|
@@ -1180,11 +1204,11 @@ class BaseQuery {
|
|
|
1180
1204
|
if (this.safeEvaluateSymbolContext().compositeCubeMeasures) {
|
|
1181
1205
|
if (parentMeasure &&
|
|
1182
1206
|
(this.cubeEvaluator.cubeNameFromPath(parentMeasure) !== cubeName ||
|
|
1183
|
-
this.newMeasure(this.cubeEvaluator.pathFromArray(
|
|
1207
|
+
this.newMeasure(this.cubeEvaluator.pathFromArray(memberPathArray)).isCumulative())) {
|
|
1184
1208
|
this.safeEvaluateSymbolContext().compositeCubeMeasures[parentMeasure] = true;
|
|
1185
1209
|
}
|
|
1186
1210
|
}
|
|
1187
|
-
this.safeEvaluateSymbolContext().currentMeasure = this.cubeEvaluator.pathFromArray(
|
|
1211
|
+
this.safeEvaluateSymbolContext().currentMeasure = this.cubeEvaluator.pathFromArray(memberPathArray);
|
|
1188
1212
|
if (this.safeEvaluateSymbolContext().leafMeasures) {
|
|
1189
1213
|
if (parentMeasure) {
|
|
1190
1214
|
this.safeEvaluateSymbolContext().leafMeasures[parentMeasure] = false;
|
|
@@ -1203,13 +1227,15 @@ class BaseQuery {
|
|
|
1203
1227
|
}
|
|
1204
1228
|
return result;
|
|
1205
1229
|
}
|
|
1206
|
-
else if (this.cubeEvaluator.isDimension(
|
|
1230
|
+
else if (this.cubeEvaluator.isDimension(memberPathArray)) {
|
|
1231
|
+
if ((this.safeEvaluateSymbolContext().renderedReference || {})[memberPath]) {
|
|
1232
|
+
return this.evaluateSymbolContext.renderedReference[memberPath];
|
|
1233
|
+
}
|
|
1207
1234
|
if (symbol.subQuery) {
|
|
1208
|
-
const dimensionPath = this.cubeEvaluator.pathFromArray([cubeName, name]);
|
|
1209
1235
|
if (this.safeEvaluateSymbolContext().subQueryDimensions) {
|
|
1210
|
-
this.safeEvaluateSymbolContext().subQueryDimensions.push(
|
|
1236
|
+
this.safeEvaluateSymbolContext().subQueryDimensions.push(memberPath);
|
|
1211
1237
|
}
|
|
1212
|
-
return this.escapeColumnName(this.aliasName(
|
|
1238
|
+
return this.escapeColumnName(this.aliasName(memberPath));
|
|
1213
1239
|
}
|
|
1214
1240
|
if (symbol.case) {
|
|
1215
1241
|
return this.renderDimensionCase(symbol, cubeName);
|
|
@@ -1225,7 +1251,10 @@ class BaseQuery {
|
|
|
1225
1251
|
return this.autoPrefixAndEvaluateSql(cubeName, symbol.sql);
|
|
1226
1252
|
}
|
|
1227
1253
|
}
|
|
1228
|
-
else if (this.cubeEvaluator.isSegment(
|
|
1254
|
+
else if (this.cubeEvaluator.isSegment(memberPathArray)) {
|
|
1255
|
+
if ((this.safeEvaluateSymbolContext().renderedReference || {})[memberPath]) {
|
|
1256
|
+
return this.evaluateSymbolContext.renderedReference[memberPath];
|
|
1257
|
+
}
|
|
1229
1258
|
return this.autoPrefixWithCubeName(cubeName, this.evaluateSql(cubeName, symbol.sql));
|
|
1230
1259
|
}
|
|
1231
1260
|
return this.evaluateSql(cubeName, symbol.sql);
|
|
@@ -1250,10 +1279,8 @@ class BaseQuery {
|
|
|
1250
1279
|
options = options || {};
|
|
1251
1280
|
const self = this;
|
|
1252
1281
|
const { cubeEvaluator } = this;
|
|
1253
|
-
this.pushCubeNameForCollectionIfNecessary(cubeName);
|
|
1254
1282
|
return cubeEvaluator.resolveSymbolsCall(sql, (name) => {
|
|
1255
1283
|
const nextCubeName = cubeEvaluator.symbols[name] && name || cubeName;
|
|
1256
|
-
this.pushCubeNameForCollectionIfNecessary(nextCubeName);
|
|
1257
1284
|
const resolvedSymbol = cubeEvaluator.resolveSymbol(cubeName, name);
|
|
1258
1285
|
// eslint-disable-next-line no-underscore-dangle
|
|
1259
1286
|
if (resolvedSymbol._objectWithResolvedProperties) {
|
|
@@ -1264,7 +1291,8 @@ class BaseQuery {
|
|
|
1264
1291
|
sqlResolveFn: options.sqlResolveFn || ((symbol, cube, n) => self.evaluateSymbolSql(cube, n, symbol)),
|
|
1265
1292
|
cubeAliasFn: self.cubeAlias.bind(self),
|
|
1266
1293
|
contextSymbols: this.parametrizedContextSymbols(),
|
|
1267
|
-
query: this
|
|
1294
|
+
query: this,
|
|
1295
|
+
collectJoinHints: true,
|
|
1268
1296
|
});
|
|
1269
1297
|
}
|
|
1270
1298
|
withCubeAliasPrefix(cubeAliasPrefix, fn) {
|
|
@@ -1287,6 +1315,11 @@ class BaseQuery {
|
|
|
1287
1315
|
this.evaluateSymbolSqlWithContext(fn, context);
|
|
1288
1316
|
return ramda_1.default.uniq(context.cubeNames);
|
|
1289
1317
|
}
|
|
1318
|
+
collectJoinHintsFor(fn) {
|
|
1319
|
+
const context = { joinHints: [] };
|
|
1320
|
+
this.evaluateSymbolSqlWithContext(fn, context);
|
|
1321
|
+
return context.joinHints;
|
|
1322
|
+
}
|
|
1290
1323
|
collectMemberNamesFor(fn) {
|
|
1291
1324
|
const context = { memberNames: [] };
|
|
1292
1325
|
this.evaluateSymbolSqlWithContext(fn, context);
|
|
@@ -1974,7 +2007,19 @@ class BaseQuery {
|
|
|
1974
2007
|
}
|
|
1975
2008
|
return this.parametrizedContextSymbolsValue;
|
|
1976
2009
|
}
|
|
2010
|
+
static emptyParametrizedContextSymbols(cubeEvaluator, allocateParam) {
|
|
2011
|
+
return {
|
|
2012
|
+
filterParams: BaseQuery.filterProxyFromAllFilters(null, cubeEvaluator, allocateParam),
|
|
2013
|
+
sqlUtils: {
|
|
2014
|
+
convertTz: (field) => field,
|
|
2015
|
+
},
|
|
2016
|
+
securityContext: BaseQuery.contextSymbolsProxyFrom({}, allocateParam),
|
|
2017
|
+
};
|
|
2018
|
+
}
|
|
1977
2019
|
contextSymbolsProxy(symbols) {
|
|
2020
|
+
return BaseQuery.contextSymbolsProxyFrom(symbols, this.paramAllocator.allocateParam.bind(this.paramAllocator));
|
|
2021
|
+
}
|
|
2022
|
+
static contextSymbolsProxyFrom(symbols, allocateParam) {
|
|
1978
2023
|
return new Proxy(symbols, {
|
|
1979
2024
|
get: (target, name) => {
|
|
1980
2025
|
const propValue = target[name];
|
|
@@ -1982,8 +2027,8 @@ class BaseQuery {
|
|
|
1982
2027
|
filter: (column) => {
|
|
1983
2028
|
if (paramValue) {
|
|
1984
2029
|
const value = Array.isArray(paramValue) ?
|
|
1985
|
-
paramValue.map(
|
|
1986
|
-
|
|
2030
|
+
paramValue.map(allocateParam) :
|
|
2031
|
+
allocateParam(paramValue);
|
|
1987
2032
|
if (typeof column === 'function') {
|
|
1988
2033
|
return column(value);
|
|
1989
2034
|
}
|
|
@@ -2004,25 +2049,30 @@ class BaseQuery {
|
|
|
2004
2049
|
unsafeValue: () => paramValue
|
|
2005
2050
|
});
|
|
2006
2051
|
return methods(target)[name] ||
|
|
2007
|
-
typeof propValue === 'object' && propValue !== null &&
|
|
2052
|
+
typeof propValue === 'object' && propValue !== null && BaseQuery.contextSymbolsProxyFrom(propValue, allocateParam) ||
|
|
2008
2053
|
methods(propValue);
|
|
2009
2054
|
}
|
|
2010
2055
|
});
|
|
2011
2056
|
}
|
|
2012
2057
|
filtersProxy() {
|
|
2013
2058
|
const { allFilters } = this;
|
|
2059
|
+
return BaseQuery.filterProxyFromAllFilters(allFilters, this.cubeEvaluator, this.paramAllocator.allocateParam.bind(this.paramAllocator));
|
|
2060
|
+
}
|
|
2061
|
+
static filterProxyFromAllFilters(allFilters, cubeEvaluator, allocateParam) {
|
|
2014
2062
|
return new Proxy({}, {
|
|
2015
2063
|
get: (target, name) => {
|
|
2016
2064
|
if (name === '_objectWithResolvedProperties') {
|
|
2017
2065
|
return true;
|
|
2018
2066
|
}
|
|
2019
|
-
|
|
2067
|
+
// allFilters is null whenever it's used to test if the member is owned by cube so it should always render to `1 = 1`
|
|
2068
|
+
// and do not check cube validity as it's part of compilation step.
|
|
2069
|
+
const cubeName = allFilters && cubeEvaluator.cubeNameFromPath(name);
|
|
2020
2070
|
return new Proxy({ cube: cubeName }, {
|
|
2021
2071
|
get: (cubeNameObj, propertyName) => {
|
|
2022
|
-
const filters = allFilters.filter(f => f.dimension ===
|
|
2072
|
+
const filters = allFilters === null || allFilters === void 0 ? void 0 : allFilters.filter(f => f.dimension === cubeEvaluator.pathFromArray([cubeNameObj.cube, propertyName]));
|
|
2023
2073
|
return {
|
|
2024
2074
|
filter: (column) => {
|
|
2025
|
-
if (!filters.length) {
|
|
2075
|
+
if (!filters || !filters.length) {
|
|
2026
2076
|
return '1 = 1';
|
|
2027
2077
|
}
|
|
2028
2078
|
return filters.map(filter => {
|
|
@@ -2030,7 +2080,7 @@ class BaseQuery {
|
|
|
2030
2080
|
if (filterParams && filterParams.length) {
|
|
2031
2081
|
if (typeof column === 'function') {
|
|
2032
2082
|
// eslint-disable-next-line prefer-spread
|
|
2033
|
-
return column.apply(null, filterParams.map(
|
|
2083
|
+
return column.apply(null, filterParams.map(allocateParam));
|
|
2034
2084
|
}
|
|
2035
2085
|
else {
|
|
2036
2086
|
return filter.conditionSql(column);
|