[jOOQ/jOOQ#10234] Unable to rename table with qualified table name on
Oracle dialect
This commit is contained in:
parent
40a60d4d2e
commit
e8ea2d651a
@ -233,7 +233,7 @@ implements
|
||||
private static final Set<SQLDialect> NO_SUPPORT_IF_NOT_EXISTS_COLUMN = SQLDialect.supportedBy(CUBRID, DERBY, FIREBIRD);
|
||||
private static final Set<SQLDialect> SUPPORT_RENAME_COLUMN = SQLDialect.supportedBy(DERBY);
|
||||
private static final Set<SQLDialect> SUPPORT_RENAME_TABLE = SQLDialect.supportedBy(DERBY);
|
||||
private static final Set<SQLDialect> NO_SUPPORT_RENAME_QUALIFIED_TABLE = SQLDialect.supportedBy(POSTGRES, YUGABYTEDB);
|
||||
private static final Set<SQLDialect> NO_SUPPORT_RENAME_QUALIFIED_TABLE = SQLDialect.supportedBy(DERBY, POSTGRES, YUGABYTEDB);
|
||||
private static final Set<SQLDialect> NO_SUPPORT_ALTER_TYPE_AND_NULL = SQLDialect.supportedBy(POSTGRES, YUGABYTEDB);
|
||||
private static final Set<SQLDialect> NO_SUPPORT_DROP_CONSTRAINT = SQLDialect.supportedBy(MARIADB, MYSQL);
|
||||
private static final Set<SQLDialect> REQUIRE_REPEAT_ADD_ON_MULTI_ALTER = SQLDialect.supportedBy(FIREBIRD, MARIADB, MYSQL, POSTGRES, YUGABYTEDB);
|
||||
@ -1198,16 +1198,17 @@ implements
|
||||
}
|
||||
else if (renameTo != null) {
|
||||
boolean qualify = ctx.qualify();
|
||||
boolean unqualify = unqualifyRenameTo(ctx);
|
||||
|
||||
ctx.start(ALTER_TABLE_RENAME);
|
||||
|
||||
if (NO_SUPPORT_RENAME_QUALIFIED_TABLE.contains(ctx.dialect()))
|
||||
if (unqualify)
|
||||
ctx.qualify(false);
|
||||
|
||||
ctx.visit(renameObject || renameTable ? K_TO : K_RENAME_TO).sql(' ')
|
||||
.visit(renameTo);
|
||||
|
||||
if (NO_SUPPORT_RENAME_QUALIFIED_TABLE.contains(ctx.dialect()))
|
||||
if (unqualify)
|
||||
ctx.qualify(qualify);
|
||||
|
||||
ctx.end(ALTER_TABLE_RENAME);
|
||||
@ -1693,6 +1694,14 @@ implements
|
||||
ctx.formatIndentEnd();
|
||||
}
|
||||
|
||||
private final boolean unqualifyRenameTo(Context<?> ctx) {
|
||||
return NO_SUPPORT_RENAME_QUALIFIED_TABLE.contains(ctx.dialect())
|
||||
&& renameTo.getQualifiedName().qualified()
|
||||
|
||||
// [#10234] Omit qualification only for same-schema qualified renames
|
||||
&& renameTo.getQualifiedName().qualifier().equals(table.getQualifiedName().qualifier());
|
||||
}
|
||||
|
||||
private final Keyword addColumnKeyword(Context<?> ctx) {
|
||||
switch (ctx.family()) {
|
||||
|
||||
@ -1843,6 +1852,9 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user