|
25 | 25 | /**
|
26 | 26 | * Tests built around examples of EQL found in the EclipseLink's docs at
|
27 | 27 | * https://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/JPQL<br/>
|
| 28 | + * With the exception of {@literal MOD} which is defined as {@literal MOD(arithmetic_expression , arithmetic_expression)}, |
| 29 | + * but shown in tests as {@literal MOD(arithmetic_expression ? arithmetic_expression)}. |
28 | 30 | * <br/>
|
29 | 31 | * IMPORTANT: Purely verifies the parser without any transformations.
|
30 | 32 | *
|
31 | 33 | * @author Greg Turnquist
|
| 34 | + * @author Christoph Strobl |
32 | 35 | */
|
33 | 36 | class EqlComplianceTests {
|
34 | 37 |
|
@@ -214,7 +217,7 @@ void functionsInSelect() {
|
214 | 217 | assertQuery("SELECT e.name, CURRENT_TIMESTAMP FROM Employee e");
|
215 | 218 | assertQuery("SELECT LENGTH(e.lastName) FROM Employee e");
|
216 | 219 | assertQuery("SELECT LOWER(e.lastName) FROM Employee e");
|
217 |
| - assertQuery("SELECT MOD(e.hoursWorked / 8) FROM Employee e"); |
| 220 | + assertQuery("SELECT MOD(e.hoursWorked, 8) FROM Employee e"); |
218 | 221 | assertQuery("SELECT NULLIF(e.salary, 0) FROM Employee e");
|
219 | 222 | assertQuery("SELECT SQRT(o.RESULT) FROM Output o");
|
220 | 223 | assertQuery("SELECT SUBSTRING(e.lastName, 0, 2) FROM Employee e");
|
@@ -243,7 +246,7 @@ void functionsInWhere() {
|
243 | 246 | assertQuery("SELECT e FROM Employee e WHERE CURRENT_TIME > CURRENT_TIMESTAMP");
|
244 | 247 | assertQuery("SELECT e FROM Employee e WHERE LENGTH(e.lastName) > 0");
|
245 | 248 | assertQuery("SELECT e FROM Employee e WHERE LOWER(e.lastName) = 'bilbo'");
|
246 |
| - assertQuery("SELECT e FROM Employee e WHERE MOD(e.hoursWorked / 8) > 0"); |
| 249 | + assertQuery("SELECT e FROM Employee e WHERE MOD(e.hoursWorked, 8) > 0"); |
247 | 250 | assertQuery("SELECT e FROM Employee e WHERE NULLIF(e.salary, 0) is null");
|
248 | 251 | assertQuery("SELECT e FROM Employee e WHERE SQRT(o.RESULT) > 0.0");
|
249 | 252 | assertQuery("SELECT e FROM Employee e WHERE SUBSTRING(e.lastName, 0, 2) = 'Bilbo'");
|
@@ -272,7 +275,7 @@ void functionsInOrderBy() {
|
272 | 275 | assertQuery("SELECT e FROM Employee e ORDER BY CURRENT_TIMESTAMP");
|
273 | 276 | assertQuery("SELECT e FROM Employee e ORDER BY LENGTH(e.lastName)");
|
274 | 277 | assertQuery("SELECT e FROM Employee e ORDER BY LOWER(e.lastName)");
|
275 |
| - assertQuery("SELECT e FROM Employee e ORDER BY MOD(e.hoursWorked / 8)"); |
| 278 | + assertQuery("SELECT e FROM Employee e ORDER BY MOD(e.hoursWorked, 8)"); |
276 | 279 | assertQuery("SELECT e FROM Employee e ORDER BY NULLIF(e.salary, 0)");
|
277 | 280 | assertQuery("SELECT e FROM Employee e ORDER BY SQRT(o.RESULT)");
|
278 | 281 | assertQuery("SELECT e FROM Employee e ORDER BY SUBSTRING(e.lastName, 0, 2)");
|
@@ -301,7 +304,7 @@ void functionsInGroupBy() {
|
301 | 304 | assertQuery("SELECT e FROM Employee e GROUP BY CURRENT_TIMESTAMP");
|
302 | 305 | assertQuery("SELECT e FROM Employee e GROUP BY LENGTH(e.lastName)");
|
303 | 306 | assertQuery("SELECT e FROM Employee e GROUP BY LOWER(e.lastName)");
|
304 |
| - assertQuery("SELECT e FROM Employee e GROUP BY MOD(e.hoursWorked / 8)"); |
| 307 | + assertQuery("SELECT e FROM Employee e GROUP BY MOD(e.hoursWorked, 8)"); |
305 | 308 | assertQuery("SELECT e FROM Employee e GROUP BY NULLIF(e.salary, 0)");
|
306 | 309 | assertQuery("SELECT e FROM Employee e GROUP BY SQRT(o.RESULT)");
|
307 | 310 | assertQuery("SELECT e FROM Employee e GROUP BY SUBSTRING(e.lastName, 0, 2)");
|
@@ -329,7 +332,7 @@ void functionsInHaving() {
|
329 | 332 | assertQuery("SELECT e FROM Employee e GROUP BY e.salary HAVING CURRENT_TIME > CURRENT_TIMESTAMP");
|
330 | 333 | assertQuery("SELECT e FROM Employee e GROUP BY e.salary HAVING LENGTH(e.lastName) > 0");
|
331 | 334 | assertQuery("SELECT e FROM Employee e GROUP BY e.salary HAVING LOWER(e.lastName) = 'bilbo'");
|
332 |
| - assertQuery("SELECT e FROM Employee e GROUP BY e.salary HAVING MOD(e.hoursWorked / 8) > 0"); |
| 335 | + assertQuery("SELECT e FROM Employee e GROUP BY e.salary HAVING MOD(e.hoursWorked, 8) > 0"); |
333 | 336 | assertQuery("SELECT e FROM Employee e GROUP BY e.salary HAVING NULLIF(e.salary, 0) is null");
|
334 | 337 | assertQuery("SELECT e FROM Employee e GROUP BY e.salary HAVING SQRT(o.RESULT) > 0.0");
|
335 | 338 | assertQuery("SELECT e FROM Employee e GROUP BY e.salary HAVING SUBSTRING(e.lastName, 0, 2) = 'Bilbo'");
|
|
0 commit comments