You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mt...@apache.org on 2010/04/21 21:48:53 UTC

svn commit: r936469 - /openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java

Author: mtylenda
Date: Wed Apr 21 19:48:53 2010
New Revision: 936469

URL: http://svn.apache.org/viewvc?rev=936469&view=rev
Log:
OPENJPA-1289: Fix handling of XML column on DB2, similarly to the fix for Oracle.

Modified:
    openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java

Modified: openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java?rev=936469&r1=936468&r2=936469&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java (original)
+++ openjpa/branches/1.3.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java Wed Apr 21 19:48:53 2010
@@ -31,6 +31,7 @@ import org.apache.openjpa.jdbc.kernel.ex
 import org.apache.openjpa.jdbc.kernel.exps.Lit;
 import org.apache.openjpa.jdbc.kernel.exps.Param;
 import org.apache.openjpa.jdbc.kernel.exps.Val;
+import org.apache.openjpa.jdbc.meta.JavaSQLTypes;
 import org.apache.openjpa.jdbc.schema.Column;
 import org.apache.openjpa.jdbc.schema.Index;
 import org.apache.openjpa.jdbc.schema.Schema;
@@ -103,7 +104,7 @@ public class DB2Dictionary
         storeCharsAsNumbers = false;
 
         fixedSizeTypeNameSet.addAll(Arrays.asList(new String[]{
-            "LONG VARCHAR FOR BIT DATA", "LONG VARCHAR", "LONG VARGRAPHIC",
+            "LONG VARCHAR FOR BIT DATA", "LONG VARCHAR", "LONG VARGRAPHIC", "XML",
         }));
         systemSchemas = new String(
                 "SYSCAT,SYSIBM,SYSSTAT,SYSIBMADM,SYSTOOLS");
@@ -206,6 +207,16 @@ public class DB2Dictionary
         }
     }
 
+    /**
+     * Return the preferred {@link Types} constant for the given
+     * {@link JavaTypes} or {@link JavaSQLTypes} constant.
+     */
+    @Override
+    public int getJDBCType(int metaTypeCode, boolean lob, int precis, 
+        int scale, boolean xml) {        
+        return getJDBCType(metaTypeCode, lob && !xml, precis, scale);        
+    }
+
     public String[] getCreateSequenceSQL(Sequence seq) {
         String[] sql = super.getCreateSequenceSQL(seq);
         if (seq.getAllocate() > 1)