Class InsertPlanExecutionNode
- java.lang.Object
-
- org.teiid.query.processor.relational.RelationalNode
-
- org.teiid.query.processor.relational.SubqueryAwareRelationalNode
-
- org.teiid.query.processor.relational.PlanExecutionNode
-
- org.teiid.query.processor.relational.InsertPlanExecutionNode
-
- All Implemented Interfaces:
Cloneable
,BatchCollector.BatchProducer
public class InsertPlanExecutionNode extends PlanExecutionNode
-
-
Field Summary
-
Fields inherited from class org.teiid.query.processor.relational.RelationalNode
childCount
-
-
Constructor Summary
Constructors Constructor Description InsertPlanExecutionNode(int nodeID, QueryMetadataInterface metadata)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addBatchRow(List row)
Object
clone()
All the implementation of Cloneable interface need to implement clone() method.void
closeDirect()
protected void
copyTo(InsertPlanExecutionNode target)
protected boolean
hasNextCommand()
protected boolean
openPlanImmediately()
protected boolean
prepareNextCommand()
protected TupleBatch
pullBatch()
Boolean
requiresTransaction(boolean transactionalReads)
void
reset()
void
setReferences(List<Reference> references)
-
Methods inherited from class org.teiid.query.processor.relational.PlanExecutionNode
copyTo, getDescriptionProperties, getNodeString, getObjects, getProcessorPlan, nextBatchDirect, open, setProcessorPlan
-
Methods inherited from class org.teiid.query.processor.relational.SubqueryAwareRelationalNode
getEvaluator, requiresTransaction, setReferenceValues
-
Methods inherited from class org.teiid.query.processor.relational.RelationalNode
addChild, close, copyTo, createLookupMap, getBatchSize, getBuffer, getBufferDirect, getBufferManager, getChildCount, getChildren, getClassName, getConnectionID, getContext, getDataManager, getElements, getEstimateNodeCardinality, getID, getNodeStatistics, getOutputElements, getParent, getProjectionIndexes, hasBuffer, hasPendingRows, initialize, isBatchFull, isClosed, isLastBatch, nextBatch, nodeToString, projectTuple, projectTuple, setContext, setElements, setEstimateDepAccessCardinality, setEstimateDepJoinCost, setEstimateJoinCost, setEstimateNodeCardinality, setEstimateNodeSetSize, setID, setParent, terminateBatches, toString, unwrapException
-
-
-
-
Constructor Detail
-
InsertPlanExecutionNode
public InsertPlanExecutionNode(int nodeID, QueryMetadataInterface metadata)
-
-
Method Detail
-
addBatchRow
protected void addBatchRow(List row)
- Overrides:
addBatchRow
in classRelationalNode
-
pullBatch
protected TupleBatch pullBatch()
- Overrides:
pullBatch
in classRelationalNode
-
hasNextCommand
protected boolean hasNextCommand()
- Overrides:
hasNextCommand
in classPlanExecutionNode
-
openPlanImmediately
protected boolean openPlanImmediately()
- Overrides:
openPlanImmediately
in classPlanExecutionNode
-
prepareNextCommand
protected boolean prepareNextCommand() throws BlockedException, TeiidComponentException, TeiidProcessingException
- Overrides:
prepareNextCommand
in classPlanExecutionNode
- Throws:
BlockedException
TeiidComponentException
TeiidProcessingException
-
clone
public 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.- Overrides:
clone
in classPlanExecutionNode
-
copyTo
protected void copyTo(InsertPlanExecutionNode target)
-
closeDirect
public void closeDirect()
- Overrides:
closeDirect
in classPlanExecutionNode
-
reset
public void reset()
- Overrides:
reset
in classPlanExecutionNode
-
requiresTransaction
public Boolean requiresTransaction(boolean transactionalReads)
- Overrides:
requiresTransaction
in classPlanExecutionNode
- Returns:
- true if required, false if not required, and null if a single source command is issued and a transaction may be needed.
-
-