Class SamplingRel

  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.

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
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


private final RelOptSamplingParameters params
Constructor Detail


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


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(...);
         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
a clone of this RelNode


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


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