@Deprecated public class ASTJoinOrderByTypeOptimizer extends AbstractJoinGroupOptimizer implements IASTOptimizer
IGroupMemberNode
within a
JoinGroupNode
in the right order with respect to the other types.
TODO TEST SUITE!
This optimizer is deprecated. It can enabled using the query hint
QueryHints.DEFAULT_OLD_JOIN_ORDER_OPTIMIZER
. The new optimizer
replacing this one is the ASTJoinGroupOrderOptimizer
.Constructor and Description |
---|
ASTJoinOrderByTypeOptimizer()
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
protected void |
optimizeJoinGroup(AST2BOpContext ctx,
StaticAnalysis sa,
IBindingSet[] bSets,
JoinGroupNode joinGroup)
Deprecated.
Get the group member nodes into the right order:
|
optimize
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
optimize
protected void optimizeJoinGroup(AST2BOpContext ctx, StaticAnalysis sa, IBindingSet[] bSets, JoinGroupNode joinGroup)
1. Pre-filters 2. In-filters x. Assignments with a constant Required joins: 3. Some Service calls (e.g. Bigdata SEARCH) 4. Subquery-includes 5. Statement patterns 7. Sparql11 subqueries 8. Non-optional subgroups 9. Other service calls TODO: the placement of OPTIONALS should really be more complicated than this. e.g. consider interaction with SERVICE calls etc. Optional joins: 10. Simple optionals & optional subgroups 11. Assignments 12. Post-conditionalsMost of this logic was lifted out of
AST2BOpUtility
.
Note: Join filters are now attached to IJoinNode
s.
optimizeJoinGroup
in class AbstractJoinGroupOptimizer
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.