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 2009/03/23 20:19:25 UTC

svn commit: r757512 - /openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/InformixDictionary.java

Author: faywang
Date: Mon Mar 23 19:19:24 2009
New Revision: 757512

URL: http://svn.apache.org/viewvc?rev=757512&view=rev
Log:
OPENJPA-973: allow DB2 jcc driver to access Informix

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

Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/InformixDictionary.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/InformixDictionary.java?rev=757512&r1=757511&r2=757512&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/InformixDictionary.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/InformixDictionary.java Mon Mar 23 19:19:24 2009
@@ -73,6 +73,7 @@
      */
     public boolean swapSchemaAndCatalog = true;
 
+    protected boolean useJCC = false;
     // weak set of connections we've already executed lock mode sql on
     private final Collection _seenConnections = new ReferenceHashSet
         (ReferenceHashSet.WEAK);
@@ -155,10 +156,19 @@
         super.connectedConfiguration(conn);
         if (driverVendor == null) {
             DatabaseMetaData meta = conn.getMetaData();
-            if ("Informix".equalsIgnoreCase(meta.getDriverName()))
+            String driverName = meta.getDriverName();
+            if ("Informix".equalsIgnoreCase(driverName))
                 driverVendor = VENDOR_DATADIRECT;
             else
                 driverVendor = VENDOR_OTHER;
+            
+            if (driverName.equals("IBM DB2 JDBC Universal Driver Architecture")) { 
+                useJCC = true;
+                try {
+                    if (meta.storesLowerCaseIdentifiers()) 
+                        schemaCase = SCHEMA_CASE_LOWER;
+                } catch (SQLException e) {}
+            }
         }
         if (isJDBC3) {
             conn.setHoldability(ResultSet.HOLD_CURSORS_OVER_COMMIT);
@@ -301,4 +311,17 @@
            return false;
        return true;
     }
+    
+    public boolean useJCC() {
+        return useJCC;
+    }
+    
+    /**
+     * Return DB specific schemaCase 
+     */
+    public String getSchemaCase(){
+        return schemaCase;
+    }
+        
+    
 }
\ No newline at end of file