From de008b5c98ae74ab8fc7cca102f1497d5d461d4d Mon Sep 17 00:00:00 2001 From: Arjan Tijms Date: Thu, 13 Nov 2025 14:57:28 +0100 Subject: [PATCH 1/2] Bind partial parameters for DB2 shouldBindPartialParameters was set to true in DB2Platform, but later overridden by a copy of the default parameters from the default DBPlatform. It never actually worked. After enabling it for real, found out that for "translateQueryStringAndBindParameters" in DatabaseCall, "bindParameters" (for that call) has to be checked for, otherwise things like setting query hints to not bind from the caller site don't work anymore. Additionally, "dynamicSQLRequiredForFunctions" should return false when "shouldBindPartialParameters" is true. Otherwise a single operator will immediately disable binding for the entire query, which is the exact opposite of what partial binding is about. A large number of tests had to be adjusted for the new output of DB2. --- .../internal/databaseaccess/DatabaseCall.java | 8 +- .../platform/database/DB2Platform.java | 5 +- .../platform/database/DerbyPlatform.java | 27 +- .../jpa/test/query/TestQueryOrderBy.java | 40 +- .../query/TestQuerySyntaxAggregateTests.java | 173 +++++-- .../query/TestQuerySyntaxArithmeticTests.java | 61 ++- .../query/TestQuerySyntaxComparisonTests.java | 449 ++++++++++++------ .../query/TestQuerySyntaxFunctionTests.java | 243 ++++++---- .../query/TestQuerySyntaxOrderingTests.java | 49 +- .../query/TestQuerySyntaxUpdateTests.java | 25 +- .../jpa/test/query/TestTrimFunction.java | 5 +- .../advanced/EntityManagerJUnitTestSuite.java | 288 ++++++----- 12 files changed, 895 insertions(+), 478 deletions(-) diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabaseCall.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabaseCall.java index 359b8a98c2c..d4184b09ffc 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabaseCall.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabaseCall.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2025 Contributors to the Eclipse Foundation. * Copyright (c) 1998, 2024 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2019, 2024 IBM Corporation. All rights reserved. * @@ -1082,10 +1083,13 @@ public void translate(AbstractRecord translationRow, AbstractRecord modifyRow, A if (!isPrepared()) { throw ValidationException.cannotTranslateUnpreparedCall(toString()); } + + boolean bindParameters = usesBinding(session) && parameters != null; + boolean bindPartial = session.getPlatform().shouldBindPartialParameters(); - if(session.getPlatform().shouldBindPartialParameters() && (this.parameters != null)) { + if (bindParameters && bindPartial) { translateQueryStringAndBindParameters(translationRow, modifyRow, session); - } else if (usesBinding(session) && (this.parameters != null)) { + } else if (bindParameters) { boolean hasParameterizedIN = false; List parameters = getParameters(); int size = parameters.size(); diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java index 19d5cf245b0..68b7bd861bd 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2025 Contributors to the Eclipse Foundation. * Copyright (c) 1998, 2025 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2025 IBM Corporation. All rights reserved. * @@ -476,7 +477,7 @@ public boolean shouldPrintOutputTokenAtStart() { */ @Override public boolean shouldBindPartialParameters() { - return this.shouldBindPartialParameters; + return true; } /** @@ -1783,7 +1784,7 @@ public boolean isNullAllowedInSelectClause() { */ @Override public boolean isDynamicSQLRequiredForFunctions() { - if(shouldForceBindAllParameters()) { + if(shouldForceBindAllParameters() || shouldBindPartialParameters()) { return false; } return !isCastRequired(); diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DerbyPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DerbyPlatform.java index 0136c582291..e6588795263 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DerbyPlatform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DerbyPlatform.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2025 Contributors to the Eclipse Foundation. * Copyright (c) 2005, 2025 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2024 IBM Corporation. All rights reserved. * @@ -173,6 +174,18 @@ public boolean isDB2() { //This class inherits from DB2. But it is not DB2 return false; } + + /** + * Used to determine if the platform should perform partial parameter binding or not + * Enabled for DB2 and DB2 for zOS to add support for partial binding + */ + @Override + public boolean shouldBindPartialParameters() { + // This class inherits from DB2. But it is not DB2 + return this.shouldBindPartialParameters; + } + + @Override public String getSelectForUpdateString() { @@ -906,20 +919,6 @@ protected ExpressionOperator roundOperator() { return operator; } - /** - * INTERNAL - * Derby has some issues with using parameters on certain functions and relations. - * This allows statements to disable binding, for queries, only in these cases. - * If users set casting on, then casting is used instead of dynamic SQL. - */ - @Override - public boolean isDynamicSQLRequiredForFunctions() { - if(shouldForceBindAllParameters()) { - return false; - } - return !isCastRequired(); - } - /** * INTERNAL: * Use the JDBC maxResults and firstResultIndex setting to compute a value to use when diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQueryOrderBy.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQueryOrderBy.java index 497d41a20d3..feb48cf7cc9 100644 --- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQueryOrderBy.java +++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQueryOrderBy.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2025 Contributors to the Eclipse Foundation. * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2022 IBM Corporation. All rights reserved. * @@ -175,7 +176,9 @@ public void testQueryOrderByLiterals3() { assertNotNull(dto01); assertEquals(3, dto01.size()); assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2()) { + assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY 1", _sql.remove(0)); + } else if (platform.isDB2Z() || platform.isDerby()) { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = 'B') ORDER BY 1", _sql.remove(0)); } else { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY ?", _sql.remove(0)); @@ -187,13 +190,16 @@ public void testQueryOrderByLiterals3() { assertNotNull(dto01); assertEquals(3, dto01.size()); assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + + if (platform.isDB2()) { + assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY 1 ASC", _sql.remove(0)); + } else if (platform.isDB2Z() || platform.isDerby()) { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = 'B') ORDER BY 1 ASC", _sql.remove(0)); } else { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY ? ASC", _sql.remove(0)); } - // equivalent CriteriaBuilder + // Equivalent CriteriaBuilder CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery cquery = cb.createQuery(Integer.class); Root root = cquery.from(EntityTbl01.class); @@ -206,7 +212,10 @@ public void testQueryOrderByLiterals3() { assertNotNull(dto01); assertEquals(3, dto01.size()); assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + + if (platform.isDB2()) { + assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY 1 ASC", _sql.remove(0)); + } else if (platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = 'B') ORDER BY 1 ASC", _sql.remove(0)); } else { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY ? ASC", _sql.remove(0)); @@ -442,8 +451,11 @@ public void testQueryOrderByMix1() { assertNotNull(dto01); assertEquals(3, dto01.size()); assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + + if (platform.isDB2Z() || platform.isDerby()) { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = 'B') ORDER BY 1", _sql.remove(0)); + } else if (platform.isDB2()) { + assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY 1", _sql.remove(0)); } else { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY ?", _sql.remove(0)); } @@ -455,8 +467,11 @@ public void testQueryOrderByMix1() { assertNotNull(dto01); assertEquals(3, dto01.size()); assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + + if (platform.isDB2Z() || platform.isDerby()) { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = 'B') ORDER BY 1 ASC", _sql.remove(0)); + } else if (platform.isDB2()) { + assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY 1 ASC", _sql.remove(0)); } else { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY ? ASC", _sql.remove(0)); } @@ -476,8 +491,11 @@ public void testQueryOrderByMix1() { assertNotNull(dto01); assertEquals(3, dto01.size()); assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + + if (platform.isDB2Z() || platform.isDerby()) { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = 'B') ORDER BY 1 ASC", _sql.remove(0)); + } else if (platform.isDB2()) { + assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY 1 ASC", _sql.remove(0)); } else { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY ? ASC", _sql.remove(0)); } @@ -504,7 +522,7 @@ public void testQueryOrderByMix2() { // DB2 and Derby does not support untyped parameter binding in ORDER BY clause // 'emf2' sets 'shouldBindLiterals=true', which makes literal values bind as untyped parameters - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { return; } @@ -516,7 +534,7 @@ public void testQueryOrderByMix2() { assertNotNull(dto01); assertEquals(3, dto01.size()); assertEquals(1, _sql2.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = 'B') ORDER BY 1", _sql2.remove(0)); } else { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY ?", _sql2.remove(0)); @@ -529,7 +547,7 @@ public void testQueryOrderByMix2() { assertNotNull(dto01); assertEquals(3, dto01.size()); assertEquals(1, _sql2.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = 'B') ORDER BY 1 ASC", _sql2.remove(0)); } else { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY ? ASC", _sql2.remove(0)); @@ -550,7 +568,7 @@ public void testQueryOrderByMix2() { assertNotNull(dto01); assertEquals(3, dto01.size()); assertEquals(1, _sql2.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = 'B') ORDER BY 1 ASC", _sql2.remove(0)); } else { assertEquals("SELECT ITEM_INTEGER1 FROM SIMPLE_TBL01 WHERE (ITEM_STRING2 = ?) ORDER BY ? ASC", _sql2.remove(0)); diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxAggregateTests.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxAggregateTests.java index e8532262129..ea488b8b991 100644 --- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxAggregateTests.java +++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxAggregateTests.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2025 Contributors to the Eclipse Foundation. * Copyright (c) 2022 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -90,7 +91,7 @@ public void testAvg1_Default() { query.setParameter(1, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); @@ -99,7 +100,7 @@ public void testAvg1_Default() { query = em.createQuery("SELECT AVG(1) FROM QuerySyntaxEntity s"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); @@ -117,7 +118,7 @@ public void testAvg1_Default() { query.setParameter(intParam1, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); @@ -131,7 +132,7 @@ public void testAvg1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); @@ -299,7 +300,7 @@ public void testAvg2_Default() { query.setParameter(3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY HAVING (0 < AVG(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(?))", _sql.remove(0)); @@ -308,7 +309,7 @@ public void testAvg2_Default() { query = em.createQuery("SELECT AVG(1) FROM QuerySyntaxEntity s HAVING 0 < AVG(1)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY HAVING (0 < AVG(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(?))", _sql.remove(0)); @@ -319,7 +320,7 @@ public void testAvg2_Default() { query.setParameter(2, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY HAVING (0 < AVG(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(?))", _sql.remove(0)); @@ -342,7 +343,7 @@ public void testAvg2_Default() { query.setParameter(intParam3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY HAVING (0.0 < AVG(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(?))", _sql.remove(0)); @@ -357,7 +358,7 @@ public void testAvg2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY HAVING (0.0 < AVG(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(?))", _sql.remove(0)); @@ -376,7 +377,7 @@ public void testAvg2_Default() { query.setParameter(intParam5, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY HAVING (0.0 < AVG(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(?))", _sql.remove(0)); @@ -842,8 +843,10 @@ public void testAvgDistinct2_Default() { query.setParameter(3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY HAVING (0 < AVG(DISTINCT(1)))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(DISTINCT(1)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(DISTINCT(?)))", _sql.remove(0)); } @@ -851,8 +854,10 @@ public void testAvgDistinct2_Default() { query = em.createQuery("SELECT AVG(1) FROM QuerySyntaxEntity s HAVING 0 < AVG(DISTINCT 1)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY HAVING (0 < AVG(DISTINCT(1)))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(DISTINCT(1)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(DISTINCT(?)))", _sql.remove(0)); } @@ -862,8 +867,10 @@ public void testAvgDistinct2_Default() { query.setParameter(2, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT AVG(1) FROM QUERYSYNTAXENTITY HAVING (0 < AVG(DISTINCT(1)))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(DISTINCT(1)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT AVG(?) FROM QUERYSYNTAXENTITY HAVING (? < AVG(DISTINCT(?)))", _sql.remove(0)); } @@ -1397,8 +1404,10 @@ public void testCount2_Default() { query.setParameter(3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(?))", _sql.remove(0)); } @@ -1406,8 +1415,10 @@ public void testCount2_Default() { query = em.createQuery("SELECT COUNT(1) FROM QuerySyntaxEntity s HAVING 0 < COUNT(1)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(?))", _sql.remove(0)); } @@ -1417,8 +1428,10 @@ public void testCount2_Default() { query.setParameter(2, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(?))", _sql.remove(0)); } @@ -1440,8 +1453,10 @@ public void testCount2_Default() { query.setParameter(intParam3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(?))", _sql.remove(0)); } @@ -1455,8 +1470,10 @@ public void testCount2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(?))", _sql.remove(0)); } @@ -1474,8 +1491,10 @@ public void testCount2_Default() { query.setParameter(intParam5, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(?))", _sql.remove(0)); } @@ -1925,8 +1944,10 @@ public void testCountDistinct2_Default() { query.setParameter(3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(DISTINCT(1)))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(1)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(?)))", _sql.remove(0)); } @@ -1934,8 +1955,10 @@ public void testCountDistinct2_Default() { query = em.createQuery("SELECT COUNT(1) FROM QuerySyntaxEntity s HAVING 0 < COUNT(DISTINCT 1)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(DISTINCT(1)))", _sql.remove(0)); + } else if (platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(1)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(?)))", _sql.remove(0)); } @@ -1945,8 +1968,10 @@ public void testCountDistinct2_Default() { query.setParameter(2, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(DISTINCT(1)))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(1)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(?)))", _sql.remove(0)); } @@ -1968,8 +1993,10 @@ public void testCountDistinct2_Default() { query.setParameter(intParam3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(DISTINCT(1)))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(1)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(?)))", _sql.remove(0)); } @@ -1983,8 +2010,10 @@ public void testCountDistinct2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(DISTINCT(1)))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(1)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(?)))", _sql.remove(0)); } @@ -2002,8 +2031,10 @@ public void testCountDistinct2_Default() { query.setParameter(intParam5, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (0 < COUNT(DISTINCT(1)))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT COUNT(1) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(1)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT COUNT(?) FROM QUERYSYNTAXENTITY HAVING (? < COUNT(DISTINCT(?)))", _sql.remove(0)); } @@ -2244,8 +2275,10 @@ public void testSum1_Default() { query.setParameter(1, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUM(1) FROM QUERYSYNTAXENTITY", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } @@ -2253,8 +2286,10 @@ public void testSum1_Default() { query = em.createQuery("SELECT SUM(1) FROM QuerySyntaxEntity s"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUM(1) FROM QUERYSYNTAXENTITY", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } @@ -2271,8 +2306,10 @@ public void testSum1_Default() { query.setParameter(intParam1, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUM(1) FROM QUERYSYNTAXENTITY", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } @@ -2285,8 +2322,10 @@ public void testSum1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUM(1) FROM QUERYSYNTAXENTITY", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } @@ -2453,7 +2492,7 @@ public void testSum2_Default() { query.setParameter(3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUM(1) FROM QUERYSYNTAXENTITY HAVING (0 < SUM(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY HAVING (? < SUM(?))", _sql.remove(0)); @@ -2462,7 +2501,7 @@ public void testSum2_Default() { query = em.createQuery("SELECT SUM(1) FROM QuerySyntaxEntity s HAVING 0 < SUM(1)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUM(1) FROM QUERYSYNTAXENTITY HAVING (0 < SUM(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY HAVING (? < SUM(?))", _sql.remove(0)); @@ -2473,7 +2512,7 @@ public void testSum2_Default() { query.setParameter(2, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUM(1) FROM QUERYSYNTAXENTITY HAVING (0 < SUM(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY HAVING (? < SUM(?))", _sql.remove(0)); @@ -2496,7 +2535,7 @@ public void testSum2_Default() { query.setParameter(intParam3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUM(1) FROM QUERYSYNTAXENTITY HAVING (0 < SUM(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY HAVING (? < SUM(?))", _sql.remove(0)); @@ -2511,7 +2550,7 @@ public void testSum2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUM(1) FROM QUERYSYNTAXENTITY HAVING (0 < SUM(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY HAVING (? < SUM(?))", _sql.remove(0)); @@ -2530,7 +2569,7 @@ public void testSum2_Default() { query.setParameter(intParam5, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUM(1) FROM QUERYSYNTAXENTITY HAVING (0 < SUM(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUM(?) FROM QUERYSYNTAXENTITY HAVING (? < SUM(?))", _sql.remove(0)); @@ -2774,8 +2813,10 @@ public void testMax1_Default() { query.setParameter(3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (0 < MAX(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (? < MAX(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MAX(?) FROM QUERYSYNTAXENTITY HAVING (? < MAX(?))", _sql.remove(0)); } @@ -2783,8 +2824,10 @@ public void testMax1_Default() { query = em.createQuery("SELECT MAX(1) FROM QuerySyntaxEntity s HAVING 0 < MAX(1)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (0 < MAX(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (? < MAX(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MAX(?) FROM QUERYSYNTAXENTITY HAVING (? < MAX(?))", _sql.remove(0)); } @@ -2794,8 +2837,10 @@ public void testMax1_Default() { query.setParameter(2, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (0 < MAX(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (? < MAX(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MAX(?) FROM QUERYSYNTAXENTITY HAVING (? < MAX(?))", _sql.remove(0)); } @@ -2817,8 +2862,10 @@ public void testMax1_Default() { query.setParameter(intParam3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (0 < MAX(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (? < MAX(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MAX(?) FROM QUERYSYNTAXENTITY HAVING (? < MAX(?))", _sql.remove(0)); } @@ -2832,8 +2879,10 @@ public void testMax1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (0 < MAX(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (? < MAX(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MAX(?) FROM QUERYSYNTAXENTITY HAVING (? < MAX(?))", _sql.remove(0)); } @@ -2851,8 +2900,10 @@ public void testMax1_Default() { query.setParameter(intParam5, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (0 < MAX(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MAX(1) FROM QUERYSYNTAXENTITY HAVING (? < MAX(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MAX(?) FROM QUERYSYNTAXENTITY HAVING (? < MAX(?))", _sql.remove(0)); } @@ -3263,8 +3314,10 @@ public void testMin1_Default() { query.setParameter(3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (0 < MIN(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (? < MIN(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MIN(?) FROM QUERYSYNTAXENTITY HAVING (? < MIN(?))", _sql.remove(0)); } @@ -3272,8 +3325,10 @@ public void testMin1_Default() { query = em.createQuery("SELECT MIN(1) FROM QuerySyntaxEntity s HAVING 0 < MIN(1)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (0 < MIN(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (? < MIN(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MIN(?) FROM QUERYSYNTAXENTITY HAVING (? < MIN(?))", _sql.remove(0)); } @@ -3283,8 +3338,10 @@ public void testMin1_Default() { query.setParameter(2, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (0 < MIN(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (? < MIN(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MIN(?) FROM QUERYSYNTAXENTITY HAVING (? < MIN(?))", _sql.remove(0)); } @@ -3306,8 +3363,10 @@ public void testMin1_Default() { query.setParameter(intParam3, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (0 < MIN(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (? < MIN(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MIN(?) FROM QUERYSYNTAXENTITY HAVING (? < MIN(?))", _sql.remove(0)); } @@ -3321,8 +3380,10 @@ public void testMin1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (0 < MIN(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (? < MIN(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MIN(?) FROM QUERYSYNTAXENTITY HAVING (? < MIN(?))", _sql.remove(0)); } @@ -3340,8 +3401,10 @@ public void testMin1_Default() { query.setParameter(intParam5, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (0 < MIN(1))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT MIN(1) FROM QUERYSYNTAXENTITY HAVING (? < MIN(1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT MIN(?) FROM QUERYSYNTAXENTITY HAVING (? < MIN(?))", _sql.remove(0)); } @@ -3751,8 +3814,10 @@ public void testDistinct1_Default() { query.setParameter(2, "WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT DISTINCT 'HELLO' FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = 'WORLD')", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT DISTINCT 'HELLO' FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT DISTINCT ? FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = ?)", _sql.remove(0)); } @@ -3760,8 +3825,10 @@ public void testDistinct1_Default() { query = em.createQuery("SELECT DISTINCT('HELLO') FROM QuerySyntaxEntity s WHERE s.strVal1 = 'WORLD'"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT DISTINCT 'HELLO' FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = 'WORLD')", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT DISTINCT 'HELLO' FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT DISTINCT ? FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = ?)", _sql.remove(0)); } @@ -3781,8 +3848,10 @@ public void testDistinct1_Default() { query.setParameter(strParam2, "WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT DISTINCT 'HELLO' FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = 'WORLD')", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT DISTINCT 'HELLO' FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT DISTINCT ? FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = ?)", _sql.remove(0)); } @@ -3796,8 +3865,10 @@ public void testDistinct1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT DISTINCT 'HELLO' FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = 'WORLD')", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT DISTINCT 'HELLO' FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT DISTINCT ? FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = ?)", _sql.remove(0)); } diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxArithmeticTests.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxArithmeticTests.java index 3a8550457c5..4057f1abdd1 100644 --- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxArithmeticTests.java +++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxArithmeticTests.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2025 Contributors to the Eclipse Foundation. * Copyright (c) 2022 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -89,7 +90,7 @@ public void testABS1_Default() { query.setParameter(1, -36); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (ABS(-36) = INTVAL1)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (ABS(?) = INTVAL1)", _sql.remove(0)); @@ -98,7 +99,7 @@ public void testABS1_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE ABS(-36) = s.intVal1"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (ABS(-36) = INTVAL1)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (ABS(?) = INTVAL1)", _sql.remove(0)); @@ -117,7 +118,7 @@ public void testABS1_Default() { query.setParameter(intParam1, -36); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (ABS(-36) = INTVAL1)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (ABS(?) = INTVAL1)", _sql.remove(0)); @@ -132,7 +133,7 @@ public void testABS1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (ABS(-36) = INTVAL1)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (ABS(?) = INTVAL1)", _sql.remove(0)); @@ -303,7 +304,7 @@ public void testSQRT1_Default() { query.setParameter(1, 36); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = SQRT(36))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = SQRT(?))", _sql.remove(0)); @@ -312,7 +313,7 @@ public void testSQRT1_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE s.intVal1 = SQRT(36)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = SQRT(36))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = SQRT(?))", _sql.remove(0)); @@ -331,7 +332,7 @@ public void testSQRT1_Default() { query.setParameter(intParam1, 36); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = SQRT(36))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = SQRT(?))", _sql.remove(0)); @@ -347,7 +348,7 @@ public void testSQRT1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = SQRT(36))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = SQRT(?))", _sql.remove(0)); @@ -521,7 +522,7 @@ public void testMOD1_Default() { query.setParameter(2, 10); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = MOD(36, 10))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = MOD(?, ?))", _sql.remove(0)); @@ -530,7 +531,7 @@ public void testMOD1_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE s.intVal1 = MOD(36, 10)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = MOD(36, 10))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = MOD(?, ?))", _sql.remove(0)); @@ -551,7 +552,7 @@ public void testMOD1_Default() { query.setParameter(intParam2, 10); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = MOD(36, 10))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = MOD(?, ?))", _sql.remove(0)); @@ -566,7 +567,7 @@ public void testMOD1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = MOD(36, 10))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = MOD(?, ?))", _sql.remove(0)); @@ -759,7 +760,7 @@ public void testADD1_Default() { query.setParameter(2, 2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (4 + 2) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (4 + 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (? + ?))", _sql.remove(0)); @@ -768,7 +769,7 @@ public void testADD1_Default() { query = em.createQuery("SELECT s.intVal1, (4 + 2) FROM QuerySyntaxEntity s WHERE s.intVal1 = (4 + 2)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (4 + 2) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (4 + 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (? + ?))", _sql.remove(0)); @@ -778,7 +779,7 @@ public void testADD1_Default() { query.setParameter(1, 2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (4 + 2) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (2 + 4))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (? + ?))", _sql.remove(0)); @@ -799,7 +800,7 @@ public void testADD1_Default() { query.setParameter(intParam2, 2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (4 + 2) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (4 + 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (? + ?))", _sql.remove(0)); @@ -815,7 +816,7 @@ public void testADD1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (4 + 2) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (4 + 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (? + ?))", _sql.remove(0)); @@ -833,7 +834,7 @@ public void testADD1_Default() { query.setParameter(intParam3, 4); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (2 + 4) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (4 + 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = (? + ?))", _sql.remove(0)); @@ -1064,8 +1065,10 @@ public void testSUB1_Default() { query.setParameter(2, 2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (4 - 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1, ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } @@ -1073,8 +1076,10 @@ public void testSUB1_Default() { query = em.createQuery("SELECT s.strVal1, 2 FROM QuerySyntaxEntity s WHERE s.intVal1 != (4 - 2)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (4 - 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1, ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } @@ -1083,8 +1088,10 @@ public void testSUB1_Default() { query.setParameter(2, 2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (4 - 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1, ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } @@ -1104,8 +1111,10 @@ public void testSUB1_Default() { query.setParameter(intParam2, 2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (4 - 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1, ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } @@ -1119,8 +1128,10 @@ public void testSUB1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (4 - 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1, ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } @@ -1136,8 +1147,10 @@ public void testSUB1_Default() { query.setParameter(intParam6, 2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (4 - 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1, 2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1, ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 <> (? - ?))", _sql.remove(0)); } diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxComparisonTests.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxComparisonTests.java index 66095f4e5e6..bfabe261106 100644 --- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxComparisonTests.java +++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxComparisonTests.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2025 Contributors to the Eclipse Foundation. * Copyright (c) 2022, 2023 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -258,7 +259,7 @@ public void testEquals2_Default() { query.setParameter(2, -2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (4 + -2) FROM QUERYSYNTAXENTITY WHERE (4 = (INTVAL1 + ABS(-2)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (? = (INTVAL1 + ABS(?)))", _sql.remove(0)); @@ -267,7 +268,7 @@ public void testEquals2_Default() { query = em.createQuery("SELECT s.intVal1, 4 + -2 FROM QuerySyntaxEntity s WHERE 4 = (s.intVal1 + ABS(-2))"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (4 + -2) FROM QUERYSYNTAXENTITY WHERE (4 = (INTVAL1 + ABS(-2)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (? = (INTVAL1 + ABS(?)))", _sql.remove(0)); @@ -277,7 +278,7 @@ public void testEquals2_Default() { query.setParameter(2, -2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (4 + -2) FROM QUERYSYNTAXENTITY WHERE (4 = (INTVAL1 + ABS(-2)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (? = (INTVAL1 + ABS(?)))", _sql.remove(0)); @@ -298,7 +299,7 @@ public void testEquals2_Default() { query.setParameter(intParam2, -2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (4 + -2) FROM QUERYSYNTAXENTITY WHERE (4 = (INTVAL1 + ABS(-2)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (? = (INTVAL1 + ABS(?)))", _sql.remove(0)); @@ -313,7 +314,7 @@ public void testEquals2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (4 + -2) FROM QUERYSYNTAXENTITY WHERE (4 = (INTVAL1 + ABS(-2)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (? = (INTVAL1 + ABS(?)))", _sql.remove(0)); @@ -330,7 +331,7 @@ public void testEquals2_Default() { query.setParameter(intParam6, -2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, (4 + -2) FROM QUERYSYNTAXENTITY WHERE (4 = (INTVAL1 + ABS(-2)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, (? + ?) FROM QUERYSYNTAXENTITY WHERE (? = (INTVAL1 + ABS(?)))", _sql.remove(0)); @@ -753,7 +754,7 @@ public void testLessThan1_Default() { query.setParameter(2, 10); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((5 + 10) < INTVAL1)", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((? + ?) < INTVAL1)", _sql.remove(0)); @@ -762,7 +763,7 @@ public void testLessThan1_Default() { query = em.createQuery("SELECT s.strVal1 FROM QuerySyntaxEntity s WHERE (5 + 10) < (s.intVal1)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((5 + 10) < INTVAL1)", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((? + ?) < INTVAL1)", _sql.remove(0)); @@ -772,7 +773,7 @@ public void testLessThan1_Default() { query.setParameter(2, 10); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((5 + 10) < INTVAL1)", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((? + ?) < INTVAL1)", _sql.remove(0)); @@ -793,7 +794,7 @@ public void testLessThan1_Default() { query.setParameter(intParam2, 10); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((5 + 10) < INTVAL1)", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((? + ?) < INTVAL1)", _sql.remove(0)); @@ -808,7 +809,7 @@ public void testLessThan1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((5 + 10) < INTVAL1)", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((? + ?) < INTVAL1)", _sql.remove(0)); @@ -825,7 +826,7 @@ public void testLessThan1_Default() { query.setParameter(intParam3, 10); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((5 + 10) < INTVAL1)", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE ((? + ?) < INTVAL1)", _sql.remove(0)); @@ -1224,7 +1225,7 @@ public void testLike2_Default() { query.setParameter(2, "%ORL%"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'WORLD' LIKE '%ORL%'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ?", _sql.remove(0)); @@ -1233,7 +1234,7 @@ public void testLike2_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE 'WORLD' LIKE '%ORL%'"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'WORLD' LIKE '%ORL%'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ?", _sql.remove(0)); @@ -1243,7 +1244,7 @@ public void testLike2_Default() { query.setParameter(1, "%ORL%"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'WORLD' LIKE '%ORL%'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ?", _sql.remove(0)); @@ -1265,7 +1266,7 @@ public void testLike2_Default() { query.setParameter(strParam2, "%ORL%"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'WORLD' LIKE '%ORL%'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ?", _sql.remove(0)); @@ -1281,7 +1282,7 @@ public void testLike2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'WORLD' LIKE '%ORL%'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ?", _sql.remove(0)); @@ -1299,7 +1300,7 @@ public void testLike2_Default() { query.setParameter(strParam3, "%ORL%"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'WORLD' LIKE '%ORL%'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ?", _sql.remove(0)); @@ -1660,7 +1661,7 @@ public void testLikeEscape1_Default() { query.setParameter(2, 'R'); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2() || platform.isDerby()) { + if(platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE STRVAL1 LIKE 'HELLO' ESCAPE 'R'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE STRVAL1 LIKE ? ESCAPE ?", _sql.remove(0)); @@ -1669,7 +1670,7 @@ public void testLikeEscape1_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE s.strVal1 LIKE 'HELLO' ESCAPE 'R'"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2() || platform.isDerby()) { + if(platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE STRVAL1 LIKE 'HELLO' ESCAPE 'R'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE STRVAL1 LIKE ? ESCAPE ?", _sql.remove(0)); @@ -1691,7 +1692,7 @@ public void testLikeEscape1_Default() { query.setParameter(chaParam1, 'R'); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2() || platform.isDerby()) { + if(platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE STRVAL1 LIKE 'HELLO' ESCAPE 'R'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE STRVAL1 LIKE ? ESCAPE ?", _sql.remove(0)); @@ -1706,7 +1707,7 @@ public void testLikeEscape1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2() || platform.isDerby()) { + if(platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE STRVAL1 LIKE 'HELLO' ESCAPE 'R'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE STRVAL1 LIKE ? ESCAPE ?", _sql.remove(0)); @@ -1906,7 +1907,7 @@ public void testLikeEscape2_Default() { query.setParameter(3, 'A'); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'HELLO' LIKE 'WORLD' ESCAPE 'A'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ? ESCAPE ?", _sql.remove(0)); @@ -1915,7 +1916,7 @@ public void testLikeEscape2_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE 'HELLO' LIKE 'WORLD' ESCAPE 'A'"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'HELLO' LIKE 'WORLD' ESCAPE 'A'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ? ESCAPE ?", _sql.remove(0)); @@ -1926,7 +1927,7 @@ public void testLikeEscape2_Default() { query.setParameter(2, 'A'); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'HELLO' LIKE 'WORLD' ESCAPE 'A'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ? ESCAPE ?", _sql.remove(0)); @@ -1950,7 +1951,7 @@ public void testLikeEscape2_Default() { query.setParameter(chaParam1, 'A'); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'HELLO' LIKE 'WORLD' ESCAPE 'A'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ? ESCAPE ?", _sql.remove(0)); @@ -1965,7 +1966,7 @@ public void testLikeEscape2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'HELLO' LIKE 'WORLD' ESCAPE 'A'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ? ESCAPE ?", _sql.remove(0)); @@ -1985,7 +1986,7 @@ public void testLikeEscape2_Default() { query.setParameter(chaParam2, 'A'); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE 'HELLO' LIKE 'WORLD' ESCAPE 'A'", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ? LIKE ? ESCAPE ?", _sql.remove(0)); @@ -6035,7 +6036,7 @@ public void testBetween3_Default() { query.setParameter(3, 9); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (4 BETWEEN 2 AND 9)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? BETWEEN ? AND ?)", _sql.remove(0)); @@ -6044,7 +6045,7 @@ public void testBetween3_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE 4 BETWEEN 2 AND 9"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (4 BETWEEN 2 AND 9)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? BETWEEN ? AND ?)", _sql.remove(0)); @@ -6055,7 +6056,7 @@ public void testBetween3_Default() { query.setParameter(2, 9); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (4 BETWEEN 2 AND 9)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? BETWEEN ? AND ?)", _sql.remove(0)); @@ -6079,7 +6080,7 @@ public void testBetween3_Default() { query.setParameter(intParam3, 9); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (4 BETWEEN 2 AND 9)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? BETWEEN ? AND ?)", _sql.remove(0)); @@ -6094,7 +6095,7 @@ public void testBetween3_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (4 BETWEEN 2 AND 9)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? BETWEEN ? AND ?)", _sql.remove(0)); @@ -6114,7 +6115,7 @@ public void testBetween3_Default() { query.setParameter(intParam5, 9); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (4 BETWEEN 2 AND 9)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? BETWEEN ? AND ?)", _sql.remove(0)); @@ -6836,7 +6837,7 @@ public void testNotBetween3_Default() { query.setParameter(3, 9); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((4 BETWEEN 2 AND 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((? BETWEEN ? AND ?))", _sql.remove(0)); @@ -6845,7 +6846,7 @@ public void testNotBetween3_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE 4 NOT BETWEEN 2 AND 9"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((4 BETWEEN 2 AND 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((? BETWEEN ? AND ?))", _sql.remove(0)); @@ -6856,7 +6857,7 @@ public void testNotBetween3_Default() { query.setParameter(2, 9); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((4 BETWEEN 2 AND 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((? BETWEEN ? AND ?))", _sql.remove(0)); @@ -6880,7 +6881,7 @@ public void testNotBetween3_Default() { query.setParameter(intParam3, 9); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((4 BETWEEN 2 AND 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((? BETWEEN ? AND ?))", _sql.remove(0)); @@ -6896,7 +6897,7 @@ public void testNotBetween3_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((4 BETWEEN 2 AND 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((? BETWEEN ? AND ?))", _sql.remove(0)); @@ -6916,7 +6917,7 @@ public void testNotBetween3_Default() { query.setParameter(intParam5, 9); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((4 BETWEEN 2 AND 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE NOT ((? BETWEEN ? AND ?))", _sql.remove(0)); @@ -7165,7 +7166,7 @@ public void testIsNull1_Default() { query.setParameter(1, "HELLO"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' IS NULL)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? IS NULL)", _sql.remove(0)); @@ -7174,7 +7175,7 @@ public void testIsNull1_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE 'HELLO' IS NULL"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' IS NULL)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? IS NULL)", _sql.remove(0)); @@ -7194,7 +7195,7 @@ public void testIsNull1_Default() { query.setParameter(strParam1, "HELLO"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' IS NULL)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? IS NULL)", _sql.remove(0)); @@ -7210,7 +7211,7 @@ public void testIsNull1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' IS NULL)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? IS NULL)", _sql.remove(0)); @@ -7384,7 +7385,7 @@ public void testIsNotNull1_Default() { query.setParameter(1, "HELLO"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' IS NOT NULL)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? IS NOT NULL)", _sql.remove(0)); @@ -7393,7 +7394,7 @@ public void testIsNotNull1_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE 'HELLO' IS NOT NULL"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' IS NOT NULL)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? IS NOT NULL)", _sql.remove(0)); @@ -7413,7 +7414,7 @@ public void testIsNotNull1_Default() { query.setParameter(strParam1, "HELLO"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' IS NOT NULL)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? IS NOT NULL)", _sql.remove(0)); @@ -7429,7 +7430,7 @@ public void testIsNotNull1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' IS NOT NULL)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? IS NOT NULL)", _sql.remove(0)); @@ -7603,17 +7604,21 @@ public void testExists1_Default() { query.setParameter(1, "HELLO"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO'))", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))", _sql.remove(0)); + }else { Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE EXISTS (SELECT ? FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))", _sql.remove(0)); } query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE EXISTS (SELECT u.intVal2 FROM QuerySyntaxEntity u WHERE u.strVal1 = 'HELLO')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE EXISTS (SELECT ? FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))", _sql.remove(0)); } @@ -7829,8 +7834,10 @@ public void testExists2_Default() { query.setParameter(3, false); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO')) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT ? FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } @@ -7838,9 +7845,11 @@ public void testExists2_Default() { query = em.createQuery("SELECT CASE WHEN EXISTS (SELECT u.intVal2 FROM QuerySyntaxEntity u WHERE u.strVal1 = 'HELLO') THEN TRUE ELSE FALSE END FROM QuerySyntaxEntity s"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO')) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); + }else { Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT ? FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } @@ -7871,9 +7880,11 @@ public void testExists2_Default() { query.setParameter(resultParam2, false); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO')) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); + }else { Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } @@ -7895,8 +7906,10 @@ public void testExists2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO')) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE WHEN EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } @@ -8115,8 +8128,10 @@ public void testNotExists1_Default() { query.setParameter(1, "HELLO"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE NOT EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE NOT EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE NOT EXISTS (SELECT ? FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))", _sql.remove(0)); } @@ -8124,8 +8139,10 @@ public void testNotExists1_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE NOT EXISTS (SELECT u.intVal2 FROM QuerySyntaxEntity u WHERE u.strVal1 = 'HELLO')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE NOT EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE NOT EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT t0.INTVAL1 FROM QUERYSYNTAXENTITY t0 WHERE NOT EXISTS (SELECT ? FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))", _sql.remove(0)); } @@ -8345,8 +8362,10 @@ public void testNotExists2_Default() { query.setParameter(3, false); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN NOT EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO')) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN NOT EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE WHEN NOT EXISTS (SELECT ? FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } @@ -8354,9 +8373,11 @@ public void testNotExists2_Default() { query = em.createQuery("SELECT CASE WHEN NOT EXISTS (SELECT u.intVal2 FROM QuerySyntaxEntity u WHERE u.strVal1 = 'HELLO') THEN TRUE ELSE FALSE END FROM QuerySyntaxEntity s"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN NOT EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO')) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN NOT EXISTS (SELECT 1 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); + }else { Assert.assertEquals("SELECT CASE WHEN NOT EXISTS (SELECT ? FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?)) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } @@ -8388,8 +8409,10 @@ public void testNotExists2_Default() { query.setParameter(resultParam2, false); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN NOT (EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO'))) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN NOT (EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE WHEN NOT (EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } @@ -8412,8 +8435,10 @@ public void testNotExists2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN NOT (EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = 'HELLO'))) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN NOT (EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))) THEN 1 ELSE 0 END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE WHEN NOT (EXISTS (SELECT t1.INTVAL2 FROM QUERYSYNTAXENTITY t1 WHERE (t1.STRVAL1 = ?))) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY t0", _sql.remove(0)); } @@ -8638,8 +8663,10 @@ public void testCase1_Default() { query.setParameter(5, 26); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN 5 THEN 6 WHEN 15 THEN 16 ELSE 26 END)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN ? THEN 6 WHEN ? THEN 16 ELSE 26 END)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN ? THEN ? WHEN ? THEN ? ELSE ? END)", _sql.remove(0)); } @@ -8647,8 +8674,10 @@ public void testCase1_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE s.intVal1 = CASE s.intVal2 WHEN 5 THEN 6 WHEN 15 THEN 16 ELSE 26 END"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN 5 THEN 6 WHEN 15 THEN 16 ELSE 26 END)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN ? THEN 6 WHEN ? THEN 16 ELSE 26 END)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN ? THEN ? WHEN ? THEN ? ELSE ? END)", _sql.remove(0)); } @@ -8658,8 +8687,10 @@ public void testCase1_Default() { query.setParameter(2, 6); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN 5 THEN 6 WHEN 15 THEN 16 ELSE 26 END)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN ? THEN 6 WHEN ? THEN 16 ELSE 26 END)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN ? THEN ? WHEN ? THEN ? ELSE ? END)", _sql.remove(0)); } @@ -8720,8 +8751,10 @@ public void testCase1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN 5 THEN 6 WHEN 15 THEN 16 ELSE 26 END)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN ? THEN 6 WHEN ? THEN 16 ELSE 26 END)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE INTVAL2 WHEN ? THEN ? WHEN ? THEN ? ELSE ? END)", _sql.remove(0)); } @@ -9072,8 +9105,10 @@ public void testCase2_Default() { query.setParameter(5, 26); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END)", _sql.remove(0)); } @@ -9081,8 +9116,10 @@ public void testCase2_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE s.intVal1 = CASE WHEN s.intVal2 = 5 THEN 6 WHEN s.intVal2 = 15 THEN 16 ELSE 26 END"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END)", _sql.remove(0)); } @@ -9092,8 +9129,10 @@ public void testCase2_Default() { query.setParameter(2, 6); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END)", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END)", _sql.remove(0)); } @@ -9127,8 +9166,10 @@ public void testCase2_Default() { query.setParameter(resultParam3, 26); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END )", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END )", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END )", _sql.remove(0)); } @@ -9149,8 +9190,10 @@ public void testCase2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END )", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END )", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END )", _sql.remove(0)); } @@ -9176,8 +9219,10 @@ public void testCase2_Default() { query.setParameter(resultParam4, 6); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END )", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END )", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END )", _sql.remove(0)); } @@ -9481,8 +9526,10 @@ public void testCase3_Default() { query.setParameter(6, 99); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE INTVAL2 WHEN 5 THEN 6 WHEN 15 THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 99)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE INTVAL2 WHEN ? THEN 6 WHEN ? THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE INTVAL2 WHEN ? THEN ? WHEN ? THEN ? ELSE ? END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -9490,8 +9537,10 @@ public void testCase3_Default() { query = em.createQuery("SELECT CASE s.intVal2 WHEN 5 THEN 6 WHEN 15 THEN 16 ELSE 26 END FROM QuerySyntaxEntity s WHERE s.intVal1 = 99"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE INTVAL2 WHEN 5 THEN 6 WHEN 15 THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 99)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE INTVAL2 WHEN ? THEN 6 WHEN ? THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE INTVAL2 WHEN ? THEN ? WHEN ? THEN ? ELSE ? END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -9502,8 +9551,10 @@ public void testCase3_Default() { query.setParameter(3, 99); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE INTVAL2 WHEN 5 THEN 6 WHEN 15 THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 99)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE INTVAL2 WHEN ? THEN 6 WHEN ? THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE INTVAL2 WHEN ? THEN ? WHEN ? THEN ? ELSE ? END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -9564,8 +9615,10 @@ public void testCase3_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE INTVAL2 WHEN 5 THEN 6 WHEN 15 THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 99)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE INTVAL2 WHEN ? THEN 6 WHEN ? THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE INTVAL2 WHEN ? THEN ? WHEN ? THEN ? ELSE ? END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -9920,8 +9973,10 @@ public void testCase4_Default() { query.setParameter(6, 99); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 99)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -9929,8 +9984,10 @@ public void testCase4_Default() { query = em.createQuery("SELECT CASE WHEN s.intVal2 = 5 THEN 6 WHEN s.intVal2 = 15 THEN 16 ELSE 26 END FROM QuerySyntaxEntity s WHERE s.intVal1 = 99"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 99)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -9941,8 +9998,10 @@ public void testCase4_Default() { query.setParameter(3, 99); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 99)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -9977,8 +10036,10 @@ public void testCase4_Default() { query.setParameter(checkParam3, 99); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 99)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -9998,8 +10059,10 @@ public void testCase4_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 99)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -10026,8 +10089,10 @@ public void testCase4_Default() { query.setParameter(checkParam5, 99); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = 5) THEN 6 WHEN (INTVAL2 = 15) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 99)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN 6 WHEN (INTVAL2 = ?) THEN 16 ELSE 26 END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CASE WHEN (INTVAL2 = ?) THEN ? WHEN (INTVAL2 = ?) THEN ? ELSE ? END FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -10333,18 +10398,22 @@ public void testNullIf1_Default() { query.setParameter(2, "WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' = NULLIF(STRVAL1, 'WORLD'))", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(STRVAL1, ?))", _sql.remove(0)); + }else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(STRVAL1, ?))", _sql.remove(0)); } query = em.createQuery("SELECT 1 FROM QuerySyntaxEntity s WHERE 'HELLO' = NULLIF(s.strVal1, 'WORLD')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' = NULLIF(STRVAL1, 'WORLD'))", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(STRVAL1, ?))", _sql.remove(0)); + }else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(STRVAL1, ?))", _sql.remove(0)); } @@ -10363,8 +10432,10 @@ public void testNullIf1_Default() { query.setParameter(strParam2, "WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' = NULLIF(STRVAL1, 'WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(STRVAL1, ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(STRVAL1, ?))", _sql.remove(0)); } @@ -10378,8 +10449,10 @@ public void testNullIf1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' = NULLIF(STRVAL1, 'WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(STRVAL1, ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(STRVAL1, ?))", _sql.remove(0)); } @@ -10555,8 +10628,10 @@ public void testNullIf2_Default() { query.setParameter(2, "WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' = NULLIF('WORLD', STRVAL1))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(?, STRVAL1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(?, STRVAL1))", _sql.remove(0)); } @@ -10564,8 +10639,10 @@ public void testNullIf2_Default() { query = em.createQuery("SELECT 1 FROM QuerySyntaxEntity s WHERE 'HELLO' = NULLIF('WORLD', s.strVal1)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' = NULLIF('WORLD', STRVAL1))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(?, STRVAL1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(?, STRVAL1))", _sql.remove(0)); } @@ -10585,8 +10662,10 @@ public void testNullIf2_Default() { query.setParameter(strParam2, "WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' = NULLIF('WORLD', STRVAL1))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(?, STRVAL1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(?, STRVAL1))", _sql.remove(0)); } @@ -10600,8 +10679,10 @@ public void testNullIf2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE ('HELLO' = NULLIF('WORLD', STRVAL1))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(?, STRVAL1))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (? = NULLIF(?, STRVAL1))", _sql.remove(0)); } @@ -10777,18 +10858,22 @@ public void testNullIf3_Default() { query.setParameter(2, "WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT NULLIF('HELLO', 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT NULLIF(?, 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); + }else { Assert.assertEquals("SELECT NULLIF(?, ?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } query = em.createQuery("SELECT NULLIF('HELLO', 'WORLD') FROM QuerySyntaxEntity s"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT NULLIF('HELLO', 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT NULLIF(?, 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); + }else { Assert.assertEquals("SELECT NULLIF(?, ?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } @@ -10796,9 +10881,11 @@ public void testNullIf3_Default() { query.setParameter(1, "HELLO"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT NULLIF('HELLO', 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT NULLIF(?, 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); + }else { Assert.assertEquals("SELECT NULLIF(?, ?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } @@ -10816,9 +10903,11 @@ public void testNullIf3_Default() { query.setParameter(strParam2, "WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT NULLIF('HELLO', 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT NULLIF(?, 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); + }else { Assert.assertEquals("SELECT NULLIF(?, ?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } @@ -10830,9 +10919,11 @@ public void testNullIf3_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT NULLIF('HELLO', 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT NULLIF(?, 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); + }else { Assert.assertEquals("SELECT NULLIF(?, ?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } @@ -10846,9 +10937,11 @@ public void testNullIf3_Default() { query.setParameter(strParam3, "HELLO"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT NULLIF('HELLO', 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT NULLIF(?, 'WORLD') FROM QUERYSYNTAXENTITY", _sql.remove(0)); + }else { Assert.assertEquals("SELECT NULLIF(?, ?) FROM QUERYSYNTAXENTITY", _sql.remove(0)); } } finally { @@ -11607,11 +11700,15 @@ public void testCoalesce3_Default() { } catch(Exception e) { exception = e; } finally { - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertNotNull("Expected query '" + _sql.remove(0) + "' to fail", exception); } else { Assert.assertNull(exception); - Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, ?) = INTVAL2)", _sql.remove(0)); + if (platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, 12) = INTVAL2)", _sql.remove(0)); + } else { + Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, ?) = INTVAL2)", _sql.remove(0)); + } } } @@ -11623,13 +11720,17 @@ public void testCoalesce3_Default() { } catch(Exception e) { exception = e; } finally { - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { // DB2 z throws `DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703` because a "NULL" value is being passed // Derby throws `ERROR 42X01: Syntax error: Encountered "NULL" at line 1, column 50.` Assert.assertNotNull("Expected query '" + _sql.remove(0) + "' to fail", exception); } else { Assert.assertNull(exception); - Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, ?) = INTVAL2)", _sql.remove(0)); + if (platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, 12) = INTVAL2)", _sql.remove(0)); + } else { + Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, ?) = INTVAL2)", _sql.remove(0)); + } } } @@ -11666,11 +11767,15 @@ public void testCoalesce3_Default() { } catch(Exception e) { exception = e; } finally { - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertNotNull("Expected query '" + _sql.remove(0) + "' to fail", exception); } else { Assert.assertNull(exception); - Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, ?) = INTVAL2)", _sql.remove(0)); + if (platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, 12) = INTVAL2)", _sql.remove(0)); + } else { + Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, ?) = INTVAL2)", _sql.remove(0)); + } } } @@ -11695,13 +11800,17 @@ public void testCoalesce3_Default() { } catch(Exception e) { exception = e; } finally { - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { // DB2 z throws `DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703` because a "NULL" value is being passed // Derby throws `ERROR 42X01: Syntax error: Encountered "NULL" at line 1, column 50.` Assert.assertNotNull("Expected query '" + _sql.remove(0) + "' to fail", exception); } else { Assert.assertNull(exception); - Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, ?) = INTVAL2)", _sql.remove(0)); + if (platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, 12) = INTVAL2)", _sql.remove(0)); + } else { + Assert.assertEquals("SELECT STRVAL2 FROM QUERYSYNTAXENTITY WHERE (COALESCE(?, ?, ?, ?, ?) = INTVAL2)", _sql.remove(0)); + } } } } finally { @@ -11991,8 +12100,10 @@ public void testRound1_Default() { Assert.assertEquals("SELECT FLOOR((1.1)*1e3+0.5)/1e3 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT FLOOR((?)*10^(?)+0.5)/10^(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT ROUND(1.1, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT ROUND(?, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT ROUND(?, ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -12004,8 +12115,10 @@ public void testRound1_Default() { Assert.assertEquals("SELECT FLOOR((1.1)*1e3+0.5)/1e3 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT FLOOR((?)*10^(?)+0.5)/10^(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT ROUND(1.1, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT ROUND(?, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT ROUND(?, ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -12018,8 +12131,10 @@ public void testRound1_Default() { Assert.assertEquals("SELECT FLOOR((1.1)*1e3+0.5)/1e3 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT FLOOR((?)*10^(?)+0.5)/10^(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT ROUND(1.1, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT ROUND(?, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT ROUND(?, ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -12043,8 +12158,10 @@ public void testRound1_Default() { Assert.assertEquals("SELECT FLOOR((1.1)*1e3+0.5)/1e3 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT FLOOR((?)*10^(?)+0.5)/10^(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT ROUND(1.1, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT ROUND(?, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT ROUND(?, ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -12062,8 +12179,10 @@ public void testRound1_Default() { Assert.assertEquals("SELECT FLOOR((1.1)*1e3+0.5)/1e3 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT FLOOR((?)*10^(?)+0.5)/10^(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT ROUND(1.1, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT ROUND(?, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT ROUND(?, ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -12083,8 +12202,10 @@ public void testRound1_Default() { Assert.assertEquals("SELECT FLOOR((1.1)*1e3+0.5)/1e3 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT FLOOR((?)*10^(?)+0.5)/10^(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT ROUND(1.1, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 9)", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT ROUND(?, 3) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT ROUND(?, ?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); } @@ -12387,7 +12508,7 @@ public void testCeiling1_Default() { query.setParameter(2, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CEIL(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CEIL(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -12396,7 +12517,7 @@ public void testCeiling1_Default() { query = em.createQuery("SELECT CEILING(1.1) FROM QuerySyntaxEntity s WHERE s.intVal1 = 3"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CEIL(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CEIL(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -12417,7 +12538,7 @@ public void testCeiling1_Default() { query.setParameter(intParam2, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CEIL(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CEIL(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -12432,7 +12553,7 @@ public void testCeiling1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT CEIL(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT CEIL(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -12609,7 +12730,7 @@ public void testFloor1_Default() { query.setParameter(2, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT FLOOR(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT FLOOR(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -12618,7 +12739,7 @@ public void testFloor1_Default() { query = em.createQuery("SELECT FLOOR(1.1) FROM QuerySyntaxEntity s WHERE s.intVal1 = 3"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT FLOOR(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT FLOOR(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -12639,7 +12760,7 @@ public void testFloor1_Default() { query.setParameter(intParam2, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT FLOOR(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT FLOOR(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -12654,7 +12775,7 @@ public void testFloor1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT FLOOR(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT FLOOR(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -12831,7 +12952,7 @@ public void testExp1_Default() { query.setParameter(2, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT EXP(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT EXP(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -12840,7 +12961,7 @@ public void testExp1_Default() { query = em.createQuery("SELECT EXP(1.1) FROM QuerySyntaxEntity s WHERE s.intVal1 = 3"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT EXP(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT EXP(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -12861,7 +12982,7 @@ public void testExp1_Default() { query.setParameter(intParam2, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT EXP(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT EXP(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -12876,7 +12997,7 @@ public void testExp1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT EXP(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT EXP(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -13053,7 +13174,7 @@ public void testLn1_Default() { query.setParameter(2, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT LN(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT LN(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -13062,7 +13183,7 @@ public void testLn1_Default() { query = em.createQuery("SELECT LN(1.1) FROM QuerySyntaxEntity s WHERE s.intVal1 = 3"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT LN(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT LN(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -13083,7 +13204,7 @@ public void testLn1_Default() { query.setParameter(intParam2, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT LN(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT LN(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -13098,7 +13219,7 @@ public void testLn1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT LN(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT LN(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -13275,7 +13396,7 @@ public void testSign1_Default() { query.setParameter(2, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SIGN(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT SIGN(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -13284,7 +13405,7 @@ public void testSign1_Default() { query = em.createQuery("SELECT SIGN(1.1) FROM QuerySyntaxEntity s WHERE s.intVal1 = 3"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SIGN(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT SIGN(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -13305,7 +13426,7 @@ public void testSign1_Default() { query.setParameter(intParam2, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SIGN(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT SIGN(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -13320,7 +13441,7 @@ public void testSign1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if (platform.isDB2() || platform.isDB2Z() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SIGN(1.1) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 3)", _sql.remove(0)); } else { Assert.assertEquals("SELECT SIGN(?) FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -13502,8 +13623,10 @@ public void testRound2_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((3.3)*1e9+0.5)/1e9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(3.3, 9))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, ?))", _sql.remove(0)); } @@ -13515,8 +13638,10 @@ public void testRound2_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((3.3)*1e9+0.5)/1e9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(3.3, 9))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, ?))", _sql.remove(0)); } @@ -13529,8 +13654,10 @@ public void testRound2_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((3.3)*1e9+0.5)/1e9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(3.3, 9))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, ?))", _sql.remove(0)); } @@ -13554,8 +13681,10 @@ public void testRound2_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((3.3)*1e9+0.5)/1e9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(3.3, 9))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, ?))", _sql.remove(0)); } @@ -13573,8 +13702,10 @@ public void testRound2_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((3.3)*1e9+0.5)/1e9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(3.3, 9))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, ?))", _sql.remove(0)); } @@ -13594,8 +13725,10 @@ public void testRound2_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((3.3)*1e9+0.5)/1e9)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(3.3, 9))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, 9))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ROUND(?, ?))", _sql.remove(0)); } @@ -13905,8 +14038,10 @@ public void testRound3_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0 < FLOOR((9.9)*1e2+0.5)/1e2)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0 < ROUND(9.9, 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, ?))", _sql.remove(0)); } @@ -13918,8 +14053,10 @@ public void testRound3_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0 < FLOOR((9.9)*1e2+0.5)/1e2)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0 < ROUND(9.9, 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, ?))", _sql.remove(0)); } @@ -13933,8 +14070,10 @@ public void testRound3_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0 < FLOOR((9.9)*1e2+0.5)/1e2)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0 < ROUND(9.9, 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, ?))", _sql.remove(0)); } @@ -13960,8 +14099,10 @@ public void testRound3_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0.0 < FLOOR((9.9)*1e2+0.5)/1e2)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0.0 < ROUND(9.9, 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, ?))", _sql.remove(0)); } @@ -13979,8 +14120,10 @@ public void testRound3_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0.0 < FLOOR((9.9)*1e2+0.5)/1e2)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0.0 < ROUND(9.9, 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, ?))", _sql.remove(0)); } @@ -14002,8 +14145,10 @@ public void testRound3_Default() { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0.0 < FLOOR((9.9)*1e2+0.5)/1e2)", _sql.remove(0)); } else if (platform.isPostgreSQL()) { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < FLOOR((?)*10^(?)+0.5)/10^(?))", _sql.remove(0)); - } else if (platform.isDB2() || platform.isDB2Z()) { + } else if (platform.isDB2Z()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (0.0 < ROUND(9.9, 2))", _sql.remove(0)); + } else if (platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY HAVING (? < ROUND(?, ?))", _sql.remove(0)); } diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxFunctionTests.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxFunctionTests.java index 7270f057d12..805814a66f6 100644 --- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxFunctionTests.java +++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxFunctionTests.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2025 Contributors to the Eclipse Foundation. * Copyright (c) 2022 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -92,8 +93,10 @@ public void testUpper1_Default() { query.setParameter(1, "HELLO WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if( platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UCASE('HELLO WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UCASE(?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UPPER(?))", _sql.remove(0)); } @@ -101,8 +104,10 @@ public void testUpper1_Default() { query = em.createQuery("SELECT s.strVal1 FROM QuerySyntaxEntity s WHERE s.strVal1 = UPPER('HELLO WORLD')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if( platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UCASE('HELLO WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UCASE(?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UPPER(?))", _sql.remove(0)); } @@ -120,8 +125,10 @@ public void testUpper1_Default() { query.setParameter(strParam1, "HELLO WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if( platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UCASE('HELLO WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UCASE(?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UPPER(?))", _sql.remove(0)); } @@ -135,8 +142,10 @@ public void testUpper1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if( platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UCASE('HELLO WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UCASE(?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = UPPER(?))", _sql.remove(0)); } @@ -305,18 +314,22 @@ public void testLower1_Default() { query.setParameter(1, "HELLO WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LCASE('HELLO WORLD'))", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LCASE(?))", _sql.remove(0)); + }else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LOWER(?))", _sql.remove(0)); } query = em.createQuery("SELECT s.strVal1 FROM QuerySyntaxEntity s WHERE s.strVal1 = LOWER('HELLO WORLD')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LCASE('HELLO WORLD'))", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LCASE(?))", _sql.remove(0)); + }else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LOWER(?))", _sql.remove(0)); } @@ -333,9 +346,11 @@ public void testLower1_Default() { query.setParameter(strParam1, "HELLO WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LCASE('HELLO WORLD'))", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LCASE(?))", _sql.remove(0)); + }else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LOWER(?))", _sql.remove(0)); } @@ -348,9 +363,11 @@ public void testLower1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LCASE('HELLO WORLD'))", _sql.remove(0)); - } else { + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LCASE(?))", _sql.remove(0)); + }else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LOWER(?))", _sql.remove(0)); } } finally { @@ -520,8 +537,10 @@ public void testConcat1_Default() { query.setParameter(3, "WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(VARCHAR('HELLO' || ' ') || 'WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(VARCHAR(? || ?) || ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = CONCAT(CONCAT(?, ?), ?))", _sql.remove(0)); } @@ -529,8 +548,10 @@ public void testConcat1_Default() { query = em.createQuery("SELECT s.strVal1 FROM QuerySyntaxEntity s WHERE s.strVal1 = CONCAT('HELLO', ' ', 'WORLD')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(VARCHAR('HELLO' || ' ') || 'WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(VARCHAR(? || ?) || ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = CONCAT(CONCAT(?, ?), ?))", _sql.remove(0)); } @@ -539,10 +560,12 @@ public void testConcat1_Default() { query.setParameter(1, "HELLO"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(VARCHAR('HELLO' || ' ') || STRVAL2))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(VARCHAR(? || ?) || STRVAL2))", _sql.remove(0)); } else { - Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = CONCAT(CONCAT(?, ?), STRVAL2))", _sql.remove(0)); + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = CONCAT(CONCAT(?, ?), ?))", _sql.remove(0)); } // ----------------------- @@ -562,8 +585,10 @@ public void testConcat1_Default() { query.setParameter(strParam3, "WORLD"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(VARCHAR('HELLO' || ' ') || 'WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(VARCHAR(? || ?) || ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = CONCAT(CONCAT(?, ?), ?))", _sql.remove(0)); } @@ -577,8 +602,10 @@ public void testConcat1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(VARCHAR('HELLO' || ' ') || 'WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(VARCHAR(? || ?) || ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = CONCAT(CONCAT(?, ?), ?))", _sql.remove(0)); } @@ -594,7 +621,9 @@ public void testConcat1_Default() { query.setParameter(strParam4, "HELLO"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(? || VARCHAR(? || STRVAL2)))", _sql.remove(0)); + } else if(platform.isDB2()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(? || VARCHAR(? || STRVAL2)))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = CONCAT(?, CONCAT(?, STRVAL2)))", _sql.remove(0)); @@ -1135,7 +1164,7 @@ public void testLeftTrim1_Default() { query.setParameter(2, " HELLO WORD "); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(?))", _sql.remove(0)); @@ -1144,7 +1173,7 @@ public void testLeftTrim1_Default() { query = em.createQuery("SELECT s.strVal1 FROM QuerySyntaxEntity s WHERE s.strVal1 = TRIM(LEADING ' HELLO WORD ')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(?))", _sql.remove(0)); @@ -1163,7 +1192,7 @@ public void testLeftTrim1_Default() { query.setParameter(strParam1, " HELLO WORD "); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(?))", _sql.remove(0)); @@ -1178,7 +1207,7 @@ public void testLeftTrim1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(?))", _sql.remove(0)); @@ -1348,7 +1377,7 @@ public void testRightTrim1_Default() { query.setParameter(2, " HELLO WORD "); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(?))", _sql.remove(0)); @@ -1357,7 +1386,7 @@ public void testRightTrim1_Default() { query = em.createQuery("SELECT s.strVal1 FROM QuerySyntaxEntity s WHERE s.strVal1 = TRIM(TRAILING ' HELLO WORD ')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(?))", _sql.remove(0)); @@ -1376,7 +1405,7 @@ public void testRightTrim1_Default() { query.setParameter(strParam1, " HELLO WORD "); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(?))", _sql.remove(0)); @@ -1391,7 +1420,7 @@ public void testRightTrim1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(?))", _sql.remove(0)); @@ -1564,7 +1593,7 @@ public void testSubstring1_Default() { query.setParameter(3, 5); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR('HELLO WORLD', 1, 5))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(?, ?, ?))", _sql.remove(0)); @@ -1573,7 +1602,7 @@ public void testSubstring1_Default() { query = em.createQuery("SELECT s.strVal1 FROM QuerySyntaxEntity s WHERE s.strVal1 = SUBSTRING('HELLO WORLD', 1, 5)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR('HELLO WORLD', 1, 5))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(?, ?, ?))", _sql.remove(0)); @@ -1583,7 +1612,7 @@ public void testSubstring1_Default() { query.setParameter(3, 5); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR('HELLO WORLD', 1, 5))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(?, ?, ?))", _sql.remove(0)); @@ -1606,7 +1635,7 @@ public void testSubstring1_Default() { query.setParameter(strParam3, 5); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR('HELLO WORLD', 1, 5))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(?, ?, ?))", _sql.remove(0)); @@ -1621,7 +1650,7 @@ public void testSubstring1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR('HELLO WORLD', 1, 5))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(?, ?, ?))", _sql.remove(0)); @@ -1638,7 +1667,7 @@ public void testSubstring1_Default() { query.setParameter(strParam4, 5); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR('HELLO WORLD', 1, 5))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(?, ?, ?))", _sql.remove(0)); @@ -1828,7 +1857,7 @@ public void testSubstring2_Default() { query.setParameter(4, 2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUBSTR('HELLO WORLD', 1, 5), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, 1, 5), 1, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUBSTR(?, ?, ?), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, ?, ?), ?, ?))", _sql.remove(0)); @@ -1837,7 +1866,7 @@ public void testSubstring2_Default() { query = em.createQuery("SELECT SUBSTRING('HELLO WORLD', 1, 5), s.strVal2 FROM QuerySyntaxEntity s WHERE s.strVal1 = SUBSTRING(SUBSTRING(s.strVal2, 1, 5), 1, 2)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUBSTR('HELLO WORLD', 1, 5), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, 1, 5), 1, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUBSTR(?, ?, ?), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, ?, ?), ?, ?))", _sql.remove(0)); @@ -1848,7 +1877,7 @@ public void testSubstring2_Default() { query.setParameter(3, 2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUBSTR('HELLO WORLD', 1, 5), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, 1, 5), 1, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUBSTR(?, ?, ?), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, ?, ?), ?, ?))", _sql.remove(0)); @@ -1873,7 +1902,7 @@ public void testSubstring2_Default() { query.setParameter(strParam4, 2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUBSTR('HELLO WORLD', 1, 5), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, 1, 5), 1, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUBSTR(?, ?, ?), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, ?, ?), ?, ?))", _sql.remove(0)); @@ -1888,7 +1917,7 @@ public void testSubstring2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUBSTR('HELLO WORLD', 1, 5), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, 1, 5), 1, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUBSTR(?, ?, ?), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, ?, ?), ?, ?))", _sql.remove(0)); @@ -1908,7 +1937,7 @@ public void testSubstring2_Default() { query.setParameter(strParam6, 2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT SUBSTR('HELLO WORLD', 1, 5), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, 1, 5), 1, 2))", _sql.remove(0)); } else { Assert.assertEquals("SELECT SUBSTR(?, ?, ?), STRVAL2 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = SUBSTR(SUBSTR(STRVAL2, ?, ?), ?, ?))", _sql.remove(0)); @@ -2109,7 +2138,7 @@ public void testTrim1_Default() { query.setParameter(2, " HELLO WORD "); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(?))", _sql.remove(0)); @@ -2118,7 +2147,7 @@ public void testTrim1_Default() { query = em.createQuery("SELECT s.strVal1 FROM QuerySyntaxEntity s WHERE s.strVal1 = TRIM(' HELLO WORD ')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(?))", _sql.remove(0)); @@ -2137,7 +2166,7 @@ public void testTrim1_Default() { query.setParameter(strParam1, " HELLO WORD "); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(?))", _sql.remove(0)); @@ -2152,7 +2181,7 @@ public void testTrim1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(' HELLO WORD '))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(?))", _sql.remove(0)); @@ -2323,7 +2352,7 @@ public void testTrim2_Default() { query.setParameter(2, 23); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT TRIM(' HELLO WORD '), STRVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 23)", _sql.remove(0)); } else { Assert.assertEquals("SELECT TRIM(?), STRVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -2332,7 +2361,7 @@ public void testTrim2_Default() { query = em.createQuery("SELECT TRIM(' HELLO WORD '), s.strVal1 FROM QuerySyntaxEntity s WHERE s.intVal1 = 23"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT TRIM(' HELLO WORD '), STRVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 23)", _sql.remove(0)); } else { Assert.assertEquals("SELECT TRIM(?), STRVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -2353,7 +2382,7 @@ public void testTrim2_Default() { query.setParameter(intParam1, 23); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT TRIM(' HELLO WORD '), STRVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 23)", _sql.remove(0)); } else { Assert.assertEquals("SELECT TRIM(?), STRVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -2368,7 +2397,7 @@ public void testTrim2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT TRIM(' HELLO WORD '), STRVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 23)", _sql.remove(0)); } else { Assert.assertEquals("SELECT TRIM(?), STRVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?)", _sql.remove(0)); @@ -2545,8 +2574,10 @@ public void testLength1_Default() { query.setParameter(2, 11); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if( platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (11 = LENGTH('HELLO WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? = LENGTH('HELLO WORLD'))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? = LENGTH(?))", _sql.remove(0)); } @@ -2554,8 +2585,10 @@ public void testLength1_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE 11 = LENGTH('HELLO WORLD')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if( platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (11 = LENGTH('HELLO WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? = LENGTH('HELLO WORLD'))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? = LENGTH(?))", _sql.remove(0)); } @@ -2575,8 +2608,10 @@ public void testLength1_Default() { query.setParameter(intParam1, 11); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if( platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (11 = LENGTH('HELLO WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? = LENGTH('HELLO WORLD'))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? = LENGTH(?))", _sql.remove(0)); } @@ -2590,8 +2625,10 @@ public void testLength1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if( platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (11 = LENGTH('HELLO WORLD'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? = LENGTH('HELLO WORLD'))", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (? = LENGTH(?))", _sql.remove(0)); } @@ -2980,7 +3017,7 @@ public void testLocate1_Default() { query.setParameter(2, "ABCDEFGHIJKLMNOP"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('HI', 'ABCDEFGHIJKLMNOP'))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?))", _sql.remove(0)); @@ -2991,7 +3028,7 @@ public void testLocate1_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE s.intVal1 = LOCATE('HI', 'ABCDEFGHIJKLMNOP')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('HI', 'ABCDEFGHIJKLMNOP'))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?))", _sql.remove(0)); @@ -3003,7 +3040,7 @@ public void testLocate1_Default() { query.setParameter(2, "HI"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('HI', 'ABCDEFGHIJKLMNOP'))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?))", _sql.remove(0)); @@ -3026,7 +3063,7 @@ public void testLocate1_Default() { query.setParameter(strParam2, "HI"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('HI', 'ABCDEFGHIJKLMNOP'))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?))", _sql.remove(0)); @@ -3043,7 +3080,7 @@ public void testLocate1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('HI', 'ABCDEFGHIJKLMNOP'))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?))", _sql.remove(0)); @@ -3062,7 +3099,7 @@ public void testLocate1_Default() { query.setParameter(strParam4, "HI"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('HI', 'ABCDEFGHIJKLMNOP'))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?))", _sql.remove(0)); @@ -3344,7 +3381,7 @@ public void testLocate2_Default() { query.setParameter(3, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('X', 'OXOOOOOXXOOOOOOXX', 3))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?, ?))", _sql.remove(0)); @@ -3355,7 +3392,7 @@ public void testLocate2_Default() { query = em.createQuery("SELECT s.intVal1 FROM QuerySyntaxEntity s WHERE s.intVal1 = LOCATE('X', 'OXOOOOOXXOOOOOOXX', 3)"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('X', 'OXOOOOOXXOOOOOOXX', 3))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?, ?))", _sql.remove(0)); @@ -3367,7 +3404,7 @@ public void testLocate2_Default() { query.setParameter(1, "OXOOOOOXXOOOOOOXX"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('X', 'OXOOOOOXXOOOOOOXX', 3))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?, ?))", _sql.remove(0)); @@ -3392,7 +3429,7 @@ public void testLocate2_Default() { query.setParameter(intParam3, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('X', 'OXOOOOOXXOOOOOOXX', 3))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?, ?))", _sql.remove(0)); @@ -3409,7 +3446,7 @@ public void testLocate2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('X', 'OXOOOOOXXOOOOOOXX', 3))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?, ?))", _sql.remove(0)); @@ -3430,7 +3467,7 @@ public void testLocate2_Default() { query.setParameter(intParam6, 3); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = LOCATE('X', 'OXOOOOOXXOOOOOOXX', 3))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT INTVAL1 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = INSTR(?, ?, ?))", _sql.remove(0)); @@ -3697,8 +3734,10 @@ public void testTrim2_1_Default() { query.setParameter(2, "AAAHELLO WORDAA"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(? FROM ?))", _sql.remove(0)); } @@ -3706,8 +3745,10 @@ public void testTrim2_1_Default() { query = em.createQuery("SELECT s.strVal1 FROM QuerySyntaxEntity s WHERE s.strVal1 = TRIM('A' FROM 'AAAHELLO WORDAA')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(? FROM ?))", _sql.remove(0)); } @@ -3716,8 +3757,10 @@ public void testTrim2_1_Default() { query.setParameter(2, "AAAHELLO WORDAA"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(? FROM ?))", _sql.remove(0)); } @@ -3737,8 +3780,10 @@ public void testTrim2_1_Default() { query.setParameter(strParam1, "AAAHELLO WORDAA"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(? FROM ?))", _sql.remove(0)); } @@ -3752,8 +3797,10 @@ public void testTrim2_1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(? FROM ?))", _sql.remove(0)); } @@ -3770,8 +3817,10 @@ public void testTrim2_1_Default() { query.setParameter(strParam2, "AAAHELLO WORDAA"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM('A' FROM ?))", _sql.remove(0)); } else { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(? FROM ?))", _sql.remove(0)); } @@ -4027,8 +4076,10 @@ public void testRightTrim2_1_Default() { query.setParameter(2, "AAAHELLO WORDAA"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(TRAILING 'A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(TRAILING 'A' FROM ?))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(?, ?))", _sql.remove(0)); } else { @@ -4038,8 +4089,10 @@ public void testRightTrim2_1_Default() { query = em.createQuery("SELECT s.strVal1 FROM QuerySyntaxEntity s WHERE s.strVal1 = TRIM(TRAILING 'A' FROM 'AAAHELLO WORDAA')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(TRAILING 'A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(TRAILING 'A' FROM ?))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(?, ?))", _sql.remove(0)); } else { @@ -4061,8 +4114,10 @@ public void testRightTrim2_1_Default() { query.setParameter(strParam1, "AAAHELLO WORDAA"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(TRAILING 'A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(TRAILING 'A' FROM ?))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(?, ?))", _sql.remove(0)); } else { @@ -4078,8 +4133,10 @@ public void testRightTrim2_1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(TRAILING 'A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(TRAILING 'A' FROM ?))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = RTRIM(?, ?))", _sql.remove(0)); } else { @@ -4289,8 +4346,10 @@ public void testLeftTrim2_1_Default() { query.setParameter(2, "AAAHELLO WORDAA"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM ?))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(?, ?))", _sql.remove(0)); } else { @@ -4300,8 +4359,10 @@ public void testLeftTrim2_1_Default() { query = em.createQuery("SELECT s.strVal1 FROM QuerySyntaxEntity s WHERE s.strVal1 = TRIM(LEADING 'A' FROM 'AAAHELLO WORDAA')"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM ?))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(?, ?))", _sql.remove(0)); } else { @@ -4312,8 +4373,10 @@ public void testLeftTrim2_1_Default() { query.setParameter(2, "AAAHELLO WORDAA"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM ?))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(?, ?))", _sql.remove(0)); } else { @@ -4335,8 +4398,10 @@ public void testLeftTrim2_1_Default() { query.setParameter(strParam1, "AAAHELLO WORDAA"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM ?))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(?, ?))", _sql.remove(0)); } else { @@ -4352,8 +4417,10 @@ public void testLeftTrim2_1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM ?))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(?, ?))", _sql.remove(0)); } else { @@ -4371,8 +4438,10 @@ public void testLeftTrim2_1_Default() { query.setParameter(strParam2, "AAAHELLO WORDAA"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM 'AAAHELLO WORDAA'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = TRIM(LEADING 'A' FROM ?))", _sql.remove(0)); } else if(platform.isOracle()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = LTRIM(?, ?))", _sql.remove(0)); } else { @@ -5503,8 +5572,10 @@ public void testSize1_Default() { query.setParameter(1, 36); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = 36)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = ?)", _sql.remove(0)); } @@ -5512,8 +5583,10 @@ public void testSize1_Default() { query = em.createQuery("SELECT 1 FROM QuerySyntaxEntity s WHERE SIZE(s.colVal1) = 36"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = 36)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = ?)", _sql.remove(0)); } @@ -5531,8 +5604,10 @@ public void testSize1_Default() { query.setParameter(intParam1, 36); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = 36)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = ?)", _sql.remove(0)); } @@ -5546,8 +5621,10 @@ public void testSize1_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = 36)", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT 1 FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = ?)", _sql.remove(0)); } else { Assert.assertEquals("SELECT ? FROM QUERYSYNTAXENTITY t0 WHERE ((SELECT COUNT(t1.ID) FROM COLTABLE1 t2, QUERYSYNTAXENTITY t1 WHERE (t2.ent_id = t0.ID)) = ?)", _sql.remove(0)); } diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxOrderingTests.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxOrderingTests.java index 0a3a4e4d559..162dc18c5d2 100644 --- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxOrderingTests.java +++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxOrderingTests.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2025 Contributors to the Eclipse Foundation. * Copyright (c) 2022 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -304,8 +305,10 @@ public void testAscending2_Default() { query.setParameter(2, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 ASC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 ASC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? ASC", _sql.remove(0)); } @@ -313,8 +316,10 @@ public void testAscending2_Default() { query = em.createQuery("SELECT s.intVal1, s.intVal2 FROM QuerySyntaxEntity s WHERE s.intVal1 = 36 ORDER BY 1 ASC"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 ASC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 ASC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? ASC", _sql.remove(0)); } @@ -323,8 +328,10 @@ public void testAscending2_Default() { query.setParameter(1, 36); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 ASC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 ASC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? ASC", _sql.remove(0)); } @@ -345,8 +352,10 @@ public void testAscending2_Default() { query.setParameter(intParam2, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 DESC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 DESC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? DESC", _sql.remove(0)); } @@ -361,8 +370,10 @@ public void testAscending2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 DESC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 DESC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? DESC", _sql.remove(0)); } @@ -379,8 +390,10 @@ public void testAscending2_Default() { query.setParameter(intParam4, 36); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 DESC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 DESC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? DESC", _sql.remove(0)); } @@ -829,8 +842,10 @@ public void testDescending2_Default() { query.setParameter(2, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 DESC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 DESC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? DESC", _sql.remove(0)); } @@ -838,8 +853,10 @@ public void testDescending2_Default() { query = em.createQuery("SELECT s.intVal1, s.intVal2 FROM QuerySyntaxEntity s WHERE s.intVal1 = 36 ORDER BY 1 DESC"); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 DESC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 DESC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? DESC", _sql.remove(0)); } @@ -848,8 +865,10 @@ public void testDescending2_Default() { query.setParameter(1, 36); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 DESC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 DESC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? DESC", _sql.remove(0)); } @@ -870,8 +889,10 @@ public void testDescending2_Default() { query.setParameter(intParam2, 1); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 DESC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 DESC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? DESC", _sql.remove(0)); } @@ -886,8 +907,10 @@ public void testDescending2_Default() { query = em.createQuery(cquery2); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 DESC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 DESC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? DESC", _sql.remove(0)); } @@ -904,8 +927,10 @@ public void testDescending2_Default() { query.setParameter(intParam4, 36); query.getResultList(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if (platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = 36) ORDER BY 1 DESC", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY 1 DESC", _sql.remove(0)); } else { Assert.assertEquals("SELECT INTVAL1, INTVAL2 FROM QUERYSYNTAXENTITY WHERE (INTVAL1 = ?) ORDER BY ? DESC", _sql.remove(0)); } diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxUpdateTests.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxUpdateTests.java index 350ded1a917..1beb916b245 100644 --- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxUpdateTests.java +++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxUpdateTests.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2025 Contributors to the Eclipse Foundation. * Copyright (c) 2022 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -93,8 +94,10 @@ public void testUpdate1_Default() { query.executeUpdate(); em.getTransaction().commit(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = 9 WHERE (STRVAL2 = LCASE('HELLO'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LCASE(?))", _sql.remove(0)); } else { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LOWER(?))", _sql.remove(0)); } @@ -104,8 +107,10 @@ public void testUpdate1_Default() { query.executeUpdate(); em.getTransaction().commit(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = 9 WHERE (STRVAL2 = LCASE('HELLO'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LCASE(?))", _sql.remove(0)); } else { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LOWER(?))", _sql.remove(0)); } @@ -116,8 +121,10 @@ public void testUpdate1_Default() { query.executeUpdate(); em.getTransaction().commit(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = 9 WHERE (STRVAL2 = LCASE('HELLO'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LCASE(?))", _sql.remove(0)); } else { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LOWER(?))", _sql.remove(0)); } @@ -140,8 +147,10 @@ public void testUpdate1_Default() { query.executeUpdate(); em.getTransaction().commit(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = 9 WHERE (STRVAL2 = LCASE('HELLO'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LCASE(?))", _sql.remove(0)); } else { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LOWER(?))", _sql.remove(0)); } @@ -157,8 +166,10 @@ public void testUpdate1_Default() { query.executeUpdate(); em.getTransaction().commit(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = 9 WHERE (STRVAL2 = LCASE('HELLO'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LCASE(?))", _sql.remove(0)); } else { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LOWER(?))", _sql.remove(0)); } @@ -177,8 +188,10 @@ public void testUpdate1_Default() { query.executeUpdate(); em.getTransaction().commit(); Assert.assertEquals(1, _sql.size()); - if(platform.isDB2Z() || platform.isDB2() || platform.isDerby()) { + if(platform.isDB2Z() || platform.isDerby()) { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = 9 WHERE (STRVAL2 = LCASE('HELLO'))", _sql.remove(0)); + } else if(platform.isDB2()) { + Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LCASE(?))", _sql.remove(0)); } else { Assert.assertEquals("UPDATE QUERYSYNTAXENTITY SET INTVAL1 = ? WHERE (STRVAL2 = LOWER(?))", _sql.remove(0)); } diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestTrimFunction.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestTrimFunction.java index 3ac047d3785..71c7180a53e 100644 --- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestTrimFunction.java +++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestTrimFunction.java @@ -1,4 +1,5 @@ /* + * Copyright (c) 2025 Contributors to the Eclipse Foundation. * Copyright (c) 2021 IBM Corporation, Oracle, and/or affiliates. All rights reserved. * * This program and the accompanying materials are made available under the @@ -246,7 +247,7 @@ public void testSelectLeftTrim() { Platform platform = getPlatform(emf); // Add more platform specific diction to support more platforms - if(platform.isMySQL() || platform.isDB2() || platform.isDerby() || platform.isSymfoware()) { + if (platform.isDB2() || platform.isMySQL() || platform.isDerby() || platform.isSymfoware()) { Assert.assertEquals("SELECT TRIM(LEADING 'A' FROM 'AAHELLO WORDAAAAA') FROM TRIMENTITY WHERE (STRVAL1 = 'HELLO')", _sql.remove(0)); } else { Assert.assertEquals("SELECT LTRIM('AAHELLO WORDAAAAA', 'A') FROM TRIMENTITY WHERE (STRVAL1 = 'HELLO')", _sql.remove(0)); @@ -265,7 +266,7 @@ public void testSelectLeftTrim() { Assert.assertEquals(1, _sql.size()); // Add more platform specific diction to support more platforms - if(platform.isMySQL() || platform.isDB2() || platform.isDerby() || platform.isSymfoware()) { + if (platform.isDB2() || platform.isMySQL() || platform.isDerby() || platform.isSymfoware()) { Assert.assertEquals("SELECT TRIM(LEADING 'A' FROM 'AAHELLO WORDAAAAA') FROM TRIMENTITY WHERE (STRVAL1 = 'HELLO')", _sql.remove(0)); } else { Assert.assertEquals("SELECT LTRIM('AAHELLO WORDAAAAA', 'A') FROM TRIMENTITY WHERE (STRVAL1 = 'HELLO')", _sql.remove(0)); diff --git a/jpa/eclipselink.jpa.testapps/jpa.test.advanced/src/test/java/org/eclipse/persistence/testing/tests/jpa/advanced/EntityManagerJUnitTestSuite.java b/jpa/eclipselink.jpa.testapps/jpa.test.advanced/src/test/java/org/eclipse/persistence/testing/tests/jpa/advanced/EntityManagerJUnitTestSuite.java index 71e26f3930e..591a59902a0 100644 --- a/jpa/eclipselink.jpa.testapps/jpa.test.advanced/src/test/java/org/eclipse/persistence/testing/tests/jpa/advanced/EntityManagerJUnitTestSuite.java +++ b/jpa/eclipselink.jpa.testapps/jpa.test.advanced/src/test/java/org/eclipse/persistence/testing/tests/jpa/advanced/EntityManagerJUnitTestSuite.java @@ -1,5 +1,6 @@ /* - * Copyright (c) 1998, 2025 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2025 Contributors to the Eclipse Foundation. + * Copyright (c) 1998, 2024 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2024 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -48,6 +49,9 @@ import junit.framework.AssertionFailedError; import junit.framework.Test; import junit.framework.TestSuite; + +import static org.eclipse.persistence.exceptions.QueryException.SOP_OBJECT_IS_NOT_FOUND; + import org.eclipse.persistence.annotations.IdValidation; import org.eclipse.persistence.config.CacheUsage; import org.eclipse.persistence.config.CacheUsageIndirectionPolicy; @@ -75,6 +79,7 @@ import org.eclipse.persistence.expressions.ExpressionBuilder; import org.eclipse.persistence.indirection.IndirectList; import org.eclipse.persistence.internal.databaseaccess.Accessor; +import org.eclipse.persistence.internal.databaseaccess.DatabasePlatform; import org.eclipse.persistence.internal.descriptors.PersistenceEntity; import org.eclipse.persistence.internal.expressions.QueryKeyExpression; import org.eclipse.persistence.internal.helper.Helper; @@ -7787,100 +7792,143 @@ public void testUpdateUsingTempStorage() { public void testUpdateUsingTempStorageWithParameter() { internalUpdateUsingTempStorage(true); } + protected void internalUpdateUsingTempStorage(boolean useParameter) { - if ((JUnitTestCase.getServerSession()).getPlatform().isSymfoware()) { - getServerSession().logMessage("Test testUpdateUsingTempStorage* skipped for this platform, " - + "Symfoware doesn't support UpdateAll/DeleteAll on multi-table objects (see rfe 298193)."); + DatabasePlatform platform = JUnitTestCase.getServerSession().getPlatform(); + + if (platform.isSymfoware()) { + getServerSession().logMessage( + "Test testUpdateUsingTempStorage* skipped for this platform, " + + "Symfoware doesn't support UpdateAll/DeleteAll on multi-table objects (see rfe 298193)."); return; - } else if ((JUnitTestCase.getServerSession()).getPlatform().isPervasive()) { - getServerSession().logMessage("Test testUpdateUsingTempStorage* skipped for this platform. " - + "Pervasive does not support dynamic parameters in the Select list."); + } + + if (platform.isPervasive()) { + getServerSession().logMessage( + "Test testUpdateUsingTempStorage* skipped for this platform. " + + "Pervasive does not support dynamic parameters in the Select list."); return; } - String firstName = "testUpdateUsingTempStorage"; - int n = 3; + final String firstName = "testUpdateUsingTempStorage"; + final int expectedNumberOfEmployees = 3; + + + // ### Setup - // setup EntityManager em = createEntityManager(); try { beginTransaction(em); - // make sure there are no pre-existing objects with this name - em.createQuery("DELETE FROM Employee e WHERE e.firstName = '"+firstName+"'").executeUpdate(); - em.createQuery("DELETE FROM Address a WHERE a.country = '"+firstName+"'").executeUpdate(); - // populate Employees - for(int i=1; i<=n; i++) { - Employee emp = new Employee(); - emp.setFirstName(firstName); - emp.setLastName(Integer.toString(i)); - emp.setSalary(i*100); - emp.setRoomNumber(i); + + // Make sure there are no pre-existing objects with this name + em.createQuery("DELETE FROM Employee e WHERE e.firstName = '" + firstName + "'").executeUpdate(); + em.createQuery("DELETE FROM Address a WHERE a.country = '" + firstName + "'").executeUpdate(); + + // Populate Employees + for (int i = 1; i <= expectedNumberOfEmployees; i++) { + Employee employee = new Employee(); + employee.setFirstName(firstName); + employee.setLastName(Integer.toString(i)); + employee.setSalary(i * 100); + employee.setRoomNumber(i); Address address = new Address(); address.setCountry(firstName); address.setCity(Integer.toString(i)); - emp.setAddress(address); + employee.setAddress(address); - em.persist(emp); + em.persist(employee); } + commitTransaction(em); - } catch (RuntimeException ex){ - if (isTransactionActive(em)){ - rollbackTransaction(em); + } catch (RuntimeException ex) { + if (isTransactionActive(em)) { + rollbackTransaction(em); } throw ex; } finally { closeEntityManager(em); } - // test + + // ### Test + // ---> Swap the roomNumber and salary in bulk for the Employee entity + em = createEntityManager(); beginTransaction(em); - int nUpdated = 0; - try { - if(useParameter) { - nUpdated = em.createQuery("UPDATE Employee e set e.salary = e.roomNumber, e.roomNumber = e.salary, e.address = :address where e.firstName = '" + firstName + "'").setParameter("address", null).executeUpdate(); + int numberOfEmployeesUpdated = 0; + try { + if (useParameter) { + numberOfEmployeesUpdated = + em.createQuery( + """ + UPDATE + Employee e + SET + e.salary = e.roomNumber, + e.roomNumber = e.salary, + e.address = :address + WHERE + e.firstName = '""" + firstName + "'") + .setParameter("address", null) + .executeUpdate(); } else { - nUpdated = em.createQuery("UPDATE Employee e set e.salary = e.roomNumber, e.roomNumber = e.salary, e.address = null where e.firstName = '" + firstName + "'").executeUpdate(); + numberOfEmployeesUpdated = + em.createQuery( + """ + UPDATE + Employee e + SET + e.salary = e.roomNumber, + e.roomNumber = e.salary, + e.address = null + WHERE + e.firstName = '""" + firstName + "'") + .executeUpdate(); } + commitTransaction(em); } finally { - if (isTransactionActive(em)){ + if (isTransactionActive(em)) { rollbackTransaction(em); } closeEntityManager(em); } - // verify + + // ### Verify + String error = null; em = createEntityManager(); try { - List result = em.createQuery("SELECT OBJECT(e) FROM Employee e WHERE e.firstName = '"+firstName+"'").getResultList(); - int nReadBack = result.size(); - if(n != nUpdated) { - error = "n = "+n+", but nUpdated ="+nUpdated+";"; + List result = em.createQuery("SELECT OBJECT(e) FROM Employee e WHERE e.firstName = '" + firstName + "'").getResultList(); + + int numberOfEmployeesReadBack = result.size(); + if (expectedNumberOfEmployees != numberOfEmployeesUpdated) { + error = "n = " + expectedNumberOfEmployees + ", but nUpdated =" + numberOfEmployeesUpdated + ";"; } - if(n != nReadBack) { - error = " n = "+n+", but nReadBack ="+nReadBack+";"; + if (expectedNumberOfEmployees != numberOfEmployeesReadBack) { + error = " n = " + expectedNumberOfEmployees + ", but nReadBack =" + numberOfEmployeesReadBack + ";"; } + for (Object o : result) { - Employee emp = (Employee) o; - if (emp.getAddress() != null) { - error = " Employee " + emp.getLastName() + " still has address;"; + Employee employee = (Employee) o; + if (employee.getAddress() != null) { + error = " Employee " + employee.getLastName() + " still has address;"; } - int ind = Integer.parseInt(emp.getLastName()); - if (emp.getSalary() != ind) { - error = " Employee " + emp.getLastName() + " has wrong salary " + emp.getSalary() + ";"; + int ind = Integer.parseInt(employee.getLastName()); + if (employee.getSalary() != ind) { + error = " Employee " + employee.getLastName() + " has wrong salary " + employee.getSalary() + ";"; } - if (emp.getRoomNumber() != ind * 100) { - error = " Employee " + emp.getLastName() + " has wrong roomNumber " + emp.getRoomNumber() + ";"; + if (employee.getRoomNumber() != ind * 100) { + error = " Employee " + employee.getLastName() + " has wrong roomNumber " + employee.getRoomNumber() + ";"; } } } catch (RuntimeException ex) { if (usesSOP() && !isSOPRecoverable()) { if (ex instanceof PersistenceException) { - if (ex.getCause() instanceof QueryException && ((QueryException)ex.getCause()).getErrorCode() == QueryException.SOP_OBJECT_IS_NOT_FOUND) { + if (ex.getCause() instanceof QueryException qex && qex.getErrorCode() == SOP_OBJECT_IS_NOT_FOUND) { // getResultList is expected to fail because SOP field is set to null after bulk update } else { fail("Wrong cause of PersistenceException: " + ex.getCause()); @@ -7895,24 +7943,26 @@ protected void internalUpdateUsingTempStorage(boolean useParameter) { closeEntityManager(em); } - // clean up + + // ### Clean up + em = createEntityManager(); try { beginTransaction(em); - // make sure there are no objects left with this name - em.createQuery("DELETE FROM Employee e WHERE e.firstName = '"+firstName+"'").executeUpdate(); - em.createQuery("DELETE FROM Address a WHERE a.country = '"+firstName+"'").executeUpdate(); + // Make sure there are no objects left with this name + em.createQuery("DELETE FROM Employee e WHERE e.firstName = '" + firstName + "'").executeUpdate(); + em.createQuery("DELETE FROM Address a WHERE a.country = '" + firstName + "'").executeUpdate(); commitTransaction(em); - } catch (RuntimeException ex){ - if (isTransactionActive(em)){ - rollbackTransaction(em); + } catch (RuntimeException ex) { + if (isTransactionActive(em)) { + rollbackTransaction(em); } throw ex; } finally { closeEntityManager(em); } - if(error != null) { + if (error != null) { fail(error); } } @@ -13091,28 +13141,28 @@ public void testServerDetectionLogging(){ } public void testDetachChildObjects() { - EntityManager em = createEntityManager(); - beginTransaction(em); - InitTestDetachChildObjects1(em); - UnitOfWorkImpl uow = (UnitOfWorkImpl) em.unwrap(JpaEntityManager.class).getActiveSession(); - - Material mat = em.find(Material.class, 1L); - mat.setWert("WERT3"); - MaterialEreignis matEreignis1 = new MaterialEreignis(); - matEreignis1.setChangedObject(mat); - matEreignis1.setBeforeChange(mat.getLastHist()); - MaterialHist afterMat1 = makeHistCopy(mat); - matEreignis1.setAfterChange(afterMat1); - - em.persist(matEreignis1); - em.flush(); - em.detach(matEreignis1); - - List pagList = getInstancesFromPC(PlanArbeitsgangHist.class, uow); - assertTrue(pagList.isEmpty()); - for (PlanArbeitsgangHist pag : pagList) { - assertTrue(em.contains(pag)); - } + EntityManager em = createEntityManager(); + beginTransaction(em); + InitTestDetachChildObjects1(em); + UnitOfWorkImpl uow = (UnitOfWorkImpl) em.unwrap(JpaEntityManager.class).getActiveSession(); + + Material mat = em.find(Material.class, 1L); + mat.setWert("WERT3"); + MaterialEreignis matEreignis1 = new MaterialEreignis(); + matEreignis1.setChangedObject(mat); + matEreignis1.setBeforeChange(mat.getLastHist()); + MaterialHist afterMat1 = makeHistCopy(mat); + matEreignis1.setAfterChange(afterMat1); + + em.persist(matEreignis1); + em.flush(); + em.detach(matEreignis1); + + List pagList = getInstancesFromPC(PlanArbeitsgangHist.class, uow); + assertTrue(pagList.isEmpty()); + for (PlanArbeitsgangHist pag : pagList) { + assertTrue(em.contains(pag)); + } assertTrue(em.contains(matEreignis1.getChangedObject())); assertFalse(em.contains(matEreignis1)); assertFalse(em.contains(matEreignis1.getBeforeChange())); @@ -13124,8 +13174,8 @@ public void testDetachChildObjects() { assertFalse(em.contains(planArbeitsgangHist)); } - rollbackTransaction(em); - closeEntityManager(em); + rollbackTransaction(em); + closeEntityManager(em); } public void testDetachLazyLoadedCollection() { @@ -13165,18 +13215,18 @@ private void InitTestDetachChildObjects1(EntityManager em) { // test data - manual creation try { em.createNativeQuery("INSERT INTO MATERIAL (ID, VERSION, IDENT, WERT) VALUES (1, 1, 'MAT', 'WERT2')").executeUpdate(); - em.createNativeQuery("INSERT INTO MATERIALHIST (ID, VERSION, IDENT, WERT, ORIGINAL_ID) VALUES (1, 1, 'MAT', 'WERT1', 1)").executeUpdate(); - em.createNativeQuery("INSERT INTO MATERIALHIST (ID, VERSION, IDENT, WERT, ORIGINAL_ID) VALUES (2, 1, 'MAT', 'WERT2', 1)").executeUpdate(); - em.createNativeQuery("INSERT INTO PLANARBEITSGANG (ID, VERSION, NAME, MATERIAL_ID) VALUES (1, 1, 'PAG1', 1)").executeUpdate(); - em.createNativeQuery("INSERT INTO PLANARBEITSGANG (ID, VERSION, NAME, MATERIAL_ID) VALUES (2, 1, 'PAG2', 1)").executeUpdate(); - em.createNativeQuery("INSERT INTO PLANARBEITSGANGHIST (ID, VERSION, NAME, MATERIAL_ID, ORIGINAL_ID) VALUES (1, 1, 'PAG1', 1, 1)").executeUpdate(); - em.createNativeQuery("INSERT INTO PLANARBEITSGANGHIST (ID, VERSION, NAME, MATERIAL_ID, ORIGINAL_ID) VALUES (2, 1, 'PAG2', 1, 2)").executeUpdate(); - em.createNativeQuery("INSERT INTO PLANARBEITSGANGHIST (ID, VERSION, NAME, MATERIAL_ID, ORIGINAL_ID) VALUES (3, 1, 'PAG1', 2, 1)").executeUpdate(); - em.createNativeQuery("INSERT INTO PLANARBEITSGANGHIST (ID, VERSION, NAME, MATERIAL_ID, ORIGINAL_ID) VALUES (4, 1, 'PAG2', 2, 2)").executeUpdate(); - em.createNativeQuery("UPDATE MATERIAL SET LASTHIST_ID = 2 WHERE ID = 1").executeUpdate(); - em.createNativeQuery("UPDATE PLANARBEITSGANG SET LASTHIST_ID = 3 WHERE ID = 1").executeUpdate(); - em.createNativeQuery("UPDATE PLANARBEITSGANG SET LASTHIST_ID = 4 WHERE ID = 2").executeUpdate(); - em.createNativeQuery("INSERT INTO MATERIALEREIGNIS (ID, VERSION, AFTERCHANGE_ID, BEFORECHANGE_ID, CHANGEDOBJECT_ID) VALUES (1, 1, 2, 1, 1)").executeUpdate(); + em.createNativeQuery("INSERT INTO MATERIALHIST (ID, VERSION, IDENT, WERT, ORIGINAL_ID) VALUES (1, 1, 'MAT', 'WERT1', 1)").executeUpdate(); + em.createNativeQuery("INSERT INTO MATERIALHIST (ID, VERSION, IDENT, WERT, ORIGINAL_ID) VALUES (2, 1, 'MAT', 'WERT2', 1)").executeUpdate(); + em.createNativeQuery("INSERT INTO PLANARBEITSGANG (ID, VERSION, NAME, MATERIAL_ID) VALUES (1, 1, 'PAG1', 1)").executeUpdate(); + em.createNativeQuery("INSERT INTO PLANARBEITSGANG (ID, VERSION, NAME, MATERIAL_ID) VALUES (2, 1, 'PAG2', 1)").executeUpdate(); + em.createNativeQuery("INSERT INTO PLANARBEITSGANGHIST (ID, VERSION, NAME, MATERIAL_ID, ORIGINAL_ID) VALUES (1, 1, 'PAG1', 1, 1)").executeUpdate(); + em.createNativeQuery("INSERT INTO PLANARBEITSGANGHIST (ID, VERSION, NAME, MATERIAL_ID, ORIGINAL_ID) VALUES (2, 1, 'PAG2', 1, 2)").executeUpdate(); + em.createNativeQuery("INSERT INTO PLANARBEITSGANGHIST (ID, VERSION, NAME, MATERIAL_ID, ORIGINAL_ID) VALUES (3, 1, 'PAG1', 2, 1)").executeUpdate(); + em.createNativeQuery("INSERT INTO PLANARBEITSGANGHIST (ID, VERSION, NAME, MATERIAL_ID, ORIGINAL_ID) VALUES (4, 1, 'PAG2', 2, 2)").executeUpdate(); + em.createNativeQuery("UPDATE MATERIAL SET LASTHIST_ID = 2 WHERE ID = 1").executeUpdate(); + em.createNativeQuery("UPDATE PLANARBEITSGANG SET LASTHIST_ID = 3 WHERE ID = 1").executeUpdate(); + em.createNativeQuery("UPDATE PLANARBEITSGANG SET LASTHIST_ID = 4 WHERE ID = 2").executeUpdate(); + em.createNativeQuery("INSERT INTO MATERIALEREIGNIS (ID, VERSION, AFTERCHANGE_ID, BEFORECHANGE_ID, CHANGEDOBJECT_ID) VALUES (1, 1, 2, 1, 1)").executeUpdate(); } catch (Exception e) { fail("Error creating test data: " + e.getMessage()); } @@ -13194,33 +13244,33 @@ private void InitTestDetachChildObjects2(EntityManager em) { } private MaterialHist makeHistCopy(Material mat) { - MaterialHist histCopy = new MaterialHist(); - mat.setLastHist(histCopy); - histCopy.setOriginal(mat); - histCopy.setIdent(mat.getIdent()); - histCopy.setWert(mat.getWert()); - for (PlanArbeitsgang pag : mat.getRestproduktionsweg()) { - PlanArbeitsgangHist pagHistCopy = new PlanArbeitsgangHist(); - pagHistCopy.setName(pag.getName()); - pagHistCopy.setOriginal(pag); - pag.setLastHist(pagHistCopy); - histCopy.getRestproduktionsweg().add(pagHistCopy); - pagHistCopy.setMaterial(histCopy); - } - return histCopy; - } - - @SuppressWarnings("unchecked") - private List getInstancesFromPC(Class type, UnitOfWorkImpl uow) { - Set pc = uow.getCloneMapping().keySet(); - List result = new ArrayList<>(); - for (Object o : pc) { - if (type.isInstance(o)) { - result.add((T) o); - } - } - return result; - } + MaterialHist histCopy = new MaterialHist(); + mat.setLastHist(histCopy); + histCopy.setOriginal(mat); + histCopy.setIdent(mat.getIdent()); + histCopy.setWert(mat.getWert()); + for (PlanArbeitsgang pag : mat.getRestproduktionsweg()) { + PlanArbeitsgangHist pagHistCopy = new PlanArbeitsgangHist(); + pagHistCopy.setName(pag.getName()); + pagHistCopy.setOriginal(pag); + pag.setLastHist(pagHistCopy); + histCopy.getRestproduktionsweg().add(pagHistCopy); + pagHistCopy.setMaterial(histCopy); + } + return histCopy; + } + + @SuppressWarnings("unchecked") + private List getInstancesFromPC(Class type, UnitOfWorkImpl uow) { + Set pc = uow.getCloneMapping().keySet(); + List result = new ArrayList<>(); + for (Object o : pc) { + if (type.isInstance(o)) { + result.add((T) o); + } + } + return result; + } public static final class Platform extends ServerPlatformBase { From 44a808f306d173e047e47db50181dca1ee991917 Mon Sep 17 00:00:00 2001 From: Arjan Tijms Date: Thu, 13 Nov 2025 16:06:05 +0100 Subject: [PATCH 2/2] Accidentally touched else query - revert --- .../jpa/test/query/TestQuerySyntaxFunctionTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxFunctionTests.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxFunctionTests.java index 805814a66f6..fc408747000 100644 --- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxFunctionTests.java +++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/query/TestQuerySyntaxFunctionTests.java @@ -565,7 +565,7 @@ public void testConcat1_Default() { } else if(platform.isDB2()) { Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = VARCHAR(VARCHAR(? || ?) || STRVAL2))", _sql.remove(0)); } else { - Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = CONCAT(CONCAT(?, ?), ?))", _sql.remove(0)); + Assert.assertEquals("SELECT STRVAL1 FROM QUERYSYNTAXENTITY WHERE (STRVAL1 = CONCAT(CONCAT(?, ?), STRVAL2))", _sql.remove(0)); } // -----------------------