package net.sourceforge.mayfly.evaluation.command;
import net.sourceforge.mayfly.MayflyException;
import net.sourceforge.mayfly.MayflyResultSet;
import net.sourceforge.mayfly.datastore.Cell;
import net.sourceforge.mayfly.datastore.DataStore;
import net.sourceforge.mayfly.evaluation.Expression;
import net.sourceforge.mayfly.evaluation.ResultRow;
import net.sourceforge.mayfly.evaluation.ResultRows;
import net.sourceforge.mayfly.evaluation.expression.LastIdentityExpression;
import net.sourceforge.mayfly.evaluation.select.Evaluator;
import net.sourceforge.mayfly.evaluation.what.Selected;
public class LastIdentity extends Command {
private static final String UPDATE_MESSAGE =
"SELECT is only available with query, not update";
@Override
public UpdateStore update(DataStore store, String currentSchema) {
throw new MayflyException(UPDATE_MESSAGE);
}
@Override
public MayflyResultSet select(
Evaluator evaluator, Cell lastIdentity) {
Expression expression = new LastIdentityExpression();
return new MayflyResultSet(
new Selected(expression),
new ResultRows(
new ResultRow()
.with(
expression,
lastIdentity)));
}
}