package net.sourceforge.mayfly.evaluation.expression;
import java.util.Collection;
import net.sourceforge.mayfly.datastore.Cell;
import net.sourceforge.mayfly.evaluation.Expression;
import net.sourceforge.mayfly.evaluation.ResultRow;
import net.sourceforge.mayfly.evaluation.select.Evaluator;
import net.sourceforge.mayfly.parser.Location;
public class Sum extends AggregateExpression {
public Sum(Expression column, String functionName, boolean distinct,
Location location) {
super(column, functionName, distinct, location);
}
public Sum(Expression column, String functionName, boolean distinct) {
this(column, functionName, distinct, Location.UNKNOWN);
}
@Override
Cell aggregate(Collection values) {
return aggregateSumAverage(values, true);
}
@Override
public Expression resolve(ResultRow row, Evaluator evaluator) {
return new Sum(column.resolve(row, evaluator), functionName, distinct, location);
}
}