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