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, vectorprotected 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)
PipelinedHashJoinUtilityJVMPipelinedHashIndex, which accepts and immediately
forwards relevant solutions (non-blocking index).acceptAndOutputSolutions in interface PipelinedHashJoinUtilityprotected 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.Exceptionpublic String toString()
IHashJoinUtility metadata
(but not the solutions themselves).toString in class HTreeHashJoinUtilityCopyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.