package net.sourceforge.mayfly.evaluation.command;
import net.sourceforge.mayfly.datastore.DataStore;
import net.sourceforge.mayfly.datastore.TableReference;
public class DropTable extends Command {
private final UnresolvedTableReference table;
final boolean ifExists;
public DropTable(UnresolvedTableReference table, boolean ifExists) {
this.table = table;
this.ifExists = ifExists;
}
public UnresolvedTableReference table() {
return table;
}
@Override
public UpdateStore update(DataStore store, String schema) {
if (ifExists) {
if (!store.hasTable(table, schema)) {
return new UpdateStore(store, 0);
}
}
TableReference resolved = table.resolve(store, schema, null);
DataStore newStore = store.dropTable(resolved);
return new UpdateStore(newStore, 0);
}
}