You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by ht...@apache.org on 2014/11/04 00:48:24 UTC
svn commit: r1636474 - in /openjpa/trunk: ./
openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/
openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/literals/
Author: hthomann
Date: Mon Nov 3 23:48:24 2014
New Revision: 1636474
URL: http://svn.apache.org/r1636474
Log:
OPENJPA-2534: A boolean is not converted correct when using the hint 'UseLiteralInSQL' - applied Rick's patch to trunk.
Added:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/literals/
- copied from r1636464, openjpa/branches/2.1.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/literals/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/literals/TestLiteralInSQL.java
- copied unchanged from r1636464, openjpa/branches/2.1.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/literals/TestLiteralInSQL.java
Modified:
openjpa/trunk/ (props changed)
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLBuffer.java
Propchange: openjpa/trunk/
------------------------------------------------------------------------------
Merged /openjpa/branches/2.1.x:r1636464
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLBuffer.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLBuffer.java?rev=1636474&r1=1636473&r2=1636474&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLBuffer.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLBuffer.java Mon Nov 3 23:48:24 2014
@@ -359,12 +359,17 @@ public final class SQLBuffer
} else {
if (type == String.class) {
_sql.append("'" + o.toString().replace("'", "''") + "'");
+
} else if ( type == Character.class ) {
if (_dict.storeCharsAsNumbers) {
_sql.append(Integer.toString(((Character)o).charValue()));
} else {
_sql.append("'" + o.toString().replace("'", "''") + "'");
}
+ } else if (type == Boolean.class) {
+ Boolean b = (Boolean) o;
+ // We store B(b)ooleans as ints. Convert
+ _sql.append((b.booleanValue() ? "1" : "0"));
} else {
_sql.append(o.toString());
}