Class ControlledWorkerBindJoin
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<BindingSet>
org.eclipse.rdf4j.common.iteration.LookAheadIteration<BindingSet>
org.eclipse.rdf4j.federated.evaluation.concurrent.ParallelExecutorBase<BindingSet>
org.eclipse.rdf4j.federated.evaluation.join.JoinExecutorBase<BindingSet>
org.eclipse.rdf4j.federated.evaluation.join.ControlledWorkerBindJoinBase
org.eclipse.rdf4j.federated.evaluation.join.ControlledWorkerBindJoin
- All Implemented Interfaces:
AutoCloseable, Runnable, Iterator<BindingSet>, CloseableIteration<BindingSet>, ParallelExecutor<BindingSet>
Execution of a regular join as bind join.
- Author:
- Andreas Schwarte
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classprotected classDeprecated, for removal: This API element is subject to removal in a future version.protected classNested classes/interfaces inherited from class ControlledWorkerBindJoinBase
ControlledWorkerBindJoinBase.TaskCreatorModifier and TypeClassDescriptionprotected static interface -
Field Summary
Fields inherited from class ControlledWorkerBindJoinBase
phaser, schedulerModifier and TypeFieldDescriptionprotected final Phaserprotected final ControlledWorkerScheduler<BindingSet> Fields inherited from class JoinExecutorBase
bindings, joinVars, leftIter, rightArgModifier and TypeFieldDescriptionprotected final BindingSetprotected CloseableIteration<BindingSet> protected final TupleExprFields inherited from class ParallelExecutorBase
evaluationThread, executorId, finished, NEXT_EXECUTOR_ID, queryInfo, rightIter, rightQueue, strategyModifier and TypeFieldDescriptionprotected Threadprotected final longprotected booleanprotected static final AtomicLongprotected final QueryInfoprotected CloseableIteration<BindingSet> protected FedXQueueCursor<BindingSet> protected final FederationEvalStrategyFields inherited from interface CloseableIteration
EMPTY_STATEMENT_ITERATION -
Constructor Summary
ConstructorsConstructorDescriptionControlledWorkerBindJoin(ControlledWorkerScheduler<BindingSet> scheduler, FederationEvalStrategy strategy, CloseableIteration<BindingSet> leftIter, TupleExpr rightArg, BindingSet bindings, QueryInfo queryInfo) -
Method Summary
Modifier and TypeMethodDescriptionprotected ControlledWorkerBindJoinBase.TaskCreatordetermineTaskCreator(TupleExpr expr, BindingSet bs) Return theControlledWorkerBindJoinBase.TaskCreatorfor executing the bind joinMethods inherited from class ControlledWorkerBindJoinBase
getNextBindJoinSize, handleBindings, handleCloseModifier and TypeMethodDescriptionprotected intgetNextBindJoinSize(int configuredBindJoinSize, int totalBindings) Return the size of the next bind join block.protected voidImplementations must implement this method to handle bindings.voidCalled byAbstractCloseableIteration.close()when it is called for the first time.Methods inherited from class JoinExecutorBase
getExecutorType, getJoinVars, performExecution, setJoinVarsModifier and TypeMethodDescriptionprotected Stringprotected final voidPerform the parallel execution.voidsetJoinVars(Set<String> joinVars) Set the join variablesMethods inherited from class ParallelExecutorBase
addResult, checkTimeout, done, getDisplayId, getId, getNextElement, getQueryInfo, isFinished, run, toss, toStringModifier and TypeMethodDescriptionvoidHandle the result appropriately, e.g. add it to the result iteration.protected voidChecks whether the query execution has run into a timeout.voiddone()Inform the controlling instance that some job is done from a different thread.protected StringgetId()Gets the next element.Return the query info of the associated querybooleanReturn true if this executor is finished or abortedfinal voidrun()voidToss some exception to the controlling instancetoString()Methods inherited from class LookAheadIteration
hasNext, next, removeModifier and TypeMethodDescriptionfinal booleanhasNext()final BindingSetnext()voidremove()Throws anUnsupportedOperationException.Methods inherited from class AbstractCloseableIteration
close, isClosedModifier and TypeMethodDescriptionfinal voidclose()CallsAbstractCloseableIteration.handleClose()upon first call and makes sure the resource closures are only executed once.final booleanisClosed()Checks whether this CloseableIteration has been closed.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface CloseableIteration
streamModifier and TypeMethodDescriptiondefault Stream<BindingSet> stream()Convert the results to a Java 8 Stream.Methods inherited from interface Iterator
forEachRemaining
-
Constructor Details
-
ControlledWorkerBindJoin
public ControlledWorkerBindJoin(ControlledWorkerScheduler<BindingSet> scheduler, FederationEvalStrategy strategy, CloseableIteration<BindingSet> leftIter, TupleExpr rightArg, BindingSet bindings, QueryInfo queryInfo) throws QueryEvaluationException - Throws:
QueryEvaluationException
-
-
Method Details
-
determineTaskCreator
protected ControlledWorkerBindJoinBase.TaskCreator determineTaskCreator(TupleExpr expr, BindingSet bs) Description copied from class:ControlledWorkerBindJoinBaseReturn theControlledWorkerBindJoinBase.TaskCreatorfor executing the bind join- Specified by:
determineTaskCreatorin classControlledWorkerBindJoinBase- Parameters:
expr-bs-- Returns:
-