org.eigenbase.rel
Class SamplingRel

java.lang.Object
  extended by org.eigenbase.rel.AbstractRelNode
      extended by org.eigenbase.rel.SingleRel
          extended by org.eigenbase.rel.SamplingRel
All Implemented Interfaces:
Cloneable, RelNode

public class SamplingRel
extends SingleRel

SamplingRel represents the TABLESAMPLE BERNOULLI or SYSTEM keyword applied to a table, view or subquery.

Author:
Stephan Zuercher

Field Summary
private  RelOptSamplingParameters params
           
 
Fields inherited from class org.eigenbase.rel.AbstractRelNode
digest, id, nextId, rowType, traits
 
Fields inherited from interface org.eigenbase.rel.RelNode
emptyArray
 
Constructor Summary
SamplingRel(RelOptCluster cluster, RelNode child, RelOptSamplingParameters params)
           
 
Method Summary
 RelNode clone()
          Clones this RelNode.
 void explain(RelOptPlanWriter pw)
           
 RelOptSamplingParameters getSamplingParameters()
          Retrieve the sampling parameters for this SamplingRel.
 
Methods inherited from class org.eigenbase.rel.SingleRel
childrenAccept, deriveRowType, getChild, getInputs, getRows, replaceInput
 
Methods inherited from class org.eigenbase.rel.AbstractRelNode
cloneTraits, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRowType, getTable, getTraits, getVariablesStopped, inheritTraitsFrom, isAccessTo, isDistinct, isValid, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

params

private final RelOptSamplingParameters params
Constructor Detail

SamplingRel

public SamplingRel(RelOptCluster cluster,
                   RelNode child,
                   RelOptSamplingParameters params)
Method Detail

clone

public RelNode 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
Specified by:
clone in class AbstractRelNode
Returns:
a clone of this RelNode

getSamplingParameters

public RelOptSamplingParameters getSamplingParameters()
Retrieve the sampling parameters for this SamplingRel.


explain

public void explain(RelOptPlanWriter pw)
Specified by:
explain in interface RelNode
Overrides:
explain in class SingleRel