diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java
index 0fc603200a..4207db44af 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DSL.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java
@@ -14264,28 +14264,6 @@ public class DSL {
return condition(Tools.field(value));
}
- /**
- * Create a condition from a boolean field.
- *
- * Databases that support boolean data types can use boolean expressions
- * as predicates or as columns interchangeably. This extends to any type
- * of field, including functions. A Postgres example:
- *
- *
- * select 1 where texteq('a', 'a');
- *
- *
- * @param field The boolean expression.
- * @return A condition wrapping the boolean expression
- */
- @NotNull
- @Support
- public static Condition condition(Field field) {
- return field instanceof ConditionAsField
- ? ((ConditionAsField) field).condition
- : new FieldCondition(field);
- }
-
/**
* Create a condition from a map.
*
@@ -19790,7 +19768,7 @@ public class DSL {
/**
* The FIELD function.
*
- * Transform a condition into a boolean field.
+ * Wrap a condition in a boolean field.
*/
@NotNull
@Support
@@ -19798,6 +19776,25 @@ public class DSL {
return condition instanceof FieldCondition ? ((FieldCondition) condition).field : new ConditionAsField(condition);
}
+ /**
+ * The CONDITION function.
+ *
+ * Create a condition from a boolean field.
+ *
+ * Databases that support boolean data types can use boolean expressions
+ * as predicates or as columns interchangeably. This extends to any type
+ * of field, including functions. A Postgres example:
+ *
+ *
+ * select 1 where texteq('a', 'a');
+ *
+ */
+ @NotNull
+ @Support
+ public static Condition condition(Field field) {
+ return field instanceof ConditionAsField ? ((ConditionAsField) field).condition : new FieldCondition(field);
+ }
+
// -------------------------------------------------------------------------
// Aggregate functions
// -------------------------------------------------------------------------
diff --git a/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java b/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java
index fd0fd6b3ce..59bd9217fb 100644
--- a/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java
+++ b/jOOQ/src/main/java/org/jooq/impl/FieldCondition.java
@@ -37,24 +37,52 @@
*/
package org.jooq.impl;
-import static org.jooq.impl.DSL.inline;
+import static org.jooq.impl.DSL.*;
+import static org.jooq.impl.Internal.*;
+import static org.jooq.impl.Keywords.*;
+import static org.jooq.impl.Names.*;
+import static org.jooq.impl.SQLDataType.*;
+import static org.jooq.impl.Tools.*;
+import static org.jooq.impl.Tools.BooleanDataKey.*;
+import static org.jooq.impl.Tools.DataExtendedKey.*;
+import static org.jooq.impl.Tools.DataKey.*;
+import static org.jooq.SQLDialect.*;
+
+import org.jooq.*;
+import org.jooq.Record;
+import org.jooq.conf.*;
+import org.jooq.impl.*;
+import org.jooq.tools.*;
+
+import java.util.*;
+import java.util.function.*;
+import java.util.stream.*;
-import org.jooq.Clause;
-import org.jooq.Context;
-import org.jooq.Field;
/**
- * @author Lukas Eder
+ * The CONDITION statement.
*/
-final class FieldCondition extends AbstractCondition {
- final Field field;
+@SuppressWarnings({ "rawtypes", "unchecked", "unused" })
+final class FieldCondition
+extends
+ AbstractCondition
+{
- FieldCondition(Field field) {
- this.field = field;
+ final Field field;
+
+ FieldCondition(
+ Field field
+ ) {
+
+ this.field = nullSafeNotNull(field, BOOLEAN);
}
+ // -------------------------------------------------------------------------
+ // XXX: QueryPart API
+ // -------------------------------------------------------------------------
+
@Override
- public void accept(Context> ctx) {
+ public final void accept(Context> ctx) {
switch (ctx.family()) {
@@ -62,7 +90,6 @@ final class FieldCondition extends AbstractCondition {
- // [#2485] Some of these don't work nicely, yet
@@ -83,9 +110,29 @@ final class FieldCondition extends AbstractCondition {
}
}
- @Override // Avoid AbstractCondition implementation
- public final Clause[] clauses(Context> ctx) {
- return null;
- }
+
+
+
+
+
+
+
+
+
+
+ // -------------------------------------------------------------------------
+ // The Object API
+ // -------------------------------------------------------------------------
+
+ @Override
+ public boolean equals(Object that) {
+ if (that instanceof FieldCondition) {
+ return
+ StringUtils.equals(field, ((FieldCondition) that).field)
+ ;
+ }
+ else
+ return super.equals(that);
+ }
}