Interface NaryExecutableOp
- All Superinterfaces:
 ExecutableOperator,StatsProvider
- All Known Implementing Classes:
 ExecOpMultiwayUnion,NaryExecutableOpBase
A specialization of the 
ExecutableOperator interface that
 captures executable operators that consume an arbitrary number of
 sequences of solution mappings (where each such sequence is batched
 into several blocks of solution mappings).- 
Method Summary
Modifier and TypeMethodDescriptiondefault voidprocessInputFromXthChild(int x, List<SolutionMapping> inputSolMaps, IntermediateResultElementSink sink, ExecutionContext execCxt) Processes the solution mappings oft he given list as input coming from the x-th operand and sends the produced result elements (if any) to the given sink.voidprocessInputFromXthChild(int x, SolutionMapping inputSolMap, IntermediateResultElementSink sink, ExecutionContext execCxt) Processes the given solution mapping as input coming from the x-th operand and sends the produced result elements (if any) to the given sink.voidwrapUpForXthChild(int x, IntermediateResultElementSink sink, ExecutionContext execCxt) Finishes up any processing related to the input coming from the x-th operand and sends the remaining result elements (if any) to the given sink.Methods inherited from interface se.liu.ida.hefquin.engine.queryplan.executable.ExecutableOperator
getExceptionsCaughtDuringExecution, getStatsMethods inherited from interface se.liu.ida.hefquin.base.utils.StatsProvider
resetStats 
- 
Method Details
- 
processInputFromXthChild
void processInputFromXthChild(int x, SolutionMapping inputSolMap, IntermediateResultElementSink sink, ExecutionContext execCxt) throws ExecOpExecutionException Processes the given solution mapping as input coming from the x-th operand and sends the produced result elements (if any) to the given sink.- Throws:
 ExecOpExecutionException
 - 
processInputFromXthChild
default void processInputFromXthChild(int x, List<SolutionMapping> inputSolMaps, IntermediateResultElementSink sink, ExecutionContext execCxt) throws ExecOpExecutionException Processes the solution mappings oft he given list as input coming from the x-th operand and sends the produced result elements (if any) to the given sink. The default implementation of this method simply callsprocessInputFromXthChild(int, SolutionMapping, IntermediateResultElementSink, ExecutionContext)for every solution mapping of the given list Subclasses may override this behavior to send a greater number of output solution mappings to the given sink at a time (which is useful to reduce the communication between threads in the push-based execution model).- Throws:
 ExecOpExecutionException
 - 
wrapUpForXthChild
void wrapUpForXthChild(int x, IntermediateResultElementSink sink, ExecutionContext execCxt) throws ExecOpExecutionException Finishes up any processing related to the input coming from the x-th operand and sends the remaining result elements (if any) to the given sink. This method will be called once for each of the operands, after the sub-plan that produces the input coming from the operand has finished producing its result.- Throws:
 ExecOpExecutionException
 
 -