You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2014/12/23 13:00:18 UTC

cayenne git commit: fix derby build

Repository: cayenne
Updated Branches:
  refs/heads/master 21ff693b9 -> ab23e9cee


fix derby build


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/ab23e9ce
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/ab23e9ce
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/ab23e9ce

Branch: refs/heads/master
Commit: ab23e9ceeae8eadcfa55d94e50cecee5b552cbce
Parents: 21ff693
Author: alexkolonitsky <Al...@gmail.com>
Authored: Tue Dec 23 14:57:01 2014 +0300
Committer: alexkolonitsky <Al...@gmail.com>
Committed: Tue Dec 23 14:57:01 2014 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/dba/derby/DerbyAdapter.java | 17 ++++++++++++++---
 .../org/apache/cayenne/dba/derby/types.xml         | 12 ++++++++++++
 2 files changed, 26 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/ab23e9ce/cayenne-server/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java
index f24a872..67e952f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java
@@ -39,7 +39,6 @@ import org.apache.cayenne.configuration.Constants;
 import org.apache.cayenne.configuration.RuntimeProperties;
 import org.apache.cayenne.dba.JdbcAdapter;
 import org.apache.cayenne.dba.PkGenerator;
-import org.apache.cayenne.dba.TypesMapping;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
@@ -155,6 +154,7 @@ public class DerbyAdapter extends JdbcAdapter {
         switch (type) {
             case Types.BLOB:
             case Types.CLOB:
+            case Types.NCLOB:
                 return true;
             default:
                 return super.typeSupportsLength(type);
@@ -198,9 +198,20 @@ public class DerbyAdapter extends JdbcAdapter {
 
         if (object == null && sqlType == 0) {
             statement.setNull(pos, Types.VARCHAR);
+        } else {
+            super.bindParameter(statement, object, pos, convertNTypes(sqlType), precision);
         }
-        else {
-            super.bindParameter(statement, object, pos, sqlType, precision);
+    }
+
+    private int convertNTypes(int sqlType) {
+        switch (sqlType) {
+            case Types.NCHAR: return Types.CHAR;
+            case Types.NVARCHAR: return Types.VARCHAR;
+            case Types.LONGNVARCHAR: return Types.LONGVARCHAR;
+            case Types.NCLOB: return Types.CLOB;
+
+            default:
+                return sqlType;
         }
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ab23e9ce/cayenne-server/src/main/resources/org/apache/cayenne/dba/derby/types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/resources/org/apache/cayenne/dba/derby/types.xml b/cayenne-server/src/main/resources/org/apache/cayenne/dba/derby/types.xml
index 672631a..cf70932 100644
--- a/cayenne-server/src/main/resources/org/apache/cayenne/dba/derby/types.xml
+++ b/cayenne-server/src/main/resources/org/apache/cayenne/dba/derby/types.xml
@@ -48,9 +48,15 @@ http://publib.boulder.ibm.com/infocenter/cldscp10/index.jsp?topic=/com.ibm.cloud
    <jdbc-type name="CHAR">
        <db-type name="CHAR"/>
    </jdbc-type>
+   <jdbc-type name="NCHAR">
+       <db-type name="CHAR"/>
+   </jdbc-type>
    <jdbc-type name="CLOB">
        <db-type name="CLOB"/>
    </jdbc-type>
+   <jdbc-type name="NCLOB">
+       <db-type name="CLOB"/>
+   </jdbc-type>
    <jdbc-type name="DATALINK">
        <db-type name="DATALINK"/>
    </jdbc-type>
@@ -78,6 +84,9 @@ http://publib.boulder.ibm.com/infocenter/cldscp10/index.jsp?topic=/com.ibm.cloud
    <jdbc-type name="LONGVARCHAR">
        <db-type name="LONG VARCHAR"/>
    </jdbc-type>
+   <jdbc-type name="LONGNVARCHAR">
+       <db-type name="LONG VARCHAR"/>
+   </jdbc-type>
    <jdbc-type name="NUMERIC">
        <db-type name="DECIMAL"/>
    </jdbc-type>
@@ -111,4 +120,7 @@ http://publib.boulder.ibm.com/infocenter/cldscp10/index.jsp?topic=/com.ibm.cloud
    <jdbc-type name="VARCHAR">
        <db-type name="VARCHAR"/>
    </jdbc-type>
+   <jdbc-type name="NVARCHAR">
+       <db-type name="VARCHAR"/>
+   </jdbc-type>
 </types>