[#6120] Add support for DB2 RENAME INDEX statement

This commit is contained in:
lukaseder 2017-04-21 13:02:06 +02:00
parent fc143fa078
commit c8e851b52f
3 changed files with 8 additions and 2 deletions

View File

@ -34,6 +34,7 @@
*/
package org.jooq;
// ...
import static org.jooq.SQLDialect.H2;
import static org.jooq.SQLDialect.HSQLDB;
// ...

View File

@ -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);
}

View File

@ -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");