diff --git a/jOOQ/src/main/java/org/jooq/impl/ConditionAsField.java b/jOOQ/src/main/java/org/jooq/impl/ConditionAsField.java index 4190e79b8f..703e91f2c5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ConditionAsField.java +++ b/jOOQ/src/main/java/org/jooq/impl/ConditionAsField.java @@ -39,11 +39,9 @@ package org.jooq.impl; import static org.jooq.impl.DSL.inline; import static org.jooq.impl.DSL.not; -import static org.jooq.impl.SQLDataType.BOOLEAN; import org.jooq.Condition; import org.jooq.Context; -import org.jooq.DataType; /** * @author Lukas Eder @@ -57,11 +55,7 @@ final class ConditionAsField extends AbstractField { final Condition condition; ConditionAsField(Condition condition) { - this(condition, BOOLEAN); - } - - ConditionAsField(Condition condition, DataType dataType) { - super(DSL.name(condition.toString()), dataType); + super(DSL.name(condition.toString()), SQLDataType.BOOLEAN); this.condition = condition; } @@ -86,9 +80,9 @@ final class ConditionAsField extends AbstractField { case FIREBIRD: // [#3206] Correct implementation of three-valued logic is important here - ctx.visit(DSL.when(condition, inline(true, getDataType())) - .when(not(condition), inline(false, getDataType())) - .otherwise(inline((Boolean) null, getDataType()))); + ctx.visit(DSL.when(condition, inline(true)) + .when(not(condition), inline(false)) + .otherwise(inline((Boolean) null))); break; // These databases can inline predicates in column expression contexts diff --git a/jOOQ/src/main/java/org/jooq/impl/NotField.java b/jOOQ/src/main/java/org/jooq/impl/NotField.java index ca2e9a98e2..c030afe61d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/NotField.java +++ b/jOOQ/src/main/java/org/jooq/impl/NotField.java @@ -42,6 +42,7 @@ import static org.jooq.Clause.CONDITION_NOT; import static org.jooq.impl.DSL.condition; import static org.jooq.impl.DSL.not; import static org.jooq.impl.Keywords.K_NOT; +import static org.jooq.impl.SQLDataType.BOOLEAN; import org.jooq.Clause; import org.jooq.Context; @@ -55,7 +56,7 @@ final class NotField extends AbstractField { private final Field field; NotField(Field field) { - super(DSL.name("not"), field.getDataType()); + super(DSL.name("not"), BOOLEAN); this.field = field; } @@ -78,7 +79,7 @@ final class NotField extends AbstractField { - ctx.visit(new ConditionAsField(not(condition(field)), field.getDataType())); + ctx.visit(DSL.field(not(condition(field)))); break;