use of org.apache.hyracks.algebricks.core.algebra.operators.logical.ScriptOperator in project asterixdb by apache.
the class LogicalOperatorDeepCopyWithNewVariablesVisitor method visitScriptOperator.
@Override
public ILogicalOperator visitScriptOperator(ScriptOperator op, ILogicalOperator arg) throws AlgebricksException {
ScriptOperator opCopy = new ScriptOperator(op.getScriptDescription(), deepCopyVariableList(op.getInputVariables()), deepCopyVariableList(op.getOutputVariables()));
deepCopyInputsAnnotationsAndExecutionMode(op, arg, opCopy);
return opCopy;
}
use of org.apache.hyracks.algebricks.core.algebra.operators.logical.ScriptOperator in project asterixdb by apache.
the class StringStreamingScriptPOperator method computeDeliveredProperties.
@Override
public void computeDeliveredProperties(ILogicalOperator op, IOptimizationContext context) {
ScriptOperator s = (ScriptOperator) op;
computeDeliveredPropertiesForUsedVariables(s, s.getInputVariables());
}
use of org.apache.hyracks.algebricks.core.algebra.operators.logical.ScriptOperator in project asterixdb by apache.
the class StringStreamingScriptPOperator method contributeRuntimeOperator.
@Override
public void contributeRuntimeOperator(IHyracksJobBuilder builder, JobGenContext context, ILogicalOperator op, IOperatorSchema propagatedSchema, IOperatorSchema[] inputSchemas, IOperatorSchema outerPlanSchema) throws AlgebricksException {
ScriptOperator scriptOp = (ScriptOperator) op;
IScriptDescription scriptDesc = scriptOp.getScriptDescription();
if (scriptDesc.getKind() != ScriptKind.STRING_STREAMING) {
throw new IllegalStateException();
}
StringStreamingScriptDescription sssd = (StringStreamingScriptDescription) scriptDesc;
StringStreamingRuntimeFactory runtime = new StringStreamingRuntimeFactory(sssd.getCommand(), sssd.getPrinterFactories(), sssd.getFieldDelimiter(), sssd.getParserFactory());
RecordDescriptor recDesc = JobGenHelper.mkRecordDescriptor(context.getTypeEnvironment(op), propagatedSchema, context);
builder.contributeMicroOperator(scriptOp, runtime, recDesc);
// and contribute one edge from its child
ILogicalOperator src = scriptOp.getInputs().get(0).getValue();
builder.contributeGraphEdge(src, 0, scriptOp, 0);
}
use of org.apache.hyracks.algebricks.core.algebra.operators.logical.ScriptOperator in project asterixdb by apache.
the class IsomorphismOperatorVisitor method visitScriptOperator.
@Override
public Boolean visitScriptOperator(ScriptOperator op, ILogicalOperator arg) throws AlgebricksException {
AbstractLogicalOperator aop = (AbstractLogicalOperator) arg;
if (aop.getOperatorTag() != LogicalOperatorTag.SCRIPT) {
return Boolean.FALSE;
}
ScriptOperator scriptOpArg = (ScriptOperator) copyAndSubstituteVar(op, arg);
boolean isomorphic = op.getScriptDescription().equals(scriptOpArg.getScriptDescription());
return isomorphic;
}
Aggregations