com.metamatrix.query.processor.relational
Class PlanExecutionNode
java.lang.Object
com.metamatrix.query.processor.relational.RelationalNode
com.metamatrix.query.processor.relational.PlanExecutionNode
- All Implemented Interfaces:
- Describable, java.lang.Cloneable
- Direct Known Subclasses:
- DependentProcedureExecutionNode
public class PlanExecutionNode
- extends RelationalNode
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 |
Methods inherited from class com.metamatrix.query.processor.relational.RelationalNode |
addBatchRow, addChild, copy, createLookupMap, getBatchSize, getBufferManager, getChildDescriptionProperties, getChildren, getClassName, getConnectionID, getContext, getDataManager, getElements, getEstimateNodeCardinality, getID, getLanguageObjects, getNodeStatistics, 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 |
PlanExecutionNode
public PlanExecutionNode(int nodeID)
reset
public void reset()
- Overrides:
reset
in class RelationalNode
setProcessorPlan
public void setProcessorPlan(ProcessorPlan plan)
open
public void open()
throws MetaMatrixComponentException,
MetaMatrixProcessingException
- Overrides:
open
in class RelationalNode
- Throws:
MetaMatrixComponentException
MetaMatrixProcessingException
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:
BlockedException
MetaMatrixComponentException
MetaMatrixProcessingException
- if exception related to user input occured
prepareNextCommand
protected boolean prepareNextCommand()
throws BlockedException,
MetaMatrixComponentException,
MetaMatrixProcessingException
- Throws:
BlockedException
MetaMatrixComponentException
MetaMatrixProcessingException
hasNextCommand
protected boolean hasNextCommand()
close
public void close()
throws MetaMatrixComponentException
- Overrides:
close
in class RelationalNode
- Throws:
MetaMatrixComponentException
getNodeString
protected void getNodeString(java.lang.StringBuffer str)
- Overrides:
getNodeString
in class RelationalNode
getProcessorPlan
protected 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 java.util.Map getDescriptionProperties()
- Description copied from interface:
Describable
- Get a description as a set of properties of primitive types such
as String, Integer, etc.
- Specified by:
getDescriptionProperties
in interface Describable
- Overrides:
getDescriptionProperties
in class RelationalNode
- Returns:
- Map of properties
getChildPlans
public java.util.List getChildPlans()
- Description copied from class:
RelationalNode
- Find all ProcessorPlans used by this node. If no plans are used, null may be returned.
The default implementation will return null.
- Overrides:
getChildPlans
in class RelationalNode
- Returns:
- List of ProcessorPlan or null if none
- Since:
- 4.2
- See Also:
com.metamatrix.query.processor.relational.RelationalNode#getSubPlans()
Copyright © 2009. All Rights Reserved.