Index: openjpa-lib/src/main/java/org/apache/openjpa/lib/jdbc/DelegatingDatabaseMetaData.java =================================================================== --- openjpa-lib/src/main/java/org/apache/openjpa/lib/jdbc/DelegatingDatabaseMetaData.java (revision 452575) +++ openjpa-lib/src/main/java/org/apache/openjpa/lib/jdbc/DelegatingDatabaseMetaData.java (working copy) @@ -740,11 +740,11 @@ } public int getDatabaseMajorVersion() throws SQLException { - throw new UnsupportedOperationException(); + return _metaData.getDatabaseMajorVersion(); } public int getDatabaseMinorVersion() throws SQLException { - throw new UnsupportedOperationException(); + return _metaData.getDatabaseMinorVersion(); } public int getJDBCMajorVersion() throws SQLException { Property changes on: openjpa-all ___________________________________________________________________ Name: svn:ignore + target .classpath .project Index: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java =================================================================== --- openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java (revision 452575) +++ openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java (working copy) @@ -16,6 +16,7 @@ package org.apache.openjpa.jdbc.sql; import java.sql.Connection; +import java.sql.DatabaseMetaData; import java.sql.SQLException; import java.util.Arrays; @@ -141,4 +142,19 @@ return conn; } + + public void connectedConfiguration(Connection conn) throws SQLException { + super.connectedConfiguration(conn); + + DatabaseMetaData metaData = conn.getMetaData(); + int maj = metaData.getDatabaseMajorVersion(); + int min = metaData.getDatabaseMinorVersion(); + + if (maj >= 9 || (maj == 8 && min >= 2)) { + supportsLockingWithMultipleTables = true; + supportsLockingWithInnerJoin = true; + supportsLockingWithOuterJoin = true; + forUpdateClause = "FOR READ ONLY WITH RS USE AND KEEP EXCLUSIVE LOCKS"; + } + } } Index: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java =================================================================== --- openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java (revision 452575) +++ openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java (working copy) @@ -816,7 +816,7 @@ * this option to write the planned schema to an XML document rather * than modify the data store. *