From b1d9fceddf6a43d3d4c06d11bfb669fc1f14a3b4 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 13 Aug 2019 16:06:47 +0200 Subject: [PATCH] [jOOQ/jOOQ#9030] Add AlterSequenceStep.restartWith(Field) overload --- .../java/org/jooq/AlterSequenceRestartStep.java | 6 ++++++ jOOQ/src/main/java/org/jooq/AlterSequenceStep.java | 7 +++++++ .../main/java/org/jooq/impl/AlterSequenceImpl.java | 14 ++++++++++---- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/AlterSequenceRestartStep.java b/jOOQ/src/main/java/org/jooq/AlterSequenceRestartStep.java index 275e45e957..f445749e3d 100644 --- a/jOOQ/src/main/java/org/jooq/AlterSequenceRestartStep.java +++ b/jOOQ/src/main/java/org/jooq/AlterSequenceRestartStep.java @@ -86,4 +86,10 @@ public interface AlterSequenceRestartStep { */ @Support({ CUBRID, FIREBIRD, H2, HSQLDB, POSTGRES }) AlterSequenceFinalStep restartWith(T value); + + /** + * Restart the sequence at a given value. + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, POSTGRES }) + AlterSequenceFinalStep restartWith(Field value); } diff --git a/jOOQ/src/main/java/org/jooq/AlterSequenceStep.java b/jOOQ/src/main/java/org/jooq/AlterSequenceStep.java index 19b7f2ed6f..d32e6cd8a2 100644 --- a/jOOQ/src/main/java/org/jooq/AlterSequenceStep.java +++ b/jOOQ/src/main/java/org/jooq/AlterSequenceStep.java @@ -91,6 +91,13 @@ public interface AlterSequenceStep extends AlterSequenceRestar @Support({ CUBRID, FIREBIRD, H2, HSQLDB, POSTGRES }) AlterSequenceFinalStep restartWith(T value); + /** + * Restart the sequence at a given value. + */ + @Override + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, POSTGRES }) + AlterSequenceFinalStep restartWith(Field value); + /** * Add a RENAME TO clause to the ALTER SEQUENCE * statement. diff --git a/jOOQ/src/main/java/org/jooq/impl/AlterSequenceImpl.java b/jOOQ/src/main/java/org/jooq/impl/AlterSequenceImpl.java index 70954cfe37..8721ad6547 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AlterSequenceImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/AlterSequenceImpl.java @@ -73,6 +73,7 @@ import org.jooq.AlterSequenceStep; import org.jooq.Clause; import org.jooq.Configuration; import org.jooq.Context; +import org.jooq.Field; import org.jooq.Name; // ... import org.jooq.SQLDialect; @@ -100,7 +101,7 @@ final class AlterSequenceImpl extends AbstractRowCountQuery im private final Sequence sequence; private final boolean ifExists; - private T restartWith; + private Field restartWith; private Sequence renameTo; AlterSequenceImpl(Configuration configuration, Sequence sequence) { @@ -125,6 +126,11 @@ final class AlterSequenceImpl extends AbstractRowCountQuery im @Override public final AlterSequenceFinalStep restartWith(T value) { + return restartWith(Tools.field(value, sequence.getDataType())); + } + + @Override + public final AlterSequenceFinalStep restartWith(Field value) { restartWith = value; return this; } @@ -249,7 +255,7 @@ final class AlterSequenceImpl extends AbstractRowCountQuery im else { ctx.start(ALTER_SEQUENCE_RESTART); - T with = restartWith; + Field with = restartWith; if (with == null) { @@ -262,10 +268,10 @@ final class AlterSequenceImpl extends AbstractRowCountQuery im else { if (ctx.family() == CUBRID) ctx.sql(' ').visit(K_START_WITH) - .sql(' ').sql(with.toString()); + .sql(' ').visit(with); else ctx.sql(' ').visit(K_RESTART_WITH) - .sql(' ').sql(with.toString()); + .sql(' ').visit(with); } ctx.end(ALTER_SEQUENCE_RESTART);