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>