@Override public Table distinct(Table table) { QueryIterator qIter = table.iterator(getExecContext()) ; qIter = new QueryIterDistinct(qIter, getExecContext()) ; return new TableN(qIter) ; }
@Override public Table groupBy(Table table, VarExprList groupVars, List<ExprAggregator> aggregators) { QueryIterator qIter = table.iterator(getExecContext()) ; qIter = new QueryIterGroup(qIter, groupVars, aggregators, getExecContext()) ; return new TableN(qIter) ; }
@Override public Table reduced(Table table) { QueryIterator qIter = table.iterator(getExecContext()) ; qIter = new QueryIterReduced(qIter, getExecContext()) ; return new TableN(qIter) ; }
@Override public Table project(Table table, List<Var> projectVars) { QueryIterator qIter = table.iterator(getExecContext()) ; qIter = new QueryIterProject(qIter, projectVars, getExecContext()) ; return new TableN(qIter) ; }
@Override public Table extend(Table table, VarExprList exprs) { QueryIterator qIter = table.iterator(getExecContext()) ; qIter = new QueryIterAssign(qIter, exprs, getExecContext(), true) ; return new TableN(qIter) ; }
@Override public Table order(Table table, List<SortCondition> conditions) { QueryIterator qIter = table.iterator(getExecContext()) ; qIter = new QueryIterSort(qIter, conditions, getExecContext()) ; return new TableN(qIter) ; }
@Override public Table slice(Table table, long start, long length) { QueryIterator qIter = table.iterator(getExecContext()) ; qIter = new QueryIterSlice(qIter, start, length, getExecContext()) ; return new TableN(qIter) ; }
@Override public Table assign(Table table, VarExprList exprs) { QueryIterator qIter = table.iterator(getExecContext()) ; qIter = new QueryIterAssign(qIter, exprs, getExecContext(), false) ; return new TableN(qIter) ; }