@Override public void meet(Projection node) throws OptimizationException { super.meet(node); // we need to check if we have inserted some value constant // from a filter and if this is part of the projection. If yes // we need to actually project it if (!insertedValues.isEmpty()) { node.replaceWith( new ProjectionWithBindings(node.getArg(), node.getProjectionElemList(), insertedValues)); } }
@Override protected BindingSet convert(BindingSet sourceBindings) throws QueryEvaluationException { return project(projection.getProjectionElemList(), sourceBindings, parentBindings); }