|
|||||||||
| 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.ValuesRelBase
public abstract class ValuesRelBase
ValuesRelBase is an abstract base class for implementations of
ValuesRel.
| Field Summary | |
|---|---|
protected List<List<RexLiteral>> |
tuples
|
| 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 |
ValuesRelBase(RelOptCluster cluster,
RelDataType rowType,
List<List<RexLiteral>> tuples,
RelTraitSet traits)
Creates a new ValuesRelBase. |
| Method Summary | |
|---|---|
private boolean |
assertRowType()
|
ValuesRelBase |
clone()
Clones this RelNode. |
RelOptCost |
computeSelfCost(RelOptPlanner planner)
Returns the cost of this plan (not including children). |
protected RelDataType |
deriveRowType()
|
void |
explain(RelOptPlanWriter pw)
|
double |
getRows()
Returns an estimate of the number of rows this relational expression will return. |
List<List<RexLiteral>> |
getTuples()
|
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected final List<List<RexLiteral>> tuples
| Constructor Detail |
|---|
protected ValuesRelBase(RelOptCluster cluster,
RelDataType rowType,
List<List<RexLiteral>> tuples,
RelTraitSet traits)
cluster - .rowType - row type for tuples produced by this reltuples - 2-dimensional array of tuple values to be produced; outer
list contains tuples; each inner list is one tuple; all tuples must be of
same length, conforming to rowType| Method Detail |
|---|
public List<List<RexLiteral>> getTuples()
private boolean assertRowType()
public ValuesRelBase clone()
RelNodeTraits 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.
clone in interface RelNodeclone in class AbstractRelNodeprotected RelDataType deriveRowType()
deriveRowType in class AbstractRelNodepublic 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 AbstractRelNodepublic double getRows()
RelNodeNOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
RelMetadataQuery.getRowCount(org.eigenbase.rel.RelNode), which gives plugins a chance to
override the rel's default ideas about row count.
getRows in interface RelNodegetRows in class AbstractRelNodepublic void explain(RelOptPlanWriter pw)
explain in interface RelNodeexplain in class AbstractRelNode
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||