public class ASTRangeCountOptimizer extends AbstractJoinGroupOptimizer implements IASTOptimizer
| Constructor and Description | 
|---|
ASTRangeCountOptimizer()  | 
| Modifier and Type | Method and Description | 
|---|---|
protected void | 
attachRangeCounts(AST2BOpContext ctx,
                 List<StatementPatternNode> spNodes,
                 IBindingSet exogenousBindings,
                 int nrExogeneousBindings)
Use the  
SPORelation from the database to grab the appropriate
 range counts for the StatementPatternNodes. | 
protected void | 
estimateCardinalities(StatementPatternNode sp,
                     IV<?,?> s,
                     IV<?,?> p,
                     IV<?,?> o,
                     IV<?,?> c,
                     AST2BOpContext ctx,
                     int exogenousBindingsAdjustmentFactor)  | 
protected void | 
estimateCardinality(StatementPatternNode sp,
                   AST2BOpContext ctx,
                   IBindingSet exogenousBindings,
                   int nrExogeneousBindings)
For testing purposes we can override this method. 
 | 
protected static IV | 
getIV(TermNode term,
     IBindingSet exogenousBindings,
     AtomicBoolean usesExogeneousBinding)
Helper method grabs the IV out of the TermNode, doing the appropriate
 NULL and constant/var checks. 
 | 
protected void | 
optimizeJoinGroup(AST2BOpContext ctx,
                 StaticAnalysis sa,
                 IBindingSet[] bSets,
                 JoinGroupNode group)
Optimize the join group. 
 | 
optimizeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitoptimizeprotected void optimizeJoinGroup(AST2BOpContext ctx, StaticAnalysis sa, IBindingSet[] bSets, JoinGroupNode group)
optimizeJoinGroup in class AbstractJoinGroupOptimizerprotected void attachRangeCounts(AST2BOpContext ctx, List<StatementPatternNode> spNodes, IBindingSet exogenousBindings, int nrExogeneousBindings)
SPORelation from the database to grab the appropriate
 range counts for the StatementPatternNodes. Only tries to attach
 them if the annotation AST2BOpBase.Annotations.ESTIMATED_CARDINALITY is not
 already attached to the node. This makes it possible to write unit tests
 without real data.protected void estimateCardinality(StatementPatternNode sp, AST2BOpContext ctx, IBindingSet exogenousBindings, int nrExogeneousBindings)
sp - db - exogenousBindings - protected void estimateCardinalities(StatementPatternNode sp, IV<?,?> s, IV<?,?> p, IV<?,?> o, IV<?,?> c, AST2BOpContext ctx, int exogenousBindingsAdjustmentFactor)
protected static IV getIV(TermNode term, IBindingSet exogenousBindings, AtomicBoolean usesExogeneousBinding)
term - exogenousBindings - The externally given bindings (optional).Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.