com.metamatrix.query.processor.relational
Class BatchedUpdateNode

java.lang.Object
  extended by com.metamatrix.query.processor.relational.RelationalNode
      extended by com.metamatrix.query.processor.relational.BatchedUpdateNode
All Implemented Interfaces:
Describable, java.lang.Cloneable

public class BatchedUpdateNode
extends RelationalNode

Node that batches commands sent to the DataManager.

Since:
4.2

Field Summary
 
Fields inherited from interface com.metamatrix.query.processor.Describable
PROP_BINDINGS, PROP_CHILDREN, PROP_CONDITIONS, PROP_CRITERIA, PROP_DATA_COL, PROP_DEFAULT, PROP_DEFAULT_PROGRAM, PROP_ELSE, PROP_ENCODING, PROP_EXECUTION_PLAN, PROP_EXPRESSION, PROP_FORMATTED, PROP_GROUP, PROP_GROUP_COLS, PROP_IN_MEMORY, PROP_INTO_GROUP, PROP_IS_STAGING, PROP_JOIN_CRITERIA, PROP_JOIN_STRATEGY, PROP_JOIN_TYPE, PROP_MESSAGE, PROP_MODEL_NAME, PROP_NAMESPACE, PROP_NAMESPACE_DECL, PROP_NODE_COST_ESTIMATES, PROP_NODE_STATS_LIST, PROP_NODE_STATS_PROPS, PROP_OPTIONAL, PROP_OUTPUT_COLS, PROP_PROGRAM, PROP_PROGRAMS, PROP_RECURSE_DIR, PROP_REMOVE_DUPS, PROP_RESULT_SET, PROP_ROW_LIMIT, PROP_ROW_OFFSET, PROP_SELECT_COLS, PROP_SORT_COLS, PROP_SQL, PROP_TAG, PROP_THEN, PROP_TYPE, PROP_VARIABLE
 
Constructor Summary
BatchedUpdateNode(int nodeID, java.util.List<Command> commands, java.util.List<VariableContext> contexts, java.util.List<java.lang.Boolean> shouldEvaluate, java.lang.String modelName)
           
 
Method Summary
 java.lang.Object clone()
          All the implementation of Cloneable interface need to implement clone() method.
 void close()
           
 TupleBatch nextBatchDirect()
          Template method for subclasses to implement.
 void open()
           
 void reset()
           
 
Methods inherited from class com.metamatrix.query.processor.relational.RelationalNode
addBatchRow, addChild, copy, createLookupMap, getBatchSize, getBufferManager, getChildDescriptionProperties, getChildPlans, getChildren, getClassName, getConnectionID, getContext, getDataManager, getDescriptionProperties, getElements, getEstimateNodeCardinality, getID, getLanguageObjects, getNodeStatistics, getNodeString, getParent, hasPendingRows, initialize, isBatchFull, isClosed, 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

BatchedUpdateNode

public BatchedUpdateNode(int nodeID,
                         java.util.List<Command> commands,
                         java.util.List<VariableContext> contexts,
                         java.util.List<java.lang.Boolean> shouldEvaluate,
                         java.lang.String modelName)
Parameters:
nodeID -
commands - The Commands in this batch
modelName - 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 MetaMatrixComponentException,
                 MetaMatrixProcessingException
Overrides:
open in class RelationalNode
Throws:
MetaMatrixComponentException
MetaMatrixProcessingException
Since:
4.2
See Also:
RelationalNode.open()

nextBatchDirect

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

Specified by:
nextBatchDirect in class RelationalNode
Returns:
Throws:
MetaMatrixProcessingException
BlockedException
MetaMatrixComponentException
Since:
4.2
See Also:
RelationalNode.nextBatchDirect()

close

public void close()
           throws MetaMatrixComponentException
Overrides:
close in class RelationalNode
Throws:
MetaMatrixComponentException
Since:
4.2
See Also:
RelationalNode.close()

reset

public void reset()
Overrides:
reset in class RelationalNode
Since:
4.2
See Also:
RelationalNode.reset()

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
Since:
4.2
See Also:
Object.clone()


Copyright © 2009. All Rights Reserved.