public class ASTRunFirstRunLastOptimizer extends Object implements IASTOptimizer
IGroupMemberNode within a
JoinGroupNode in the right order w.r.t. to the other types.
Basically the ASTRunFirstRunLastOptimizer will look for IJoinNodes that have a query hint of QueryHints.RUN_FIRST=true or RUN_LAST=true. If it finds more than one "run first" or "run last" it will throw an exception. If it finds an optional marked as "run first" it will throw an exception. It will then scan the group and identify the first and last indices for IJoinNodes, and place the run first and run last IJoinNodes at those indices. The static optimizer will also look for a "run first" IJoinNode in a group and make sure that it gets run first in the group (of the statement patterns).
| Constructor and Description |
|---|
ASTRunFirstRunLastOptimizer() |
| Modifier and Type | Method and Description |
|---|---|
QueryNodeWithBindingSet |
optimize(AST2BOpContext context,
QueryNodeWithBindingSet input)
Optimize the AST.
|
public QueryNodeWithBindingSet optimize(AST2BOpContext context, QueryNodeWithBindingSet input)
IASTOptimizeroptimize in interface IASTOptimizercontext - The evaluation context.input - The input to the optimizer, consisting of a queryNode and
input binding set.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.