@malloydata/malloy-tests 0.0.142-dev240412191256 → 0.0.142-dev240413014741
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/package.json
CHANGED
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@jest/globals": "^29.4.3",
|
|
24
|
-
"@malloydata/db-bigquery": "^0.0.142-
|
|
25
|
-
"@malloydata/db-duckdb": "^0.0.142-
|
|
26
|
-
"@malloydata/db-postgres": "^0.0.142-
|
|
27
|
-
"@malloydata/db-snowflake": "^0.0.142-
|
|
28
|
-
"@malloydata/db-trino": "^0.0.142-
|
|
29
|
-
"@malloydata/malloy": "^0.0.142-
|
|
30
|
-
"@malloydata/render": "^0.0.142-
|
|
24
|
+
"@malloydata/db-bigquery": "^0.0.142-dev240413014741",
|
|
25
|
+
"@malloydata/db-duckdb": "^0.0.142-dev240413014741",
|
|
26
|
+
"@malloydata/db-postgres": "^0.0.142-dev240413014741",
|
|
27
|
+
"@malloydata/db-snowflake": "^0.0.142-dev240413014741",
|
|
28
|
+
"@malloydata/db-trino": "^0.0.142-dev240413014741",
|
|
29
|
+
"@malloydata/malloy": "^0.0.142-dev240413014741",
|
|
30
|
+
"@malloydata/render": "^0.0.142-dev240413014741",
|
|
31
31
|
"jsdom": "^22.1.0",
|
|
32
32
|
"luxon": "^2.4.0",
|
|
33
33
|
"madge": "^6.0.0"
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"@types/jsdom": "^21.1.1",
|
|
37
37
|
"@types/luxon": "^2.4.0"
|
|
38
38
|
},
|
|
39
|
-
"version": "0.0.142-
|
|
39
|
+
"version": "0.0.142-dev240413014741"
|
|
40
40
|
}
|
|
@@ -34,35 +34,38 @@ afterAll(async () => {
|
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
runtimes.runtimeMap.forEach((runtime, databaseName) => {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
test.when(runtime.dialect.supportsTempTables)(
|
|
38
|
+
`basic index - ${databaseName}`,
|
|
39
|
+
async () => {
|
|
40
|
+
const model = await runtime.loadModel(
|
|
41
|
+
`
|
|
40
42
|
source: airports is ${databaseName}.table('malloytest.airports') extend {
|
|
41
43
|
}
|
|
42
44
|
`
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
);
|
|
46
|
+
let result = await model.search('airports', 'SANTA', 10);
|
|
45
47
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
48
|
+
// if (result !== undefined) {
|
|
49
|
+
// console.log(result);
|
|
50
|
+
// } else {
|
|
51
|
+
// console.log("no result");
|
|
52
|
+
// }
|
|
53
|
+
expect(result).toBeDefined();
|
|
54
|
+
if (result !== undefined) {
|
|
55
|
+
expect(result[0].fieldName).toBe('county');
|
|
56
|
+
expect(result[0].fieldValue).toBe('SANTA ROSA');
|
|
57
|
+
expect(result[0].weight).toBe(26);
|
|
58
|
+
expect(result.length).toBe(10);
|
|
59
|
+
}
|
|
58
60
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
result = await model.search('airports', 'SANTA A', 100, 'city');
|
|
62
|
+
if (result !== undefined) {
|
|
63
|
+
// console.log(result);
|
|
64
|
+
expect(result[0].fieldName).toBe('city');
|
|
65
|
+
expect(result[0].fieldValue).toBe('SANTA ANA');
|
|
66
|
+
}
|
|
64
67
|
}
|
|
65
|
-
|
|
68
|
+
);
|
|
66
69
|
|
|
67
70
|
it(`index value map - ${databaseName}`, async () => {
|
|
68
71
|
const model = await runtime.loadModel(
|
|
@@ -94,7 +97,7 @@ runtimes.runtimeMap.forEach((runtime, databaseName) => {
|
|
|
94
97
|
});
|
|
95
98
|
|
|
96
99
|
// bigquery doesn't support row count based sampling.
|
|
97
|
-
test.when(databaseName !== 'bigquery')(
|
|
100
|
+
test.when(databaseName !== 'bigquery' && databaseName !== 'trino')(
|
|
98
101
|
`index rows count - ${databaseName}`,
|
|
99
102
|
async () => {
|
|
100
103
|
await expect(`
|
|
@@ -756,9 +756,12 @@ expressionModels.forEach((expressionModel, databaseName) => {
|
|
|
756
756
|
});
|
|
757
757
|
});
|
|
758
758
|
describe('is_inf', () => {
|
|
759
|
+
const inf = ['trino'].includes(databaseName)
|
|
760
|
+
? 'infinity!()'
|
|
761
|
+
: "'+inf'::number";
|
|
759
762
|
it(`works - ${databaseName}`, async () => {
|
|
760
763
|
await funcTestMultiple(
|
|
761
|
-
[
|
|
764
|
+
[`is_inf(${inf})`, true],
|
|
762
765
|
['is_inf(100)', false],
|
|
763
766
|
['is_inf(null)', false]
|
|
764
767
|
);
|
|
@@ -952,7 +955,7 @@ expressionModels.forEach((expressionModel, databaseName) => {
|
|
|
952
955
|
await funcTestMultiple(
|
|
953
956
|
["ascii('A')", 65],
|
|
954
957
|
["ascii('ABC')", 65],
|
|
955
|
-
["ascii('')", 0],
|
|
958
|
+
//["ascii('')", 0], // I don't think we can guarentee this Trino returns null
|
|
956
959
|
['ascii(null)', null]
|
|
957
960
|
);
|
|
958
961
|
});
|
|
@@ -963,7 +966,7 @@ expressionModels.forEach((expressionModel, databaseName) => {
|
|
|
963
966
|
["unicode('A')", 65],
|
|
964
967
|
["unicode('â')", 226],
|
|
965
968
|
["unicode('âBC')", 226],
|
|
966
|
-
["unicode('')", 0],
|
|
969
|
+
//["unicode('')", 0], // I don't think we can guarentee this Trino returns null
|
|
967
970
|
['unicode(null)', null]
|
|
968
971
|
);
|
|
969
972
|
});
|