You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by wi...@apache.org on 2007/04/20 19:24:33 UTC

svn commit: r530860 - in /incubator/openjpa/trunk: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/ openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/

Author: wisneskid
Date: Fri Apr 20 10:24:32 2007
New Revision: 530860

URL: http://svn.apache.org/viewvc?view=rev&rev=530860
Log:
OPENJPA-222 clean up

Modified:
    incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java
    incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestIsolationLevelOverride.java
    incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestSelectForUpdateOverride.java

Modified: incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java?view=diff&rev=530860&r1=530859&r2=530860
==============================================================================
--- incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java (original)
+++ incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java Fri Apr 20 10:24:32 2007
@@ -37,11 +37,11 @@
     public String optimizeClause = "optimize for";
     public String rowClause = "row";
     private int db2ServerType = 0;
-    private static final int db2ISeriesV5R3AndEarlier = 1;
+    private static final int db2ISeriesV5R3OrEarlier = 1;
     private static final int db2UDBV81OrEarlier = 2;
     private static final int db2ZOSV8xOrLater = 3;
-    private static final int db2UDBV82AndLater = 4;
-    private static final int db2ISeriesV5R4AndLater = 5;
+    private static final int db2UDBV82OrLater = 4;
+    private static final int db2ISeriesV5R4OrLater = 5;
 	private static final String forUpdateOfClause = "FOR UPDATE OF";
     private static final String withRSClause = "WITH RS";
     private static final String withRRClause = "WITH RR";
@@ -191,16 +191,16 @@
 	    	int min = metaData.getDatabaseMinorVersion();
 
 	    	// Determine the type of DB2 database
-	    	if (isDB2ISeriesV5R3AndEarlier(metaData))
-	    	    db2ServerType = db2ISeriesV5R3AndEarlier;
+	    	if (isDB2ISeriesV5R3OrEarlier(metaData))
+	    	    db2ServerType = db2ISeriesV5R3OrEarlier;
 	    	else if (isDB2UDBV81OrEarlier(metaData,maj,min))
 	    	    db2ServerType = db2UDBV81OrEarlier;
 	    	else if (isDB2ZOSV8xOrLater(metaData,maj))
 	    	    db2ServerType = db2ZOSV8xOrLater;
-	    	else if (isDB2UDBV82AndLater(metaData,maj,min))
-	    	    db2ServerType = db2UDBV82AndLater;
-	    	else if (isDB2ISeriesV5R4AndLater(metaData))
-	    	    db2ServerType = db2ISeriesV5R4AndLater;
+	    	else if (isDB2UDBV82OrLater(metaData,maj,min))
+	    	    db2ServerType = db2UDBV82OrLater;
+	    	else if (isDB2ISeriesV5R4OrLater(metaData))
+	    	    db2ServerType = db2ISeriesV5R4OrLater;
 
 	    	if (maj >= 9 || (maj == 8 && min >= 2)) {
 	    		supportsLockingWithMultipleTables = true;
@@ -247,7 +247,7 @@
 
             if (forUpdate) {
                 switch(db2ServerType) {
-                case db2ISeriesV5R3AndEarlier:
+                case db2ISeriesV5R3OrEarlier:
                 case db2UDBV81OrEarlier:
                     if (isolationLevel ==
                         Connection.TRANSACTION_READ_UNCOMMITTED) {
@@ -257,7 +257,7 @@
                         forUpdateString.append(" ").append(forUpdateOfClause);
                     break;
                 case db2ZOSV8xOrLater:
-                case db2UDBV82AndLater:
+                case db2UDBV82OrLater:
                     if (isolationLevel == Connection.TRANSACTION_SERIALIZABLE) {
                         forUpdateString.append(" ").append(forReadOnlyClause)
                             .append(" ").append(withRRClause)
@@ -268,7 +268,7 @@
                             .append(" ").append(useKeepUpdateLockClause);                            
                     }
                     break;
-                case db2ISeriesV5R4AndLater:
+                case db2ISeriesV5R4OrLater:
                     if (isolationLevel == Connection.TRANSACTION_SERIALIZABLE) {
                         forUpdateString.append(" ").append(forReadOnlyClause)
                             .append(" ").append(withRRClause)
@@ -289,7 +289,7 @@
         return forUpdateString.toString();
     }
 
-    public boolean isDB2UDBV82AndLater(DatabaseMetaData metadata, int maj,
+    public boolean isDB2UDBV82OrLater(DatabaseMetaData metadata, int maj,
         int min) throws SQLException {
         boolean match = false;
         if (metadata.getDatabaseProductVersion().indexOf("SQL") != -1
@@ -307,7 +307,7 @@
         return match;
     }
 
-    public boolean isDB2ISeriesV5R3AndEarlier(DatabaseMetaData metadata)
+    public boolean isDB2ISeriesV5R3OrEarlier(DatabaseMetaData metadata)
        throws SQLException {
        boolean match = false;
        if (metadata.getDatabaseProductVersion().indexOf("AS") != -1
@@ -317,7 +317,7 @@
        return match;
     }
 
-    public boolean isDB2ISeriesV5R4AndLater(DatabaseMetaData metadata)
+    public boolean isDB2ISeriesV5R4OrLater(DatabaseMetaData metadata)
        throws SQLException {
        boolean match = false;
        if (metadata.getDatabaseProductVersion().indexOf("AS") != -1

Modified: incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestIsolationLevelOverride.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestIsolationLevelOverride.java?view=diff&rev=530860&r1=530859&r2=530860
==============================================================================
--- incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestIsolationLevelOverride.java (original)
+++ incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestIsolationLevelOverride.java Fri Apr 20 10:24:32 2007
@@ -68,7 +68,7 @@
             em.getTransaction().begin();
             if (useHintsAndQueries) {
                 Query q = em.createQuery(
-                    "select o from AllFieldTypes o where o.intField = :p");
+                "select o from AllFieldTypes o where o.intField = :p");
                 q.setParameter("p", 0);
                 if (useStringHints) {
                     q.setHint("openjpa.FetchPlan.Isolation", "SERIALIZABLE");
@@ -82,89 +82,88 @@
                         .getIsolation());
 
                 q.getResultList();
-                if (dict instanceof DB2Dictionary &&((((DB2Dictionary)dict).
-                    getDb2ServerType() == 1) || ((DB2Dictionary)dict)
-                        .getDb2ServerType()== 2)) {
-                    assertEquals(1, sql.size());
-                    assertSQL("SELECT t0.id, t0.booleanField, t0.byteField,"
-                        + " t0.charField, t0.dateField, t0.doubleField,"
-                        + " t0.floatField, t0.intField, t0.longField, "
-                        + "t0.shortField, t0.stringField FROM "
-                        + "AllFieldTypes t0 WHERE \\(t0.intField = \\?\\) "
-                        + " FOR UPDATE OF");
-                }
-
-                // it is DB2 v82 or later
-                else if (dict instanceof DB2Dictionary &&((((DB2Dictionary)dict).
-                    getDb2ServerType() == 3) || ((DB2Dictionary)dict)
-                        .getDb2ServerType() == 4)) {
-                    assertEquals(1, sql.size());
-                    assertSQL("SELECT t0.id, t0.booleanField, t0.byteField,"
-                        + " t0.charField, t0.dateField, t0.doubleField,"
-                        + " t0.floatField, t0.intField, t0.longField, "
-                        + "t0.shortField, t0.stringField FROM "
-                        + "AllFieldTypes t0 WHERE \\(t0.intField = \\?\\) "
-                        + " FOR READ ONLY WITH RR USE AND KEEP UPDATE LOCKS");
-                }
-
-                else if (dict instanceof DB2Dictionary && ((DB2Dictionary)dict).
-                    getDb2ServerType() == 5){
-                    assertEquals(1, sql.size());
-                    assertSQL("SELECT t0.id, t0.booleanField, t0.byteField,"
-                        + " t0.charField, t0.dateField, t0.doubleField,"
-                        + " t0.floatField, t0.intField, t0.longField, "
-                        + "t0.shortField, t0.stringField FROM "
-                        + "AllFieldTypes t0 WHERE \\(t0.intField = \\?\\) "
-                        + " FOR READ ONLY WITH RR USE AND KEEP EXCLUSIVE " 
-                        + "LOCKS");
+                if (dict instanceof DB2Dictionary) {
+                    if ((((DB2Dictionary)dict).getDb2ServerType() == 1)
+                        || (((DB2Dictionary)dict).getDb2ServerType()== 2)) {
+                        assertEquals(1, sql.size());
+                        assertSQL("SELECT t0.id, t0.booleanField, t0.byteField,"
+                            + " t0.charField, t0.dateField, t0.doubleField,"
+                            + " t0.floatField, t0.intField, t0.longField, "
+                            + "t0.shortField, t0.stringField FROM "
+                            + "AllFieldTypes t0 WHERE \\(t0.intField = \\?\\) "
+                            + " FOR UPDATE OF");
+                    }
+                    // it is DB2 v82 or later
+                    else if ((((DB2Dictionary)dict).getDb2ServerType() == 3)
+                        || (((DB2Dictionary)dict).getDb2ServerType() == 4)) {
+                        assertEquals(1, sql.size());
+                        assertSQL("SELECT t0.id, t0.booleanField, t0.byteField,"
+                            + " t0.charField, t0.dateField, t0.doubleField,"
+                            + " t0.floatField, t0.intField, t0.longField, "
+                            + "t0.shortField, t0.stringField FROM "
+                            + "AllFieldTypes t0 WHERE \\(t0.intField = \\?\\) "
+                            + " FOR READ ONLY WITH RR USE AND KEEP " 
+                            + "UPDATE LOCKS");
+                    }
+                    else if (((DB2Dictionary)dict).getDb2ServerType() == 5) {
+                        assertEquals(1, sql.size());
+                        assertSQL("SELECT t0.id, t0.booleanField, t0.byteField,"
+                            + " t0.charField, t0.dateField, t0.doubleField,"
+                            + " t0.floatField, t0.intField, t0.longField, "
+                            + "t0.shortField, t0.stringField FROM "
+                            + "AllFieldTypes t0 WHERE \\(t0.intField = \\?\\) "
+                            + " FOR READ ONLY WITH RR USE AND KEEP EXCLUSIVE " 
+                            + "LOCKS");
+                    }    
+                    else {
+                        fail("OpenJPA currently only supports " 
+                            +"per-query isolation level configuration on the" 
+                            +" following databases: DB2");
+                    }
                 }    
-                else if (dict instanceof DB2Dictionary) {
-                    fail("OpenJPA currently only supports per-query isolation " 
-                    + "level configuration on the following databases: DB2");
-                }
             } else {
                 ((JDBCFetchPlan) em.getFetchPlan())
                     .setIsolation(IsolationLevel.SERIALIZABLE);
                 em.find(AllFieldTypes.class, 0);
-                if (dict instanceof DB2Dictionary &&((((DB2Dictionary)dict).
-                    getDb2ServerType() == 1) || ((DB2Dictionary)dict)
-                        .getDb2ServerType()== 2)) {
-                    assertEquals(1, sql.size());
-                    assertSQL("SELECT t0.booleanField, t0.byteField, "
-                        + "t0.charField, t0.dateField, t0.doubleField,"
-                        + " t0.floatField, t0.intField, t0.longField,"
-                        + " t0.shortField, t0.stringField FROM "
-                        + "AllFieldTypes t0 WHERE t0.id = \\? "
-                        + " FOR UPDATE OF optimize for 1 row");
-                }
-                // it is DB2 v82 or later
-                else if (dict instanceof DB2Dictionary &&((((DB2Dictionary)dict).
-                    getDb2ServerType() == 3) || ((DB2Dictionary)dict)
-                        .getDb2ServerType() == 4)) {
-                    assertEquals(1, sql.size());
-                    assertSQL("SELECT t0.booleanField, t0.byteField, "
-                        + "t0.charField, t0.dateField, t0.doubleField,"
-                        + " t0.floatField, t0.intField, t0.longField,"
-                        + " t0.shortField, t0.stringField FROM "
-                        + "AllFieldTypes t0 WHERE t0.id = \\? "
-                        + " FOR READ ONLY WITH RR USE AND KEEP UPDATE LOCKS" 
-                        + " optimize for 1 row");
-                }
-                else if (dict instanceof DB2Dictionary && ((DB2Dictionary)dict).
-                    getDb2ServerType() == 5) {
-                    assertEquals(1, sql.size());
-                    assertSQL("SELECT t0.booleanField, t0.byteField, "
-                        + "t0.charField, t0.dateField, t0.doubleField,"
-                        + " t0.floatField, t0.intField, t0.longField,"
-                        + " t0.shortField, t0.stringField FROM "
-                        + "AllFieldTypes t0 WHERE t0.id = \\? "
-                        + " FOR READ ONLY WITH RR USE AND KEEP EXCLUSIVE LOCKS"
-                        + " optimize for 1 row");
+                if (dict instanceof DB2Dictionary ) {
+                    if ((((DB2Dictionary)dict).getDb2ServerType() == 1)
+                        || (((DB2Dictionary)dict).getDb2ServerType()== 2)) {
+                        assertEquals(1, sql.size());
+                        assertSQL("SELECT t0.booleanField, t0.byteField, "
+                            + "t0.charField, t0.dateField, t0.doubleField,"
+                            + " t0.floatField, t0.intField, t0.longField,"
+                            + " t0.shortField, t0.stringField FROM "
+                            + "AllFieldTypes t0 WHERE t0.id = \\? "
+                            + " FOR UPDATE OF optimize for 1 row");
+                    }
+                    // it is DB2 v82 or later
+                    else if ((((DB2Dictionary)dict).getDb2ServerType() == 3)
+                        || (((DB2Dictionary)dict).getDb2ServerType() == 4)) {
+                        assertEquals(1, sql.size());
+                        assertSQL("SELECT t0.booleanField, t0.byteField, "
+                            + "t0.charField, t0.dateField, t0.doubleField,"
+                            + " t0.floatField, t0.intField, t0.longField,"
+                            + " t0.shortField, t0.stringField FROM "
+                            + "AllFieldTypes t0 WHERE t0.id = \\? "
+                            + " FOR READ ONLY WITH RR USE AND KEEP UPDATE LOCKS" 
+                            + " optimize for 1 row");
+                    }
+                    else if (((DB2Dictionary)dict).getDb2ServerType() == 5) {
+                        assertEquals(1, sql.size());
+                        assertSQL("SELECT t0.booleanField, t0.byteField, "
+                            + "t0.charField, t0.dateField, t0.doubleField,"
+                            + " t0.floatField, t0.intField, t0.longField,"
+                            + " t0.shortField, t0.stringField FROM "
+                            + "AllFieldTypes t0 WHERE t0.id = \\? "
+                            + " FOR READ ONLY WITH RR USE AND KEEP EXCLUSIVE" 
+                            + " LOCKS optimize for 1 row");
+                    }    
+                    else {
+                        fail("OpenJPA currently only supports per-query" 
+                            +" isolation level configuration on the following" 
+                            +" databases: DB2");
+                    }
                 }    
-                else if (dict instanceof DB2Dictionary) {
-                    fail("OpenJPA currently only supports per-query isolation " 
-                    + "level configuration on the following databases: DB2");
-                }
             }
         } catch (InvalidStateException pe) {
             // if we're not using DB2, we expect an InvalidStateException.

Modified: incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestSelectForUpdateOverride.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestSelectForUpdateOverride.java?view=diff&rev=530860&r1=530859&r2=530860
==============================================================================
--- incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestSelectForUpdateOverride.java (original)
+++ incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestSelectForUpdateOverride.java Fri Apr 20 10:24:32 2007
@@ -57,47 +57,46 @@
             OpenJPAPersistence.cast(em).getFetchPlan()
                 .setReadLockMode(LockModeType.WRITE);
             em.find(AllFieldTypes.class, 0);
-
             assertEquals(1, sql.size());
-            if (dict instanceof DB2Dictionary &&((((DB2Dictionary)dict).
-                getDb2ServerType() == 1) || ((DB2Dictionary)dict)
-                    .getDb2ServerType()== 2)) {
-                assertEquals(1, sql.size());
-                assertSQL("SELECT t0.booleanField, t0.byteField, "
-                    + "t0.charField, t0.dateField, t0.doubleField,"
-                    + " t0.floatField, t0.intField, t0.longField,"
-                    + " t0.shortField, t0.stringField FROM "
-                    + "AllFieldTypes t0 WHERE t0.id = \\? "
-                    + " FOR UPDATE OF optimize for 1 row");
-            }
-            // it is DB2 v82 or later
-            else if (dict instanceof DB2Dictionary &&((((DB2Dictionary)dict).
-                getDb2ServerType() == 3) || ((DB2Dictionary)dict)
-                    .getDb2ServerType() == 4)) {
-                assertEquals(1, sql.size());
-                assertSQL("SELECT t0.booleanField, t0.byteField, "
-                    + "t0.charField, t0.dateField, t0.doubleField,"
-                    + " t0.floatField, t0.intField, t0.longField,"
-                    + " t0.shortField, t0.stringField FROM "
-                    + "AllFieldTypes t0 WHERE t0.id = \\? "
-                    + " FOR READ ONLY WITH RS USE AND KEEP UPDATE LOCKS" 
-                    + " optimize for 1 row");
-            }
-            else if (dict instanceof DB2Dictionary && ((DB2Dictionary)dict).
-                getDb2ServerType() == 5) {
-                assertEquals(1, sql.size());
-                assertSQL("SELECT t0.booleanField, t0.byteField, "
-                    + "t0.charField, t0.dateField, t0.doubleField,"
-                    + " t0.floatField, t0.intField, t0.longField,"
-                    + " t0.shortField, t0.stringField FROM "
-                    + "AllFieldTypes t0 WHERE t0.id = \\? "
-                    + " FOR READ ONLY WITH RS USE AND KEEP EXCLUSIVE LOCKS"
-                    + " optimize for 1 row");
+            if (dict instanceof DB2Dictionary) {
+                if ((((DB2Dictionary)dict).getDb2ServerType() == 1)
+                    || (((DB2Dictionary)dict).getDb2ServerType()== 2)) {
+                    assertEquals(1, sql.size());
+                    assertSQL("SELECT t0.booleanField, t0.byteField, "
+                        + "t0.charField, t0.dateField, t0.doubleField,"
+                        + " t0.floatField, t0.intField, t0.longField,"
+                        + " t0.shortField, t0.stringField FROM "
+                        + "AllFieldTypes t0 WHERE t0.id = \\? "
+                        + " FOR UPDATE OF optimize for 1 row");
+                }
+                // it is DB2 v82 or later
+                else if ((((DB2Dictionary)dict).getDb2ServerType() == 3)
+                    || (((DB2Dictionary)dict).getDb2ServerType() == 4)) {
+                    assertEquals(1, sql.size());
+                    assertSQL("SELECT t0.booleanField, t0.byteField, "
+                        + "t0.charField, t0.dateField, t0.doubleField,"
+                        + " t0.floatField, t0.intField, t0.longField,"
+                        + " t0.shortField, t0.stringField FROM "
+                        + "AllFieldTypes t0 WHERE t0.id = \\? "
+                        + " FOR READ ONLY WITH RS USE AND KEEP UPDATE LOCKS" 
+                        + " optimize for 1 row");
+                }
+                else if (((DB2Dictionary)dict).getDb2ServerType() == 5) {
+                    assertEquals(1, sql.size());
+                    assertSQL("SELECT t0.booleanField, t0.byteField, "
+                        + "t0.charField, t0.dateField, t0.doubleField,"
+                        + " t0.floatField, t0.intField, t0.longField,"
+                        + " t0.shortField, t0.stringField FROM "
+                        + "AllFieldTypes t0 WHERE t0.id = \\? "
+                        + " FOR READ ONLY WITH RS USE AND KEEP EXCLUSIVE LOCKS"
+                        + " optimize for 1 row");
+                }    
+                else {
+                    fail("OpenJPA currently only supports per-query isolation " 
+                        + "level configuration on the following databases: "
+                        + "DB2");
+                }
             }    
-            else if (dict instanceof DB2Dictionary) {
-                fail("OpenJPA currently only supports per-query isolation " +
-                "level configuration on the following databases: DB2");
-            }
         } finally {
             em.getTransaction().rollback();
             em.close();