package net.sourceforge.mayfly.evaluation.command; import net.sourceforge.mayfly.datastore.Column; import net.sourceforge.mayfly.datastore.DataStore; import net.sourceforge.mayfly.datastore.TableReference; public class ChangeColumn extends Command { private final UnresolvedTableReference table; private final String oldName; private final Column newColumn; public ChangeColumn(UnresolvedTableReference table, String oldName, Column newColumn) { this.table = table; this.oldName = oldName; this.newColumn = newColumn; } @Override public UpdateStore update(DataStore store, String defaultSchema) { TableReference reference = table.resolve(store, defaultSchema, null); DataStore afterRename = store.renameColumn( reference, oldName, newColumn.columnName()); return afterRename.modifyColumn(reference, newColumn); } }