@malloydata/malloy 0.0.121-dev240202151424 → 0.0.121
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.
|
@@ -71,14 +71,6 @@ class ReferenceView extends view_1.View {
|
|
|
71
71
|
throw new Error('Expected field to have definition');
|
|
72
72
|
}
|
|
73
73
|
if ((0, malloy_types_1.isAtomicFieldType)(fieldDef.type)) {
|
|
74
|
-
if (!this.inExperiment('scalar_lenses', true)) {
|
|
75
|
-
if (forRefinement) {
|
|
76
|
-
this.reference.log(`Cannot use scalar field \`${this.reference.refString}\` as a refinement; use \`scalar_lenses\` experiment to enable this behavior`);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
this.reference.log(`Cannot use scalar field \`${this.reference.refString}\` as a view; use \`scalar_lenses\` experiment to enable this behavior`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
74
|
const newSegment = {
|
|
83
75
|
type: 'reduce',
|
|
84
76
|
queryFields: [this.reference.refToField],
|
|
@@ -124,27 +124,8 @@ describe('lenses', () => {
|
|
|
124
124
|
run: x -> idx + proj
|
|
125
125
|
`).translationToFailWith('cannot refine reduce view with project view', 'cannot refine reduce view with index view', 'cannot refine project view with index view', 'cannot refine project view with reduce view', 'cannot refine index view with reduce view', 'cannot refine index view with project view');
|
|
126
126
|
});
|
|
127
|
-
test('cannot reference dimension at head of query ', () => {
|
|
128
|
-
expect((0, test_translator_1.markSource) `
|
|
129
|
-
source: x is a extend {
|
|
130
|
-
dimension: n is 1
|
|
131
|
-
view: d is { group_by: n1 is 1 }
|
|
132
|
-
}
|
|
133
|
-
run: x -> n + d
|
|
134
|
-
`).translationToFailWith('Cannot use scalar field `n` as a view; use `scalar_lenses` experiment to enable this behavior');
|
|
135
|
-
});
|
|
136
|
-
test('cannot reference dimension', () => {
|
|
137
|
-
expect((0, test_translator_1.markSource) `
|
|
138
|
-
source: x is a extend {
|
|
139
|
-
dimension: n is 1
|
|
140
|
-
view: d is { group_by: n }
|
|
141
|
-
}
|
|
142
|
-
run: x -> d + n
|
|
143
|
-
`).translationToFailWith('Cannot use scalar field `n` as a refinement; use `scalar_lenses` experiment to enable this behavior', 'overlapping fields in refinement: n');
|
|
144
|
-
});
|
|
145
127
|
test('can reference dimension at head of query when experiment is enabled', () => {
|
|
146
128
|
expect((0, test_translator_1.markSource) `
|
|
147
|
-
##! experimental { scalar_lenses }
|
|
148
129
|
source: x is a extend {
|
|
149
130
|
dimension: n is 1
|
|
150
131
|
}
|
|
@@ -153,7 +134,6 @@ describe('lenses', () => {
|
|
|
153
134
|
});
|
|
154
135
|
test('can change refine precedence', () => {
|
|
155
136
|
expect((0, test_translator_1.markSource) `
|
|
156
|
-
##! experimental { scalar_lenses }
|
|
157
137
|
source: x is a extend {
|
|
158
138
|
dimension:
|
|
159
139
|
a is 1
|
|
@@ -165,7 +145,6 @@ describe('lenses', () => {
|
|
|
165
145
|
});
|
|
166
146
|
test.skip('can split multi-stage refinement with plus', () => {
|
|
167
147
|
expect((0, test_translator_1.markSource) `
|
|
168
|
-
##! experimental { scalar_lenses }
|
|
169
148
|
source: x is a extend {
|
|
170
149
|
view: two_stage is { group_by: a is 1 } -> { group_by: a }
|
|
171
150
|
}
|
|
@@ -174,7 +153,6 @@ describe('lenses', () => {
|
|
|
174
153
|
});
|
|
175
154
|
test('cannot refine with multi-stage', () => {
|
|
176
155
|
expect((0, test_translator_1.markSource) `
|
|
177
|
-
##! experimental { scalar_lenses }
|
|
178
156
|
source: x is a extend {
|
|
179
157
|
view: one_stage is { group_by: a is 1 }
|
|
180
158
|
view: two_stage is { group_by: a is 1 } -> { group_by: a }
|
|
@@ -184,7 +162,6 @@ describe('lenses', () => {
|
|
|
184
162
|
});
|
|
185
163
|
test('cannot refine with literal multi-stage', () => {
|
|
186
164
|
expect((0, test_translator_1.markSource) `
|
|
187
|
-
##! experimental { scalar_lenses }
|
|
188
165
|
source: x is a extend {
|
|
189
166
|
view: one_stage is { group_by: a is 1 }
|
|
190
167
|
view: two_stage is { group_by: a is 1 } -> { group_by: a }
|
|
@@ -194,7 +171,6 @@ describe('lenses', () => {
|
|
|
194
171
|
});
|
|
195
172
|
test('can reference dimension in refinement when experiment is enabled', () => {
|
|
196
173
|
expect((0, test_translator_1.markSource) `
|
|
197
|
-
##! experimental { scalar_lenses }
|
|
198
174
|
source: x is a extend {
|
|
199
175
|
dimension: n is 1
|
|
200
176
|
view: d is { group_by: n1 is 1 }
|
|
@@ -204,7 +180,6 @@ describe('lenses', () => {
|
|
|
204
180
|
});
|
|
205
181
|
test('can reference join field when experiment is enabled', () => {
|
|
206
182
|
expect((0, test_translator_1.markSource) `
|
|
207
|
-
##! experimental { scalar_lenses }
|
|
208
183
|
source: x is a extend {
|
|
209
184
|
join_cross: y is a extend { dimension: n is 1 } on true
|
|
210
185
|
}
|
|
@@ -213,7 +188,6 @@ describe('lenses', () => {
|
|
|
213
188
|
});
|
|
214
189
|
test('can reference join field in refinement when experiment is enabled', () => {
|
|
215
190
|
expect((0, test_translator_1.markSource) `
|
|
216
|
-
##! experimental { scalar_lenses }
|
|
217
191
|
source: x is a extend {
|
|
218
192
|
join_cross: y is a extend { dimension: n is 1 } on true
|
|
219
193
|
}
|
|
@@ -222,7 +196,6 @@ describe('lenses', () => {
|
|
|
222
196
|
});
|
|
223
197
|
test('can reference join field in nest refinement when experiment is enabled', () => {
|
|
224
198
|
expect((0, test_translator_1.markSource) `
|
|
225
|
-
##! experimental { scalar_lenses }
|
|
226
199
|
source: x is a extend {
|
|
227
200
|
join_cross: y is a extend { dimension: n is 1 } on true
|
|
228
201
|
}
|
|
@@ -231,7 +204,6 @@ describe('lenses', () => {
|
|
|
231
204
|
});
|
|
232
205
|
test('can nest dimension when experiment is enabled', () => {
|
|
233
206
|
expect((0, test_translator_1.markSource) `
|
|
234
|
-
##! experimental { scalar_lenses }
|
|
235
207
|
source: x is a extend {
|
|
236
208
|
dimension: n is 1
|
|
237
209
|
view: d is { nest: n }
|
|
@@ -241,7 +213,6 @@ describe('lenses', () => {
|
|
|
241
213
|
});
|
|
242
214
|
test('cannot use join_name in refinement shortcut', () => {
|
|
243
215
|
expect((0, test_translator_1.markSource) `
|
|
244
|
-
##! experimental { scalar_lenses }
|
|
245
216
|
source: x is a extend {
|
|
246
217
|
join_one: y is a on true
|
|
247
218
|
view: m is { aggregate: c is count() }
|
|
@@ -250,7 +221,6 @@ describe('lenses', () => {
|
|
|
250
221
|
});
|
|
251
222
|
test('cannot use view from join as whole pipeline', () => {
|
|
252
223
|
expect((0, test_translator_1.markSource) `
|
|
253
|
-
##! experimental { scalar_lenses }
|
|
254
224
|
source: x is a extend {
|
|
255
225
|
join_one: y is a extend {
|
|
256
226
|
view: z is { group_by: d is 1 }
|
|
@@ -261,7 +231,6 @@ describe('lenses', () => {
|
|
|
261
231
|
});
|
|
262
232
|
test('cannot use view from join in nest', () => {
|
|
263
233
|
expect((0, test_translator_1.markSource) `
|
|
264
|
-
##! experimental { scalar_lenses }
|
|
265
234
|
source: x is a extend {
|
|
266
235
|
join_one: y is a extend {
|
|
267
236
|
view: z is { group_by: d is 1 }
|
|
@@ -272,7 +241,6 @@ describe('lenses', () => {
|
|
|
272
241
|
});
|
|
273
242
|
test('cannot use view from join as nest view head', () => {
|
|
274
243
|
expect((0, test_translator_1.markSource) `
|
|
275
|
-
##! experimental { scalar_lenses }
|
|
276
244
|
source: x is a extend {
|
|
277
245
|
join_one: y is a extend {
|
|
278
246
|
view: z is { group_by: d is 1 }
|
|
@@ -283,7 +251,6 @@ describe('lenses', () => {
|
|
|
283
251
|
});
|
|
284
252
|
test('cannot use view from join as lens in query', () => {
|
|
285
253
|
expect((0, test_translator_1.markSource) `
|
|
286
|
-
##! experimental { scalar_lenses }
|
|
287
254
|
source: x is a extend {
|
|
288
255
|
join_one: y is a extend {
|
|
289
256
|
view: z is { group_by: d is 1 }
|
|
@@ -294,7 +261,6 @@ describe('lenses', () => {
|
|
|
294
261
|
});
|
|
295
262
|
test('cannot use view from join as lens in nest', () => {
|
|
296
263
|
expect((0, test_translator_1.markSource) `
|
|
297
|
-
##! experimental { scalar_lenses }
|
|
298
264
|
source: x is a extend {
|
|
299
265
|
join_one: y is a extend {
|
|
300
266
|
view: z is { group_by: d is 1 }
|
|
@@ -305,7 +271,6 @@ describe('lenses', () => {
|
|
|
305
271
|
});
|
|
306
272
|
test('can nest dimension with refinement when experiment is enabled', () => {
|
|
307
273
|
expect((0, test_translator_1.markSource) `
|
|
308
|
-
##! experimental { scalar_lenses }
|
|
309
274
|
source: x is a extend {
|
|
310
275
|
dimension: n is 1
|
|
311
276
|
view: d is { nest: n + { where: n > 0 } }
|
|
@@ -382,7 +347,6 @@ describe('partial views', () => {
|
|
|
382
347
|
});
|
|
383
348
|
test('copy of view with refinement should work', () => {
|
|
384
349
|
expect((0, test_translator_1.markSource) `
|
|
385
|
-
##! experimental { scalar_lenses }
|
|
386
350
|
source: x is a extend {
|
|
387
351
|
view: metrics is { aggregate: c is count() }
|
|
388
352
|
view: v is { group_by: ai } + metrics
|