From 8461680d282c41d58855a38faf54a3416d794cdc Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 18 Nov 2019 11:27:19 +0100 Subject: [PATCH] [jOOQ/jOOQ#9557] Add support for ALTER TABLE .. DROP CONSTRAINT IF EXISTS - Added parser support --- jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 6d9edeeabc..1a3557d58a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -3791,7 +3791,9 @@ final class ParserImpl implements Parser { case 'D': if (parseKeywordIf(ctx, "DROP")) { if (parseKeywordIf(ctx, "CONSTRAINT")) { - return parseCascadeRestrictIf(ctx, s1.dropConstraint(parseIdentifier(ctx))); + return parseCascadeRestrictIf(ctx, parseKeywordIf(ctx, "IF EXISTS") + ? s1.dropConstraintIfExists(parseIdentifier(ctx)) + : s1.dropConstraint(parseIdentifier(ctx))); } else if (parseKeywordIf(ctx, "UNIQUE")) { return parseCascadeRestrictIf(ctx, s1.dropUnique(parseIdentifier(ctx))); @@ -3805,8 +3807,7 @@ final class ParserImpl implements Parser { } else if (parseKeywordIf(ctx, "INDEX") || parseKeywordIf(ctx, "KEY")) { - Name index = parseIdentifier(ctx); - return ctx.dsl.dropIndex(index).on(tableName); + return ctx.dsl.dropIndex(parseIdentifier(ctx)).on(tableName); } else { parseKeywordIf(ctx, "COLUMN");