com.lucidera.lcs
Class LcsTableProjectionRule
java.lang.Object
org.eigenbase.relopt.RelOptRule
net.sf.farrago.namespace.impl.MedAbstractFennelProjectionRule
com.lucidera.lcs.LcsTableProjectionRule
public class LcsTableProjectionRule
- extends MedAbstractFennelProjectionRule
LcsTableProjectionRule implements the rule for pushing a Projection into a
LcsRowScanRel.
- Version:
- $Id: //open/dev/farrago/src/com/lucidera/lcs/LcsTableProjectionRule.java#23 $
- Author:
- Zelaine Fong
Methods inherited from class org.eigenbase.relopt.RelOptRule |
convert, equals, equals, getOperand, getOperands, getOutTrait, hashCode, matches, mergeTraitsAndConvert, mergeTraitsAndConvert, toString |
instance
public static final LcsTableProjectionRule instance
LcsTableProjectionRule
private LcsTableProjectionRule()
- Creates a LcsTableProjectionRule.
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 MedAbstractFennelProjectionRule
- Parameters:
call
- Rule call- See Also:
RelOptRule.matches(RelOptRuleCall)
mapProjCol
protected Integer mapProjCol(RexNode exp,
List<String> origFieldName,
RelDataType rowType)
- Maps a projection expression to its underlying field reference. Also
handles special columns, mapping them to their special column ids.
- Overrides:
mapProjCol
in class MedAbstractFennelProjectionRule
- Parameters:
exp
- expression to be mappedorigFieldName
- returns field name corresponding to the field
referencerowType
- row from which the field reference originated
- Returns:
- ordinal representing the projection element