Class BatchedUpdateNode
- java.lang.Object
-
- org.teiid.query.processor.relational.RelationalNode
-
- org.teiid.query.processor.relational.SubqueryAwareRelationalNode
-
- org.teiid.query.processor.relational.BatchedUpdateNode
-
- All Implemented Interfaces:
Cloneable
,BatchCollector.BatchProducer
public class BatchedUpdateNode extends SubqueryAwareRelationalNode
Node that batches commands sent to the DataManager.- Since:
- 4.2
-
-
Field Summary
-
Fields inherited from class org.teiid.query.processor.relational.RelationalNode
childCount
-
-
Constructor Summary
Constructors Constructor Description BatchedUpdateNode(int nodeID, List<Command> commands, List<VariableContext> contexts, List<Boolean> shouldEvaluate, String modelName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
clone()
All the implementation of Cloneable interface need to implement clone() method.void
closeDirect()
PlanNode
getDescriptionProperties()
Collection<? extends LanguageObject>
getObjects()
TupleBatch
nextBatchDirect()
Template method for subclasses to implement.void
open()
Boolean
requiresTransaction(boolean transactionalReads)
void
reset()
-
Methods inherited from class org.teiid.query.processor.relational.SubqueryAwareRelationalNode
getEvaluator, requiresTransaction, setReferenceValues
-
Methods inherited from class org.teiid.query.processor.relational.RelationalNode
addBatchRow, addChild, close, copyTo, createLookupMap, getBatchSize, getBuffer, getBufferDirect, getBufferManager, getChildCount, getChildren, getClassName, getConnectionID, getContext, getDataManager, getElements, getEstimateNodeCardinality, getID, getNodeStatistics, getNodeString, getOutputElements, getParent, getProjectionIndexes, hasBuffer, hasPendingRows, initialize, isBatchFull, isClosed, isLastBatch, nextBatch, nodeToString, projectTuple, projectTuple, pullBatch, setContext, setElements, setEstimateDepAccessCardinality, setEstimateDepJoinCost, setEstimateJoinCost, setEstimateNodeCardinality, setEstimateNodeSetSize, setID, setParent, terminateBatches, toString, unwrapException
-
-
-
-
Constructor Detail
-
BatchedUpdateNode
public BatchedUpdateNode(int nodeID, List<Command> commands, List<VariableContext> contexts, List<Boolean> shouldEvaluate, String modelName)
- Parameters:
nodeID
-commands
- The Commands in this batchmodelName
- The name of the model. All the commands in this batch must update groups only within this model.- Since:
- 4.2
-
-
Method Detail
-
open
public void open() throws TeiidComponentException, TeiidProcessingException
- Overrides:
open
in classRelationalNode
- Throws:
TeiidComponentException
TeiidProcessingException
- Since:
- 4.2
- See Also:
RelationalNode.open()
-
nextBatchDirect
public TupleBatch nextBatchDirect() throws BlockedException, TeiidComponentException, TeiidProcessingException
Description copied from class:RelationalNode
Template method for subclasses to implement.- Specified by:
nextBatchDirect
in classRelationalNode
- Returns:
- Throws:
TeiidProcessingException
BlockedException
TeiidComponentException
- Since:
- 4.2
- See Also:
RelationalNode.nextBatchDirect()
-
closeDirect
public void closeDirect()
- Overrides:
closeDirect
in classSubqueryAwareRelationalNode
- Since:
- 4.2
- See Also:
RelationalNode.close()
-
reset
public void reset()
- Overrides:
reset
in classSubqueryAwareRelationalNode
- Since:
- 4.2
- See Also:
RelationalNode.reset()
-
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.- Specified by:
clone
in classRelationalNode
- Since:
- 4.2
- See Also:
Object.clone()
-
getObjects
public Collection<? extends LanguageObject> getObjects()
- Specified by:
getObjects
in classSubqueryAwareRelationalNode
-
requiresTransaction
public Boolean requiresTransaction(boolean transactionalReads)
- Overrides:
requiresTransaction
in classSubqueryAwareRelationalNode
- Returns:
- true if required, false if not required, and null if a single source command is issued and a transaction may be needed.
-
getDescriptionProperties
public PlanNode getDescriptionProperties()
- Overrides:
getDescriptionProperties
in classRelationalNode
-
-