|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eigenbase.rel.AbstractRelNode org.eigenbase.rel.SingleRel org.eigenbase.rel.ProjectRelBase
public abstract class ProjectRelBase
ProjectRelBase
is an abstract base class for implementations of
ProjectRel
.
Nested Class Summary | |
---|---|
private static class |
ProjectRelBase.Checker
Visitor which walks over a program and checks validity. |
static interface |
ProjectRelBase.Flags
|
Field Summary | |
---|---|
private List<RelCollation> |
collationList
|
protected RexNode[] |
exps
|
protected int |
flags
Values defined in ProjectRelBase.Flags . |
Fields inherited from class org.eigenbase.rel.AbstractRelNode |
---|
digest, id, nextId, rowType, traits |
Fields inherited from interface org.eigenbase.rel.RelNode |
---|
emptyArray |
Constructor Summary | |
---|---|
protected |
ProjectRelBase(RelOptCluster cluster,
RelTraitSet traits,
RelNode child,
RexNode[] exps,
RelDataType rowType,
int flags,
List<RelCollation> collationList)
Creates a Project. |
Method Summary | |
---|---|
RelOptCost |
computeSelfCost(RelOptPlanner planner)
Returns the cost of this plan (not including children). |
void |
explain(RelOptPlanWriter pw)
|
RexNode[] |
getChildExps()
Returns an array of this relational expression's child expressions (not including the inputs returned by RelNode.getInputs() . |
List<RelCollation> |
getCollationList()
Returns a description of the physical ordering (or orderings) of this relational expression. |
int |
getFlags()
|
RexNode[] |
getProjectExps()
Returns the project expressions. |
JavaRel |
implementFieldAccess(JavaRelImplementor implementor,
String fieldName)
Burrows into a synthetic record and returns the underlying relation which provides the field called fieldName . |
boolean |
isBoxed()
|
boolean |
isValid(boolean fail)
Returns whether this relational expression is valid. |
Methods inherited from class org.eigenbase.rel.SingleRel |
---|
childrenAccept, deriveRowType, getChild, getInputs, getRows, replaceInput |
Methods inherited from class org.eigenbase.rel.AbstractRelNode |
---|
clone, cloneTraits, collectVariablesSet, collectVariablesUsed, computeDigest, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRowType, getTable, getTraits, getVariablesStopped, inheritTraitsFrom, isAccessTo, isDistinct, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected RexNode[] exps
protected int flags
ProjectRelBase.Flags
.
private final List<RelCollation> collationList
Constructor Detail |
---|
protected ProjectRelBase(RelOptCluster cluster, RelTraitSet traits, RelNode child, RexNode[] exps, RelDataType rowType, int flags, List<RelCollation> collationList)
cluster
- Cluster this relational expression belongs totraits
- traits of this relchild
- input relational expressionexps
- set of expressions for the input columnsrowType
- output row typeflags
- values as in ProjectRelBase.Flags
collationList
- List of sort keysMethod Detail |
---|
public List<RelCollation> getCollationList()
RelNode
getCollationList
in interface RelNode
getCollationList
in class AbstractRelNode
public boolean isBoxed()
public RexNode[] getChildExps()
RelNode
RelNode.getInputs()
. If there are no
child expressions, returns an empty array, not null
.
getChildExps
in interface RelNode
getChildExps
in class AbstractRelNode
public RexNode[] getProjectExps()
public int getFlags()
public boolean isValid(boolean fail)
RelNode
If assertions are enabled, this method is typically called with
fail
= true
, as follows:
This signals that the method can throw anassert rel.isValid(true)
AssertionError
if it is
not valid.
isValid
in interface RelNode
isValid
in class AbstractRelNode
fail
- Whether to fail if invalid
public RelOptCost computeSelfCost(RelOptPlanner planner)
RelNode
NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
RelMetadataQuery.getNonCumulativeCost(org.eigenbase.rel.RelNode)
, which gives plugins a
chance to override the rel's default ideas about cost.
computeSelfCost
in interface RelNode
computeSelfCost
in class AbstractRelNode
public void explain(RelOptPlanWriter pw)
explain
in interface RelNode
explain
in class SingleRel
public JavaRel implementFieldAccess(JavaRelImplementor implementor, String fieldName)
fieldName
.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |