- All Implemented Interfaces:
public class RewriteIdentityJoins
- extends Object
- implements OptimizerRule
optimizer rule that rewrites JOIN nodes that have
equi-join criteria where
the columns involved in the equi-join are all identity columns (that is, they form a
key for the table). This rewrite only happens when the left
and right children of the JOIN node are both SOURCE nodes.
The basic idea is that in these identity equi-join cases, the following structure:
is transformed into a simple SOURCE node:
Note that this rewriting removes a selector, and thus the nodes above the JOIN node that made use of the removed selector are
also modified to reference the remaining selector.
public static final RewriteIdentityJoins INSTANCE
public PlanNode execute(QueryContext context,
- Description copied from interface:
- Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules.
- Specified by:
execute in interface
context - the context in which the query is being optimized; never null
plan - the plan to be optimized; never null
ruleStack - the stack of rules that will be run after this rule; never null
- the optimized plan; never null
protected void rewriteJoinNode(QueryContext context,
public String toString()
toString in class
Copyright © 2008-2012 JBoss, a division of Red Hat. All Rights Reserved.