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)


Reply via email to