diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 7179b05bae..376a60ecb9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -14547,28 +14547,6 @@ public class DSL { return not(exists(query)); } - /** - * Create a unique condition. - *
- * UNIQUE ([query])
- */
- @NotNull
- @Support
- public static Condition unique(Select> query) {
- return new UniqueCondition(query);
- }
-
- /**
- * Create a not unique condition.
- *
- * NOT UNIQUE ([query])
- */
- @NotNull
- @Support
- public static Condition notUnique(Select> query) {
- return not(unique(query));
- }
-
/**
* Invert a boolean value.
*
@@ -15687,6 +15665,24 @@ public class DSL {
return new Not(arg1);
}
+ /**
+ * The UNIQUE function.
+ */
+ @NotNull
+ @Support
+ public static Condition unique(Select> query) {
+ return new Unique(query);
+ }
+
+ /**
+ * The NOT UNIQUE function.
+ */
+ @NotNull
+ @Support
+ public static Condition notUnique(Select> query) {
+ return not(unique(query));
+ }
+
// -------------------------------------------------------------------------
// Numeric functions
// -------------------------------------------------------------------------
diff --git a/jOOQ/src/main/java/org/jooq/impl/UniqueCondition.java b/jOOQ/src/main/java/org/jooq/impl/Unique.java
similarity index 58%
rename from jOOQ/src/main/java/org/jooq/impl/UniqueCondition.java
rename to jOOQ/src/main/java/org/jooq/impl/Unique.java
index fd079b607d..fb563daf56 100644
--- a/jOOQ/src/main/java/org/jooq/impl/UniqueCondition.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Unique.java
@@ -35,36 +35,52 @@
*
*
*/
-
package org.jooq.impl;
-import static org.jooq.impl.DSL.count;
-import static org.jooq.impl.DSL.exists;
-import static org.jooq.impl.DSL.notExists;
-import static org.jooq.impl.DSL.one;
-import static org.jooq.impl.DSL.row;
-import static org.jooq.impl.DSL.select;
-import static org.jooq.impl.Keywords.K_NOT;
-import static org.jooq.impl.Keywords.K_UNIQUE;
-import static org.jooq.impl.Tools.visitSubquery;
+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 org.jooq.Condition;
-import org.jooq.Context;
-import org.jooq.Field;
-import org.jooq.Select;
-import org.jooq.Table;
/**
- * @author Knut Wannheden
+ * The UNIQUE statement.
*/
-final class UniqueCondition extends AbstractCondition {
+@SuppressWarnings({ "rawtypes", "unused" })
+final class Unique
+extends
+ AbstractCondition
+{
private final Select> query;
- UniqueCondition(Select> query) {
+ Unique(
+ Select> query
+ ) {
+
this.query = query;
}
+ // -------------------------------------------------------------------------
+ // XXX: QueryPart API
+ // -------------------------------------------------------------------------
+
+
+
@Override
final boolean isNullable() {
return false;
@@ -92,4 +108,21 @@ final class UniqueCondition extends AbstractCondition {
break;
}
}
+
+
+
+ // -------------------------------------------------------------------------
+ // The Object API
+ // -------------------------------------------------------------------------
+
+ @Override
+ public boolean equals(Object that) {
+ if (that instanceof Unique) {
+ return
+ StringUtils.equals(query, ((Unique) that).query)
+ ;
+ }
+ else
+ return super.equals(that);
+ }
}