Class JoinNode
- java.lang.Object
-
- org.teiid.query.processor.relational.RelationalNode
-
- org.teiid.query.processor.relational.SubqueryAwareRelationalNode
-
- org.teiid.query.processor.relational.JoinNode
-
- All Implemented Interfaces:
Cloneable
,BatchCollector.BatchProducer
public class JoinNode extends SubqueryAwareRelationalNode
- Since:
- 4.2
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JoinNode.JoinStrategyType
-
Field Summary
-
Fields inherited from class org.teiid.query.processor.relational.RelationalNode
childCount
-
-
Constructor Summary
Constructors Constructor Description JoinNode(int nodeID)
-
Method Summary
-
Methods inherited from class org.teiid.query.processor.relational.SubqueryAwareRelationalNode
getEvaluator, requiresTransaction, requiresTransaction, setReferenceValues
-
Methods inherited from class org.teiid.query.processor.relational.RelationalNode
addChild, close, copyTo, createLookupMap, getBatchSize, getBuffer, getBufferDirect, getBufferManager, getChildCount, getChildren, getClassName, getConnectionID, getContext, getDataManager, getElements, getEstimateNodeCardinality, getID, getNodeStatistics, getOutputElements, getParent, getProjectionIndexes, hasBuffer, hasPendingRows, isBatchFull, isClosed, isLastBatch, nextBatch, nodeToString, projectTuple, projectTuple, pullBatch, setContext, setElements, setEstimateDepAccessCardinality, setEstimateDepJoinCost, setEstimateJoinCost, setEstimateNodeCardinality, setEstimateNodeSetSize, setID, setParent, terminateBatches, toString, unwrapException
-
-
-
-
Method Detail
-
setJoinType
public void setJoinType(JoinType type)
-
getJoinStrategy
public JoinStrategy getJoinStrategy()
-
setJoinStrategy
public void setJoinStrategy(JoinStrategy joinStrategy)
-
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)
-
initialize
public void initialize(CommandContext context, BufferManager bufferManager, ProcessorDataManager dataMgr)
- Overrides:
initialize
in classRelationalNode
-
open
public void open() throws TeiidComponentException, TeiidProcessingException
- Overrides:
open
in classRelationalNode
- Throws:
TeiidComponentException
TeiidProcessingException
-
openInternal
public void openInternal() throws TeiidComponentException, TeiidProcessingException
-
clone
public 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 classRelationalNode
- Since:
- 4.2
- See Also:
RelationalNode.clone()
-
nextBatchDirect
public TupleBatch nextBatchDirect() throws TeiidComponentException, TeiidProcessingException
Description copied from class:RelationalNode
Template method for subclasses to implement.- Specified by:
nextBatchDirect
in classRelationalNode
- Returns:
- Throws:
BlockedException
TeiidComponentException
TeiidProcessingException
- if exception related to user input occured
-
nextBatchDirectInternal
protected TupleBatch nextBatchDirectInternal() throws BlockedException, TeiidComponentException, TeiidProcessingException
- Throws:
BlockedException
TeiidComponentException
TeiidProcessingException
- Since:
- 4.2
- See Also:
RelationalNode.nextBatchDirect()
-
getDescriptionProperties
public PlanNode getDescriptionProperties()
- Overrides:
getDescriptionProperties
in classRelationalNode
- Since:
- 4.2
- See Also:
RelationalNode.getDescriptionProperties()
-
getNodeString
protected void getNodeString(StringBuffer str)
- Overrides:
getNodeString
in classRelationalNode
- Since:
- 4.2
- See Also:
RelationalNode.getNodeString(java.lang.StringBuffer)
-
isDependent
public boolean isDependent()
- Returns:
- Returns the isDependent.
-
setDependentValueSource
public void setDependentValueSource(String dependentValueSource)
-
getDependentValueSourceName
public String getDependentValueSourceName()
-
closeDirect
public void closeDirect()
- Overrides:
closeDirect
in classSubqueryAwareRelationalNode
-
reset
public void reset()
- Overrides:
reset
in classSubqueryAwareRelationalNode
-
getJoinType
public JoinType getJoinType()
-
getJoinCriteria
public Criteria getJoinCriteria()
-
getLeftExpressions
public List getLeftExpressions()
-
getRightExpressions
public List getRightExpressions()
-
addBatchRow
protected void addBatchRow(List row)
- Overrides:
addBatchRow
in classRelationalNode
-
getDependentValueSource
public DependentValueSource getDependentValueSource()
-
getObjects
public Collection<? extends LanguageObject> getObjects()
- Specified by:
getObjects
in classSubqueryAwareRelationalNode
-
-