Author: hthomann
Date: Mon Nov 3 23:46:41 2014
New Revision: 1636473
URL: http://svn.apache.org/r1636473
Log:
OPENJPA-2534: A boolean is not converted correct when using the hint
'UseLiteralInSQL' - applied Rick's patch to 2.2.x.
Added:
openjpa/branches/2.2.x/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/branches/2.2.x/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/branches/2.2.x/ (props changed)
openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLBuffer.java
Propchange: openjpa/branches/2.2.x/
------------------------------------------------------------------------------
Merged /openjpa/branches/2.1.x:r1636464
Modified:
openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLBuffer.java
URL:
http://svn.apache.org/viewvc/openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLBuffer.java?rev=1636473&r1=1636472&r2=1636473&view=diff
==============================================================================
---
openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLBuffer.java
(original)
+++
openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/SQLBuffer.java
Mon Nov 3 23:46:41 2014
@@ -340,12 +340,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());
}