org.eigenbase.rel.rules
Class CoerceInputsRule
java.lang.Object
org.eigenbase.relopt.RelOptRule
org.eigenbase.rel.rules.CoerceInputsRule
public class CoerceInputsRule
- extends RelOptRule
CoerceInputsRule precasts inputs to a particular type. This can be used to
assist operator implementations which impose requirements on their input
types.
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/rel/rules/CoerceInputsRule.java#2 $
- Author:
- John V. Sichi
Methods inherited from class org.eigenbase.relopt.RelOptRule |
convert, equals, equals, getOperand, getOperands, getOutTrait, hashCode, matches, mergeTraitsAndConvert, mergeTraitsAndConvert, toString |
consumerRelClass
private final Class consumerRelClass
coerceNames
private final boolean coerceNames
CoerceInputsRule
public CoerceInputsRule(Class<? extends RelNode> consumerRelClass,
boolean coerceNames)
- Constructs the rule.
- Parameters:
consumerRelClass
- the RelNode class which will consume the inputscoerceNames
- if true, coerce names and types; if false, coerce type
only
getOutConvention
public CallingConvention getOutConvention()
- Description copied from class:
RelOptRule
- Returns the calling convention of the result of firing this rule, null if
not known.
- Overrides:
getOutConvention
in class RelOptRule
onMatch
public void onMatch(RelOptRuleCall call)
- Description copied from class:
RelOptRule
- Receives notification about a rule match. At the time that this method is
called,
call.rels
holds the set of relational
expressions which match the operands to the rule;
call.rels[0]
is the root expression.
Typically a rule would check that the nodes are valid matches, creates
a new expression, then calls back RelOptRuleCall.transformTo(org.eigenbase.rel.RelNode)
to
register the expression.
- Specified by:
onMatch
in class RelOptRule
- Parameters:
call
- Rule call- See Also:
RelOptRule.matches(RelOptRuleCall)