com.metamatrix.query.processor.relational
Class JoinNode
java.lang.Object
com.metamatrix.query.processor.relational.RelationalNode
com.metamatrix.query.processor.relational.SubqueryAwareRelationalNode
com.metamatrix.query.processor.relational.JoinNode
- All Implemented Interfaces:
- Describable, java.lang.Cloneable
public class JoinNode
- extends SubqueryAwareRelationalNode
- Since:
- 4.2
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 |
JoinNode(int nodeID)
|
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, 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 |
JoinNode
public JoinNode(int nodeID)
setJoinType
public void setJoinType(JoinType type)
getJoinStrategy
public JoinStrategy getJoinStrategy()
setJoinStrategy
public void setJoinStrategy(JoinStrategy joinStrategy)
setJoinExpressions
public void setJoinExpressions(java.util.List leftExpressions,
java.util.List rightExpressions)
isLeftDistinct
public boolean isLeftDistinct()
setLeftDistinct
public void setLeftDistinct(boolean leftDistinct)
isRightDistinct
public boolean isRightDistinct()
setRightDistinct
public void setRightDistinct(boolean rightDistinct)
setJoinCriteria
public void setJoinCriteria(Criteria joinCriteria)
reset
public void reset()
- Overrides:
reset
in class SubqueryAwareRelationalNode
- See Also:
RelationalNode.reset()
initialize
public void initialize(CommandContext context,
BufferManager bufferManager,
ProcessorDataManager dataMgr)
- Overrides:
initialize
in class RelationalNode
open
public void open()
throws MetaMatrixComponentException,
MetaMatrixProcessingException
- Overrides:
open
in class RelationalNode
- Throws:
MetaMatrixComponentException
MetaMatrixProcessingException
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:
RelationalNode.clone()
nextBatchDirect
protected 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- Since:
- 4.2
- See Also:
RelationalNode.nextBatchDirect()
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
- Since:
- 4.2
- See Also:
RelationalNode.getDescriptionProperties()
getNodeString
protected void getNodeString(java.lang.StringBuffer str)
- Overrides:
getNodeString
in class RelationalNode
- Since:
- 4.2
- See Also:
RelationalNode.getNodeString(java.lang.StringBuffer)
isDependent
public boolean isDependent()
- Returns:
- Returns the isDependent.
setDependentValueSource
public void setDependentValueSource(java.lang.String dependentValueSource)
- Parameters:
isDependent
- The isDependent to set.
close
public void close()
throws MetaMatrixComponentException
- Overrides:
close
in class SubqueryAwareRelationalNode
- Throws:
MetaMatrixComponentException
getJoinType
public JoinType getJoinType()
getJoinCriteria
public Criteria getJoinCriteria()
getLeftExpressions
public java.util.List getLeftExpressions()
getRightExpressions
public java.util.List getRightExpressions()
getLanguageObjects
public java.util.Collection<? extends LanguageObject> getLanguageObjects()
- Overrides:
getLanguageObjects
in class RelationalNode
Copyright © 2009. All Rights Reserved.