[jOOQ/jOOQ#12425] Move UNIQUE predicate to API generator
This commit is contained in:
parent
6b42ede21e
commit
404eec8004
@ -14547,28 +14547,6 @@ public class DSL {
|
||||
return not(exists(query));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a unique condition.
|
||||
* <p>
|
||||
* <code>UNIQUE ([query])</code>
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
public static Condition unique(Select<?> query) {
|
||||
return new UniqueCondition(query);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a not unique condition.
|
||||
* <p>
|
||||
* <code>NOT UNIQUE ([query])</code>
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
public static Condition notUnique(Select<?> query) {
|
||||
return not(unique(query));
|
||||
}
|
||||
|
||||
/**
|
||||
* Invert a boolean value.
|
||||
* <p>
|
||||
@ -15687,6 +15665,24 @@ public class DSL {
|
||||
return new Not(arg1);
|
||||
}
|
||||
|
||||
/**
|
||||
* The <code>UNIQUE</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
public static Condition unique(Select<?> query) {
|
||||
return new Unique(query);
|
||||
}
|
||||
|
||||
/**
|
||||
* The <code>NOT UNIQUE</code> function.
|
||||
*/
|
||||
@NotNull
|
||||
@Support
|
||||
public static Condition notUnique(Select<?> query) {
|
||||
return not(unique(query));
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Numeric functions
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@ -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 <code>UNIQUE</code> 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);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user