com.metamatrix.query.processor.relational
Class DependentAccessNode
java.lang.Object
com.metamatrix.query.processor.relational.RelationalNode
com.metamatrix.query.processor.relational.AccessNode
com.metamatrix.query.processor.relational.DependentAccessNode
- All Implemented Interfaces:
- Describable, java.lang.Cloneable
public class DependentAccessNode
- extends AccessNode
Takes a query with 1 or more dependent sets from 1 or more sources and creates a series of commands. Dependent sets from the
same source are treated as a special case. If there are multiple batches from that source, we will create replacement criteria
in lock step - rather than forming the full cartesian product space. This implementation assumes that ordering will be
respected above the access node and that the incoming dependent tuple values are already sorted.
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 |
Methods inherited from class com.metamatrix.query.processor.relational.AccessNode |
copy, getCommand, getConnectorBindingId, getModelName, getNodeString, nextBatchDirect, open, processCommandsIndividually, setCommand, setConnectorBindingId, setModelName, setShouldEvaluateExpressions |
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, getLanguageObjects, getNodeStatistics, getParent, hasPendingRows, initialize, 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 |
DependentAccessNode
public DependentAccessNode(int nodeID)
close
public void close()
throws MetaMatrixComponentException
- Overrides:
close
in class AccessNode
- Throws:
MetaMatrixComponentException
- See Also:
AccessNode.close()
reset
public void reset()
- Overrides:
reset
in class AccessNode
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.
- Overrides:
clone
in class AccessNode
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 AccessNode
- Returns:
- Map of properties
getMaxSetSize
public int getMaxSetSize()
- Returns:
- Returns the maxSize.
setMaxSetSize
public void setMaxSetSize(int maxSize)
- Parameters:
maxSize
- The maxSize to set.
prepareNextCommand
protected boolean prepareNextCommand(Command atomicCommand)
throws MetaMatrixComponentException,
MetaMatrixProcessingException
- Overrides:
prepareNextCommand
in class AccessNode
- Throws:
MetaMatrixComponentException
MetaMatrixProcessingException
- See Also:
AccessNode.prepareNextCommand(com.metamatrix.query.sql.lang.Command)
hasNextCommand
protected boolean hasNextCommand()
- Overrides:
hasNextCommand
in class AccessNode
- See Also:
AccessNode.hasNextCommand()
Copyright © 2009. All Rights Reserved.