public class HashJoinIteration
extends org.eclipse.rdf4j.common.iteration.LookAheadIteration<org.eclipse.rdf4j.query.BindingSet,org.eclipse.rdf4j.query.QueryEvaluationException>
| Modifier and Type | Field and Description |
|---|---|
protected String[] |
joinAttributes |
| Constructor and Description |
|---|
HashJoinIteration(EvaluationStrategy strategy,
org.eclipse.rdf4j.common.iteration.CloseableIteration<org.eclipse.rdf4j.query.BindingSet,org.eclipse.rdf4j.query.QueryEvaluationException> leftIter,
Set<String> leftBindingNames,
org.eclipse.rdf4j.common.iteration.CloseableIteration<org.eclipse.rdf4j.query.BindingSet,org.eclipse.rdf4j.query.QueryEvaluationException> rightIter,
Set<String> rightBindingNames,
boolean leftJoin) |
HashJoinIteration(EvaluationStrategy strategy,
org.eclipse.rdf4j.query.algebra.Join join,
org.eclipse.rdf4j.query.BindingSet bindings) |
HashJoinIteration(EvaluationStrategy strategy,
org.eclipse.rdf4j.query.algebra.LeftJoin join,
org.eclipse.rdf4j.query.BindingSet bindings) |
HashJoinIteration(EvaluationStrategy strategy,
org.eclipse.rdf4j.query.algebra.TupleExpr left,
org.eclipse.rdf4j.query.algebra.TupleExpr right,
org.eclipse.rdf4j.query.BindingSet bindings,
boolean leftJoin) |
| Modifier and Type | Method and Description |
|---|---|
protected <E> void |
add(Collection<E> col,
E value) |
protected <E> void |
addAll(Collection<E> col,
List<E> values) |
protected <E> void |
closeHashValue(Iterator<E> iter)
Utility methods to clear-up in case not using in-memory hash table.
|
protected void |
disposeCache(Iterator<org.eclipse.rdf4j.query.BindingSet> iter)
Utility methods to clear-up in case not using in-memory cache.
|
protected void |
disposeHashTable(Map<BindingSetHashKey,List<org.eclipse.rdf4j.query.BindingSet>> map)
Utility methods to clear-up in case not using in-memory hash table.
|
protected org.eclipse.rdf4j.query.BindingSet |
getNextElement() |
protected void |
handleClose() |
protected Map<BindingSetHashKey,List<org.eclipse.rdf4j.query.BindingSet>> |
makeHashTable(int initialSize)
Utility methods to make it easier to inserted custom store dependent maps
|
protected List<org.eclipse.rdf4j.query.BindingSet> |
makeHashValue(int currentMaxListSize)
Utility methods to make it easier to inserted custom store dependent list
|
protected Collection<org.eclipse.rdf4j.query.BindingSet> |
makeIterationCache(org.eclipse.rdf4j.common.iteration.CloseableIteration<org.eclipse.rdf4j.query.BindingSet,org.eclipse.rdf4j.query.QueryEvaluationException> iter)
Utility methods to make it easier to inserted custom store dependent list
|
protected <E> E |
nextFromCache(Iterator<E> iter) |
protected void |
putHashTableEntry(Map<BindingSetHashKey,List<org.eclipse.rdf4j.query.BindingSet>> nextHashTable,
BindingSetHashKey hashKey,
List<org.eclipse.rdf4j.query.BindingSet> hashValue,
boolean newEntry) |
hasNext, next, removeprotected final String[] joinAttributes
public HashJoinIteration(EvaluationStrategy strategy, org.eclipse.rdf4j.query.algebra.Join join, org.eclipse.rdf4j.query.BindingSet bindings) throws org.eclipse.rdf4j.query.QueryEvaluationException
org.eclipse.rdf4j.query.QueryEvaluationExceptionpublic HashJoinIteration(EvaluationStrategy strategy, org.eclipse.rdf4j.query.algebra.LeftJoin join, org.eclipse.rdf4j.query.BindingSet bindings) throws org.eclipse.rdf4j.query.QueryEvaluationException
org.eclipse.rdf4j.query.QueryEvaluationExceptionpublic HashJoinIteration(EvaluationStrategy strategy, org.eclipse.rdf4j.query.algebra.TupleExpr left, org.eclipse.rdf4j.query.algebra.TupleExpr right, org.eclipse.rdf4j.query.BindingSet bindings, boolean leftJoin) throws org.eclipse.rdf4j.query.QueryEvaluationException
org.eclipse.rdf4j.query.QueryEvaluationExceptionpublic HashJoinIteration(EvaluationStrategy strategy, org.eclipse.rdf4j.common.iteration.CloseableIteration<org.eclipse.rdf4j.query.BindingSet,org.eclipse.rdf4j.query.QueryEvaluationException> leftIter, Set<String> leftBindingNames, org.eclipse.rdf4j.common.iteration.CloseableIteration<org.eclipse.rdf4j.query.BindingSet,org.eclipse.rdf4j.query.QueryEvaluationException> rightIter, Set<String> rightBindingNames, boolean leftJoin) throws org.eclipse.rdf4j.query.QueryEvaluationException
org.eclipse.rdf4j.query.QueryEvaluationExceptionprotected org.eclipse.rdf4j.query.BindingSet getNextElement()
throws org.eclipse.rdf4j.query.QueryEvaluationException
getNextElement in class org.eclipse.rdf4j.common.iteration.LookAheadIteration<org.eclipse.rdf4j.query.BindingSet,org.eclipse.rdf4j.query.QueryEvaluationException>org.eclipse.rdf4j.query.QueryEvaluationExceptionprotected void handleClose()
throws org.eclipse.rdf4j.query.QueryEvaluationException
handleClose in class org.eclipse.rdf4j.common.iteration.LookAheadIteration<org.eclipse.rdf4j.query.BindingSet,org.eclipse.rdf4j.query.QueryEvaluationException>org.eclipse.rdf4j.query.QueryEvaluationExceptionprotected void putHashTableEntry(Map<BindingSetHashKey,List<org.eclipse.rdf4j.query.BindingSet>> nextHashTable, BindingSetHashKey hashKey, List<org.eclipse.rdf4j.query.BindingSet> hashValue, boolean newEntry) throws org.eclipse.rdf4j.query.QueryEvaluationException
org.eclipse.rdf4j.query.QueryEvaluationExceptionprotected Collection<org.eclipse.rdf4j.query.BindingSet> makeIterationCache(org.eclipse.rdf4j.common.iteration.CloseableIteration<org.eclipse.rdf4j.query.BindingSet,org.eclipse.rdf4j.query.QueryEvaluationException> iter)
protected Map<BindingSetHashKey,List<org.eclipse.rdf4j.query.BindingSet>> makeHashTable(int initialSize)
protected List<org.eclipse.rdf4j.query.BindingSet> makeHashValue(int currentMaxListSize)
protected void disposeCache(Iterator<org.eclipse.rdf4j.query.BindingSet> iter)
protected void disposeHashTable(Map<BindingSetHashKey,List<org.eclipse.rdf4j.query.BindingSet>> map)
protected <E> void closeHashValue(Iterator<E> iter)
protected <E> E nextFromCache(Iterator<E> iter)
protected <E> void add(Collection<E> col, E value) throws org.eclipse.rdf4j.query.QueryEvaluationException
org.eclipse.rdf4j.query.QueryEvaluationExceptionprotected <E> void addAll(Collection<E> col, List<E> values) throws org.eclipse.rdf4j.query.QueryEvaluationException
org.eclipse.rdf4j.query.QueryEvaluationExceptionCopyright © 2015-2019 Eclipse Foundation. All Rights Reserved.