@malloydata/malloy-tests 0.0.95-dev231019211822 → 0.0.95
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.
- package/README.md +213 -1
- package/dist/api.spec.d.ts +1 -1
- package/dist/api.spec.js +6 -13
- package/dist/api.spec.js.map +1 -1
- package/dist/databases/all/db_index.spec.js +21 -41
- package/dist/databases/all/db_index.spec.js.map +1 -1
- package/dist/databases/all/expr.spec.js +262 -339
- package/dist/databases/all/expr.spec.js.map +1 -1
- package/dist/databases/all/functions.spec.js +37 -35
- package/dist/databases/all/functions.spec.js.map +1 -1
- package/dist/databases/all/join.spec.js +125 -169
- package/dist/databases/all/join.spec.js.map +1 -1
- package/dist/databases/all/nomodel.spec.js +335 -594
- package/dist/databases/all/nomodel.spec.js.map +1 -1
- package/dist/databases/all/orderby.spec.js +82 -128
- package/dist/databases/all/orderby.spec.js.map +1 -1
- package/dist/databases/all/sql_expressions.spec.js +27 -43
- package/dist/databases/all/sql_expressions.spec.js.map +1 -1
- package/dist/databases/all/time.spec.js +63 -103
- package/dist/databases/all/time.spec.js.map +1 -1
- package/dist/databases/bigquery/double_truncation.spec.js +1 -1
- package/dist/databases/bigquery/handexpr.spec.js +12 -12
- package/dist/databases/bigquery/injestion_time_partitioning.spec.js +22 -22
- package/dist/databases/bigquery/joined_filters.spec.js +3 -3
- package/dist/databases/bigquery/json.spec.d.ts +1 -1
- package/dist/databases/bigquery/json.spec.js +25 -45
- package/dist/databases/bigquery/json.spec.js.map +1 -1
- package/dist/databases/bigquery/malloy_query.spec.d.ts +1 -1
- package/dist/databases/bigquery/malloy_query.spec.js +47 -48
- package/dist/databases/bigquery/malloy_query.spec.js.map +1 -1
- package/dist/databases/bigquery/time.spec.js +9 -13
- package/dist/databases/bigquery/time.spec.js.map +1 -1
- package/dist/databases/bigquery/wildcard_table_names.spec.js +19 -19
- package/dist/databases/bigquery-duckdb/nested_source_table.spec.js +53 -87
- package/dist/databases/bigquery-duckdb/nested_source_table.spec.js.map +1 -1
- package/dist/databases/bigquery-postgres/multi_connection.spec.js +5 -20
- package/dist/databases/bigquery-postgres/multi_connection.spec.js.map +1 -1
- package/dist/databases/bigquery-postgres/streaming.spec.js +6 -6
- package/dist/databases/bigquery-postgres/streaming.spec.js.map +1 -1
- package/dist/databases/duckdb/duckdb.spec.js +24 -33
- package/dist/databases/duckdb/duckdb.spec.js.map +1 -1
- package/dist/databases/postgres/postgres.spec.js +46 -67
- package/dist/databases/postgres/postgres.spec.js.map +1 -1
- package/dist/jestMatcher.spec.d.ts +1 -0
- package/dist/jestMatcher.spec.js +81 -0
- package/dist/jestMatcher.spec.js.map +1 -0
- package/dist/render/render.spec.js +10 -12
- package/dist/render/render.spec.js.map +1 -1
- package/dist/tags.spec.js +22 -2
- package/dist/tags.spec.js.map +1 -1
- package/dist/util/db-jest-matchers.d.ts +17 -6
- package/dist/util/db-jest-matchers.js +81 -20
- package/dist/util/db-jest-matchers.js.map +1 -1
- package/dist/util/index.d.ts +1 -2
- package/dist/util/index.js +11 -13
- package/dist/util/index.js.map +1 -1
- package/package.json +6 -6
- package/src/api.spec.ts +7 -16
- package/src/databases/all/db_index.spec.ts +22 -48
- package/src/databases/all/expr.spec.ts +273 -431
- package/src/databases/all/functions.spec.ts +37 -35
- package/src/databases/all/join.spec.ts +130 -196
- package/src/databases/all/nomodel.spec.ts +333 -689
- package/src/databases/all/orderby.spec.ts +87 -161
- package/src/databases/all/sql_expressions.spec.ts +29 -49
- package/src/databases/all/time.spec.ts +73 -130
- package/src/databases/bigquery/double_truncation.spec.ts +1 -1
- package/src/databases/bigquery/handexpr.spec.ts +12 -12
- package/src/databases/bigquery/injestion_time_partitioning.spec.ts +22 -22
- package/src/databases/bigquery/joined_filters.spec.ts +3 -3
- package/src/databases/bigquery/json.spec.ts +25 -49
- package/src/databases/bigquery/malloy_query.spec.ts +47 -54
- package/src/databases/bigquery/time.spec.ts +13 -17
- package/src/databases/bigquery/wildcard_table_names.spec.ts +19 -19
- package/src/databases/bigquery-duckdb/nested_source_table.spec.ts +56 -98
- package/src/databases/bigquery-postgres/multi_connection.spec.ts +5 -23
- package/src/databases/bigquery-postgres/streaming.spec.ts +12 -6
- package/src/databases/duckdb/duckdb.spec.ts +31 -43
- package/src/databases/postgres/postgres.spec.ts +54 -84
- package/src/jestMatcher.spec.ts +88 -0
- package/src/render/render.spec.ts +10 -12
- package/src/tags.spec.ts +22 -2
- package/src/util/db-jest-matchers.ts +106 -32
- package/src/util/index.ts +16 -14
|
@@ -31,7 +31,7 @@ const runtimes = new runtimes_1.RuntimeList(runtimes_1.allDatabases);
|
|
|
31
31
|
const timeSQL = "SELECT DATE '2021-02-24' as t_date, TIMESTAMP '2021-02-24 03:05:06' as t_timestamp";
|
|
32
32
|
// MTOY todo look at this list for timezone problems, I know there are some
|
|
33
33
|
describe.each(runtimes.runtimeList)('%s date and time', (dbName, runtime) => {
|
|
34
|
-
const sqlEq = (0, util_1.mkSqlEqWith)(runtime, { sql: timeSQL });
|
|
34
|
+
const sqlEq = (0, util_1.mkSqlEqWith)(runtime, dbName, { sql: timeSQL });
|
|
35
35
|
describe('interval measurement', () => {
|
|
36
36
|
test('forwards is positive', async () => {
|
|
37
37
|
const eq = sqlEq('day(@2000-01-01 to @2000-01-02)', '1');
|
|
@@ -408,83 +408,71 @@ describe.each(runtimes.runtimeList)('%s date and time', (dbName, runtime) => {
|
|
|
408
408
|
});
|
|
409
409
|
});
|
|
410
410
|
test('dependant join dialect fragments', async () => {
|
|
411
|
-
await expect(
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
411
|
+
await expect(`
|
|
412
|
+
source: timeData is ${dbName}.sql("""${timeSQL}""")
|
|
413
|
+
run: timeData -> {
|
|
414
|
+
extend: {join_one: joined is timeData on t_date = joined.t_date}
|
|
415
|
+
group_by: t_month is joined.t_timestamp.month
|
|
416
|
+
}
|
|
417
|
+
`).malloyResultMatches(runtime, { t_month: new Date('2021-02-01') });
|
|
418
418
|
});
|
|
419
419
|
describe('timezone set correctly', () => {
|
|
420
420
|
test('timezone set in source used by query', async () => {
|
|
421
|
-
expect((await (0, util_1.runQuery)(runtime, `
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
query: timezone -> {
|
|
442
|
-
group_by: default_time
|
|
443
|
-
nest: la_query
|
|
444
|
-
}
|
|
445
|
-
`)).resultExplore.structDef).toMatchObject({
|
|
421
|
+
expect((await (0, util_1.runQuery)(runtime, `run: ${dbName}.sql("SELECT 1") extend {
|
|
422
|
+
timezone: 'America/Los_Angeles'
|
|
423
|
+
dimension: la_time is @2021-02-24 03:05:06
|
|
424
|
+
} -> {
|
|
425
|
+
group_by: la_time
|
|
426
|
+
}`)).resultExplore.queryTimezone).toBe('America/Los_Angeles');
|
|
427
|
+
});
|
|
428
|
+
// TODO don't need to run this on all connections, so testIf not needed
|
|
429
|
+
(0, util_1.testIf)(runtime.supportsNesting)('timezone set in view inside source', async () => {
|
|
430
|
+
expect((await (0, util_1.runQuery)(runtime, `run: ${dbName}.sql("SELECT 1") extend {
|
|
431
|
+
dimension: default_time is @2021-02-24 03:05:06
|
|
432
|
+
view: la_query is {
|
|
433
|
+
timezone: 'America/Los_Angeles'
|
|
434
|
+
select: la_time is @2021-02-24 03:05:06
|
|
435
|
+
}
|
|
436
|
+
} -> {
|
|
437
|
+
group_by: default_time
|
|
438
|
+
nest: la_query
|
|
439
|
+
}`)).resultExplore.structDef).toMatchObject({
|
|
446
440
|
fields: [
|
|
447
441
|
{},
|
|
448
442
|
{ name: 'la_query', queryTimezone: 'America/Los_Angeles' },
|
|
449
443
|
],
|
|
450
444
|
});
|
|
451
445
|
});
|
|
446
|
+
// TODO don't need to run this on all connections, so testIf not needed
|
|
452
447
|
(0, util_1.testIf)(runtime.supportsNesting)('timezone set in query using source', async () => {
|
|
453
|
-
expect((await (0, util_1.runQuery)(runtime, `
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
group_by: default_time
|
|
464
|
-
nest: undef_query
|
|
465
|
-
}
|
|
466
|
-
`)).resultExplore.queryTimezone).toBe('America/Los_Angeles');
|
|
448
|
+
expect((await (0, util_1.runQuery)(runtime, `run: ${dbName}.sql("SELECT 1") extend {
|
|
449
|
+
dimension: default_time is @2021-02-24 03:05:06
|
|
450
|
+
view: undef_query is {
|
|
451
|
+
select: undef_time is @2021-02-24 03:05:06
|
|
452
|
+
}
|
|
453
|
+
} -> {
|
|
454
|
+
timezone: 'America/Los_Angeles'
|
|
455
|
+
group_by: default_time
|
|
456
|
+
nest: undef_query
|
|
457
|
+
}`)).resultExplore.queryTimezone).toBe('America/Los_Angeles');
|
|
467
458
|
});
|
|
468
459
|
(0, util_1.testIf)(runtime.supportsNesting)('multiple timezones', async () => {
|
|
469
|
-
|
|
470
|
-
source: timezone is from_sql(timeData) + {
|
|
460
|
+
const theQuery = await (0, util_1.runQuery)(runtime, `run: ${dbName}.sql('SELECT 1') extend {
|
|
471
461
|
timezone: 'America/New_York'
|
|
472
462
|
dimension: ny_time is @2021-02-24 03:05:06
|
|
473
|
-
|
|
463
|
+
view: la_query is {
|
|
474
464
|
timezone: 'America/Los_Angeles'
|
|
475
465
|
select: la_time is @2021-02-24 03:05:06
|
|
476
466
|
}
|
|
477
|
-
|
|
467
|
+
view: mex_query is {
|
|
478
468
|
timezone: 'America/Mexico_City'
|
|
479
469
|
select: mex_time is @2021-02-24 03:05:06
|
|
480
470
|
}
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
}
|
|
487
|
-
`)).resultExplore.structDef).toMatchObject({
|
|
471
|
+
} -> {
|
|
472
|
+
group_by: ny_time
|
|
473
|
+
nest: la_query, mex_query
|
|
474
|
+
}`);
|
|
475
|
+
expect(theQuery.resultExplore.structDef).toMatchObject({
|
|
488
476
|
queryTimezone: 'America/New_York',
|
|
489
477
|
fields: [
|
|
490
478
|
{},
|
|
@@ -535,8 +523,7 @@ describe.each(runtimes.runtimeList)('%s: tz literals', (dbName, runtime) => {
|
|
|
535
523
|
// testing something ... file this under "abundance of caution". It
|
|
536
524
|
// really tests nothing, but I feel calmer with this here.
|
|
537
525
|
const query = runtime.loadQuery(`
|
|
538
|
-
|
|
539
|
-
query: from_sql(tzTest) -> {
|
|
526
|
+
run: ${dbName}.sql("SELECT 1") -> {
|
|
540
527
|
group_by: literalTime is @2020-02-20 00:00:00
|
|
541
528
|
}
|
|
542
529
|
`);
|
|
@@ -547,8 +534,7 @@ describe.each(runtimes.runtimeList)('%s: tz literals', (dbName, runtime) => {
|
|
|
547
534
|
});
|
|
548
535
|
test('literal with zone name', async () => {
|
|
549
536
|
const query = runtime.loadQuery(`
|
|
550
|
-
|
|
551
|
-
query: from_sql(tzTest) -> {
|
|
537
|
+
run: ${dbName}.sql("SELECT 1") -> {
|
|
552
538
|
group_by: literalTime is @2020-02-20 00:00:00[America/Mexico_City]
|
|
553
539
|
}
|
|
554
540
|
`);
|
|
@@ -561,75 +547,49 @@ describe.each(runtimes.runtimeList)('%s: tz literals', (dbName, runtime) => {
|
|
|
561
547
|
describe.each(runtimes.runtimeList)('%s: query tz', (dbName, runtime) => {
|
|
562
548
|
test('literal timestamps', async () => {
|
|
563
549
|
const query = runtime.loadQuery(`
|
|
564
|
-
|
|
565
|
-
query: from_sql(tzTest) -> {
|
|
550
|
+
run: ${dbName}.sql("SELECT 1") -> {
|
|
566
551
|
timezone: '${zone}'
|
|
567
552
|
group_by: literalTime is @2020-02-20 00:00:00
|
|
568
553
|
}
|
|
569
|
-
`);
|
|
554
|
+
`);
|
|
570
555
|
const result = await query.run();
|
|
571
556
|
const literal = result.data.path(0, 'literalTime').value;
|
|
572
557
|
const have = luxon_1.DateTime.fromJSDate(literal);
|
|
573
558
|
expect(have.valueOf()).toEqual(zone_2020.valueOf());
|
|
574
559
|
});
|
|
575
560
|
test('extract', async () => {
|
|
576
|
-
await expect(
|
|
577
|
-
query: from_sql(tzTest) -> {
|
|
561
|
+
await expect(`run: ${dbName}.sql("SELECT 1") -> {
|
|
578
562
|
timezone: '${zone}'
|
|
579
|
-
|
|
563
|
+
extend: { dimension: utc_midnight is @2020-02-20 00:00:00[UTC] }
|
|
580
564
|
select:
|
|
581
565
|
mex_midnight is hour(utc_midnight)
|
|
582
566
|
mex_day is day(utc_midnight)
|
|
583
|
-
}
|
|
567
|
+
}`).malloyResultMatches(runtime, { mex_midnight: 18, mex_day: 19 });
|
|
584
568
|
});
|
|
585
569
|
test('truncate day', async () => {
|
|
586
570
|
// At midnight in london it the 19th in Mexico, so that truncates to
|
|
587
571
|
// midnight on the 19th
|
|
588
572
|
const mex_19 = luxon_1.DateTime.fromISO('2020-02-19T00:00:00', { zone });
|
|
589
|
-
await expect(
|
|
590
|
-
query: from_sql(tzTest) -> {
|
|
573
|
+
await expect(`run: ${dbName}.sql("SELECT 1 as x") -> {
|
|
591
574
|
timezone: '${zone}'
|
|
592
|
-
|
|
593
|
-
select:
|
|
594
|
-
|
|
595
|
-
}`, { mex_day: mex_19.toJSDate() });
|
|
575
|
+
extend: { dimension: utc_midnight is @2020-02-20 00:00:00[UTC] }
|
|
576
|
+
select: mex_day is utc_midnight.day
|
|
577
|
+
}`).malloyResultMatches(runtime, { mex_day: mex_19.toJSDate() });
|
|
596
578
|
});
|
|
597
579
|
test('cast timestamp to date', async () => {
|
|
598
|
-
// At midnight in london it the 19th in Mexico, so when we cast that
|
|
580
|
+
// At midnight in london it is the 19th in Mexico, so when we cast that
|
|
599
581
|
// to a date, it should be the 19th.
|
|
600
|
-
await expect(
|
|
601
|
-
query: from_sql(tzTest) -> {
|
|
582
|
+
await expect(`run: ${dbName}.sql("SELECT 1 as x") -> {
|
|
602
583
|
timezone: '${zone}'
|
|
603
|
-
|
|
584
|
+
extend: { dimension: utc_midnight is @2020-02-20 00:00:00[UTC] }
|
|
604
585
|
select: mex_day is day(utc_midnight::date)
|
|
605
|
-
}
|
|
586
|
+
}`).malloyResultMatches(runtime, { mex_day: 19 });
|
|
606
587
|
});
|
|
607
588
|
test('cast date to timestamp', async () => {
|
|
608
|
-
await expect(
|
|
609
|
-
SELECT DATE '2020-02-20' AS mex_20
|
|
610
|
-
""" }
|
|
611
|
-
query: from_sql(tzTest) -> {
|
|
589
|
+
await expect(`run: ${dbName}.sql(" SELECT DATE '2020-02-20' AS mex_20") -> {
|
|
612
590
|
timezone: '${zone}'
|
|
613
591
|
select: mex_ts is mex_20::timestamp
|
|
614
|
-
}
|
|
615
|
-
});
|
|
616
|
-
test('can use unsupported types', async () => {
|
|
617
|
-
if (dbName === 'bigquery') {
|
|
618
|
-
await expect(runtime).queryMatches(`sql: timeData is { connection: "${dbName}" select: """
|
|
619
|
-
SELECT DATETIME '2020-02-20 00:00:00' as t_datetime
|
|
620
|
-
"""}
|
|
621
|
-
query: from_sql(timeData) -> {
|
|
622
|
-
select: mex_220 is t_datetime::timestamp
|
|
623
|
-
}`, { mex_220: utc_2020.toJSDate() });
|
|
624
|
-
}
|
|
625
|
-
else if (dbName === 'duckdb' || dbName === 'postgres') {
|
|
626
|
-
await expect(runtime).queryMatches(`sql: timeData is { connection: "duckdb" select: """
|
|
627
|
-
SELECT TIMESTAMPTZ '2020-02-20 00:00:00 ${zone}' as t_tstz
|
|
628
|
-
"""}
|
|
629
|
-
query: from_sql(timeData) -> {
|
|
630
|
-
select: mex_220 is t_tstz::timestamp
|
|
631
|
-
}`, { mex_220: zone_2020.toJSDate() });
|
|
632
|
-
}
|
|
592
|
+
}`).malloyResultMatches(runtime, { mex_ts: zone_2020.toJSDate() });
|
|
633
593
|
});
|
|
634
594
|
});
|
|
635
595
|
afterAll(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.spec.js","sourceRoot":"","sources":["../../../src/databases/all/time.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"time.spec.js","sourceRoot":"","sources":["../../../src/databases/all/time.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ describe('BigQuery double truncation', () => {
|
|
|
35
35
|
expect(runtime).toBeDefined();
|
|
36
36
|
if (runtime) {
|
|
37
37
|
const src = `
|
|
38
|
-
|
|
38
|
+
run: bigquery.table('malloy-data.faa.flights') -> {
|
|
39
39
|
group_by: takeoff_week is dep_time.week
|
|
40
40
|
}
|
|
41
41
|
`;
|
|
@@ -333,7 +333,7 @@ describe('BigQuery hand-built expression test', () => {
|
|
|
333
333
|
it(`hand turtle malloy - ${databaseName}`, async () => {
|
|
334
334
|
const result = await handModel
|
|
335
335
|
.loadQuery(`
|
|
336
|
-
|
|
336
|
+
run: aircraft->hand_turtle
|
|
337
337
|
`)
|
|
338
338
|
.run();
|
|
339
339
|
expect(result.data.value[0]['aircraft_count']).toBe(3599);
|
|
@@ -341,7 +341,7 @@ describe('BigQuery hand-built expression test', () => {
|
|
|
341
341
|
it(`default sort order - ${databaseName}`, async () => {
|
|
342
342
|
const result = await handModel
|
|
343
343
|
.loadQuery(`
|
|
344
|
-
|
|
344
|
+
run: aircraft->{
|
|
345
345
|
group_by: state
|
|
346
346
|
aggregate: aircraft_count
|
|
347
347
|
limit: 10
|
|
@@ -353,7 +353,7 @@ describe('BigQuery hand-built expression test', () => {
|
|
|
353
353
|
it(`default sort order by dir - ${databaseName}`, async () => {
|
|
354
354
|
const result = await handModel
|
|
355
355
|
.loadQuery(`
|
|
356
|
-
|
|
356
|
+
run: aircraft->{
|
|
357
357
|
group_by: state
|
|
358
358
|
aggregate: aircraft_count
|
|
359
359
|
order_by: 2
|
|
@@ -531,14 +531,14 @@ describe('BigQuery hand-built expression test', () => {
|
|
|
531
531
|
it(`hand: lots of kinds of sums - ${databaseName}`, async () => {
|
|
532
532
|
const result = await handModel
|
|
533
533
|
.loadQuery(`
|
|
534
|
-
|
|
534
|
+
run: aircraft->{
|
|
535
535
|
aggregate:
|
|
536
536
|
aircraft_models.total_seats,
|
|
537
537
|
total_seats2 is sum(aircraft_models.seats),
|
|
538
538
|
total_seats3 is aircraft_models.sum(aircraft_models.seats),
|
|
539
539
|
aircraft_models.boeing_seats,
|
|
540
|
-
boeing_seats2 is aircraft_models.sum(aircraft_models.seats) {
|
|
541
|
-
boeing_seats3 is aircraft_models.boeing_seats {
|
|
540
|
+
boeing_seats2 is aircraft_models.sum(aircraft_models.seats) { where: aircraft_models.manufacturer ? 'BOEING'},
|
|
541
|
+
boeing_seats3 is aircraft_models.boeing_seats { where: aircraft_models.manufacturer ? ~'B%'}
|
|
542
542
|
}
|
|
543
543
|
`)
|
|
544
544
|
.run();
|
|
@@ -553,7 +553,7 @@ describe('BigQuery hand-built expression test', () => {
|
|
|
553
553
|
it(`hand: bad root name for pathed sum - ${databaseName}`, async () => {
|
|
554
554
|
const result = await handModel
|
|
555
555
|
.loadQuery(`
|
|
556
|
-
|
|
556
|
+
run: aircraft->{
|
|
557
557
|
aggregate: total_seats3 is aircraft_models.sum(aircraft_models.seats)
|
|
558
558
|
}
|
|
559
559
|
`)
|
|
@@ -566,7 +566,7 @@ describe('BigQuery hand-built expression test', () => {
|
|
|
566
566
|
it(`hand: expression fixups. - ${databaseName}`, async () => {
|
|
567
567
|
const result = await handModel
|
|
568
568
|
.loadQuery(`
|
|
569
|
-
|
|
569
|
+
run: aircraft->{
|
|
570
570
|
aggregate:
|
|
571
571
|
aircraft_models.total_seats,
|
|
572
572
|
aircraft_models.boeing_seats
|
|
@@ -579,8 +579,8 @@ describe('BigQuery hand-built expression test', () => {
|
|
|
579
579
|
it(`model: filtered measures - ${databaseName}`, async () => {
|
|
580
580
|
const result = await handModel
|
|
581
581
|
.loadQuery(`
|
|
582
|
-
|
|
583
|
-
aggregate: boeing_seats is aircraft_models.total_seats {
|
|
582
|
+
run: aircraft->{
|
|
583
|
+
aggregate: boeing_seats is aircraft_models.total_seats { where: aircraft_models.manufacturer ?'BOEING'}
|
|
584
584
|
}
|
|
585
585
|
`)
|
|
586
586
|
.run();
|
|
@@ -590,8 +590,8 @@ describe('BigQuery hand-built expression test', () => {
|
|
|
590
590
|
it(`model: do filters force dependant joins? - ${databaseName}`, async () => {
|
|
591
591
|
const result = await handModel
|
|
592
592
|
.loadQuery(`
|
|
593
|
-
|
|
594
|
-
aggregate: boeing_aircraft is count() {
|
|
593
|
+
run: aircraft->{
|
|
594
|
+
aggregate: boeing_aircraft is count() { where:aircraft_models.manufacturer ?'BOEING'}
|
|
595
595
|
}
|
|
596
596
|
`)
|
|
597
597
|
.run();
|
|
@@ -36,13 +36,13 @@ describe('Wildcard BigQuery Tables', () => {
|
|
|
36
36
|
if (runtime) {
|
|
37
37
|
const result = await runtime
|
|
38
38
|
.loadQuery(`
|
|
39
|
-
source: aircraft is table('malloy-data.malloytest.itp_hourly_aircraft') {
|
|
39
|
+
source: aircraft is bigquery.table('malloy-data.malloytest.itp_hourly_aircraft') extend {
|
|
40
40
|
primary_key: id
|
|
41
41
|
measure: aircraft_count is count()
|
|
42
42
|
where: _PARTITIONTIME = @2023-03-06 17:00:00 to @2023-03-06 19:00:00
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
run: aircraft -> {
|
|
46
46
|
aggregate: aircraft_count
|
|
47
47
|
}
|
|
48
48
|
`)
|
|
@@ -56,13 +56,13 @@ describe('Wildcard BigQuery Tables', () => {
|
|
|
56
56
|
if (runtime) {
|
|
57
57
|
const result = await runtime
|
|
58
58
|
.loadQuery(`
|
|
59
|
-
source: aircraft is table('malloy-data.malloytest.itp_daily_aircraft') {
|
|
59
|
+
source: aircraft is bigquery.table('malloy-data.malloytest.itp_daily_aircraft') extend {
|
|
60
60
|
primary_key: id
|
|
61
61
|
measure: aircraft_count is count()
|
|
62
62
|
where: _PARTITIONTIME = @2023-03-06 00:00:00
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
run: aircraft -> {
|
|
66
66
|
aggregate: aircraft_count
|
|
67
67
|
}
|
|
68
68
|
`)
|
|
@@ -70,13 +70,13 @@ describe('Wildcard BigQuery Tables', () => {
|
|
|
70
70
|
expect(result.data.value[0]['aircraft_count']).toBe(5);
|
|
71
71
|
const empty_result = await runtime
|
|
72
72
|
.loadQuery(`
|
|
73
|
-
source: aircraft is table('malloy-data.malloytest.itp_daily_aircraft') {
|
|
73
|
+
source: aircraft is bigquery.table('malloy-data.malloytest.itp_daily_aircraft') extend {
|
|
74
74
|
primary_key: id
|
|
75
75
|
measure: aircraft_count is count()
|
|
76
76
|
where: _PARTITIONTIME = @2023-03-06 00:00:01
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
run: aircraft -> {
|
|
80
80
|
aggregate: aircraft_count
|
|
81
81
|
}
|
|
82
82
|
`)
|
|
@@ -90,13 +90,13 @@ describe('Wildcard BigQuery Tables', () => {
|
|
|
90
90
|
if (runtime) {
|
|
91
91
|
const result = await runtime
|
|
92
92
|
.loadQuery(`
|
|
93
|
-
source: aircraft is table('malloy-data.malloytest.itp_monthly_aircraft') {
|
|
93
|
+
source: aircraft is bigquery.table('malloy-data.malloytest.itp_monthly_aircraft') extend {
|
|
94
94
|
primary_key: id
|
|
95
95
|
measure: aircraft_count is count()
|
|
96
96
|
where: _PARTITIONTIME = @2023-03-01 00:00:00
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
run: aircraft -> {
|
|
100
100
|
aggregate: aircraft_count
|
|
101
101
|
}
|
|
102
102
|
`)
|
|
@@ -104,13 +104,13 @@ describe('Wildcard BigQuery Tables', () => {
|
|
|
104
104
|
expect(result.data.value[0]['aircraft_count']).toBe(5);
|
|
105
105
|
const empty_result = await runtime
|
|
106
106
|
.loadQuery(`
|
|
107
|
-
source: aircraft is table('malloy-data.malloytest.itp_monthly_aircraft') {
|
|
107
|
+
source: aircraft is bigquery.table('malloy-data.malloytest.itp_monthly_aircraft') extend {
|
|
108
108
|
primary_key: id
|
|
109
109
|
measure: aircraft_count is count()
|
|
110
110
|
where: _PARTITIONTIME = @2023-03-01 00:00:01
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
run: aircraft -> {
|
|
114
114
|
aggregate: aircraft_count
|
|
115
115
|
}
|
|
116
116
|
`)
|
|
@@ -124,15 +124,15 @@ describe('Wildcard BigQuery Tables', () => {
|
|
|
124
124
|
if (runtime) {
|
|
125
125
|
const result = await runtime
|
|
126
126
|
.loadQuery(`
|
|
127
|
-
source: aircraft is table('malloy-data.malloytest.itp_hourly_aircraft') {
|
|
127
|
+
source: aircraft is bigquery.table('malloy-data.malloytest.itp_hourly_aircraft') extend {
|
|
128
128
|
primary_key: id
|
|
129
129
|
measure: aircraft_count is count()
|
|
130
130
|
where: _PARTITIONTIME = @2023-03-06 17:00:00 to @2023-03-06 19:00:00
|
|
131
131
|
}
|
|
132
|
-
source: state_facts is table('malloy-data.malloytest.state_facts') {
|
|
132
|
+
source: state_facts is bigquery.table('malloy-data.malloytest.state_facts') extend {
|
|
133
133
|
join_many: aircraft on state = aircraft.state
|
|
134
134
|
}
|
|
135
|
-
|
|
135
|
+
run: state_facts -> {
|
|
136
136
|
group_by: aircraft.state
|
|
137
137
|
aggregate: aircraft_count is aircraft.count()
|
|
138
138
|
order_by: 1
|
|
@@ -158,15 +158,15 @@ describe('Wildcard BigQuery Tables', () => {
|
|
|
158
158
|
if (runtime) {
|
|
159
159
|
const result = await runtime
|
|
160
160
|
.loadQuery(`
|
|
161
|
-
source: aircraft is table('malloy-data.malloytest.itp_hourly_aircraft') {
|
|
161
|
+
source: aircraft is bigquery.table('malloy-data.malloytest.itp_hourly_aircraft') extend {
|
|
162
162
|
primary_key: id
|
|
163
163
|
measure: aircraft_count is count()
|
|
164
164
|
where: _PARTITIONTIME = @2023-03-06 17:00:00 to @2023-03-06 19:00:00
|
|
165
165
|
}
|
|
166
|
-
source: state_facts is table('malloy-data.malloytest.state_facts') {
|
|
166
|
+
source: state_facts is bigquery.table('malloy-data.malloytest.state_facts') extend {
|
|
167
167
|
join_many: aircraft on state = aircraft.state
|
|
168
168
|
}
|
|
169
|
-
|
|
169
|
+
run: state_facts -> {
|
|
170
170
|
group_by: aircraft.state
|
|
171
171
|
aggregate: aircraft_count is aircraft.count()
|
|
172
172
|
where: aircraft._PARTITIONTIME = @2023-03-06 18:00:00
|
|
@@ -188,12 +188,12 @@ describe('Wildcard BigQuery Tables', () => {
|
|
|
188
188
|
if (runtime) {
|
|
189
189
|
const result = await runtime
|
|
190
190
|
.loadQuery(`
|
|
191
|
-
source: aircraft is table('malloy-data.malloytest.itp_daily_aircraft') {
|
|
191
|
+
source: aircraft is bigquery.table('malloy-data.malloytest.itp_daily_aircraft') extend {
|
|
192
192
|
primary_key: id
|
|
193
193
|
measure: aircraft_count is count()
|
|
194
194
|
where: _PARTITIONDATE = @2023-03-06
|
|
195
195
|
}
|
|
196
|
-
|
|
196
|
+
run: aircraft -> {
|
|
197
197
|
aggregate: aircraft_count
|
|
198
198
|
}
|
|
199
199
|
`)
|
|
@@ -207,24 +207,24 @@ describe('Wildcard BigQuery Tables', () => {
|
|
|
207
207
|
if (runtime) {
|
|
208
208
|
await expect(runtime
|
|
209
209
|
.loadQuery(`
|
|
210
|
-
source: aircraft is table('malloy-data.malloytest.itp_hourly_aircraft') {
|
|
210
|
+
source: aircraft is bigquery.table('malloy-data.malloytest.itp_hourly_aircraft') extend {
|
|
211
211
|
primary_key: id
|
|
212
212
|
measure: aircraft_count is count()
|
|
213
213
|
where: _PARTITIONDATE = @2023-03-06
|
|
214
214
|
}
|
|
215
|
-
|
|
215
|
+
run: aircraft -> {
|
|
216
216
|
aggregate: aircraft_count
|
|
217
217
|
}
|
|
218
218
|
`)
|
|
219
219
|
.run()).rejects.toThrow('_PARTITIONDATE');
|
|
220
220
|
await expect(runtime
|
|
221
221
|
.loadQuery(`
|
|
222
|
-
source: aircraft is table('malloy-data.malloytest.itp_monthly_aircraft') {
|
|
222
|
+
source: aircraft is bigquery.table('malloy-data.malloytest.itp_monthly_aircraft') extend {
|
|
223
223
|
primary_key: id
|
|
224
224
|
measure: aircraft_count is count()
|
|
225
225
|
where: _PARTITIONDATE = @2023-03-06
|
|
226
226
|
}
|
|
227
|
-
|
|
227
|
+
run: aircraft -> {
|
|
228
228
|
aggregate: aircraft_count
|
|
229
229
|
}
|
|
230
230
|
`)
|
|
@@ -26,18 +26,18 @@ const runtimes_1 = require("../../runtimes");
|
|
|
26
26
|
const util_1 = require("../../util");
|
|
27
27
|
function sourceCodeWithFilter(filter) {
|
|
28
28
|
return `
|
|
29
|
-
source: aircraft_models is table('malloy-data.faa.aircraft_models') {
|
|
29
|
+
source: aircraft_models is bigquery.table('malloy-data.faa.aircraft_models') extend {
|
|
30
30
|
primary_key: aircraft_model_code
|
|
31
31
|
where: ${filter}
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
source: aircraft is table('malloy-data.faa.aircraft') {
|
|
34
|
+
source: aircraft is bigquery.table('malloy-data.faa.aircraft') extend {
|
|
35
35
|
primary_key: tail_num
|
|
36
36
|
measure: aircraft_count is count()
|
|
37
37
|
join_one: aircraft_models with aircraft_model_code
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
run: aircraft -> {
|
|
41
41
|
group_by: aircraft_models.aircraft_model_code
|
|
42
42
|
}
|
|
43
43
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import '../../util/db-jest-matchers';
|