Interface UnaryExecutableOp
- All Superinterfaces:
ExecutableOperator
,StatsProvider
- All Known Implementing Classes:
BaseForExecOpBindJoin
,BaseForExecOpBindJoinSPARQL
,BaseForExecOpBindJoinWithRequestOps
,BaseForExecOpIndexNestedLoopsJoin
,BaseForExecOpIndexNestedLoopsJoinWithRequestOps
,BaseForExecOpIndexNestedLoopsJoinWithRequests
,BaseForExecOpIndexNestedLoopsJoinWithSolMapsRequests
,BaseForExecOpIndexNestedLoopsJoinWithTPFRequests
,ExecOpBind
,ExecOpBindJoinBRTPF
,ExecOpBindJoinSPARQLwithFILTER
,ExecOpBindJoinSPARQLwithUNION
,ExecOpBindJoinSPARQLwithVALUES
,ExecOpBindJoinSPARQLwithVALUESorFILTER
,ExecOpFilter
,ExecOpGlobalToLocal
,ExecOpIndexNestedLoopsJoinBRTPF
,ExecOpIndexNestedLoopsJoinSPARQL
,ExecOpIndexNestedLoopsJoinTPF
,ExecOpLocalToGlobal
,ExecOpParallelMultiwayLeftJoin
,UnaryExecutableOpBase
,UnaryExecutableOpBaseWithIterator
A specialization of the
ExecutableOperator
interface that
captures executable operators that consume a single input sequence
of solution mappings (which are batched into several blocks).-
Method Summary
Modifier and TypeMethodDescriptionvoid
concludeExecution
(IntermediateResultElementSink sink, ExecutionContext execCxt) Concludes the execution of this operator and sends the remaining result elements (if any) to the given sink.int
Returns the preferred block size of input blocks that are passed to this executable operator.void
process
(IntermediateResultBlock input, IntermediateResultElementSink sink, ExecutionContext execCxt) Processes the given input and sends the produced result elements (if any) to the given sink.Methods inherited from interface se.liu.ida.hefquin.engine.queryplan.executable.ExecutableOperator
getExceptionsCaughtDuringExecution, getStats
Methods inherited from interface se.liu.ida.hefquin.base.utils.StatsProvider
resetStats
-
Method Details
-
preferredInputBlockSize
int preferredInputBlockSize()Returns the preferred block size of input blocks that are passed to this executable operator. A query planner may use this number as an optimization hint but it does not have to use it. -
process
void process(IntermediateResultBlock input, IntermediateResultElementSink sink, ExecutionContext execCxt) throws ExecOpExecutionException Processes the given input and sends the produced result elements (if any) to the given sink.- Throws:
ExecOpExecutionException
-
concludeExecution
void concludeExecution(IntermediateResultElementSink sink, ExecutionContext execCxt) throws ExecOpExecutionException Concludes the execution of this operator and sends the remaining result elements (if any) to the given sink. This method will be called only once, after the sub-plan that produces the input for this operator has finished producing its result.- Throws:
ExecOpExecutionException
-