org.teiid.query.processor.relational
Class GroupingNode

java.lang.Object
  extended by org.teiid.query.processor.relational.RelationalNode
      extended by org.teiid.query.processor.relational.GroupingNode
All Implemented Interfaces:
java.lang.Cloneable, BatchCollector.BatchProducer

public class GroupingNode
extends RelationalNode


Constructor Summary
GroupingNode(int nodeID)
           
 
Method Summary
 java.lang.Object clone()
          All the implementation of Cloneable interface need to implement clone() method.
 void closeDirect()
           
 TupleSource getCollectionTupleSource()
           
 PlanNode getDescriptionProperties()
           
protected  void getNodeString(java.lang.StringBuffer str)
           
 void initialize(CommandContext context, BufferManager bufferManager, ProcessorDataManager dataMgr)
           
 TupleBatch nextBatchDirect()
          Template method for subclasses to implement.
 void reset()
           
 void setGroupingElements(java.util.List groupingElements)
          Called by the planner to initialize the grouping node.
 void setRemoveDuplicates(boolean removeDuplicates)
           
 
Methods inherited from class org.teiid.query.processor.relational.RelationalNode
addBatchRow, addChild, close, copy, createLookupMap, getBatchSize, getBufferManager, getChildren, getClassName, getConnectionID, getContext, getDataManager, getElements, getEstimateNodeCardinality, getID, getNodeStatistics, getOutputElements, getParent, getProjectionIndexes, hasPendingRows, isBatchFull, isClosed, isLastBatch, nextBatch, nodeToString, open, projectTuple, pullBatch, setContext, setElements, setEstimateDepAccessCardinality, setEstimateDepJoinCost, setEstimateJoinCost, setEstimateNodeCardinality, setEstimateNodeSetSize, setID, setParent, terminateBatches, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GroupingNode

public GroupingNode(int nodeID)
Method Detail

reset

public void reset()
Overrides:
reset in class RelationalNode

setRemoveDuplicates

public void setRemoveDuplicates(boolean removeDuplicates)

setGroupingElements

public void setGroupingElements(java.util.List groupingElements)
Called by the planner to initialize the grouping node. Set the list of grouping expressions - these may be either elements or expressions and the list itself may be null to indicate an implied grouping on all columns

Parameters:
groupingElements -
Since:
4.2

initialize

public void initialize(CommandContext context,
                       BufferManager bufferManager,
                       ProcessorDataManager dataMgr)
Overrides:
initialize in class RelationalNode

nextBatchDirect

public TupleBatch nextBatchDirect()
                           throws BlockedException,
                                  TeiidComponentException,
                                  TeiidProcessingException
Description copied from class: RelationalNode
Template method for subclasses to implement.

Specified by:
nextBatchDirect in class RelationalNode
Returns:
Throws:
BlockedException
TeiidComponentException
TeiidProcessingException - if exception related to user input occured

getCollectionTupleSource

public TupleSource getCollectionTupleSource()

closeDirect

public void closeDirect()
Overrides:
closeDirect in class RelationalNode

getNodeString

protected void getNodeString(java.lang.StringBuffer str)
Overrides:
getNodeString in class RelationalNode

clone

public java.lang.Object clone()
Description copied from class: RelationalNode
All the implementation of Cloneable interface need to implement clone() method. The plan is only clonable in the pre-execution stage, not the execution state (things like program state, result sets, etc). It's only safe to call that method in between query processings, in other words, it's only safe to call clone() on a plan after nextTuple() returns null, meaning the plan has finished processing.

Specified by:
clone in class RelationalNode

getDescriptionProperties

public PlanNode getDescriptionProperties()
Overrides:
getDescriptionProperties in class RelationalNode


Copyright © 2010. All Rights Reserved.