{
TableChange change = (TableChange)it.next();
if (change instanceof ColumnAutoIncrementChange)
{
Column column = ((ColumnAutoIncrementChange)change).getColumn();
// we have to defer removal of the sequences until they are no longer used
if (!column.isAutoIncrement())
{
ColumnAutoIncrementChange autoIncrChange = (ColumnAutoIncrementChange)change;
createAutoIncrementSequence(autoIncrChange.getChangedTable(),
autoIncrChange.getColumn());
}
}
else if (change instanceof AddColumnChange)
{
AddColumnChange addColumnChange = (AddColumnChange)change;
if (addColumnChange.getNewColumn().isAutoIncrement())
{
createAutoIncrementSequence(addColumnChange.getChangedTable(),
addColumnChange.getNewColumn());
}
}
}
print("ALTER ");
super.createTable(desiredModel, targetTable, parameters);
for (Iterator it = changes.iterator(); it.hasNext();)
{
TableChange change = (TableChange)it.next();
if (change instanceof ColumnAutoIncrementChange)
{
Column column = ((ColumnAutoIncrementChange)change).getColumn();
if (column.isAutoIncrement())
{
ColumnAutoIncrementChange autoIncrChange = (ColumnAutoIncrementChange)change;
dropAutoIncrementSequence(autoIncrChange.getChangedTable(),
autoIncrChange.getColumn());