org.teiid.query.processor.relational
Class PlanExecutionNode

java.lang.Object
  extended by org.teiid.query.processor.relational.RelationalNode
      extended by org.teiid.query.processor.relational.PlanExecutionNode
All Implemented Interfaces:
java.lang.Cloneable, BatchCollector.BatchProducer
Direct Known Subclasses:
DependentProcedureExecutionNode, InsertPlanExecutionNode

public class PlanExecutionNode
extends RelationalNode


Constructor Summary
protected PlanExecutionNode()
           
  PlanExecutionNode(int nodeID)
           
 
Method Summary
 java.lang.Object clone()
          All the implementation of Cloneable interface need to implement clone() method.
 void closeDirect()
           
protected  void copy(PlanExecutionNode source, PlanExecutionNode target)
           
 PlanNode getDescriptionProperties()
           
protected  void getNodeString(java.lang.StringBuffer str)
           
 ProcessorPlan getProcessorPlan()
           
protected  boolean hasNextCommand()
           
 TupleBatch nextBatchDirect()
          Template method for subclasses to implement.
 void open()
           
protected  boolean openPlanImmediately()
           
protected  boolean prepareNextCommand()
           
 void reset()
           
 void setProcessorPlan(ProcessorPlan plan)
           
 
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, initialize, isBatchFull, isClosed, isLastBatch, nextBatch, nodeToString, 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

PlanExecutionNode

protected PlanExecutionNode()

PlanExecutionNode

public PlanExecutionNode(int nodeID)
Method Detail

reset

public void reset()
Overrides:
reset in class RelationalNode

setProcessorPlan

public void setProcessorPlan(ProcessorPlan plan)

open

public void open()
          throws TeiidComponentException,
                 TeiidProcessingException
Overrides:
open in class RelationalNode
Throws:
TeiidComponentException
TeiidProcessingException

openPlanImmediately

protected boolean openPlanImmediately()

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

prepareNextCommand

protected boolean prepareNextCommand()
                              throws BlockedException,
                                     TeiidComponentException,
                                     TeiidProcessingException
Throws:
BlockedException
TeiidComponentException
TeiidProcessingException

hasNextCommand

protected boolean hasNextCommand()

closeDirect

public void closeDirect()
Overrides:
closeDirect in class RelationalNode

getNodeString

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

getProcessorPlan

public ProcessorPlan getProcessorPlan()

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

copy

protected void copy(PlanExecutionNode source,
                    PlanExecutionNode target)

getDescriptionProperties

public PlanNode getDescriptionProperties()
Overrides:
getDescriptionProperties in class RelationalNode


Copyright © 2011. All Rights Reserved.