[jOOQ/jOOQ#9437] No generics for AlterSequenceFlagsStep

Using generics here causes problems given the current signatures on
`DSLContext`, where the return type explicitly uses `BigInteger` as the
generic type parameter.
This commit is contained in:
Knut Wannheden 2019-11-20 12:23:34 +01:00
parent ed08b6a39c
commit cbcd506bdf
3 changed files with 44 additions and 43 deletions

View File

@ -80,128 +80,128 @@ import static org.jooq.SQLDialect.POSTGRES;
*
* @author Knut Wannheden
*/
public interface AlterSequenceFlagsStep<T extends Number> extends AlterSequenceFinalStep {
public interface AlterSequenceFlagsStep extends AlterSequenceFinalStep {
/**
* Restart the sequence at its initial value.
*/
@Support({ HSQLDB, MARIADB, POSTGRES })
AlterSequenceStep<T> restart();
AlterSequenceFlagsStep restart();
/**
* Restart the sequence at a given value.
*/
@Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceStep<T> restartWith(T value);
AlterSequenceFlagsStep restartWith(Number value);
/**
* Restart the sequence at a given value.
*/
@Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceStep<T> restartWith(Field<? extends T> value);
AlterSequenceFlagsStep restartWith(Field<? extends Number> value);
/**
* Add a <code>START WITH</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> startWith(T value);
AlterSequenceFlagsStep startWith(Number value);
/**
* Add a <code>START WITH</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> startWith(Field<? extends T> value);
AlterSequenceFlagsStep startWith(Field<? extends Number> value);
/**
* Add a <code>INCREMENT BY</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> incrementBy(T value);
AlterSequenceFlagsStep incrementBy(Number value);
/**
* Add a <code>INCREMENT BY</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> incrementBy(Field<? extends T> value);
AlterSequenceFlagsStep incrementBy(Field<? extends Number> value);
/**
* Add a <code>MINVALUE</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> minvalue(T value);
AlterSequenceFlagsStep minvalue(Number value);
/**
* Add a <code>MINVALUE</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> minvalue(Field<? extends T> value);
AlterSequenceFlagsStep minvalue(Field<? extends Number> value);
/**
* Add a <code>NO MINVALUE</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> noMinvalue();
AlterSequenceFlagsStep noMinvalue();
/**
* Add a <code>MINVALUE</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> maxvalue(T value);
AlterSequenceFlagsStep maxvalue(Number value);
/**
* Add a <code>MINVALUE</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> maxvalue(Field<? extends T> value);
AlterSequenceFlagsStep maxvalue(Field<? extends Number> value);
/**
* Add a <code>NO MINVALUE</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> noMaxvalue();
AlterSequenceFlagsStep noMaxvalue();
/**
* Add a <code>CYCLE</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> cycle();
AlterSequenceFlagsStep cycle();
/**
* Add a <code>NO CYCLE</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> noCycle();
AlterSequenceFlagsStep noCycle();
/**
* Add a <code>CACHE</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, H2, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> cache(T value);
AlterSequenceFlagsStep cache(Number value);
/**
* Add a <code>CACHE</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, H2, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> cache(Field<? extends T> value);
AlterSequenceFlagsStep cache(Field<? extends Number> value);
/**
* Add a <code>NO CACHE</code> clause to the <code>ALTER SEQUENCE</code>
* statement.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, POSTGRES })
AlterSequenceFlagsStep<T> noCache();
AlterSequenceFlagsStep noCache();
}

View File

@ -67,7 +67,7 @@ import static org.jooq.SQLDialect.POSTGRES;
*
* @author Lukas Eder
*/
public interface AlterSequenceStep<T extends Number> extends AlterSequenceFlagsStep<T> {
public interface AlterSequenceStep<T extends Number> extends AlterSequenceFlagsStep {
/**
* Add a <code>RENAME TO</code> clause to the <code>ALTER SEQUENCE</code>

View File

@ -78,6 +78,7 @@ import static org.jooq.impl.Tools.endTryCatch;
import java.util.Set;
import org.jooq.AlterSequenceFinalStep;
import org.jooq.AlterSequenceFlagsStep;
import org.jooq.AlterSequenceStep;
import org.jooq.Clause;
import org.jooq.Configuration;
@ -114,14 +115,14 @@ final class AlterSequenceImpl<T extends Number> extends AbstractRowCountQuery im
private Sequence<?> renameTo;
private boolean restart;
private Field<?> restartWith;
private Field<? extends T> startWith;
private Field<? extends T> incrementBy;
private Field<? extends T> minvalue;
private Field<? extends Number> startWith;
private Field<? extends Number> incrementBy;
private Field<? extends Number> minvalue;
private boolean noMinvalue;
private Field<? extends T> maxvalue;
private Field<? extends Number> maxvalue;
private boolean noMaxvalue;
private Boolean cycle;
private Field<? extends T> cache;
private Field<? extends Number> cache;
private boolean noCache;
AlterSequenceImpl(Configuration configuration, Sequence<T> sequence) {
@ -144,19 +145,19 @@ final class AlterSequenceImpl<T extends Number> extends AbstractRowCountQuery im
// ------------------------------------------------------------------------
@Override
public final AlterSequenceStep<T> restart() {
public final AlterSequenceFlagsStep restart() {
restart = true;
restartWith = null;
return this;
}
@Override
public final AlterSequenceStep<T> restartWith(T value) {
public final AlterSequenceFlagsStep restartWith(Number value) {
return restartWith(Tools.field(value, sequence.getDataType()));
}
@Override
public final AlterSequenceStep<T> restartWith(Field<? extends T> value) {
public final AlterSequenceFlagsStep restartWith(Field<? extends Number> value) {
restart = false;
restartWith = value;
return this;
@ -179,91 +180,91 @@ final class AlterSequenceImpl<T extends Number> extends AbstractRowCountQuery im
}
@Override
public AlterSequenceStep<T> startWith(T value) {
public AlterSequenceFlagsStep startWith(Number value) {
return startWith(Tools.field(value, sequence.getDataType()));
}
@Override
public AlterSequenceStep<T> startWith(Field<? extends T> value) {
public AlterSequenceFlagsStep startWith(Field<? extends Number> value) {
startWith = value;
return this;
}
@Override
public AlterSequenceStep<T> incrementBy(T value) {
public AlterSequenceFlagsStep incrementBy(Number value) {
return incrementBy(Tools.field(value, sequence.getDataType()));
}
@Override
public AlterSequenceStep<T> incrementBy(Field<? extends T> value) {
public AlterSequenceFlagsStep incrementBy(Field<? extends Number> value) {
incrementBy = value;
return this;
}
@Override
public AlterSequenceStep<T> minvalue(T value) {
public AlterSequenceFlagsStep minvalue(Number value) {
return minvalue(Tools.field(value, sequence.getDataType()));
}
@Override
public AlterSequenceStep<T> minvalue(Field<? extends T> value) {
public AlterSequenceFlagsStep minvalue(Field<? extends Number> value) {
minvalue = value;
noMinvalue = false;
return this;
}
@Override
public AlterSequenceStep<T> noMinvalue() {
public AlterSequenceFlagsStep noMinvalue() {
minvalue = null;
noMinvalue = true;
return this;
}
@Override
public AlterSequenceStep<T> maxvalue(T value) {
public AlterSequenceFlagsStep maxvalue(Number value) {
return maxvalue(Tools.field(value, sequence.getDataType()));
}
@Override
public AlterSequenceStep<T> maxvalue(Field<? extends T> value) {
public AlterSequenceFlagsStep maxvalue(Field<? extends Number> value) {
maxvalue = value;
noMaxvalue = false;
return this;
}
@Override
public AlterSequenceStep<T> noMaxvalue() {
public AlterSequenceFlagsStep noMaxvalue() {
maxvalue = null;
noMaxvalue = true;
return this;
}
@Override
public AlterSequenceStep<T> cycle() {
public AlterSequenceFlagsStep cycle() {
cycle = true;
return this;
}
@Override
public AlterSequenceStep<T> noCycle() {
public AlterSequenceFlagsStep noCycle() {
cycle = false;
return this;
}
@Override
public AlterSequenceStep<T> cache(T value) {
public AlterSequenceFlagsStep cache(Number value) {
return cache(Tools.field(value, sequence.getDataType()));
}
@Override
public AlterSequenceStep<T> cache(Field<? extends T> value) {
public AlterSequenceFlagsStep cache(Field<? extends Number> value) {
cache = value;
noCache = false;
return this;
}
@Override
public AlterSequenceStep<T> noCache() {
public AlterSequenceFlagsStep noCache() {
cache = null;
noCache = true;
return this;