Class QueryResultIteration
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<BindingSet>
org.eclipse.rdf4j.federated.evaluation.iterator.QueryResultIteration
- All Implemented Interfaces:
AutoCloseable,Iterator<BindingSet>,CloseableIteration<BindingSet>
An iteration which wraps the final result and in case of exceptions aborts query evaluation for the corresponding
query in fedx (potentially subqueries are still running, and jobs are scheduled).
If some external component calls close() on this iteration AND if the corresponding query is still running, the query
is aborted within FedX. An example case would be RDF4J's QueryInteruptIterations, which is used to enforce
maxQueryTime.
If the query is finished, the FederationManager is notified that the query is done, and the query is removed from the
set of running queries.
- Author:
- Andreas Schwarte
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final CloseableIteration<BindingSet>protected final QueryManagerprotected final QueryInfo -
Constructor Summary
ConstructorsConstructorDescriptionQueryResultIteration(CloseableIteration<BindingSet> inner, QueryInfo queryInfo) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAbort the query in the schedulers if it is still running.protected voidCalled byAbstractCloseableIteration.close()when it is called for the first time.booleanhasNext()next()voidremove()Methods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration
close, isClosedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.rdf4j.common.iteration.CloseableIteration
streamMethods inherited from interface java.util.Iterator
forEachRemaining
-
Field Details
-
inner
-
queryInfo
-
qm
-
-
Constructor Details
-
QueryResultIteration
-
-
Method Details
-
hasNext
- Throws:
QueryEvaluationException
-
next
- Throws:
QueryEvaluationException
-
remove
- 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.- Specified by:
handleClosein classAbstractCloseableIteration<BindingSet>- Throws:
QueryEvaluationException
-
abortQuery
protected void abortQuery()Abort the query in the schedulers if it is still running.
-