From 020631a25157578dca224bfc26d69dd254dacd95 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Wed, 10 Jan 2018 16:35:20 +0100 Subject: [PATCH] [#6485] [#7022] Support parsing MySQL UNIQUE [ INDEX | KEY ] constraint definition --- jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 761486e9b3..e7e5a93a59 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -1749,6 +1749,9 @@ final class ParserImpl implements Parser { continue; } else if (parseKeywordIf(ctx, "UNIQUE")) { + if (!parseKeywordIf(ctx, "KEY")) + parseKeywordIf(ctx, "INDEX"); + constraints.add(unique(fieldName)); unique = true; continue; @@ -1805,8 +1808,12 @@ final class ParserImpl implements Parser { primary = true; constraints.add(parsePrimaryKeySpecification(ctx, constraint)); } - else if (parseKeywordIf(ctx, "UNIQUE")) + else if (parseKeywordIf(ctx, "UNIQUE")) { + if (!parseKeywordIf(ctx, "KEY")) + parseKeywordIf(ctx, "INDEX"); + constraints.add(parseUniqueSpecification(ctx, constraint)); + } else if (parseKeywordIf(ctx, "FOREIGN KEY")) constraints.add(parseForeignKeySpecification(ctx, constraint)); else if (parseKeywordIf(ctx, "CHECK")) @@ -2086,8 +2093,12 @@ final class ParserImpl implements Parser { if (parseKeywordIf(ctx, "PRIMARY KEY")) return s1.add(parsePrimaryKeySpecification(ctx, constraint)); - else if (parseKeywordIf(ctx, "UNIQUE")) + else if (parseKeywordIf(ctx, "UNIQUE")) { + if (!parseKeywordIf(ctx, "KEY")) + parseKeywordIf(ctx, "INDEX"); + return s1.add(parseUniqueSpecification(ctx, constraint)); + } else if (parseKeywordIf(ctx, "FOREIGN KEY")) return s1.add(parseForeignKeySpecification(ctx, constraint)); else if (parseKeywordIf(ctx, "CHECK"))