com.lucidera.lcs
Class LcsTableAppendRel
java.lang.Object
  
org.eigenbase.rel.AbstractRelNode
      
org.eigenbase.rel.SingleRel
          
org.eigenbase.rel.TableModificationRelBase
              
net.sf.farrago.namespace.impl.MedAbstractFennelTableModRel
                  
com.lucidera.lcs.LcsTableAppendRel
- All Implemented Interfaces: 
 - Cloneable, FennelRel, RelNode
 
public class LcsTableAppendRel
- extends MedAbstractFennelTableModRel
 
LcsTableAppendRel is the relational expression corresponding to appending
 rows to all of the clusters of a column-store table.
- Version:
 
  - $Id: //open/dev/farrago/src/com/lucidera/lcs/LcsTableAppendRel.java#25 $
 
- Author:
 
  - Rushan Chen
 
 
 
| 
Field Summary | 
(package private)  LcsTable | 
lcsTable
 
          Refinement for TableModificationRelBase.table. | 
 
 
 
 
 
 
 
 
 
 
| Methods inherited from class org.eigenbase.rel.AbstractRelNode | 
cloneTraits, collectVariablesSet, collectVariablesUsed, computeDigest, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getId, getInput, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRowType, getTraits, getVariablesStopped, inheritTraitsFrom, isAccessTo, isDistinct, isValid, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString | 
 
 
| Methods inherited from interface org.eigenbase.rel.RelNode | 
childrenAccept, collectVariablesSet, collectVariablesUsed, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraits, getVariablesStopped, isAccessTo, isDistinct, isValid, onRegister, recomputeDigest, registerCorrelVariable, replaceInput, setCorrelVariable | 
 
lcsTable
final LcsTable lcsTable
- Refinement for TableModificationRelBase.table.
 
LcsTableAppendRel
public LcsTableAppendRel(RelOptCluster cluster,
                         LcsTable lcsTable,
                         RelOptConnection connection,
                         RelNode child,
                         TableModificationRelBase.Operation operation,
                         List<String> updateColumnList)
- Constructor. Currectly only insert is supported.
- Parameters:
 cluster - RelOptCluster for this rellcsTable - target table of insertconnection - connectionchild - input to the loadoperation - DML operation typeupdateColumnList - 
 
getLcsTable
public LcsTable getLcsTable()
 
computeSelfCost
public RelOptCost computeSelfCost(RelOptPlanner planner)
- Description copied from interface: 
RelNode 
- Returns the cost of this plan (not including children). The base
 implementation throws an error; derived classes should override.
 
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.
- Specified by:
 computeSelfCost in interface RelNode- Overrides:
 computeSelfCost in class TableModificationRelBase
 
 
 
clone
public LcsTableAppendRel 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
 
 
 
explain
public void explain(RelOptPlanWriter pw)
- Specified by:
 explain in interface RelNode- Overrides:
 explain in class TableModificationRelBase
 
 
toStreamDef
public FemExecutionStreamDef toStreamDef(FennelRelImplementor implementor)
- Description copied from interface: 
FennelRel 
- Converts this relational expression to 
FemExecutionStreamDef
 form. In the process, the relational expression will almost certainly
 call FennelRelImplementor.visitFennelChild(net.sf.farrago.query.FennelRel, int) on each of its
 children.
- Parameters:
 implementor - for generating Java code
- Returns:
 - generated FemExecutionStreamDef