com.metamatrix.query.processor.relational
Class ProjectNode

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

public class ProjectNode
extends SubqueryAwareRelationalNode


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
ProjectNode(int nodeID)
           
 
Method Summary
 java.lang.Object clone()
          All the implementation of Cloneable interface need to implement clone() method.
protected  void copy(ProjectNode source, ProjectNode target)
           
 java.util.Map getDescriptionProperties()
          Get a description as a set of properties of primitive types such as String, Integer, etc.
 java.util.Collection<LanguageObject> getLanguageObjects()
           
protected  void getNodeString(java.lang.StringBuffer str)
           
 java.util.List getSelectSymbols()
          return List of select symbols
 void initialize(CommandContext context, BufferManager bufferManager, ProcessorDataManager dataMgr)
           
 TupleBatch nextBatchDirect()
          Template method for subclasses to implement.
 void reset()
           
 void setSelectSymbols(java.util.List symbols)
           
 
Methods inherited from class com.metamatrix.query.processor.relational.SubqueryAwareRelationalNode
close, getEvaluator
 
Methods inherited from class com.metamatrix.query.processor.relational.RelationalNode
addBatchRow, addChild, copy, createLookupMap, getBatchSize, getBufferManager, getChildDescriptionProperties, getChildPlans, getChildren, getClassName, getConnectionID, getContext, getDataManager, getElements, getEstimateNodeCardinality, getID, getNodeStatistics, getParent, hasPendingRows, isBatchFull, isClosed, nextBatch, nodeToString, open, 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

ProjectNode

public ProjectNode(int nodeID)
Method Detail

reset

public void reset()
Overrides:
reset in class SubqueryAwareRelationalNode

getSelectSymbols

public java.util.List getSelectSymbols()
return List of select symbols

Returns:
List of select symbols

setSelectSymbols

public void setSelectSymbols(java.util.List symbols)

initialize

public void initialize(CommandContext context,
                       BufferManager bufferManager,
                       ProcessorDataManager dataMgr)
Overrides:
initialize in class RelationalNode

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

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(ProjectNode source,
                    ProjectNode 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

getLanguageObjects

public java.util.Collection<LanguageObject> getLanguageObjects()
Overrides:
getLanguageObjects in class RelationalNode


Copyright © 2009. All Rights Reserved.