public class HashIndexOp extends HashIndexOpBase
The main use case for building a hash index is to execute a sub-group or
sub-select. In both cases, the HashIndexOp
is generated before we
enter the sub-plan. All solutions from the hash index are then flowed into
the sub-plan. Solutions emitted by the sub-plan are then re-integrated into
the parent using a SolutionSetHashJoinOp
.
There are two concrete implementations of this operator. One for the
HTree
and one for the JVM ConcurrentHashMap
. Both hash index
build operators have the same general logic, but differ in their specifics.
Those differences are mostly encapsulated by the IHashJoinUtility
interface. They also have somewhat different annotations, primarily because
the HTree
version needs access to the lexicon to setup its ivCache.
This operator is NOT thread-safe. It relies on the query engine to provide synchronization. The operator MUST be run on the query controller.
SolutionSetHashJoinOp
,
Serialized FormModifier and Type | Class and Description |
---|---|
static interface |
HashIndexOp.Annotations |
protected static class |
HashIndexOp.ChunkTask |
HashIndexOpBase.ChunkTaskBase
DEFAULT_INITIAL_CAPACITY
Constructor and Description |
---|
HashIndexOp(BOp[] args,
Map<String,Object> annotations)
Shallow copy constructor.
|
HashIndexOp(BOp[] args,
NV... annotations) |
HashIndexOp(HashIndexOp op)
Deep copy constructor.
|
Modifier and Type | Method and Description |
---|---|
protected HashIndexOpBase.ChunkTaskBase |
createChunkTask(BOpContext<IBindingSet> context) |
eval, newStats
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, toArray
annotationsEqual, annotationsToString, annotationsToString, annotationValueToString, checkArgs, clone, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, mutation, shortenName, toShortString, toString, toString
public HashIndexOp(HashIndexOp op)
public HashIndexOp(BOp[] args, Map<String,Object> annotations)
args
- annotations
- protected HashIndexOpBase.ChunkTaskBase createChunkTask(BOpContext<IBindingSet> context)
createChunkTask
in class HashIndexOpBase
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.