From c8e851b52f3c06db5bb705242251af19593caba1 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Fri, 21 Apr 2017 13:02:06 +0200 Subject: [PATCH] [#6120] Add support for DB2 RENAME INDEX statement --- jOOQ/src/main/java/org/jooq/AlterIndexStep.java | 1 + jOOQ/src/main/java/org/jooq/impl/AlterIndexImpl.java | 8 ++++++-- jOOQ/src/main/java/org/jooq/impl/Keywords.java | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/AlterIndexStep.java b/jOOQ/src/main/java/org/jooq/AlterIndexStep.java index d0094cb91b..dcaf4cd405 100644 --- a/jOOQ/src/main/java/org/jooq/AlterIndexStep.java +++ b/jOOQ/src/main/java/org/jooq/AlterIndexStep.java @@ -34,6 +34,7 @@ */ package org.jooq; +// ... import static org.jooq.SQLDialect.H2; import static org.jooq.SQLDialect.HSQLDB; // ... diff --git a/jOOQ/src/main/java/org/jooq/impl/AlterIndexImpl.java b/jOOQ/src/main/java/org/jooq/impl/AlterIndexImpl.java index e1b7c291c6..289f68387b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AlterIndexImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/AlterIndexImpl.java @@ -49,7 +49,9 @@ import static org.jooq.SQLDialect.FIREBIRD; import static org.jooq.impl.DSL.name; import static org.jooq.impl.Keywords.K_ALTER_INDEX; import static org.jooq.impl.Keywords.K_IF_EXISTS; +import static org.jooq.impl.Keywords.K_RENAME_INDEX; import static org.jooq.impl.Keywords.K_RENAME_TO; +import static org.jooq.impl.Keywords.K_TO; import org.jooq.AlterIndexFinalStep; import org.jooq.AlterIndexStep; @@ -124,8 +126,10 @@ final class AlterIndexImpl extends AbstractQuery implements } private final void accept0(Context ctx) { + boolean renameIndex = asList().contains(ctx.family()); + ctx.start(ALTER_INDEX_INDEX) - .visit(K_ALTER_INDEX); + .visit(renameIndex ? K_RENAME_INDEX : K_ALTER_INDEX); if (ifExists && supportsIfExists(ctx)) ctx.sql(' ').visit(K_IF_EXISTS); @@ -140,7 +144,7 @@ final class AlterIndexImpl extends AbstractQuery implements ctx.start(ALTER_INDEX_RENAME) .qualify(false) - .visit(K_RENAME_TO).sql(' ').visit(renameTo) + .visit(renameIndex ? K_TO : K_RENAME_TO).sql(' ').visit(renameTo) .qualify(qualify) .end(ALTER_INDEX_RENAME); } diff --git a/jOOQ/src/main/java/org/jooq/impl/Keywords.java b/jOOQ/src/main/java/org/jooq/impl/Keywords.java index 523717371b..f0ee946f90 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Keywords.java +++ b/jOOQ/src/main/java/org/jooq/impl/Keywords.java @@ -195,6 +195,7 @@ final class Keywords { public static final Keyword K_REFERENCES = keyword("references"); public static final Keyword K_REGEXP = keyword("regexp"); public static final Keyword K_RENAME = keyword("rename"); + public static final Keyword K_RENAME_INDEX = keyword("rename index"); public static final Keyword K_RENAME_COLUMN = keyword("rename column"); public static final Keyword K_RENAME_CONSTRAINT = keyword("rename constraint"); public static final Keyword K_RENAME_TO = keyword("rename to");