[jOOQ/jOOQ#8723] Fixed this issue for MariaDB / MySQL

This commit is contained in:
Lukas Eder 2019-05-31 14:37:12 +02:00
parent 72964e352c
commit f33b1f1512

View File

@ -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<SQLDialect> REQUIRE_TABLE_QUALIFICATION = EnumSet.noneOf(SQLDialect.class);
private static final EnumSet<SQLDialect> REQUIRE_TABLE_QUALIFICATION = EnumSet.noneOf(SQLDialect.class);
private static final EnumSet<SQLDialect> 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());