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 classJoinNode.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:
initializein classRelationalNode
-
open
public void open() throws TeiidComponentException, TeiidProcessingException- Overrides:
openin classRelationalNode- Throws:
TeiidComponentExceptionTeiidProcessingException
-
openInternal
public void openInternal() throws TeiidComponentException, TeiidProcessingException
-
clone
public Object clone()
Description copied from class:RelationalNodeAll 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:
clonein classRelationalNode- Since:
- 4.2
- See Also:
RelationalNode.clone()
-
nextBatchDirect
public TupleBatch nextBatchDirect() throws TeiidComponentException, TeiidProcessingException
Description copied from class:RelationalNodeTemplate method for subclasses to implement.- Specified by:
nextBatchDirectin classRelationalNode- Returns:
- Throws:
BlockedExceptionTeiidComponentExceptionTeiidProcessingException- if exception related to user input occured
-
nextBatchDirectInternal
protected TupleBatch nextBatchDirectInternal() throws BlockedException, TeiidComponentException, TeiidProcessingException
- Throws:
BlockedExceptionTeiidComponentExceptionTeiidProcessingException- Since:
- 4.2
- See Also:
RelationalNode.nextBatchDirect()
-
getDescriptionProperties
public PlanNode getDescriptionProperties()
- Overrides:
getDescriptionPropertiesin classRelationalNode- Since:
- 4.2
- See Also:
RelationalNode.getDescriptionProperties()
-
getNodeString
protected void getNodeString(StringBuffer str)
- Overrides:
getNodeStringin 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:
closeDirectin classSubqueryAwareRelationalNode
-
reset
public void reset()
- Overrides:
resetin classSubqueryAwareRelationalNode
-
getJoinType
public JoinType getJoinType()
-
getJoinCriteria
public Criteria getJoinCriteria()
-
getLeftExpressions
public List getLeftExpressions()
-
getRightExpressions
public List getRightExpressions()
-
addBatchRow
protected void addBatchRow(List row)
- Overrides:
addBatchRowin classRelationalNode
-
getDependentValueSource
public DependentValueSource getDependentValueSource()
-
getObjects
public Collection<? extends LanguageObject> getObjects()
- Specified by:
getObjectsin classSubqueryAwareRelationalNode
-
-