From 83ee1dc699864e9cfba7b55cce0db247069bdf19 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 16 Feb 2012 22:23:15 +0000 Subject: [PATCH] [#1153] Bad inlining of booleans in Sybase ASE / DB2 / Oracle / SQL Server / SQLite --- .../jooq/test/_/testcases/DataTypeTests.java | 2 +- .../test/_/testcases/RenderAndBindTests.java | 69 +++++++++++++++++++ .../src/org/jooq/test/jOOQAbstractTest.java | 5 ++ jOOQ/src/main/java/org/jooq/impl/Val.java | 14 +++- 4 files changed, 88 insertions(+), 2 deletions(-) diff --git a/jOOQ-test/src/org/jooq/test/_/testcases/DataTypeTests.java b/jOOQ-test/src/org/jooq/test/_/testcases/DataTypeTests.java index 93c1dcee40..b70f4b3ed3 100644 --- a/jOOQ-test/src/org/jooq/test/_/testcases/DataTypeTests.java +++ b/jOOQ-test/src/org/jooq/test/_/testcases/DataTypeTests.java @@ -1091,4 +1091,4 @@ extends BaseTest extends AbstractField implements Param, BindingProvider { context.sql("null"); } else if (type == Boolean.class) { - context.sql(val.toString()); + + // [#1153] Some dialects don't support boolean literals + // TRUE and FALSE + if (asList(ASE, DB2, ORACLE, SQLSERVER, SQLITE, SYBASE).contains(context.getDialect())) { + context.sql(((Boolean) val) ? "1" : "0"); + } + else { + context.sql(val.toString()); + } } else if (type == byte[].class) { context.sql("'")