From 2919ef8222a2bc394f1f984c6b9ffd3dbbd8f1a0 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Sun, 26 Mar 2017 22:17:29 +0200 Subject: [PATCH] [#5955] Add support for ALTER SEQUENCE --- .../main/java/org/jooq/impl/ParserImpl.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 35acc9ddcf..ae207cc0ba 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -219,6 +219,7 @@ import org.jooq.AlterIndexFinalStep; import org.jooq.AlterIndexStep; import org.jooq.AlterSchemaFinalStep; import org.jooq.AlterSchemaStep; +import org.jooq.AlterSequenceStep; import org.jooq.AlterTableDropStep; import org.jooq.AlterTableFinalStep; import org.jooq.AlterTableStep; @@ -970,6 +971,8 @@ class ParserImpl implements Parser { return parseAlterIndex(ctx); else if (parseKeywordIf(ctx, "SCHEMA")) return parseAlterSchema(ctx); + else if (parseKeywordIf(ctx, "SEQUENCE")) + return parseAlterSequence(ctx); else if (parseKeywordIf(ctx, "VIEW")) return parseAlterView(ctx); else @@ -1079,6 +1082,25 @@ class ParserImpl implements Parser { : ctx.dsl.createSequence(schemaName); } + private static final DDLQuery parseAlterSequence(ParserContext ctx) { + boolean ifExists = parseKeywordIf(ctx, "IF EXISTS"); + Sequence sequenceName = parseSequenceName(ctx); + + AlterSequenceStep s1 = ifExists + ? ctx.dsl.alterSequenceIfExists(sequenceName) + : ctx.dsl.alterSequence(sequenceName); + + if (parseKeywordIf(ctx, "RENAME TO")) + return s1.renameTo(parseSequenceName(ctx)); + else if (parseKeywordIf(ctx, "RESTART")) + if (parseKeywordIf(ctx, "WITH")) + return s1.restartWith(parseUnsignedInteger(ctx)); + else + return s1.restart(); + else + throw ctx.unexpectedToken(); + } + private static final DDLQuery parseDropSequence(ParserContext ctx) { boolean ifExists = parseKeywordIf(ctx, "IF EXISTS"); Sequence sequenceName = parseSequenceName(ctx);