You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by fa...@apache.org on 2010/01/12 00:43:38 UTC

svn commit: r898118 - /openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java

Author: faywang
Date: Mon Jan 11 23:43:38 2010
New Revision: 898118

URL: http://svn.apache.org/viewvc?rev=898118&view=rev
Log:
OPENJPA-1455: fix the way to get current schema per Milosz's suggestion.

Modified:
    openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java

Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java?rev=898118&r1=898117&r2=898118&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java Mon Jan 11 23:43:38 2010
@@ -26,6 +26,7 @@
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.sql.Types;
 import java.util.Arrays;
 import java.util.EnumSet;
@@ -266,7 +267,17 @@
         super.connectedConfiguration(conn);
 
         DatabaseMetaData metaData = conn.getMetaData();
-        setDefaultSchemaName(metaData.getUserName());
+        String str = "VALUES CURRENT SCHEMA";
+        Statement stmnt = conn.createStatement();
+        ResultSet rs = stmnt.executeQuery(str);
+        if (rs.next()) {
+            String currSchema = rs.getString(1);
+            if (currSchema != null)
+                setDefaultSchemaName(currSchema.trim());
+        }
+        rs.close();
+        stmnt.close();
+
         String driverName = metaData.getDriverName();
         if (driverName != null && driverName.startsWith("IBM DB2"))
             driverVendor = VENDOR_IBM;