From f33b1f1512086f08bebcace2b416887dcf2b9953 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 31 May 2019 14:37:12 +0200 Subject: [PATCH] [jOOQ/jOOQ#8723] Fixed this issue for MariaDB / MySQL --- jOOQ/src/main/java/org/jooq/impl/IndexImpl.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/IndexImpl.java b/jOOQ/src/main/java/org/jooq/impl/IndexImpl.java index 2e0572c695..fa047babff 100644 --- a/jOOQ/src/main/java/org/jooq/impl/IndexImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/IndexImpl.java @@ -37,6 +37,10 @@ */ package org.jooq.impl; +// ... +import static org.jooq.SQLDialect.MARIADB; +// ... +import static org.jooq.SQLDialect.MYSQL; import static org.jooq.impl.DSL.name; import static org.jooq.impl.Tools.EMPTY_SORTFIELD; @@ -61,10 +65,11 @@ class IndexImpl extends AbstractNamed implements Index { /** * Generated UID */ - private static final long serialVersionUID = -5253463940194393996L; + private static final long serialVersionUID = -5253463940194393996L; // [#8723] TODO: Specify the dialects that require table qualification once they're known. - private static final EnumSet REQUIRE_TABLE_QUALIFICATION = EnumSet.noneOf(SQLDialect.class); + private static final EnumSet REQUIRE_TABLE_QUALIFICATION = EnumSet.noneOf(SQLDialect.class); + private static final EnumSet NO_SUPPORT_INDEX_QUALIFICATION = EnumSet.of(MARIADB, MYSQL); private final Table table; private final SortField[] fields; @@ -86,7 +91,9 @@ class IndexImpl extends AbstractNamed implements Index { @Override public final void accept(Context ctx) { - if (REQUIRE_TABLE_QUALIFICATION.contains(ctx.family())) + if (NO_SUPPORT_INDEX_QUALIFICATION.contains(ctx.family())) + ctx.visit(getUnqualifiedName()); + else if (REQUIRE_TABLE_QUALIFICATION.contains(ctx.family())) ctx.visit(getQualifiedName()); else if (getTable() == null) ctx.visit(getUnqualifiedName());