|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eigenbase.rel.AbstractRelNode
org.eigenbase.rel.SingleRel
org.eigenbase.rel.convert.ConverterRelImpl
public abstract class ConverterRelImpl
Abstract implementation of ConverterRel.
| Field Summary | |
|---|---|
protected RelTraitSet |
inTraits
|
protected RelTraitDef |
traitDef
|
| Fields inherited from class org.eigenbase.rel.AbstractRelNode |
|---|
digest, id, rowType, traits |
| Fields inherited from interface org.eigenbase.rel.RelNode |
|---|
emptyArray |
| Constructor Summary | |
|---|---|
protected |
ConverterRelImpl(RelOptCluster cluster,
RelTraitDef traitDef,
RelTraitSet traits,
RelNode child)
Creates a ConverterRelImpl. |
| Method Summary | |
|---|---|
protected Error |
cannotImplement()
|
RelOptCost |
computeSelfCost(RelOptPlanner planner)
Returns the cost of this plan (not including children). |
protected static RelTraitSet |
convertTraits(RelTraitSet traits,
RelTrait trait)
Returns a new trait set based on traits, with a different
trait for a given type of trait. |
protected CallingConvention |
getInputConvention()
|
RelTraitSet |
getInputTraits()
Returns the trait of the input relational expression. |
RelTraitDef |
getTraitDef()
Returns the definition of trait which this converter works on. |
boolean |
isDistinct()
Returns whether the same value will not come out twice. |
| Methods inherited from class org.eigenbase.rel.SingleRel |
|---|
childrenAccept, deriveRowType, explain, getChild, getInputs, getRows, replaceInput |
| Methods inherited from class org.eigenbase.rel.AbstractRelNode |
|---|
clone, cloneTraits, collectVariablesSet, collectVariablesUsed, computeDigest, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRowType, getTable, getTraits, getVariablesStopped, inheritTraitsFrom, isAccessTo, isValid, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.eigenbase.rel.convert.ConverterRel |
|---|
getChild |
| Methods inherited from interface org.eigenbase.rel.RelNode |
|---|
childrenAccept, clone, collectVariablesSet, collectVariablesUsed, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraits, getVariablesStopped, isAccessTo, isValid, onRegister, recomputeDigest, registerCorrelVariable, replaceInput, setCorrelVariable |
| Field Detail |
|---|
protected RelTraitSet inTraits
protected final RelTraitDef traitDef
| Constructor Detail |
|---|
protected ConverterRelImpl(RelOptCluster cluster,
RelTraitDef traitDef,
RelTraitSet traits,
RelNode child)
cluster - planner's clustertraitDef - the RelTraitDef this converter convertstraits - the output traits of this converterchild - child rel (provides input traits)| Method Detail |
|---|
public RelOptCost computeSelfCost(RelOptPlanner planner)
RelNodeNOTE 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 RelNodecomputeSelfCost in class AbstractRelNodeprotected Error cannotImplement()
public boolean isDistinct()
RelNodefalse, derived classes should override.
isDistinct in interface RelNodeisDistinct in class AbstractRelNodeprotected CallingConvention getInputConvention()
public RelTraitSet getInputTraits()
ConverterRel
getInputTraits in interface ConverterRelpublic RelTraitDef getTraitDef()
ConverterRelThe input relational expression (matched by the rule) must possess
this trait and have the value given by ConverterRel.getInputTraits(), and the
traits of the output of this converter given by RelNode.getTraits() will
have one trait altered and the other orthogonal traits will be the same.
getTraitDef in interface ConverterRel
protected static RelTraitSet convertTraits(RelTraitSet traits,
RelTrait trait)
traits, with a different
trait for a given type of trait. Clones traits, and then
replaces the existing trait matching trait.getTraitDef()
with trait.
traits - the set of traits to converttrait - the converted trait
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||