net.sf.farrago.namespace.mdr
Class MedMdrClassExtentRel
java.lang.Object
org.eigenbase.rel.AbstractRelNode
org.eigenbase.rel.TableAccessRelBase
net.sf.farrago.namespace.mdr.MedMdrClassExtentRel
- All Implemented Interfaces:
- Cloneable, JavaRel, RelNode
class MedMdrClassExtentRel
- extends TableAccessRelBase
- implements JavaRel
MedMdrClassExtentRel is the relational expression corresponding to a scan
over all rows of a MedMdrClassExtent.
TODO: support push-down of projection and filtering
- Version:
- $Id: //open/dev/farrago/src/net/sf/farrago/namespace/mdr/MedMdrClassExtentRel.java#27 $
- Author:
- John V. Sichi
Methods inherited from class org.eigenbase.rel.AbstractRelNode |
childrenAccept, cloneTraits, collectVariablesSet, collectVariablesUsed, computeDigest, getChildExps, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRowType, getTraits, getVariablesStopped, inheritTraitsFrom, isAccessTo, isDistinct, isValid, onRegister, recomputeDigest, register, registerCorrelVariable, replaceInput, setCorrelVariable, toString |
Methods inherited from interface org.eigenbase.rel.RelNode |
childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraits, getVariablesStopped, isAccessTo, isDistinct, isValid, onRegister, recomputeDigest, registerCorrelVariable, replaceInput, setCorrelVariable |
mdrClassExtent
final MedMdrClassExtent mdrClassExtent
- Refinement for super.table.
rowClass
Class<? extends RefObject> rowClass
useReflection
boolean useReflection
MedMdrClassExtentRel
public MedMdrClassExtentRel(RelOptCluster cluster,
MedMdrClassExtent mdrClassExtent,
RelOptConnection connection)
clone
public MedMdrClassExtentRel clone()
- Description copied from interface:
RelNode
- Clones this RelNode.
Traits of the RelNode must be explicitly cloned, using AbstractRelNode.inheritTraitsFrom(AbstractRelNode)
, as the RelNode may
have traits of which it has no knowledge. Example implementation:
public MyRelNode clone()
{
MyRelNode clone = new MyRelNode(...);
clone.inheritTraitsFrom(this);
return clone;
}
N.B.: This method must be overridden whenever an existing,
concrete RelNode is extended. Otherwise, calling clone() will produce a
differently typed RelNode, resulting in invalid or incorrect query plans.
- Specified by:
clone
in interface RelNode
- Overrides:
clone
in class TableAccessRelBase
- Returns:
- a clone of this RelNode
getRuntimeName
private String[] getRuntimeName(RefBaseObject refObject)
getRefObjectFromModelElement
RefBaseObject getRefObjectFromModelElement(ModelElement modelElement)
getRefBaseObjectRuntimeExpression
Expression getRefBaseObjectRuntimeExpression(RefBaseObject refObject)
getCollectionExpression
public Expression getCollectionExpression()
implement
public ParseTree implement(JavaRelImplementor implementor)
- Description copied from interface:
JavaRel
- Creates a plan for this expression according to a calling convention.
- Specified by:
implement
in interface JavaRel
- Parameters:
implementor
- implementor
implementProjection
RexNode[] implementProjection(Expression inputRow)