Files
JEF/src/main/java/jef/operations/CountOp.java
wea_ondara 2876c6d2e7 wip
2022-08-15 19:36:01 +02:00

37 lines
994 B
Java

package jef.operations;
import jef.Queryable;
import jef.expressions.Expression;
import jef.expressions.SelectExpression;
import jef.expressions.selectable.DatabaseFunctionExpression;
import java.io.Serializable;
import java.util.List;
public class CountOp<T extends Serializable> implements Operation<T> {
private final Queryable<T> queryable;
public CountOp(Queryable<T> queryable) {
this.queryable = queryable;
}
@Override
public String getTableAlias() {
return String.valueOf((char) (queryable.getTableAlias().charAt(0) + (char) 1));
}
@Override
public Expression getExpression() {
return new SelectExpression(List.of(new DatabaseFunctionExpression("count(*)")), queryable.getExpression(), getTableAlias());
}
// @Override
// public CountOp<T> clone() {
// return new CountOp<>(queryable.clone());
// }
public long execute() {
return 0;//TODO implement when sql execution part is ready
}
}