com.metamatrix.query.processor.relational
Class SelectNode
java.lang.Object
com.metamatrix.query.processor.relational.RelationalNode
com.metamatrix.query.processor.relational.SelectNode
- All Implemented Interfaces:
- Describable, java.lang.Cloneable
- Direct Known Subclasses:
- DependentSelectNode
public class SelectNode
- 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, close, copy, createLookupMap, getBatchSize, getBufferManager, getChildDescriptionProperties, getChildPlans, getChildren, getClassName, getConnectionID, getContext, getDataManager, getElements, getEstimateNodeCardinality, getID, getNodeStatistics, getParent, initialize, isBatchFull, isClosed, nextBatch, nodeToString, projectTuple, pullBatch, 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 |
SelectNode
public SelectNode(int nodeID)
reset
public void reset()
- Overrides:
reset
in class RelationalNode
setCriteria
public void setCriteria(Criteria criteria)
getCriteria
public Criteria getCriteria()
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- See Also:
RelationalNode.nextBatchDirect()
prepareToProcessTuple
protected void prepareToProcessTuple(java.util.Map elementMap,
java.util.List currentTuple)
throws BlockedException,
MetaMatrixComponentException,
MetaMatrixProcessingException
- This method is called by
RelationalNode.nextBatch()
just after the current
tuple is pulled from the child processor node and just before any
processing is done (in this case, before the criteria is evaluated).
This gives subclasses a chance to do any custom processing - for example,
to examine the current tuple in order to execute correlated subqueries.
- Parameters:
elementMap
- Map of ElementSymbol elements to Integer indices into
the currentTuple parametercurrentTuple
- the current tuple about to be processed by
this node
- Throws:
MetaMatrixProcessingException
- for exception due to user input
BlockedException
MetaMatrixComponentException
getNodeString
protected void getNodeString(java.lang.StringBuffer str)
- Overrides:
getNodeString
in class RelationalNode
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(SelectNode source,
SelectNode 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
Copyright © 2009. All Rights Reserved.