[#5955] Add support for ALTER SEQUENCE

This commit is contained in:
lukaseder 2017-03-26 22:17:29 +02:00
parent 977b6381b3
commit 2919ef8222

View File

@ -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);