Class AccessNode
- java.lang.Object
-
- org.teiid.query.processor.relational.RelationalNode
-
- org.teiid.query.processor.relational.SubqueryAwareRelationalNode
-
- org.teiid.query.processor.relational.AccessNode
-
- All Implemented Interfaces:
Cloneable,BatchCollector.BatchProducer
- Direct Known Subclasses:
DependentAccessNode,DependentProcedureAccessNode
public class AccessNode extends SubqueryAwareRelationalNode
-
-
Field Summary
Fields Modifier and Type Field Description RegisterRequestParameter.SharedAccessInfoinfoprotected CommandnextCommand-
Fields inherited from class org.teiid.query.processor.relational.RelationalNode
childCount
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAccessNode()AccessNode(int nodeID)
-
Method Summary
-
Methods inherited from class org.teiid.query.processor.relational.SubqueryAwareRelationalNode
getEvaluator, 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
-
-
-
-
Field Detail
-
nextCommand
protected Command nextCommand
-
info
public RegisterRequestParameter.SharedAccessInfo info
-
-
Method Detail
-
initialize
public void initialize(CommandContext context, BufferManager bufferManager, ProcessorDataManager dataMgr)
- Overrides:
initializein classRelationalNode
-
reset
public void reset()
- Overrides:
resetin classSubqueryAwareRelationalNode
-
setCommand
public void setCommand(Command command)
-
getCommand
public Command getCommand()
-
setModelId
public void setModelId(Object id)
-
getModelId
public Object getModelId()
-
setModelName
public void setModelName(String name)
-
getModelName
public String getModelName()
-
setShouldEvaluateExpressions
public void setShouldEvaluateExpressions(boolean shouldEvaluate)
-
open
public void open() throws TeiidComponentException, TeiidProcessingException- Overrides:
openin classRelationalNode- Throws:
TeiidComponentExceptionTeiidProcessingException
-
isShouldEvaluate
public boolean isShouldEvaluate()
-
minimizeProject
public void minimizeProject(Command atomicCommand)
-
getOriginalSelect
public List<Expression> getOriginalSelect()
-
getProjection
public Object[] getProjection()
-
nextCommand
protected Command nextCommand() throws TeiidProcessingException, TeiidComponentException
-
prepareNextCommand
protected boolean prepareNextCommand(Command atomicCommand) throws TeiidComponentException, TeiidProcessingException
-
nextBatchDirect
public TupleBatch nextBatchDirect() throws BlockedException, 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
-
addBatchRow
protected void addBatchRow(List<?> row)
- Overrides:
addBatchRowin classRelationalNode
-
processCommandsIndividually
protected boolean processCommandsIndividually()
-
hasNextCommand
protected boolean hasNextCommand()
-
closeDirect
public void closeDirect()
- Overrides:
closeDirectin classSubqueryAwareRelationalNode
-
getNodeString
protected void getNodeString(StringBuffer str)
- Overrides:
getNodeStringin classRelationalNode
-
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
-
copyTo
protected void copyTo(AccessNode target)
-
getDescriptionProperties
public PlanNode getDescriptionProperties()
- Overrides:
getDescriptionPropertiesin classRelationalNode
-
getConnectorBindingId
public String getConnectorBindingId()
-
setConnectorBindingId
public void setConnectorBindingId(String connectorBindingId)
-
getConnectorBindingExpression
public Expression getConnectorBindingExpression()
-
setConnectorBindingExpression
public void setConnectorBindingExpression(Expression connectorBindingExpression)
-
getObjects
public Collection<? extends SubqueryContainer<?>> getObjects()
- Specified by:
getObjectsin classSubqueryAwareRelationalNode
-
requiresTransaction
public Boolean requiresTransaction(boolean transactionalReads)
- Overrides:
requiresTransactionin classSubqueryAwareRelationalNode- Returns:
- true if required, false if not required, and null if a single source command is issued and a transaction may be needed.
-
setMultiSource
public void setMultiSource(boolean ex)
-
setSubPlans
public void setSubPlans(Map<GroupSymbol,RelationalPlan> plans)
-
getSubPlans
public Map<GroupSymbol,RelationalPlan> getSubPlans()
-
setTransactionSupport
public void setTransactionSupport(ExecutionFactory.TransactionSupport transactionSupport)
-
-