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.SharedAccessInfo
info
protected Command
nextCommand
-
Fields inherited from class org.teiid.query.processor.relational.RelationalNode
childCount
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AccessNode()
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:
initialize
in classRelationalNode
-
reset
public void reset()
- Overrides:
reset
in 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:
open
in classRelationalNode
- Throws:
TeiidComponentException
TeiidProcessingException
-
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:RelationalNode
Template method for subclasses to implement.- Specified by:
nextBatchDirect
in classRelationalNode
- Returns:
- Throws:
BlockedException
TeiidComponentException
TeiidProcessingException
- if exception related to user input occured
-
addBatchRow
protected void addBatchRow(List<?> row)
- Overrides:
addBatchRow
in classRelationalNode
-
processCommandsIndividually
protected boolean processCommandsIndividually()
-
hasNextCommand
protected boolean hasNextCommand()
-
closeDirect
public void closeDirect()
- Overrides:
closeDirect
in classSubqueryAwareRelationalNode
-
getNodeString
protected void getNodeString(StringBuffer str)
- Overrides:
getNodeString
in classRelationalNode
-
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
-
copyTo
protected void copyTo(AccessNode target)
-
getDescriptionProperties
public PlanNode getDescriptionProperties()
- Overrides:
getDescriptionProperties
in 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:
getObjects
in classSubqueryAwareRelationalNode
-
requiresTransaction
public Boolean requiresTransaction(boolean transactionalReads)
- Overrides:
requiresTransaction
in 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)
-
-