@balena/abstract-sql-compiler 7.20.5 → 7.20.6

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.
@@ -1,3 +1,17 @@
1
+ - commits:
2
+ - subject: "CI: Add more abstract-sql unit tests"
3
+ hash: 58f6210f55806ad15fd5e9c90079f208e64b781d
4
+ body: ""
5
+ footer:
6
+ Change-type: patch
7
+ change-type: patch
8
+ Signed-off-by: Josh Bowling <josh@monarci.com>
9
+ signed-off-by: Josh Bowling <josh@monarci.com>
10
+ author: Josh Bowling
11
+ nested: []
12
+ version: 7.20.6
13
+ title: ""
14
+ date: 2022-11-16T08:37:14.277Z
1
15
  - commits:
2
16
  - subject: Fix Right SQL generation
3
17
  hash: 8b6715c84ac7dab4c4248d19afa4b578c0d6c0ec
@@ -11,7 +25,7 @@
11
25
  nested: []
12
26
  version: 7.20.5
13
27
  title: ""
14
- date: 2022-11-16T07:19:37.766Z
28
+ date: 2022-11-16T07:23:05.814Z
15
29
  - commits:
16
30
  - subject: "CI: Add several abstract-sql unit tests"
17
31
  hash: e0319dd38e6851c5ed3f2b503ecf2ff93d67f0dd
package/CHANGELOG.md CHANGED
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file
4
4
  automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
+ ## 7.20.6 - 2022-11-16
8
+
9
+ * CI: Add more abstract-sql unit tests [Josh Bowling]
10
+
7
11
  ## 7.20.5 - 2022-11-16
8
12
 
9
13
  * Fix Right SQL generation [Josh Bowling]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/abstract-sql-compiler",
3
- "version": "7.20.5",
3
+ "version": "7.20.6",
4
4
  "description": "A translator for abstract sql into sql.",
5
5
  "main": "out/AbstractSQLCompiler.js",
6
6
  "types": "out/AbstractSQLCompiler.d.ts",
@@ -63,6 +63,6 @@
63
63
  ]
64
64
  },
65
65
  "versionist": {
66
- "publishedAt": "2022-11-16T07:19:38.305Z"
66
+ "publishedAt": "2022-11-16T08:37:14.574Z"
67
67
  }
68
68
  }
@@ -45,7 +45,7 @@ describe('Add', () => {
45
45
  test(
46
46
  ['SelectQuery', ['Select', [['Add', ['Number', 5], ['Number', 3]]]]],
47
47
  (result, sqlEquals) => {
48
- it('should produce a valid addition statement', () => {
48
+ it('should produce a valid Add statement', () => {
49
49
  sqlEquals(result.query, 'SELECT 5 + 3');
50
50
  });
51
51
  },
@@ -56,7 +56,7 @@ describe('Subtract', () => {
56
56
  test(
57
57
  ['SelectQuery', ['Select', [['Subtract', ['Number', 5], ['Number', 3]]]]],
58
58
  (result, sqlEquals) => {
59
- it('should produce a valid subtraction statement', () => {
59
+ it('should produce a valid Subtract statement', () => {
60
60
  sqlEquals(result.query, 'SELECT 5 - 3');
61
61
  });
62
62
  },
@@ -67,7 +67,7 @@ describe('Multiply', () => {
67
67
  test(
68
68
  ['SelectQuery', ['Select', [['Multiply', ['Number', 5], ['Number', 3]]]]],
69
69
  (result, sqlEquals) => {
70
- it('should produce a valid multiplication statement', () => {
70
+ it('should produce a valid Multiply statement', () => {
71
71
  sqlEquals(result.query, 'SELECT 5 * 3');
72
72
  });
73
73
  },
@@ -78,7 +78,7 @@ describe('Divide', () => {
78
78
  test(
79
79
  ['SelectQuery', ['Select', [['Divide', ['Number', 10], ['Number', 5]]]]],
80
80
  (result, sqlEquals) => {
81
- it('should produce a valid division statement', () => {
81
+ it('should produce a valid Divide statement', () => {
82
82
  sqlEquals(result.query, 'SELECT 10 / 5');
83
83
  });
84
84
  },
@@ -90,7 +90,7 @@ describe('Year', () => {
90
90
  ['SelectQuery', ['Select', [['Year', ['Date', '2022-10-10']]]]],
91
91
  [['Date', '2022-10-10']],
92
92
  (result, sqlEquals) => {
93
- it('should produce a valid extract year statement', () => {
93
+ it('should produce a valid Year statement', () => {
94
94
  sqlEquals(result.query, `SELECT EXTRACT('YEAR' FROM $1)`);
95
95
  });
96
96
  },
@@ -102,7 +102,7 @@ describe('Month', () => {
102
102
  ['SelectQuery', ['Select', [['Month', ['Date', '2022-10-10']]]]],
103
103
  [['Date', '2022-10-10']],
104
104
  (result, sqlEquals) => {
105
- it('should produce a valid extract month statement', () => {
105
+ it('should produce a valid Month statement', () => {
106
106
  sqlEquals(result.query, `SELECT EXTRACT('MONTH' FROM $1)`);
107
107
  });
108
108
  },
@@ -114,7 +114,7 @@ describe('Day', () => {
114
114
  ['SelectQuery', ['Select', [['Day', ['Date', '2022-10-10']]]]],
115
115
  [['Date', '2022-10-10']],
116
116
  (result, sqlEquals) => {
117
- it('should produce a valid extract day statement', () => {
117
+ it('should produce a valid Day statement', () => {
118
118
  sqlEquals(result.query, `SELECT EXTRACT('DAY' FROM $1)`);
119
119
  });
120
120
  },
@@ -129,7 +129,7 @@ describe('Hour', () => {
129
129
  ],
130
130
  [['Date', '2022-10-10T10:10:10.000Z']],
131
131
  (result, sqlEquals) => {
132
- it('should produce a valid extract hour statement', () => {
132
+ it('should produce a valid Hour statement', () => {
133
133
  sqlEquals(result.query, `SELECT EXTRACT('HOUR' FROM $1)`);
134
134
  });
135
135
  },
@@ -144,7 +144,7 @@ describe('Minute', () => {
144
144
  ],
145
145
  [['Date', '2022-10-10T10:10:10.000Z']],
146
146
  (result, sqlEquals) => {
147
- it('should produce a valid extract minute statement', () => {
147
+ it('should produce a valid Minute statement', () => {
148
148
  sqlEquals(result.query, `SELECT EXTRACT('MINUTE' FROM $1)`);
149
149
  });
150
150
  },
@@ -174,7 +174,7 @@ describe('Fractionalseconds', () => {
174
174
  ],
175
175
  [['Date', '2022-10-10T10:10:10.000Z']],
176
176
  (result, sqlEquals) => {
177
- it('should produce a valid extract fractionalseconds statement', () => {
177
+ it('should produce a valid extract Fractionalseconds statement', () => {
178
178
  sqlEquals(
179
179
  result.query,
180
180
  `SELECT EXTRACT('SECOND' FROM $1) - FLOOR(EXTRACT('SECOND' FROM $1))`,
@@ -204,7 +204,7 @@ describe('Totalseconds', () => {
204
204
  ],
205
205
  ],
206
206
  (result, sqlEquals) => {
207
- it('should produce a valid interval statement', () => {
207
+ it('should produce a valid Totalseconds statement', () => {
208
208
  sqlEquals(
209
209
  result.query,
210
210
  `SELECT EXTRACT(EPOCH FROM INTERVAL '1 0:0:0.0')`,
@@ -224,7 +224,7 @@ describe('Concatenate', () => {
224
224
  ],
225
225
  ],
226
226
  (result, sqlEquals) => {
227
- it('should produce a valid concatenate statement', () => {
227
+ it('should produce a valid Concatenate statement', () => {
228
228
  sqlEquals(result.query, `SELECT ('foo' || 'bar')`);
229
229
  });
230
230
  },
@@ -248,7 +248,7 @@ describe('ConcatenateWithSeparator', () => {
248
248
  ],
249
249
  ],
250
250
  (result, sqlEquals) => {
251
- it('should produce a valid concatenate with separator statement', () => {
251
+ it('should produce a valid ConcatenateWithSeparator statement', () => {
252
252
  sqlEquals(result.query, `SELECT CONCAT_WS('|', 'foo', 'bar')`);
253
253
  });
254
254
  },
@@ -272,7 +272,7 @@ describe('Replace', () => {
272
272
  ],
273
273
  ],
274
274
  (result, sqlEquals) => {
275
- it('should produce a valid replace statement', () => {
275
+ it('should produce a valid Replace statement', () => {
276
276
  sqlEquals(result.query, `SELECT REPLACE('foobar', 'bar', 'baz')`);
277
277
  });
278
278
  },
@@ -286,7 +286,7 @@ describe('CharacterLength', () => {
286
286
  ['Select', [['CharacterLength', ['EmbeddedText', 'foobar']]]],
287
287
  ],
288
288
  (result, sqlEquals) => {
289
- it('should produce a valid character length statement', () => {
289
+ it('should produce a valid CharacterLength statement', () => {
290
290
  sqlEquals(result.query, `SELECT LENGTH('foobar')`);
291
291
  });
292
292
  },
@@ -303,7 +303,7 @@ describe('StrPos', () => {
303
303
  ],
304
304
  ],
305
305
  (result, sqlEquals) => {
306
- it('should produce a valid string position statement', () => {
306
+ it('should produce a valid StrPos statement', () => {
307
307
  sqlEquals(result.query, `SELECT STRPOS('foobar', 'b')`);
308
308
  });
309
309
  },
@@ -331,7 +331,7 @@ describe('Duration', () => {
331
331
  ],
332
332
  ],
333
333
  (result, sqlEquals) => {
334
- it('should produce a valid interval statement', () => {
334
+ it('should produce a valid Duration statement', () => {
335
335
  sqlEquals(result.query, `SELECT INTERVAL '1 2:3:4.0'`);
336
336
  });
337
337
  },
@@ -355,7 +355,7 @@ describe('Substring', () => {
355
355
  ],
356
356
  ],
357
357
  (result, sqlEquals) => {
358
- it('should produce a valid substring statement', () => {
358
+ it('should produce a valid Substring statement', () => {
359
359
  sqlEquals(result.query, `SELECT SUBSTRING('foobar', 0, 5)`);
360
360
  });
361
361
  },
@@ -369,9 +369,120 @@ describe('Right', () => {
369
369
  ['Select', [['Right', ['EmbeddedText', 'foobar'], ['Number', 1]]]],
370
370
  ],
371
371
  (result, sqlEquals) => {
372
- it('should produce a valid right statement', () => {
372
+ it('should produce a valid Right statement', () => {
373
373
  sqlEquals(result.query, `SELECT RIGHT('foobar', 1)`);
374
374
  });
375
375
  },
376
376
  );
377
377
  });
378
+
379
+ describe('Lower', () => {
380
+ test(
381
+ ['SelectQuery', ['Select', [['Lower', ['EmbeddedText', 'FOOBAR']]]]],
382
+ (result, sqlEquals) => {
383
+ it('should produce a valid Lower statement', () => {
384
+ sqlEquals(result.query, `SELECT LOWER('FOOBAR')`);
385
+ });
386
+ },
387
+ );
388
+ });
389
+
390
+ describe('Upper', () => {
391
+ test(
392
+ ['SelectQuery', ['Select', [['Upper', ['EmbeddedText', 'foobar']]]]],
393
+ (result, sqlEquals) => {
394
+ it('should produce a valid Upper statement', () => {
395
+ sqlEquals(result.query, `SELECT UPPER('foobar')`);
396
+ });
397
+ },
398
+ );
399
+ });
400
+
401
+ describe('Trim', () => {
402
+ test(
403
+ ['SelectQuery', ['Select', [['Trim', ['EmbeddedText', ' foobar ']]]]],
404
+ (result, sqlEquals) => {
405
+ it('should produce a valid Trim statement', () => {
406
+ sqlEquals(result.query, `SELECT TRIM(' foobar ')`);
407
+ });
408
+ },
409
+ );
410
+ });
411
+
412
+ describe('Round', () => {
413
+ test(
414
+ ['SelectQuery', ['Select', [['Round', ['Number', 10.4]]]]],
415
+ (result, sqlEquals) => {
416
+ it('should produce a valid Round statement', () => {
417
+ sqlEquals(result.query, `SELECT ROUND(10.4)`);
418
+ });
419
+ },
420
+ );
421
+ });
422
+
423
+ describe('Floor', () => {
424
+ test(
425
+ ['SelectQuery', ['Select', [['Floor', ['Number', 10.4]]]]],
426
+ (result, sqlEquals) => {
427
+ it('should produce a valid Floor statement', () => {
428
+ sqlEquals(result.query, `SELECT FLOOR(10.4)`);
429
+ });
430
+ },
431
+ );
432
+ });
433
+
434
+ describe('Ceiling', () => {
435
+ test(
436
+ ['SelectQuery', ['Select', [['Ceiling', ['Number', 10.4]]]]],
437
+ (result, sqlEquals) => {
438
+ it('should produce a valid Ceiling statement', () => {
439
+ sqlEquals(result.query, `SELECT CEILING(10.4)`);
440
+ });
441
+ },
442
+ );
443
+ });
444
+
445
+ describe('ToDate', () => {
446
+ test(
447
+ ['SelectQuery', ['Select', [['ToDate', ['Date', '2022-10-10']]]]],
448
+ [['Date', '2022-10-10']],
449
+ (result, sqlEquals) => {
450
+ it('should produce a valid ToDate statement', () => {
451
+ sqlEquals(result.query, `SELECT DATE($1)`);
452
+ });
453
+ },
454
+ );
455
+ });
456
+
457
+ describe('DateTrunc', () => {
458
+ test(
459
+ [
460
+ 'SelectQuery',
461
+ [
462
+ 'Select',
463
+ [['DateTrunc', ['EmbeddedText', 'year'], ['Date', '2022-10-10']]],
464
+ ],
465
+ ],
466
+ [['Date', '2022-10-10']],
467
+ (result, sqlEquals) => {
468
+ it('should produce a valid DateTrunc statement', () => {
469
+ sqlEquals(result.query, `SELECT DATE_TRUNC('year', $1)`);
470
+ });
471
+ },
472
+ );
473
+ });
474
+
475
+ describe('ToTime', () => {
476
+ test(
477
+ [
478
+ 'SelectQuery',
479
+ ['Select', [['ToTime', ['Date', '2022-10-10T10:10:10.000Z']]]],
480
+ ],
481
+ [['Date', '2022-10-10T10:10:10.000Z']],
482
+ (result, sqlEquals) => {
483
+ it('should produce a valid ToTime statement', () => {
484
+ sqlEquals(result.query, `SELECT CAST($1 AS TIME)`);
485
+ });
486
+ },
487
+ );
488
+ });