Class JoinIterator
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<BindingSet, QueryEvaluationException>
org.eclipse.rdf4j.common.iteration.LookAheadIteration<BindingSet, QueryEvaluationException>
org.eclipse.rdf4j.query.algebra.evaluation.iterator.JoinIterator
- All Implemented Interfaces:
AutoCloseable, CloseableIteration<BindingSet, QueryEvaluationException>, Iteration<BindingSet, QueryEvaluationException>
Interleaved join iterator.
This join iterator produces results by interleaving results from its left argument into its right argument to speed up bindings and produce fail-fast results. Note that this join strategy is only valid in cases where all bindings from the left argument can be considered in scope for the right argument.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CloseableIteration<BindingSet, QueryEvaluationException> private final QueryEvaluationStep -
Constructor Summary
ConstructorsConstructorDescriptionJoinIterator(EvaluationStrategy strategy, QueryEvaluationStep leftPrepared, QueryEvaluationStep rightPrepared, Join join, BindingSet bindings) JoinIterator(EvaluationStrategy strategy, Join join, BindingSet bindings, QueryEvaluationContext context) -
Method Summary
Modifier and TypeMethodDescriptionprotected BindingSetGets the next element.protected voidCalled byAbstractCloseableIteration.close()when it is called for the first time.Methods inherited from class LookAheadIteration
hasNext, next, removeMethods inherited from class AbstractCloseableIteration
close, isClosedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CloseableIteration
stream
-
Field Details
-
leftIter
-
rightIter
-
preparedRight
-
-
Constructor Details
-
JoinIterator
public JoinIterator(EvaluationStrategy strategy, QueryEvaluationStep leftPrepared, QueryEvaluationStep rightPrepared, Join join, BindingSet bindings) throws QueryEvaluationException - Throws:
QueryEvaluationException
-
JoinIterator
public JoinIterator(EvaluationStrategy strategy, Join join, BindingSet bindings, QueryEvaluationContext context) throws QueryEvaluationException - Throws:
QueryEvaluationException
-
-
Method Details
-
getNextElement
Description copied from class:LookAheadIterationGets the next element. Subclasses should implement this method so that it returns the next element.- Specified by:
getNextElementin classLookAheadIteration<BindingSet, QueryEvaluationException>- Returns:
- The next element, or null if no more elements are available.
- Throws:
QueryEvaluationException
-
handleClose
Description copied from class:AbstractCloseableIterationCalled byAbstractCloseableIteration.close()when it is called for the first time. This method is only called once on each iteration. By default, this method does nothing.- Overrides:
handleClosein classLookAheadIteration<BindingSet, QueryEvaluationException>- Throws:
QueryEvaluationException
-