[jOOQ/jOOQ#9246] ALTER TABLE .. ADD UNIQUE INDEX syntax cannot be parsed

This commit is contained in:
Lukas Eder 2020-06-24 17:26:41 +02:00
parent 683d043322
commit 605dc4c94e

View File

@ -4222,6 +4222,13 @@ final class ParserImpl implements Parser {
private static final Constraint parseUniqueSpecification(ParserContext ctx, ConstraintTypeStep constraint) {
parseUsingBtreeOrHashIf(ctx);
// [#9246] In MySQL, there's a syntax where the unique constraint looks like an index:
// ALTER TABLE t ADD UNIQUE INDEX i (c)
Name constraintName;
if (constraint == null && (constraintName = parseIdentifierIf(ctx)) != null)
constraint = constraint(constraintName);
Field<?>[] fieldNames = parseKeyColumnList(ctx);
ConstraintEnforcementStep e = constraint == null