public class HTreePipelinedHashJoinUtility extends HTreeHashJoinUtility implements PipelinedHashJoinUtility
HTreeHashJoinUtility
. See PipelinedHashIndexAndSolutionSetJoinOp
for a
documentation of this functionality.HTreeHashJoinUtility.BS
Modifier and Type | Field and Description |
---|---|
static IHashJoinUtilityFactory |
factory
Singleton
IHashJoinUtilityFactory that can be used to create a
new HTreePipelinedHashJoinUtility . |
protected CAT |
nDistinctBindingSets
The #of distinct projections from the given input bindings
|
protected CAT |
nDistinctBindingSetsReleased
The #of distinct binding sets that have flown into the subquery.
|
protected CAT |
nResultsFromSubqueries
The #of results returned by the subqueries
|
protected CAT |
nSubqueriesIssued
The #of subqueries that have been issued.
|
nJoinsConsidered, nleftConsidered, nrightConsidered
Constructor and Description |
---|
HTreePipelinedHashJoinUtility(IMemoryManager mmgr,
PipelineOp op,
JoinTypeEnum joinType) |
HTreePipelinedHashJoinUtility(PipelineOp op,
JoinTypeEnum joinType,
BOpContext<IBindingSet> context,
int chunkCapacity) |
Modifier and Type | Method and Description |
---|---|
long |
acceptAndOutputSolutions(UnsyncLocalOutputBuffer<IBindingSet> out,
ICloseableIterator<IBindingSet[]> itr,
NamedSolutionSetStats stats,
IConstraint[] joinConstraints,
PipelineOp subquery,
IBindingSet[] bsFromBindingsSetSource,
IVariable<?>[] projectInVars,
IVariable<?> askVar,
boolean isLastInvocation,
int distinctProjectionBufferThreshold,
int incomingBindingsBufferThreshold,
BOpContext<IBindingSet> context)
AcceptAndOutputSolutions is a special method for building the hash index
of the
JVMPipelinedHashIndex , which accepts and immediately
forwards relevant solutions (non-blocking index). |
void |
hashJoinAndEmit(IBindingSet[] chunk,
BOpStats stats,
IBuffer<IBindingSet> outputBuffer,
IConstraint[] joinConstraints,
IVariable<?> askVar)
Executes the hash join for the chunk of solutions that is passed in
over rightSolutions and outputs the solutions.
|
protected boolean |
joinsWith(HTreeHashJoinUtility.BS bs,
IKeyBuilder keyBuilder,
HTree htree)
Checks whether bs joins with the given htree.
|
protected boolean |
joinsWith(HTreeHashJoinUtility.BS bs,
IKeyBuilder keyBuilder,
HTree rightSolutions,
HTree rightSolutionsWithoutSubqueryResult)
Checks whether bs joins with rightSolutions or rightSolutionsWithoutSubqueryResult.
|
protected RuntimeException |
launderThrowable(Throwable t)
Adds metadata about the
IHashJoinUtility state to the stack
trace. |
String |
toString()
Human readable representation of the
IHashJoinUtility metadata
(but not the solutions themselves). |
acceptSolutions, decodeSolution, filterSolutions, getAskVar, getConstraints, getEncoder, getIndexMetadata, getJoinSet, getJoinSetSize, getJoinType, getJoinVars, getNoJoinVarsLimit, getOpen, getOutputDistintcJVs, getRightSolutionCount, getRightSolutions, getSelectVars, getStore, hashJoin, hashJoin2, indexScan, isEmpty, isOutputDistinctJoinVars, mergeJoin, outputJoinSet, outputOptionals, outputSolutions, release, saveInJoinSet, saveSolutionSet, vector
protected final CAT nDistinctBindingSets
protected final CAT nDistinctBindingSetsReleased
protected final CAT nSubqueriesIssued
protected final CAT nResultsFromSubqueries
public static final IHashJoinUtilityFactory factory
IHashJoinUtilityFactory
that can be used to create a
new HTreePipelinedHashJoinUtility
.public HTreePipelinedHashJoinUtility(IMemoryManager mmgr, PipelineOp op, JoinTypeEnum joinType)
public HTreePipelinedHashJoinUtility(PipelineOp op, JoinTypeEnum joinType, BOpContext<IBindingSet> context, int chunkCapacity)
public long acceptAndOutputSolutions(UnsyncLocalOutputBuffer<IBindingSet> out, ICloseableIterator<IBindingSet[]> itr, NamedSolutionSetStats stats, IConstraint[] joinConstraints, PipelineOp subquery, IBindingSet[] bsFromBindingsSetSource, IVariable<?>[] projectInVars, IVariable<?> askVar, boolean isLastInvocation, int distinctProjectionBufferThreshold, int incomingBindingsBufferThreshold, BOpContext<IBindingSet> context)
PipelinedHashJoinUtility
JVMPipelinedHashIndex
, which accepts and immediately
forwards relevant solutions (non-blocking index).acceptAndOutputSolutions
in interface PipelinedHashJoinUtility
protected boolean joinsWith(HTreeHashJoinUtility.BS bs, IKeyBuilder keyBuilder, HTree rightSolutions, HTree rightSolutionsWithoutSubqueryResult)
bs
- keyBuilder
- rightSolutions
- rightSolutionsWithoutSubqueryResult
- protected boolean joinsWith(HTreeHashJoinUtility.BS bs, IKeyBuilder keyBuilder, HTree htree)
bs
- keyBuilder
- htree
- public void hashJoinAndEmit(IBindingSet[] chunk, BOpStats stats, IBuffer<IBindingSet> outputBuffer, IConstraint[] joinConstraints, IVariable<?> askVar)
protected RuntimeException launderThrowable(Throwable t)
IHashJoinUtility
state to the stack
trace.t
- The thrown error.Exception
public String toString()
IHashJoinUtility
metadata
(but not the solutions themselves).toString
in class HTreeHashJoinUtility
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.