@cubejs-backend/schema-compiler 0.35.80 → 0.36.0

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 (70) hide show
  1. package/dist/src/adapter/BaseMeasure.d.ts +2 -2
  2. package/dist/src/adapter/BaseMeasure.d.ts.map +1 -1
  3. package/dist/src/adapter/BaseMeasure.js.map +1 -1
  4. package/dist/src/adapter/BaseQuery.d.ts +54 -5
  5. package/dist/src/adapter/BaseQuery.d.ts.map +1 -1
  6. package/dist/src/adapter/BaseQuery.js +140 -7
  7. package/dist/src/adapter/BaseQuery.js.map +1 -1
  8. package/dist/src/adapter/BaseTimeDimension.d.ts +4 -1
  9. package/dist/src/adapter/BaseTimeDimension.d.ts.map +1 -1
  10. package/dist/src/adapter/BaseTimeDimension.js +35 -19
  11. package/dist/src/adapter/BaseTimeDimension.js.map +1 -1
  12. package/dist/src/adapter/BigqueryQuery.d.ts +13 -0
  13. package/dist/src/adapter/BigqueryQuery.d.ts.map +1 -1
  14. package/dist/src/adapter/BigqueryQuery.js +91 -4
  15. package/dist/src/adapter/BigqueryQuery.js.map +1 -1
  16. package/dist/src/adapter/ClickHouseQuery.d.ts +15 -5
  17. package/dist/src/adapter/ClickHouseQuery.d.ts.map +1 -1
  18. package/dist/src/adapter/ClickHouseQuery.js +30 -16
  19. package/dist/src/adapter/ClickHouseQuery.js.map +1 -1
  20. package/dist/src/adapter/CubeStoreQuery.d.ts +13 -3
  21. package/dist/src/adapter/CubeStoreQuery.d.ts.map +1 -1
  22. package/dist/src/adapter/CubeStoreQuery.js +75 -3
  23. package/dist/src/adapter/CubeStoreQuery.js.map +1 -1
  24. package/dist/src/adapter/Granularity.d.ts +32 -0
  25. package/dist/src/adapter/Granularity.d.ts.map +1 -0
  26. package/dist/src/adapter/Granularity.js +116 -0
  27. package/dist/src/adapter/Granularity.js.map +1 -0
  28. package/dist/src/adapter/MssqlQuery.d.ts +11 -5
  29. package/dist/src/adapter/MssqlQuery.d.ts.map +1 -1
  30. package/dist/src/adapter/MssqlQuery.js +30 -6
  31. package/dist/src/adapter/MssqlQuery.js.map +1 -1
  32. package/dist/src/adapter/MysqlQuery.d.ts +12 -0
  33. package/dist/src/adapter/MysqlQuery.d.ts.map +1 -1
  34. package/dist/src/adapter/MysqlQuery.js +68 -2
  35. package/dist/src/adapter/MysqlQuery.js.map +1 -1
  36. package/dist/src/adapter/PostgresQuery.d.ts +9 -2
  37. package/dist/src/adapter/PostgresQuery.d.ts.map +1 -1
  38. package/dist/src/adapter/PostgresQuery.js +13 -0
  39. package/dist/src/adapter/PostgresQuery.js.map +1 -1
  40. package/dist/src/adapter/PreAggregations.d.ts +2 -1
  41. package/dist/src/adapter/PreAggregations.d.ts.map +1 -1
  42. package/dist/src/adapter/PreAggregations.js +6 -4
  43. package/dist/src/adapter/PreAggregations.js.map +1 -1
  44. package/dist/src/adapter/SnowflakeQuery.d.ts +10 -0
  45. package/dist/src/adapter/SnowflakeQuery.d.ts.map +1 -1
  46. package/dist/src/adapter/SnowflakeQuery.js +27 -0
  47. package/dist/src/adapter/SnowflakeQuery.js.map +1 -1
  48. package/dist/src/compiler/CubeEvaluator.d.ts.map +1 -1
  49. package/dist/src/compiler/CubeEvaluator.js +5 -0
  50. package/dist/src/compiler/CubeEvaluator.js.map +1 -1
  51. package/dist/src/compiler/CubeSymbols.d.ts.map +1 -1
  52. package/dist/src/compiler/CubeSymbols.js +3 -1
  53. package/dist/src/compiler/CubeSymbols.js.map +1 -1
  54. package/dist/src/compiler/CubeValidator.d.ts.map +1 -1
  55. package/dist/src/compiler/CubeValidator.js +64 -6
  56. package/dist/src/compiler/CubeValidator.js.map +1 -1
  57. package/dist/src/compiler/YamlCompiler.d.ts.map +1 -1
  58. package/dist/src/compiler/YamlCompiler.js +10 -8
  59. package/dist/src/compiler/YamlCompiler.js.map +1 -1
  60. package/dist/src/compiler/transpilers/CubePropContextTranspiler.d.ts.map +1 -1
  61. package/dist/src/compiler/transpilers/CubePropContextTranspiler.js +1 -0
  62. package/dist/src/compiler/transpilers/CubePropContextTranspiler.js.map +1 -1
  63. package/dist/src/compiler/transpilers/ValidationTranspiler.d.ts +2 -2
  64. package/dist/src/compiler/transpilers/ValidationTranspiler.d.ts.map +1 -1
  65. package/dist/src/compiler/transpilers/ValidationTranspiler.js +1 -6
  66. package/dist/src/compiler/transpilers/ValidationTranspiler.js.map +1 -1
  67. package/dist/src/compiler/utils.d.ts.map +1 -1
  68. package/dist/src/compiler/utils.js +7 -1
  69. package/dist/src/compiler/utils.js.map +1 -1
  70. package/package.json +7 -7
@@ -26,8 +26,8 @@ export declare class BaseMeasure {
26
26
  rollingWindowDefinition(): any;
27
27
  dateJoinCondition(): any;
28
28
  windowGranularity(): any;
29
- minGranularity(granularityA: any, granularityB: any): any;
30
- granularityFromInterval(interval: any): "day" | "month" | "year" | "week" | "hour" | undefined;
29
+ minGranularity(granularityA: string | undefined, granularityB: string | undefined): any;
30
+ granularityFromInterval(interval: string): "day" | "month" | "year" | "week" | "hour" | undefined;
31
31
  shouldUngroupForCumulative(): any;
32
32
  sqlDefinition(): Function;
33
33
  path(): 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,eAAe;IAOf,UAAU;WAYH,YAAY,CAAC,UAAU,KAAA;IAI9B,uBAAuB;IAWvB,iBAAiB;IAqBjB,iBAAiB;IAWjB,cAAc,CAAC,YAAY,KAAA,EAAE,YAAY,KAAA;IAIzC,uBAAuB,CAAC,QAAQ,KAAA;IAkBhC,0BAA0B;IAI1B,aAAa;IAIb,IAAI;IAOJ,cAAc;CAMtB"}
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,eAAe;IAOf,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"}
@@ -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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"}
@@ -167,10 +167,30 @@ export class BaseQuery {
167
167
  runningTotalDateJoinCondition(): any;
168
168
  rollingWindowToDateJoinCondition(granularity: any): any;
169
169
  rollingWindowDateJoinCondition(trailingInterval: any, leadingInterval: any, offset: any): any;
170
- subtractInterval(date: any, interval: any): string;
171
- addInterval(date: any, interval: any): string;
172
- addTimestampInterval(timestamp: any, interval: any): string;
173
- subtractTimestampInterval(timestamp: any, interval: any): string;
170
+ /**
171
+ * @param {string} date
172
+ * @param {string} interval
173
+ * @returns {string}
174
+ */
175
+ subtractInterval(date: string, interval: string): string;
176
+ /**
177
+ * @param {string} date
178
+ * @param {string} interval
179
+ * @returns {string}
180
+ */
181
+ addInterval(date: string, interval: string): string;
182
+ /**
183
+ * @param {string} timestamp
184
+ * @param {string} interval
185
+ * @returns {string}
186
+ */
187
+ addTimestampInterval(timestamp: string, interval: string): string;
188
+ /**
189
+ * @param {string} timestamp
190
+ * @param {string} interval
191
+ * @returns {string}
192
+ */
193
+ subtractTimestampInterval(timestamp: string, interval: string): string;
174
194
  cumulativeMeasures(): any;
175
195
  isRolling(): boolean;
176
196
  simpleQuery(): string;
@@ -402,7 +422,34 @@ export class BaseQuery {
402
422
  * @return {string}
403
423
  */
404
424
  convertTz(field: string): string;
405
- timeGroupedColumn(granularity: any, dimension: any): void;
425
+ /**
426
+ * @param {string} granularity
427
+ * @param {string} dimension
428
+ * @return {string}
429
+ */
430
+ timeGroupedColumn(granularity: string, dimension: string): string;
431
+ /**
432
+ * Returns sql for source expression floored to timestamps aligned with
433
+ * intervals relative to origin timestamp point
434
+ * @param {string} interval (a value expression of type interval)
435
+ * @param {string} source (a value expression of type timestamp/date)
436
+ * @param {string} origin (a value expression of type timestamp/date)
437
+ * @returns {string}
438
+ */
439
+ dateBin(interval: string, source: string, origin: string): string;
440
+ /**
441
+ * Returns the lowest time unit for the interval
442
+ * @protected
443
+ * @param {string} interval
444
+ * @returns {string}
445
+ */
446
+ protected diffTimeUnitForInterval(interval: string): string;
447
+ /**
448
+ * @param {string} dimension
449
+ * @param {import('./Granularity').Granularity} granularity
450
+ * @return {string}
451
+ */
452
+ dimensionTimeGroupedColumn(dimension: string, granularity: import('./Granularity').Granularity): string;
406
453
  /**
407
454
  * Evaluate alias for specific cube's property.
408
455
  * @param {string} name Property name.
@@ -430,6 +477,8 @@ export class BaseQuery {
430
477
  evaluateIndexColumns(cube: any, index: any): any;
431
478
  createIndexSql(indexName: any, tableName: any, escapedColumns: any): string;
432
479
  preAggregationSql(cube: any, preAggregation: any): any;
480
+ preAggregationOutputColumnTypes(cube: any, preAggregation: any): any;
481
+ preAggregationUniqueKeyColumns(cube: any, preAggregation: any): any;
433
482
  preAggregationReadOnly(_cube: any, _preAggregation: any): boolean;
434
483
  preAggregationAllowUngroupingWithPrimaryKey(_cube: any, _preAggregation: any): boolean;
435
484
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"AAmDA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;GAYG;AACH;IA+6EE,mDAEC;IAED;;MAEE;IACF,wCAEC;IAo5BD;;;;;;;MASC;IAMD,sEAgCC;IAED,8CAcC;IAED,4GAsBC;IAYD,yHA0CC;IA8BD,mHA+CC;IAriHD;;;;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;IAk1D9B,4CAaC;IAnjDD;;;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,wBAAyD;IACzD,cAAqC;IACrC,cAAqC;IACrC,YAAiC;IACjC,6CAAgD;IAChD,cAA6E;IAC7E,gBAAmF;IACnF,6BAA6G;IAC7G,iCAAyH;IACzH,cAA6E;IAM7E,6CAA6C;IAC7C,sDAAwK;IACxK,oBAA6K;IAC7K,oBAc2D;IAC3D,gBAAgF;IAEhF,UAAuD;IACvD,qBAAmD;IACnD,iCAAuG;IACvG,wBAAyD;IAIzD,WAAsD;IAKxD;;;;YAkCC;IAED,wBAKC;IAHG,wBAAiD;IAKrD,wBAKC;IAHG,wBAAiD;IAKrD,sBAMC;IAED,+BAEC;IAED;;MASC;IAED,sBAeC;IAdC,eAAuC;IAgBzC,8BAYC;IARG,yBAIC;IAML,4BAEC;IAED,2BAEC;IA+BD,0CAEC;IAED,gDAEC;IAED,0CAEC;IAED;;OAEG;IACH,yBAFa,eAAe,GAAC,UAAU,CAStC;IAED;;OAEG;IACH,wBAFa,UAAU,CAItB;IAED,6CAEC;IAED;;;OAGG;IACH,sCAFY,iBAAiB,CAI5B;IAED,yDAEC;IAED,sCAEC;IAED;;;;OAIG;IACH,uBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,0BAFa,MAAM,CA6ClB;IAED;;;;;OAKG;IACH,mBAHW,MAAM,GACJ,MAAM,CAUlB;IAED,6IAqBC;IAED,uCAYC;IAED;;;;OAIG;IACH,6DAFa,MAAM,MAAM,CAAC,CAwBzB;IAED,uDAUC;IAED,iCAEC;IAED;;;OAGG;IACH,oBAFa,OAAO,MAAM,EAAE,MAAM,MAAM,CAAC,CAAC,CAwCzC;IAED,qBAMC;IAED,qCAQC;IAED,wDAOC;IAED,8FAqBC;IAED,mDAEC;IAED,8CAEC;IAED,4DAEC;IAED,iEAEC;IAED,0BAEC;IAED,qBAEC;IAED,sBAYC;IAED;;;OAGG;IACH,yBAFa,MAAM,CAuJlB;IAED,uHAWC;IAED,kGA2CC;IAED,oCAEC;IAED,gDAMC;IAED;;;;;;MA4DC;IAED,4CAaC;IAED;;MAGC;IAED,wEAeC;IAED,qGA+BC;IAED,4DAGC;IAED,kGAoCC;IAED,8FAyCC;IAED;;;MA6EC;IAED,iEAQC;IAED,gCAGC;IAED,iCAGC;IAED,4CAEC;IAED;;MAEC;IAED,kDAEC;IAED,0DAuBC;IAED,oFAmCC;IAED,oGAsBC;IAED,0IAKC;IAED,sDAKC;IAED,wBAEC;IAED;;;OAGG;IACH,6BAHW,OAAO,qBAAqB,EAAE,iBAAiB,GAC9C,MAAM,CAIjB;IAED;;;OAGG;IACH,yBAHW,OAAO,qBAAqB,EAAE,iBAAiB,GAC9C,MAAM,CAOjB;IAED;;;OAGG;IACH,8BAHW,OAAO,iBAAiB,EAAE,aAAa,GAAC,OAAO,qBAAqB,EAAE,iBAAiB,GACtF,MAAM,CAIjB;IAED,2FAEC;IAED,gGAEC;IAED,iEAEC;IAED,qEAEC;IAED,gEAEC;IAED,oEAEC;IAED,kCAEC;IAED,iCAEC;IAED,sBAKC;IAED;;MAgBC;IAED,aAMC;IAED,iEAoBC;IAED,sDAqBC;IAED,6BAOC;IAED;;;;MAgBC;IAED,oCAOC;IALG,mCAEC;IAKL;;;;MA0CC;IAED,+CAEC;IAED,6DAiBC;IAED;;;;;;OAMG;IACH,+BALW,MAAM,YACN,MAAM,WAAW,CAAC,WAClB,MAAM,UAAU,CAAC,GACf,MAAM,CAwElB;IAED,2EAeC;IAED,iJAOC;IAED,mFAKC;IAED,yCAKC;IAED,2DAaC;IAED,8CAKC;IAED,gFAMC;IAED,wBAwBC;IAED,4BAIC;IAED,kDAMC;IAED,uDAMC;IAED,8EAUC;IAED,kDAOC;IAED,oFAmBC;IAED,+CAOC;IAED,6DAMC;IAED;;;;OAIG;IACH,kCAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,iBAFa,MAAM,CAYlB;IAED,4BAyBC;IAiBD,kBAgBC;IAED;;;;OAIG;IACH,uBAFa,MAAM,MAAM,CAAC,CAIzB;IAED;;;;OAIG;IACH,4BAHW,MAAM,GACJ,MAAM,MAAM,CAAC,CAIzB;IAED,gCAWC;IAED;;;;OAIG;IACH,8CAHW,MAAM,MAAM,CAAC,GACX,MAAM,CA0ClB;IAED;;;;;OAKG;IACH,sDAFa,MAAM,CAMlB;IAED,mBAEC;IAED,qBAEC;IAED,sDAIC;IAED;;OAEG;IACH,aAFa,MAAM,aAAa,GAAC,WAAW,CAAC,CAI5C;IAED;;;OAGG;IACH,uBAFa,CAAC,aAAa,GAAC,iBAAiB,CAAC,EAAE,CAI/C;IAED,kCAEC;IAED,8BAEC;IAED,8BAEC;IAED,6EAKC;IAED,6CAEC;IAED,0DAIC;IAED,oCAOC;IAED,uEAgBC;IAED,iCAEC;IAED,yFAsIC;IAED,+EAEC;IAED,oCAEC;IAED,oCAMC;IAED,uDAEC;IAED,wDAuBC;IAED,wDAEC;IAED;;;;;OAKG;IACH,oBAHW,MAAM,UAYhB;IAED,sCAQC;IAED,sCAQC;IAED,wCAQC;IAED,+BAEC;IAED,4DAmBC;IAED,wCAWC;IAED,yDAUC;IARC,2BAA0F;IAU5F,oHAiGC;IAaD,6GAgBC;IAED,qDAKC;IAED,yBAEC;IAED,0BAEC;IAED,gCAEC;IAED,6BAEC;IAED,oCAEC;IAED,+BAEC;IAGD,oCAEC;IAED,mDAMC;IAED,wDASC;IAED,yDAKC;IAED,qDAGC;IAED,uEAQC;IAED,wDAEC;IAED,4DAGC;IAED,uDAOC;IAED,4CAGC;IAED,gDAEC;IAED,gCAEC;IAED;;OAEG;IACH,mBAFY,MAAM,CAIjB;IAED;;OAEG;IACH,sBAFY,MAAM,CAIjB;IAED;;;OAGG;IAEH,iBAJW,MAAM,GACL,MAAM,CAKjB;IAGD,0DAEC;IAED;;;;;OAKG;IACH,gBAJW,MAAM,yBACN,OAAO,UACL,MAAM,CAgBlB;IAED,+BAGC;IAED,iDAIC;IAED,mCAcC;IAED,uCASC;IAED,sDA4CC;IAED,kFAWC;IAED;;MAMC;IAED,wDAEC;IAED,0BAEC;IAED,2BAEC;IAED,qFAGC;IAED,4BAEC;IAED,6EAGC;IAED,8DAEC;IAED,0FAWC;IAED,iDAiBC;IAED,4EAEC;IAED,uDA6BC;IAED,kEAEC;IAED,uFAEC;IAED;;;OAGG;IACH,uBAFa,GAAG,CA8If;IAGD,yEAQC;IAED;;;;MA0BC;IAED;;;;MAwBC;IAED,6DAwBC;IAED,kGAoDC;IAED;;;;OAIG;IACH,kCAHW,MAAM,GACL,CAAC,MAAM,EAAE,MAAM,CAAC,CAW3B;IAED,sCAIC;IAED,2CAKC;IAED,+BAEC;IAED,8EAcC;IAED,4CAEC;IAED;;MAIC;IAED;;;;;;;;;;;;;;;OAeG;IACH,gCAHW,MAAM,GACL,MAAM,CAIjB;IAED,iGAqGC;IAED,0FAqBC;IAED,mEAcC;IAED,kCAcC;IAZG,qCASE;IAgBN,uCAEC;IA4ED,mBAQC;IA8CD,6DA0BC;IAmDD,oDAUC;IAED,yCAEC;IAED,2BAEC;IAED,oCAoBC;CACF;;;;;cAvmHa,OAAO,gCAAgC,EAAE,kBAAkB;qBAC3D,OAAO,mCAAmC,EAAE,qBAAqB;mBACjE,OAAO,2BAA2B,EAAE,aAAa;sBACjD,OAAO,8BAA8B,EAAE,gBAAgB;eACvD,OAAO,uBAAuB,EAAE,SAAS;mBACzC,OAAO,2BAA2B,EAAE,aAAa;;;+BAjChC,kBAAkB;gCACjB,mBAAmB;2BAJxB,cAAc;gCACT,mBAAmB;4BAJvB,eAAe;8BACb,iBAAiB;4BACnB,eAAe;kCAGT,qBAAqB;cAjBzC,OAAO;mBAGF,iBAAiB;uBAFb,aAAa"}
1
+ {"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"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"}
@@ -16,7 +16,6 @@ const moment_timezone_1 = __importDefault(require("moment-timezone"));
16
16
  const inflection_1 = __importDefault(require("inflection"));
17
17
  const shared_1 = require("@cubejs-backend/shared");
18
18
  const native_1 = require("@cubejs-backend/native");
19
- const process_1 = require("process");
20
19
  const UserError_1 = require("../compiler/UserError");
21
20
  const BaseMeasure_1 = require("./BaseMeasure");
22
21
  const BaseDimension_1 = require("./BaseDimension");
@@ -29,7 +28,7 @@ const PreAggregations_1 = require("./PreAggregations");
29
28
  const SqlParser_1 = require("../parser/SqlParser");
30
29
  const DEFAULT_PREAGGREGATIONS_SCHEMA = 'stb_pre_aggregations';
31
30
  const standardGranularitiesParents = {
32
- year: ['year', 'quarter', 'month', 'month', 'day', 'hour', 'minute', 'second'],
31
+ year: ['year', 'quarter', 'month', 'day', 'hour', 'minute', 'second'],
33
32
  quarter: ['quarter', 'month', 'day', 'hour', 'minute', 'second'],
34
33
  month: ['month', 'day', 'hour', 'minute', 'second'],
35
34
  week: ['week', 'day', 'hour', 'minute', 'second'],
@@ -350,7 +349,7 @@ class BaseQuery {
350
349
  return 'AS';
351
350
  }
352
351
  defaultOrder() {
353
- if (this.options.preAggregationQuery) {
352
+ if (this.options.preAggregationQuery || this.options.totalQuery) {
354
353
  return [];
355
354
  }
356
355
  const res = [];
@@ -595,15 +594,35 @@ class BaseQuery {
595
594
  return conditions.length ? conditions.join(' AND ') : '1 = 1';
596
595
  }]);
597
596
  }
597
+ /**
598
+ * @param {string} date
599
+ * @param {string} interval
600
+ * @returns {string}
601
+ */
598
602
  subtractInterval(date, interval) {
599
603
  return `${date} - interval '${interval}'`;
600
604
  }
605
+ /**
606
+ * @param {string} date
607
+ * @param {string} interval
608
+ * @returns {string}
609
+ */
601
610
  addInterval(date, interval) {
602
611
  return `${date} + interval '${interval}'`;
603
612
  }
613
+ /**
614
+ * @param {string} timestamp
615
+ * @param {string} interval
616
+ * @returns {string}
617
+ */
604
618
  addTimestampInterval(timestamp, interval) {
605
619
  return this.addInterval(timestamp, interval);
606
620
  }
621
+ /**
622
+ * @param {string} timestamp
623
+ * @param {string} interval
624
+ * @returns {string}
625
+ */
607
626
  subtractTimestampInterval(timestamp, interval) {
608
627
  return this.subtractInterval(timestamp, interval);
609
628
  }
@@ -1030,7 +1049,7 @@ class BaseQuery {
1030
1049
  }
1031
1050
  const dateSeriesSql = this.timeDimensions.map(d => this.dateSeriesSql(d)).join(', ');
1032
1051
  const filters = this.segments.concat(this.filters).concat(this.dateFromStartToEndConditionSql(dateJoinCondition, fromRollup, true));
1033
- const baseQuery = this.groupedUngroupedSelect(() => baseQueryFn(cumulativeMeasures, filters), cumulativeMeasure.shouldUngroupForCumulative(), !cumulativeMeasure.shouldUngroupForCumulative() && this.minGranularity(cumulativeMeasure.windowGranularity(), this.timeDimensions.find(d => d.granularity).granularity) || undefined);
1052
+ const baseQuery = this.groupedUngroupedSelect(() => baseQueryFn(cumulativeMeasures, filters), cumulativeMeasure.shouldUngroupForCumulative(), !cumulativeMeasure.shouldUngroupForCumulative() && this.minGranularity(cumulativeMeasure.windowGranularity(), this.timeDimensions.find(d => d.granularity).resolvedGranularity()) || undefined);
1034
1053
  const baseQueryAlias = this.cubeAlias('base');
1035
1054
  const dateJoinConditionSql = dateJoinCondition.map(([d, f]) => f(`${d.dateSeriesAliasName()}.${this.escapeColumnName('date_from')}`, `${d.dateSeriesAliasName()}.${this.escapeColumnName('date_to')}`, `${baseQueryAlias}.${d.aliasName()}`, `'${d.dateFromFormatted()}'`, `'${d.dateToFormatted()}'`)).join(' AND ');
1036
1055
  return this.overTimeSeriesSelect(cumulativeMeasures, dateSeriesSql, baseQuery, dateJoinConditionSql, baseQueryAlias);
@@ -2050,10 +2069,81 @@ class BaseQuery {
2050
2069
  convertTz(field) {
2051
2070
  throw new Error('Not implemented');
2052
2071
  }
2072
+ /**
2073
+ * @param {string} granularity
2074
+ * @param {string} dimension
2075
+ * @return {string}
2076
+ */
2053
2077
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
2054
2078
  timeGroupedColumn(granularity, dimension) {
2055
2079
  throw new Error('Not implemented');
2056
2080
  }
2081
+ /**
2082
+ * Returns sql for source expression floored to timestamps aligned with
2083
+ * intervals relative to origin timestamp point
2084
+ * @param {string} interval (a value expression of type interval)
2085
+ * @param {string} source (a value expression of type timestamp/date)
2086
+ * @param {string} origin (a value expression of type timestamp/date)
2087
+ * @returns {string}
2088
+ */
2089
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2090
+ dateBin(interval, source, origin) {
2091
+ throw new Error('Date bin function is not implemented');
2092
+ // Different syntax possible in different DBs
2093
+ }
2094
+ /**
2095
+ * Returns the lowest time unit for the interval
2096
+ * @protected
2097
+ * @param {string} interval
2098
+ * @returns {string}
2099
+ */
2100
+ diffTimeUnitForInterval(interval) {
2101
+ if (/second/i.test(interval)) {
2102
+ return 'second';
2103
+ }
2104
+ else if (/minute/i.test(interval)) {
2105
+ return 'minute';
2106
+ }
2107
+ else if (/hour/i.test(interval)) {
2108
+ return 'hour';
2109
+ }
2110
+ else if (/day/i.test(interval)) {
2111
+ return 'day';
2112
+ }
2113
+ else if (/week/i.test(interval)) {
2114
+ return 'day';
2115
+ }
2116
+ else if (/month/i.test(interval)) {
2117
+ return 'month';
2118
+ }
2119
+ else if (/quarter/i.test(interval)) {
2120
+ return 'month';
2121
+ }
2122
+ else /* if (/year/i.test(interval)) */ {
2123
+ return 'year';
2124
+ }
2125
+ }
2126
+ /**
2127
+ * @param {string} dimension
2128
+ * @param {import('./Granularity').Granularity} granularity
2129
+ * @return {string}
2130
+ */
2131
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2132
+ dimensionTimeGroupedColumn(dimension, granularity) {
2133
+ let dtDate;
2134
+ // Interval is aligned with natural calendar, so we can use DATE_TRUNC
2135
+ if (granularity.isNaturalAligned()) {
2136
+ if (granularity.granularityOffset) {
2137
+ // Example: DATE_TRUNC(interval, dimension - INTERVAL 'offset') + INTERVAL 'offset'
2138
+ dtDate = this.subtractInterval(dimension, granularity.granularityOffset);
2139
+ dtDate = this.timeGroupedColumn(granularity.granularityFromInterval(), dtDate);
2140
+ dtDate = this.addInterval(dtDate, granularity.granularityOffset);
2141
+ return dtDate;
2142
+ }
2143
+ return this.timeGroupedColumn(granularity.granularityFromInterval(), dimension);
2144
+ }
2145
+ return this.dateBin(granularity.granularityInterval, dimension, granularity.originFormatted());
2146
+ }
2057
2147
  /**
2058
2148
  * Evaluate alias for specific cube's property.
2059
2149
  * @param {string} name Property name.
@@ -2080,9 +2170,11 @@ class BaseQuery {
2080
2170
  return new QueryClass(this.compilers, this.subQueryOptions(options));
2081
2171
  }
2082
2172
  newSubQueryForCube(cube, options) {
2083
- return this.options.queryFactory
2084
- ? this.options.queryFactory.createQuery(cube, this.compilers, this.subQueryOptions(options))
2085
- : this.newSubQuery(options);
2173
+ if (this.options.queryFactory) {
2174
+ options.paramAllocator = null;
2175
+ return this.options.queryFactory.createQuery(cube, this.compilers, this.subQueryOptions(options));
2176
+ }
2177
+ return this.newSubQuery(options);
2086
2178
  }
2087
2179
  subQueryOptions(options) {
2088
2180
  return {
@@ -2241,6 +2333,47 @@ class BaseQuery {
2241
2333
  throw new UserError_1.UserError(`Unknown pre-aggregation type '${preAggregation.type}' in '${cube}'`);
2242
2334
  }, { inputProps: { collectOriginalSqlPreAggregations: [] }, cache: this.queryCache });
2243
2335
  }
2336
+ preAggregationOutputColumnTypes(cube, preAggregation) {
2337
+ return this.cacheValue(['preAggregationOutputColumnTypes', cube, JSON.stringify(preAggregation)], () => {
2338
+ if (!preAggregation.outputColumnTypes) {
2339
+ return null;
2340
+ }
2341
+ if (preAggregation.type === 'rollup') {
2342
+ const query = this.preAggregations.rollupPreAggregationQuery(cube, preAggregation);
2343
+ const evaluatedMapOutputColumnTypes = preAggregation.outputColumnTypes.reduce((acc, outputColumnType) => {
2344
+ acc.set(outputColumnType.name, outputColumnType);
2345
+ return acc;
2346
+ }, new Map());
2347
+ const findSchemaType = member => {
2348
+ const outputSchemaType = evaluatedMapOutputColumnTypes.get(member);
2349
+ if (!outputSchemaType) {
2350
+ throw new UserError_1.UserError(`Output schema type for ${member} not found in pre-aggregation ${preAggregation}`);
2351
+ }
2352
+ return {
2353
+ name: this.aliasName(member),
2354
+ type: outputSchemaType.type,
2355
+ };
2356
+ };
2357
+ // The order of the output columns is important, it should match the order in the select statement
2358
+ const outputColumnTypes = [
2359
+ ...(query.dimensions || []).map(d => findSchemaType(d.dimension)),
2360
+ ...(query.timeDimensions || []).map(t => ({
2361
+ name: `${this.aliasName(t.dimension)}_${t.granularity}`,
2362
+ type: 'TIMESTAMP'
2363
+ })),
2364
+ ...(query.measures || []).map(m => findSchemaType(m.measure)),
2365
+ ];
2366
+ return outputColumnTypes;
2367
+ }
2368
+ throw new UserError_1.UserError('Output schema is only supported for rollup pre-aggregations');
2369
+ }, { inputProps: {}, cache: this.queryCache });
2370
+ }
2371
+ preAggregationUniqueKeyColumns(cube, preAggregation) {
2372
+ if (preAggregation.uniqueKeyColumns) {
2373
+ return preAggregation.uniqueKeyColumns.map(key => this.aliasName(`${cube}.${key}`));
2374
+ }
2375
+ return this.dimensionColumns();
2376
+ }
2244
2377
  preAggregationReadOnly(_cube, _preAggregation) {
2245
2378
  return false;
2246
2379
  }