[jOOQ/jOOQ#8528] Interpret ALTER TABLE .. RENAME CONSTRAINT
This commit is contained in:
parent
45a1c8da55
commit
a50d75c9a6
@ -290,6 +290,8 @@ final class AlterTableImpl extends AbstractRowCountQuery implements
|
||||
final Table<?> $renameTo() { return renameTo; }
|
||||
final Field<?> $renameColumn() { return renameColumn; }
|
||||
final Field<?> $renameColumnTo() { return renameColumnTo; }
|
||||
final Constraint $renameConstraint() { return renameConstraint; }
|
||||
final Constraint $renameConstraintTo() { return renameConstraintTo; }
|
||||
final List<Field<?>> $dropColumns() { return dropColumns; };
|
||||
final Constraint $dropConstraint() { return dropConstraint; }
|
||||
final ConstraintType $dropConstraintType() { return dropConstraintType; }
|
||||
|
||||
@ -295,6 +295,8 @@ final class DDLInterpreter {
|
||||
Table<?> renameTo = query.$renameTo();
|
||||
Field<?> renameColumn = query.$renameColumn();
|
||||
Field<?> renameColumnTo = query.$renameColumnTo();
|
||||
Constraint renameConstraint = query.$renameConstraint();
|
||||
Constraint renameConstraintTo = query.$renameConstraintTo();
|
||||
List<Field<?>> dropColumns = query.$dropColumns();
|
||||
Constraint dropConstraint = query.$dropConstraint();
|
||||
ConstraintType dropConstraintType = query.$dropConstraintType();
|
||||
@ -355,12 +357,24 @@ final class DDLInterpreter {
|
||||
existing.name = (UnqualifiedName) renameTo.getUnqualifiedName();
|
||||
}
|
||||
else if (renameColumn != null) {
|
||||
if (existing.field(renameColumn) == null)
|
||||
MutableField mf = existing.field(renameColumn);
|
||||
|
||||
if (mf == null)
|
||||
throw fieldNotExists(renameColumn);
|
||||
else if (existing.field(renameColumnTo) != null)
|
||||
throw fieldAlreadyExists(renameColumnTo);
|
||||
else
|
||||
existing.field(renameColumn).name = (UnqualifiedName) renameColumnTo.getUnqualifiedName();
|
||||
mf.name = (UnqualifiedName) renameColumnTo.getUnqualifiedName();
|
||||
}
|
||||
else if (renameConstraint != null) {
|
||||
MutableKey mk = existing.constraint(renameConstraint);
|
||||
|
||||
if (mk == null)
|
||||
throw constraintNotExists(renameConstraint);
|
||||
else if (existing.constraint(renameConstraintTo) != null)
|
||||
throw constraintAlreadyExists(renameConstraintTo);
|
||||
else
|
||||
mk.name = (UnqualifiedName) renameConstraintTo.getUnqualifiedName();
|
||||
}
|
||||
else if (dropColumns != null) {
|
||||
// TODO Implement cascade
|
||||
|
||||
Loading…
Reference in New Issue
Block a user