@lightdash/common 0.2650.0 → 0.2652.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 (214) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/compiler/translator.d.ts +10 -1
  3. package/dist/cjs/compiler/translator.d.ts.map +1 -1
  4. package/dist/cjs/compiler/translator.js +15 -31
  5. package/dist/cjs/compiler/translator.js.map +1 -1
  6. package/dist/cjs/compiler/translator.test.js +0 -259
  7. package/dist/cjs/compiler/translator.test.js.map +1 -1
  8. package/dist/cjs/index.d.ts +0 -1
  9. package/dist/cjs/index.d.ts.map +1 -1
  10. package/dist/cjs/index.js +0 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/types/analytics.d.ts +1 -0
  13. package/dist/cjs/types/analytics.d.ts.map +1 -1
  14. package/dist/cjs/types/analytics.js +1 -0
  15. package/dist/cjs/types/analytics.js.map +1 -1
  16. package/dist/cjs/types/featureFlags.d.ts +7 -1
  17. package/dist/cjs/types/featureFlags.d.ts.map +1 -1
  18. package/dist/cjs/types/featureFlags.js +6 -0
  19. package/dist/cjs/types/featureFlags.js.map +1 -1
  20. package/dist/cjs/types/scheduler.d.ts +18 -3
  21. package/dist/cjs/types/scheduler.d.ts.map +1 -1
  22. package/dist/cjs/types/scheduler.js +27 -2
  23. package/dist/cjs/types/scheduler.js.map +1 -1
  24. package/dist/cjs/types/schedulerLog.d.ts +7 -2
  25. package/dist/cjs/types/schedulerLog.d.ts.map +1 -1
  26. package/dist/cjs/types/schedulerLog.js +7 -1
  27. package/dist/cjs/types/schedulerLog.js.map +1 -1
  28. package/dist/esm/.tsbuildinfo +1 -1
  29. package/dist/esm/compiler/translator.d.ts +10 -1
  30. package/dist/esm/compiler/translator.d.ts.map +1 -1
  31. package/dist/esm/compiler/translator.js +16 -32
  32. package/dist/esm/compiler/translator.js.map +1 -1
  33. package/dist/esm/compiler/translator.test.js +1 -260
  34. package/dist/esm/compiler/translator.test.js.map +1 -1
  35. package/dist/esm/index.d.ts +0 -1
  36. package/dist/esm/index.d.ts.map +1 -1
  37. package/dist/esm/index.js +0 -1
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/types/analytics.d.ts +1 -0
  40. package/dist/esm/types/analytics.d.ts.map +1 -1
  41. package/dist/esm/types/analytics.js +1 -0
  42. package/dist/esm/types/analytics.js.map +1 -1
  43. package/dist/esm/types/featureFlags.d.ts +7 -1
  44. package/dist/esm/types/featureFlags.d.ts.map +1 -1
  45. package/dist/esm/types/featureFlags.js +6 -0
  46. package/dist/esm/types/featureFlags.js.map +1 -1
  47. package/dist/esm/types/scheduler.d.ts +18 -3
  48. package/dist/esm/types/scheduler.d.ts.map +1 -1
  49. package/dist/esm/types/scheduler.js +24 -1
  50. package/dist/esm/types/scheduler.js.map +1 -1
  51. package/dist/esm/types/schedulerLog.d.ts +7 -2
  52. package/dist/esm/types/schedulerLog.d.ts.map +1 -1
  53. package/dist/esm/types/schedulerLog.js +6 -0
  54. package/dist/esm/types/schedulerLog.js.map +1 -1
  55. package/dist/types/.tsbuildinfo +1 -1
  56. package/dist/types/compiler/translator.d.ts +10 -1
  57. package/dist/types/compiler/translator.d.ts.map +1 -1
  58. package/dist/types/compiler/translator.js +16 -32
  59. package/dist/types/compiler/translator.js.map +1 -1
  60. package/dist/types/compiler/translator.test.js +1 -260
  61. package/dist/types/compiler/translator.test.js.map +1 -1
  62. package/dist/types/index.d.ts +0 -1
  63. package/dist/types/index.d.ts.map +1 -1
  64. package/dist/types/index.js +0 -1
  65. package/dist/types/index.js.map +1 -1
  66. package/dist/types/types/analytics.d.ts +1 -0
  67. package/dist/types/types/analytics.d.ts.map +1 -1
  68. package/dist/types/types/analytics.js +1 -0
  69. package/dist/types/types/analytics.js.map +1 -1
  70. package/dist/types/types/featureFlags.d.ts +7 -1
  71. package/dist/types/types/featureFlags.d.ts.map +1 -1
  72. package/dist/types/types/featureFlags.js +6 -0
  73. package/dist/types/types/featureFlags.js.map +1 -1
  74. package/dist/types/types/scheduler.d.ts +18 -3
  75. package/dist/types/types/scheduler.d.ts.map +1 -1
  76. package/dist/types/types/scheduler.js +24 -1
  77. package/dist/types/types/scheduler.js.map +1 -1
  78. package/dist/types/types/schedulerLog.d.ts +7 -2
  79. package/dist/types/types/schedulerLog.d.ts.map +1 -1
  80. package/dist/types/types/schedulerLog.js +6 -0
  81. package/dist/types/types/schedulerLog.js.map +1 -1
  82. package/package.json +1 -1
  83. package/dist/cjs/preAggregates/additivity.d.ts +0 -9
  84. package/dist/cjs/preAggregates/additivity.d.ts.map +0 -1
  85. package/dist/cjs/preAggregates/additivity.js +0 -54
  86. package/dist/cjs/preAggregates/additivity.js.map +0 -1
  87. package/dist/cjs/preAggregates/buildPreAggregateExplore.d.ts +0 -5
  88. package/dist/cjs/preAggregates/buildPreAggregateExplore.d.ts.map +0 -1
  89. package/dist/cjs/preAggregates/buildPreAggregateExplore.js +0 -242
  90. package/dist/cjs/preAggregates/buildPreAggregateExplore.js.map +0 -1
  91. package/dist/cjs/preAggregates/buildPreAggregateExplore.test.d.ts +0 -2
  92. package/dist/cjs/preAggregates/buildPreAggregateExplore.test.d.ts.map +0 -1
  93. package/dist/cjs/preAggregates/buildPreAggregateExplore.test.js +0 -233
  94. package/dist/cjs/preAggregates/buildPreAggregateExplore.test.js.map +0 -1
  95. package/dist/cjs/preAggregates/definition.d.ts +0 -5
  96. package/dist/cjs/preAggregates/definition.d.ts.map +0 -1
  97. package/dist/cjs/preAggregates/definition.js +0 -73
  98. package/dist/cjs/preAggregates/definition.js.map +0 -1
  99. package/dist/cjs/preAggregates/generatePreAggregateExplores.d.ts +0 -7
  100. package/dist/cjs/preAggregates/generatePreAggregateExplores.d.ts.map +0 -1
  101. package/dist/cjs/preAggregates/generatePreAggregateExplores.js +0 -51
  102. package/dist/cjs/preAggregates/generatePreAggregateExplores.js.map +0 -1
  103. package/dist/cjs/preAggregates/index.d.ts +0 -9
  104. package/dist/cjs/preAggregates/index.d.ts.map +0 -1
  105. package/dist/cjs/preAggregates/index.js +0 -12
  106. package/dist/cjs/preAggregates/index.js.map +0 -1
  107. package/dist/cjs/preAggregates/matcher.d.ts +0 -14
  108. package/dist/cjs/preAggregates/matcher.d.ts.map +0 -1
  109. package/dist/cjs/preAggregates/matcher.js +0 -221
  110. package/dist/cjs/preAggregates/matcher.js.map +0 -1
  111. package/dist/cjs/preAggregates/matcher.test.d.ts +0 -2
  112. package/dist/cjs/preAggregates/matcher.test.d.ts.map +0 -1
  113. package/dist/cjs/preAggregates/matcher.test.js +0 -593
  114. package/dist/cjs/preAggregates/matcher.test.js.map +0 -1
  115. package/dist/cjs/preAggregates/metricRepresentation.d.ts +0 -21
  116. package/dist/cjs/preAggregates/metricRepresentation.d.ts.map +0 -1
  117. package/dist/cjs/preAggregates/metricRepresentation.js +0 -68
  118. package/dist/cjs/preAggregates/metricRepresentation.js.map +0 -1
  119. package/dist/cjs/preAggregates/naming.d.ts +0 -8
  120. package/dist/cjs/preAggregates/naming.d.ts.map +0 -1
  121. package/dist/cjs/preAggregates/naming.js +0 -15
  122. package/dist/cjs/preAggregates/naming.js.map +0 -1
  123. package/dist/cjs/preAggregates/references.d.ts +0 -21
  124. package/dist/cjs/preAggregates/references.d.ts.map +0 -1
  125. package/dist/cjs/preAggregates/references.js +0 -40
  126. package/dist/cjs/preAggregates/references.js.map +0 -1
  127. package/dist/esm/preAggregates/additivity.d.ts +0 -9
  128. package/dist/esm/preAggregates/additivity.d.ts.map +0 -1
  129. package/dist/esm/preAggregates/additivity.js +0 -48
  130. package/dist/esm/preAggregates/additivity.js.map +0 -1
  131. package/dist/esm/preAggregates/buildPreAggregateExplore.d.ts +0 -5
  132. package/dist/esm/preAggregates/buildPreAggregateExplore.d.ts.map +0 -1
  133. package/dist/esm/preAggregates/buildPreAggregateExplore.js +0 -237
  134. package/dist/esm/preAggregates/buildPreAggregateExplore.js.map +0 -1
  135. package/dist/esm/preAggregates/buildPreAggregateExplore.test.d.ts +0 -2
  136. package/dist/esm/preAggregates/buildPreAggregateExplore.test.d.ts.map +0 -1
  137. package/dist/esm/preAggregates/buildPreAggregateExplore.test.js +0 -231
  138. package/dist/esm/preAggregates/buildPreAggregateExplore.test.js.map +0 -1
  139. package/dist/esm/preAggregates/definition.d.ts +0 -5
  140. package/dist/esm/preAggregates/definition.d.ts.map +0 -1
  141. package/dist/esm/preAggregates/definition.js +0 -68
  142. package/dist/esm/preAggregates/definition.js.map +0 -1
  143. package/dist/esm/preAggregates/generatePreAggregateExplores.d.ts +0 -7
  144. package/dist/esm/preAggregates/generatePreAggregateExplores.d.ts.map +0 -1
  145. package/dist/esm/preAggregates/generatePreAggregateExplores.js +0 -47
  146. package/dist/esm/preAggregates/generatePreAggregateExplores.js.map +0 -1
  147. package/dist/esm/preAggregates/index.d.ts +0 -9
  148. package/dist/esm/preAggregates/index.d.ts.map +0 -1
  149. package/dist/esm/preAggregates/index.js +0 -9
  150. package/dist/esm/preAggregates/index.js.map +0 -1
  151. package/dist/esm/preAggregates/matcher.d.ts +0 -14
  152. package/dist/esm/preAggregates/matcher.d.ts.map +0 -1
  153. package/dist/esm/preAggregates/matcher.js +0 -217
  154. package/dist/esm/preAggregates/matcher.js.map +0 -1
  155. package/dist/esm/preAggregates/matcher.test.d.ts +0 -2
  156. package/dist/esm/preAggregates/matcher.test.d.ts.map +0 -1
  157. package/dist/esm/preAggregates/matcher.test.js +0 -591
  158. package/dist/esm/preAggregates/matcher.test.js.map +0 -1
  159. package/dist/esm/preAggregates/metricRepresentation.d.ts +0 -21
  160. package/dist/esm/preAggregates/metricRepresentation.d.ts.map +0 -1
  161. package/dist/esm/preAggregates/metricRepresentation.js +0 -62
  162. package/dist/esm/preAggregates/metricRepresentation.js.map +0 -1
  163. package/dist/esm/preAggregates/naming.d.ts +0 -8
  164. package/dist/esm/preAggregates/naming.d.ts.map +0 -1
  165. package/dist/esm/preAggregates/naming.js +0 -7
  166. package/dist/esm/preAggregates/naming.js.map +0 -1
  167. package/dist/esm/preAggregates/references.d.ts +0 -21
  168. package/dist/esm/preAggregates/references.d.ts.map +0 -1
  169. package/dist/esm/preAggregates/references.js +0 -33
  170. package/dist/esm/preAggregates/references.js.map +0 -1
  171. package/dist/types/preAggregates/additivity.d.ts +0 -9
  172. package/dist/types/preAggregates/additivity.d.ts.map +0 -1
  173. package/dist/types/preAggregates/additivity.js +0 -48
  174. package/dist/types/preAggregates/additivity.js.map +0 -1
  175. package/dist/types/preAggregates/buildPreAggregateExplore.d.ts +0 -5
  176. package/dist/types/preAggregates/buildPreAggregateExplore.d.ts.map +0 -1
  177. package/dist/types/preAggregates/buildPreAggregateExplore.js +0 -237
  178. package/dist/types/preAggregates/buildPreAggregateExplore.js.map +0 -1
  179. package/dist/types/preAggregates/buildPreAggregateExplore.test.d.ts +0 -2
  180. package/dist/types/preAggregates/buildPreAggregateExplore.test.d.ts.map +0 -1
  181. package/dist/types/preAggregates/buildPreAggregateExplore.test.js +0 -231
  182. package/dist/types/preAggregates/buildPreAggregateExplore.test.js.map +0 -1
  183. package/dist/types/preAggregates/definition.d.ts +0 -5
  184. package/dist/types/preAggregates/definition.d.ts.map +0 -1
  185. package/dist/types/preAggregates/definition.js +0 -68
  186. package/dist/types/preAggregates/definition.js.map +0 -1
  187. package/dist/types/preAggregates/generatePreAggregateExplores.d.ts +0 -7
  188. package/dist/types/preAggregates/generatePreAggregateExplores.d.ts.map +0 -1
  189. package/dist/types/preAggregates/generatePreAggregateExplores.js +0 -47
  190. package/dist/types/preAggregates/generatePreAggregateExplores.js.map +0 -1
  191. package/dist/types/preAggregates/index.d.ts +0 -9
  192. package/dist/types/preAggregates/index.d.ts.map +0 -1
  193. package/dist/types/preAggregates/index.js +0 -9
  194. package/dist/types/preAggregates/index.js.map +0 -1
  195. package/dist/types/preAggregates/matcher.d.ts +0 -14
  196. package/dist/types/preAggregates/matcher.d.ts.map +0 -1
  197. package/dist/types/preAggregates/matcher.js +0 -217
  198. package/dist/types/preAggregates/matcher.js.map +0 -1
  199. package/dist/types/preAggregates/matcher.test.d.ts +0 -2
  200. package/dist/types/preAggregates/matcher.test.d.ts.map +0 -1
  201. package/dist/types/preAggregates/matcher.test.js +0 -591
  202. package/dist/types/preAggregates/matcher.test.js.map +0 -1
  203. package/dist/types/preAggregates/metricRepresentation.d.ts +0 -21
  204. package/dist/types/preAggregates/metricRepresentation.d.ts.map +0 -1
  205. package/dist/types/preAggregates/metricRepresentation.js +0 -62
  206. package/dist/types/preAggregates/metricRepresentation.js.map +0 -1
  207. package/dist/types/preAggregates/naming.d.ts +0 -8
  208. package/dist/types/preAggregates/naming.d.ts.map +0 -1
  209. package/dist/types/preAggregates/naming.js +0 -7
  210. package/dist/types/preAggregates/naming.js.map +0 -1
  211. package/dist/types/preAggregates/references.d.ts +0 -21
  212. package/dist/types/preAggregates/references.d.ts.map +0 -1
  213. package/dist/types/preAggregates/references.js +0 -33
  214. package/dist/types/preAggregates/references.js.map +0 -1
@@ -1,593 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const dbt_1 = require("../types/dbt");
4
- const field_1 = require("../types/field");
5
- const filter_1 = require("../types/filter");
6
- const preAggregate_1 = require("../types/preAggregate");
7
- const timeFrames_1 = require("../types/timeFrames");
8
- const matcher_1 = require("./matcher");
9
- const makeDimension = ({ name, table = 'orders', type = field_1.DimensionType.STRING, timeInterval, timeIntervalBaseDimensionName, }) => ({
10
- index: 0,
11
- fieldType: field_1.FieldType.DIMENSION,
12
- type,
13
- name,
14
- label: name,
15
- sql: '${TABLE}.x',
16
- table,
17
- tableLabel: table,
18
- hidden: false,
19
- compiledSql: 'x',
20
- tablesReferences: [],
21
- ...(timeInterval ? { timeInterval } : {}),
22
- ...(timeIntervalBaseDimensionName ? { timeIntervalBaseDimensionName } : {}),
23
- });
24
- const makeMetric = ({ name, type, table = 'orders', }) => ({
25
- index: 0,
26
- fieldType: field_1.FieldType.METRIC,
27
- type,
28
- name,
29
- label: name,
30
- sql: '${TABLE}.x',
31
- table,
32
- tableLabel: table,
33
- hidden: false,
34
- compiledSql: 'x',
35
- tablesReferences: [],
36
- });
37
- const baseExplore = () => ({
38
- name: 'orders',
39
- label: 'Orders',
40
- tags: [],
41
- baseTable: 'orders',
42
- joinedTables: [],
43
- targetDatabase: dbt_1.SupportedDbtAdapter.POSTGRES,
44
- tables: {
45
- orders: {
46
- name: 'orders',
47
- label: 'Orders',
48
- database: 'db',
49
- schema: 'public',
50
- sqlTable: 'orders',
51
- dimensions: {
52
- status: makeDimension({ name: 'status' }),
53
- order_date: makeDimension({
54
- name: 'order_date',
55
- type: field_1.DimensionType.DATE,
56
- }),
57
- order_date_day: makeDimension({
58
- name: 'order_date_day',
59
- type: field_1.DimensionType.DATE,
60
- timeInterval: timeFrames_1.TimeFrames.DAY,
61
- timeIntervalBaseDimensionName: 'order_date',
62
- }),
63
- order_date_month: makeDimension({
64
- name: 'order_date_month',
65
- type: field_1.DimensionType.DATE,
66
- timeInterval: timeFrames_1.TimeFrames.MONTH,
67
- timeIntervalBaseDimensionName: 'order_date',
68
- }),
69
- },
70
- metrics: {
71
- total_order_amount: makeMetric({
72
- name: 'total_order_amount',
73
- type: field_1.MetricType.SUM,
74
- }),
75
- order_count: makeMetric({
76
- name: 'order_count',
77
- type: field_1.MetricType.COUNT,
78
- }),
79
- unique_customers: makeMetric({
80
- name: 'unique_customers',
81
- type: field_1.MetricType.COUNT_DISTINCT,
82
- }),
83
- custom_metric: makeMetric({
84
- name: 'custom_metric',
85
- type: field_1.MetricType.NUMBER,
86
- }),
87
- avg_order_amount: makeMetric({
88
- name: 'avg_order_amount',
89
- type: field_1.MetricType.AVERAGE,
90
- }),
91
- },
92
- lineageGraph: {},
93
- },
94
- customers: {
95
- name: 'customers',
96
- label: 'Customers',
97
- database: 'db',
98
- schema: 'public',
99
- sqlTable: 'customers',
100
- dimensions: {
101
- first_name: makeDimension({
102
- name: 'first_name',
103
- table: 'customers',
104
- }),
105
- },
106
- metrics: {},
107
- lineageGraph: {},
108
- },
109
- },
110
- });
111
- const makeMetricQuery = (partial) => ({
112
- exploreName: 'orders',
113
- dimensions: partial.dimensions,
114
- metrics: partial.metrics,
115
- filters: partial.filters || {},
116
- sorts: partial.sorts || [],
117
- limit: partial.limit || 500,
118
- tableCalculations: partial.tableCalculations || [],
119
- ...(partial.additionalMetrics
120
- ? { additionalMetrics: partial.additionalMetrics }
121
- : {}),
122
- ...(partial.customDimensions
123
- ? { customDimensions: partial.customDimensions }
124
- : {}),
125
- });
126
- describe('findMatch', () => {
127
- it('returns no_pre_aggregates_defined when explore has no pre-aggregates', () => {
128
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
129
- dimensions: ['orders_status'],
130
- metrics: ['orders_order_count'],
131
- }), baseExplore());
132
- expect(result).toStrictEqual({
133
- hit: false,
134
- preAggregateName: null,
135
- miss: {
136
- reason: preAggregate_1.PreAggregateMissReason.NO_PRE_AGGREGATES_DEFINED,
137
- },
138
- });
139
- });
140
- it('returns hit when dimensions and metrics match', () => {
141
- const explore = {
142
- ...baseExplore(),
143
- preAggregates: [
144
- {
145
- name: 'orders_daily',
146
- dimensions: ['status', 'order_date'],
147
- metrics: ['order_count', 'total_order_amount'],
148
- timeDimension: 'order_date',
149
- granularity: timeFrames_1.TimeFrames.DAY,
150
- },
151
- ],
152
- };
153
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
154
- dimensions: ['orders_status', 'orders_order_date_month'],
155
- metrics: ['orders_order_count'],
156
- }), explore);
157
- expect(result).toStrictEqual({
158
- hit: true,
159
- preAggregateName: 'orders_daily',
160
- miss: null,
161
- });
162
- });
163
- it('returns hit when time dimension is separate from dimensions array', () => {
164
- const explore = {
165
- ...baseExplore(),
166
- preAggregates: [
167
- {
168
- name: 'orders_daily',
169
- dimensions: ['status'],
170
- metrics: ['order_count'],
171
- timeDimension: 'order_date',
172
- granularity: timeFrames_1.TimeFrames.DAY,
173
- },
174
- ],
175
- };
176
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
177
- dimensions: ['orders_status', 'orders_order_date_month'],
178
- metrics: ['orders_order_count'],
179
- }), explore);
180
- expect(result).toStrictEqual({
181
- hit: true,
182
- preAggregateName: 'orders_daily',
183
- miss: null,
184
- });
185
- });
186
- it('returns dimension_not_in_pre_aggregate when query dimensions are missing', () => {
187
- const explore = {
188
- ...baseExplore(),
189
- preAggregates: [
190
- {
191
- name: 'orders_summary',
192
- dimensions: ['order_date'],
193
- metrics: ['order_count'],
194
- },
195
- ],
196
- };
197
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
198
- dimensions: ['orders_status'],
199
- metrics: ['orders_order_count'],
200
- }), explore);
201
- expect(result.miss).toStrictEqual({
202
- reason: preAggregate_1.PreAggregateMissReason.DIMENSION_NOT_IN_PRE_AGGREGATE,
203
- fieldId: 'orders_status',
204
- });
205
- });
206
- it('returns metric_not_in_pre_aggregate when query metrics are missing', () => {
207
- const explore = {
208
- ...baseExplore(),
209
- preAggregates: [
210
- {
211
- name: 'orders_summary',
212
- dimensions: ['status'],
213
- metrics: ['order_count'],
214
- },
215
- ],
216
- };
217
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
218
- dimensions: ['orders_status'],
219
- metrics: ['orders_total_order_amount'],
220
- }), explore);
221
- expect(result.miss).toStrictEqual({
222
- reason: preAggregate_1.PreAggregateMissReason.METRIC_NOT_IN_PRE_AGGREGATE,
223
- fieldId: 'orders_total_order_amount',
224
- });
225
- });
226
- it('returns non_additive_metric for non-reaggregatable metrics', () => {
227
- const explore = {
228
- ...baseExplore(),
229
- preAggregates: [
230
- {
231
- name: 'orders_summary',
232
- dimensions: ['status'],
233
- metrics: ['unique_customers'],
234
- },
235
- ],
236
- };
237
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
238
- dimensions: ['orders_status'],
239
- metrics: ['orders_unique_customers'],
240
- }), explore);
241
- expect(result.miss).toStrictEqual({
242
- reason: preAggregate_1.PreAggregateMissReason.NON_ADDITIVE_METRIC,
243
- fieldId: 'orders_unique_customers',
244
- });
245
- });
246
- it('returns custom_sql_metric for type:number metrics', () => {
247
- const explore = {
248
- ...baseExplore(),
249
- preAggregates: [
250
- {
251
- name: 'orders_summary',
252
- dimensions: ['status'],
253
- metrics: ['custom_metric'],
254
- },
255
- ],
256
- };
257
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
258
- dimensions: ['orders_status'],
259
- metrics: ['orders_custom_metric'],
260
- }), explore);
261
- expect(result.miss).toStrictEqual({
262
- reason: preAggregate_1.PreAggregateMissReason.CUSTOM_SQL_METRIC,
263
- fieldId: 'orders_custom_metric',
264
- });
265
- });
266
- it('returns hit for decomposable average metrics in a covering pre-aggregate', () => {
267
- const explore = {
268
- ...baseExplore(),
269
- preAggregates: [
270
- {
271
- name: 'orders_summary',
272
- dimensions: ['status'],
273
- metrics: ['avg_order_amount'],
274
- },
275
- ],
276
- };
277
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
278
- dimensions: ['orders_status'],
279
- metrics: ['orders_avg_order_amount'],
280
- }), explore);
281
- expect(result).toStrictEqual({
282
- hit: true,
283
- preAggregateName: 'orders_summary',
284
- miss: null,
285
- });
286
- });
287
- it('returns filter_dimension_not_in_pre_aggregate when dimension filter is missing', () => {
288
- const explore = {
289
- ...baseExplore(),
290
- preAggregates: [
291
- {
292
- name: 'orders_summary',
293
- dimensions: ['status'],
294
- metrics: ['order_count'],
295
- },
296
- ],
297
- };
298
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
299
- dimensions: ['orders_status'],
300
- metrics: ['orders_order_count'],
301
- filters: {
302
- dimensions: {
303
- id: '1',
304
- and: [
305
- {
306
- id: '2',
307
- operator: filter_1.FilterOperator.EQUALS,
308
- target: { fieldId: 'customers_first_name' },
309
- values: ['John'],
310
- },
311
- ],
312
- },
313
- },
314
- }), explore);
315
- expect(result.miss).toStrictEqual({
316
- reason: preAggregate_1.PreAggregateMissReason.FILTER_DIMENSION_NOT_IN_PRE_AGGREGATE,
317
- fieldId: 'customers_first_name',
318
- });
319
- });
320
- it('returns granularity_too_fine when query granularity is finer than rollup', () => {
321
- const explore = {
322
- ...baseExplore(),
323
- preAggregates: [
324
- {
325
- name: 'orders_monthly',
326
- dimensions: ['status', 'order_date'],
327
- metrics: ['order_count'],
328
- timeDimension: 'order_date',
329
- granularity: timeFrames_1.TimeFrames.MONTH,
330
- },
331
- ],
332
- };
333
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
334
- dimensions: ['orders_order_date_day'],
335
- metrics: ['orders_order_count'],
336
- }), explore);
337
- expect(result.miss).toStrictEqual({
338
- reason: preAggregate_1.PreAggregateMissReason.GRANULARITY_TOO_FINE,
339
- fieldId: 'orders_order_date_day',
340
- queryGranularity: timeFrames_1.TimeFrames.DAY,
341
- preAggregateGranularity: timeFrames_1.TimeFrames.MONTH,
342
- preAggregateTimeDimension: 'order_date',
343
- });
344
- });
345
- it('accepts coarser query granularity than rollup', () => {
346
- const explore = {
347
- ...baseExplore(),
348
- preAggregates: [
349
- {
350
- name: 'orders_daily',
351
- dimensions: ['order_date'],
352
- metrics: ['order_count'],
353
- timeDimension: 'order_date',
354
- granularity: timeFrames_1.TimeFrames.DAY,
355
- },
356
- ],
357
- };
358
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
359
- dimensions: ['orders_order_date_month'],
360
- metrics: ['orders_order_count'],
361
- }), explore);
362
- expect(result.hit).toBe(true);
363
- });
364
- it('returns custom_dimension_present when custom dimensions exist', () => {
365
- const explore = {
366
- ...baseExplore(),
367
- preAggregates: [
368
- {
369
- name: 'orders_summary',
370
- dimensions: ['status'],
371
- metrics: ['order_count'],
372
- },
373
- ],
374
- };
375
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
376
- dimensions: ['orders_status'],
377
- metrics: ['orders_order_count'],
378
- customDimensions: [
379
- {
380
- id: 'custom_1',
381
- type: field_1.CustomDimensionType.SQL,
382
- name: 'Custom',
383
- table: 'orders',
384
- sql: '1',
385
- dimensionType: field_1.DimensionType.NUMBER,
386
- },
387
- ],
388
- }), explore);
389
- expect(result.miss).toStrictEqual({
390
- reason: preAggregate_1.PreAggregateMissReason.CUSTOM_DIMENSION_PRESENT,
391
- });
392
- });
393
- it('returns table_calculation_present when table calculations exist', () => {
394
- const explore = {
395
- ...baseExplore(),
396
- preAggregates: [
397
- {
398
- name: 'orders_summary',
399
- dimensions: ['status'],
400
- metrics: ['order_count'],
401
- },
402
- ],
403
- };
404
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
405
- dimensions: ['orders_status'],
406
- metrics: ['orders_order_count'],
407
- tableCalculations: [
408
- {
409
- name: 'calc_1',
410
- displayName: 'Calc',
411
- sql: '1',
412
- },
413
- ],
414
- }), explore);
415
- expect(result.miss).toStrictEqual({
416
- reason: preAggregate_1.PreAggregateMissReason.TABLE_CALCULATION_PRESENT,
417
- });
418
- });
419
- it('returns custom_metric_present when additional metrics exist', () => {
420
- const explore = {
421
- ...baseExplore(),
422
- preAggregates: [
423
- {
424
- name: 'orders_summary',
425
- dimensions: ['status'],
426
- metrics: ['order_count'],
427
- },
428
- ],
429
- };
430
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
431
- dimensions: ['orders_status'],
432
- metrics: ['orders_order_count'],
433
- additionalMetrics: [
434
- {
435
- name: 'custom',
436
- table: 'orders',
437
- type: field_1.MetricType.SUM,
438
- sql: '${TABLE}.amount',
439
- },
440
- ],
441
- }), explore);
442
- expect(result.miss).toStrictEqual({
443
- reason: preAggregate_1.PreAggregateMissReason.CUSTOM_METRIC_PRESENT,
444
- });
445
- });
446
- it('picks the smallest matching pre-aggregate', () => {
447
- const explore = {
448
- ...baseExplore(),
449
- preAggregates: [
450
- {
451
- name: 'orders_large',
452
- dimensions: ['status', 'order_date'],
453
- metrics: ['order_count'],
454
- },
455
- {
456
- name: 'orders_small',
457
- dimensions: ['status'],
458
- metrics: ['order_count'],
459
- },
460
- ],
461
- };
462
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
463
- dimensions: ['orders_status'],
464
- metrics: ['orders_order_count'],
465
- }), explore);
466
- expect(result).toStrictEqual({
467
- hit: true,
468
- preAggregateName: 'orders_small',
469
- miss: null,
470
- });
471
- });
472
- it('uses metrics count as tie-breaker when dimensions count is equal', () => {
473
- const explore = {
474
- ...baseExplore(),
475
- preAggregates: [
476
- {
477
- name: 'orders_wider_metrics',
478
- dimensions: ['status'],
479
- metrics: ['order_count', 'total_order_amount'],
480
- },
481
- {
482
- name: 'orders_narrow_metrics',
483
- dimensions: ['status'],
484
- metrics: ['order_count'],
485
- },
486
- ],
487
- };
488
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
489
- dimensions: ['orders_status'],
490
- metrics: ['orders_order_count'],
491
- }), explore);
492
- expect(result).toStrictEqual({
493
- hit: true,
494
- preAggregateName: 'orders_narrow_metrics',
495
- miss: null,
496
- });
497
- });
498
- it('matches joined dimension references in dot notation', () => {
499
- const explore = {
500
- ...baseExplore(),
501
- preAggregates: [
502
- {
503
- name: 'customer_rollup',
504
- dimensions: ['customers.first_name'],
505
- metrics: ['order_count'],
506
- },
507
- ],
508
- };
509
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
510
- dimensions: ['customers_first_name'],
511
- metrics: ['orders_order_count'],
512
- }), explore);
513
- expect(result.hit).toBe(true);
514
- });
515
- it('extracts nested filter group dimensions', () => {
516
- const explore = {
517
- ...baseExplore(),
518
- preAggregates: [
519
- {
520
- name: 'customer_rollup',
521
- dimensions: ['status', 'customers.first_name'],
522
- metrics: ['order_count'],
523
- },
524
- ],
525
- };
526
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
527
- dimensions: ['orders_status'],
528
- metrics: ['orders_order_count'],
529
- filters: {
530
- dimensions: {
531
- id: 'root',
532
- and: [
533
- {
534
- id: 'or1',
535
- or: [
536
- {
537
- id: 'f1',
538
- operator: filter_1.FilterOperator.EQUALS,
539
- target: {
540
- fieldId: 'customers_first_name',
541
- },
542
- values: ['A'],
543
- },
544
- {
545
- id: 'f2',
546
- operator: filter_1.FilterOperator.EQUALS,
547
- target: { fieldId: 'orders_status' },
548
- values: ['completed'],
549
- },
550
- ],
551
- },
552
- ],
553
- },
554
- },
555
- }), explore);
556
- expect(result.hit).toBe(true);
557
- });
558
- it('allows dimensions-only queries when dimensions match', () => {
559
- const explore = {
560
- ...baseExplore(),
561
- preAggregates: [
562
- {
563
- name: 'status_rollup',
564
- dimensions: ['status'],
565
- metrics: ['order_count'],
566
- },
567
- ],
568
- };
569
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
570
- dimensions: ['orders_status'],
571
- metrics: [],
572
- }), explore);
573
- expect(result.hit).toBe(true);
574
- });
575
- it('allows metrics-only queries when metrics match', () => {
576
- const explore = {
577
- ...baseExplore(),
578
- preAggregates: [
579
- {
580
- name: 'metric_rollup',
581
- dimensions: ['status'],
582
- metrics: ['order_count'],
583
- },
584
- ],
585
- };
586
- const result = (0, matcher_1.findMatch)(makeMetricQuery({
587
- dimensions: [],
588
- metrics: ['orders_order_count'],
589
- }), explore);
590
- expect(result.hit).toBe(true);
591
- });
592
- });
593
- //# sourceMappingURL=matcher.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matcher.test.js","sourceRoot":"","sources":["../../../src/preAggregates/matcher.test.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { MetricType } from '../types/field';
2
- export type SupportedPreAggregateMetricType = MetricType.SUM | MetricType.COUNT | MetricType.MIN | MetricType.MAX | MetricType.AVERAGE;
3
- export declare enum PreAggregateMetricRepresentationKind {
4
- DIRECT = "direct",
5
- DECOMPOSED = "decomposed",
6
- UNSUPPORTED = "unsupported"
7
- }
8
- export type PreAggregateMetricRepresentation = {
9
- kind: PreAggregateMetricRepresentationKind.DIRECT;
10
- metricType: MetricType.SUM | MetricType.MIN | MetricType.MAX;
11
- } | {
12
- kind: PreAggregateMetricRepresentationKind.DECOMPOSED;
13
- metricType: MetricType.AVERAGE;
14
- components: readonly ['sum', 'count'];
15
- } | {
16
- kind: PreAggregateMetricRepresentationKind.UNSUPPORTED;
17
- };
18
- export declare const supportedPreAggregateMetricTypes: SupportedPreAggregateMetricType[];
19
- export declare const getPreAggregateMetricRepresentation: (metricType: MetricType) => PreAggregateMetricRepresentation;
20
- export declare const isSupportedPreAggregateMetricType: (metricType: MetricType) => metricType is SupportedPreAggregateMetricType;
21
- //# sourceMappingURL=metricRepresentation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metricRepresentation.d.ts","sourceRoot":"","sources":["../../../src/preAggregates/metricRepresentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,MAAM,MAAM,+BAA+B,GACrC,UAAU,CAAC,GAAG,GACd,UAAU,CAAC,KAAK,GAChB,UAAU,CAAC,GAAG,GACd,UAAU,CAAC,GAAG,GACd,UAAU,CAAC,OAAO,CAAC;AAEzB,oBAAY,oCAAoC;IAC5C,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,WAAW,gBAAgB;CAC9B;AAED,MAAM,MAAM,gCAAgC,GACtC;IACI,IAAI,EAAE,oCAAoC,CAAC,MAAM,CAAC;IAClD,UAAU,EAAE,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;CAChE,GACD;IACI,IAAI,EAAE,oCAAoC,CAAC,UAAU,CAAC;IACtD,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC;IAC/B,UAAU,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;CACzC,GACD;IACI,IAAI,EAAE,oCAAoC,CAAC,WAAW,CAAC;CAC1D,CAAC;AAER,eAAO,MAAM,gCAAgC,EAAE,+BAA+B,EAOzE,CAAC;AAEN,eAAO,MAAM,mCAAmC,GAC5C,YAAY,UAAU,KACvB,gCA2CF,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC1C,YAAY,UAAU,KACvB,UAAU,IAAI,+BAEmC,CAAC"}