@cubejs-backend/schema-compiler 0.33.50 → 0.33.53

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 (33) hide show
  1. package/dist/src/adapter/BaseDimension.d.ts +4 -0
  2. package/dist/src/adapter/BaseDimension.d.ts.map +1 -1
  3. package/dist/src/adapter/BaseDimension.js +25 -0
  4. package/dist/src/adapter/BaseDimension.js.map +1 -1
  5. package/dist/src/adapter/BaseMeasure.d.ts +2 -1
  6. package/dist/src/adapter/BaseMeasure.d.ts.map +1 -1
  7. package/dist/src/adapter/BaseMeasure.js +4 -2
  8. package/dist/src/adapter/BaseMeasure.js.map +1 -1
  9. package/dist/src/adapter/BaseQuery.d.ts +2 -2
  10. package/dist/src/adapter/BaseQuery.d.ts.map +1 -1
  11. package/dist/src/adapter/BaseQuery.js +23 -10
  12. package/dist/src/adapter/BaseQuery.js.map +1 -1
  13. package/dist/src/adapter/MssqlQuery.d.ts +1 -1
  14. package/dist/src/adapter/MssqlQuery.d.ts.map +1 -1
  15. package/dist/src/adapter/MssqlQuery.js +2 -2
  16. package/dist/src/adapter/MssqlQuery.js.map +1 -1
  17. package/dist/src/adapter/ParamAllocator.d.ts +1 -0
  18. package/dist/src/adapter/ParamAllocator.d.ts.map +1 -1
  19. package/dist/src/adapter/ParamAllocator.js +2 -2
  20. package/dist/src/adapter/ParamAllocator.js.map +1 -1
  21. package/dist/src/adapter/PostgresQuery.d.ts +1 -1
  22. package/dist/src/adapter/PostgresQuery.d.ts.map +1 -1
  23. package/dist/src/adapter/PostgresQuery.js +2 -2
  24. package/dist/src/adapter/PostgresQuery.js.map +1 -1
  25. package/dist/src/compiler/CubeEvaluator.d.ts +0 -17
  26. package/dist/src/compiler/CubeEvaluator.d.ts.map +1 -1
  27. package/dist/src/compiler/CubeEvaluator.js +1 -178
  28. package/dist/src/compiler/CubeEvaluator.js.map +1 -1
  29. package/dist/src/compiler/CubeSymbols.d.ts +18 -0
  30. package/dist/src/compiler/CubeSymbols.d.ts.map +1 -1
  31. package/dist/src/compiler/CubeSymbols.js +186 -2
  32. package/dist/src/compiler/CubeSymbols.js.map +1 -1
  33. package/package.json +3 -3
@@ -1,6 +1,10 @@
1
1
  export class BaseDimension {
2
2
  constructor(query: any, dimension: any);
3
3
  query: any;
4
+ expression: any;
5
+ expressionCubeName: any;
6
+ expressionName: any;
7
+ isMemberExpression: boolean | undefined;
4
8
  dimension: any;
5
9
  selectColumns(): string[];
6
10
  hasNoRemapping(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDimension.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseDimension.js"],"names":[],"mappings":"AAAA;IACE,wCAGC;IAFC,WAAkB;IAClB,eAA0B;IAG5B,0BAEC;IAED,0BAEC;IAED,oCAEC;IAED,oBAKC;IAED,qBAEC;IAED,8BAEC;IAED,YAEC;IAED,2BAKC;IAED,kBAEC;IAED,iBAGC;IAED,0BAEC;IAED,qBAEC;IAED,YAKC;CACF"}
1
+ {"version":3,"file":"BaseDimension.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseDimension.js"],"names":[],"mappings":"AAAA;IACE,wCASC;IARC,WAAkB;IAEhB,gBAAsC;IACtC,wBAA4C;IAC5C,oBAA2F;IAC3F,wCAAgD;IAElD,eAA0B;IAG5B,0BAEC;IAED,0BAEC;IAED,oCAEC;IAED,oBAQC;IAED,qBAEC;IAED,8BAEC;IAED,YAKC;IAED,2BAKC;IAED,kBASC;IAED,iBAGC;IAED,0BAKC;IAED,qBAEC;IAED,YAQC;CACF"}
@@ -4,6 +4,12 @@ exports.BaseDimension = void 0;
4
4
  class BaseDimension {
5
5
  constructor(query, dimension) {
6
6
  this.query = query;
7
+ if (dimension && dimension.expression) {
8
+ this.expression = dimension.expression;
9
+ this.expressionCubeName = dimension.cubeName;
10
+ this.expressionName = dimension.expressionName || `${dimension.cubeName}.${dimension.name}`;
11
+ this.isMemberExpression = !!dimension.definition;
12
+ }
7
13
  this.dimension = dimension;
8
14
  }
9
15
  selectColumns() {
@@ -16,6 +22,9 @@ class BaseDimension {
16
22
  return [`${this.aliasName()}`];
17
23
  }
18
24
  dimensionSql() {
25
+ if (this.expression) {
26
+ return this.query.evaluateSymbolSql(this.expressionCubeName, this.expressionName, this.definition(), 'dimension');
27
+ }
19
28
  if (this.query.cubeEvaluator.isSegment(this.dimension)) {
20
29
  return this.query.wrapSegmentForDimensionSelect(this.query.dimensionSql(this));
21
30
  }
@@ -28,6 +37,9 @@ class BaseDimension {
28
37
  return [this];
29
38
  }
30
39
  cube() {
40
+ if (this.expression) {
41
+ return this.query.cubeEvaluator.cubeFromPath(this.expressionCubeName);
42
+ }
31
43
  return this.query.cubeEvaluator.cubeFromPath(this.dimension);
32
44
  }
33
45
  dimensionDefinition() {
@@ -37,6 +49,13 @@ class BaseDimension {
37
49
  return this.query.cubeEvaluator.dimensionByPath(this.dimension);
38
50
  }
39
51
  definition() {
52
+ if (this.expression) {
53
+ return {
54
+ sql: this.expression,
55
+ // TODO use actual dimension type even though it isn't used right now
56
+ type: 'number'
57
+ };
58
+ }
40
59
  return this.dimensionDefinition();
41
60
  }
42
61
  aliasName() {
@@ -44,12 +63,18 @@ class BaseDimension {
44
63
  return this.query.escapeColumnName(this.unescapedAliasName());
45
64
  }
46
65
  unescapedAliasName() {
66
+ if (this.expression) {
67
+ return this.query.aliasName(this.expressionName);
68
+ }
47
69
  return this.query.aliasName(this.dimension);
48
70
  }
49
71
  dateFieldType() {
50
72
  return this.dimensionDefinition().fieldType;
51
73
  }
52
74
  path() {
75
+ if (this.expression) {
76
+ return null;
77
+ }
53
78
  if (this.query.cubeEvaluator.isSegment(this.dimension)) {
54
79
  return this.query.cubeEvaluator.parsePath('segments', this.dimension);
55
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDimension.js","sourceRoot":"","sources":["../../../src/adapter/BaseDimension.js"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IACxB,YAAY,KAAK,EAAE,SAAS;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,aAAa;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;IAClD,CAAC;IAED,uBAAuB;QACrB,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,YAAY;QACV,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,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC;IACxC,CAAC;IAED,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACtD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC/D;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACpC,CAAC;IAED,SAAS;QACP,iDAAiD;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC;IAC9C,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACtD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACvE;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;CACF;AAnED,sCAmEC"}
1
+ {"version":3,"file":"BaseDimension.js","sourceRoot":"","sources":["../../../src/adapter/BaseDimension.js"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@ export class BaseMeasure {
4
4
  query: any;
5
5
  expression: any;
6
6
  expressionCubeName: any;
7
- expressionName: string | undefined;
7
+ expressionName: any;
8
+ isMemberExpression: boolean | undefined;
8
9
  measure: any;
9
10
  getMembers(): BaseMeasure[];
10
11
  selectColumns(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMeasure.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseMeasure.js"],"names":[],"mappings":"AAEA;IA2FE,8CAEC;IA5FD,sCAQC;IAPC,WAAkB;IAEhB,gBAAoC;IACpC,wBAA0C;IAC1C,mCAA2D;IAE7D,aAAsB;IAGxB,4BAEC;IAED,0BAEC;IAED,0BAEC;IAED,oCAEC;IAED,4BAOC;IAED,kBAKC;IAED,YAKC;IAED,yBAEC;IAED,kBAQC;IAED,iBAEC;IAED,0BAKC;IAED,wBAKC;IAED,sBAOC;IAMD,+BAKC;IAED,yBAWC;IAED,yBASC;IAED,0DAEC;IAED,+FAgBC;IAED,kCAEC;IAED,qBAEC;IAED,YAKC;CACF"}
1
+ {"version":3,"file":"BaseMeasure.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseMeasure.js"],"names":[],"mappings":"AAEA;IA6FE,8CAEC;IA9FD,sCASC;IARC,WAAkB;IAEhB,gBAAoC;IACpC,wBAA0C;IAC1C,oBAAqF;IACrF,wCAA8C;IAEhD,aAAsB;IAGxB,4BAEC;IAED,0BAEC;IAED,0BAEC;IAED,oCAEC;IAED,4BAOC;IAED,kBAKC;IAED,YAKC;IAED,yBAEC;IAED,kBASC;IAED,iBAEC;IAED,0BAKC;IAED,wBAKC;IAED,sBAOC;IAMD,+BAKC;IAED,yBAWC;IAED,yBASC;IAED,0DAEC;IAED,+FAgBC;IAED,kCAEC;IAED,qBAEC;IAED,YAKC;CACF"}
@@ -8,7 +8,8 @@ class BaseMeasure {
8
8
  if (measure.expression) {
9
9
  this.expression = measure.expression;
10
10
  this.expressionCubeName = measure.cubeName;
11
- this.expressionName = `${measure.cubeName}.${measure.name}`;
11
+ this.expressionName = measure.expressionName || `${measure.cubeName}.${measure.name}`;
12
+ this.isMemberExpression = !!measure.definition;
12
13
  }
13
14
  this.measure = measure;
14
15
  }
@@ -31,7 +32,7 @@ class BaseMeasure {
31
32
  }
32
33
  measureSql() {
33
34
  if (this.expression) {
34
- return this.query.evaluateSql(this.expressionCubeName, this.expression);
35
+ return this.query.evaluateSymbolSql(this.expressionCubeName, this.expressionName, this.definition(), 'measure');
35
36
  }
36
37
  return this.query.measureSql(this);
37
38
  }
@@ -48,6 +49,7 @@ class BaseMeasure {
48
49
  if (this.expression) {
49
50
  return {
50
51
  sql: this.expression,
52
+ // TODO use actual measure type even though it isn't used right now
51
53
  type: 'number'
52
54
  };
53
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMeasure.js","sourceRoot":"","sources":["../../../src/adapter/BaseMeasure.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseMeasure.js","sourceRoot":"","sources":["../../../src/adapter/BaseMeasure.js"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ export class BaseQuery {
89
89
  newFilter(filter: any): BaseFilter;
90
90
  newGroupFilter(filter: any): BaseGroupFilter;
91
91
  newTimeDimension(timeDimension: any): BaseTimeDimension;
92
- newParamAllocator(): ParamAllocator;
92
+ newParamAllocator(expressionParams: any): ParamAllocator;
93
93
  newPreAggregations(): PreAggregations;
94
94
  /**
95
95
  * Wrap specified column/table name with the double quote.
@@ -259,7 +259,7 @@ export class BaseQuery {
259
259
  pushJoinHints(joinHints: any): void;
260
260
  pushMemberNameForCollectionIfNecessary(cubeName: any, name: any): void;
261
261
  safeEvaluateSymbolContext(): any;
262
- evaluateSymbolSql(cubeName: any, name: any, symbol: any): any;
262
+ evaluateSymbolSql(cubeName: any, name: any, symbol: any, memberExpressionType: any): any;
263
263
  autoPrefixAndEvaluateSql(cubeName: any, sql: any): any;
264
264
  concatStringsSql(strings: any): any;
265
265
  primaryKeyNames(cubeName: any): any;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"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"}
@@ -156,7 +156,7 @@ class BaseQuery {
156
156
  * @protected
157
157
  * @type {ParamAllocator}
158
158
  */
159
- this.paramAllocator = this.options.paramAllocator || this.newParamAllocator();
159
+ this.paramAllocator = this.options.paramAllocator || this.newParamAllocator(this.options.expressionParams);
160
160
  this.compilerCache = this.compilers.compiler.compilerCache;
161
161
  this.queryCache = this.compilerCache.getQueryCache({
162
162
  measures: this.options.measures,
@@ -179,6 +179,7 @@ class BaseQuery {
179
179
  historyQueries: this.options.historyQueries,
180
180
  ungrouped: this.options.ungrouped,
181
181
  memberToAlias: this.options.memberToAlias,
182
+ expressionParams: this.options.expressionParams,
182
183
  });
183
184
  this.timezone = this.options.timezone;
184
185
  this.rowLimit = this.options.rowLimit;
@@ -361,8 +362,8 @@ class BaseQuery {
361
362
  newTimeDimension(timeDimension) {
362
363
  return new BaseTimeDimension_1.BaseTimeDimension(this, timeDimension);
363
364
  }
364
- newParamAllocator() {
365
- return new ParamAllocator_1.ParamAllocator();
365
+ newParamAllocator(expressionParams) {
366
+ return new ParamAllocator_1.ParamAllocator(expressionParams);
366
367
  }
367
368
  newPreAggregations() {
368
369
  return new PreAggregations_1.PreAggregations(this, this.options.historyQueries || [], this.options.cubeLatticeCache);
@@ -768,7 +769,7 @@ class BaseQuery {
768
769
  .filter(f => ramda_1.default.none(m => m.measure === f.measure, this.measures));
769
770
  return ramda_1.default.fromPairs(this.measures.concat(notAddedMeasureFilters).map(m => {
770
771
  const collectedMeasures = this.collectFrom([m], this.collectMultipliedMeasures.bind(this), 'collectMultipliedMeasures', this.queryCache);
771
- if (m.expressionName && !collectedMeasures.length) {
772
+ if (m.expressionName && !collectedMeasures.length && !m.isMemberExpression) {
772
773
  throw new UserError_1.UserError(`Subquery dimension ${m.expressionName} should reference at least one measure`);
773
774
  }
774
775
  return [m.measure, collectedMeasures];
@@ -1196,17 +1197,29 @@ class BaseQuery {
1196
1197
  safeEvaluateSymbolContext() {
1197
1198
  return this.evaluateSymbolContext || {};
1198
1199
  }
1199
- evaluateSymbolSql(cubeName, name, symbol) {
1200
- this.pushMemberNameForCollectionIfNecessary(cubeName, name);
1200
+ evaluateSymbolSql(cubeName, name, symbol, memberExpressionType) {
1201
+ if (!memberExpressionType) {
1202
+ this.pushMemberNameForCollectionIfNecessary(cubeName, name);
1203
+ }
1201
1204
  const memberPathArray = [cubeName, name];
1202
1205
  const memberPath = this.cubeEvaluator.pathFromArray(memberPathArray);
1203
- if (this.cubeEvaluator.isMeasure(memberPathArray)) {
1206
+ let type = memberExpressionType;
1207
+ if (!type && this.cubeEvaluator.isMeasure(memberPathArray)) {
1208
+ type = 'measure';
1209
+ }
1210
+ if (!type && this.cubeEvaluator.isDimension(memberPathArray)) {
1211
+ type = 'dimension';
1212
+ }
1213
+ if (!type && this.cubeEvaluator.isSegment(memberPathArray)) {
1214
+ type = 'segment';
1215
+ }
1216
+ if (type === 'measure') {
1204
1217
  let parentMeasure;
1205
1218
  if (this.safeEvaluateSymbolContext().compositeCubeMeasures ||
1206
1219
  this.safeEvaluateSymbolContext().leafMeasures) {
1207
1220
  parentMeasure = this.safeEvaluateSymbolContext().currentMeasure;
1208
1221
  if (this.safeEvaluateSymbolContext().compositeCubeMeasures) {
1209
- if (parentMeasure &&
1222
+ if (parentMeasure && !memberExpressionType &&
1210
1223
  (this.cubeEvaluator.cubeNameFromPath(parentMeasure) !== cubeName ||
1211
1224
  this.newMeasure(this.cubeEvaluator.pathFromArray(memberPathArray)).isCumulative())) {
1212
1225
  this.safeEvaluateSymbolContext().compositeCubeMeasures[parentMeasure] = true;
@@ -1231,7 +1244,7 @@ class BaseQuery {
1231
1244
  }
1232
1245
  return result;
1233
1246
  }
1234
- else if (this.cubeEvaluator.isDimension(memberPathArray)) {
1247
+ else if (type === 'dimension') {
1235
1248
  if ((this.safeEvaluateSymbolContext().renderedReference || {})[memberPath]) {
1236
1249
  return this.evaluateSymbolContext.renderedReference[memberPath];
1237
1250
  }
@@ -1255,7 +1268,7 @@ class BaseQuery {
1255
1268
  return this.autoPrefixAndEvaluateSql(cubeName, symbol.sql);
1256
1269
  }
1257
1270
  }
1258
- else if (this.cubeEvaluator.isSegment(memberPathArray)) {
1271
+ else if (type === 'segment') {
1259
1272
  if ((this.safeEvaluateSymbolContext().renderedReference || {})[memberPath]) {
1260
1273
  return this.evaluateSymbolContext.renderedReference[memberPath];
1261
1274
  }