public class ASTAttachJoinFiltersOptimizer extends Object implements IASTOptimizer
FilterNodes which will run as "join filters" to
StatementPatternNodes. The joins must already be in the order in which they will be evaluated. Join filters which are already attached to required joins will be pick up and reattached as appropriate for the current join evaluation order.
Note: Even though a
FilterNode is attached to a given join, the
FilterNode may have materialization requirements which make it
impossible to evaluate the constraint on the physical JOIN operator. In such
cases, a materialization pattern will be used to ensure that the necessary
variables have been materialized before the constraint runs. The
materialization pipeline, of necessity, runs after the join and the
constraint will be modeled as a
ConditionalRoutingOp. However, this
optimizer is NOT responsible for those decisions. It just attaches filters to
join based on when their variables become bound, not when their variables are
known to satisify the materialization requirements for the filter.
|Constructor and Description|
|Modifier and Type||Method and Description|
Optimize the AST.
public QueryNodeWithBindingSet optimize(AST2BOpContext context, QueryNodeWithBindingSet input)
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.