com.bigdata.bop.bset.StartOp Maven / Gradle / Ivy
package com.bigdata.bop.bset;
import java.util.Map;
import com.bigdata.bop.BOp;
import com.bigdata.bop.PipelineOp;
/**
* A version of {@link CopyOp} which is always evaluated on the query
* controller.
*
* Note: {@link CopyOp} and {@link StartOp} are the same. {@link StartOp} exists
* solely to reflect its functional role at the end of the query pipeline.
*
* Note: {@link StartOp} is generally NOT required in a query plan. It is more
* of a historical artifact than something that we actually need to have in the
* query pipeline. It is perfectly possible to have the query pipeline begin
* with any of the {@link PipelineOp pipeline operators}.
*/
public class StartOp extends CopyOp {
/**
*
*/
private static final long serialVersionUID = 1L;
public StartOp(StartOp op) {
super(op);
}
public StartOp(BOp[] args, Map annotations) {
super(args, annotations);
switch (getEvaluationContext()) {
case CONTROLLER:
break;
default:
throw new UnsupportedOperationException(
Annotations.EVALUATION_CONTEXT + "="
+ getEvaluationContext());
}
}
}