@cubejs-backend/schema-compiler 0.29.42 → 0.29.48

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 (30) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/src/adapter/AWSElasticSearchQuery.d.ts.map +1 -1
  3. package/dist/src/adapter/BaseQuery.d.ts +32 -8
  4. package/dist/src/adapter/BaseQuery.d.ts.map +1 -1
  5. package/dist/src/adapter/BaseQuery.js +105 -45
  6. package/dist/src/adapter/BaseQuery.js.map +1 -1
  7. package/dist/src/adapter/BigqueryQuery.d.ts.map +1 -1
  8. package/dist/src/adapter/BigqueryQuery.js +3 -0
  9. package/dist/src/adapter/BigqueryQuery.js.map +1 -1
  10. package/dist/src/adapter/ClickHouseQuery.d.ts.map +1 -1
  11. package/dist/src/adapter/ClickHouseQuery.js +7 -1
  12. package/dist/src/adapter/ClickHouseQuery.js.map +1 -1
  13. package/dist/src/adapter/ElasticSearchQuery.d.ts.map +1 -1
  14. package/dist/src/adapter/HiveQuery.d.ts.map +1 -1
  15. package/dist/src/adapter/MongoBiQuery.d.ts.map +1 -1
  16. package/dist/src/adapter/MssqlQuery.d.ts.map +1 -1
  17. package/dist/src/adapter/MysqlQuery.d.ts.map +1 -1
  18. package/dist/src/adapter/OracleQuery.d.ts.map +1 -1
  19. package/dist/src/adapter/PostgresQuery.d.ts.map +1 -1
  20. package/dist/src/adapter/PrestodbQuery.d.ts.map +1 -1
  21. package/dist/src/adapter/RedshiftQuery.d.ts.map +1 -1
  22. package/dist/src/adapter/SnowflakeQuery.d.ts.map +1 -1
  23. package/dist/src/adapter/SqliteQuery.d.ts.map +1 -1
  24. package/dist/src/adapter/VerticaQuery.d.ts.map +1 -1
  25. package/dist/src/compiler/CubeEvaluator.d.ts.map +1 -1
  26. package/dist/src/compiler/CubeEvaluator.js +2 -5
  27. package/dist/src/compiler/CubeEvaluator.js.map +1 -1
  28. package/dist/src/compiler/JoinGraph.js +2 -2
  29. package/dist/src/compiler/JoinGraph.js.map +1 -1
  30. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
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.29.48](https://github.com/cube-js/cube.js/compare/v0.29.47...v0.29.48) (2022-04-14)
7
+
8
+
9
+ ### Features
10
+
11
+ * **query-language:** "total" flag support ([#4134](https://github.com/cube-js/cube.js/issues/4134)) ([51aef5e](https://github.com/cube-js/cube.js/commit/51aef5ede6e9b0c0e0e8749119e98102f168b8ca))
12
+ * Support Compound Primary Keys ([#4370](https://github.com/cube-js/cube.js/issues/4370)) Thanks [@rccoe](https://github.com/rccoe)! ([0e3983c](https://github.com/cube-js/cube.js/commit/0e3983ccb30a3f6815ba5ee28aa09807e55fd2a3)), closes [#4364](https://github.com/cube-js/cube.js/issues/4364)
13
+
14
+
15
+
16
+
17
+
6
18
  ## [0.29.42](https://github.com/cube-js/cube.js/compare/v0.29.41...v0.29.42) (2022-04-04)
7
19
 
8
20
 
@@ -1 +1 @@
1
- {"version":3,"file":"AWSElasticSearchQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/AWSElasticSearchQuery.js"],"names":[],"mappings":"AAqBA;IA6DiD,0CAmBgC;IA1B/E,4BAoBC;CAKF"}
1
+ {"version":3,"file":"AWSElasticSearchQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/AWSElasticSearchQuery.js"],"names":[],"mappings":"AAqBA;IA6D6D,0CAmBgC;IA1B3F,4BAoBC;CAKF"}
@@ -79,11 +79,29 @@ export class BaseQuery {
79
79
  newTimeDimension(timeDimension: any): BaseTimeDimension;
80
80
  newParamAllocator(): ParamAllocator;
81
81
  newPreAggregations(): PreAggregations;
82
+ /**
83
+ * Wrap cpecified column with the double quote.
84
+ */
82
85
  escapeColumnName(name: any): string;
83
- buildParamAnnotatedSql(): any;
86
+ /**
87
+ * Returns SQL query string.
88
+ * @returns {string}
89
+ */
90
+ buildParamAnnotatedSql(): string;
91
+ /**
92
+ * Generate SQL query to calculate total number of rows of the
93
+ * specified SQL query.
94
+ * @param {string} sql
95
+ * @returns {string}
96
+ */
97
+ countAllQuery(sql: string): string;
84
98
  regularAndTimeSeriesRollupQuery(regularMeasures: any, multipliedMeasures: any, cumulativeMeasures: any, preAggregationForQuery: any): string;
85
99
  externalPreAggregationQuery(): boolean;
86
- buildSqlAndParams(): any;
100
+ /**
101
+ * Returns an array of SQL query strings for the query.
102
+ * @returns {Array<string>}
103
+ */
104
+ buildSqlAndParams(): Array<string>;
87
105
  externalQuery(): any;
88
106
  runningTotalDateJoinCondition(): any;
89
107
  rollingWindowDateJoinCondition(trailingInterval: any, leadingInterval: any, offset: any): any;
@@ -94,6 +112,10 @@ export class BaseQuery {
94
112
  cumulativeMeasures(): any;
95
113
  isRolling(): boolean;
96
114
  simpleQuery(): string;
115
+ /**
116
+ * Returns SQL query string.
117
+ * @returns {string}
118
+ */
97
119
  fullKeyQueryAggregate(): string;
98
120
  joinFullKeyQueryAggregate(multipliedMeasures: any, regularMeasures: any, cumulativeMeasures: any, toJoin: any): string;
99
121
  fullKeyQueryAggregateMeasures(): {
@@ -139,7 +161,7 @@ export class BaseQuery {
139
161
  subQueryJoin(dimension: any): {
140
162
  sql: string;
141
163
  alias: string;
142
- on: string;
164
+ on: any;
143
165
  };
144
166
  get filtersWithoutSubQueries(): any;
145
167
  filtersWithoutSubQueriesValue: any;
@@ -152,12 +174,12 @@ export class BaseQuery {
152
174
  regularMeasuresSubQuery(measures: any, filters: any): string;
153
175
  aggregateSubQuery(keyCubeName: any, measures: any, filters: any): string;
154
176
  checkShouldBuildJoinForMeasureSelect(measures: any, keyCubeName: any): any;
155
- aggregateSubQueryMeasureJoin(keyCubeName: any, measures: any, measuresJoin: any, primaryKeyDimension: any, measureSubQueryDimensions: any): any;
177
+ aggregateSubQueryMeasureJoin(keyCubeName: any, measures: any, measuresJoin: any, primaryKeyDimensions: any, measureSubQueryDimensions: any): any;
156
178
  groupedUngroupedSelect(select: any, ungrouped: any, granularityOverride: any): any;
157
179
  ungroupedMeasureSelect(select: any): any;
158
- keysQuery(primaryKeyDimension: any, filters: any): string;
159
- keysSelect(primaryKeyDimension: any): string;
160
- keyDimensions(primaryKeyDimension: any): any;
180
+ keysQuery(primaryKeyDimensions: any, filters: any): string;
181
+ keysSelect(primaryKeyDimensions: any): string;
182
+ keyDimensions(primaryKeyDimensions: any): any[];
161
183
  cubeSql(cube: any): any;
162
184
  traverseSymbol(s: any): any;
163
185
  collectCubeNames(excludeTimeDimensions: any): any;
@@ -187,7 +209,8 @@ export class BaseQuery {
187
209
  evaluateSymbolSql(cubeName: any, name: any, symbol: any): any;
188
210
  autoPrefixAndEvaluateSql(cubeName: any, sql: any): any;
189
211
  concatStringsSql(strings: any): any;
190
- primaryKeyName(cubeName: any): string;
212
+ primaryKeyNames(cubeName: any): any;
213
+ primaryKeyName(cubeName: any, primaryKey: any): string;
191
214
  evaluateSql(cubeName: any, sql: any, options: any): any;
192
215
  withCubeAliasPrefix(cubeAliasPrefix: any, fn: any): any;
193
216
  /**
@@ -211,6 +234,7 @@ export class BaseQuery {
211
234
  hllCardinality(sql: any): void;
212
235
  hllMergeOnly(sql: any): void;
213
236
  hllCardinalityMerge(sql: any): void;
237
+ castToString(sql: any): string;
214
238
  countDistinctApprox(sql: any): void;
215
239
  primaryKeyCount(cubeName: any, distinct: any): any;
216
240
  renderDimensionCase(symbol: any, cubeName: any): string;
@@ -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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"}
@@ -275,7 +275,7 @@ class BaseQuery {
275
275
  if (this.ungrouped) {
276
276
  if (!this.options.allowUngroupedWithoutPrimaryKey) {
277
277
  const cubes = ramda_1.default.uniq([this.join.root].concat(this.join.joins.map(j => j.originalTo)));
278
- const primaryKeyNames = cubes.map(c => this.primaryKeyName(c));
278
+ const primaryKeyNames = cubes.flatMap(c => this.primaryKeyNames(c));
279
279
  const missingPrimaryKeys = primaryKeyNames.filter(key => !this.dimensions.find(d => d.dimension === key));
280
280
  if (missingPrimaryKeys.length) {
281
281
  throw new UserError_1.UserError(`Ungrouped query requires primary keys to be present in dimensions: ${missingPrimaryKeys.map(k => `'${k}'`).join(', ')}. Pass allowUngroupedWithoutPrimaryKey option to disable this check.`);
@@ -363,27 +363,55 @@ class BaseQuery {
363
363
  newPreAggregations() {
364
364
  return new PreAggregations_1.PreAggregations(this, this.options.historyQueries || [], this.options.cubeLatticeCache);
365
365
  }
366
+ /**
367
+ * Wrap cpecified column with the double quote.
368
+ */
366
369
  escapeColumnName(name) {
367
370
  return `"${name}"`;
368
371
  }
372
+ /**
373
+ * Returns SQL query string.
374
+ * @returns {string}
375
+ */
369
376
  buildParamAnnotatedSql() {
377
+ let sql;
378
+ let preAggForQuery;
370
379
  if (!this.options.preAggregationQuery && !this.ungrouped) {
371
- const preAggregationForQuery = this.preAggregations.findPreAggregationForQuery();
372
- if (preAggregationForQuery) {
373
- const { multipliedMeasures, regularMeasures, cumulativeMeasures } = this.fullKeyQueryAggregateMeasures();
374
- if (!cumulativeMeasures.length) {
375
- return this.preAggregations.rollupPreAggregation(preAggregationForQuery, this.measures, true);
376
- }
377
- return this.regularAndTimeSeriesRollupQuery(regularMeasures, multipliedMeasures, cumulativeMeasures, preAggregationForQuery);
380
+ preAggForQuery =
381
+ this.preAggregations.findPreAggregationForQuery();
382
+ }
383
+ if (preAggForQuery) {
384
+ const { multipliedMeasures, regularMeasures, cumulativeMeasures, } = this.fullKeyQueryAggregateMeasures();
385
+ if (cumulativeMeasures.length === 0) {
386
+ sql = this.preAggregations.rollupPreAggregation(preAggForQuery, this.measures, true);
387
+ }
388
+ else {
389
+ sql = this.regularAndTimeSeriesRollupQuery(regularMeasures, multipliedMeasures, cumulativeMeasures, preAggForQuery);
378
390
  }
379
391
  }
380
- return this.fullKeyQueryAggregate();
392
+ else {
393
+ sql = this.fullKeyQueryAggregate();
394
+ }
395
+ return this.options.totalQuery
396
+ ? this.countAllQuery(sql)
397
+ : sql;
398
+ }
399
+ /**
400
+ * Generate SQL query to calculate total number of rows of the
401
+ * specified SQL query.
402
+ * @param {string} sql
403
+ * @returns {string}
404
+ */
405
+ countAllQuery(sql) {
406
+ return `select count(*) ${this.escapeColumnName(shared_1.QueryAlias.TOTAL_COUNT)} from (\n${sql}\n) ${this.escapeColumnName(shared_1.QueryAlias.ORIGINAL_QUERY)}`;
381
407
  }
382
408
  regularAndTimeSeriesRollupQuery(regularMeasures, multipliedMeasures, cumulativeMeasures, preAggregationForQuery) {
383
409
  const regularAndMultiplied = regularMeasures.concat(multipliedMeasures);
384
410
  const toJoin = (regularAndMultiplied.length ? [
385
411
  this.withCubeAliasPrefix('main', () => this.preAggregations.rollupPreAggregation(preAggregationForQuery, regularAndMultiplied, false)),
386
- ] : []).concat(ramda_1.default.map(([multiplied, measure]) => this.withCubeAliasPrefix(`${this.aliasName(measure.measure.replace('.', '_'))}_cumulative`, () => this.overTimeSeriesQuery((measures, filters) => this.preAggregations.rollupPreAggregation(preAggregationForQuery, measures, false, filters), measure, true)))(cumulativeMeasures));
412
+ ] : []).concat(ramda_1.default.map(
413
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
414
+ ([multiplied, measure]) => this.withCubeAliasPrefix(`${this.aliasName(measure.measure.replace('.', '_'))}_cumulative`, () => this.overTimeSeriesQuery((measures, filters) => this.preAggregations.rollupPreAggregation(preAggregationForQuery, measures, false, filters), measure, true)))(cumulativeMeasures));
387
415
  return this.joinFullKeyQueryAggregate(multipliedMeasures, regularMeasures, cumulativeMeasures, toJoin);
388
416
  }
389
417
  externalPreAggregationQuery() {
@@ -397,6 +425,10 @@ class BaseQuery {
397
425
  }
398
426
  return false;
399
427
  }
428
+ /**
429
+ * Returns an array of SQL query strings for the query.
430
+ * @returns {Array<string>}
431
+ */
400
432
  buildSqlAndParams() {
401
433
  if (!this.options.preAggregationQuery && this.externalQueryClass) {
402
434
  if (this.externalPreAggregationQuery()) { // TODO performance
@@ -415,6 +447,7 @@ class BaseQuery {
415
447
  runningTotalDateJoinCondition() {
416
448
  return this.timeDimensions.map(d => [
417
449
  d,
450
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
418
451
  (dateFrom, dateTo, dateField, dimensionDateFrom, dimensionDateTo) => `${dateField} >= ${dimensionDateFrom} AND ${dateField} <= ${dateTo}`
419
452
  ]);
420
453
  }
@@ -466,15 +499,23 @@ class BaseQuery {
466
499
  this.orderBy() +
467
500
  this.groupByDimensionLimit();
468
501
  }
502
+ /**
503
+ * Returns SQL query string.
504
+ * @returns {string}
505
+ */
469
506
  fullKeyQueryAggregate() {
470
- const { multipliedMeasures, regularMeasures, cumulativeMeasures } = this.fullKeyQueryAggregateMeasures();
507
+ const { multipliedMeasures, regularMeasures, cumulativeMeasures, } = this.fullKeyQueryAggregateMeasures();
471
508
  if (!multipliedMeasures.length && !cumulativeMeasures.length) {
472
509
  return this.simpleQuery();
473
510
  }
474
511
  let toJoin;
475
512
  if (this.options.preAggregationQuery) {
476
- const allRegular = regularMeasures.concat(cumulativeMeasures.map(([multiplied, measure]) => (multiplied ? null : measure)).filter(m => !!m));
477
- const allMultiplied = multipliedMeasures.concat(cumulativeMeasures.map(([multiplied, measure]) => (multiplied ? measure : null)).filter(m => !!m));
513
+ const allRegular = regularMeasures.concat(cumulativeMeasures
514
+ .map(([multiplied, measure]) => (multiplied ? null : measure))
515
+ .filter(m => !!m));
516
+ const allMultiplied = multipliedMeasures.concat(cumulativeMeasures
517
+ .map(([multiplied, measure]) => (multiplied ? measure : null))
518
+ .filter(m => !!m));
478
519
  toJoin = (allRegular.length ? [
479
520
  this.withCubeAliasPrefix('main', () => this.regularMeasuresSubQuery(allRegular))
480
521
  ] : [])
@@ -483,15 +524,16 @@ class BaseQuery {
483
524
  else {
484
525
  toJoin =
485
526
  (regularMeasures.length ? [
486
- this.withCubeAliasPrefix('main', () => this.regularMeasuresSubQuery(regularMeasures))
527
+ this.withCubeAliasPrefix('main', () => this.regularMeasuresSubQuery(regularMeasures)),
487
528
  ] : [])
488
529
  .concat(ramda_1.default.pipe(ramda_1.default.groupBy(m => m.cube().name), ramda_1.default.toPairs, ramda_1.default.map(([keyCubeName, measures]) => this
489
- .withCubeAliasPrefix(`${this.aliasName(keyCubeName)}_key`, () => this.aggregateSubQuery(keyCubeName, measures))))(multipliedMeasures)).concat(ramda_1.default.map(([multiplied, measure]) => this.withCubeAliasPrefix(`${this.aliasName(measure.measure.replace('.', '_'))}_cumulative`, () => this.overTimeSeriesQuery(multiplied ?
490
- (measures, filters) => this.aggregateSubQuery(measures[0].cube().name, measures, filters) :
491
- this.regularMeasuresSubQuery.bind(this), measure, false)))(cumulativeMeasures));
530
+ .withCubeAliasPrefix(`${this.aliasName(keyCubeName)}_key`, () => this.aggregateSubQuery(keyCubeName, measures))))(multipliedMeasures)).concat(ramda_1.default.map(([multiplied, measure]) => this.withCubeAliasPrefix(`${this.aliasName(measure.measure.replace('.', '_'))}_cumulative`, () => this.overTimeSeriesQuery(multiplied
531
+ ? (measures, filters) => this.aggregateSubQuery(measures[0].cube().name, measures, filters)
532
+ : this.regularMeasuresSubQuery.bind(this), measure, false)))(cumulativeMeasures));
492
533
  }
493
- // Move regular measures to multiplied ones if there're same cubes to calculate.
494
- // Most of the times it'll be much faster to calculate as there will be only single scan per cube
534
+ // Move regular measures to multiplied ones if there're same
535
+ // cubes to calculate. Most of the times it'll be much faster to
536
+ // calculate as there will be only single scan per cube.
495
537
  if (regularMeasures.length &&
496
538
  multipliedMeasures.length &&
497
539
  !cumulativeMeasures.length) {
@@ -716,7 +758,7 @@ class BaseQuery {
716
758
  }
717
759
  subQueryJoin(dimension) {
718
760
  const { prefix, subQuery, cubeName } = this.subQueryDescription(dimension);
719
- const primaryKey = this.newDimension(this.primaryKeyName(cubeName));
761
+ const primaryKeys = this.cubeEvaluator.primaryKeys[cubeName];
720
762
  const subQueryAlias = this.escapeColumnName(this.aliasName(prefix));
721
763
  const { collectOriginalSqlPreAggregations } = this.safeEvaluateSymbolContext();
722
764
  const sql = subQuery.evaluateSymbolSqlWithContext(() => subQuery.buildParamAnnotatedSql(), {
@@ -725,7 +767,7 @@ class BaseQuery {
725
767
  return {
726
768
  sql: `(${sql})`,
727
769
  alias: subQueryAlias,
728
- on: `${subQueryAlias}.${primaryKey.aliasName()} = ${this.primaryKeySql(this.cubeEvaluator.primaryKeys[cubeName], cubeName)}`
770
+ on: primaryKeys.map((pk) => `${subQueryAlias}.${this.newDimension(this.primaryKeyName(cubeName, pk)).aliasName()} = ${this.primaryKeySql(pk, cubeName)}`)
729
771
  };
730
772
  }
731
773
  get filtersWithoutSubQueries() {
@@ -761,7 +803,7 @@ class BaseQuery {
761
803
  cubeName,
762
804
  name
763
805
  }],
764
- dimensions: [this.primaryKeyName(cubeName)],
806
+ dimensions: this.primaryKeyNames(cubeName),
765
807
  filters,
766
808
  segments,
767
809
  timeDimensions,
@@ -781,7 +823,7 @@ class BaseQuery {
781
823
  }
782
824
  aggregateSubQuery(keyCubeName, measures, filters) {
783
825
  filters = filters || this.allFilters;
784
- const primaryKeyDimension = this.newDimension(this.primaryKeyName(keyCubeName));
826
+ const primaryKeyDimensions = this.primaryKeyNames(keyCubeName).map((k) => this.newDimension(k));
785
827
  const shouldBuildJoinForMeasureSelect = this.checkShouldBuildJoinForMeasureSelect(measures, keyCubeName);
786
828
  let keyCubeSql;
787
829
  let keyCubeAlias;
@@ -793,7 +835,7 @@ class BaseQuery {
793
835
  if (measuresJoin.multiplicationFactor[keyCubeName]) {
794
836
  throw new UserError_1.UserError(`'${measures.map(m => m.measure).join(', ')}' reference cubes that lead to row multiplication.`);
795
837
  }
796
- keyCubeSql = `(${this.aggregateSubQueryMeasureJoin(keyCubeName, measures, measuresJoin, primaryKeyDimension, measureSubQueryDimensions)})`;
838
+ keyCubeSql = `(${this.aggregateSubQueryMeasureJoin(keyCubeName, measures, measuresJoin, primaryKeyDimensions, measureSubQueryDimensions)})`;
797
839
  keyCubeAlias = this.cubeAlias(keyCubeName);
798
840
  }
799
841
  else {
@@ -804,16 +846,16 @@ class BaseQuery {
804
846
  ungroupedAliases: ramda_1.default.fromPairs(measures.map(m => [m.measure, m.aliasName()]))
805
847
  }) : measureSelectFn();
806
848
  const columnsForSelect = this.dimensionColumns(this.escapeColumnName('keys')).concat(selectedMeasures).filter(s => !!s).join(', ');
807
- const keyInMeasureSelect = shouldBuildJoinForMeasureSelect ?
808
- `${this.cubeAlias(keyCubeName)}.${primaryKeyDimension.aliasName()}` :
809
- this.dimensionSql(primaryKeyDimension);
849
+ const primaryKeyJoinConditions = primaryKeyDimensions.map((pkd) => `${this.escapeColumnName('keys')}.${pkd.aliasName()} = ${shouldBuildJoinForMeasureSelect ?
850
+ `${this.cubeAlias(keyCubeName)}.${pkd.aliasName()}` :
851
+ this.dimensionSql(pkd)}`).join(' AND ');
810
852
  const subQueryJoins = shouldBuildJoinForMeasureSelect ? [] : measureSubQueryDimensions.map(d => this.subQueryJoin(d));
811
853
  const joinSql = this.joinSql([
812
- { sql: `(${this.keysQuery(primaryKeyDimension, filters)})`, alias: this.escapeColumnName('keys') },
854
+ { sql: `(${this.keysQuery(primaryKeyDimensions, filters)})`, alias: this.escapeColumnName('keys') },
813
855
  {
814
856
  sql: keyCubeSql,
815
857
  alias: keyCubeAlias,
816
- on: `${this.escapeColumnName('keys')}.${primaryKeyDimension.aliasName()} = ${keyInMeasureSelect}
858
+ on: `${primaryKeyJoinConditions}
817
859
  ${keyCubeInlineLeftJoinConditions ? ` AND (${keyCubeInlineLeftJoinConditions})` : ''}`
818
860
  },
819
861
  ...subQueryJoins
@@ -834,9 +876,9 @@ class BaseQuery {
834
876
  return false;
835
877
  }).reduce((a, b) => a || b);
836
878
  }
837
- aggregateSubQueryMeasureJoin(keyCubeName, measures, measuresJoin, primaryKeyDimension, measureSubQueryDimensions) {
879
+ aggregateSubQueryMeasureJoin(keyCubeName, measures, measuresJoin, primaryKeyDimensions, measureSubQueryDimensions) {
838
880
  return this.ungroupedMeasureSelect(() => this.withCubeAliasPrefix(`${keyCubeName}_measure_join`, () => {
839
- const columns = [primaryKeyDimension.selectColumns()].concat(measures.map(m => m.selectColumns()))
881
+ const columns = primaryKeyDimensions.map(p => p.selectColumns()).concat(measures.map(m => m.selectColumns()))
840
882
  .filter(s => !!s).join(', ');
841
883
  return `SELECT ${columns} FROM ${this.joinQuery(measuresJoin, measureSubQueryDimensions)}`;
842
884
  }));
@@ -847,18 +889,18 @@ class BaseQuery {
847
889
  ungroupedMeasureSelect(select) {
848
890
  return this.evaluateSymbolSqlWithContext(select, { ungrouped: true });
849
891
  }
850
- keysQuery(primaryKeyDimension, filters) {
892
+ keysQuery(primaryKeyDimensions, filters) {
851
893
  const inlineWhereConditions = [];
852
- const query = this.rewriteInlineWhere(() => this.joinQuery(this.join, this.collectFrom(this.keyDimensions(primaryKeyDimension), this.collectSubQueryDimensionsFor.bind(this), 'collectSubQueryDimensionsFor')), inlineWhereConditions);
853
- return `SELECT DISTINCT ${this.keysSelect(primaryKeyDimension)} FROM ${query} ${this.baseWhere(filters.concat(inlineWhereConditions))}`;
894
+ const query = this.rewriteInlineWhere(() => this.joinQuery(this.join, this.collectFrom(this.keyDimensions(primaryKeyDimensions), this.collectSubQueryDimensionsFor.bind(this), 'collectSubQueryDimensionsFor')), inlineWhereConditions);
895
+ return `SELECT DISTINCT ${this.keysSelect(primaryKeyDimensions)} FROM ${query} ${this.baseWhere(filters.concat(inlineWhereConditions))}`;
854
896
  }
855
- keysSelect(primaryKeyDimension) {
856
- return ramda_1.default.flatten(this.keyDimensions(primaryKeyDimension)
897
+ keysSelect(primaryKeyDimensions) {
898
+ return ramda_1.default.flatten(this.keyDimensions(primaryKeyDimensions)
857
899
  .map(s => s.selectColumns())).filter(s => !!s).join(', ');
858
900
  }
859
- keyDimensions(primaryKeyDimension) {
860
- return this.dimensionsForSelect()
861
- .concat(ramda_1.default.none(d => d.dimension === primaryKeyDimension.dimension, this.dimensionsForSelect()) ? [primaryKeyDimension] : []);
901
+ keyDimensions(primaryKeyDimensions) {
902
+ return ramda_1.default.uniqBy((d) => d.dimension, this.dimensionsForSelect()
903
+ .concat(primaryKeyDimensions));
862
904
  }
863
905
  cubeSql(cube) {
864
906
  const foundPreAggregation = this.preAggregations.findPreAggregationToUseForCube(cube);
@@ -1043,8 +1085,11 @@ class BaseQuery {
1043
1085
  this.safeEvaluateSymbolContext().leafMeasures[this.safeEvaluateSymbolContext().currentMeasure] = true;
1044
1086
  }
1045
1087
  }
1088
+ const primaryKeys = this.cubeEvaluator.primaryKeys[cubeName];
1046
1089
  const result = this.renderSqlMeasure(name, this.applyMeasureFilters(this.autoPrefixWithCubeName(cubeName, symbol.sql && this.evaluateSql(cubeName, symbol.sql) ||
1047
- this.cubeEvaluator.primaryKeys[cubeName] && this.primaryKeySql(this.cubeEvaluator.primaryKeys[cubeName], cubeName) || '*'), symbol, cubeName), symbol, cubeName, parentMeasure);
1090
+ primaryKeys.length && (primaryKeys.length > 1 ?
1091
+ this.concatStringsSql(primaryKeys.map((pk) => this.castToString(this.primaryKeySql(pk, cubeName))))
1092
+ : this.primaryKeySql(primaryKeys[0], cubeName)) || '*'), symbol, cubeName), symbol, cubeName, parentMeasure);
1048
1093
  if (this.safeEvaluateSymbolContext().compositeCubeMeasures ||
1049
1094
  this.safeEvaluateSymbolContext().leafMeasures) {
1050
1095
  this.safeEvaluateSymbolContext().currentMeasure = parentMeasure;
@@ -1084,11 +1129,14 @@ class BaseQuery {
1084
1129
  concatStringsSql(strings) {
1085
1130
  return strings.join(' || ');
1086
1131
  }
1087
- primaryKeyName(cubeName) {
1088
- const primaryKey = this.cubeEvaluator.primaryKeys[cubeName];
1089
- if (!primaryKey) {
1090
- throw new UserError_1.UserError(`Primary key is required for '${cubeName}`);
1132
+ primaryKeyNames(cubeName) {
1133
+ const primaryKeys = this.cubeEvaluator.primaryKeys[cubeName];
1134
+ if (!primaryKeys || !primaryKeys.length) {
1135
+ throw new UserError_1.UserError(`One or more Primary key is required for '${cubeName}`);
1091
1136
  }
1137
+ return primaryKeys.map((pk) => this.primaryKeyName(cubeName, pk));
1138
+ }
1139
+ primaryKeyName(cubeName, primaryKey) {
1092
1140
  return `${cubeName}.${primaryKey}`;
1093
1141
  }
1094
1142
  evaluateSql(cubeName, sql, options) {
@@ -1246,12 +1294,15 @@ class BaseQuery {
1246
1294
  }
1247
1295
  return evaluateSql;
1248
1296
  }
1297
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1249
1298
  hllInit(sql) {
1250
1299
  throw new UserError_1.UserError('Distributed approximate distinct count is not supported by this DB');
1251
1300
  }
1301
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1252
1302
  hllMerge(sql) {
1253
1303
  throw new UserError_1.UserError('Distributed approximate distinct count is not supported by this DB');
1254
1304
  }
1305
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1255
1306
  hllCardinality(sql) {
1256
1307
  throw new UserError_1.UserError('Distributed approximate distinct count is not supported by this DB');
1257
1308
  }
@@ -1261,11 +1312,18 @@ class BaseQuery {
1261
1312
  hllCardinalityMerge(sql) {
1262
1313
  return this.hllMerge(sql);
1263
1314
  }
1315
+ castToString(sql) {
1316
+ return `CAST(${sql} as TEXT)`;
1317
+ }
1318
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1264
1319
  countDistinctApprox(sql) {
1265
1320
  throw new UserError_1.UserError('Approximate distinct count is not supported by this DB');
1266
1321
  }
1267
1322
  primaryKeyCount(cubeName, distinct) {
1268
- const primaryKeySql = this.primaryKeySql(this.cubeEvaluator.primaryKeys[cubeName], cubeName);
1323
+ const primaryKeys = this.cubeEvaluator.primaryKeys[cubeName];
1324
+ const primaryKeySql = primaryKeys.length > 1 ?
1325
+ this.concatStringsSql(primaryKeys.map((pk) => this.castToString(this.primaryKeySql(pk, cubeName)))) :
1326
+ this.primaryKeySql(primaryKeys[0], cubeName);
1269
1327
  return `count(${distinct ? 'distinct ' : ''}${primaryKeySql})`;
1270
1328
  }
1271
1329
  renderDimensionCase(symbol, cubeName) {
@@ -1323,9 +1381,11 @@ class BaseQuery {
1323
1381
  * @param {string} field
1324
1382
  * @return {string}
1325
1383
  */
1384
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1326
1385
  convertTz(field) {
1327
1386
  throw new Error('Not implemented');
1328
1387
  }
1388
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1329
1389
  timeGroupedColumn(granularity, dimension) {
1330
1390
  throw new Error('Not implemented');
1331
1391
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseQuery.js","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseQuery.js","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BigqueryQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BigqueryQuery.js"],"names":[],"mappings":"AA8BA;IA4CkE,0CASlE;CAyDC"}
1
+ {"version":3,"file":"BigqueryQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BigqueryQuery.js"],"names":[],"mappings":"AAkCA;IA4Cc,0CAQsD;CA0DnE"}
@@ -27,6 +27,9 @@ class BigqueryFilter extends BaseFilter_1.BaseFilter {
27
27
  }
28
28
  return '?';
29
29
  }
30
+ castToString(sql) {
31
+ return `CAST(${sql} as STRING)`;
32
+ }
30
33
  }
31
34
  class BigqueryQuery extends BaseQuery_1.BaseQuery {
32
35
  convertTz(field) {
@@ -1 +1 @@
1
- {"version":3,"file":"BigqueryQuery.js","sourceRoot":"","sources":["../../../src/adapter/BigqueryQuery.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BigqueryQuery.js","sourceRoot":"","sources":["../../../src/adapter/BigqueryQuery.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClickHouseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/ClickHouseQuery.js"],"names":[],"mappings":"AA4BA;IAgD6F,0CAexF;IAlCH,+DAKC;IA0CD,4BAwBC;CAyGF"}
1
+ {"version":3,"file":"ClickHouseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/ClickHouseQuery.js"],"names":[],"mappings":"AA4BA;IAoDI,0CAWa;IAlCf,+DAKC;IA0CD,4BAwBC;CAgHF"}
@@ -128,7 +128,10 @@ class ClickHouseQuery extends BaseQuery_1.BaseQuery {
128
128
  return names.length ? ` GROUP BY ${names.join(', ')}` : '';
129
129
  }
130
130
  primaryKeyCount(cubeName, distinct) {
131
- const primaryKeySql = this.primaryKeySql(this.cubeEvaluator.primaryKeys[cubeName], cubeName);
131
+ const primaryKeys = this.cubeEvaluator.primaryKeys[cubeName];
132
+ const primaryKeySql = primaryKeys.length > 1 ?
133
+ this.concatStringsSql(primaryKeys.map((pk) => this.castToString(this.primaryKeySql(pk, cubeName)))) :
134
+ this.primaryKeySql(primaryKeys[0], cubeName);
132
135
  if (distinct) {
133
136
  return `uniqExact(${primaryKeySql})`;
134
137
  }
@@ -136,6 +139,9 @@ class ClickHouseQuery extends BaseQuery_1.BaseQuery {
136
139
  return `count(${primaryKeySql})`;
137
140
  }
138
141
  }
142
+ castToString(sql) {
143
+ return `CAST(${sql} as STRING)`;
144
+ }
139
145
  seriesSql(timeDimension) {
140
146
  /*
141
147
  postgres uses :
@@ -1 +1 @@
1
- {"version":3,"file":"ClickHouseQuery.js","sourceRoot":"","sources":["../../../src/adapter/ClickHouseQuery.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClickHouseQuery.js","sourceRoot":"","sources":["../../../src/adapter/ClickHouseQuery.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ElasticSearchQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/ElasticSearchQuery.js"],"names":[],"mappings":"AAuBA;IA+DkB,0CAiBc;IAlB9B,4BAsBC;CAKF"}
1
+ {"version":3,"file":"ElasticSearchQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/ElasticSearchQuery.js"],"names":[],"mappings":"AAuBA;IA+D8B,0CAiBc;IAlB1C,4BAsBC;CAKF"}
@@ -1 +1 @@
1
- {"version":3,"file":"HiveQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/HiveQuery.js"],"names":[],"mappings":"AAqBA;IAkDI,0CAQyE;CA2B5E"}
1
+ {"version":3,"file":"HiveQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/HiveQuery.js"],"names":[],"mappings":"AAqBA;IAkDc,0CAQ2E;CA2BxF"}
@@ -1 +1 @@
1
- {"version":3,"file":"MongoBiQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/MongoBiQuery.js"],"names":[],"mappings":"AAIA;IAoB8pD,0CAAoc;CADjmE"}
1
+ {"version":3,"file":"MongoBiQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/MongoBiQuery.js"],"names":[],"mappings":"AAIA;IAoB0qD,0CAAoc;CAD7mE"}
@@ -1 +1 @@
1
- {"version":3,"file":"MssqlQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/MssqlQuery.js"],"names":[],"mappings":"AAmDA;IA2B8B,0CAe9B;CAoDC"}
1
+ {"version":3,"file":"MssqlQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/MssqlQuery.js"],"names":[],"mappings":"AAmDA;IA2B0C,0CAe9B;CAoDX"}
@@ -1 +1 @@
1
- {"version":3,"file":"MysqlQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/MysqlQuery.js"],"names":[],"mappings":"AAuBA;IAqD2B,0CAWO;CADjC"}
1
+ {"version":3,"file":"MysqlQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/MysqlQuery.js"],"names":[],"mappings":"AAuBA;IAwDG,0CAQ2C;CAD7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"OracleQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/OracleQuery.js"],"names":[],"mappings":"AA2BA;IAsEc,0CAMiM;CAD9M"}
1
+ {"version":3,"file":"OracleQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/OracleQuery.js"],"names":[],"mappings":"AA2BA;IAsE2B,0CAMgM;CAD1N"}
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/PostgresQuery.js"],"names":[],"mappings":"AAqBA;IAiCw5B,0CAAoc;CAD31C"}
1
+ {"version":3,"file":"PostgresQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/PostgresQuery.js"],"names":[],"mappings":"AAqBA;IAiCo6B,0CAAoc;CADv2C"}
@@ -1 +1 @@
1
- {"version":3,"file":"PrestodbQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/PrestodbQuery.js"],"names":[],"mappings":"AA+BA;IA2DY,0CAeZ;CAGC"}
1
+ {"version":3,"file":"PrestodbQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/PrestodbQuery.js"],"names":[],"mappings":"AA+BA;IA4DO,0CAeI;CAEV"}
@@ -1 +1 @@
1
- {"version":3,"file":"RedshiftQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/RedshiftQuery.js"],"names":[],"mappings":"AAEA;IAY+6D,0CAAoc;CADl3E"}
1
+ {"version":3,"file":"RedshiftQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/RedshiftQuery.js"],"names":[],"mappings":"AAEA;IAY27D,0CAAoc;CAD93E"}
@@ -1 +1 @@
1
- {"version":3,"file":"SnowflakeQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/SnowflakeQuery.js"],"names":[],"mappings":"AAaA;IAuC01C,0CAAoc;CAD7xD"}
1
+ {"version":3,"file":"SnowflakeQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/SnowflakeQuery.js"],"names":[],"mappings":"AAaA;IAuCs2C,0CAAoc;CADzyD"}
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/SqliteQuery.js"],"names":[],"mappings":"AAqBA;IAuDO,0CAAoc;CAD1c"}
1
+ {"version":3,"file":"SqliteQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/SqliteQuery.js"],"names":[],"mappings":"AAqBA;IAuDmB,0CAAoc;CADtd"}
@@ -1 +1 @@
1
- {"version":3,"file":"VerticaQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/VerticaQuery.js"],"names":[],"mappings":"AAaA;IAcqxD,0CAAoc;CADxtE"}
1
+ {"version":3,"file":"VerticaQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/VerticaQuery.js"],"names":[],"mappings":"AAaA;IAciyD,0CAAoc;CADpuE"}
@@ -1 +1 @@
1
- {"version":3,"file":"CubeEvaluator.d.ts","sourceRoot":"","sources":["../../../src/compiler/CubeEvaluator.js"],"names":[],"mappings":"AAMA;IACE,gCAKC;IAHC,mBAAkC;IAClC,mBAAwB;IACxB,gBAAqB;IAUrB,2CAAwD;IAU1D;;OAEG;IACH,2DAoDC;IAED,sCAEC;IAED,+CAMC;IAED,gCAEC;IAED,uCAEC;IAED;;;;;;;;;;;;;;;;QAoCC;IAED;;;;;;;;;;;;;;;;QAEC;IAED,sBAEC;IAED,iCAEC;IAED,4BAEC;IAED,0BAEC;IAED,qCAEC;IAED,yCAEC;IAED,qCAEC;IAED,+BAEC;IAED,6BAEC;IAED,iCAMC;IAED,+BAEC;IAED,4CAKC;IAED,kCAuBC;IAED,qCAIC;IAED,oEAyBC;IAED;;;;;;;;MAiBC;CACF"}
1
+ {"version":3,"file":"CubeEvaluator.d.ts","sourceRoot":"","sources":["../../../src/compiler/CubeEvaluator.js"],"names":[],"mappings":"AAMA;IACE,gCAKC;IAHC,mBAAkC;IAClC,mBAAwB;IACxB,gBAAqB;IAUrB,2CAAwD;IAa1D;;OAEG;IACH,2DAoDC;IAED,sCAEC;IAED,+CAMC;IAED,gCAEC;IAED,uCAEC;IAED;;;;;;;;;;;;;;;;QAoCC;IAED;;;;;;;;;;;;;;;;QAEC;IAED,sBAEC;IAED,iCAEC;IAED,4BAEC;IAED,0BAEC;IAED,qCAEC;IAED,yCAEC;IAED,qCAEC;IAED,+BAEC;IAED,6BAEC;IAED,iCAMC;IAED,+BAEC;IAED,4CAKC;IAED,kCAuBC;IAED,qCAIC;IAED,oEAyBC;IAED;;;;;;;;MAiBC;CACF"}
@@ -22,11 +22,8 @@ class CubeEvaluator extends CubeSymbols_1.CubeSymbols {
22
22
  this.evaluatedCubes = ramda_1.default.fromPairs(validCubes.map(v => [v.name, v]));
23
23
  this.byFileName = ramda_1.default.groupBy(v => v.fileName, validCubes);
24
24
  this.primaryKeys = ramda_1.default.fromPairs(validCubes.map((v) => {
25
- const primaryKeyNameToSymbol = ramda_1.default.compose(ramda_1.default.find(d => d[1].primaryKey), ramda_1.default.toPairs)(v.dimensions || {});
26
- return [
27
- v.name,
28
- primaryKeyNameToSymbol && primaryKeyNameToSymbol[0]
29
- ];
25
+ const primaryKeyNamesToSymbols = ramda_1.default.compose(ramda_1.default.map((d) => d[0]), ramda_1.default.filter((d) => d[1].primaryKey), ramda_1.default.toPairs)(v.dimensions || {});
26
+ return [v.name, primaryKeyNamesToSymbols];
30
27
  }));
31
28
  }
32
29
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CubeEvaluator.js","sourceRoot":"","sources":["../../../src/compiler/CubeEvaluator.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeEvaluator.js","sourceRoot":"","sources":["../../../src/compiler/CubeEvaluator.js"],"names":[],"mappings":"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"}
@@ -26,12 +26,12 @@ class JoinGraph {
26
26
  const multipliedMeasures = ramda_1.default.compose(ramda_1.default.filter(m => m.sql && this.cubeEvaluator.funcArguments(m.sql).length === 0 && m.sql() === 'count(*)' ||
27
27
  ['sum', 'avg', 'count', 'number'].indexOf(m.type) !== -1), ramda_1.default.values);
28
28
  const joinRequired = (v) => `primary key for '${v}' is required when join is defined in order to make aggregates work properly`;
29
- if (!this.cubeEvaluator.primaryKeys[join[1].from] &&
29
+ if (!this.cubeEvaluator.primaryKeys[join[1].from].length &&
30
30
  multipliedMeasures(this.cubeEvaluator.measuresForCube(join[1].from)).length > 0) {
31
31
  errorReporter.error(joinRequired(join[1].from));
32
32
  return null;
33
33
  }
34
- if (!this.cubeEvaluator.primaryKeys[join[1].to] &&
34
+ if (!this.cubeEvaluator.primaryKeys[join[1].to].length &&
35
35
  multipliedMeasures(this.cubeEvaluator.measuresForCube(join[1].to)).length > 0) {
36
36
  errorReporter.error(joinRequired(join[1].to));
37
37
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"JoinGraph.js","sourceRoot":"","sources":["../../../src/compiler/JoinGraph.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JoinGraph.js","sourceRoot":"","sources":["../../../src/compiler/JoinGraph.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@cubejs-backend/schema-compiler",
3
3
  "description": "Cube.js schema compiler",
4
4
  "author": "Cube Dev, Inc.",
5
- "version": "0.29.42",
5
+ "version": "0.29.48",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.js.git",
@@ -42,7 +42,7 @@
42
42
  "@babel/standalone": "^7.12.10",
43
43
  "@babel/traverse": "^7.12.10",
44
44
  "@babel/types": "^7.12.12",
45
- "@cubejs-backend/shared": "^0.29.37",
45
+ "@cubejs-backend/shared": "^0.29.48",
46
46
  "@hapi/joi": "^17.1.1",
47
47
  "antlr4ts": "0.5.0-alpha.4",
48
48
  "camelcase": "^6.2.0",
@@ -59,7 +59,7 @@
59
59
  "devDependencies": {
60
60
  "@apla/clickhouse": "^1.5.5",
61
61
  "@cubejs-backend/linter": "^0.29.23",
62
- "@cubejs-backend/query-orchestrator": "^0.29.37",
62
+ "@cubejs-backend/query-orchestrator": "^0.29.48",
63
63
  "@types/babel__code-frame": "^7.0.2",
64
64
  "@types/babel__generator": "^7.6.2",
65
65
  "@types/babel__parser": "^7.1.1",
@@ -102,5 +102,5 @@
102
102
  ".*\\.d\\.ts"
103
103
  ]
104
104
  },
105
- "gitHead": "d05b5199da6e06f4d8baaed1baddb56cf1538637"
105
+ "gitHead": "1fa9b5fe1c15ae2e790c101381d127d691c944ac"
106
106
  }