@Override public void visit(OpQuadBlock quadBlock) { push(eval(quadBlock.convertOp())) ; //push(Eval.evalQuadPattern(quadBlock, evaluator)) ; }
@Override public void visit(OpDistinct opDistinct) { Table table = eval(opDistinct.getSubOp()) ; table = evaluator.distinct(table) ; push(table) ; }
@Override public void visit(OpList opList) { Table table = eval(opList.getSubOp()) ; table = evaluator.list(table) ; push(table) ; }
@Override public void visit(OpReduced opReduced) { Table table = eval(opReduced.getSubOp()) ; table = evaluator.reduced(table) ; push(table) ; }
@Override public void visit(OpFilter opFilter) { Table table = eval(opFilter.getSubOp()) ; table = evaluator.filter(opFilter.getExprs(), table) ; push(table) ; }
@Override public void visit(OpOrder opOrder) { Table table = eval(opOrder.getSubOp()) ; table = evaluator.order(table, opOrder.getConditions()) ; push(table) ; }
@Override public void visit(OpProject opProject) { Table table = eval(opProject.getSubOp()) ; table = evaluator.project(table, opProject.getVars()) ; push(table) ; }
@Override public void visit(OpAssign opAssign) { Table table = eval(opAssign.getSubOp()) ; table = evaluator.assign(table, opAssign.getVarExprList()) ; push(table) ; }
@Override public void visit(OpLabel opLabel) { if ( opLabel.hasSubOp() ) push(eval(opLabel.getSubOp())) ; else // No subop. push(TableFactory.createUnit()) ; }
@Override public void visit(OpSlice opSlice) { Table table = eval(opSlice.getSubOp()) ; table = evaluator.slice(table, opSlice.getStart(), opSlice.getLength()) ; push(table) ; }
@Override public void visit(OpProcedure opProc) { Table table = eval(opProc.getSubOp()) ; table = evaluator.procedure(table, opProc.getProcId(), opProc.getArgs()) ; push(table) ; }
@Override public void visit(OpGroup opGroup) { Table table = eval(opGroup.getSubOp()) ; table = evaluator.groupBy(table, opGroup.getGroupVars(), opGroup.getAggregators()) ; push(table) ; }
@Override public void visit(OpTopN opTop) { Table table = eval(opTop.getSubOp()) ; //table = evaluator.topN(table, opTop.getLimti(), opTop.getConditions()) ; table = evaluator.order(table, opTop.getConditions()) ; table = evaluator.slice(table, 0, opTop.getLimit()) ; push(table) ; }
@Override public void visit(OpPropFunc opPropFunc) { Table table = eval(opPropFunc.getSubOp()) ; table = evaluator.propertyFunction(table, opPropFunc.getProperty(), opPropFunc.getSubjectArgs(), opPropFunc.getObjectArgs()) ; push(table) ; }