public abstract class HashJoinOp<E> extends PipelineOp implements IShardwisePipelineOp<E>
IAccessPath. The source solutions from the pipeline are buffered on a
hash index. Depending on the implementation, the hash index may have a
threshold that will trigger an evaluation pass of the hash join. If not, then
the hash join will run exactly once. When the hash join runs, the access path
is scanned and the hash index (of intermediate solutions from the pipeline)
is probed for each solution read from the IAccessPath. Solutions
which join are output.| Modifier and Type | Class and Description |
|---|---|
static interface |
HashJoinOp.Annotations |
DEFAULT_INITIAL_CAPACITY| Constructor and Description |
|---|
HashJoinOp(BOp[] args,
Map<String,Object> annotations) |
HashJoinOp(BOp[] args,
NV... annotations) |
HashJoinOp(HashJoinOp<E> op) |
| Modifier and Type | Method and Description |
|---|---|
FutureTask<Void> |
eval(BOpContext<IBindingSet> context)
Return a
FutureTask which computes the operator against the
evaluation context. |
IPredicate<E> |
getPredicate()
The predicate which reads or writes on the shard.
|
protected boolean |
isOptional()
Return
true iff the predicate associated with the join is
optional. |
protected abstract IHashJoinUtility |
newState(BOpContext<IBindingSet> context,
INamedSolutionSetRef namedSetRef,
JoinTypeEnum joinType)
Return the instance of the
IHashJoinUtility to be used by this
operator. |
BaseJoinStats |
newStats()
Return a new object which can be used to collect statistics on the
operator evaluation.
|
protected abstract boolean |
runHashJoin(BOpContext<?> context,
IHashJoinUtility state)
Return
true if ChunkTask#doHashJoin() should be
executed in a given operator ChunkTask invocation. |
assertAtOnceJavaHeapOp, assertMaxParallelOne, getChunkCapacity, getChunkOfChunksCapacity, getChunkTimeout, getMaxMemory, getMaxParallel, isAtOnceEvaluation, isBlockedEvaluation, isLastPassRequested, isPipelinedEvaluation, isReorderSolutions, isSharedState__replaceArg, _clearProperty, _set, _setProperty, annotations, annotationsCopy, annotationsEqual, annotationsRef, argIterator, args, argsCopy, arity, clearAnnotations, clearProperty, deepCopy, deepCopy, get, getProperty, setArg, setProperty, setUnboundProperty, toArray, toArrayannotationsEqual, annotationsToString, annotationsToString, annotationValueToString, checkArgs, clone, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, mutation, shortenName, toShortString, toString, toStringpublic HashJoinOp(HashJoinOp<E> op)
op - public IPredicate<E> getPredicate()
getPredicate in interface IShardwisePipelineOp<E>AccessPathJoinAnnotations.PREDICATEprotected boolean isOptional()
true iff the predicate associated with the join is
optional.IPredicate.Annotations#OPTIONALpublic BaseJoinStats newStats()
PipelineOpnewStats in class PipelineOpprotected abstract IHashJoinUtility newState(BOpContext<IBindingSet> context, INamedSolutionSetRef namedSetRef, JoinTypeEnum joinType)
IHashJoinUtility to be used by this
operator. This method is invoked once, the first time this operator is
evaluated. The returned IHashJoinUtility reference is attached to
the IQueryAttributes and accessed there on subsequent evaluation
passes for this operator.context - The BOpEvaluationContextnamedSetRef - Metadata to identify the named solution set.joinType - The type of join.protected abstract boolean runHashJoin(BOpContext<?> context, IHashJoinUtility state)
true if ChunkTask#doHashJoin() should be
executed in a given operator ChunkTask invocation.context - The operator evaluation context.state - The IHashJoinUtility instance.public FutureTask<Void> eval(BOpContext<IBindingSet> context)
PipelineOpFutureTask which computes the operator against the
evaluation context. The caller is responsible for executing the
FutureTask (this gives them the ability to hook the completion of
the computation).eval in class PipelineOpcontext - The evaluation context.FutureTask which will compute the operator's
evaluation.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.